@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.
- package/README.md +123 -11
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +33 -27
- package/dist/cli.js.map +1 -1
- package/dist/commands/acp.js +1 -1
- package/dist/commands/acp.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +2 -0
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/login.d.ts +2 -0
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +45 -7
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/prior-messages.d.ts.map +1 -1
- package/dist/commands/prior-messages.js +13 -4
- package/dist/commands/prior-messages.js.map +1 -1
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +22 -9
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/{stubs.d.ts → serve.d.ts} +1 -10
- package/dist/commands/serve.d.ts.map +1 -0
- package/dist/commands/{stubs.js → serve.js} +1 -24
- package/dist/commands/serve.js.map +1 -0
- package/dist/commands/skills.d.ts +19 -0
- package/dist/commands/skills.d.ts.map +1 -0
- package/dist/commands/skills.js +107 -0
- package/dist/commands/skills.js.map +1 -0
- package/dist/commands/upgrade.d.ts +25 -0
- package/dist/commands/upgrade.d.ts.map +1 -0
- package/dist/commands/upgrade.js +182 -0
- package/dist/commands/upgrade.js.map +1 -0
- package/dist/context/runtime-message.d.ts +4 -0
- package/dist/context/runtime-message.d.ts.map +1 -0
- package/dist/context/runtime-message.js +20 -0
- package/dist/context/runtime-message.js.map +1 -0
- package/dist/integrations/mcp/servers.d.ts +7 -0
- package/dist/integrations/mcp/servers.d.ts.map +1 -1
- package/dist/integrations/mcp/servers.js +33 -8
- package/dist/integrations/mcp/servers.js.map +1 -1
- package/dist/integrations/sessions/store.d.ts +8 -0
- package/dist/integrations/sessions/store.d.ts.map +1 -1
- package/dist/integrations/sessions/store.js +15 -0
- package/dist/integrations/sessions/store.js.map +1 -1
- package/dist/integrations/sessions/transcript-export.d.ts.map +1 -1
- package/dist/integrations/sessions/transcript-export.js +10 -1
- package/dist/integrations/sessions/transcript-export.js.map +1 -1
- package/dist/integrations/sessions/turn-evidence.d.ts.map +1 -1
- package/dist/integrations/sessions/turn-evidence.js +9 -1
- package/dist/integrations/sessions/turn-evidence.js.map +1 -1
- package/dist/integrations/subagents/runtime.d.ts +2 -0
- package/dist/integrations/subagents/runtime.d.ts.map +1 -1
- package/dist/integrations/subagents/runtime.js +86 -13
- package/dist/integrations/subagents/runtime.js.map +1 -1
- package/dist/integrations/updates.d.ts +7 -1
- package/dist/integrations/updates.d.ts.map +1 -1
- package/dist/integrations/updates.js +86 -23
- package/dist/integrations/updates.js.map +1 -1
- package/dist/tui/App.d.ts +12 -1
- package/dist/tui/App.d.ts.map +1 -1
- package/dist/tui/App.js +1211 -208
- package/dist/tui/App.js.map +1 -1
- package/dist/tui/ChoicePicker.d.ts +2 -1
- package/dist/tui/ChoicePicker.d.ts.map +1 -1
- package/dist/tui/ChoicePicker.js +10 -6
- package/dist/tui/ChoicePicker.js.map +1 -1
- package/dist/tui/Composer.d.ts +33 -6
- package/dist/tui/Composer.d.ts.map +1 -1
- package/dist/tui/Composer.js +569 -48
- package/dist/tui/Composer.js.map +1 -1
- package/dist/tui/CopyPicker.d.ts.map +1 -1
- package/dist/tui/CopyPicker.js +3 -4
- package/dist/tui/CopyPicker.js.map +1 -1
- package/dist/tui/EditPromptPicker.d.ts.map +1 -1
- package/dist/tui/EditPromptPicker.js +3 -4
- package/dist/tui/EditPromptPicker.js.map +1 -1
- package/dist/tui/LiveActivity.d.ts +3 -0
- package/dist/tui/LiveActivity.d.ts.map +1 -1
- package/dist/tui/LiveActivity.js +4 -1
- package/dist/tui/LiveActivity.js.map +1 -1
- package/dist/tui/Markdown.d.ts +3 -1
- package/dist/tui/Markdown.d.ts.map +1 -1
- package/dist/tui/Markdown.js +11 -9
- package/dist/tui/Markdown.js.map +1 -1
- package/dist/tui/PermissionOverlay.d.ts +11 -6
- package/dist/tui/PermissionOverlay.d.ts.map +1 -1
- package/dist/tui/PermissionOverlay.js +13 -20
- package/dist/tui/PermissionOverlay.js.map +1 -1
- package/dist/tui/Picker.d.ts.map +1 -1
- package/dist/tui/Picker.js +87 -20
- package/dist/tui/Picker.js.map +1 -1
- package/dist/tui/ResumePicker.d.ts.map +1 -1
- package/dist/tui/ResumePicker.js +6 -1
- package/dist/tui/ResumePicker.js.map +1 -1
- package/dist/tui/TextPrompt.d.ts +21 -0
- package/dist/tui/TextPrompt.d.ts.map +1 -0
- package/dist/tui/TextPrompt.js +139 -0
- package/dist/tui/TextPrompt.js.map +1 -0
- package/dist/tui/Transcript.d.ts +3 -1
- package/dist/tui/Transcript.d.ts.map +1 -1
- package/dist/tui/Transcript.js +4 -4
- package/dist/tui/Transcript.js.map +1 -1
- package/dist/tui/agent.d.ts +39 -20
- package/dist/tui/agent.d.ts.map +1 -1
- package/dist/tui/agent.js +115 -74
- package/dist/tui/agent.js.map +1 -1
- package/dist/tui/exit-summary.d.ts +6 -0
- package/dist/tui/exit-summary.d.ts.map +1 -0
- package/dist/tui/exit-summary.js +9 -0
- package/dist/tui/exit-summary.js.map +1 -0
- package/dist/tui/external-editor.d.ts +25 -0
- package/dist/tui/external-editor.d.ts.map +1 -0
- package/dist/tui/external-editor.js +169 -0
- package/dist/tui/external-editor.js.map +1 -0
- package/dist/tui/index.d.ts.map +1 -1
- package/dist/tui/index.js +19 -6
- package/dist/tui/index.js.map +1 -1
- package/dist/tui/log-pane.d.ts +13 -8
- package/dist/tui/log-pane.d.ts.map +1 -1
- package/dist/tui/log-pane.js +23 -29
- package/dist/tui/log-pane.js.map +1 -1
- package/dist/tui/login-prompt.d.ts +2 -0
- package/dist/tui/login-prompt.d.ts.map +1 -1
- package/dist/tui/login-prompt.js +8 -1
- package/dist/tui/login-prompt.js.map +1 -1
- package/dist/tui/mentions.d.ts +19 -0
- package/dist/tui/mentions.d.ts.map +1 -1
- package/dist/tui/mentions.js +96 -5
- package/dist/tui/mentions.js.map +1 -1
- package/dist/tui/open-browser.d.ts.map +1 -1
- package/dist/tui/open-browser.js +27 -9
- package/dist/tui/open-browser.js.map +1 -1
- package/dist/tui/permission-review.d.ts +59 -0
- package/dist/tui/permission-review.d.ts.map +1 -0
- package/dist/tui/permission-review.js +219 -0
- package/dist/tui/permission-review.js.map +1 -0
- package/dist/tui/selection-window.d.ts +18 -0
- package/dist/tui/selection-window.d.ts.map +1 -0
- package/dist/tui/selection-window.js +37 -0
- package/dist/tui/selection-window.js.map +1 -0
- package/dist/tui/slashCommands.d.ts +48 -8
- package/dist/tui/slashCommands.d.ts.map +1 -1
- package/dist/tui/slashCommands.js +129 -47
- package/dist/tui/slashCommands.js.map +1 -1
- package/dist/tui/terminal-hyperlinks.d.ts +20 -0
- package/dist/tui/terminal-hyperlinks.d.ts.map +1 -0
- package/dist/tui/terminal-hyperlinks.js +70 -0
- package/dist/tui/terminal-hyperlinks.js.map +1 -0
- package/dist/tui/types.d.ts +2 -0
- package/dist/tui/types.d.ts.map +1 -1
- package/dist/tui/use-selection-index.d.ts +8 -0
- package/dist/tui/use-selection-index.d.ts.map +1 -0
- package/dist/tui/use-selection-index.js +13 -0
- package/dist/tui/use-selection-index.js.map +1 -0
- package/dist/tui/workspace-review.d.ts +15 -0
- package/dist/tui/workspace-review.d.ts.map +1 -0
- package/dist/tui/workspace-review.js +67 -0
- package/dist/tui/workspace-review.js.map +1 -0
- package/dist/version.d.ts +10 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +23 -0
- package/dist/version.js.map +1 -0
- package/package.json +7 -6
- package/dist/commands/stubs.d.ts.map +0 -1
- package/dist/commands/stubs.js.map +0 -1
package/dist/tui/Transcript.js
CHANGED
|
@@ -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":";AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,CAAA;AAEvC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"Transcript.js","sourceRoot":"","sources":["../../src/tui/Transcript.tsx"],"names":[],"mappings":"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"}
|
package/dist/tui/agent.d.ts
CHANGED
|
@@ -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
|
-
|
|
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
|
|
357
|
+
/** External tool servers whose transports are connected right now. */
|
|
337
358
|
readonly mcpConnected: readonly ConnectedMcpServer[];
|
|
338
359
|
/**
|
|
339
|
-
* External tool servers that
|
|
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
|
package/dist/tui/agent.d.ts.map
CHANGED
|
@@ -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":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EACN,KAAK,iBAAiB,EAEtB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,QAAQ,EAGb,KAAK,eAAe,EAEpB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EAEvB,KAAK,WAAW,EAEhB,KAAK,OAAO,EACZ,KAAK,SAAS,EAEd,KAAK,SAAS,EAKd,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,KAAK,KAAK,EAIV,KAAK,gBAAgB,EACrB,KAAK,SAAS,EAGd,KAAK,UAAU,EAGf,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,YAAY,EACZ,KAAK,OAAO,EAkBZ,MAAM,YAAY,CAAA;AAKnB,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAItE,OAAO,EAEN,KAAK,cAAc,EAGnB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACN,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EAErB,MAAM,gCAAgC,CAAA;AAEvC,OAAO,EAIN,KAAK,gBAAgB,EAErB,KAAK,WAAW,EAEhB,KAAK,UAAU,EAqBf,MAAM,oCAAoC,CAAA;AAI3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAG5D,MAAM,MAAM,UAAU,GACnB;IACA,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB;;;;;;;;OAQG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,sDAAsD;IACtD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACtB,GACD;IACA,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;IAC3B,4EAA4E;IAC5E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,iEAAiE;IACjE,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAClC,GACD;IACA,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,yDAAyD;IACzD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CACzB,GACD;IACA,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,yDAAyD;IACzD,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAClC,GACD;IACA,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,oEAAoE;IACpE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,UAAU,GAAG,UAAU,CAAA;IACpD,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;IACrC,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,aAAa,GAAG,SAAS,CAAA;CACxE;AACH;;;;;;;;;GASG;GACD;IACA,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,uEAAuE;IACvE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CACrB;AACH;;;;;;;;;GASG;GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC7D;IACA,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAA;IACnC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,EAAE;QAAE,IAAI,EAAE,oBAAoB,CAAA;KAAE,CAAC,CAAC,YAAY,CAAC,CAAA;IACpF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACpB,GACD;IACA,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAA;IAC/B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE;QAAE,IAAI,EAAE,0BAA0B,CAAA;KAAE,CAAC,CAAC,QAAQ,CAAC,CAAA;IAClF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACpB,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AAC9E;;;;;;;;;GASG;GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAA;CAAE,GAC3D;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAEvD,+EAA+E;AAC/E,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,wEAAwE;IACxE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;CAC/B;AAED,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,SAAS,EAAE,SAAS,kBAAkB,EAAE,CAAA;CACjD;AAED,MAAM,MAAM,kBAAkB,GAC3B;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;CAAE,GAChC;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAE1D,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,iBAAiB,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAA;AAElF,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;IAC7B;;;;;;OAMG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,OAAO,EAAE,CAAA;IAC1C,kEAAkE;IAClE,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAA;IACjC;;;OAGG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAA;IACxC,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;IACtB,8EAA8E;IAC9E,QAAQ,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAA;IACvC;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAA;IACpC;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B;;;;;;;OAOG;IACH,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,KAAK,IAAI,CAAA;CACxE;AAED,oFAAoF;AACpF,MAAM,WAAW,mBAAmB;IACnC;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,uCAAuC;IACvC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;IACzC;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,YAAY,CAAA;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAC7B;AAED,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;IAC7B;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAA;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IACvC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC;;;;;;;OAOG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,SAAS,eAAe,EAAE,CAAA;IAC3D;;;;;OAKG;IACH,QAAQ,CAAC,sBAAsB,CAAC,EAAE,eAAe,CAAA;IACjD;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,SAAS,MAAM,EAAE,CAAA;IAC3C;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,KAAK,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAA;IACpF,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,CAAC,SAAS,EAAE,YAAY,GAAG,aAAa,GAAG,IAAI,CAAA;IACvD;;;;;;;;;OASG;IACH,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAA;IAC5C;;;;;;;OAOG;IACH,QAAQ,CAAC,uBAAuB,EAAE,SAAS;QAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;QACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KACvB,EAAE,CAAA;IACH,sEAAsE;IACtE,QAAQ,CAAC,YAAY,EAAE,SAAS,kBAAkB,EAAE,CAAA;IACpD;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,eAAe,EAAE,CAAA;IAC9C,4EAA4E;IAC5E,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM;QAC1B,QAAQ,CAAC,SAAS,EAAE,SAAS,kBAAkB,EAAE,CAAA;QACjD,QAAQ,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAA;KAC3C,CAAA;IACD;;;;;;;;OAQG;IACH,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;IACpC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAA;IACzC;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,OAAO,CAAA;IACvC;;;;OAIG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;IACxC;;;;;;;OAOG;IACH,QAAQ,CAAC,iBAAiB,EAAE,MAAM,SAAS,MAAM,EAAE,CAAA;IACnD,IAAI,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,aAAa,CAAC,UAAU,CAAC,CAAA;IACjF;;;;;;;;;;;;;OAaG;IACH,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;IAClE;;;;;;;;OAQG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACtB;AAED,MAAM,WAAW,mBAAmB;IACnC,QAAQ,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CAAA;IACxC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;IACzC,QAAQ,CAAC,QAAQ,EAAE,SAAS,gBAAgB,EAAE,CAAA;IAC9C;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAAC,aAAa,EAAE;QACvB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;QAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KACvB,GAAG,IAAI,CAAA;CACR;AAyBD;;;;;;;;GAQG;AACH,qBAAa,qBAAqB;IAQrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAPpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwB;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;IAClD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiC;IAC/D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0D;IACtF,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,YAAY,CAA2B;gBAElB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IAEzD,OAAO,CAAC,CAAC,EACR,YAAY,EAAE,WAAW,GAAG,SAAS,EACrC,KAAK,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,GACxC,OAAO,CAAC,CAAC,CAAC;IAgBb,MAAM,CAAC,CAAC,EACP,YAAY,EAAE,WAAW,GAAG,SAAS,EACrC,KAAK,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,aAAa,CAAC,CAAC,CAAC,GAC9C,aAAa,CAAC,CAAC,CAAC;IAqGnB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQtB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,KAAK;YASC,WAAW;CAKzB;AAQD;;;GAGG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CA0BtE;AA+GD,MAAM,WAAW,mBAAmB;IACnC,+EAA+E;IAC/E,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAA;IACzB;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAA;IAC7C,8EAA8E;IAC9E,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAA;IACxC;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAA;IACtC,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAA;IAC/B;;;;;;;OAOG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAA;IACpC;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAClC;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAA;IAChC;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAA;IAC/C,qFAAqF;IACrF,QAAQ,CAAC,YAAY,CAAC,EAAE,gBAAgB,CAAA;IACxC;;;;;OAKG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CACpC;AAED,wBAAsB,kBAAkB,CACvC,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,SAAS,gBAAgB,EAAE,EACrC,OAAO,GAAE,mBAAwB,GAC/B,OAAO,CAAC,YAAY,CAAC,CA8zBvB;AA+FD,wBAAgB,iBAAiB,CAChC,EAAE,EAAE,UAAU,EACd,GAAG,EAAE,gBAAgB,GAAG,IAAI,EAC5B,KAAK,EAAE,MAAM,GACX,WAAW,CAiEb;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,YAAY,GACrB;IACA,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,QAAQ,CAAC,MAAM,EAAE,SAAS,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,iBAAiB,CAAC,EAAE,CAAA;CAC7E;AACH,kDAAkD;GAChD;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;CAAE,GAChC;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AA8CvD;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC3C,EAAE,EAAE,UAAU,EACd,GAAG,EAAE,gBAAgB,EACrB,MAAM,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC,YAAY,CAAC,CAiCvB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,gBAAgB,CACrC,EAAE,EAAE,UAAU,EACd,GAAG,EAAE,gBAAgB,EACrB,MAAM,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CA4BjG;AAMD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAS3D;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACvC,EAAE,EAAE,UAAU,EACd,GAAG,EAAE,gBAAgB,GACnB,OAAO,CAAC,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAG9C;AAED,MAAM,WAAW,QAAQ;IACxB,SAAS,EAAE,SAAS,CAAA;IACpB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;CAC3B;AAoSD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE;IAAE,GAAG,EAAE,OAAO,CAAA;CAAE,EAC1B,YAAY,EAAE,YAAY,GAAG,SAAS,EACtC,IAAI,GAAE,cAAiD;AACvD;;;;GAIG;AACH,MAAM,GAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,OAAqB,GAC7D,aAAa,CA4Cf;AAmCD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAQ5F;AAED,sEAAsE;AACtE,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,YAAY,GAAG,SAAS,MAAM,EAAE,CAM/E;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC/B,SAAS,EAAE,SAAS,eAAe,EAAE,EACrC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,OAAO,GAC/C,OAAO,CAET;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,GAAG,UAAU,GAAG,IAAI,CA6JzF;AAoHD;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,CA2B7E;AAED,2DAA2D;AAC3D,wBAAgB,aAAa,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CASxD"}
|
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
|
|
680
|
-
//
|
|
681
|
-
//
|
|
682
|
-
|
|
683
|
-
|
|
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([
|
|
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
|
-
|
|
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
|
|
884
|
-
|
|
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)
|
|
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) =>
|
|
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`
|