/** * Agent definitions, validated on their way from the content package to the * adapters (native-reviewer-agent/AC-1, AC-11, DD-1). * * One definition per agent lives in `packages/content/agents/`. Each adapter * that can enforce what the agent may do writes it in its harness's own format: * Claude Code as `.claude/agents/.md` plus a command guard, Codex as * `.codex/agents/.toml` with a read-only sandbox. They reach the adapters * through `ProjectContext.agents`, which is why `plan()` did not grow a * parameter — see `ProjectContext.agents` for what `undefined` means there. * * Validation happens here rather than in the content loader because this is * where the values become something: the name a path segment in every project, * the commands source text inside a script the harness runs. Both are checked * against an allowlist before they become either. * * @module */ import type { Agent } from '@rasensio/aidlc-content'; import type { AgentDefinition, ProjectContext, Skill } from '../core/types.js'; /** * Ownership notice for every agent file and guard. Same wording as the rules' * marker, so a reader meets one sentence for "generated, do not edit". */ export declare const AGENT_MARKER = ""; /** The marker as a comment line for files whose syntax is not HTML-friendly. */ export declare const AGENT_MARKER_TEXT = "aidlc:generated \u2014 framework-owned. Edits are overwritten by `aidlc update`."; /** * Keep the agents that are safe to write, and say why each other one is not. * * @param raw - Definitions as the content package parsed them. A test seam; * defaults to the content package's own. */ export declare function resolveAgents(raw?: Agent[]): { agents: AgentDefinition[]; warnings: string[]; }; /** * The agent a skill runs in, or `null` when it names none or none is supplied. * * Silent, so that each adapter falls back to the plain shim without repeating a * warning per platform; `undefinedAgentWarnings` says it once per run. */ export declare function findAgent(ctx: ProjectContext, name: string | undefined): AgentDefinition | null; /** * One warning per skill that names an agent nobody defined (AC-11). * * Raised by `init` and `update` once, beside the adapter pass, rather than by * each adapter: the gap is in the content, not in any platform, and two * configured platforms would otherwise print it twice. */ export declare function undefinedAgentWarnings(skills: Skill[], agents: AgentDefinition[]): string[]; //# sourceMappingURL=agents.d.ts.map