/** * Specialist dispatch primitive. * * Wraps `openclaw agent --agent --message --json --timeout `. * Honours spec §3.2 step 5 ("Specialised Dispatch") and §5's "structured JSON * payloads" clause. * * Replace `dispatchSpecialist` with an ACP transport if you have one — the * {@link DispatchResult} shape is the only contract callers depend on. */ import { type DispatchResult, type SpecialistId } from "./types.js"; export interface DispatchOptions { timeoutSeconds: number; /** Override the binary lookup; defaults to `openclaw` on PATH. */ openclawBin?: string; /** Test seam — receives (file, args, opts) and returns {stdout, stderr, code}. */ runner?: (file: string, args: string[], opts: { timeout: number; }) => Promise<{ stdout: string; stderr: string; code: number; }>; } /** * Send `message` to `agent` via OpenClaw and parse the reply. Never throws on * dispatch failure — returns a {@link DispatchResult} with a non-`ok` status * so callers can render the failure into a Linear comment. * * Throws only on programmer errors: unknown agent, empty message. */ export declare function dispatchSpecialist(agent: SpecialistId, message: string, opts: DispatchOptions): Promise; /** * Pure helper extracted for tests — translate an `openclaw agent` JSON envelope * into a {@link DispatchResult}. */ export declare function parseEnvelope(agent: SpecialistId, envelope: Record): DispatchResult; //# sourceMappingURL=dispatcher.d.ts.map