@jungjaehoon/mama-os 0.52.2 → 0.53.1

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.
Files changed (67) hide show
  1. package/dist/agent/agent-loop.d.ts +0 -14
  2. package/dist/agent/agent-loop.d.ts.map +1 -1
  3. package/dist/agent/agent-loop.js +5 -18
  4. package/dist/agent/agent-loop.js.map +1 -1
  5. package/dist/agent/native-effect-observer.d.ts +1 -0
  6. package/dist/agent/native-effect-observer.d.ts.map +1 -1
  7. package/dist/agent/native-effect-observer.js +17 -1
  8. package/dist/agent/native-effect-observer.js.map +1 -1
  9. package/dist/agent/persistent-cli-adapter.d.ts +38 -10
  10. package/dist/agent/persistent-cli-adapter.d.ts.map +1 -1
  11. package/dist/agent/persistent-cli-adapter.js +144 -6
  12. package/dist/agent/persistent-cli-adapter.js.map +1 -1
  13. package/dist/agent/persistent-cli-process.d.ts +78 -0
  14. package/dist/agent/persistent-cli-process.d.ts.map +1 -1
  15. package/dist/agent/persistent-cli-process.js +322 -0
  16. package/dist/agent/persistent-cli-process.js.map +1 -1
  17. package/dist/agent/prompt-size-monitor.d.ts +2 -2
  18. package/dist/cli/commands/init.d.ts.map +1 -1
  19. package/dist/cli/commands/init.js +0 -22
  20. package/dist/cli/commands/init.js.map +1 -1
  21. package/dist/cli/commands/start.d.ts.map +1 -1
  22. package/dist/cli/commands/start.js +23 -18
  23. package/dist/cli/commands/start.js.map +1 -1
  24. package/dist/cli/config/config-manager.d.ts +4 -3
  25. package/dist/cli/config/config-manager.d.ts.map +1 -1
  26. package/dist/cli/config/config-manager.js +5 -25
  27. package/dist/cli/config/config-manager.js.map +1 -1
  28. package/dist/cli/runtime/agent-loop-init.js +1 -1
  29. package/dist/cli/runtime/agent-loop-init.js.map +1 -1
  30. package/dist/cli/runtime/api-routes-init.d.ts.map +1 -1
  31. package/dist/cli/runtime/api-routes-init.js +5 -18
  32. package/dist/cli/runtime/api-routes-init.js.map +1 -1
  33. package/dist/cli/runtime/utilities.d.ts +7 -1
  34. package/dist/cli/runtime/utilities.d.ts.map +1 -1
  35. package/dist/cli/runtime/utilities.js +8 -3
  36. package/dist/cli/runtime/utilities.js.map +1 -1
  37. package/dist/gateways/message-router.d.ts.map +1 -1
  38. package/dist/gateways/message-router.js +2 -1
  39. package/dist/gateways/message-router.js.map +1 -1
  40. package/dist/multi-agent/wiki-agent-persona.d.ts +5 -7
  41. package/dist/multi-agent/wiki-agent-persona.d.ts.map +1 -1
  42. package/dist/multi-agent/wiki-agent-persona.js +5 -27
  43. package/dist/multi-agent/wiki-agent-persona.js.map +1 -1
  44. package/dist/operator/owner-action-effects.d.ts +0 -15
  45. package/dist/operator/owner-action-effects.d.ts.map +1 -1
  46. package/dist/operator/owner-action-effects.js +14 -2
  47. package/dist/operator/owner-action-effects.js.map +1 -1
  48. package/dist/operator/owner-runtime.d.ts +8 -0
  49. package/dist/operator/owner-runtime.d.ts.map +1 -1
  50. package/dist/operator/owner-runtime.js +26 -6
  51. package/dist/operator/owner-runtime.js.map +1 -1
  52. package/dist/operator/subagent-stimulus.js +4 -4
  53. package/dist/operator/subagent-stimulus.js.map +1 -1
  54. package/dist/operator/workorder-consumer.js +2 -2
  55. package/dist/operator/workorder-consumer.js.map +1 -1
  56. package/dist/wiki/wiki-turn-contract.d.ts +4 -4
  57. package/dist/wiki/wiki-turn-contract.js +4 -4
  58. package/package.json +1 -1
  59. package/dist/multi-agent/dashboard-agent-persona.d.ts +0 -16
  60. package/dist/multi-agent/dashboard-agent-persona.d.ts.map +0 -1
  61. package/dist/multi-agent/dashboard-agent-persona.js +0 -119
  62. package/dist/multi-agent/dashboard-agent-persona.js.map +0 -1
  63. package/templates/personas/architect.md +0 -70
  64. package/templates/personas/conductor.md +0 -373
  65. package/templates/personas/developer.md +0 -115
  66. package/templates/personas/pm.md +0 -68
  67. package/templates/personas/reviewer.md +0 -128
@@ -11,22 +11,20 @@
11
11
  * - Claude context preserved without re-sending full history
12
12
  * - System prompt sent only once at process start
13
13
  */
14
+ import { EventEmitter } from 'events';
14
15
  import type { ClaudeCLIWrapperOptions, PromptCallbacks, PromptResult, ToolUseBlock } from './claude-cli-wrapper.js';
15
16
  import { type IModelRunner, type PromptOptions, type RunnerMetrics, type SessionPolicyStatus } from './model-runner.js';
16
17
  export type { ClaudeCLIWrapperOptions, PromptCallbacks, PromptResult, ToolUseBlock };
17
- /**
18
- * PersistentCLIAdapter - Drop-in replacement for ClaudeCLIWrapper
19
- *
20
- * Implements the same interface but uses persistent CLI processes under the hood.
21
- * This enables efficient multi-turn conversations without re-sending system prompts.
22
- */
23
- export declare class PersistentCLIAdapter implements IModelRunner {
18
+ export declare class PersistentCLIAdapter extends EventEmitter implements IModelRunner {
24
19
  readonly backendType: "claude";
25
20
  /**
26
- * The stream carries no subagent items the host can observe (a native Agent tool, when the
27
- * persona is given one, runs children the host cannot track), so delegation is never promised.
21
+ * The CLI's own delegation: `Agent` with `run_in_background: true`. The parent stream
22
+ * carries the spawn (`system/task_started` plus the launch tool_result that names the
23
+ * child), the child's tool calls, its final text, and the completion notification, so a
24
+ * spawn IS observable - PersistentClaudeProcess maps them and this adapter re-emits them
25
+ * as `subagent` events with the same shape the Codex runner uses.
28
26
  */
29
- readonly supportsNativeSubagents = false;
27
+ readonly supportsNativeSubagents = true;
30
28
  private options;
31
29
  private processPool;
32
30
  private channelKey;
@@ -35,6 +33,19 @@ export declare class PersistentCLIAdapter implements IModelRunner {
35
33
  private pendingToolResults;
36
34
  private lastToolUseBlocks;
37
35
  private contextRegistry;
36
+ /** Processes whose subagent stream events are already wired to this adapter. */
37
+ private readonly wiredProcesses;
38
+ /**
39
+ * A run-context lease deliberately held past its turn's end because a native background
40
+ * child (or the CLI's own follow-up turn) is still calling code-act under it.
41
+ *
42
+ * A Claude child shares the PARENT process's MAMA_CODE_ACT_CONTEXT_KEY, so it cannot be
43
+ * given a separate context the way a Codex child can: one key holds one live lease. Its
44
+ * authority is therefore the parent run's, kept open - never renewed. The registry still
45
+ * closes the lease at the envelope's own expiry, so nothing outlives the grant, and a
46
+ * call after that fails loudly with no run context rather than running unauthorised.
47
+ */
48
+ private readonly deferredLeases;
38
49
  private _requestCount;
39
50
  private _failureCount;
40
51
  private _totalLatencyMs;
@@ -50,6 +61,23 @@ export declare class PersistentCLIAdapter implements IModelRunner {
50
61
  * 4. Returns PromptResult compatible with ClaudeCLIWrapper
51
62
  */
52
63
  prompt(content: string, callbacks?: PromptCallbacks, options?: PromptOptions): Promise<PromptResult>;
64
+ /**
65
+ * Re-emit one process's background-Agent stream events as runner-level events.
66
+ *
67
+ * `subagent` carries the SAME shape the Codex runner emits, so
68
+ * `attachSubagentWake` works unchanged. A completion the CLI answered with its own
69
+ * follow-up turn is emitted as `subagentObserved` instead: that turn IS the owner
70
+ * reacting, and a host wake on top of it would be a second turn for one child.
71
+ */
72
+ private wireSubagentEvents;
73
+ /** Close a lease held past its turn, once nothing is still running under it. */
74
+ /**
75
+ * Resolve once the process reports no live background child (a completion event, the
76
+ * autonomous turn's result, or the process closing all report through `subagent`), or
77
+ * after `LIVE_CHILD_WAIT_MS`, in which case the caller supersedes the lease loudly.
78
+ */
79
+ private waitForLiveBackgroundAgents;
80
+ private releaseDeferredLease;
53
81
  /**
54
82
  * Send a tool result back to Claude
55
83
  *
@@ -1 +1 @@
1
- {"version":3,"file":"persistent-cli-adapter.d.ts","sourceRoot":"","sources":["../../src/agent/persistent-cli-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EACV,uBAAuB,EACvB,eAAe,EACf,YAAY,EACZ,YAAY,EACb,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACzB,MAAM,mBAAmB,CAAC;AAa3B,YAAY,EAAE,uBAAuB,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;AAErF;;;;;GAKG;AACH,qBAAa,oBAAqB,YAAW,YAAY;IACvD,QAAQ,CAAC,WAAW,EAAG,QAAQ,CAAU;IAEzC;;;OAGG;IACH,QAAQ,CAAC,uBAAuB,SAAS;IAEzC,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,WAAW,CAAwB;IAC3C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,cAAc,CAAwC;IAC9D,OAAO,CAAC,wBAAwB,CAAuB;IACvD,OAAO,CAAC,kBAAkB,CAAgE;IAC1F,OAAO,CAAC,iBAAiB,CAAsB;IAC/C,OAAO,CAAC,eAAe,CAA0C;IAGjE,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,cAAc,CAAuB;gBAEjC,OAAO,GAAE,uBAA4B;IAoBjD;;;;;;;;OAQG;IACG,MAAM,CACV,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,eAAe,EAC3B,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,CAAC;IA0IxB;;;;;OAKG;IACG,cAAc,CAClB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,OAAe,EACxB,SAAS,CAAC,EAAE,eAAe,GAC1B,OAAO,CAAC,YAAY,CAAC;IAQxB;;;;OAIG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,OAAe,GAAG,IAAI;IAIlF;;OAEG;IACH,qBAAqB,IAAI,OAAO;IAIhC;;OAEG;IACH,oBAAoB,IAAI,YAAY,EAAE;IAItC;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,YAAY,CAAC,SAAS,GAAE,MAAwB,GAAG,IAAI;IAYvD;;;;;;;;OAQG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAUrC;;;;;;;OAOG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAMrC;;OAEG;IACH,UAAU,IAAI,uBAAuB;IAIrC,sBAAsB,CAAC,OAAO,EAAE,aAAa,GAAG,mBAAmB;IAOnE;;OAEG;IACH,SAAS,IAAI,OAAO;IAKpB;;OAEG;IACH,UAAU,IAAI,aAAa;IAU3B;;OAEG;IACH,IAAI,IAAI,IAAI;IAIZ;;OAEG;IACH,OAAO,IAAI,IAAI;IAQf;;OAEG;IACH,YAAY,IAAI,OAAO;IAIvB;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,qBAAqB,IAAI,MAAM;CAGhC;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,GAAE,uBAA4B,GACpC,oBAAoB,CAEtB"}
1
+ {"version":3,"file":"persistent-cli-adapter.d.ts","sourceRoot":"","sources":["../../src/agent/persistent-cli-adapter.ts"],"names":[],"mappings":"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"}
@@ -15,9 +15,11 @@
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
16
  exports.PersistentCLIAdapter = void 0;
17
17
  exports.createPersistentCLIAdapter = createPersistentCLIAdapter;
18
+ const events_1 = require("events");
18
19
  const persistent_cli_process_js_1 = require("./persistent-cli-process.js");
19
20
  const model_runner_js_1 = require("./model-runner.js");
20
21
  const run_context_registry_js_1 = require("./code-act/run-context-registry.js");
22
+ const workorder_consumer_js_1 = require("../operator/workorder-consumer.js");
21
23
  const completed_terminal_result_js_1 = require("./code-act/completed-terminal-result.js");
22
24
  const types_js_1 = require("./types.js");
23
25
  /**
@@ -26,13 +28,18 @@ const types_js_1 = require("./types.js");
26
28
  * Implements the same interface but uses persistent CLI processes under the hood.
27
29
  * This enables efficient multi-turn conversations without re-sending system prompts.
28
30
  */
29
- class PersistentCLIAdapter {
31
+ /** How long a new turn waits for a live background child: the delegated attempt's own bound. */
32
+ const LIVE_CHILD_WAIT_MS = workorder_consumer_js_1.DELEGATED_ATTEMPT_TIMEOUT_MS;
33
+ class PersistentCLIAdapter extends events_1.EventEmitter {
30
34
  backendType = 'claude';
31
35
  /**
32
- * The stream carries no subagent items the host can observe (a native Agent tool, when the
33
- * persona is given one, runs children the host cannot track), so delegation is never promised.
36
+ * The CLI's own delegation: `Agent` with `run_in_background: true`. The parent stream
37
+ * carries the spawn (`system/task_started` plus the launch tool_result that names the
38
+ * child), the child's tool calls, its final text, and the completion notification, so a
39
+ * spawn IS observable - PersistentClaudeProcess maps them and this adapter re-emits them
40
+ * as `subagent` events with the same shape the Codex runner uses.
34
41
  */
35
- supportsNativeSubagents = false;
42
+ supportsNativeSubagents = true;
36
43
  options;
37
44
  processPool;
38
45
  channelKey;
@@ -41,12 +48,26 @@ class PersistentCLIAdapter {
41
48
  pendingToolResults = new Map();
42
49
  lastToolUseBlocks = [];
43
50
  contextRegistry = run_context_registry_js_1.runContextRegistry;
51
+ /** Processes whose subagent stream events are already wired to this adapter. */
52
+ wiredProcesses = new WeakSet();
53
+ /**
54
+ * A run-context lease deliberately held past its turn's end because a native background
55
+ * child (or the CLI's own follow-up turn) is still calling code-act under it.
56
+ *
57
+ * A Claude child shares the PARENT process's MAMA_CODE_ACT_CONTEXT_KEY, so it cannot be
58
+ * given a separate context the way a Codex child can: one key holds one live lease. Its
59
+ * authority is therefore the parent run's, kept open - never renewed. The registry still
60
+ * closes the lease at the envelope's own expiry, so nothing outlives the grant, and a
61
+ * call after that fails loudly with no run context rather than running unauthorised.
62
+ */
63
+ deferredLeases = new Map();
44
64
  // ─── Metrics tracking ───
45
65
  _requestCount = 0;
46
66
  _failureCount = 0;
47
67
  _totalLatencyMs = 0;
48
68
  _lastRequestAt = null;
49
69
  constructor(options = {}) {
70
+ super();
50
71
  this.options = { ...options };
51
72
  this.channelKey = options.sessionId || 'default';
52
73
  this.processPool = new persistent_cli_process_js_1.PersistentProcessPool({
@@ -98,6 +119,7 @@ class PersistentCLIAdapter {
98
119
  // dereference this.currentProcess inside prompt() - concurrent calls race it.
99
120
  this.currentProcess = proc;
100
121
  this.currentProcessChannelKey = channelKey;
122
+ this.wireSubagentEvents(proc, channelKey);
101
123
  // Pending tool results belong to the legacy single-channel path; only flush
102
124
  // them when this call routes to that same channel - flushing them into an
103
125
  // arbitrary per-call session would misdeliver them.
@@ -129,6 +151,7 @@ class PersistentCLIAdapter {
129
151
  const attemptController = options?.toolExecutionContext ? new AbortController() : null;
130
152
  const contextKey = options?.toolExecutionContext ? proc.getRunContextKey() : null;
131
153
  let leaseId = null;
154
+ let leaseClosedEarly = false;
132
155
  let ownsPromptAttempt = false;
133
156
  let latencyRecorded = false;
134
157
  const recordLatency = () => {
@@ -146,6 +169,14 @@ class PersistentCLIAdapter {
146
169
  const signal = ownerSignal
147
170
  ? AbortSignal.any([ownerSignal, attemptController.signal])
148
171
  : attemptController.signal;
172
+ // A live background child holds this process's ONLY run context (one lease per
173
+ // context key). Starting another turn now would run the child under the NEW turn's
174
+ // envelope and attempt id - measured 2026-09-10: board#4822's child published under
175
+ // board#4821's run, #4822 never verified, and a chat turn would have lent the child
176
+ // its send grant. Wait for the child; the bound is the one the consumer already gives a
177
+ // delegated attempt, and passing it is logged before the lease is superseded.
178
+ await this.waitForLiveBackgroundAgents(proc, contextKey);
179
+ this.releaseDeferredLease(contextKey, 'superseded by a new turn');
149
180
  leaseId = this.contextRegistry.register(contextKey, {
150
181
  ...options.toolExecutionContext,
151
182
  signal,
@@ -160,6 +191,7 @@ class PersistentCLIAdapter {
160
191
  attemptController?.abort(new Error(terminalError.message));
161
192
  if (contextKey && leaseId) {
162
193
  this.contextRegistry.close(contextKey, leaseId);
194
+ leaseClosedEarly = true;
163
195
  }
164
196
  this.processPool.retireProcess(channelKey, proc);
165
197
  return result;
@@ -193,17 +225,119 @@ class PersistentCLIAdapter {
193
225
  }
194
226
  if (contextKey && leaseId) {
195
227
  this.contextRegistry.close(contextKey, leaseId);
228
+ leaseClosedEarly = true;
196
229
  }
197
230
  this.processPool.retireProcess(channelKey, proc);
198
231
  }
199
232
  throw err;
200
233
  }
201
234
  finally {
202
- if (contextKey && leaseId) {
203
- this.contextRegistry.close(contextKey, leaseId);
235
+ if (contextKey && leaseId && !leaseClosedEarly) {
236
+ if (typeof proc.hasLiveBackgroundAgents === 'function' && proc.hasLiveBackgroundAgents()) {
237
+ // The turn is over; its native child is not. Closing now would strip the run
238
+ // context out from under the child's code-act calls mid-flight.
239
+ this.deferredLeases.set(contextKey, { leaseId, channelKey });
240
+ console.log(`[PersistentAdapter] holding run context for a live background agent (${channelKey})`);
241
+ }
242
+ else {
243
+ this.contextRegistry.close(contextKey, leaseId);
244
+ }
204
245
  }
205
246
  }
206
247
  }
248
+ // ─── Native background Agent (delegation) observation ────────────────────
249
+ /**
250
+ * Re-emit one process's background-Agent stream events as runner-level events.
251
+ *
252
+ * `subagent` carries the SAME shape the Codex runner emits, so
253
+ * `attachSubagentWake` works unchanged. A completion the CLI answered with its own
254
+ * follow-up turn is emitted as `subagentObserved` instead: that turn IS the owner
255
+ * reacting, and a host wake on top of it would be a second turn for one child.
256
+ */
257
+ wireSubagentEvents(proc, channelKey) {
258
+ if (this.wiredProcesses.has(proc))
259
+ return;
260
+ // Structural test doubles stand in for the pooled process and carry neither the emitter
261
+ // nor the background-agent accessor. Nothing to observe there.
262
+ if (typeof proc.on !== 'function' ||
263
+ typeof proc.hasLiveBackgroundAgents !== 'function') {
264
+ return;
265
+ }
266
+ this.wiredProcesses.add(proc);
267
+ proc.on('subagent', (event) => {
268
+ const translated = {
269
+ kind: event.kind,
270
+ sessionKey: channelKey,
271
+ parentThreadId: proc.getSessionId(),
272
+ agentThreadId: event.agentThreadId,
273
+ agentPath: event.agentPath,
274
+ ...(event.status ? { status: event.status } : {}),
275
+ ...(event.finalText ? { finalText: event.finalText } : {}),
276
+ };
277
+ if (event.kind === 'completed') {
278
+ this.releaseDeferredLease(proc.getRunContextKey(), 'background agent finished', proc);
279
+ if (!event.wakeRequired) {
280
+ console.log(`[PersistentAdapter] subagent ${event.agentThreadId} finished; the CLI's own ` +
281
+ 'turn carries the wake');
282
+ this.emit('subagentObserved', translated);
283
+ return;
284
+ }
285
+ }
286
+ this.emit('subagent', translated);
287
+ });
288
+ proc.on('autonomousTurn', (event) => {
289
+ this.emit('autonomousTurn', { ...event, sessionKey: channelKey });
290
+ });
291
+ proc.on('autonomousTurnResult', (event) => {
292
+ this.releaseDeferredLease(proc.getRunContextKey(), 'autonomous turn ended', proc);
293
+ this.emit('autonomousTurnResult', { ...event, sessionKey: channelKey });
294
+ });
295
+ }
296
+ /** Close a lease held past its turn, once nothing is still running under it. */
297
+ /**
298
+ * Resolve once the process reports no live background child (a completion event, the
299
+ * autonomous turn's result, or the process closing all report through `subagent`), or
300
+ * after `LIVE_CHILD_WAIT_MS`, in which case the caller supersedes the lease loudly.
301
+ */
302
+ waitForLiveBackgroundAgents(proc, contextKey) {
303
+ if (!proc.hasLiveBackgroundAgents())
304
+ return Promise.resolve();
305
+ const startedAt = Date.now();
306
+ console.log(`[PersistentAdapter] waiting for a live background agent before the next turn (${contextKey})`);
307
+ return new Promise((resolve) => {
308
+ let timer = null;
309
+ const done = (reason) => {
310
+ proc.off('subagent', onEvent);
311
+ proc.off('autonomousTurnResult', onEvent);
312
+ proc.off('idle', onEvent);
313
+ if (timer)
314
+ clearTimeout(timer);
315
+ console.log(`[PersistentAdapter] background agent wait over: ${reason} after ${Date.now() - startedAt}ms`);
316
+ resolve();
317
+ };
318
+ const onEvent = () => {
319
+ if (!proc.hasLiveBackgroundAgents())
320
+ done('child finished');
321
+ };
322
+ proc.on('subagent', onEvent);
323
+ proc.on('autonomousTurnResult', onEvent);
324
+ proc.on('idle', onEvent);
325
+ timer = setTimeout(() => done(`bound of ${LIVE_CHILD_WAIT_MS}ms passed; superseding the child's lease`), LIVE_CHILD_WAIT_MS);
326
+ });
327
+ }
328
+ releaseDeferredLease(contextKey, reason, proc) {
329
+ if (!contextKey)
330
+ return;
331
+ const held = this.deferredLeases.get(contextKey);
332
+ if (!held)
333
+ return;
334
+ if (typeof proc?.hasLiveBackgroundAgents === 'function' && proc.hasLiveBackgroundAgents()) {
335
+ return;
336
+ }
337
+ this.deferredLeases.delete(contextKey);
338
+ this.contextRegistry.close(contextKey, held.leaseId);
339
+ console.log(`[PersistentAdapter] released held run context (${held.channelKey}): ${reason}`);
340
+ }
207
341
  /**
208
342
  * Send a tool result back to Claude
209
343
  *
@@ -327,6 +461,10 @@ class PersistentCLIAdapter {
327
461
  * Stop all processes (cleanup) — legacy name, delegates to stop().
328
462
  */
329
463
  stopAll() {
464
+ for (const [contextKey, held] of [...this.deferredLeases]) {
465
+ this.deferredLeases.delete(contextKey);
466
+ this.contextRegistry.close(contextKey, held.leaseId);
467
+ }
330
468
  this.processPool.stopAll();
331
469
  this.currentProcess = null;
332
470
  this.currentProcessChannelKey = null;
@@ -1 +1 @@
1
- {"version":3,"file":"persistent-cli-adapter.js","sourceRoot":"","sources":["../../src/agent/persistent-cli-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persistent-cli-adapter.js","sourceRoot":"","sources":["../../src/agent/persistent-cli-adapter.ts"],"names":[],"mappings":"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"}
@@ -91,6 +91,23 @@ export interface ContentBlock {
91
91
  export interface StreamMessage {
92
92
  type: 'system' | 'assistant' | 'result' | 'error' | 'user';
93
93
  subtype?: string;
94
+ /**
95
+ * Set by the CLI on events produced INSIDE a subagent (the Agent tool_use id that
96
+ * started it). It is the only non-heuristic way to tell a child's tool calls from the
97
+ * parent's on one stream; absent/null means "this stream position", not "parent".
98
+ */
99
+ parent_tool_use_id?: string | null;
100
+ /** Background-task identity on `system` task_* events; field name varies by CLI build. */
101
+ task_id?: string;
102
+ taskId?: string;
103
+ task?: {
104
+ id?: string;
105
+ status?: string;
106
+ description?: string;
107
+ agentId?: string;
108
+ };
109
+ agent_id?: string;
110
+ agentId?: string;
94
111
  message?: {
95
112
  role: string;
96
113
  content: ContentBlock[];
@@ -119,6 +136,30 @@ export interface StreamMessage {
119
136
  }
120
137
  export type { PromptCallbacks, PromptResult };
121
138
  type ProcessState = 'idle' | 'busy' | 'starting' | 'dead';
139
+ /** Host-visible spawn/finish of a native background Agent on the Claude stream. */
140
+ export interface ClaudeSubagentStreamEvent {
141
+ kind: 'started' | 'completed';
142
+ agentThreadId: string;
143
+ agentPath: string;
144
+ itemId: string;
145
+ status?: 'completed' | 'unknown';
146
+ finalText?: string;
147
+ /**
148
+ * False when the CLI opened its own follow-up turn for the notification: that turn IS
149
+ * the owner reacting, so the host must not enqueue a second one.
150
+ */
151
+ wakeRequired: boolean;
152
+ }
153
+ /** A turn the CLI begins on its own after a background task notification (no stdin). */
154
+ export interface ClaudeAutonomousTurnEvent {
155
+ agentThreadId: string;
156
+ agentPath: string;
157
+ itemId: string;
158
+ }
159
+ export interface ClaudeAutonomousTurnResultEvent extends ClaudeAutonomousTurnEvent {
160
+ text: string;
161
+ isError: boolean;
162
+ }
122
163
  /**
123
164
  * PersistentClaudeProcess - Manages a single long-lived Claude CLI process
124
165
  *
@@ -146,6 +187,18 @@ export declare class PersistentClaudeProcess extends EventEmitter {
146
187
  private startPromise;
147
188
  private onTokenUsage?;
148
189
  private readonly runContextKey;
190
+ /** Live + just-finished native background Agents, keyed by their `Agent` tool_use id. */
191
+ private readonly backgroundAgents;
192
+ /**
193
+ * True once a turn's `result` resolved while a background child was still running. From
194
+ * then until the next stdin request, unattributed assistant/user events on the stream
195
+ * belong to that child, not to a parent turn that no longer exists.
196
+ */
197
+ private parentTurnEnded;
198
+ /** Set between a `task_notification` and the CLI's own follow-up turn. */
199
+ private pendingNotification;
200
+ /** The CLI-initiated turn currently running with no stdin request behind it. */
201
+ private autonomousTurn;
149
202
  /**
150
203
  * Resolve the effective request timeout in ms.
151
204
  * 0 = unlimited (no timeout). Returns the configured or default value.
@@ -191,6 +244,31 @@ export declare class PersistentClaudeProcess extends EventEmitter {
191
244
  */
192
245
  private processEvent;
193
246
  private recordToolUse;
247
+ private trackBackgroundAgent;
248
+ private pruneBackgroundAgents;
249
+ /** The newest tracked agent matching a predicate; `system` task events carry no item id. */
250
+ private latestBackgroundAgent;
251
+ private taskIdentityOf;
252
+ private recordBackgroundTaskStarted;
253
+ /** Lift the child's id out of the "Async agent launched" tool_result text. */
254
+ private recordBackgroundLaunchResult;
255
+ private fireSubagentStart;
256
+ /**
257
+ * Which background child an assistant/user event belongs to, or null for the parent.
258
+ *
259
+ * `parent_tool_use_id` is authoritative when the CLI stamps it. Without it the only
260
+ * honest signal is position: the parent turn already ended and exactly one child is
261
+ * live. Two live children and no stamp is ambiguous, so the event stays with the parent
262
+ * and says so rather than being silently attributed.
263
+ */
264
+ private childAgentFor;
265
+ private absorbChildAssistant;
266
+ private recordBackgroundTaskNotification;
267
+ private beginAutonomousTurn;
268
+ private finishAutonomousTurn;
269
+ private completeBackgroundAgent;
270
+ /** Whether a spawned background child has not been reported finished yet. */
271
+ hasLiveBackgroundAgents(): boolean;
194
272
  private recordToolResult;
195
273
  private failToolStreamProtocol;
196
274
  private promptTerminalError;
@@ -1 +1 @@
1
- {"version":3,"file":"persistent-cli-process.d.ts","sourceRoot":"","sources":["../../src/agent/persistent-cli-process.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persistent-cli-process.d.ts","sourceRoot":"","sources":["../../src/agent/persistent-cli-process.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAOH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAyB,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACpF,OAAO,EAKL,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EAGtB,MAAM,YAAY,CAAC;AAiDpB,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uDAAuD;IACvD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+EAA+E;IAC/E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2FAA2F;IAC3F,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,+GAA+G;IAC/G,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,8DAA8D;IAC9D,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,wFAAwF;IACxF,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,iEAAiE;IACjE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,kFAAkF;IAClF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2FAA2F;IAC3F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAClD,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,MAAM,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;CAC5C;AAED,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,uBAAuB,CAAC;IACjC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,aAAa,CAAC;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1D,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,0FAA0F;IAC1F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,YAAY,EAAE,CAAC;QACxB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,KAAK,CAAC,EAAE;YACN,YAAY,EAAE,MAAM,CAAC;YACrB,aAAa,EAAE,MAAM,CAAC;YACtB,uBAAuB,CAAC,EAAE,MAAM,CAAC;YACjC,2BAA2B,CAAC,EAAE,MAAM,CAAC;SACtC,CAAC;KACH,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,2BAA2B,CAAC,EAAE,MAAM,CAAC;KACtC,CAAC;IACF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC;AAE9C,KAAK,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;AA6C1D,mFAAmF;AACnF,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,SAAS,GAAG,WAAW,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,wFAAwF;AACxF,MAAM,WAAW,yBAAyB;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,+BAAgC,SAAQ,yBAAyB;IAChF,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB;AAwGD;;;;;;;;GAQG;AACH,qBAAa,uBAAwB,SAAQ,YAAY;IACvD,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,KAAK,CAAwB;IACrC,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,gBAAgB,CAAgC;IACxD,OAAO,CAAC,cAAc,CAAiD;IACvE,OAAO,CAAC,aAAa,CAAyC;IAC9D,OAAO,CAAC,oBAAoB,CAA+B;IAC3D,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA8C;IAClF,OAAO,CAAC,sBAAsB,CAA+B;IAC7D,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,uBAAuB,CAAuB;IACtD,OAAO,CAAC,eAAe,CAAc;IACrC,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,YAAY,CAAC,CAAqC;IAC1D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,yFAAyF;IACzF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA2C;IAC5E;;;;OAIG;IACH,OAAO,CAAC,eAAe,CAAS;IAChC,0EAA0E;IAC1E,OAAO,CAAC,mBAAmB,CAA0D;IACrF,gFAAgF;IAChF,OAAO,CAAC,cAAc,CAA8D;IAEpF;;;OAGG;IACH,OAAO,CAAC,oBAAoB;gBAYhB,OAAO,EAAE,wBAAwB;IAY7C;;;;;;OAMG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAmBd,OAAO;IAmHrB;;OAEG;IACH,OAAO,CAAC,SAAS;IAgFjB;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC;IAqEtF;;OAEG;IACG,cAAc,CAClB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,OAAe,EACxB,SAAS,CAAC,EAAE,eAAe,GAC1B,OAAO,CAAC,YAAY,CAAC;IAOxB;;;OAGG;IACG,eAAe,CACnB,OAAO,EAAE,KAAK,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,EAC3E,SAAS,CAAC,EAAE,eAAe,GAC1B,OAAO,CAAC,YAAY,CAAC;IAgExB;;OAEG;IACH,OAAO,CAAC,YAAY;IA+BpB;;OAEG;IACH,OAAO,CAAC,YAAY;IAgMpB,OAAO,CAAC,aAAa;IAyCrB,OAAO,CAAC,oBAAoB;IAkB5B,OAAO,CAAC,qBAAqB;IAQ7B,4FAA4F;IAC5F,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,2BAA2B;IAYnC,8EAA8E;IAC9E,OAAO,CAAC,4BAA4B;IAYpC,OAAO,CAAC,iBAAiB;IA4BzB;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,oBAAoB;IAqB5B,OAAO,CAAC,gCAAgC;IAwBxC,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,uBAAuB;IAwB/B,6EAA6E;IAC7E,uBAAuB,IAAI,OAAO;IAOlC,OAAO,CAAC,gBAAgB;IA8CxB,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,mBAAmB;IA2B3B;;OAEG;IACH,OAAO,CAAC,YAAY;IAOpB;;OAEG;IACH,OAAO,CAAC,WAAW;IA4BnB;;OAEG;IACH,OAAO,CAAC,WAAW;IAoBnB;;OAEG;IACH,OAAO,CAAC,aAAa;IA2BrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAO3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAWzB;;OAEG;IACH,IAAI,IAAI,IAAI;IAqCZ;;OAEG;IACH,OAAO,IAAI,OAAO;IAIlB;;OAEG;IACH,OAAO,IAAI,OAAO;IAIlB;;;;OAIG;IACH,iBAAiB,IAAI,OAAO;IAI5B,0BAA0B,IAAI,MAAM,GAAG,IAAI;IAI3C;;OAEG;IACH,QAAQ,IAAI,YAAY;IAIxB;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB,8FAA8F;IAC9F,gBAAgB,IAAI,MAAM,GAAG,IAAI;CAGlC;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAExE;AAED;;;;;;;GAOG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,SAAS,CAQH;IACd,OAAO,CAAC,cAAc,CAAoC;IAC1D,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,uBAAuB,CAAS;IACxC,OAAO,CAAC,YAAY,CAA+B;gBAEvC,cAAc,GAAE,OAAO,CAAC,wBAAwB,CAAM;IAQlE,OAAO,CAAC,oBAAoB;IAgB5B,OAAO,CAAC,wBAAwB;IAgBhC,OAAO,CAAC,8BAA8B;IAiBtC,OAAO,CAAC,iBAAiB;IAWzB;;OAEG;IACG,UAAU,CACd,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,GAC1C,OAAO,CAAC,uBAAuB,CAAC;IAInC;;OAEG;IACG,oBAAoB,CACxB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,GAC1C,OAAO,CAAC,8BAA8B,CAAC;IAsE1C;;OAEG;IACH,oBAAoB,CAAC,GAAG,GAAE,MAAmB,GAAG,MAAM;IA4CtD;;OAEG;IACH,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAQrC,sBAAsB,CACpB,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,MAAM,GAAG,SAAS,GACpC,mBAAmB;IAQtB;;;;;OAKG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,uBAAuB,GAAG,OAAO;IAUpF;;OAEG;IACH,OAAO,IAAI,IAAI;IAYf;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,iBAAiB,IAAI,MAAM,EAAE;IAI7B;;;OAGG;IACH,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;CAOxC"}