/** The `agents` service surface the `subagent/start` root walk reads. */ interface AgentsView { get(id: string): unknown; } /** * Root-agent discriminator (the root filter the planMode bridge decides on): * `header.parentSession === undefined` ⇒ root-like. Conversation forks also * carry `parentSession` (seed lineage) → conservatively excluded (accepted * boundary). */ export declare function isRootLikeAgent(agent: unknown): boolean; /** * Resolve the ROOT agent of a published child via the `parentSession` walk * (upstream `subagent/src/continuation.ts:819-831` precedent): in-process * subagent children stamp `header.parentSession` = the parent SESSION id, * which IS the parent agent id (a session per agent); the walk stops at the * first root-like ancestor. `undefined` when unresolvable (fork lineage, * non-in-process provider, registry gap, or a cycle) — the decision point * then silently skips. Cycle guard: a `seen` set over visited session ids * (the upstream `liveLineage` guard) breaks on ANY revisited id — a 1-hop self-loop, a 2+ hop cycle * (A→B→A), or a longer malformed lineage — instead of spinning forever on * the synchronous `subagent/start` decision-point listeners (reachable via * HMR remounts, resumed/forked sessions with stale headers, or a future * host change). The same `subagent/start` decision-point root walk the * planMode bridge consumes. */ export declare function rootAgentOf(agent: unknown, agents: AgentsView): unknown | undefined; /** * Locate the steering iteration compass (mirror of the engine's * `resolveCompassEnforcement` scan + the catalog's `steeringCompassPath`): * the FIRST `{ITERATION_DIR}//delivery-compass.md` whose frontmatter * `status` is `active` or `locked` — the directory name IS the iteration id * (plan-conventions `{ITERATION_DIR}//`). Completed/status-less/archived * compasses do not steer. Silent on any read failure (advisory degrade). * The same "is an active iteration steering" read the planMode bridge consumes. * @param harnessDir - the resolved `{HARNESS_DIR}`. */ export declare function steeringCompass(harnessDir: string): { iterationId: string; } | undefined; export {};