/** * Effective agent-definition document service. * * This is deliberately a role-addressed service: callers can name an effective * role, but never a filesystem path. The composed routing configuration is the * sole authority for the document which may be read or written. */ /** Maximum UTF-8 definition size accepted from disk or a browser save. */ export declare const MAX_AGENT_DEFINITION_BYTES: number; export declare const MISSING_AGENT_DEFINITION_REVISION = "missing"; export type DefinitionSource = "role" | "global" | "none"; export type DefinitionAvailability = "available" | "missing" | "unavailable" | "none"; export interface AgentDefinitionDocument { role: string; source: DefinitionSource; /** Exact value configured in YAML (never a client-supplied path). */ reference?: string; /** Resolved target before symlink canonicalisation. */ resolvedPath?: string; /** Existing target after symlink canonicalisation. */ canonicalPath?: string; /** Stable identity checked again immediately before a write. */ identity?: string; availability: DefinitionAvailability; /** Safe, user-facing diagnostic; file contents are never included here. */ diagnostic?: string; /** Hash of exact document bytes, or `missing` for a creatable absent file. */ revision?: string; description?: string; sharingRoles: string[]; } export type AgentDefinitionReadResult = { status: "ok"; document: AgentDefinitionDocument; content: string; } | { status: "unavailable"; document: AgentDefinitionDocument; }; export type AgentDefinitionSaveResult = { status: "saved"; document: AgentDefinitionDocument; } | { status: "conflict"; document: AgentDefinitionDocument; } | { status: "reference-changed"; document: AgentDefinitionDocument; } | { status: "invalid"; message: string; } | { status: "unavailable"; document: AgentDefinitionDocument; } | { status: "error"; message: string; }; /** Resolve the effective document and identify roles using the same target. */ export declare function resolveAgentDefinition(entryPath: string, role: string): AgentDefinitionDocument; export declare function readAgentDefinition(entryPath: string, role: string): AgentDefinitionReadResult; export declare function saveAgentDefinition(args: { entryPath: string; role: string; expectedRevision: string; expectedIdentity: string; content: string; }): AgentDefinitionSaveResult; //# sourceMappingURL=agent-definition-document.d.ts.map