@namzu/cli 18.1.0 → 19.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/CHANGELOG.md +5898 -0
- package/README.md +23 -24
- package/dist/bin.js +12 -1
- package/dist/bin.js.map +1 -1
- package/dist/checkpoints/store.d.ts +75 -0
- package/dist/checkpoints/store.d.ts.map +1 -0
- package/dist/checkpoints/store.js +177 -0
- package/dist/checkpoints/store.js.map +1 -0
- package/dist/checkpoints/wrap.d.ts +15 -0
- package/dist/checkpoints/wrap.d.ts.map +1 -0
- package/dist/checkpoints/wrap.js +37 -0
- package/dist/checkpoints/wrap.js.map +1 -0
- package/dist/cli.d.ts +6 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +12 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/acp.d.ts.map +1 -1
- package/dist/commands/acp.js +2 -0
- package/dist/commands/acp.js.map +1 -1
- package/dist/commands/drain.d.ts.map +1 -1
- package/dist/commands/drain.js +15 -2
- package/dist/commands/drain.js.map +1 -1
- package/dist/commands/provider-wait.d.ts +44 -0
- package/dist/commands/provider-wait.d.ts.map +1 -0
- package/dist/commands/provider-wait.js +65 -0
- package/dist/commands/provider-wait.js.map +1 -0
- package/dist/commands/run-flags.d.ts +13 -1
- package/dist/commands/run-flags.d.ts.map +1 -1
- package/dist/commands/run-flags.js +41 -0
- package/dist/commands/run-flags.js.map +1 -1
- package/dist/commands/run-stream.d.ts.map +1 -1
- package/dist/commands/run-stream.js +33 -13
- package/dist/commands/run-stream.js.map +1 -1
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +132 -78
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/stdin.d.ts +17 -0
- package/dist/commands/stdin.d.ts.map +1 -0
- package/dist/commands/stdin.js +69 -0
- package/dist/commands/stdin.js.map +1 -0
- package/dist/config/load.d.ts.map +1 -1
- package/dist/config/load.js +107 -2
- package/dist/config/load.js.map +1 -1
- package/dist/config/schema.d.ts +80 -5
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js.map +1 -1
- package/dist/context/doctrine.d.ts +16 -38
- package/dist/context/doctrine.d.ts.map +1 -1
- package/dist/context/doctrine.js +16 -75
- package/dist/context/doctrine.js.map +1 -1
- package/dist/context/environment.d.ts +2 -0
- package/dist/context/environment.d.ts.map +1 -1
- package/dist/context/environment.js +3 -0
- package/dist/context/environment.js.map +1 -1
- package/dist/integrations/mcp/servers.d.ts +19 -0
- package/dist/integrations/mcp/servers.d.ts.map +1 -1
- package/dist/integrations/mcp/servers.js +23 -2
- package/dist/integrations/mcp/servers.js.map +1 -1
- package/dist/integrations/plugins/runtime.d.ts +8 -2
- package/dist/integrations/plugins/runtime.d.ts.map +1 -1
- package/dist/integrations/plugins/runtime.js +24 -12
- package/dist/integrations/plugins/runtime.js.map +1 -1
- package/dist/integrations/providers/chain-capabilities.js +1 -1
- package/dist/integrations/providers/chain-capabilities.js.map +1 -1
- package/dist/integrations/providers/credential-store.d.ts +1 -1
- package/dist/integrations/providers/credential-store.js +1 -1
- package/dist/integrations/providers/harness-credentials.d.ts.map +1 -1
- package/dist/integrations/providers/harness-credentials.js +7 -0
- package/dist/integrations/providers/harness-credentials.js.map +1 -1
- package/dist/integrations/providers/registry.d.ts +2 -2
- package/dist/integrations/providers/registry.js +2 -2
- package/dist/integrations/sessions/store.d.ts +14 -22
- package/dist/integrations/sessions/store.d.ts.map +1 -1
- package/dist/integrations/sessions/store.js +78 -175
- 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 +6 -2
- package/dist/integrations/sessions/transcript-export.js.map +1 -1
- package/dist/integrations/state/identity.d.ts +21 -0
- package/dist/integrations/state/identity.d.ts.map +1 -0
- package/dist/integrations/state/identity.js +49 -0
- package/dist/integrations/state/identity.js.map +1 -0
- package/dist/integrations/state/immutable-json.d.ts +10 -0
- package/dist/integrations/state/immutable-json.d.ts.map +1 -0
- package/dist/integrations/state/immutable-json.js +38 -0
- package/dist/integrations/state/immutable-json.js.map +1 -0
- package/dist/integrations/state/project.d.ts +10 -0
- package/dist/integrations/state/project.d.ts.map +1 -0
- package/dist/integrations/state/project.js +15 -0
- package/dist/integrations/state/project.js.map +1 -0
- package/dist/integrations/state/report.d.ts.map +1 -1
- package/dist/integrations/state/report.js +42 -12
- package/dist/integrations/state/report.js.map +1 -1
- package/dist/integrations/subagents/definitions.d.ts +19 -0
- package/dist/integrations/subagents/definitions.d.ts.map +1 -0
- package/dist/integrations/subagents/definitions.js +26 -0
- package/dist/integrations/subagents/definitions.js.map +1 -0
- package/dist/integrations/subagents/parent.d.ts +13 -0
- package/dist/integrations/subagents/parent.d.ts.map +1 -0
- package/dist/integrations/subagents/parent.js +57 -0
- package/dist/integrations/subagents/parent.js.map +1 -0
- package/dist/integrations/subagents/runtime.d.ts +24 -13
- package/dist/integrations/subagents/runtime.d.ts.map +1 -1
- package/dist/integrations/subagents/runtime.js +282 -122
- package/dist/integrations/subagents/runtime.js.map +1 -1
- package/dist/memory/store.d.ts +35 -15
- package/dist/memory/store.d.ts.map +1 -1
- package/dist/memory/store.js +79 -25
- package/dist/memory/store.js.map +1 -1
- package/dist/permissions/mode.d.ts +12 -45
- package/dist/permissions/mode.d.ts.map +1 -1
- package/dist/permissions/mode.js +18 -13
- package/dist/permissions/mode.js.map +1 -1
- package/dist/release-notes.d.ts +20 -0
- package/dist/release-notes.d.ts.map +1 -0
- package/dist/release-notes.js +64 -0
- package/dist/release-notes.js.map +1 -0
- package/dist/tui/AgentExplorer.d.ts.map +1 -1
- package/dist/tui/AgentExplorer.js +14 -18
- package/dist/tui/AgentExplorer.js.map +1 -1
- package/dist/tui/App.d.ts.map +1 -1
- package/dist/tui/App.js +606 -207
- package/dist/tui/App.js.map +1 -1
- package/dist/tui/BrandHeader.d.ts +12 -0
- package/dist/tui/BrandHeader.d.ts.map +1 -0
- package/dist/tui/BrandHeader.js +17 -0
- package/dist/tui/BrandHeader.js.map +1 -0
- package/dist/tui/ChoicePicker.d.ts +11 -1
- package/dist/tui/ChoicePicker.d.ts.map +1 -1
- package/dist/tui/ChoicePicker.js +46 -13
- package/dist/tui/ChoicePicker.js.map +1 -1
- package/dist/tui/Composer.d.ts +4 -1
- package/dist/tui/Composer.d.ts.map +1 -1
- package/dist/tui/Composer.js +4 -4
- package/dist/tui/Composer.js.map +1 -1
- package/dist/tui/ComposerFrame.d.ts +10 -0
- package/dist/tui/ComposerFrame.d.ts.map +1 -0
- package/dist/tui/ComposerFrame.js +93 -0
- package/dist/tui/ComposerFrame.js.map +1 -0
- package/dist/tui/EditPromptPicker.d.ts.map +1 -1
- package/dist/tui/EditPromptPicker.js +1 -1
- package/dist/tui/EditPromptPicker.js.map +1 -1
- package/dist/tui/LiveActivity.d.ts +12 -5
- package/dist/tui/LiveActivity.d.ts.map +1 -1
- package/dist/tui/LiveActivity.js +17 -32
- package/dist/tui/LiveActivity.js.map +1 -1
- package/dist/tui/PermissionOverlay.d.ts +26 -2
- package/dist/tui/PermissionOverlay.d.ts.map +1 -1
- package/dist/tui/PermissionOverlay.js +108 -16
- package/dist/tui/PermissionOverlay.js.map +1 -1
- package/dist/tui/Picker.d.ts +2 -2
- package/dist/tui/Picker.d.ts.map +1 -1
- package/dist/tui/Picker.js +79 -52
- package/dist/tui/Picker.js.map +1 -1
- package/dist/tui/StatusBar.d.ts.map +1 -1
- package/dist/tui/StatusBar.js +5 -2
- package/dist/tui/StatusBar.js.map +1 -1
- package/dist/tui/TaskList.d.ts +3 -1
- package/dist/tui/TaskList.d.ts.map +1 -1
- package/dist/tui/TaskList.js +13 -4
- package/dist/tui/TaskList.js.map +1 -1
- package/dist/tui/Transcript.d.ts +3 -3
- package/dist/tui/Transcript.d.ts.map +1 -1
- package/dist/tui/Transcript.js +16 -34
- package/dist/tui/Transcript.js.map +1 -1
- package/dist/tui/agent.d.ts +113 -50
- package/dist/tui/agent.d.ts.map +1 -1
- package/dist/tui/agent.js +512 -293
- package/dist/tui/agent.js.map +1 -1
- package/dist/tui/choice-selection.d.ts +17 -0
- package/dist/tui/choice-selection.d.ts.map +1 -0
- package/dist/tui/choice-selection.js +38 -0
- package/dist/tui/choice-selection.js.map +1 -0
- package/dist/tui/exit-summary.d.ts +7 -1
- package/dist/tui/exit-summary.d.ts.map +1 -1
- package/dist/tui/exit-summary.js +12 -3
- package/dist/tui/exit-summary.js.map +1 -1
- package/dist/tui/index.d.ts +3 -1
- package/dist/tui/index.d.ts.map +1 -1
- package/dist/tui/index.js +5 -3
- package/dist/tui/index.js.map +1 -1
- package/dist/tui/logo.d.ts +7 -22
- package/dist/tui/logo.d.ts.map +1 -1
- package/dist/tui/logo.js +8 -34
- package/dist/tui/logo.js.map +1 -1
- package/dist/tui/model-choices.d.ts.map +1 -1
- package/dist/tui/model-choices.js +21 -6
- package/dist/tui/model-choices.js.map +1 -1
- package/dist/tui/permission-review.d.ts +15 -4
- package/dist/tui/permission-review.d.ts.map +1 -1
- package/dist/tui/permission-review.js +48 -9
- package/dist/tui/permission-review.js.map +1 -1
- package/dist/tui/provider-selection.d.ts +4 -0
- package/dist/tui/provider-selection.d.ts.map +1 -0
- package/dist/tui/provider-selection.js +16 -0
- package/dist/tui/provider-selection.js.map +1 -0
- package/dist/tui/run-interruption.d.ts +3 -2
- package/dist/tui/run-interruption.d.ts.map +1 -1
- package/dist/tui/run-interruption.js +2 -1
- package/dist/tui/run-interruption.js.map +1 -1
- package/dist/tui/shell-escape.d.ts +42 -0
- package/dist/tui/shell-escape.d.ts.map +1 -0
- package/dist/tui/shell-escape.js +110 -0
- package/dist/tui/shell-escape.js.map +1 -0
- package/dist/tui/slashCommands.d.ts +77 -31
- package/dist/tui/slashCommands.d.ts.map +1 -1
- package/dist/tui/slashCommands.js +343 -303
- package/dist/tui/slashCommands.js.map +1 -1
- package/dist/tui/terminal-choice-text.d.ts +8 -0
- package/dist/tui/terminal-choice-text.d.ts.map +1 -0
- package/dist/tui/terminal-choice-text.js +37 -0
- package/dist/tui/terminal-choice-text.js.map +1 -0
- package/dist/tui/theme.d.ts +3 -4
- package/dist/tui/theme.d.ts.map +1 -1
- package/dist/tui/theme.js +16 -17
- package/dist/tui/theme.js.map +1 -1
- package/dist/tui/types.d.ts +6 -1
- package/dist/tui/types.d.ts.map +1 -1
- package/package.json +6 -4
package/dist/tui/logo.js
CHANGED
|
@@ -1,35 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export const
|
|
8
|
-
export const
|
|
9
|
-
/**
|
|
10
|
-
* Header wordmark — "NAMZU" in a solid filled-block pixel font (thick `█`
|
|
11
|
-
* strokes, not thin line-art, so it reads as a chunky logo rather than an
|
|
12
|
-
* outline). Five rows, every row the same width so the block stays
|
|
13
|
-
* rectangular and aligned beside the name/version/cwd column.
|
|
14
|
-
*/
|
|
15
|
-
export const NAMZU_WORDMARK = [
|
|
16
|
-
'█ █ ███ █ █ █████ █ █',
|
|
17
|
-
'██ █ █ █ ██ ██ █ █ █',
|
|
18
|
-
'█ █ █ █████ █ █ █ █ █ █',
|
|
19
|
-
'█ ██ █ █ █ █ █ █ █',
|
|
20
|
-
'█ █ █ █ █ █ █████ ███ ',
|
|
21
|
-
];
|
|
22
|
-
/** Per-row teal→green gradient, matching the namzu.ai bloom palette. */
|
|
23
|
-
export const NAMZU_WORDMARK_GRADIENT = [
|
|
24
|
-
'#a4edd5',
|
|
25
|
-
'#7de5c3',
|
|
26
|
-
'#5eead4',
|
|
27
|
-
'#34d399',
|
|
28
|
-
'#2dd4bf',
|
|
29
|
-
];
|
|
30
|
-
/**
|
|
31
|
-
* Minimum terminal columns to show the wordmark beside the text block; below
|
|
32
|
-
* this the Banner falls back to the one-glyph `NAMZU_MARK`.
|
|
33
|
-
*/
|
|
34
|
-
export const NAMZU_WORDMARK_MIN_WIDTH = 62;
|
|
1
|
+
import { theme } from './theme.js';
|
|
2
|
+
/** The three-point signature used beside Namzu's replies. */
|
|
3
|
+
export const NAMZU_MARK = '∴';
|
|
4
|
+
export const NAMZU_MARK_COLOR = theme.accent.assistant;
|
|
5
|
+
/** A single-row console wordmark, legible without gradients or box-drawing glyphs. */
|
|
6
|
+
export const NAMZU_WORDMARK = '[ NAMZU ]';
|
|
7
|
+
export const NAMZU_COMPACT_WORDMARK = 'NAMZU';
|
|
8
|
+
export const NAMZU_WORDMARK_MIN_WIDTH = 24;
|
|
35
9
|
//# sourceMappingURL=logo.js.map
|
package/dist/tui/logo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logo.js","sourceRoot":"","sources":["../../src/tui/logo.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"logo.js","sourceRoot":"","sources":["../../src/tui/logo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC,6DAA6D;AAC7D,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAA;AAC7B,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAA;AAEtD,sFAAsF;AACtF,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAA;AACzC,MAAM,CAAC,MAAM,sBAAsB,GAAG,OAAO,CAAA;AAC7C,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-choices.d.ts","sourceRoot":"","sources":["../../src/tui/model-choices.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,yEAAyE;IACzE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,SAAS;IACzB,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAA;IACxC;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,yEAAyE;IACzE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAC7B;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CACxB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,YAAY,EACrB,YAAY,CAAC,EAAE,MAAM,GACnB,SAAS,
|
|
1
|
+
{"version":3,"file":"model-choices.d.ts","sourceRoot":"","sources":["../../src/tui/model-choices.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,yEAAyE;IACzE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,SAAS;IACzB,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAA;IACxC;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,yEAAyE;IACzE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAC7B;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CACxB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,YAAY,EACrB,YAAY,CAAC,EAAE,MAAM,GACnB,SAAS,CAsEX"}
|
|
@@ -30,11 +30,19 @@
|
|
|
30
30
|
* starts on what is already selected rather than resetting to the default.
|
|
31
31
|
*/
|
|
32
32
|
export function modelStep(defaultModel, listing, currentModel) {
|
|
33
|
-
const fallback = (notice) =>
|
|
34
|
-
choices
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
33
|
+
const fallback = (notice) => {
|
|
34
|
+
const choices = [
|
|
35
|
+
{ id: defaultModel, label: defaultModel, note: '(namzu default)' },
|
|
36
|
+
];
|
|
37
|
+
if (currentModel && currentModel !== defaultModel) {
|
|
38
|
+
choices.push({
|
|
39
|
+
id: currentModel,
|
|
40
|
+
label: currentModel,
|
|
41
|
+
note: '(current)',
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
return { choices, notice, initialIndex: choices.length - 1 };
|
|
45
|
+
};
|
|
38
46
|
// "namzu's pick", never "its default", in all four. The row beside these
|
|
39
47
|
// sentences is labelled `(namzu default)` because the value comes from
|
|
40
48
|
// namzu's registry and not from the provider — and these said the opposite
|
|
@@ -76,7 +84,14 @@ export function modelStep(defaultModel, listing, currentModel) {
|
|
|
76
84
|
});
|
|
77
85
|
}
|
|
78
86
|
if (!seen.has(defaultModel)) {
|
|
79
|
-
choices.unshift({
|
|
87
|
+
choices.unshift({
|
|
88
|
+
id: defaultModel,
|
|
89
|
+
label: defaultModel,
|
|
90
|
+
note: '(namzu default)',
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
if (currentModel && currentModel !== defaultModel && !seen.has(currentModel)) {
|
|
94
|
+
choices.push({ id: currentModel, label: currentModel, note: '(current)' });
|
|
80
95
|
}
|
|
81
96
|
const wanted = currentModel ?? defaultModel;
|
|
82
97
|
const idx = choices.findIndex((c) => c.id === wanted);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-choices.js","sourceRoot":"","sources":["../../src/tui/model-choices.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAwBH;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CACxB,YAAoB,EACpB,OAAqB,EACrB,YAAqB;IAErB,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"model-choices.js","sourceRoot":"","sources":["../../src/tui/model-choices.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,12 @@
|
|
|
9
9
|
export declare const MAX_PERMISSION_REVIEW_BYTES = 8000;
|
|
10
10
|
/** Physical rows kept visible without crowding a 24-row terminal. */
|
|
11
11
|
export declare const PERMISSION_REVIEW_PAGE_ROWS = 6;
|
|
12
|
+
/**
|
|
13
|
+
* The page a terminal of this height gets: the 24-row floor above, and
|
|
14
|
+
* every row past what the box's own furniture needs on a taller one, so
|
|
15
|
+
* a two-call batch is not paged on a screen that could show it whole.
|
|
16
|
+
*/
|
|
17
|
+
export declare function permissionReviewPageRows(terminalRows: number | undefined): number;
|
|
12
18
|
export interface PermissionReviewCall {
|
|
13
19
|
readonly id: string;
|
|
14
20
|
readonly name: string;
|
|
@@ -55,10 +61,15 @@ export declare function buildPermissionReview(calls: readonly PermissionReviewCa
|
|
|
55
61
|
* Derive a readable review from the immutable exact envelope.
|
|
56
62
|
*
|
|
57
63
|
* This never reads the original tool objects: `buildPermissionReview` has
|
|
58
|
-
* already rejected getters, prototypes and non-JSON values. A
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
64
|
+
* already rejected getters, prototypes and non-JSON values. A summary is
|
|
65
|
+
* `complete` when it shows every key of every call, and callers open the
|
|
66
|
+
* readable view by default only then — so a friendly label can never hide a
|
|
67
|
+
* suffix. Two ways to be complete: a formatter below whose key set and value
|
|
68
|
+
* types are exhaustive, or, for a tool no formatter here knows (`read`,
|
|
69
|
+
* `grep`, a connected server's tool), every key with its full JSON-escaped
|
|
70
|
+
* value. A tool that HAS a formatter but arrives in a shape it does not know
|
|
71
|
+
* is the one case that opens exact-first: the formatter is stale, and a
|
|
72
|
+
* reader should see that rather than a projection that happens to be right.
|
|
62
73
|
*/
|
|
63
74
|
export declare function buildPermissionSummary(review: string): PermissionReviewSummary;
|
|
64
75
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permission-review.d.ts","sourceRoot":"","sources":["../../src/tui/permission-review.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,eAAO,MAAM,2BAA2B,OAAQ,CAAA;AAEhD,qEAAqE;AACrE,eAAO,MAAM,2BAA2B,IAAI,CAAA;AAE5C,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;CAC/B;AAED,MAAM,MAAM,sBAAsB,GAC/B;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACpE;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,iBAAiB,CAAA;CAAE,CAAA;AAE3E,MAAM,WAAW,uBAAuB;IACvC,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;CAC1B;AASD,6EAA6E;AAC7E,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,WAAW,GAAG,iBAAiB,GAAG,MAAM,CAIvF;AAED,uEAAuE;AACvE,MAAM,WAAW,mBAAmB;IACnC,wDAAwD;IACxD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,8DAA8D;IAC9D,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;CAC9B;AAKD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACpC,KAAK,EAAE,SAAS,oBAAoB,EAAE,EACtC,QAAQ,SAA8B,GACpC,sBAAsB,CAqJxB;AAED
|
|
1
|
+
{"version":3,"file":"permission-review.d.ts","sourceRoot":"","sources":["../../src/tui/permission-review.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,eAAO,MAAM,2BAA2B,OAAQ,CAAA;AAEhD,qEAAqE;AACrE,eAAO,MAAM,2BAA2B,IAAI,CAAA;AAE5C;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAGjF;AAED,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;CAC/B;AAED,MAAM,MAAM,sBAAsB,GAC/B;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACpE;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,iBAAiB,CAAA;CAAE,CAAA;AAE3E,MAAM,WAAW,uBAAuB;IACvC,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;CAC1B;AASD,6EAA6E;AAC7E,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,WAAW,GAAG,iBAAiB,GAAG,MAAM,CAIvF;AAED,uEAAuE;AACvE,MAAM,WAAW,mBAAmB;IACnC,wDAAwD;IACxD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,8DAA8D;IAC9D,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;CAC9B;AAKD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACpC,KAAK,EAAE,SAAS,oBAAoB,EAAE,EACtC,QAAQ,SAA8B,GACpC,sBAAsB,CAqJxB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,uBAAuB,CA6D9E;AAmRD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CACnC,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,GAAG,SAAS,GACjC,SAAS,mBAAmB,EAAE,CA6BhC"}
|
|
@@ -10,6 +10,15 @@ import { terminalDisplayText } from './terminal-display.js';
|
|
|
10
10
|
export const MAX_PERMISSION_REVIEW_BYTES = 8_000;
|
|
11
11
|
/** Physical rows kept visible without crowding a 24-row terminal. */
|
|
12
12
|
export const PERMISSION_REVIEW_PAGE_ROWS = 6;
|
|
13
|
+
/**
|
|
14
|
+
* The page a terminal of this height gets: the 24-row floor above, and
|
|
15
|
+
* every row past what the box's own furniture needs on a taller one, so
|
|
16
|
+
* a two-call batch is not paged on a screen that could show it whole.
|
|
17
|
+
*/
|
|
18
|
+
export function permissionReviewPageRows(terminalRows) {
|
|
19
|
+
const rows = terminalRows ?? 24;
|
|
20
|
+
return Math.min(24, Math.max(PERMISSION_REVIEW_PAGE_ROWS, rows - 18));
|
|
21
|
+
}
|
|
13
22
|
/** Actionable fail-closed feedback for a TUI review that cannot be exact. */
|
|
14
23
|
export function permissionReviewRefusal(reason) {
|
|
15
24
|
return reason === 'too_large'
|
|
@@ -182,10 +191,15 @@ export function buildPermissionReview(calls, maxBytes = MAX_PERMISSION_REVIEW_BY
|
|
|
182
191
|
* Derive a readable review from the immutable exact envelope.
|
|
183
192
|
*
|
|
184
193
|
* This never reads the original tool objects: `buildPermissionReview` has
|
|
185
|
-
* already rejected getters, prototypes and non-JSON values. A
|
|
186
|
-
*
|
|
187
|
-
*
|
|
188
|
-
*
|
|
194
|
+
* already rejected getters, prototypes and non-JSON values. A summary is
|
|
195
|
+
* `complete` when it shows every key of every call, and callers open the
|
|
196
|
+
* readable view by default only then — so a friendly label can never hide a
|
|
197
|
+
* suffix. Two ways to be complete: a formatter below whose key set and value
|
|
198
|
+
* types are exhaustive, or, for a tool no formatter here knows (`read`,
|
|
199
|
+
* `grep`, a connected server's tool), every key with its full JSON-escaped
|
|
200
|
+
* value. A tool that HAS a formatter but arrives in a shape it does not know
|
|
201
|
+
* is the one case that opens exact-first: the formatter is stale, and a
|
|
202
|
+
* reader should see that rather than a projection that happens to be right.
|
|
189
203
|
*/
|
|
190
204
|
export function buildPermissionSummary(review) {
|
|
191
205
|
let parsed;
|
|
@@ -246,7 +260,10 @@ function summarizeKnownCall(name, input) {
|
|
|
246
260
|
if (shapeIsKnown) {
|
|
247
261
|
return {
|
|
248
262
|
lines: [
|
|
249
|
-
|
|
263
|
+
// Escaped the way JSON escapes, so a control character or a
|
|
264
|
+
// newline cannot pose as a second command, but without the
|
|
265
|
+
// quotes: the operator is reading a command, not a string.
|
|
266
|
+
`$ ${JSON.stringify(input.command).slice(1, -1)}`,
|
|
250
267
|
...(input.timeout !== undefined ? [`timeout: ${String(input.timeout)} ms`] : []),
|
|
251
268
|
...(input.run_in_background !== undefined
|
|
252
269
|
? [`background: ${input.run_in_background ? 'yes' : 'no'}`]
|
|
@@ -325,11 +342,33 @@ function summarizeKnownCall(name, input) {
|
|
|
325
342
|
};
|
|
326
343
|
}
|
|
327
344
|
}
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
345
|
+
if (FORMATTED_TOOLS.has(name)) {
|
|
346
|
+
// A shape this file formats, in a form it does not know: the formatter
|
|
347
|
+
// is stale. Exact-first, so nobody reads a projection that merely
|
|
348
|
+
// happens to be right.
|
|
349
|
+
return { lines: [`input: ${JSON.stringify(input)}`], complete: false };
|
|
350
|
+
}
|
|
351
|
+
// A name that is not a plain token — a control character, a bidi mark —
|
|
352
|
+
// is the kind of thing the exact view exists to expose. Exact-first.
|
|
353
|
+
if (!PLAIN_TOOL_NAME.test(name)) {
|
|
354
|
+
return { lines: [`input: ${JSON.stringify(input)}`], complete: false };
|
|
355
|
+
}
|
|
356
|
+
// No formatter, so nothing can be stale: every key, every value, escaped
|
|
357
|
+
// so a value cannot pose as a key or drive the terminal.
|
|
358
|
+
if (isRecord(input)) {
|
|
359
|
+
const keys = Object.keys(input);
|
|
360
|
+
return {
|
|
361
|
+
lines: keys.length === 0
|
|
362
|
+
? ['(no input)']
|
|
363
|
+
: keys.map((key) => `${key}: ${JSON.stringify(input[key])}`),
|
|
364
|
+
complete: true,
|
|
365
|
+
};
|
|
366
|
+
}
|
|
367
|
+
return { lines: [`input: ${JSON.stringify(input)}`], complete: true };
|
|
332
368
|
}
|
|
369
|
+
const PLAIN_TOOL_NAME = /^[\w.:-]+$/u;
|
|
370
|
+
/** The tools with a formatter above; an evolved shape of one opens exact-first. */
|
|
371
|
+
const FORMATTED_TOOLS = new Set(['bash', 'edit', 'write', 'Agent']);
|
|
333
372
|
function oneLine(value) {
|
|
334
373
|
return value.replace(/\s+/gu, ' ').trim() || '(untitled task)';
|
|
335
374
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permission-review.js","sourceRoot":"","sources":["../../src/tui/permission-review.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"permission-review.js","sourceRoot":"","sources":["../../src/tui/permission-review.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Preferences, ProviderChoice } from '../integrations/providers/index.js';
|
|
2
|
+
/** Replace the primary while retaining the operator's remaining configuration. */
|
|
3
|
+
export declare function selectPrimaryProvider(previous: Preferences | null, selection: ProviderChoice): Preferences;
|
|
4
|
+
//# sourceMappingURL=provider-selection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-selection.d.ts","sourceRoot":"","sources":["../../src/tui/provider-selection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AAErF,kFAAkF;AAClF,wBAAgB,qBAAqB,CACpC,QAAQ,EAAE,WAAW,GAAG,IAAI,EAC5B,SAAS,EAAE,cAAc,GACvB,WAAW,CAab"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/** Replace the primary while retaining the operator's remaining configuration. */
|
|
2
|
+
export function selectPrimaryProvider(previous, selection) {
|
|
3
|
+
const pinned = previous?.providers.find((provider) => provider.id === selection.id);
|
|
4
|
+
const model = selection.model ?? pinned?.model;
|
|
5
|
+
return {
|
|
6
|
+
...(previous ?? { subagents: { active: [] } }),
|
|
7
|
+
version: 3,
|
|
8
|
+
providers: [
|
|
9
|
+
{ id: selection.id, ...(model !== undefined ? { model } : {}) },
|
|
10
|
+
...(previous?.providers
|
|
11
|
+
.slice(1)
|
|
12
|
+
.filter((provider) => provider.id !== selection.id || provider.model !== model) ?? []),
|
|
13
|
+
],
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=provider-selection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-selection.js","sourceRoot":"","sources":["../../src/tui/provider-selection.ts"],"names":[],"mappings":"AAEA,kFAAkF;AAClF,MAAM,UAAU,qBAAqB,CACpC,QAA4B,EAC5B,SAAyB;IAEzB,MAAM,MAAM,GAAG,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,CAAA;IACnF,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,IAAI,MAAM,EAAE,KAAK,CAAA;IAC9C,OAAO;QACN,GAAG,CAAC,QAAQ,IAAI,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;QAC9C,OAAO,EAAE,CAAC;QACV,SAAS,EAAE;YACV,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;YAC/D,GAAG,CAAC,QAAQ,EAAE,SAAS;iBACrB,KAAK,CAAC,CAAC,CAAC;iBACR,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,IAAI,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;SACvF;KACD,CAAA;AACF,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { AgentEvent } from './agent.js';
|
|
2
|
-
type Interruption = Extract<AgentEvent, {
|
|
2
|
+
export type Interruption = Extract<AgentEvent, {
|
|
3
3
|
kind: 'error' | 'paused';
|
|
4
4
|
}>;
|
|
5
|
+
/** The delay the provider asked for, from either place the event can carry it. */
|
|
6
|
+
export declare function retryAfterMs(event: Interruption): number | undefined;
|
|
5
7
|
/**
|
|
6
8
|
* Human copy for a terminal interruption, derived only from event facts.
|
|
7
9
|
*
|
|
@@ -10,5 +12,4 @@ type Interruption = Extract<AgentEvent, {
|
|
|
10
12
|
* SDK catalog did not claim a failure, the provider reason is all we know.
|
|
11
13
|
*/
|
|
12
14
|
export declare function describeRunInterruption(event: Interruption): string;
|
|
13
|
-
export {};
|
|
14
15
|
//# sourceMappingURL=run-interruption.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-interruption.d.ts","sourceRoot":"","sources":["../../src/tui/run-interruption.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAG5C,
|
|
1
|
+
{"version":3,"file":"run-interruption.d.ts","sourceRoot":"","sources":["../../src/tui/run-interruption.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAG5C,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,EAAE;IAAE,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAA;CAAE,CAAC,CAAA;AAQ5E,kFAAkF;AAClF,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAKpE;AAyBD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAyBnE"}
|
|
@@ -4,7 +4,8 @@ function line(value, max = 480) {
|
|
|
4
4
|
const clean = terminalDisplayText(value).replace(/\s+/g, ' ').trim();
|
|
5
5
|
return clean.length <= max ? clean : `${clean.slice(0, Math.max(0, max - 1))}…`;
|
|
6
6
|
}
|
|
7
|
-
|
|
7
|
+
/** The delay the provider asked for, from either place the event can carry it. */
|
|
8
|
+
export function retryAfterMs(event) {
|
|
8
9
|
const direct = event.providerError?.retryAfterMs;
|
|
9
10
|
const projected = event.failure?.details?.retryAfterMs;
|
|
10
11
|
const value = typeof direct === 'number' ? direct : projected;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-interruption.js","sourceRoot":"","sources":["../../src/tui/run-interruption.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAI3D,oFAAoF;AACpF,SAAS,IAAI,CAAC,KAAa,EAAE,GAAG,GAAG,GAAG;IACrC,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;IACpE,OAAO,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;AAChF,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"run-interruption.js","sourceRoot":"","sources":["../../src/tui/run-interruption.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `!command` — the operator's own shell command, run without the model.
|
|
3
|
+
*
|
|
4
|
+
* What other coding agents call bash mode: a line that starts with `!` is
|
|
5
|
+
* not a prompt, it is a command the operator wants run right now, with the
|
|
6
|
+
* output in the transcript where the model will see it on the next turn.
|
|
7
|
+
* It runs on the host with the operator's authority, exactly as typing it
|
|
8
|
+
* in another terminal would — so it is not the model's `bash`, it does not
|
|
9
|
+
* pass the authorization gate, and it does not enter the sandbox. That is
|
|
10
|
+
* the point: the operator is not a tool call.
|
|
11
|
+
*
|
|
12
|
+
* Bounded all the same. A command that does not end within the cap is
|
|
13
|
+
* killed with its process group, and output is cut at a size the
|
|
14
|
+
* transcript can hold.
|
|
15
|
+
*/
|
|
16
|
+
export declare const SHELL_ESCAPE_TIMEOUT_MS = 60000;
|
|
17
|
+
export declare const SHELL_ESCAPE_MAX_OUTPUT_CHARS = 20000;
|
|
18
|
+
export interface ShellEscapeResult {
|
|
19
|
+
readonly output: string;
|
|
20
|
+
readonly exitCode: number | null;
|
|
21
|
+
readonly timedOut: boolean;
|
|
22
|
+
readonly truncated: boolean;
|
|
23
|
+
readonly durationMs: number;
|
|
24
|
+
}
|
|
25
|
+
/** The command behind a `!` line, or null when the line is not one. */
|
|
26
|
+
export declare function shellEscapeCommand(line: string): string | null;
|
|
27
|
+
export declare function runShellEscape(command: string, options: {
|
|
28
|
+
readonly cwd: string;
|
|
29
|
+
readonly timeoutMs?: number;
|
|
30
|
+
readonly signal?: AbortSignal;
|
|
31
|
+
}): Promise<ShellEscapeResult>;
|
|
32
|
+
/**
|
|
33
|
+
* What the model is told on its next turn. The operator ran this with their
|
|
34
|
+
* own hands; the model did not see it happen, and a `!` line that left no
|
|
35
|
+
* trace for the model would be a command the operator has to repeat in
|
|
36
|
+
* prose. Cut to a size a system block can carry.
|
|
37
|
+
*/
|
|
38
|
+
export declare function describeShellEscapeForModel(command: string, result: ShellEscapeResult): string;
|
|
39
|
+
export declare const SHELL_ESCAPE_MODEL_CHARS = 8000;
|
|
40
|
+
/** The transcript row for a finished `!` command. */
|
|
41
|
+
export declare function describeShellEscape(command: string, result: ShellEscapeResult): string;
|
|
42
|
+
//# sourceMappingURL=shell-escape.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shell-escape.d.ts","sourceRoot":"","sources":["../../src/tui/shell-escape.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,eAAO,MAAM,uBAAuB,QAAS,CAAA;AAC7C,eAAO,MAAM,6BAA6B,QAAS,CAAA;AAEnD,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC3B;AAED,uEAAuE;AACvE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI9D;AAED,wBAAgB,cAAc,CAC7B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,GAC3F,OAAO,CAAC,iBAAiB,CAAC,CAyD5B;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAO9F;AAED,eAAO,MAAM,wBAAwB,OAAQ,CAAA;AAE7C,qDAAqD;AACrD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAOtF"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `!command` — the operator's own shell command, run without the model.
|
|
3
|
+
*
|
|
4
|
+
* What other coding agents call bash mode: a line that starts with `!` is
|
|
5
|
+
* not a prompt, it is a command the operator wants run right now, with the
|
|
6
|
+
* output in the transcript where the model will see it on the next turn.
|
|
7
|
+
* It runs on the host with the operator's authority, exactly as typing it
|
|
8
|
+
* in another terminal would — so it is not the model's `bash`, it does not
|
|
9
|
+
* pass the authorization gate, and it does not enter the sandbox. That is
|
|
10
|
+
* the point: the operator is not a tool call.
|
|
11
|
+
*
|
|
12
|
+
* Bounded all the same. A command that does not end within the cap is
|
|
13
|
+
* killed with its process group, and output is cut at a size the
|
|
14
|
+
* transcript can hold.
|
|
15
|
+
*/
|
|
16
|
+
import { spawn } from 'node:child_process';
|
|
17
|
+
export const SHELL_ESCAPE_TIMEOUT_MS = 60_000;
|
|
18
|
+
export const SHELL_ESCAPE_MAX_OUTPUT_CHARS = 20_000;
|
|
19
|
+
/** The command behind a `!` line, or null when the line is not one. */
|
|
20
|
+
export function shellEscapeCommand(line) {
|
|
21
|
+
if (!line.startsWith('!'))
|
|
22
|
+
return null;
|
|
23
|
+
const command = line.slice(1).trim();
|
|
24
|
+
return command.length > 0 ? command : null;
|
|
25
|
+
}
|
|
26
|
+
export function runShellEscape(command, options) {
|
|
27
|
+
const timeoutMs = options.timeoutMs ?? SHELL_ESCAPE_TIMEOUT_MS;
|
|
28
|
+
const startedAt = Date.now();
|
|
29
|
+
return new Promise((resolve) => {
|
|
30
|
+
const child = spawn('/bin/sh', ['-c', command], {
|
|
31
|
+
cwd: options.cwd,
|
|
32
|
+
env: process.env,
|
|
33
|
+
detached: process.platform !== 'win32',
|
|
34
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
35
|
+
});
|
|
36
|
+
let output = '';
|
|
37
|
+
let truncated = false;
|
|
38
|
+
let timedOut = false;
|
|
39
|
+
let settled = false;
|
|
40
|
+
const append = (chunk) => {
|
|
41
|
+
if (truncated)
|
|
42
|
+
return;
|
|
43
|
+
output += chunk.toString('utf8');
|
|
44
|
+
if (output.length > SHELL_ESCAPE_MAX_OUTPUT_CHARS) {
|
|
45
|
+
output = output.slice(0, SHELL_ESCAPE_MAX_OUTPUT_CHARS);
|
|
46
|
+
truncated = true;
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
child.stdout?.on('data', append);
|
|
50
|
+
child.stderr?.on('data', append);
|
|
51
|
+
const killTree = () => {
|
|
52
|
+
if (child.pid !== undefined && process.platform !== 'win32') {
|
|
53
|
+
try {
|
|
54
|
+
process.kill(-child.pid, 'SIGKILL');
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
// Group already gone; fall through to the child alone.
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
child.kill('SIGKILL');
|
|
62
|
+
};
|
|
63
|
+
const timer = setTimeout(() => {
|
|
64
|
+
timedOut = true;
|
|
65
|
+
killTree();
|
|
66
|
+
}, timeoutMs);
|
|
67
|
+
const onAbort = () => killTree();
|
|
68
|
+
options.signal?.addEventListener('abort', onAbort, { once: true });
|
|
69
|
+
const finish = (exitCode) => {
|
|
70
|
+
if (settled)
|
|
71
|
+
return;
|
|
72
|
+
settled = true;
|
|
73
|
+
clearTimeout(timer);
|
|
74
|
+
options.signal?.removeEventListener('abort', onAbort);
|
|
75
|
+
resolve({ output, exitCode, timedOut, truncated, durationMs: Date.now() - startedAt });
|
|
76
|
+
};
|
|
77
|
+
child.on('error', () => finish(null));
|
|
78
|
+
child.on('close', (code) => finish(code));
|
|
79
|
+
child.on('exit', () => {
|
|
80
|
+
if (timedOut || options.signal?.aborted) {
|
|
81
|
+
child.stdout?.destroy();
|
|
82
|
+
child.stderr?.destroy();
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* What the model is told on its next turn. The operator ran this with their
|
|
89
|
+
* own hands; the model did not see it happen, and a `!` line that left no
|
|
90
|
+
* trace for the model would be a command the operator has to repeat in
|
|
91
|
+
* prose. Cut to a size a system block can carry.
|
|
92
|
+
*/
|
|
93
|
+
export function describeShellEscapeForModel(command, result) {
|
|
94
|
+
const body = result.output.replace(/\n$/u, '');
|
|
95
|
+
const cut = body.length > SHELL_ESCAPE_MODEL_CHARS
|
|
96
|
+
? `${body.slice(0, SHELL_ESCAPE_MODEL_CHARS)}\n… (output cut)`
|
|
97
|
+
: body;
|
|
98
|
+
return `$ ${command}\n${cut.length > 0 ? `${cut}\n` : ''}(${describeShellEscape(command, result).replace(/^! .* · /u, '')})`;
|
|
99
|
+
}
|
|
100
|
+
export const SHELL_ESCAPE_MODEL_CHARS = 8_000;
|
|
101
|
+
/** The transcript row for a finished `!` command. */
|
|
102
|
+
export function describeShellEscape(command, result) {
|
|
103
|
+
const state = result.timedOut
|
|
104
|
+
? `killed after ${Math.round((result.durationMs ?? 0) / 1000)}s`
|
|
105
|
+
: result.exitCode === 0
|
|
106
|
+
? 'exit 0'
|
|
107
|
+
: `exit ${result.exitCode ?? '?'}`;
|
|
108
|
+
return `! ${command} · ${state}${result.truncated ? ' · output cut' : ''}`;
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=shell-escape.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shell-escape.js","sourceRoot":"","sources":["../../src/tui/shell-escape.ts"],"names":[],"mappings":"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"}
|