@namzu/cli 14.2.1 → 15.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 (164) hide show
  1. package/README.md +123 -11
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +33 -27
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/acp.js +1 -1
  6. package/dist/commands/acp.js.map +1 -1
  7. package/dist/commands/doctor.d.ts.map +1 -1
  8. package/dist/commands/doctor.js +2 -0
  9. package/dist/commands/doctor.js.map +1 -1
  10. package/dist/commands/login.d.ts +2 -0
  11. package/dist/commands/login.d.ts.map +1 -1
  12. package/dist/commands/login.js +45 -7
  13. package/dist/commands/login.js.map +1 -1
  14. package/dist/commands/prior-messages.d.ts.map +1 -1
  15. package/dist/commands/prior-messages.js +13 -4
  16. package/dist/commands/prior-messages.js.map +1 -1
  17. package/dist/commands/run.d.ts.map +1 -1
  18. package/dist/commands/run.js +22 -9
  19. package/dist/commands/run.js.map +1 -1
  20. package/dist/commands/{stubs.d.ts → serve.d.ts} +1 -10
  21. package/dist/commands/serve.d.ts.map +1 -0
  22. package/dist/commands/{stubs.js → serve.js} +1 -24
  23. package/dist/commands/serve.js.map +1 -0
  24. package/dist/commands/skills.d.ts +19 -0
  25. package/dist/commands/skills.d.ts.map +1 -0
  26. package/dist/commands/skills.js +107 -0
  27. package/dist/commands/skills.js.map +1 -0
  28. package/dist/commands/upgrade.d.ts +25 -0
  29. package/dist/commands/upgrade.d.ts.map +1 -0
  30. package/dist/commands/upgrade.js +182 -0
  31. package/dist/commands/upgrade.js.map +1 -0
  32. package/dist/context/runtime-message.d.ts +4 -0
  33. package/dist/context/runtime-message.d.ts.map +1 -0
  34. package/dist/context/runtime-message.js +20 -0
  35. package/dist/context/runtime-message.js.map +1 -0
  36. package/dist/integrations/mcp/servers.d.ts +7 -0
  37. package/dist/integrations/mcp/servers.d.ts.map +1 -1
  38. package/dist/integrations/mcp/servers.js +33 -8
  39. package/dist/integrations/mcp/servers.js.map +1 -1
  40. package/dist/integrations/sessions/store.d.ts +8 -0
  41. package/dist/integrations/sessions/store.d.ts.map +1 -1
  42. package/dist/integrations/sessions/store.js +15 -0
  43. package/dist/integrations/sessions/store.js.map +1 -1
  44. package/dist/integrations/sessions/transcript-export.d.ts.map +1 -1
  45. package/dist/integrations/sessions/transcript-export.js +10 -1
  46. package/dist/integrations/sessions/transcript-export.js.map +1 -1
  47. package/dist/integrations/sessions/turn-evidence.d.ts.map +1 -1
  48. package/dist/integrations/sessions/turn-evidence.js +9 -1
  49. package/dist/integrations/sessions/turn-evidence.js.map +1 -1
  50. package/dist/integrations/subagents/runtime.d.ts +2 -0
  51. package/dist/integrations/subagents/runtime.d.ts.map +1 -1
  52. package/dist/integrations/subagents/runtime.js +86 -13
  53. package/dist/integrations/subagents/runtime.js.map +1 -1
  54. package/dist/integrations/updates.d.ts +7 -1
  55. package/dist/integrations/updates.d.ts.map +1 -1
  56. package/dist/integrations/updates.js +86 -23
  57. package/dist/integrations/updates.js.map +1 -1
  58. package/dist/tui/App.d.ts +12 -1
  59. package/dist/tui/App.d.ts.map +1 -1
  60. package/dist/tui/App.js +1211 -208
  61. package/dist/tui/App.js.map +1 -1
  62. package/dist/tui/ChoicePicker.d.ts +2 -1
  63. package/dist/tui/ChoicePicker.d.ts.map +1 -1
  64. package/dist/tui/ChoicePicker.js +10 -6
  65. package/dist/tui/ChoicePicker.js.map +1 -1
  66. package/dist/tui/Composer.d.ts +33 -6
  67. package/dist/tui/Composer.d.ts.map +1 -1
  68. package/dist/tui/Composer.js +569 -48
  69. package/dist/tui/Composer.js.map +1 -1
  70. package/dist/tui/CopyPicker.d.ts.map +1 -1
  71. package/dist/tui/CopyPicker.js +3 -4
  72. package/dist/tui/CopyPicker.js.map +1 -1
  73. package/dist/tui/EditPromptPicker.d.ts.map +1 -1
  74. package/dist/tui/EditPromptPicker.js +3 -4
  75. package/dist/tui/EditPromptPicker.js.map +1 -1
  76. package/dist/tui/LiveActivity.d.ts +3 -0
  77. package/dist/tui/LiveActivity.d.ts.map +1 -1
  78. package/dist/tui/LiveActivity.js +4 -1
  79. package/dist/tui/LiveActivity.js.map +1 -1
  80. package/dist/tui/Markdown.d.ts +3 -1
  81. package/dist/tui/Markdown.d.ts.map +1 -1
  82. package/dist/tui/Markdown.js +11 -9
  83. package/dist/tui/Markdown.js.map +1 -1
  84. package/dist/tui/PermissionOverlay.d.ts +11 -6
  85. package/dist/tui/PermissionOverlay.d.ts.map +1 -1
  86. package/dist/tui/PermissionOverlay.js +13 -20
  87. package/dist/tui/PermissionOverlay.js.map +1 -1
  88. package/dist/tui/Picker.d.ts.map +1 -1
  89. package/dist/tui/Picker.js +87 -20
  90. package/dist/tui/Picker.js.map +1 -1
  91. package/dist/tui/ResumePicker.d.ts.map +1 -1
  92. package/dist/tui/ResumePicker.js +6 -1
  93. package/dist/tui/ResumePicker.js.map +1 -1
  94. package/dist/tui/TextPrompt.d.ts +21 -0
  95. package/dist/tui/TextPrompt.d.ts.map +1 -0
  96. package/dist/tui/TextPrompt.js +139 -0
  97. package/dist/tui/TextPrompt.js.map +1 -0
  98. package/dist/tui/Transcript.d.ts +3 -1
  99. package/dist/tui/Transcript.d.ts.map +1 -1
  100. package/dist/tui/Transcript.js +4 -4
  101. package/dist/tui/Transcript.js.map +1 -1
  102. package/dist/tui/agent.d.ts +39 -20
  103. package/dist/tui/agent.d.ts.map +1 -1
  104. package/dist/tui/agent.js +115 -74
  105. package/dist/tui/agent.js.map +1 -1
  106. package/dist/tui/exit-summary.d.ts +6 -0
  107. package/dist/tui/exit-summary.d.ts.map +1 -0
  108. package/dist/tui/exit-summary.js +9 -0
  109. package/dist/tui/exit-summary.js.map +1 -0
  110. package/dist/tui/external-editor.d.ts +25 -0
  111. package/dist/tui/external-editor.d.ts.map +1 -0
  112. package/dist/tui/external-editor.js +169 -0
  113. package/dist/tui/external-editor.js.map +1 -0
  114. package/dist/tui/index.d.ts.map +1 -1
  115. package/dist/tui/index.js +19 -6
  116. package/dist/tui/index.js.map +1 -1
  117. package/dist/tui/log-pane.d.ts +13 -8
  118. package/dist/tui/log-pane.d.ts.map +1 -1
  119. package/dist/tui/log-pane.js +23 -29
  120. package/dist/tui/log-pane.js.map +1 -1
  121. package/dist/tui/login-prompt.d.ts +2 -0
  122. package/dist/tui/login-prompt.d.ts.map +1 -1
  123. package/dist/tui/login-prompt.js +8 -1
  124. package/dist/tui/login-prompt.js.map +1 -1
  125. package/dist/tui/mentions.d.ts +19 -0
  126. package/dist/tui/mentions.d.ts.map +1 -1
  127. package/dist/tui/mentions.js +96 -5
  128. package/dist/tui/mentions.js.map +1 -1
  129. package/dist/tui/open-browser.d.ts.map +1 -1
  130. package/dist/tui/open-browser.js +27 -9
  131. package/dist/tui/open-browser.js.map +1 -1
  132. package/dist/tui/permission-review.d.ts +59 -0
  133. package/dist/tui/permission-review.d.ts.map +1 -0
  134. package/dist/tui/permission-review.js +219 -0
  135. package/dist/tui/permission-review.js.map +1 -0
  136. package/dist/tui/selection-window.d.ts +18 -0
  137. package/dist/tui/selection-window.d.ts.map +1 -0
  138. package/dist/tui/selection-window.js +37 -0
  139. package/dist/tui/selection-window.js.map +1 -0
  140. package/dist/tui/slashCommands.d.ts +48 -8
  141. package/dist/tui/slashCommands.d.ts.map +1 -1
  142. package/dist/tui/slashCommands.js +129 -47
  143. package/dist/tui/slashCommands.js.map +1 -1
  144. package/dist/tui/terminal-hyperlinks.d.ts +20 -0
  145. package/dist/tui/terminal-hyperlinks.d.ts.map +1 -0
  146. package/dist/tui/terminal-hyperlinks.js +70 -0
  147. package/dist/tui/terminal-hyperlinks.js.map +1 -0
  148. package/dist/tui/types.d.ts +2 -0
  149. package/dist/tui/types.d.ts.map +1 -1
  150. package/dist/tui/use-selection-index.d.ts +8 -0
  151. package/dist/tui/use-selection-index.d.ts.map +1 -0
  152. package/dist/tui/use-selection-index.js +13 -0
  153. package/dist/tui/use-selection-index.js.map +1 -0
  154. package/dist/tui/workspace-review.d.ts +15 -0
  155. package/dist/tui/workspace-review.d.ts.map +1 -0
  156. package/dist/tui/workspace-review.js +67 -0
  157. package/dist/tui/workspace-review.js.map +1 -0
  158. package/dist/version.d.ts +10 -0
  159. package/dist/version.d.ts.map +1 -0
  160. package/dist/version.js +23 -0
  161. package/dist/version.js.map +1 -0
  162. package/package.json +7 -6
  163. package/dist/commands/stubs.d.ts.map +0 -1
  164. package/dist/commands/stubs.js.map +0 -1
@@ -13,7 +13,7 @@ import { terminalDisplayText } from './terminal-display.js';
13
13
  import { theme } from './theme.js';
14
14
  const COLLAPSE_LINES = 6;
15
15
  const SPINNER_FRAMES = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
16
- export function Transcript({ messages, pending, state, settled, resetKey, raw = false, header, }) {
16
+ export function Transcript({ messages, pending, state, settled, resetKey, raw = false, hyperlinks = false, header, }) {
17
17
  const spinner = useSpinner(state !== 'idle');
18
18
  const inScrollback = Math.min(Math.max(settled, 0), messages.length);
19
19
  // The banner is row 0 so it prints to the very top of scrollback; messages
@@ -36,7 +36,7 @@ export function Transcript({ messages, pending, state, settled, resetKey, raw =
36
36
  // are unchanged objects between ticks, so the memo holds; the row that just
37
37
  // changed is the only one that renders.
38
38
  const live = messages.slice(inScrollback);
39
- return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Static, { items: rows, children: (row) => row.kind === 'header' ? (_jsx(Box, { children: header }, "header")) : raw ? (_jsx(RawMessageRow, { message: row.message, prev: row.prev }, row.message.id)) : (_jsx(MessageRow, { message: row.message, prev: row.prev, spinner: "" }, row.message.id)) }, resetKey), live.map((message, i) => raw ? (_jsx(RawMessageRow, { message: message, prev: messages[inScrollback + i - 1] }, message.id)) : (_jsx(LiveRow, { message: message, prev: messages[inScrollback + i - 1], spinner: "" }, message.id))), pending && raw ? (_jsx(RawMessageRow, { message: pending, prev: messages[messages.length - 1] })) : pending ? (_jsx(MessageRow, { message: pending, prev: messages[messages.length - 1], spinner: spinner })) : null, messages.length === 0 && !pending ? (_jsx(Box, { paddingY: 1, children: _jsxs(Text, { color: theme.text.muted, children: ["Type a message to begin \u00B7 ", _jsx(Text, { color: theme.text.secondary, children: "/help" }), " for commands"] }) })) : null] }));
39
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Static, { items: rows, children: (row) => row.kind === 'header' ? (_jsx(Box, { children: header }, "header")) : raw ? (_jsx(RawMessageRow, { message: row.message, prev: row.prev }, row.message.id)) : (_jsx(MessageRow, { message: row.message, prev: row.prev, spinner: "", hyperlinks: hyperlinks }, row.message.id)) }, resetKey), live.map((message, i) => raw ? (_jsx(RawMessageRow, { message: message, prev: messages[inScrollback + i - 1] }, message.id)) : (_jsx(LiveRow, { message: message, prev: messages[inScrollback + i - 1], spinner: "", hyperlinks: hyperlinks }, message.id))), pending && raw ? (_jsx(RawMessageRow, { message: pending, prev: messages[messages.length - 1] })) : pending ? (_jsx(MessageRow, { message: pending, prev: messages[messages.length - 1], spinner: spinner, hyperlinks: hyperlinks })) : null, messages.length === 0 && !pending ? (_jsx(Box, { paddingY: 1, children: _jsxs(Text, { color: theme.text.muted, children: ["Type a message to begin \u00B7 ", _jsx(Text, { color: theme.text.secondary, children: "/help" }), " for commands"] }) })) : null] }));
40
40
  }
41
41
  /**
42
42
  * A row in the live window.
@@ -76,7 +76,7 @@ function RawMessageRow({ message, prev, }) {
76
76
  ].join('\n');
77
77
  return (_jsx(Box, { flexDirection: "column", marginTop: prev ? 1 : 0, children: _jsx(Text, { wrap: "wrap", children: text }) }));
78
78
  }
79
- function MessageRow({ message, prev, spinner, }) {
79
+ function MessageRow({ message, prev, spinner, hyperlinks, }) {
80
80
  // Assistant content is projected inside <Markdown>, its actual renderer.
81
81
  // The other roles flow straight into Ink here and need the projection now.
82
82
  const content = message.role === 'assistant' ? message.content : terminalDisplayText(message.content);
@@ -87,7 +87,7 @@ function MessageRow({ message, prev, spinner, }) {
87
87
  // which hug the `⏺` tool call above them, so a result reads as
88
88
  // belonging to the call that produced it rather than as free-standing.
89
89
  const gap = !prev || message.glyph === '⎿' ? 0 : 1;
90
- return (_jsxs(Box, { flexDirection: "column", marginTop: gap, children: [_jsxs(Box, { flexDirection: "row", children: [_jsx(Box, { width: 2, flexShrink: 0, children: _jsx(Text, { color: glyphColor, bold: true, children: glyph }) }), _jsx(Box, { flexGrow: 1, children: message.role === 'assistant' && content.length > 0 ? (_jsx(Markdown, { text: message.content, color: contentColorForRole(message.role) })) : (_jsxs(Text, { color: contentColorForRole(message.role), wrap: "wrap", children: [content, message.meta ? (_jsxs(Text, { color: theme.text.muted, children: [" \u00B7 ", terminalDisplayText(message.meta)] })) : null, message.pending && content.length === 0 ? (_jsx(Text, { color: theme.text.muted, children: "\u2026" })) : null] })) })] }), message.detail && message.detail.length > 0 ? (_jsx(DetailBlock, { lines: message.detail, expanded: message.detailExpanded === true, detailRef: message.detailRef })) : null] }));
90
+ return (_jsxs(Box, { flexDirection: "column", marginTop: gap, children: [_jsxs(Box, { flexDirection: "row", children: [_jsx(Box, { width: 2, flexShrink: 0, children: _jsx(Text, { color: glyphColor, bold: true, children: glyph }) }), _jsx(Box, { flexGrow: 1, children: message.role === 'assistant' && content.length > 0 ? (_jsx(Markdown, { text: message.content, color: contentColorForRole(message.role), hyperlinks: hyperlinks })) : (_jsxs(Text, { color: contentColorForRole(message.role), wrap: "wrap", children: [content, message.meta ? (_jsxs(Text, { color: theme.text.muted, children: [" \u00B7 ", terminalDisplayText(message.meta)] })) : null, message.pending && content.length === 0 ? (_jsx(Text, { color: theme.text.muted, children: "\u2026" })) : null] })) })] }), message.detail && message.detail.length > 0 ? (_jsx(DetailBlock, { lines: message.detail, expanded: message.detailExpanded === true, detailRef: message.detailRef })) : null] }));
91
91
  }
92
92
  /**
93
93
  * Collapsible tool diff / output, aligned under the content gutter.
@@ -1 +1 @@
1
- {"version":3,"file":"Transcript.js","sourceRoot":"","sources":["../../src/tui/Transcript.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Transcript.js","sourceRoot":"","sources":["../../src/tui/Transcript.tsx"],"names":[],"mappings":"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"}
@@ -49,6 +49,13 @@ export type AgentEvent = {
49
49
  readonly summary: string;
50
50
  /** Diff / content preview shown (collapsible) under the call. */
51
51
  readonly detail?: readonly string[];
52
+ } | {
53
+ readonly kind: 'tool-progress';
54
+ readonly toolUseId: string;
55
+ readonly toolName: string;
56
+ /** Bounded latest-state text from the executing tool. */
57
+ readonly message: string;
58
+ readonly fraction?: number;
52
59
  } | {
53
60
  readonly kind: 'tool-end';
54
61
  readonly toolUseId: string;
@@ -162,10 +169,9 @@ export type AgentEvent = {
162
169
  export interface PermissionToolCall {
163
170
  readonly id: string;
164
171
  readonly name: string;
165
- readonly summary: string;
172
+ /** Exact detached input the kernel prepared and the approval covers. */
173
+ readonly input: unknown;
166
174
  readonly isDestructive: boolean;
167
- /** Optional multi-line preview (e.g. content to write, edit diff). */
168
- readonly preview?: readonly string[];
169
175
  }
170
176
  export interface PermissionRequest {
171
177
  readonly toolCalls: readonly PermissionToolCall[];
@@ -181,6 +187,14 @@ export type PermissionDecision = {
181
187
  export type PermissionFn = (req: PermissionRequest) => Promise<PermissionDecision>;
182
188
  export interface SendOptions {
183
189
  readonly signal?: AbortSignal;
190
+ /**
191
+ * Live user messages accepted while this turn is running.
192
+ *
193
+ * The SDK drains this callback only at provider-valid iteration boundaries;
194
+ * keeping it as a callback rather than an eager array preserves ownership of
195
+ * input that has not crossed that boundary yet.
196
+ */
197
+ readonly inboundMessages?: () => Message[];
184
198
  /** Model-specific reasoning effort for this turn's main query. */
185
199
  readonly effort?: ReasoningEffort;
186
200
  /**
@@ -256,6 +270,13 @@ export interface AgentSession {
256
270
  * always publishes the field.
257
271
  */
258
272
  readonly reasoningEffortLevels?: readonly ReasoningEffort[];
273
+ /**
274
+ * The exact level used when this model receives no explicit effort.
275
+ *
276
+ * Optional because some provider/model routes cannot publish one. A
277
+ * directional shortcut must not guess an anchor when it is absent.
278
+ */
279
+ readonly reasoningEffortDefault?: ReasoningEffort;
259
280
  /**
260
281
  * Every tool this session can call, by name, read at call time.
261
282
  *
@@ -333,16 +354,21 @@ export interface AgentSession {
333
354
  readonly path: string;
334
355
  readonly reason: string;
335
356
  }[];
336
- /** External tool servers that connected, and how many tools each brought. */
357
+ /** External tool servers whose transports are connected right now. */
337
358
  readonly mcpConnected: readonly ConnectedMcpServer[];
338
359
  /**
339
- * External tool servers that were configured and are NOT here, with why.
360
+ * External tool servers that are NOT available right now, with why.
340
361
  *
341
362
  * The hazard this feature carries is an operator who declares a server,
342
363
  * watches the agent run without its tools and concludes the model is bad at
343
364
  * the task. An empty tool list is not a signal; a named failure is.
344
365
  */
345
366
  readonly mcpFailed: readonly FailedMcpServer[];
367
+ /** One coherent present-tense view for operator surfaces such as `/mcp`. */
368
+ readonly mcpStatus?: () => {
369
+ readonly connected: readonly ConnectedMcpServer[];
370
+ readonly failed: readonly FailedMcpServer[];
371
+ };
346
372
  /**
347
373
  * Delegates this session can dispatch to. Empty when the subagent runtime
348
374
  * did not come up, which is non-fatal and leaves the session doing its own
@@ -549,6 +575,13 @@ export interface AgentSessionOptions {
549
575
  readonly onRunEvent?: (event: RunEvent) => void;
550
576
  /** Durable goal authority for the main TUI session; omitted on headless surfaces. */
551
577
  readonly sessionGoals?: SessionGoalStore;
578
+ /**
579
+ * Mount host desktop control for a surface that owns an interactive
580
+ * permission callback. False by default: `run`, `run-stream` and `drain`
581
+ * have no human prompt to guard pointer/keyboard input and must not inherit
582
+ * this capability merely because the package is installed.
583
+ */
584
+ readonly enableComputerUse?: boolean;
552
585
  }
553
586
  export declare function createAgentSession(prefs: Preferences, detected: readonly DetectedProvider[], options?: AgentSessionOptions): Promise<AgentSession>;
554
587
  export declare function constructProvider(id: ProviderId, det: DetectedProvider | null, model: string): LLMProvider;
@@ -646,14 +679,7 @@ export declare function makeResumeHandler(approval: {
646
679
  * handler stays testable without a registry — and so the answer comes from
647
680
  * the live roster at the moment of the call.
648
681
  */
649
- exempt?: (name: string, input: unknown) => boolean,
650
- /**
651
- * How a prompted call is described. Injected for the same reason
652
- * `exempt` is — this handler is unit-tested without a registry — and
653
- * defaulted to the generic view so a caller that has no registry still
654
- * gets the label the tool's arguments imply, rather than nothing.
655
- */
656
- presenter?: ToolPresenter): ResumeHandler;
682
+ exempt?: (name: string, input: unknown) => boolean): ResumeHandler;
657
683
  /**
658
684
  * Whether a call runs without asking: it declares itself read-only, or it is a
659
685
  * named exemption above.
@@ -703,11 +729,4 @@ export declare function toAgentEvent(event: RunEvent, presenter: ToolPresenter):
703
729
  export declare function viewToLines(view: ToolCallView): readonly string[] | undefined;
704
730
  /** The `⏺` row: one line naming what the call is about. */
705
731
  export declare function viewToSummary(view: ToolCallView): string;
706
- /**
707
- * The permission overlay's preview: the same shapes, cut shorter.
708
- *
709
- * A user approving a call needs enough to recognise it, not the whole
710
- * file — the transcript shows that once it has run.
711
- */
712
- export declare function viewToPreview(view: ToolCallView): readonly string[] | undefined;
713
732
  //# sourceMappingURL=agent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/tui/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/tui/agent.ts"],"names":[],"mappings":"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"}
package/dist/tui/agent.js CHANGED
@@ -20,7 +20,8 @@
20
20
  * `emptySession()` whose `send()` yields a single error event so the UI
21
21
  * renders an actionable hint rather than crashing.
22
22
  */
23
- import { BOOT_EVENT_NAMES, DiskMemoryStore, DiskTaskStore, EVENT_NAME_ATTRIBUTE, ProviderRegistry, SESSION_GOAL_TOOL_NAMES, SearchToolsTool, ToolRegistry, asProjectId, asRunId, asSessionId, asTenantId, asTopicId, buildMemoryTools, buildSessionGoalTools, compactNow, createMemoryPromoter, createToolPresenter, genericLabel, getBuiltinTools, isTrustedReadOnly, query, resumeRun, withProviderFallback, } from '@namzu/sdk';
23
+ import { BOOT_EVENT_NAMES, DiskMemoryStore, DiskTaskStore, EVENT_NAME_ATTRIBUTE, ProviderRegistry, SESSION_GOAL_TOOL_NAMES, SearchToolsTool, ToolRegistry, asProjectId, asRunId, asSessionId, asTenantId, asTopicId, buildMemoryTools, buildSessionGoalTools, compactNow, createComputerUseTool, createMemoryPromoter, createToolPresenter, genericLabel, getBuiltinTools, isTrustedReadOnly, query, resumeRun, withProviderFallback, } from '@namzu/sdk';
24
+ import { SubprocessComputerUseHost } from '@namzu/computer-use';
24
25
  import { join } from 'node:path';
25
26
  import { probeCapabilities } from '../context/capabilities.js';
26
27
  import { composeEnvironmentPrompt, readEnvironmentFacts } from '../context/environment.js';
@@ -636,6 +637,27 @@ export async function createAgentSession(prefs, detected, options = {}) {
636
637
  'namzu.sandbox.unconfined': sandbox.unconfined,
637
638
  });
638
639
  const { registry, memoryStore } = buildToolRegistry(cwd);
640
+ // Package presence is not tool reachability. The CLI used to probe and
641
+ // report @namzu/computer-use without ever constructing its host or mounting
642
+ // SDK's computer_use definition, so even an installed, healthy package was
643
+ // invisible to the model. Probe first to retain absent/broken diagnostics;
644
+ // only a successfully initialised adapter earns a schema in the registry.
645
+ const capabilities = await probeCapabilities();
646
+ const computerUsePackage = capabilities.find((probe) => probe.specifier === '@namzu/computer-use');
647
+ let computerUseHost;
648
+ let computerUseError;
649
+ if (options.enableComputerUse === true && computerUsePackage?.state === 'present') {
650
+ const candidate = new SubprocessComputerUseHost();
651
+ try {
652
+ await candidate.initialize();
653
+ registry.register(createComputerUseTool(candidate));
654
+ computerUseHost = candidate;
655
+ }
656
+ catch (error) {
657
+ computerUseError = error instanceof Error ? error : new Error(String(error));
658
+ await candidate.dispose().catch(() => { });
659
+ }
660
+ }
639
661
  // Registered only on the main session path. Sub-agents call
640
662
  // `buildToolRegistry` directly below, so they never receive these tools.
641
663
  // Per-send denial further keeps the schemas out of ordinary human turns.
@@ -676,11 +698,14 @@ export async function createAgentSession(prefs, detected, options = {}) {
676
698
  });
677
699
  }
678
700
  // Detected once per session, not per capability check an operator might
679
- // separately run via `namzu doctor` — same probe, same three-state
680
- // answer, so the boot narrative and the doctor report can never disagree
681
- // about whether @namzu/sandbox loaded.
682
- const capabilities = await probeCapabilities();
683
- logCapabilities(capabilities);
701
+ // separately run via `namzu doctor`. Package probes still supply optional
702
+ // package details; the aggregate overrides capabilities whose runtime
703
+ // admission has a more authoritative answer.
704
+ logCapabilities(capabilities, {
705
+ sandboxReady: sandbox.provider !== undefined,
706
+ computerUseReady: computerUseHost !== undefined,
707
+ ...(computerUseError ? { computerUseError } : {}),
708
+ });
684
709
  // This session passes a `taskStore` to query() below, which registers the
685
710
  // task tools deferred — so `search_tools` has something to find here.
686
711
  registry.register([SearchToolsTool]);
@@ -688,6 +713,7 @@ export async function createAgentSession(prefs, detected, options = {}) {
688
713
  // delegate a self-contained task to a fresh sub-agent (own context window).
689
714
  // Best-effort — if the runtime can't stand up, the chat still works.
690
715
  let subagentGateway;
716
+ let subagentRuntime;
691
717
  // Buffer of the in-flight sub-agent's tool steps. The gateway streams the
692
718
  // child's events here while the parent's `Agent` tool call blocks; runTurn
693
719
  // drains it onto the `Agent` result as a `├─/└─` tree. Scoped per `Agent`
@@ -749,11 +775,16 @@ export async function createAgentSession(prefs, detected, options = {}) {
749
775
  }
750
776
  },
751
777
  });
778
+ subagentRuntime = sub;
752
779
  registry.register([sub.agentTool]);
753
780
  subagentGateway = sub.gateway;
754
781
  allowedAgentIds = sub.allowedAgentIds;
755
782
  }
756
783
  catch (err) {
784
+ await subagentRuntime?.close().catch((closeError) => {
785
+ cliLogger().warn('sub-agent runtime cleanup failed after admission refusal', exceptionAttributes(closeError));
786
+ });
787
+ subagentRuntime = undefined;
757
788
  // Sub-agents unavailable this session — non-fatal: `allowedAgentIds`
758
789
  // stays empty and the chat still works. Silent until now, which was
759
790
  // the wrong kind of non-fatal — an operator who expected delegation
@@ -801,7 +832,7 @@ export async function createAgentSession(prefs, detected, options = {}) {
801
832
  pluginRuntime = await createCliPluginRuntime(options.plugins, registry, cwd);
802
833
  }
803
834
  catch (error) {
804
- await mcp.close();
835
+ await Promise.allSettled([mcp.close(), computerUseHost?.dispose()]);
805
836
  return emptySession(describeError(error));
806
837
  }
807
838
  if (pluginRuntime) {
@@ -823,7 +854,12 @@ export async function createAgentSession(prefs, detected, options = {}) {
823
854
  [EVENT_NAME_ATTRIBUTE]: BOOT_EVENT_NAMES.BOOT_READY,
824
855
  });
825
856
  const operations = new SessionOperationOwner(async () => {
826
- const results = await Promise.allSettled([pluginRuntime?.close(), mcp.close()]);
857
+ const results = await Promise.allSettled([
858
+ subagentRuntime?.close?.(),
859
+ pluginRuntime?.close(),
860
+ mcp.close(),
861
+ computerUseHost?.dispose(),
862
+ ]);
827
863
  const failures = results
828
864
  .filter((result) => result.status === 'rejected')
829
865
  .map((result) => result.reason);
@@ -831,6 +867,7 @@ export async function createAgentSession(prefs, detected, options = {}) {
831
867
  throw new AggregateError(failures, 'Session cleanup failed.');
832
868
  });
833
869
  let reasoningEffortLevels;
870
+ let reasoningEffortDefault;
834
871
  let effortNotice;
835
872
  try {
836
873
  const capabilityView = withProviderFallback([
@@ -841,9 +878,25 @@ export async function createAgentSession(prefs, detected, options = {}) {
841
878
  ? capabilityView.reasoningEffortLevelsFor(model)
842
879
  : capabilityView.effortLevelsFor?.(model);
843
880
  reasoningEffortLevels = offered === undefined ? undefined : Object.freeze([...offered]);
881
+ try {
882
+ const publishedDefault = capabilityView.reasoningEffortDefaultFor?.(model);
883
+ if (publishedDefault !== undefined &&
884
+ reasoningEffortLevels !== undefined &&
885
+ !reasoningEffortLevels.includes(publishedDefault)) {
886
+ effortNotice = `The provider published default effort "${publishedDefault}" outside its exact menu. Directional effort shortcuts require an explicit selection.`;
887
+ }
888
+ else {
889
+ reasoningEffortDefault = publishedDefault;
890
+ }
891
+ }
892
+ catch (error) {
893
+ effortNotice = `The default reasoning effort could not be established for this session: ${describeError(error)}`;
894
+ }
844
895
  }
845
896
  catch (error) {
846
- effortNotice = `Reasoning effort levels could not be established for this session: ${describeError(error)}.`;
897
+ reasoningEffortLevels = undefined;
898
+ reasoningEffortDefault = undefined;
899
+ effortNotice = `Reasoning effort levels could not be established for this session: ${describeError(error)}`;
847
900
  }
848
901
  return {
849
902
  hasProvider: true,
@@ -856,6 +909,7 @@ export async function createAgentSession(prefs, detected, options = {}) {
856
909
  providerSummary: entry.label,
857
910
  modelSummary: model,
858
911
  reasoningEffortLevels,
912
+ reasoningEffortDefault,
859
913
  compact: (messages) => operations.promise(undefined, async (signal) => {
860
914
  await prepareProviderCredential(signal);
861
915
  return compactNow({
@@ -880,11 +934,19 @@ export async function createAgentSession(prefs, detected, options = {}) {
880
934
  get skippedInstructionFiles() {
881
935
  return projectInstructions.skippedInstructionFiles;
882
936
  },
883
- mcpConnected: mcp.connected,
884
- mcpFailed: mcp.failed,
937
+ get mcpConnected() {
938
+ return mcp.connected;
939
+ },
940
+ get mcpFailed() {
941
+ return mcp.failed;
942
+ },
943
+ mcpStatus: () => mcp.current(),
885
944
  configNotices: [
886
945
  ...(capabilityNotice ? [capabilityNotice] : []),
887
946
  ...(effortNotice ? [effortNotice] : []),
947
+ ...(computerUseError
948
+ ? [`Computer use is unavailable on this device: ${describeError(computerUseError)}`]
949
+ : []),
888
950
  ...unresolvedNotice.map((line) => `Provider chain: capabilities could not be established for ${line}.`),
889
951
  ...fallbackPlan.notices,
890
952
  ],
@@ -1483,11 +1545,12 @@ async function* runTurn({ provider, fallbackProviders, model, tools, pluginManag
1483
1545
  ...(systemPrompt ? { systemPrompt } : {}),
1484
1546
  projectInstructionContext,
1485
1547
  messages: [...messages],
1548
+ ...(opts?.inboundMessages ? { inboundMessages: opts.inboundMessages } : {}),
1486
1549
  workingDirectory,
1487
1550
  // The exemption reads `tools` at decision time, so it sees the task
1488
1551
  // tools `query()` registers deferred below and any tool server that
1489
1552
  // connected after this session was built.
1490
- resumeHandler: makeResumeHandler(approval, opts?.onPermission, permissionMode, (name, input) => isPromptExempt(tools, name, input), presenter),
1553
+ resumeHandler: makeResumeHandler(approval, opts?.onPermission, permissionMode, (name, input) => isPromptExempt(tools, name, input)),
1491
1554
  signal,
1492
1555
  ...scope,
1493
1556
  });
@@ -1565,14 +1628,7 @@ export function makeResumeHandler(approval, onPermission, mode = onPermission ?
1565
1628
  * handler stays testable without a registry — and so the answer comes from
1566
1629
  * the live roster at the moment of the call.
1567
1630
  */
1568
- exempt = () => false,
1569
- /**
1570
- * How a prompted call is described. Injected for the same reason
1571
- * `exempt` is — this handler is unit-tested without a registry — and
1572
- * defaulted to the generic view so a caller that has no registry still
1573
- * gets the label the tool's arguments imply, rather than nothing.
1574
- */
1575
- presenter = GENERIC_PRESENTER) {
1631
+ exempt = () => false) {
1576
1632
  return async (request) => {
1577
1633
  if (request.type !== 'tool_review') {
1578
1634
  return request.type === 'plan_approval' ? { action: 'approve_plan' } : { action: 'continue' };
@@ -1598,10 +1654,7 @@ presenter = GENERIC_PRESENTER) {
1598
1654
  toolCalls: request.toolCalls.map((tc) => ({
1599
1655
  id: tc.id,
1600
1656
  name: tc.name,
1601
- ...(() => {
1602
- const view = presenter.presentCall(tc.name, tc.input);
1603
- return { summary: viewToSummary(view), preview: viewToPreview(view) };
1604
- })(),
1657
+ input: tc.input,
1605
1658
  isDestructive: tc.isDestructive,
1606
1659
  })),
1607
1660
  });
@@ -1719,6 +1772,14 @@ export function toAgentEvent(event, presenter) {
1719
1772
  return { summary: viewToSummary(view), detail: viewToLines(view) };
1720
1773
  })(),
1721
1774
  };
1775
+ case 'tool_progress':
1776
+ return {
1777
+ kind: 'tool-progress',
1778
+ toolUseId: event.toolUseId,
1779
+ toolName: event.toolName,
1780
+ message: event.message,
1781
+ ...(event.fraction !== undefined ? { fraction: event.fraction } : {}),
1782
+ };
1722
1783
  case 'tool_completed':
1723
1784
  return {
1724
1785
  kind: 'tool-end',
@@ -1767,6 +1828,14 @@ export function toAgentEvent(event, presenter) {
1767
1828
  text: event.message,
1768
1829
  };
1769
1830
  case 'message_history_repaired': {
1831
+ if (event.source === 'provider-rejected-image') {
1832
+ const count = event.providerRejectedImagesSuppressed ?? 0;
1833
+ return {
1834
+ kind: 'history-repair',
1835
+ source: event.source,
1836
+ text: `The provider rejected ${count} image occurrence${count === 1 ? '' : 's'}. The original attachment bytes were kept, but that image will be omitted from later model requests; attach a corrected copy to try again.`,
1837
+ };
1838
+ }
1770
1839
  const changes = [
1771
1840
  event.duplicateToolResultsRemoved > 0
1772
1841
  ? `${event.duplicateToolResultsRemoved} duplicate result${event.duplicateToolResultsRemoved === 1 ? '' : 's'} removed`
@@ -1923,26 +1992,6 @@ function describeFallback(event) {
1923
1992
  function asTree(steps) {
1924
1993
  return steps.map((s, i) => `${i === steps.length - 1 ? '└─' : '├─'} ${s}`);
1925
1994
  }
1926
- /** Short, human-readable one-liner for a tool call (e.g. `ls -la`, path). */
1927
- /**
1928
- * The presenter a caller with no registry gets.
1929
- *
1930
- * `makeResumeHandler` is unit-tested without one, and a handler that
1931
- * described every prompted call as an empty string would make those tests
1932
- * pass while telling a real user nothing. This is the same fallback the
1933
- * registry-backed presenter uses when a tool has no opinion, which is what
1934
- * the four deleted functions did for every tool.
1935
- */
1936
- const GENERIC_PRESENTER = {
1937
- presentCall: (_name, input) => ({
1938
- kind: 'generic',
1939
- label: genericLabel(input),
1940
- }),
1941
- presentResult: (_name, _input, result) => ({
1942
- kind: 'terminal',
1943
- output: result.output ?? '',
1944
- }),
1945
- };
1946
1995
  /**
1947
1996
  * The one presentation function this host keeps.
1948
1997
  *
@@ -1998,37 +2047,10 @@ export function viewToSummary(view) {
1998
2047
  return truncate(view.command ?? view.output.split('\n')[0] ?? '', 120);
1999
2048
  }
2000
2049
  }
2001
- /**
2002
- * The permission overlay's preview: the same shapes, cut shorter.
2003
- *
2004
- * A user approving a call needs enough to recognise it, not the whole
2005
- * file — the transcript shows that once it has run.
2006
- */
2007
- export function viewToPreview(view) {
2008
- if (view.kind !== 'diff')
2009
- return undefined;
2010
- if (view.before === '') {
2011
- const lines = previewLines(view.after, 8);
2012
- return lines.length > 0 ? lines : undefined;
2013
- }
2014
- const lines = [];
2015
- for (const line of previewLines(view.before, 4))
2016
- lines.push(`- ${line}`);
2017
- for (const line of previewLines(view.after, 4))
2018
- lines.push(`+ ${line}`);
2019
- return lines.length > 0 ? lines : undefined;
2020
- }
2021
2050
  function truncate(value, max) {
2022
2051
  const oneLine = value.replace(/\s+/g, ' ');
2023
2052
  return oneLine.length > max ? `${oneLine.slice(0, max - 1)}…` : oneLine;
2024
2053
  }
2025
- function previewLines(value, max) {
2026
- const lines = value.split('\n');
2027
- const head = lines.slice(0, max).map((l) => truncate(l, 100));
2028
- if (lines.length > max)
2029
- head.push(`… (+${lines.length - max} more lines)`);
2030
- return head;
2031
- }
2032
2054
  const MAX_DETAIL_LINES = 200;
2033
2055
  function clampLines(value) {
2034
2056
  const lines = value.replace(/\s+$/, '').split('\n');
@@ -2113,12 +2135,22 @@ function exceptionAttributes(err) {
2113
2135
  * `NamzuCliConfig` marks a capability required yet, so `broken` here is
2114
2136
  * always the "not required by config" case §6.5 describes — an optional
2115
2137
  * capability's failure degrades what this line SAYS, never whether
2116
- * `namzu.boot.ready` fires.
2138
+ * `namzu.boot.ready` fires. The aggregate's sandbox/computer-use answers are
2139
+ * runtime reachability, not package presence: both have a separate admission
2140
+ * step, and printing the package probe after that step produced contradictory
2141
+ * adjacent rows.
2117
2142
  */
2118
- function logCapabilities(probes) {
2143
+ function logCapabilities(probes, runtime) {
2119
2144
  const log = cliLogger();
2120
2145
  const summary = probes
2121
- .map((p) => `${p.specifier.split('/').pop()} ${p.state === 'present' ? 'yes' : 'no'}`)
2146
+ .map((p) => {
2147
+ const present = p.specifier === '@namzu/sandbox'
2148
+ ? runtime.sandboxReady
2149
+ : p.specifier === '@namzu/computer-use'
2150
+ ? runtime.computerUseReady
2151
+ : p.state === 'present';
2152
+ return `${p.specifier.split('/').pop()} ${present ? 'yes' : 'no'}`;
2153
+ })
2122
2154
  .join(' · ');
2123
2155
  log.info(summary, {
2124
2156
  [EVENT_NAME_ATTRIBUTE]: BOOT_EVENT_NAMES.CAPABILITY_DETECTED,
@@ -2140,6 +2172,15 @@ function logCapabilities(probes) {
2140
2172
  ...(probe.state === 'present' ? { 'namzu.capability.version': probe.version } : {}),
2141
2173
  });
2142
2174
  }
2175
+ if (runtime.computerUseError) {
2176
+ log.warn('Computer use adapter is unavailable', {
2177
+ [EVENT_NAME_ATTRIBUTE]: BOOT_EVENT_NAMES.CAPABILITY_DETECTED,
2178
+ 'namzu.capability.name': '@namzu/computer-use',
2179
+ 'namzu.capability.state': 'unavailable',
2180
+ 'namzu.capability.present': false,
2181
+ ...exceptionAttributes(runtime.computerUseError),
2182
+ });
2183
+ }
2143
2184
  }
2144
2185
  function emptySession(errorHint, errorKind = 'environment') {
2145
2186
  // Every path into this function is a boot refusal — `createAgentSession`