@namzu/cli 20.0.0 → 21.0.0

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 (155) hide show
  1. package/CHANGELOG.md +255 -0
  2. package/README.md +42 -2
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +24 -2
  5. package/dist/cli.js.map +1 -1
  6. package/dist/commands/acp.d.ts.map +1 -1
  7. package/dist/commands/acp.js +6 -1
  8. package/dist/commands/acp.js.map +1 -1
  9. package/dist/commands/run-stream.d.ts.map +1 -1
  10. package/dist/commands/run-stream.js +9 -1
  11. package/dist/commands/run-stream.js.map +1 -1
  12. package/dist/commands/run.d.ts.map +1 -1
  13. package/dist/commands/run.js +14 -11
  14. package/dist/commands/run.js.map +1 -1
  15. package/dist/config/load.d.ts.map +1 -1
  16. package/dist/config/load.js +21 -0
  17. package/dist/config/load.js.map +1 -1
  18. package/dist/config/schema.d.ts +11 -4
  19. package/dist/config/schema.d.ts.map +1 -1
  20. package/dist/config/schema.js.map +1 -1
  21. package/dist/doctor/checks/chain.d.ts.map +1 -1
  22. package/dist/doctor/checks/chain.js +11 -5
  23. package/dist/doctor/checks/chain.js.map +1 -1
  24. package/dist/doctor/checks/credentials.d.ts.map +1 -1
  25. package/dist/doctor/checks/credentials.js +5 -1
  26. package/dist/doctor/checks/credentials.js.map +1 -1
  27. package/dist/index.d.ts +1 -1
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js.map +1 -1
  30. package/dist/integrations/providers/access.d.ts +7 -0
  31. package/dist/integrations/providers/access.d.ts.map +1 -0
  32. package/dist/integrations/providers/access.js +17 -0
  33. package/dist/integrations/providers/access.js.map +1 -0
  34. package/dist/integrations/providers/discover.d.ts +17 -54
  35. package/dist/integrations/providers/discover.d.ts.map +1 -1
  36. package/dist/integrations/providers/discover.js +46 -58
  37. package/dist/integrations/providers/discover.js.map +1 -1
  38. package/dist/integrations/providers/harness-credentials.d.ts +14 -0
  39. package/dist/integrations/providers/harness-credentials.d.ts.map +1 -1
  40. package/dist/integrations/providers/harness-credentials.js +46 -0
  41. package/dist/integrations/providers/harness-credentials.js.map +1 -1
  42. package/dist/integrations/providers/model-reasoning.d.ts +4 -0
  43. package/dist/integrations/providers/model-reasoning.d.ts.map +1 -0
  44. package/dist/integrations/providers/model-reasoning.js +46 -0
  45. package/dist/integrations/providers/model-reasoning.js.map +1 -0
  46. package/dist/integrations/providers/register.d.ts +1 -1
  47. package/dist/integrations/providers/register.d.ts.map +1 -1
  48. package/dist/integrations/providers/register.js +11 -1
  49. package/dist/integrations/providers/register.js.map +1 -1
  50. package/dist/integrations/providers/registry.d.ts +4 -4
  51. package/dist/integrations/providers/registry.d.ts.map +1 -1
  52. package/dist/integrations/providers/registry.js +23 -0
  53. package/dist/integrations/providers/registry.js.map +1 -1
  54. package/dist/integrations/sessions/context-inventory.d.ts +4 -0
  55. package/dist/integrations/sessions/context-inventory.d.ts.map +1 -0
  56. package/dist/integrations/sessions/context-inventory.js +44 -0
  57. package/dist/integrations/sessions/context-inventory.js.map +1 -0
  58. package/dist/integrations/sessions/conversation-search.d.ts +60 -0
  59. package/dist/integrations/sessions/conversation-search.d.ts.map +1 -0
  60. package/dist/integrations/sessions/conversation-search.js +461 -0
  61. package/dist/integrations/sessions/conversation-search.js.map +1 -0
  62. package/dist/integrations/sessions/task-context.d.ts +4 -0
  63. package/dist/integrations/sessions/task-context.d.ts.map +1 -0
  64. package/dist/integrations/sessions/task-context.js +73 -0
  65. package/dist/integrations/sessions/task-context.js.map +1 -0
  66. package/dist/integrations/subagents/activity.d.ts +3 -1
  67. package/dist/integrations/subagents/activity.d.ts.map +1 -1
  68. package/dist/integrations/subagents/activity.js +20 -2
  69. package/dist/integrations/subagents/activity.js.map +1 -1
  70. package/dist/integrations/subagents/runtime.d.ts +7 -4
  71. package/dist/integrations/subagents/runtime.d.ts.map +1 -1
  72. package/dist/integrations/subagents/runtime.js +105 -17
  73. package/dist/integrations/subagents/runtime.js.map +1 -1
  74. package/dist/memory/io.d.ts +12 -0
  75. package/dist/memory/io.d.ts.map +1 -0
  76. package/dist/memory/io.js +177 -0
  77. package/dist/memory/io.js.map +1 -0
  78. package/dist/memory/presentation.d.ts +4 -1
  79. package/dist/memory/presentation.d.ts.map +1 -1
  80. package/dist/memory/presentation.js +16 -2
  81. package/dist/memory/presentation.js.map +1 -1
  82. package/dist/memory/store.d.ts +17 -3
  83. package/dist/memory/store.d.ts.map +1 -1
  84. package/dist/memory/store.js +61 -35
  85. package/dist/memory/store.js.map +1 -1
  86. package/dist/output-schema.d.ts +4 -0
  87. package/dist/output-schema.d.ts.map +1 -0
  88. package/dist/output-schema.js +18 -0
  89. package/dist/output-schema.js.map +1 -0
  90. package/dist/tui/AgentExplorer.d.ts +13 -2
  91. package/dist/tui/AgentExplorer.d.ts.map +1 -1
  92. package/dist/tui/AgentExplorer.js +85 -23
  93. package/dist/tui/AgentExplorer.js.map +1 -1
  94. package/dist/tui/App.d.ts.map +1 -1
  95. package/dist/tui/App.js +454 -64
  96. package/dist/tui/App.js.map +1 -1
  97. package/dist/tui/BrandHeader.d.ts +1 -4
  98. package/dist/tui/BrandHeader.d.ts.map +1 -1
  99. package/dist/tui/BrandHeader.js +2 -6
  100. package/dist/tui/BrandHeader.js.map +1 -1
  101. package/dist/tui/Composer.d.ts +2 -1
  102. package/dist/tui/Composer.d.ts.map +1 -1
  103. package/dist/tui/Composer.js +9 -2
  104. package/dist/tui/Composer.js.map +1 -1
  105. package/dist/tui/PermissionOverlay.d.ts +1 -1
  106. package/dist/tui/PermissionOverlay.d.ts.map +1 -1
  107. package/dist/tui/PermissionOverlay.js +8 -1
  108. package/dist/tui/PermissionOverlay.js.map +1 -1
  109. package/dist/tui/Picker.d.ts.map +1 -1
  110. package/dist/tui/Picker.js +94 -21
  111. package/dist/tui/Picker.js.map +1 -1
  112. package/dist/tui/TextPrompt.d.ts +3 -1
  113. package/dist/tui/TextPrompt.d.ts.map +1 -1
  114. package/dist/tui/TextPrompt.js +55 -9
  115. package/dist/tui/TextPrompt.js.map +1 -1
  116. package/dist/tui/Transcript.d.ts.map +1 -1
  117. package/dist/tui/Transcript.js +1 -1
  118. package/dist/tui/Transcript.js.map +1 -1
  119. package/dist/tui/agent.d.ts +18 -3
  120. package/dist/tui/agent.d.ts.map +1 -1
  121. package/dist/tui/agent.js +174 -58
  122. package/dist/tui/agent.js.map +1 -1
  123. package/dist/tui/model-choices.d.ts +3 -1
  124. package/dist/tui/model-choices.d.ts.map +1 -1
  125. package/dist/tui/model-choices.js +12 -1
  126. package/dist/tui/model-choices.js.map +1 -1
  127. package/dist/tui/model-search.d.ts +4 -0
  128. package/dist/tui/model-search.d.ts.map +1 -0
  129. package/dist/tui/model-search.js +11 -0
  130. package/dist/tui/model-search.js.map +1 -0
  131. package/dist/tui/model-selection-intent.d.ts +8 -0
  132. package/dist/tui/model-selection-intent.d.ts.map +1 -0
  133. package/dist/tui/model-selection-intent.js +96 -0
  134. package/dist/tui/model-selection-intent.js.map +1 -0
  135. package/dist/tui/model-switch-tool.d.ts +7 -0
  136. package/dist/tui/model-switch-tool.d.ts.map +1 -0
  137. package/dist/tui/model-switch-tool.js +74 -0
  138. package/dist/tui/model-switch-tool.js.map +1 -0
  139. package/dist/tui/model-switch.d.ts +35 -0
  140. package/dist/tui/model-switch.d.ts.map +1 -0
  141. package/dist/tui/model-switch.js +106 -0
  142. package/dist/tui/model-switch.js.map +1 -0
  143. package/dist/tui/permission-review.d.ts.map +1 -1
  144. package/dist/tui/permission-review.js +25 -12
  145. package/dist/tui/permission-review.js.map +1 -1
  146. package/dist/tui/run-interruption.d.ts +7 -0
  147. package/dist/tui/run-interruption.d.ts.map +1 -1
  148. package/dist/tui/run-interruption.js +41 -0
  149. package/dist/tui/run-interruption.js.map +1 -1
  150. package/dist/tui/slashCommands.d.ts.map +1 -1
  151. package/dist/tui/slashCommands.js +2 -1
  152. package/dist/tui/slashCommands.js.map +1 -1
  153. package/dist/tui/types.d.ts +3 -1
  154. package/dist/tui/types.d.ts.map +1 -1
  155. package/package.json +8 -7
@@ -3,15 +3,16 @@
3
3
  * DEFINE a specialist on the fly — pass a `role` (the persona / system prompt)
4
4
  * and namzu spins up a fresh sub-agent with that role at runtime, no
5
5
  * pre-registered definition needed. Omit `role` for a general-purpose one.
6
- * The call waits for a final result unless operator input releases the wait.
6
+ * The call waits for a final result unless background execution is requested
7
+ * or operator input releases the wait.
7
8
  * The child then stays owned by the parent run, and its completion reaches the
8
- * same query's inbox. Headless callers without an input waiter remain blocking.
9
+ * same query's inbox. Headless callers also support explicit background work.
9
10
  *
10
11
  * The runtime is fully self-contained: a dedicated in-memory session/thread
11
12
  * store backs the AgentManager, so sub-agent bookkeeping never touches the
12
13
  * CLI's on-disk `/resume` conversation store.
13
14
  */
14
- import { AgentManager, AgentRegistry, CompletionInbox, DefaultCapacityValidator, EXPLORE_AGENT_DESCRIPTION, EXPLORE_AGENT_ID, EXPLORE_AGENT_PROMPT, InMemorySessionStore, InMemoryTopicStore, LocalTaskScheduler, ReactiveAgent, RunCancelled, SessionSummaryMaterializer, TopicArchivedError, TopicManager, WorkspaceBackendRegistry, asTaskId, defineTool, filterReadOnlyTools, filterToolsNamed, generateSummaryId, isTerminalAgentTaskState, mcpJsonSchemaToZod, openTokenBudget, requireOpenProject, } from '@namzu/sdk';
15
+ import { AgentManager, AgentRegistry, CompletionInbox, DefaultCapacityValidator, EXPLORE_AGENT_DESCRIPTION, EXPLORE_AGENT_ID, EXPLORE_AGENT_PROMPT, InMemorySessionStore, InMemoryTopicStore, LocalTaskScheduler, ReactiveAgent, RunCancelled, SessionSummaryMaterializer, TopicArchivedError, TopicManager, WorkspaceBackendRegistry, asRunId, asTaskId, defineTool, filterReadOnlyTools, filterToolsNamed, generateSummaryId, isTerminalAgentTaskState, mcpJsonSchemaToZod, openTokenBudget, requireOpenProject, } from '@namzu/sdk';
15
16
  import { NAMZU_WORKING_DOCTRINE } from '../../context/doctrine.js';
16
17
  import { MAX_AGENT_ACTIVITY_LABEL_CODE_UNITS, MAX_AGENT_PHASE_ORDER, SubagentActivityMonitor, } from './activity.js';
17
18
  import { CLI_INTERACTIVE_RUN_TIMEOUT_MS } from './policy.js';
@@ -59,21 +60,32 @@ class ParentTaskScheduler extends LocalTaskScheduler {
59
60
  }
60
61
  async createTask(options) {
61
62
  await this.validateParent();
62
- return super.createTask(options);
63
+ return super.createTask({
64
+ ...options,
65
+ beforeStart: async () => {
66
+ await options.beforeStart?.();
67
+ await this.validateParent();
68
+ },
69
+ });
63
70
  }
64
71
  owns(taskId) {
65
72
  return super.listTasks().some((task) => task.taskId === taskId);
66
73
  }
67
74
  getTask(taskId) {
68
- return this.owns(taskId) ? super.getTask(taskId) : undefined;
75
+ // The parent ledger retains terminal results after the manager evicts
76
+ // its live record. Lookup and waiting must read the same owned history.
77
+ return super.listTasks().find((task) => task.taskId === taskId);
69
78
  }
70
79
  cancelTask(taskId, cause) {
71
80
  if (this.owns(taskId))
72
81
  super.cancelTask(taskId, cause);
73
82
  }
74
83
  async waitForTask(taskId) {
75
- if (!this.owns(taskId))
84
+ const task = this.getTask(taskId);
85
+ if (!task)
76
86
  throw new Error(`Task ${taskId} does not belong to this parent run`);
87
+ if (isTerminalAgentTaskState(task.state))
88
+ return task;
77
89
  return super.waitForTask(taskId);
78
90
  }
79
91
  async continueTask(taskId, message) {
@@ -138,7 +150,7 @@ export async function createSubagentRuntime(opts) {
138
150
  currentActor: parentActor,
139
151
  }, tenantId);
140
152
  await store.updateSession({ ...session, status: 'active' }, tenantId);
141
- const manager = new AgentManager(registry, { childTimeoutMs: CLI_INTERACTIVE_RUN_TIMEOUT_MS }, {
153
+ const manager = new AgentManager(registry, { childTimeoutMs: CLI_INTERACTIVE_RUN_TIMEOUT_MS, capacityBehavior: 'queue' }, {
142
154
  sessionStore: store,
143
155
  summaryMaterializer: new SessionSummaryMaterializer({
144
156
  store,
@@ -308,14 +320,14 @@ export async function createSubagentRuntime(opts) {
308
320
  const agentTool = defineTool({
309
321
  name: 'Agent',
310
322
  description: [
311
- 'Delegate a self-contained task to a sub-agent and wait for its result. If the operator sends a message while you wait, this call returns the running task ID so you can respond; the child keeps working and its result arrives later as a task notification.',
323
+ 'Delegate a self-contained task to a sub-agent. Set run_in_background: true to receive its task ID immediately and continue independent work; completion arrives as a task notification. Otherwise wait for its result. Operator input can also release a blocking wait while the child keeps working. Use send_message to correct a running task, and wait_for_task to retrieve its result; never launch duplicate work.',
312
324
  'Pick `subagent_type: "explore"` for anything that only needs to look — where is X defined, which files reference Y, how does Z work — it has reading and searching tools only and never asks for permission.',
313
325
  'Use the default "general-purpose" when the task must change files or run commands.',
314
326
  'Define a specialist inline with `role` — a system prompt describing who the sub-agent is and how to behave (e.g.',
315
327
  '"You are a security auditor; flag vulnerabilities and rate severity"); with `subagent_type: "explore"` the role keeps the read-only roster.',
316
328
  'Omit `role` for the plain sub-agent.',
317
329
  'The sub-agent runs in its own context with its own tools and cannot see this conversation — put everything it needs in `prompt`.',
318
- 'Call this multiple times in one response to run specialists in parallel.',
330
+ "Call this multiple times in one response to run specialists in parallel. Tasks beyond the project's live-agent capacity wait in a queue and start as slots become available. Queued tasks have not started execution; do not relaunch them.",
319
331
  'When coordinating several specialists, give them the same `workflow` label and an explicit `phase` plus `phase_order` so the operator can follow the work in the agent cockpit.',
320
332
  'These fields are display annotations only; they do not create dependencies, barriers, or serial execution.',
321
333
  fileAgentSummary.length > 0 ? `Project-defined types: ${fileAgentSummary}.` : '',
@@ -333,6 +345,10 @@ export async function createSubagentRuntime(opts) {
333
345
  type: 'string',
334
346
  description: 'Self-contained task with all the context the sub-agent needs.',
335
347
  },
348
+ run_in_background: {
349
+ type: 'boolean',
350
+ description: 'Return after launch so the parent can continue independent work. Defaults to false.',
351
+ },
336
352
  subagent_type: {
337
353
  type: 'string',
338
354
  enum: agentTypeIds,
@@ -370,7 +386,7 @@ export async function createSubagentRuntime(opts) {
370
386
  concurrencySafe: true,
371
387
  timeoutMs: CLI_INTERACTIVE_RUN_TIMEOUT_MS,
372
388
  async execute(input, context) {
373
- const { description, prompt, subagent_type, role, workflow, phase, phase_order } = input;
389
+ const { description, prompt, subagent_type, role, workflow, phase, phase_order, run_in_background, } = input;
374
390
  const explore = subagent_type === EXPLORE_SUBAGENT;
375
391
  const fileAgent = subagent_type !== undefined ? fileAgents.get(subagent_type) : undefined;
376
392
  let agentId = fileAgent?.name ?? (explore ? EXPLORE_SUBAGENT : GENERAL_PURPOSE_SUBAGENT);
@@ -422,6 +438,7 @@ export async function createSubagentRuntime(opts) {
422
438
  gateway: await gatewayForRun(context.runId),
423
439
  signal: context.abortSignal,
424
440
  waitForInbound: opts.resolveWaitForInbound?.(context.runId),
441
+ background: run_in_background === true,
425
442
  completionInbox,
426
443
  onCreated: () => {
427
444
  taskOwnsCleanup = true;
@@ -444,13 +461,14 @@ export async function createSubagentRuntime(opts) {
444
461
  },
445
462
  });
446
463
  if (outcome.kind === 'yielded') {
464
+ const progress = outcome.handle.state === 'pending' ? 'queued for an available slot' : 'still running';
447
465
  return {
448
466
  success: true,
449
- output: `Sub-agent ${agentId} is still running as task ${outcome.handle.taskId}; it has not completed. Waiting was released because the operator sent a message. Respond to that message while this task continues. Its actual result will arrive as a task notification; do not launch the same work again.`,
467
+ output: `Sub-agent ${agentId} is ${progress} as task ${outcome.handle.taskId}; it has not completed. ${run_in_background ? 'Continue independent work while this task runs in the background.' : 'Waiting was released because the operator sent a message. Respond to that message.'} Its actual result will arrive as a task notification; do not launch the same work again.`,
450
468
  data: {
451
469
  task_id: outcome.handle.taskId,
452
470
  state: outcome.handle.state,
453
- wait_released: 'operator_input',
471
+ wait_released: run_in_background ? 'background' : 'operator_input',
454
472
  },
455
473
  };
456
474
  }
@@ -476,7 +494,7 @@ export async function createSubagentRuntime(opts) {
476
494
  properties: {
477
495
  task_id: {
478
496
  type: 'string',
479
- description: 'The task ID returned by Agent or a task notification.',
497
+ description: 'The task_id from the Agent launch receipt or task notification metadata.',
480
498
  },
481
499
  },
482
500
  required: ['task_id'],
@@ -520,13 +538,65 @@ export async function createSubagentRuntime(opts) {
520
538
  });
521
539
  if (outcome.kind === 'completed')
522
540
  return completedAgentResult(outcome.handle);
541
+ const progress = outcome.handle.state === 'pending' ? 'queued for an available slot' : 'still running';
523
542
  return {
524
543
  success: true,
525
- output: `Task ${taskId} is still running; it has not completed. Waiting was released for an operator message. Its result will arrive as a task notification.`,
544
+ output: `Task ${taskId} is ${progress}; it has not completed. Waiting was released for an operator message. Its result will arrive as a task notification.`,
526
545
  data: { task_id: taskId, state: outcome.handle.state, wait_released: 'operator_input' },
527
546
  };
528
547
  },
529
548
  });
549
+ const sendMessageTool = defineTool({
550
+ name: 'send_message',
551
+ description: 'Queue a correction or additional context for a running or queued sub-agent task owned by this run. The child receives it at its next request boundary; acceptance is not delivery. This does not start new work or restart finished tasks.',
552
+ inputSchema: mcpJsonSchemaToZod({
553
+ type: 'object',
554
+ properties: {
555
+ task_id: { type: 'string', description: 'Task UUID returned by Agent.' },
556
+ message: {
557
+ type: 'string',
558
+ minLength: 1,
559
+ maxLength: 16000,
560
+ description: 'Correction or additional context for this task.',
561
+ },
562
+ },
563
+ required: ['task_id', 'message'],
564
+ additionalProperties: false,
565
+ }),
566
+ category: 'custom',
567
+ permissions: [],
568
+ readOnly: false,
569
+ destructive: false,
570
+ concurrencySafe: false,
571
+ async execute(input, context) {
572
+ context.abortSignal.throwIfAborted();
573
+ const { task_id, message } = input;
574
+ if (!message.trim())
575
+ return { success: false, output: '', error: 'Message must not be blank.' };
576
+ const taskId = asTaskId(task_id);
577
+ const gateway = await gatewayForRun(context.runId);
578
+ const task = gateway.getTask(taskId);
579
+ if (!task)
580
+ return {
581
+ success: false,
582
+ output: '',
583
+ error: `Task ${taskId} does not belong to this parent run.`,
584
+ };
585
+ if (isTerminalAgentTaskState(task.state))
586
+ return {
587
+ success: false,
588
+ output: '',
589
+ error: 'This task has finished; send_message cannot restart it.',
590
+ };
591
+ context.abortSignal.throwIfAborted();
592
+ await gateway.continueTask(taskId, message);
593
+ return {
594
+ success: true,
595
+ output: `Message queued for task ${taskId}; it will be available at the child's next request boundary.`,
596
+ data: { task_id: taskId, status: 'queued' },
597
+ };
598
+ },
599
+ });
530
600
  let closePromise;
531
601
  const close = () => {
532
602
  if (closePromise)
@@ -541,6 +611,7 @@ export async function createSubagentRuntime(opts) {
541
611
  releaseRun,
542
612
  agentTool,
543
613
  waitForTaskTool,
614
+ sendMessageTool,
544
615
  allowedAgentIds: agentTypeIds,
545
616
  activity,
546
617
  close,
@@ -598,6 +669,13 @@ async function runBlockingAgentTask(input) {
598
669
  input.onFinished();
599
670
  throw error;
600
671
  });
672
+ if (input.background && !isTerminalAgentTaskState(handle.state)) {
673
+ // The observer retains activity/definition cleanup after this invocation
674
+ // returns. Parent release still owns cancellation and the tree budget.
675
+ completion.catch(() => { });
676
+ input.completionInbox.expect(handle.taskId);
677
+ return { kind: 'yielded', handle };
678
+ }
601
679
  const inbound = input
602
680
  .waitForInbound?.(wakeController.signal)
603
681
  .then(() => ({ kind: 'inbound' }));
@@ -610,7 +688,7 @@ async function runBlockingAgentTask(input) {
610
688
  // Only the wait has ended. Parent runtime ownership, token reservations and
611
689
  // the completion observer all outlive this tool invocation's local signal.
612
690
  input.completionInbox.expect(handle.taskId);
613
- return { kind: 'yielded', handle };
691
+ return { kind: 'yielded', handle: current ?? handle };
614
692
  }
615
693
  catch (error) {
616
694
  if (handle)
@@ -645,7 +723,11 @@ function completedAgentResult(completed) {
645
723
  const stopNote = run?.stopReason && run.stopReason !== 'end_turn'
646
724
  ? `Sub-agent run ended with stop reason "${run.stopReason}". Output may be partial; this does not establish task completion.\n\n`
647
725
  : '';
648
- const output = stopNote + (resultText || '(sub-agent returned no text)');
726
+ // ToolResult.data is host metadata, not necessarily model-visible content.
727
+ // Keep the handle and terminal status separate from arbitrary child output
728
+ // (which may itself contain UUIDs or text such as "Task 1").
729
+ const status = succeeded ? 'completed' : (run?.status ?? completed.state);
730
+ const output = `task_id: ${completed.taskId}\nstatus: ${status}\n\nAgent result:\n${stopNote}${resultText || '(sub-agent returned no text)'}`;
649
731
  return {
650
732
  success: succeeded,
651
733
  output,
@@ -702,12 +784,18 @@ model = opts.model) {
702
784
  // since the parent started, and a sub-agent asserting the stale answer
703
785
  // is worse than one that was never told.
704
786
  const environment = opts.readEnvironment ? await opts.readEnvironment() : null;
787
+ // AgentManager supplies the actual parent run before it stamps the child's
788
+ // own Session ID. All delegated work shares that invoking conversation's
789
+ // upstream billing session, even after the TUI moves to another one.
790
+ const parent = options.parentRunId
791
+ ? await opts.resolveParent(asRunId(options.parentRunId))
792
+ : undefined;
705
793
  return {
706
794
  model: options.model ?? model,
707
795
  tokenBudget: options.tokenBudget ?? 200_000,
708
796
  timeoutMs: options.timeoutMs ?? CLI_INTERACTIVE_RUN_TIMEOUT_MS,
709
797
  maxIterations: 40,
710
- provider: opts.buildProvider(),
798
+ provider: opts.buildProvider(parent?.sessionId),
711
799
  tools: tools(),
712
800
  systemPrompt: environment ? `${base}\n\n${environment}` : base,
713
801
  ...(opts.projectInstructionContext
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/integrations/subagents/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/integrations/subagents/runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /** Maximum bytes accepted from one curated file, before decoding or prompt clipping. */
2
+ export declare const MEMORY_FILE_MAX_BYTES: number;
3
+ export interface MemoryLocation {
4
+ readonly path: string;
5
+ readonly root: string;
6
+ }
7
+ /** Resolve every existing segment before following the next, including symlink ancestors. */
8
+ export declare function resolveMemoryPath(location: MemoryLocation, createParents?: boolean): string | null;
9
+ export declare function readMemoryFile(location: MemoryLocation): string | null;
10
+ /** Validate existing text before any append, refusing invalid files without replacing them. */
11
+ export declare function appendMemoryFile(location: MemoryLocation, text: string): string;
12
+ //# sourceMappingURL=io.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"io.d.ts","sourceRoot":"","sources":["../../src/memory/io.ts"],"names":[],"mappings":"AAaA,wFAAwF;AACxF,eAAO,MAAM,qBAAqB,QAAc,CAAA;AAEhD,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACrB;AAWD,6FAA6F;AAC7F,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,cAAc,EAAE,aAAa,UAAQ,GAAG,MAAM,GAAG,IAAI,CAoDhG;AAkED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,CAQtE;AAED,+FAA+F;AAC/F,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAsB/E"}
@@ -0,0 +1,177 @@
1
+ import { constants, closeSync, fstatSync, lstatSync, mkdirSync, openSync, readSync, realpathSync, writeSync, } from 'node:fs';
2
+ import { isAbsolute, join, relative, resolve, sep } from 'node:path';
3
+ /** Maximum bytes accepted from one curated file, before decoding or prompt clipping. */
4
+ export const MEMORY_FILE_MAX_BYTES = 1024 * 1024;
5
+ function missing(error) {
6
+ return error.code === 'ENOENT';
7
+ }
8
+ function within(path, root) {
9
+ const part = relative(root, path);
10
+ return !isAbsolute(part) && part !== '..' && !part.startsWith(`..${sep}`);
11
+ }
12
+ /** Resolve every existing segment before following the next, including symlink ancestors. */
13
+ export function resolveMemoryPath(location, createParents = false) {
14
+ const root = resolve(location.root);
15
+ const path = resolve(location.path);
16
+ if (!within(path, root))
17
+ throw new Error('Memory path is outside its allowed scope.');
18
+ let rootStat;
19
+ try {
20
+ rootStat = lstatSync(root);
21
+ }
22
+ catch (error) {
23
+ if (!missing(error))
24
+ throw error;
25
+ if (!createParents)
26
+ return null;
27
+ mkdirSync(root, { recursive: true, mode: 0o700 });
28
+ rootStat = lstatSync(root);
29
+ }
30
+ if (rootStat.isSymbolicLink())
31
+ throw new Error('Memory scope root is a symlink outside its allowed scope.');
32
+ if (!rootStat.isDirectory())
33
+ throw new Error('Memory scope root must be a directory.');
34
+ const canonicalRoot = realpathSync(root);
35
+ const parts = relative(root, path).split(sep);
36
+ let candidate = canonicalRoot;
37
+ for (let i = 0; i < parts.length; i += 1) {
38
+ const part = parts[i];
39
+ if (part === undefined)
40
+ throw new Error('Memory path has an invalid segment.');
41
+ candidate = join(candidate, part);
42
+ const leaf = i === parts.length - 1;
43
+ let stat;
44
+ try {
45
+ stat = lstatSync(candidate);
46
+ }
47
+ catch (error) {
48
+ if (!missing(error))
49
+ throw error;
50
+ if (!createParents)
51
+ return null;
52
+ if (leaf)
53
+ return candidate;
54
+ mkdirSync(candidate, { mode: 0o700 });
55
+ stat = lstatSync(candidate);
56
+ }
57
+ if (stat.isSymbolicLink()) {
58
+ try {
59
+ candidate = realpathSync(candidate);
60
+ }
61
+ catch (error) {
62
+ if (missing(error))
63
+ throw new Error('Memory path contains a broken symlink.');
64
+ throw error;
65
+ }
66
+ if (!within(candidate, canonicalRoot))
67
+ throw new Error('Memory path resolves outside its allowed scope.');
68
+ stat = lstatSync(candidate);
69
+ }
70
+ if (leaf ? !stat.isFile() : !stat.isDirectory()) {
71
+ throw new Error(leaf ? 'Memory must be a regular file.' : 'Memory path parent must be a directory.');
72
+ }
73
+ }
74
+ return candidate;
75
+ }
76
+ function readBounded(fd) {
77
+ const stat = fstatSync(fd);
78
+ if (!stat.isFile())
79
+ throw new Error('Memory must be a regular file.');
80
+ if (stat.size > MEMORY_FILE_MAX_BYTES)
81
+ throw new Error(`Memory exceeds the ${MEMORY_FILE_MAX_BYTES}-byte file limit.`);
82
+ const chunks = [];
83
+ let total = 0;
84
+ while (total <= MEMORY_FILE_MAX_BYTES) {
85
+ const chunk = Buffer.allocUnsafe(Math.min(64 * 1024, MEMORY_FILE_MAX_BYTES + 1 - total));
86
+ const count = readSync(fd, chunk, 0, chunk.length, total);
87
+ if (count === 0)
88
+ break;
89
+ total += count;
90
+ if (total > MEMORY_FILE_MAX_BYTES)
91
+ throw new Error(`Memory exceeds the ${MEMORY_FILE_MAX_BYTES}-byte file limit.`);
92
+ chunks.push(chunk.subarray(0, count));
93
+ }
94
+ let text;
95
+ try {
96
+ text = new TextDecoder('utf-8', { fatal: true }).decode(Buffer.concat(chunks, total));
97
+ }
98
+ catch {
99
+ throw new Error('Memory is not valid UTF-8 text.');
100
+ }
101
+ if (text.includes('\0'))
102
+ throw new Error('Memory contains NUL bytes; expected UTF-8 text.');
103
+ return text;
104
+ }
105
+ /** Open only the validated file; recheck path identity before reading or mutating it. */
106
+ function openMemory(location, append) {
107
+ const path = resolveMemoryPath(location, append);
108
+ if (path === null)
109
+ return null;
110
+ let existed = true;
111
+ let before;
112
+ try {
113
+ before = lstatSync(path);
114
+ }
115
+ catch (error) {
116
+ if (!append || !missing(error))
117
+ throw error;
118
+ existed = false;
119
+ }
120
+ const flags = (append ? constants.O_RDWR | constants.O_APPEND : constants.O_RDONLY) |
121
+ (constants.O_NOFOLLOW ?? 0) |
122
+ (constants.O_NONBLOCK ?? 0) |
123
+ (existed ? 0 : constants.O_CREAT | constants.O_EXCL);
124
+ const fd = openSync(path, flags, 0o600);
125
+ try {
126
+ const opened = fstatSync(fd);
127
+ const currentPath = resolveMemoryPath(location);
128
+ if (currentPath !== path ||
129
+ (before && (opened.dev !== before.dev || opened.ino !== before.ino))) {
130
+ throw new Error('Memory path changed while opening it; no content was read or appended.');
131
+ }
132
+ const current = lstatSync(path);
133
+ if (!opened.isFile() || current.dev !== opened.dev || current.ino !== opened.ino) {
134
+ throw new Error('Memory path changed or is not a regular file.');
135
+ }
136
+ return fd;
137
+ }
138
+ catch (error) {
139
+ closeSync(fd);
140
+ throw error;
141
+ }
142
+ }
143
+ export function readMemoryFile(location) {
144
+ const fd = openMemory(location, false);
145
+ if (fd === null)
146
+ return null;
147
+ try {
148
+ return readBounded(fd);
149
+ }
150
+ finally {
151
+ closeSync(fd);
152
+ }
153
+ }
154
+ /** Validate existing text before any append, refusing invalid files without replacing them. */
155
+ export function appendMemoryFile(location, text) {
156
+ if (Buffer.byteLength(text, 'utf8') > MEMORY_FILE_MAX_BYTES) {
157
+ throw new Error(`Appending would exceed the ${MEMORY_FILE_MAX_BYTES}-byte memory file limit; curate the file first.`);
158
+ }
159
+ const fd = openMemory(location, true);
160
+ if (fd === null)
161
+ throw new Error('Could not open memory for append.');
162
+ try {
163
+ const existing = readBounded(fd);
164
+ const bytes = Buffer.from(text, 'utf8');
165
+ if (fstatSync(fd).size + bytes.length > MEMORY_FILE_MAX_BYTES) {
166
+ throw new Error(`Appending would exceed the ${MEMORY_FILE_MAX_BYTES}-byte memory file limit; curate the file first.`);
167
+ }
168
+ let written = 0;
169
+ while (written < bytes.length)
170
+ written += writeSync(fd, bytes, written, bytes.length - written);
171
+ return `${existing}${text}`;
172
+ }
173
+ finally {
174
+ closeSync(fd);
175
+ }
176
+ }
177
+ //# sourceMappingURL=io.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"io.js","sourceRoot":"","sources":["../../src/memory/io.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type MemoryContent } from './store.js';
1
+ import { type AppendMemoryResult, type MemoryContent } from './store.js';
2
2
  export declare const MEMORY_PREVIEW_MAX_CHARS = 2000;
3
3
  export declare const MEMORY_PREVIEW_MAX_LINES = 20;
4
4
  /** Human-facing memory inspection; model prompt instructions belong in composeMemoryPrompt. */
@@ -6,4 +6,7 @@ export declare function renderMemoryReport(content: MemoryContent, options: {
6
6
  readonly cwd: string;
7
7
  readonly home?: string;
8
8
  }): string;
9
+ /** Operator notices for refused files; these are not model prompt instructions. */
10
+ export declare function formatMemoryDiagnostics(content: MemoryContent): readonly string[];
11
+ export declare function renderMemorySaveResult(result: AppendMemoryResult, text: string): string;
9
12
  //# sourceMappingURL=presentation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"presentation.d.ts","sourceRoot":"","sources":["../../src/memory/presentation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAuD,MAAM,YAAY,CAAA;AAEpG,eAAO,MAAM,wBAAwB,OAAQ,CAAA;AAC7C,eAAO,MAAM,wBAAwB,KAAK,CAAA;AAkB1C,+FAA+F;AAC/F,wBAAgB,kBAAkB,CACjC,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACvD,MAAM,CAWR"}
1
+ {"version":3,"file":"presentation.d.ts","sourceRoot":"","sources":["../../src/memory/presentation.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,kBAAkB,EAEvB,KAAK,aAAa,EAIlB,MAAM,YAAY,CAAA;AAEnB,eAAO,MAAM,wBAAwB,OAAQ,CAAA;AAC7C,eAAO,MAAM,wBAAwB,KAAK,CAAA;AAkB1C,+FAA+F;AAC/F,wBAAgB,kBAAkB,CACjC,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACvD,MAAM,CAYR;AAED,mFAAmF;AACnF,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,MAAM,EAAE,CAIjF;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAMvF"}