/** * Per-stack executor adapters (#1546). * * A Mission conductor (mission-conductor.ts) fans worker cycles out across * *heterogeneous* agentic stacks. Each stack advertises itself on the existing * executor registry via a `runtime:` capability — the convention proven * in slice 1 (see test/unit/serve/agent-router.test.ts "cross-stack Mission * dispatch"). A StackAdapter is the conductor-side description of how a worker * cycle maps onto that stack's NATIVE long-running primitive, plus the runtime * capability token the conductor filters on — so the conductor dispatches and * captures results uniformly regardless of which stack runs the worker. * * The adapter does NOT run the worker. The registered executor on that stack * runs it via `aiwg serve`'s dispatch transport (dispatch-router + the WS event * stream). The adapter keeps the conductor stack-agnostic: it owns only the * `runtime:` token and the native-primitive description. * * @implements #1546 */ /** How a worker cycle is dispatched onto a given stack. */ export interface WorkerInvocation { /** The `runtime:` capability the executor MUST advertise to receive it. */ runtimeCapability: string; /** The stack's native long-running primitive this worker drives. */ primitive: string; /** Human-readable description of the dispatched worker mechanism. */ describe: string; } /** A per-stack adapter: maps a worker cycle onto one stack's native primitive. */ export interface StackAdapter { /** Stack id, e.g. 'codex', 'claude-code'. */ runtime: string; /** The capability token an executor advertises for this stack (`runtime:`). */ runtimeCapability: string; /** Native long-running primitive a worker cycle drives on this stack. */ primitive: string; /** Build the worker-invocation descriptor for a cycle prompt. */ invoke(prompt: string): WorkerInvocation; } /** Codex executor adapter — a dispatched worker drives Codex `/goal` (or `/aiwg-mission`, #1544). */ export declare const codexAdapter: StackAdapter; /** Claude Code executor adapter — a dispatched worker drives the Workflow tool / subagents. */ export declare const claudeCodeAdapter: StackAdapter; /** Built-in adapters for the two stacks the cross-stack proof exercises. */ export declare const BUILTIN_STACK_ADAPTERS: StackAdapter[]; /** * Registry of per-stack adapters. Operators can register additional stacks * (the `runtime:` convention is open-ended); a Mission can then dispatch * workers to any registered runtime. */ export declare class StackAdapterRegistry { private byRuntime; constructor(adapters?: StackAdapter[]); register(adapter: StackAdapter): void; get(runtime: string): StackAdapter | undefined; has(runtime: string): boolean; runtimes(): string[]; } //# sourceMappingURL=stack-adapters.d.ts.map