export type AgentRole = 'admin' | 'public' | 'passive'; /** The single source of truth for the directory a spawn reads an agent's * identity files from. Admin always reads `agents/admin`; a public agent * reads `agents/` (Task 638 — keyed on the agent slug, not the role). * The spawn composer (`system-prompt.ts`) and the standing reachability audit * (`public-agent-reachability.ts`) both resolve through THIS function, so the * directory the audit vouches for is byte-identical to the one the spawn * reads — drift is impossible by construction, not by parallel literals. */ export declare function resolveAgentIdentityDir(accountDir: string, role: AgentRole, slug: string): string; export interface IdentityFilesVerdict { present: boolean; /** First missing/empty file when `present` is false, e.g. `SOUL.md:ENOENT` * or `KNOWLEDGE.md:empty`. Undefined when present. */ detail?: string; } /** Whether the identity files a `role=public` spawn requires — IDENTITY.md, * SOUL.md and KNOWLEDGE.md, each non-empty — are present in `dir`. The check * order mirrors the composer's (IDENTITY → SOUL → KNOWLEDGE) so the reported * first-failing file matches the composer's refusal reason. The audit runs * this against `resolveAgentIdentityDir(accountDir, 'public', slug)`, so * `present:true` means the spawn will not refuse on a missing identity file. */ export declare function publicIdentityFilesPresent(dir: string): IdentityFilesVerdict; //# sourceMappingURL=agent-identity-locator.d.ts.map