@telora/daemon 0.16.7 → 0.16.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build-info.json +7 -3
- package/dist/audit-phase.d.ts +14 -0
- package/dist/audit-phase.d.ts.map +1 -1
- package/dist/audit-phase.js +52 -12
- package/dist/audit-phase.js.map +1 -1
- package/dist/backends/agent-backend.d.ts +63 -0
- package/dist/backends/agent-backend.d.ts.map +1 -0
- package/dist/backends/agent-backend.js +19 -0
- package/dist/backends/agent-backend.js.map +1 -0
- package/dist/backends/availability.d.ts +28 -0
- package/dist/backends/availability.d.ts.map +1 -0
- package/dist/backends/availability.js +49 -0
- package/dist/backends/availability.js.map +1 -0
- package/dist/backends/claude/claude-backend.d.ts +12 -0
- package/dist/backends/claude/claude-backend.d.ts.map +1 -0
- package/dist/backends/claude/claude-backend.js +86 -0
- package/dist/backends/claude/claude-backend.js.map +1 -0
- package/dist/backends/codex/codex-backend.d.ts +23 -0
- package/dist/backends/codex/codex-backend.d.ts.map +1 -0
- package/dist/backends/codex/codex-backend.js +116 -0
- package/dist/backends/codex/codex-backend.js.map +1 -0
- package/dist/backends/index.d.ts +13 -0
- package/dist/backends/index.d.ts.map +1 -0
- package/dist/backends/index.js +20 -0
- package/dist/backends/index.js.map +1 -0
- package/dist/backends/registry.d.ts +29 -0
- package/dist/backends/registry.d.ts.map +1 -0
- package/dist/backends/registry.js +45 -0
- package/dist/backends/registry.js.map +1 -0
- package/dist/backends/resolve.d.ts +44 -0
- package/dist/backends/resolve.d.ts.map +1 -0
- package/dist/backends/resolve.js +57 -0
- package/dist/backends/resolve.js.map +1 -0
- package/dist/completion-detector.d.ts +18 -16
- package/dist/completion-detector.d.ts.map +1 -1
- package/dist/completion-detector.js +36 -36
- package/dist/completion-detector.js.map +1 -1
- package/dist/directive-executor.d.ts +6 -1
- package/dist/directive-executor.d.ts.map +1 -1
- package/dist/directive-executor.js +26 -11
- package/dist/directive-executor.js.map +1 -1
- package/dist/focus-completion-event.d.ts +20 -7
- package/dist/focus-completion-event.d.ts.map +1 -1
- package/dist/focus-completion-event.js +29 -10
- package/dist/focus-completion-event.js.map +1 -1
- package/dist/focus-executor.d.ts +15 -1
- package/dist/focus-executor.d.ts.map +1 -1
- package/dist/focus-executor.js +129 -62
- package/dist/focus-executor.js.map +1 -1
- package/dist/focus-spawn-helpers.d.ts +2 -0
- package/dist/focus-spawn-helpers.d.ts.map +1 -1
- package/dist/focus-spawn-helpers.js +42 -37
- package/dist/focus-spawn-helpers.js.map +1 -1
- package/dist/git-merge.d.ts.map +1 -1
- package/dist/git-merge.js +42 -16
- package/dist/git-merge.js.map +1 -1
- package/dist/heartbeat.d.ts.map +1 -1
- package/dist/heartbeat.js +7 -0
- package/dist/heartbeat.js.map +1 -1
- package/dist/listener.d.ts.map +1 -1
- package/dist/listener.js +4 -1
- package/dist/listener.js.map +1 -1
- package/dist/merge-back-loop.d.ts.map +1 -1
- package/dist/merge-back-loop.js +1 -0
- package/dist/merge-back-loop.js.map +1 -1
- package/dist/output-monitor.d.ts +11 -6
- package/dist/output-monitor.d.ts.map +1 -1
- package/dist/output-monitor.js +53 -41
- package/dist/output-monitor.js.map +1 -1
- package/dist/queries/deliveries.d.ts +15 -0
- package/dist/queries/deliveries.d.ts.map +1 -1
- package/dist/queries/deliveries.js +6 -0
- package/dist/queries/deliveries.js.map +1 -1
- package/dist/queries/focuses.d.ts +13 -1
- package/dist/queries/focuses.d.ts.map +1 -1
- package/dist/queries/focuses.js +17 -1
- package/dist/queries/focuses.js.map +1 -1
- package/dist/queries/schemas.d.ts +12 -0
- package/dist/queries/schemas.d.ts.map +1 -1
- package/dist/queries/schemas.js +15 -0
- package/dist/queries/schemas.js.map +1 -1
- package/dist/session-lifecycle.d.ts.map +1 -1
- package/dist/session-lifecycle.js +4 -2
- package/dist/session-lifecycle.js.map +1 -1
- package/dist/session-lineage.d.ts +68 -0
- package/dist/session-lineage.d.ts.map +1 -0
- package/dist/session-lineage.js +63 -0
- package/dist/session-lineage.js.map +1 -0
- package/dist/spawn-environment.d.ts +11 -0
- package/dist/spawn-environment.d.ts.map +1 -1
- package/dist/spawn-environment.js +27 -0
- package/dist/spawn-environment.js.map +1 -1
- package/dist/spawner-lifecycle.d.ts +27 -7
- package/dist/spawner-lifecycle.d.ts.map +1 -1
- package/dist/spawner-lifecycle.js +40 -21
- package/dist/spawner-lifecycle.js.map +1 -1
- package/dist/spawner-stream-handlers.d.ts +3 -2
- package/dist/spawner-stream-handlers.d.ts.map +1 -1
- package/dist/spawner-stream-handlers.js +37 -34
- package/dist/spawner-stream-handlers.js.map +1 -1
- package/dist/spawner.d.ts +8 -17
- package/dist/spawner.d.ts.map +1 -1
- package/dist/spawner.js +8 -319
- package/dist/spawner.js.map +1 -1
- package/dist/team-prompt-base.d.ts +35 -2
- package/dist/team-prompt-base.d.ts.map +1 -1
- package/dist/team-prompt-base.js +93 -9
- package/dist/team-prompt-base.js.map +1 -1
- package/dist/team-spawner.d.ts +21 -3
- package/dist/team-spawner.d.ts.map +1 -1
- package/dist/team-spawner.js +49 -34
- package/dist/team-spawner.js.map +1 -1
- package/dist/types/config.d.ts +2 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/focus.d.ts +10 -0
- package/dist/types/focus.d.ts.map +1 -1
- package/dist/types/session.d.ts +4 -4
- package/dist/types/session.d.ts.map +1 -1
- package/dist/types/workflow.d.ts +17 -0
- package/dist/types/workflow.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -39,4 +39,15 @@ export interface SpawnIds {
|
|
|
39
39
|
* - Includes telora.delivery_id in OTEL_RESOURCE_ATTRIBUTES only when deliveryId is provided
|
|
40
40
|
*/
|
|
41
41
|
export declare function buildSpawnEnvironment(config: DaemonConfig, ids: SpawnIds): Record<string, string | undefined>;
|
|
42
|
+
/**
|
|
43
|
+
* Fetch engine-specific API keys from org secrets and return them as env var
|
|
44
|
+
* overrides to merge into the spawn environment. Non-fatal: returns {} on any
|
|
45
|
+
* error so the process falls back to host credentials (e.g. ~/.codex OAuth).
|
|
46
|
+
*
|
|
47
|
+
* Currently handles:
|
|
48
|
+
* codex -> fetches the org's OpenAI API key (provider 'openai') as CODEX_API_KEY.
|
|
49
|
+
*
|
|
50
|
+
* Skipped for 'claude' (Claude Code reads ANTHROPIC_API_KEY from its own config).
|
|
51
|
+
*/
|
|
52
|
+
export declare function fetchBackendEnvExtras(backendId: string): Promise<Record<string, string>>;
|
|
42
53
|
//# sourceMappingURL=spawn-environment.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawn-environment.d.ts","sourceRoot":"","sources":["../src/spawn-environment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"spawn-environment.d.ts","sourceRoot":"","sources":["../src/spawn-environment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C;;;;;;;;GAQG;AACH,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,QAAQ,GACZ,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CA8BpC;AAED;;;;;;;;;GASG;AACH,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAcjC"}
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
* is preserved because it is set intentionally.
|
|
12
12
|
*/
|
|
13
13
|
import { stripClaudeCodeEnvVars, buildOtelEnv } from '@telora/daemon-core';
|
|
14
|
+
import { callApi } from './queries/shared.js';
|
|
14
15
|
/**
|
|
15
16
|
* Build a clean environment for a spawned agent or team lead process.
|
|
16
17
|
*
|
|
@@ -47,4 +48,30 @@ export function buildSpawnEnvironment(config, ids) {
|
|
|
47
48
|
Object.assign(spawnEnv, otelEnv);
|
|
48
49
|
return spawnEnv;
|
|
49
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* Fetch engine-specific API keys from org secrets and return them as env var
|
|
53
|
+
* overrides to merge into the spawn environment. Non-fatal: returns {} on any
|
|
54
|
+
* error so the process falls back to host credentials (e.g. ~/.codex OAuth).
|
|
55
|
+
*
|
|
56
|
+
* Currently handles:
|
|
57
|
+
* codex -> fetches the org's OpenAI API key (provider 'openai') as CODEX_API_KEY.
|
|
58
|
+
*
|
|
59
|
+
* Skipped for 'claude' (Claude Code reads ANTHROPIC_API_KEY from its own config).
|
|
60
|
+
*/
|
|
61
|
+
export async function fetchBackendEnvExtras(backendId) {
|
|
62
|
+
if (backendId === 'codex') {
|
|
63
|
+
try {
|
|
64
|
+
const result = await callApi('llm_secret_get', {
|
|
65
|
+
provider: 'openai',
|
|
66
|
+
});
|
|
67
|
+
if (result.apiKey) {
|
|
68
|
+
return { CODEX_API_KEY: result.apiKey };
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
// Non-fatal: fall back to host OAuth / CODEX_API_KEY already in process.env
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return {};
|
|
76
|
+
}
|
|
50
77
|
//# sourceMappingURL=spawn-environment.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawn-environment.js","sourceRoot":"","sources":["../src/spawn-environment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"spawn-environment.js","sourceRoot":"","sources":["../src/spawn-environment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAoB9C;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAoB,EACpB,GAAa;IAEb,6DAA6D;IAC7D,6EAA6E;IAC7E,MAAM,QAAQ,GAAG,sBAAsB,CACrC;QACE,GAAG,OAAO,CAAC,GAAG;QACd,mBAAmB,EAAE,GAAG;QACxB,kBAAkB,EAAE,WAAW;QAC/B,4DAA4D;QAC5D,oCAAoC,EAAE,GAAG;KAC1C,EACD,EAAE,QAAQ,EAAE,CAAC,sCAAsC,CAAC,EAAE,CACvD,CAAC;IAEF,2DAA2D;IAC3D,MAAM,OAAO,GAAG,YAAY,CAAC;QAC3B,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO;QACjC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI;QAC3B,kBAAkB,EAAE;YAClB,eAAe,EAAE,GAAG,CAAC,KAAK;YAC1B,iBAAiB,EAAE,GAAG,CAAC,OAAO;YAC9B,oBAAoB,EAAE,GAAG,CAAC,UAAU;YACpC,mBAAmB,EAAE,GAAG,CAAC,SAAS;YAClC,cAAc,EAAE,GAAG,CAAC,KAAK;YACzB,cAAc,EAAE,GAAG,CAAC,KAAK;SAC1B;KACF,CAAC,CAAC;IACH,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAEjC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,SAAiB;IAEjB,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAA4B,gBAAgB,EAAE;gBACxE,QAAQ,EAAE,QAAQ;aACnB,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;YAC1C,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,4EAA4E;QAC9E,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
|
@@ -52,23 +52,43 @@ export interface AuditSpawnOptions {
|
|
|
52
52
|
model: string;
|
|
53
53
|
timeoutMs: number;
|
|
54
54
|
allowedTools: readonly string[];
|
|
55
|
+
/**
|
|
56
|
+
* Prior audit-lineage Claude session id to resume (INJ-E). When set, the
|
|
57
|
+
* assessor reconnects to the previous cycle's session so it accumulates
|
|
58
|
+
* cross-cycle memory of the gap's trajectory. Omitted/null -> fresh session.
|
|
59
|
+
*/
|
|
60
|
+
resumeSessionId?: string | null;
|
|
55
61
|
}
|
|
56
62
|
/** Result of an audit-assessor spawn. */
|
|
57
63
|
export interface AuditSpawnResult {
|
|
58
64
|
exitCode: number | null;
|
|
65
|
+
/**
|
|
66
|
+
* The assessor's assistant text, reconstructed from stream-json output so
|
|
67
|
+
* parseAuditSummary can extract the fenced audit-summary block. Falls back to
|
|
68
|
+
* the raw child stdout when no stream-json events parsed (e.g. a non-JSON
|
|
69
|
+
* stub).
|
|
70
|
+
*/
|
|
59
71
|
stdout: string;
|
|
60
72
|
stderr: string;
|
|
61
73
|
errorMessage?: string;
|
|
74
|
+
/**
|
|
75
|
+
* Claude session id emitted by the stream-json init event (INJ-E). Persisted
|
|
76
|
+
* under the focus's 'audit' lineage so the next cycle can resume. Null when
|
|
77
|
+
* no init event was observed.
|
|
78
|
+
*/
|
|
79
|
+
sessionId?: string | null;
|
|
62
80
|
}
|
|
63
81
|
/**
|
|
64
|
-
* Spawn the Claude Code CLI as
|
|
82
|
+
* Spawn the Claude Code CLI as the audit assessor (INJ-E: resumable).
|
|
65
83
|
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
84
|
+
* Short-lived, single-purpose process: no agent_sessions DB row, no worktree
|
|
85
|
+
* creation. It runs in --print mode with stream-json output so it emits a
|
|
86
|
+
* session_id (captured for the focus's 'audit' lineage) and so its assistant
|
|
87
|
+
* text can be reconstructed for the audit-summary parser. When `resumeSessionId`
|
|
88
|
+
* is supplied it reconnects to the prior cycle's session via --resume, giving
|
|
89
|
+
* the differential receiver cross-cycle memory. It is allowed only the
|
|
90
|
+
* reality_tree_* MCP tools so it can mutate the graph but not touch workflow
|
|
91
|
+
* state.
|
|
72
92
|
*/
|
|
73
93
|
export declare function spawnAuditAgent(opts: AuditSpawnOptions): Promise<AuditSpawnResult>;
|
|
74
94
|
//# sourceMappingURL=spawner-lifecycle.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawner-lifecycle.d.ts","sourceRoot":"","sources":["../src/spawner-lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM7D;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GACvC,OAAO,CA2BT;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GACvC,IAAI,CAIN;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GACvC,OAAO,CAET;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GACvC,MAAM,CAER;AAOD;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE;IACjD,MAAM,EAAE,YAAY,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kFAAkF;IAClF,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAmFhD;AAID,gEAAgE;AAChE,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CACjC;AAED,yCAAyC;AACzC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"spawner-lifecycle.d.ts","sourceRoot":"","sources":["../src/spawner-lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM7D;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GACvC,OAAO,CA2BT;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GACvC,IAAI,CAIN;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GACvC,OAAO,CAET;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GACvC,MAAM,CAER;AAOD;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE;IACjD,MAAM,EAAE,YAAY,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kFAAkF;IAClF,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAmFhD;AAID,gEAAgE;AAChE,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,yCAAyC;AACzC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB;;;;;OAKG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAuFxF"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { spawn } from 'node:child_process';
|
|
8
8
|
import { runGitSync } from './git-types.js';
|
|
9
|
-
import { sendMessage, stripClaudeCodeEnvVars } from '@telora/daemon-core';
|
|
9
|
+
import { sendMessage, stripClaudeCodeEnvVars, StreamJsonParser } from '@telora/daemon-core';
|
|
10
10
|
import { safeSendSignal, safeCloseStdin } from './spawner-stream-handlers.js';
|
|
11
11
|
import { buildSpawnEnvironment } from './spawn-environment.js';
|
|
12
12
|
/**
|
|
@@ -152,25 +152,25 @@ export async function spawnResolutionAgent(params) {
|
|
|
152
152
|
});
|
|
153
153
|
}
|
|
154
154
|
/**
|
|
155
|
-
* Spawn the Claude Code CLI as
|
|
155
|
+
* Spawn the Claude Code CLI as the audit assessor (INJ-E: resumable).
|
|
156
156
|
*
|
|
157
|
-
*
|
|
158
|
-
*
|
|
159
|
-
*
|
|
160
|
-
*
|
|
161
|
-
*
|
|
162
|
-
*
|
|
157
|
+
* Short-lived, single-purpose process: no agent_sessions DB row, no worktree
|
|
158
|
+
* creation. It runs in --print mode with stream-json output so it emits a
|
|
159
|
+
* session_id (captured for the focus's 'audit' lineage) and so its assistant
|
|
160
|
+
* text can be reconstructed for the audit-summary parser. When `resumeSessionId`
|
|
161
|
+
* is supplied it reconnects to the prior cycle's session via --resume, giving
|
|
162
|
+
* the differential receiver cross-cycle memory. It is allowed only the
|
|
163
|
+
* reality_tree_* MCP tools so it can mutate the graph but not touch workflow
|
|
164
|
+
* state.
|
|
163
165
|
*/
|
|
164
166
|
export async function spawnAuditAgent(opts) {
|
|
165
|
-
const { config, prompt, worktreePath, focusId, cycleNumber, model, timeoutMs, allowedTools } = opts;
|
|
166
|
-
const args = [
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
'--
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
'--model', model,
|
|
173
|
-
];
|
|
167
|
+
const { config, prompt, worktreePath, focusId, cycleNumber, model, timeoutMs, allowedTools, resumeSessionId } = opts;
|
|
168
|
+
const args = [];
|
|
169
|
+
// --resume must precede the output-format flags.
|
|
170
|
+
if (resumeSessionId) {
|
|
171
|
+
args.push('--resume', resumeSessionId);
|
|
172
|
+
}
|
|
173
|
+
args.push('--print', '--output-format', 'stream-json', '--verbose', '--dangerously-skip-permissions', '--setting-sources', 'project,local', '--allowed-tools', allowedTools.join(','), '--model', model);
|
|
174
174
|
if (worktreePath) {
|
|
175
175
|
args.push('--add-dir', worktreePath);
|
|
176
176
|
}
|
|
@@ -200,9 +200,25 @@ export async function spawnAuditAgent(opts) {
|
|
|
200
200
|
return;
|
|
201
201
|
}
|
|
202
202
|
child.stdin?.end();
|
|
203
|
-
|
|
203
|
+
// Raw stdout is retained as a fallback (e.g. a non-JSON stub). In normal
|
|
204
|
+
// operation stdout is NDJSON stream-json; the parser reconstructs the
|
|
205
|
+
// assistant text and captures the session id.
|
|
206
|
+
let rawStdout = '';
|
|
204
207
|
let stderr = '';
|
|
205
|
-
|
|
208
|
+
let assistantText = '';
|
|
209
|
+
const parser = new StreamJsonParser();
|
|
210
|
+
if (child.stdout)
|
|
211
|
+
parser.attach(child.stdout);
|
|
212
|
+
parser.on('assistant', (msg) => {
|
|
213
|
+
for (const block of msg.message.content) {
|
|
214
|
+
if (block.type === 'text')
|
|
215
|
+
assistantText += block.text + '\n';
|
|
216
|
+
}
|
|
217
|
+
});
|
|
218
|
+
// Swallow parser errors (non-JSON lines from a stub) -- the raw-stdout
|
|
219
|
+
// fallback covers that case; we must not let an unhandled 'error' throw.
|
|
220
|
+
parser.on('error', () => { });
|
|
221
|
+
child.stdout?.on('data', (chunk) => { rawStdout += chunk.toString('utf8'); });
|
|
206
222
|
child.stderr?.on('data', (chunk) => { stderr += chunk.toString('utf8'); });
|
|
207
223
|
const timer = setTimeout(() => {
|
|
208
224
|
try {
|
|
@@ -210,13 +226,16 @@ export async function spawnAuditAgent(opts) {
|
|
|
210
226
|
}
|
|
211
227
|
catch { /* ignore */ }
|
|
212
228
|
}, timeoutMs);
|
|
229
|
+
// Prefer the reconstructed assistant text (so parseAuditSummary finds the
|
|
230
|
+
// fenced block); fall back to raw stdout when no stream-json was parsed.
|
|
231
|
+
const resolveStdout = () => (assistantText.trim() ? assistantText : rawStdout);
|
|
213
232
|
child.on('error', (err) => {
|
|
214
233
|
clearTimeout(timer);
|
|
215
|
-
resolve({ exitCode: null, stdout, stderr, errorMessage: `spawn error: ${err.message}` });
|
|
234
|
+
resolve({ exitCode: null, stdout: resolveStdout(), stderr, sessionId: parser.sessionId, errorMessage: `spawn error: ${err.message}` });
|
|
216
235
|
});
|
|
217
236
|
child.on('close', (code) => {
|
|
218
237
|
clearTimeout(timer);
|
|
219
|
-
resolve({ exitCode: code, stdout, stderr });
|
|
238
|
+
resolve({ exitCode: code, stdout: resolveStdout(), stderr, sessionId: parser.sessionId });
|
|
220
239
|
});
|
|
221
240
|
});
|
|
222
241
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawner-lifecycle.js","sourceRoot":"","sources":["../src/spawner-lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"spawner-lifecycle.js","sourceRoot":"","sources":["../src/spawner-lifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
import type { ChildProcess } from 'node:child_process';
|
|
9
9
|
import type { Writable } from 'node:stream';
|
|
10
10
|
import type { DaemonConfig, DeliveryContext, RunningAgent, Workflow } from './types.js';
|
|
11
|
-
import {
|
|
11
|
+
import { createLogStream, type ResourceGovernor } from '@telora/daemon-core';
|
|
12
|
+
import type { AgentEventParser } from '@telora/daemon-core';
|
|
12
13
|
import { CompletionDetector } from './completion-detector.js';
|
|
13
14
|
import { ActivityTracker } from './activity-tracker.js';
|
|
14
15
|
/**
|
|
@@ -25,7 +26,7 @@ export declare function safeCloseStdin(stdin: Writable): void;
|
|
|
25
26
|
*/
|
|
26
27
|
export declare function attachStreamHandlers(params: {
|
|
27
28
|
proc: ChildProcess;
|
|
28
|
-
streamParser:
|
|
29
|
+
streamParser: AgentEventParser;
|
|
29
30
|
completionDetector: CompletionDetector;
|
|
30
31
|
runningAgent: RunningAgent;
|
|
31
32
|
deliveryId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawner-stream-handlers.d.ts","sourceRoot":"","sources":["../src/spawner-stream-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAIxF,OAAO,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"spawner-stream-handlers.d.ts","sourceRoot":"","sources":["../src/spawner-stream-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAIxF,OAAO,EAAe,eAAe,EAAE,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC1F,OAAO,KAAK,EAAc,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAIxD;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAMxE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAMpD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAC3C,IAAI,EAAE,YAAY,CAAC;IACnB,YAAY,EAAE,gBAAgB,CAAC;IAC/B,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;IACpD,WAAW,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;IAChD,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CAC1C,GAAG,eAAe,CAqElB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAC5C,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,eAAe,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,eAAe,EAAE,eAAe,CAAC;IACjC,eAAe,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;IACpD,YAAY,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;IACjD,WAAW,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;IAChD,WAAW,EAAE,MAAM,OAAO,CAAC;IAC3B,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACzC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACnC,GAAG,IAAI,CAyDP;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,YAAY,EACnB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GACvC,IAAI,CAuCN"}
|
|
@@ -9,7 +9,6 @@ import { updateSession } from './supabase.js';
|
|
|
9
9
|
import { reportGitState } from './supabase.js';
|
|
10
10
|
import { getStageByName } from './workflow-engine.js';
|
|
11
11
|
import { sendMessage } from '@telora/daemon-core';
|
|
12
|
-
import { formatEventForLog } from '@telora/daemon-core';
|
|
13
12
|
import { ActivityTracker } from './activity-tracker.js';
|
|
14
13
|
import { removeWorktree } from './git.js';
|
|
15
14
|
import { handleAgentCompletion } from './completion-handler.js';
|
|
@@ -45,41 +44,45 @@ export function attachStreamHandlers(params) {
|
|
|
45
44
|
completionDetector.attach(streamParser);
|
|
46
45
|
const activityTracker = new ActivityTracker(runningAgent.sessionId);
|
|
47
46
|
activityTracker.attach(streamParser);
|
|
48
|
-
// Raw NDJSON log
|
|
49
|
-
|
|
50
|
-
|
|
47
|
+
// Raw channel: verbatim NDJSON to the jsonl log + the backend's human-readable
|
|
48
|
+
// line to the stdout log.
|
|
49
|
+
streamParser.on('raw', (raw, logLine) => {
|
|
50
|
+
jsonlStream.write(JSON.stringify(raw) + '\n');
|
|
51
|
+
if (logLine)
|
|
52
|
+
stdoutLogStream.write(logLine + '\n');
|
|
51
53
|
});
|
|
52
|
-
//
|
|
53
|
-
streamParser.on('
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
54
|
+
// Neutral event stream: session state, subagent tracking, result/error logging.
|
|
55
|
+
streamParser.on('agent_event', (event) => {
|
|
56
|
+
switch (event.kind) {
|
|
57
|
+
case 'session_started':
|
|
58
|
+
runningAgent.claudeSessionId = event.sessionId;
|
|
59
|
+
runningAgent.streamState = 'active';
|
|
60
|
+
console.log(` Session initialized (model: ${event.model ?? 'unknown'})`);
|
|
61
|
+
reportGitState(deliveryId, 'worktree_active', branchName).catch(err => console.warn('[spawner] reportGitState worktree_active failed:', err.message));
|
|
62
|
+
break;
|
|
63
|
+
case 'subagent_activity': {
|
|
64
|
+
if (event.phase === 'spawned') {
|
|
65
|
+
console.log(` [team] Teammate spawned: ${event.agentName}`);
|
|
66
|
+
}
|
|
67
|
+
else if (event.phase === 'completed') {
|
|
68
|
+
console.log(` [team] Teammate ${event.isError ? 'FAILED' : 'completed'}: ${event.agentName}`);
|
|
69
|
+
}
|
|
70
|
+
const state = completionDetector.getState();
|
|
71
|
+
runningAgent.activeTeammateCount = state.activeTeammateCount;
|
|
72
|
+
runningAgent.activeTeammates = state.activeTeammates;
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
case 'result': {
|
|
76
|
+
const cost = event.totalCostUsd?.toFixed(4) ?? '?';
|
|
77
|
+
console.log(` [result] ${event.isError ? 'ERROR' : 'Success'}: ${event.numTurns} turns, $${cost}`);
|
|
78
|
+
break;
|
|
79
|
+
}
|
|
80
|
+
case 'error':
|
|
81
|
+
console.warn(` [stream] Parse error: ${event.message}`);
|
|
82
|
+
break;
|
|
83
|
+
default:
|
|
84
|
+
break;
|
|
72
85
|
}
|
|
73
|
-
const state = completionDetector.getState();
|
|
74
|
-
runningAgent.activeTeammateCount = state.activeTeammateCount;
|
|
75
|
-
runningAgent.activeTeammates = state.activeTeammates;
|
|
76
|
-
});
|
|
77
|
-
streamParser.on('result', (result) => {
|
|
78
|
-
const cost = result.total_cost_usd?.toFixed(4) ?? '?';
|
|
79
|
-
console.log(` [result] ${result.is_error ? 'ERROR' : 'Success'}: ${result.num_turns} turns, $${cost}`);
|
|
80
|
-
});
|
|
81
|
-
streamParser.on('error', (err, line) => {
|
|
82
|
-
console.warn(` [stream-json] Parse error: ${err.message} — line: ${line.slice(0, 200)}`);
|
|
83
86
|
});
|
|
84
87
|
completionDetector.on('complete', (info) => {
|
|
85
88
|
console.log(`Agent for "${deliveryName}" completed: ` +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawner-stream-handlers.js","sourceRoot":"","sources":["../src/spawner-stream-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,
|
|
1
|
+
{"version":3,"file":"spawner-stream-handlers.js","sourceRoot":"","sources":["../src/spawner-stream-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAA0C,MAAM,qBAAqB,CAAC;AAG1F,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,GAAW,EAAE,MAAsB;IAChE,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,4BAA4B,GAAG,KAAK,MAAM,qCAAqC,EAAG,CAAW,CAAC,OAAO,CAAC,CAAC;IACvH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,KAAe;IAC5C,IAAI,CAAC;QACH,KAAK,CAAC,GAAG,EAAE,CAAC;IACd,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,gEAAgE,EAAG,CAAW,CAAC,OAAO,CAAC,CAAC;IACxG,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAWpC;IACC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC;IAE3J,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC;IAClC,kBAAkB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAExC,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IACpE,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAErC,+EAA+E;IAC/E,0BAA0B;IAC1B,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACtC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QAC9C,IAAI,OAAO;YAAE,eAAe,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,gFAAgF;IAChF,YAAY,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,KAAiB,EAAE,EAAE;QACnD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,iBAAiB;gBACpB,YAAY,CAAC,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC;gBAC/C,YAAY,CAAC,WAAW,GAAG,QAAQ,CAAC;gBACpC,OAAO,CAAC,GAAG,CAAC,iCAAiC,KAAK,CAAC,KAAK,IAAI,SAAS,GAAG,CAAC,CAAC;gBAC1E,cAAc,CAAC,UAAU,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CACpE,OAAO,CAAC,IAAI,CAAC,kDAAkD,EAAG,GAAa,CAAC,OAAO,CAAC,CACzF,CAAC;gBACF,MAAM;YACR,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;oBAC9B,OAAO,CAAC,GAAG,CAAC,8BAA8B,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC/D,CAAC;qBAAM,IAAI,KAAK,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;oBACvC,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;gBACjG,CAAC;gBACD,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,EAAE,CAAC;gBAC5C,YAAY,CAAC,mBAAmB,GAAG,KAAK,CAAC,mBAAmB,CAAC;gBAC7D,YAAY,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;gBACrD,MAAM;YACR,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;gBACnD,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,QAAQ,YAAY,IAAI,EAAE,CAAC,CAAC;gBACpG,MAAM;YACR,CAAC;YACD,KAAK,OAAO;gBACV,OAAO,CAAC,IAAI,CAAC,2BAA2B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBACzD,MAAM;YACR;gBACE,MAAM;QACV,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;QACzC,OAAO,CAAC,GAAG,CACT,cAAc,YAAY,eAAe;YACzC,GAAG,IAAI,CAAC,SAAS,YAAY,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;YAC7D,uBAAuB,IAAI,CAAC,oBAAoB,EAAE,CACnD,CAAC;QACF,YAAY,CAAC,WAAW,GAAG,MAAM,CAAC;QAClC,wBAAwB,CAAC,YAAY,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QACrC,OAAO,CAAC,IAAI,CACV,cAAc,YAAY,cAAc,IAAI,CAAC,cAAc,GAAG,IAAI,IAAI;YACtE,QAAQ,IAAI,CAAC,mBAAmB,mBAAmB,CACpD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAkBrC;IACC,MAAM,EACJ,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EACzD,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,kBAAkB,EACvD,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EACxE,aAAa,EAAE,QAAQ,GACxB,GAAG,MAAM,CAAC;IAEX,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,WAAW,EAAE,EAAE,CAAC;IAEvC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;QACtC,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;QAE/B,IAAI,CAAC;YAAC,MAAM,eAAe,CAAC,UAAU,EAAE,CAAC;QAAC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,8CAA8C,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QAEjJ,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE;YAClC,MAAM;YACN,OAAO;YACP,YAAY;YACZ,QAAQ;YACR,UAAU;YACV,cAAc;YACd,QAAQ,EAAE,WAAW,EAAE;YACvB,SAAS,EAAE,MAAM,CAAC,gBAAgB;YAClC,SAAS;YACT,UAAU;YACV,kBAAkB;YAClB,eAAe;YACf,YAAY;YACZ,WAAW;YACX,aAAa;SACd,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC7B,OAAO,CAAC,KAAK,CAAC,cAAc,OAAO,CAAC,QAAQ,CAAC,IAAI,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1E,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;QAE/B,IAAI,YAAY,CAAC,YAAY;YAAE,YAAY,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACvE,IAAI,YAAY,CAAC,YAAY;YAAE,YAAY,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACvE,kBAAkB,EAAE,OAAO,EAAE,CAAC;QAC9B,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEhC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,EAAE;YAC5C,UAAU;YACV,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;YACnC,cAAc,EAAE,KAAK;SACtB,CAAC,CAAC;QAEH,MAAM,aAAa,CAAC,SAAS,EAAE;YAC7B,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,qBAAqB;YAClC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACnC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CACtC,KAAmB,EACnB,YAAoB,EACpB,aAAwC;IAExC,MAAM,eAAe,GAAG,KAAK,CAAC,CAAE,2BAA2B;IAC3D,MAAM,kBAAkB,GAAG,KAAK,CAAC,CAAC,+BAA+B;IAEjE,uBAAuB;IACvB,WAAW,CACT,KAAK,CAAC,KAAK,EACX,gFAAgF,CACjF,CAAC;IAEF,wDAAwD;IACxD,yCAAyC;IACzC,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE;QACjC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC;YAAE,OAAO;QAChD,OAAO,CAAC,IAAI,CAAC,yBAAyB,YAAY,sDAAsD,CAAC,CAAC;QAC1G,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC,EAAE,eAAe,CAAC,CAAC;IAEpB,2DAA2D;IAC3D,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC;YAAE,OAAO;QAChD,OAAO,CAAC,IAAI,CAAC,yBAAyB,YAAY,sDAAsD,CAAC,CAAC;QAC1G,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACvC,CAAC,EAAE,eAAe,GAAG,kBAAkB,CAAC,CAAC;IAEzC,4DAA4D;IAC5D,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC;YAAE,OAAO;QAChD,OAAO,CAAC,KAAK,CAAC,yBAAyB,YAAY,qCAAqC,CAAC,CAAC;QAC1F,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACvC,CAAC,EAAE,eAAe,GAAG,kBAAkB,GAAG,CAAC,CAAC,CAAC;IAE7C,sDAAsD;IACtD,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;QACjC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YACxC,YAAY,CAAC,UAAU,CAAC,CAAC;YACzB,aAAa,CAAC,SAAS,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,EAAE,IAAI,CAAC,CAAC;AACX,CAAC"}
|
package/dist/spawner.d.ts
CHANGED
|
@@ -1,21 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Spawner lifecycle/state re-export hub.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* -
|
|
6
|
-
* - Delivery details (name, description, acceptance criteria, tech context)
|
|
7
|
-
* - All context groups and tasks within the delivery
|
|
4
|
+
* The per-delivery spawn function (spawnAgentForDelivery) was removed —
|
|
5
|
+
* delivery-level execution is now handled by the focus-level team spawner.
|
|
8
6
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
7
|
+
* This module re-exports lifecycle helpers and running-agent state accessors
|
|
8
|
+
* that are consumed by the rest of the daemon.
|
|
11
9
|
*
|
|
12
10
|
* Stream/process handling: ./spawner-stream-handlers.ts
|
|
13
11
|
* Lifecycle management: ./spawner-lifecycle.ts
|
|
14
12
|
*/
|
|
15
|
-
import type {
|
|
13
|
+
import type { RunningAgent } from './types.js';
|
|
16
14
|
import { type ResourceGovernor } from '@telora/daemon-core';
|
|
17
|
-
/**
|
|
18
|
-
export declare function initGovernor(
|
|
15
|
+
/** No-op. The per-delivery spawn path was removed; governor is managed by team-spawner. */
|
|
16
|
+
export declare function initGovernor(_gov: ResourceGovernor): void;
|
|
19
17
|
/**
|
|
20
18
|
* Get map of running agents.
|
|
21
19
|
* Re-exported from agent-state for backward compatibility.
|
|
@@ -36,11 +34,4 @@ export { spawnAuditAgent } from './spawner-lifecycle.js';
|
|
|
36
34
|
export type { AuditSpawnOptions, AuditSpawnResult } from './spawner-lifecycle.js';
|
|
37
35
|
/** Re-export stale agent liveness checks. */
|
|
38
36
|
export { isProcessAlive, checkAgentLiveness } from './spawner-liveness.js';
|
|
39
|
-
/**
|
|
40
|
-
* Spawn a Claude Code agent to work on a delivery.
|
|
41
|
-
*
|
|
42
|
-
* The agent runs in an isolated git worktree created from the integration branch.
|
|
43
|
-
* On successful completion, the agent's changes are merged back to integration.
|
|
44
|
-
*/
|
|
45
|
-
export declare function spawnAgentForDelivery(config: DaemonConfig, deliveryId: string, role: AgentRole, focusId: string): Promise<void>;
|
|
46
37
|
//# sourceMappingURL=spawner.d.ts.map
|
package/dist/spawner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawner.d.ts","sourceRoot":"","sources":["../src/spawner.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"spawner.d.ts","sourceRoot":"","sources":["../src/spawner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAA2B,YAAY,EAAE,MAAM,YAAY,CAAC;AAExE,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAW5D,2FAA2F;AAC3F,wBAAgB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAAG;AAE7D;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAE5D;AAID,iCAAiC;AACjC,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,oCAAoC;AACpC,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED,kDAAkD;AAClD,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,mCAAmC;AACnC,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED,+DAA+D;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,mFAAmF;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAElF,6CAA6C;AAC7C,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC"}
|