/** * Sub-agent start briefing (change: add-agent-loop-hooks-subagents-codex-pi). * * Claude Code's `SubagentStart` event names the sub-agent's type but not its task, so the task is * taken from the parent's `Agent` (or `Task`) tool call: the `before-subagent` moment queues the * prompt, and `subagent-start` takes it only when it is the ONE queued task of that session and * agent type: two parallel calls of one type (whose hooks race), a call that was denied, or a * sub-agent no Agent call started (a forked skill) would otherwise get another agent's task, which * misdirects it. In those cases the sub-agent gets the peers only. * The briefing is the task-scoped `orient` injection for that prompt plus the live peers on the * footprint board. Prompts are kept only in `.openlore/session-ledger/` (never committed), with * credentials redacted, for at most {@link TASK_TTL_MS} (a denied or never-started call's task * ages out quickly). */ /** A queued task not taken by a starting sub-agent within this long is dropped. */ export declare const TASK_TTL_MS: number; /** Queue the task of a sub-agent about to start (the parent's `Agent` tool call). */ export declare function queueSubagentTask(root: string, task: { sessionId?: string; agentType?: string; prompt: string; }): Promise; /** * Take the task of a starting sub-agent: only when exactly one live task is queued for its session * (or, without a session id on either side, none) and agent type. Ambiguous or absent: undefined, * and the queue is left to age out. */ export declare function takeSubagentTask(root: string, starting: { sessionId?: string; agentType?: string; }): Promise; /** The briefing a starting sub-agent receives, within `budgetChars`; empty when there is nothing to say. */ export declare function subagentBriefing(root: string, prompt: string | undefined, budgetChars: number): Promise; //# sourceMappingURL=subagent-briefing.d.ts.map