framework
Version:
The (AI) Framework: turnkey, zero-config AI orchestration that wraps a coding-agent CLI (Claude Code) as a black box and takes you from an idea to a running app. Vite for AI.
25 lines • 1.31 kB
TypeScript
/**
* Process-tree kill registry.
*
* The framework spawns the Claude Code CLI, which in turn spawns a deep subtree
* (node workers, ripgrep, bash tool calls, MCP servers). Signaling only the
* top-level `claude` orphans that subtree: it reparents to init and keeps
* burning CPU — the runaway-process leak we hit (a swarm of stray `claude`
* processes after an agent was interrupted).
*
* Fix: spawn each long-lived child as its own process-group leader (`detached`)
* and signal the whole group at once via a negative pid. Register every live
* child here so a hard framework exit (crash, uncaught error, process.exit)
* still reaps the trees on the way out.
*/
/**
* Signal an entire process group. `pid` must be a group leader (spawned
* `detached`); the negative pid targets the group, reaping the whole subtree in
* one shot. Never throws — a group that already exited is not an error.
*/
export declare function killTree(pid: number, signal: NodeJS.Signals): void;
/** Track a detached child so it is force-killed if the framework exits first. */
export declare function registerChild(pid: number): void;
/** Stop tracking a child that has already exited (or been killed). */
export declare function unregisterChild(pid: number): void;
//# sourceMappingURL=child-registry.d.ts.map