UNPKG

@kontextmind/kxm

Version:

KXM local-first multi-agent orchestration and operator dashboard

26 lines (25 loc) • 1.43 kB
export interface RosterRoute { readonly harness: 'grok' | 'claude' | 'codex' | 'pi'; readonly model: string; readonly vendor: string; readonly roles: readonly string[]; readonly permissions: readonly ('read-only' | 'edit')[]; readonly status: 'admitted' | 'retired'; } export interface RosterPolicy { readonly routes: Readonly<Record<string, RosterRoute>>; readonly lineup: Readonly<Record<string, readonly string[]>>; readonly required_critics: Readonly<Record<'review-arch' | 'review-cli', string>>; readonly model_origins: Readonly<Record<string, { readonly vendor: string; readonly evidence: { readonly source: string; readonly sha256: string } }>>; } export interface PolicyIdentity { readonly commit: string; readonly blob: string; readonly sha256: string } export interface LoadedPolicy { readonly identity: PolicyIdentity; readonly policy: RosterPolicy } export function refuseRetiredRosterFile(root: string): void; export function loadTrustedRosterPolicy(): LoadedPolicy; export function resolveBoundPolicy(identity: PolicyIdentity): LoadedPolicy; export function canonicalVendor(value: string): string; export function assembleRosterPolicy(models: readonly Record<string, unknown>[], roles: readonly Record<string, unknown>[]): RosterPolicy; export function validateRosterDocument( policy: RosterPolicy, readBlob: (source: string) => string | Uint8Array | null | undefined, ): RosterPolicy;