/** * `graph-run-worker ` — the headless graph build forked by the live * view (ADR-0028). The live runner forks `node graph-run-worker * `; because it runs through the full CLI bootstrap, the language-adapter * registry, project, and config are populated in scope exactly as a normal * `graph` run — so the build (the heavy TS type-check / parse / walk / resolve) * runs OFF the parent's render thread while the parent stays free to animate the * stage checklist + 80ms clock. * * The spec carries only serializable inputs (cwd, resolution, noCache, recipe * NAME, and optionally the already-planned shard set). The worker re-loads the * graph config and re-resolves the recipe → rules itself (rules are functions — * they can't cross the boundary), mirroring `executeGraph`'s setup. It streams * stage progress over IPC and posts the final {@link LiveGraphOutput} — the slim, * serializable `{ signals, reportLines }` payload (a raw `RunGraphResult` can't * cross the fork boundary: it carries class-method accumulators + Maps). The * parent persists the signals + renders the report lines; the worker does all * the heavy build + report assembly. Internal command — the live runner is its * only caller. */ import { type CommandSpec, type ToolCliContext } from '@opensip-cli/core'; /** * Read the build spec, re-derive config + rules, run `runGraph` headless, and * stream stage progress + the final result over IPC. Never throws to the caller — * a failure is sent as a `{ kind: 'error' }` message so the parent rejects cleanly. */ export declare function executeGraphWorker(specPath: string, cli: ToolCliContext): Promise; /** `graph-run-worker` — [internal] headless graph build, IPC progress/result. */ export declare const graphRunWorkerCommandSpec: CommandSpec; //# sourceMappingURL=graph-worker.d.ts.map