feat(api, web): enhance agent management and linting capabilities
- Added a new linting command for OpenAPI specifications in the package.json, improving code quality checks. - Updated frontend documentation to clarify component usage and structure, including detailed descriptions for `SettingsShell` and `Auth callback`. - Refactored agent-related API routes to streamline control-plane functionalities, consolidating multiple routes for better organization. - Improved error handling in the API to provide more informative responses for validation errors, enhancing user feedback during interactions. These changes enhance the overall development experience and improve the management of agents within the application.
This commit is contained in:
@@ -11,10 +11,7 @@ import {
|
||||
type ListEntryInput,
|
||||
} from '@evofw/shared'
|
||||
import { resolveHostnameToCidrs } from '../policy/resolve-hostname.js'
|
||||
|
||||
function uniq(cidrs: string[]): string[] {
|
||||
return [...new Set(cidrs.map((c) => c.trim()).filter(Boolean))].sort()
|
||||
}
|
||||
import { uniqCidrs } from '../uniq.js'
|
||||
|
||||
export function getListConfig(list: {
|
||||
configJson: string
|
||||
@@ -129,7 +126,7 @@ export async function rebuildManualListEntries(
|
||||
delete config.domains
|
||||
repos.updateIpList(db, listId, { configJson: JSON.stringify(config) })
|
||||
|
||||
const cidrs = uniq(all)
|
||||
const cidrs = uniqCidrs(all)
|
||||
repos.replaceIpListEntries(db, listId, cidrs)
|
||||
return cidrs
|
||||
} finally {
|
||||
|
||||
@@ -7,10 +7,7 @@ import {
|
||||
rebuildListCascade,
|
||||
rebuildManualListEntries,
|
||||
} from './entries.js'
|
||||
|
||||
function uniq(cidrs: string[]): string[] {
|
||||
return [...new Set(cidrs.map((c) => c.trim()).filter(Boolean))].sort()
|
||||
}
|
||||
import { uniqCidrs } from '../uniq.js'
|
||||
|
||||
function hashCidrs(cidrs: string[]): string {
|
||||
return `sha256:${createHash('sha256').update(cidrs.join('\n')).digest('hex')}`
|
||||
@@ -48,7 +45,7 @@ async function fetchJsonUrl(url: string): Promise<string[]> {
|
||||
}
|
||||
}
|
||||
}
|
||||
return uniq(out)
|
||||
return uniqCidrs(out)
|
||||
}
|
||||
|
||||
const UUID_RE =
|
||||
@@ -113,9 +110,9 @@ async function fetchEvobgpCommunity(
|
||||
}
|
||||
let cidrs: string[] = []
|
||||
if (Array.isArray(data.prefixes) && data.prefixes.length > 0) {
|
||||
cidrs = uniq(data.prefixes)
|
||||
cidrs = uniqCidrs(data.prefixes)
|
||||
} else if (Array.isArray(data.items)) {
|
||||
cidrs = uniq(data.items.map((i) => i.prefix ?? '').filter(Boolean))
|
||||
cidrs = uniqCidrs(data.items.map((i) => i.prefix ?? '').filter(Boolean))
|
||||
}
|
||||
return { cidrs, resolvedId }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user