@namzu/cli 12.1.0 → 13.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 +25 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +119 -60
- package/dist/cli.js.map +1 -1
- package/dist/commands/acp.d.ts +24 -8
- package/dist/commands/acp.d.ts.map +1 -1
- package/dist/commands/acp.js +221 -80
- package/dist/commands/acp.js.map +1 -1
- package/dist/commands/drain.d.ts.map +1 -1
- package/dist/commands/drain.js +45 -9
- package/dist/commands/drain.js.map +1 -1
- package/dist/commands/prior-messages.d.ts +11 -0
- package/dist/commands/prior-messages.d.ts.map +1 -0
- package/dist/commands/prior-messages.js +280 -0
- package/dist/commands/prior-messages.js.map +1 -0
- package/dist/commands/resume.d.ts.map +1 -1
- package/dist/commands/resume.js +21 -19
- package/dist/commands/resume.js.map +1 -1
- package/dist/commands/run-stream.d.ts +5 -3
- package/dist/commands/run-stream.d.ts.map +1 -1
- package/dist/commands/run-stream.js +66 -62
- package/dist/commands/run-stream.js.map +1 -1
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +50 -37
- package/dist/commands/run.js.map +1 -1
- package/dist/config/debug.d.ts +55 -0
- package/dist/config/debug.d.ts.map +1 -0
- package/dist/config/debug.js +126 -0
- package/dist/config/debug.js.map +1 -0
- package/dist/config/load.d.ts +88 -4
- package/dist/config/load.d.ts.map +1 -1
- package/dist/config/load.js +386 -56
- package/dist/config/load.js.map +1 -1
- package/dist/config/schema.d.ts +87 -5
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +5 -5
- package/dist/config/schema.js.map +1 -1
- package/dist/config/trusted-project-context.d.ts +11 -0
- package/dist/config/trusted-project-context.d.ts.map +1 -0
- package/dist/config/trusted-project-context.js +28 -0
- package/dist/config/trusted-project-context.js.map +1 -0
- package/dist/context/project-path.d.ts +3 -0
- package/dist/context/project-path.d.ts.map +1 -0
- package/dist/context/project-path.js +16 -0
- package/dist/context/project-path.js.map +1 -0
- package/dist/context/project-tracker.d.ts +30 -0
- package/dist/context/project-tracker.d.ts.map +1 -0
- package/dist/context/project-tracker.js +217 -0
- package/dist/context/project-tracker.js.map +1 -0
- package/dist/context/sandbox.d.ts +29 -9
- package/dist/context/sandbox.d.ts.map +1 -1
- package/dist/context/sandbox.js +8 -0
- package/dist/context/sandbox.js.map +1 -1
- package/dist/exit-codes.d.ts +5 -4
- package/dist/exit-codes.d.ts.map +1 -1
- package/dist/exit-codes.js +5 -4
- package/dist/exit-codes.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/integrations/clipboard/text.d.ts +43 -0
- package/dist/integrations/clipboard/text.d.ts.map +1 -0
- package/dist/integrations/clipboard/text.js +43 -0
- package/dist/integrations/clipboard/text.js.map +1 -0
- package/dist/integrations/mcp/servers.d.ts +9 -0
- package/dist/integrations/mcp/servers.d.ts.map +1 -1
- package/dist/integrations/mcp/servers.js +11 -4
- package/dist/integrations/mcp/servers.js.map +1 -1
- package/dist/integrations/notifications/terminal.d.ts +32 -0
- package/dist/integrations/notifications/terminal.d.ts.map +1 -0
- package/dist/integrations/notifications/terminal.js +46 -0
- package/dist/integrations/notifications/terminal.js.map +1 -0
- package/dist/integrations/plugins/runtime.d.ts +17 -0
- package/dist/integrations/plugins/runtime.d.ts.map +1 -0
- package/dist/integrations/plugins/runtime.js +100 -0
- package/dist/integrations/plugins/runtime.js.map +1 -0
- package/dist/integrations/providers/credential-store.d.ts +17 -0
- package/dist/integrations/providers/credential-store.d.ts.map +1 -1
- package/dist/integrations/providers/credential-store.js +114 -2
- package/dist/integrations/providers/credential-store.js.map +1 -1
- package/dist/integrations/providers/index.d.ts +2 -2
- package/dist/integrations/providers/index.d.ts.map +1 -1
- package/dist/integrations/providers/index.js +2 -2
- package/dist/integrations/providers/index.js.map +1 -1
- package/dist/integrations/providers/keychain.d.ts +0 -13
- package/dist/integrations/providers/keychain.d.ts.map +1 -1
- package/dist/integrations/providers/keychain.js +0 -76
- package/dist/integrations/providers/keychain.js.map +1 -1
- package/dist/integrations/providers/oauth.d.ts +45 -16
- package/dist/integrations/providers/oauth.d.ts.map +1 -1
- package/dist/integrations/providers/oauth.js +170 -43
- package/dist/integrations/providers/oauth.js.map +1 -1
- package/dist/integrations/providers/subscription-login.d.ts +2 -0
- package/dist/integrations/providers/subscription-login.d.ts.map +1 -1
- package/dist/integrations/providers/subscription-login.js +117 -14
- package/dist/integrations/providers/subscription-login.js.map +1 -1
- package/dist/integrations/sessions/store.d.ts +111 -1
- package/dist/integrations/sessions/store.d.ts.map +1 -1
- package/dist/integrations/sessions/store.js +400 -7
- package/dist/integrations/sessions/store.js.map +1 -1
- package/dist/integrations/sessions/transcript-export.d.ts +25 -0
- package/dist/integrations/sessions/transcript-export.d.ts.map +1 -0
- package/dist/integrations/sessions/transcript-export.js +441 -0
- package/dist/integrations/sessions/transcript-export.js.map +1 -0
- package/dist/integrations/sessions/turn-evidence.d.ts +138 -0
- package/dist/integrations/sessions/turn-evidence.d.ts.map +1 -0
- package/dist/integrations/sessions/turn-evidence.js +506 -0
- package/dist/integrations/sessions/turn-evidence.js.map +1 -0
- package/dist/integrations/subagents/runtime.d.ts +7 -12
- package/dist/integrations/subagents/runtime.d.ts.map +1 -1
- package/dist/integrations/subagents/runtime.js +19 -10
- package/dist/integrations/subagents/runtime.js.map +1 -1
- package/dist/integrations/trust/store.d.ts.map +1 -1
- package/dist/integrations/trust/store.js +27 -13
- package/dist/integrations/trust/store.js.map +1 -1
- package/dist/permissions/canonical-project.d.ts +9 -0
- package/dist/permissions/canonical-project.d.ts.map +1 -0
- package/dist/permissions/canonical-project.js +13 -0
- package/dist/permissions/canonical-project.js.map +1 -0
- package/dist/permissions/checks.d.ts +65 -0
- package/dist/permissions/checks.d.ts.map +1 -0
- package/dist/permissions/checks.js +122 -0
- package/dist/permissions/checks.js.map +1 -0
- package/dist/permissions/headless-trust.d.ts +9 -5
- package/dist/permissions/headless-trust.d.ts.map +1 -1
- package/dist/permissions/headless-trust.js +18 -4
- package/dist/permissions/headless-trust.js.map +1 -1
- package/dist/permissions/rules.d.ts +16 -7
- package/dist/permissions/rules.d.ts.map +1 -1
- package/dist/permissions/rules.js +78 -13
- package/dist/permissions/rules.js.map +1 -1
- package/dist/tui/App.d.ts +5 -2
- package/dist/tui/App.d.ts.map +1 -1
- package/dist/tui/App.js +1555 -143
- package/dist/tui/App.js.map +1 -1
- package/dist/tui/Composer.d.ts +14 -3
- package/dist/tui/Composer.d.ts.map +1 -1
- package/dist/tui/Composer.js +53 -15
- package/dist/tui/Composer.js.map +1 -1
- package/dist/tui/EditPromptPicker.d.ts +8 -0
- package/dist/tui/EditPromptPicker.d.ts.map +1 -0
- package/dist/tui/EditPromptPicker.js +18 -0
- package/dist/tui/EditPromptPicker.js.map +1 -0
- package/dist/tui/LiveActivity.d.ts.map +1 -1
- package/dist/tui/LiveActivity.js +2 -1
- package/dist/tui/LiveActivity.js.map +1 -1
- package/dist/tui/Markdown.d.ts.map +1 -1
- package/dist/tui/Markdown.js +2 -1
- package/dist/tui/Markdown.js.map +1 -1
- package/dist/tui/PermissionOverlay.d.ts.map +1 -1
- package/dist/tui/PermissionOverlay.js +7 -1
- package/dist/tui/PermissionOverlay.js.map +1 -1
- package/dist/tui/Picker.d.ts +4 -4
- package/dist/tui/Picker.d.ts.map +1 -1
- package/dist/tui/Picker.js +86 -7
- package/dist/tui/Picker.js.map +1 -1
- package/dist/tui/ResumePicker.d.ts.map +1 -1
- package/dist/tui/ResumePicker.js +1 -1
- package/dist/tui/ResumePicker.js.map +1 -1
- package/dist/tui/Transcript.d.ts +4 -2
- package/dist/tui/Transcript.d.ts.map +1 -1
- package/dist/tui/Transcript.js +31 -5
- package/dist/tui/Transcript.js.map +1 -1
- package/dist/tui/agent.d.ts +123 -19
- package/dist/tui/agent.d.ts.map +1 -1
- package/dist/tui/agent.js +665 -143
- package/dist/tui/agent.js.map +1 -1
- package/dist/tui/compact-transcript.d.ts +24 -0
- package/dist/tui/compact-transcript.d.ts.map +1 -0
- package/dist/tui/compact-transcript.js +46 -0
- package/dist/tui/compact-transcript.js.map +1 -0
- package/dist/tui/conversation-history.d.ts +33 -0
- package/dist/tui/conversation-history.d.ts.map +1 -0
- package/dist/tui/conversation-history.js +42 -0
- package/dist/tui/conversation-history.js.map +1 -0
- package/dist/tui/edit-prompts.d.ts +23 -0
- package/dist/tui/edit-prompts.d.ts.map +1 -0
- package/dist/tui/edit-prompts.js +35 -0
- package/dist/tui/edit-prompts.js.map +1 -0
- package/dist/tui/live-window.d.ts +3 -1
- package/dist/tui/live-window.d.ts.map +1 -1
- package/dist/tui/live-window.js +20 -8
- package/dist/tui/live-window.js.map +1 -1
- package/dist/tui/slashCommands.d.ts +178 -9
- package/dist/tui/slashCommands.d.ts.map +1 -1
- package/dist/tui/slashCommands.js +339 -15
- package/dist/tui/slashCommands.js.map +1 -1
- package/dist/tui/terminal-display.d.ts +12 -0
- package/dist/tui/terminal-display.d.ts.map +1 -0
- package/dist/tui/terminal-display.js +65 -0
- package/dist/tui/terminal-display.js.map +1 -0
- package/dist/tui/types.d.ts +14 -2
- package/dist/tui/types.d.ts.map +1 -1
- package/dist/tui/workspace-diff.d.ts +40 -0
- package/dist/tui/workspace-diff.d.ts.map +1 -0
- package/dist/tui/workspace-diff.js +101 -0
- package/dist/tui/workspace-diff.js.map +1 -0
- package/package.json +7 -7
package/dist/tui/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tui/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tui/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAEpD,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAA;AAElE,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,wEAAwE;IACxE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,8DAA8D;IAC9D,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,iEAAiE;IACjE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,4DAA4D;IAC5D,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACnC;;;;;;;OAOG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CACjC;AAED,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,mBAAmB,CAAA;IAC1C,sGAAsG;IACtG,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;IAClC;;;;;;;;;OASG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAA;IAC7C;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAA;IACtC,iEAAiE;IACjE,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAA;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAA;IAChC,4EAA4E;IAC5E,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,CAAA;IACxB;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,CAAA;CAClC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export interface WorkspaceDiff {
|
|
2
|
+
/** `git diff --stat`, one line per file. Empty when nothing changed. */
|
|
3
|
+
readonly stat: string;
|
|
4
|
+
/** The patch body, possibly truncated — see `truncated`. */
|
|
5
|
+
readonly patch: string;
|
|
6
|
+
readonly truncated: boolean;
|
|
7
|
+
/** Paths git knows nothing about yet, which no diff would show. */
|
|
8
|
+
readonly untracked: readonly string[];
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* What is uncommitted in this working tree.
|
|
12
|
+
*
|
|
13
|
+
* **Not "what this session changed", and the command says so.** The CLI cannot
|
|
14
|
+
* tell the agent's edits from the operator's: the tool events carry a
|
|
15
|
+
* human-readable summary rather than a path, and parsing a path back out of
|
|
16
|
+
* prose would be a guess dressed as attribution. Reporting the working tree and
|
|
17
|
+
* naming it accurately is the answer that is true.
|
|
18
|
+
*
|
|
19
|
+
* `null` means "I cannot tell" — not a repository, no git, a timeout — and a
|
|
20
|
+
* caller must say that rather than render an empty diff, which reads as
|
|
21
|
+
* "nothing changed" and is a different claim entirely. The same contract
|
|
22
|
+
* `fingerprintWorkspace` holds, for the same reason.
|
|
23
|
+
*
|
|
24
|
+
* Untracked files are listed separately because `git diff` does not show them
|
|
25
|
+
* at all: a session whose entire output is new files would otherwise report
|
|
26
|
+
* that it changed nothing.
|
|
27
|
+
*/
|
|
28
|
+
export declare function workspaceDiff(cwd: string): Promise<WorkspaceDiff | null>;
|
|
29
|
+
/**
|
|
30
|
+
* The diff as transcript lines: a short answer, with the patch underneath.
|
|
31
|
+
*
|
|
32
|
+
* Returned as `{ summary, detail }` rather than one blob so the caller can put
|
|
33
|
+
* the body in a collapsed block — the same treatment a tool's output gets, and
|
|
34
|
+
* for the same reason.
|
|
35
|
+
*/
|
|
36
|
+
export declare function renderWorkspaceDiff(diff: WorkspaceDiff | null): {
|
|
37
|
+
summary: string;
|
|
38
|
+
detail: readonly string[];
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=workspace-diff.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-diff.d.ts","sourceRoot":"","sources":["../../src/tui/workspace-diff.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,aAAa;IAC7B,wEAAwE;IACxE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,4DAA4D;IAC5D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,mEAAmE;IACnE,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAA;CACrC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CA4B9E;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,GAAG;IAChE,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;CACzB,CAoCA"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { execFile } from 'node:child_process';
|
|
2
|
+
import { promisify } from 'node:util';
|
|
3
|
+
const run = promisify(execFile);
|
|
4
|
+
/** Long enough for a large repository, short enough not to hang a keystroke. */
|
|
5
|
+
const DIFF_TIMEOUT_MS = 10_000;
|
|
6
|
+
/**
|
|
7
|
+
* Bytes of patch body to show before saying how much was left out.
|
|
8
|
+
*
|
|
9
|
+
* A transcript is not a pager. A diff that scrolls the session away answers
|
|
10
|
+
* "what changed" by making the answer unreadable, and the operator's next move
|
|
11
|
+
* is `git diff` in another terminal anyway — so the cap is generous enough for
|
|
12
|
+
* an ordinary change and honest about the rest.
|
|
13
|
+
*/
|
|
14
|
+
const DIFF_MAX_BYTES = 24_000;
|
|
15
|
+
/**
|
|
16
|
+
* What is uncommitted in this working tree.
|
|
17
|
+
*
|
|
18
|
+
* **Not "what this session changed", and the command says so.** The CLI cannot
|
|
19
|
+
* tell the agent's edits from the operator's: the tool events carry a
|
|
20
|
+
* human-readable summary rather than a path, and parsing a path back out of
|
|
21
|
+
* prose would be a guess dressed as attribution. Reporting the working tree and
|
|
22
|
+
* naming it accurately is the answer that is true.
|
|
23
|
+
*
|
|
24
|
+
* `null` means "I cannot tell" — not a repository, no git, a timeout — and a
|
|
25
|
+
* caller must say that rather than render an empty diff, which reads as
|
|
26
|
+
* "nothing changed" and is a different claim entirely. The same contract
|
|
27
|
+
* `fingerprintWorkspace` holds, for the same reason.
|
|
28
|
+
*
|
|
29
|
+
* Untracked files are listed separately because `git diff` does not show them
|
|
30
|
+
* at all: a session whose entire output is new files would otherwise report
|
|
31
|
+
* that it changed nothing.
|
|
32
|
+
*/
|
|
33
|
+
export async function workspaceDiff(cwd) {
|
|
34
|
+
const git = async (args) => {
|
|
35
|
+
try {
|
|
36
|
+
const { stdout } = await run('git', [...args], {
|
|
37
|
+
cwd,
|
|
38
|
+
timeout: DIFF_TIMEOUT_MS,
|
|
39
|
+
maxBuffer: 1024 * 1024 * 8,
|
|
40
|
+
});
|
|
41
|
+
return stdout;
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
// Not a repository, git absent, timeout, or a buffer overrun. All of
|
|
45
|
+
// them mean the same thing here: no basis for an answer.
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
// Tracked changes only — `--` guards a branch or file named like a flag.
|
|
50
|
+
const stat = await git(['diff', '--stat', 'HEAD', '--']);
|
|
51
|
+
if (stat === null)
|
|
52
|
+
return null;
|
|
53
|
+
const patchRaw = (await git(['diff', 'HEAD', '--'])) ?? '';
|
|
54
|
+
const truncated = Buffer.byteLength(patchRaw, 'utf8') > DIFF_MAX_BYTES;
|
|
55
|
+
const patch = truncated ? patchRaw.slice(0, DIFF_MAX_BYTES) : patchRaw;
|
|
56
|
+
const untrackedRaw = (await git(['ls-files', '--others', '--exclude-standard'])) ?? '';
|
|
57
|
+
const untracked = untrackedRaw.split('\n').filter((line) => line.length > 0);
|
|
58
|
+
return { stat: stat.trimEnd(), patch, truncated, untracked };
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* The diff as transcript lines: a short answer, with the patch underneath.
|
|
62
|
+
*
|
|
63
|
+
* Returned as `{ summary, detail }` rather than one blob so the caller can put
|
|
64
|
+
* the body in a collapsed block — the same treatment a tool's output gets, and
|
|
65
|
+
* for the same reason.
|
|
66
|
+
*/
|
|
67
|
+
export function renderWorkspaceDiff(diff) {
|
|
68
|
+
if (diff === null) {
|
|
69
|
+
return {
|
|
70
|
+
summary: 'Cannot read a diff here — this is not a git repository, or git is unavailable.',
|
|
71
|
+
detail: [],
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
const nothingTracked = diff.stat.length === 0;
|
|
75
|
+
if (nothingTracked && diff.untracked.length === 0) {
|
|
76
|
+
return { summary: 'Working tree clean — nothing uncommitted.', detail: [] };
|
|
77
|
+
}
|
|
78
|
+
const parts = [];
|
|
79
|
+
if (!nothingTracked)
|
|
80
|
+
parts.push(diff.stat);
|
|
81
|
+
if (diff.untracked.length > 0) {
|
|
82
|
+
parts.push('');
|
|
83
|
+
parts.push(`Untracked (${diff.untracked.length}), which no diff shows:`);
|
|
84
|
+
for (const path of diff.untracked)
|
|
85
|
+
parts.push(` ${path}`);
|
|
86
|
+
}
|
|
87
|
+
const detail = [];
|
|
88
|
+
if (diff.patch.length > 0) {
|
|
89
|
+
detail.push(...diff.patch.split('\n'));
|
|
90
|
+
if (diff.truncated) {
|
|
91
|
+
detail.push('');
|
|
92
|
+
detail.push('… truncated. Run `git diff` for the rest.');
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
// Stated on every non-empty answer, because the alternative is an operator
|
|
96
|
+
// reading their own uncommitted work as the agent's.
|
|
97
|
+
parts.push('');
|
|
98
|
+
parts.push('This is the whole working tree, not only what the agent changed.');
|
|
99
|
+
return { summary: parts.join('\n'), detail };
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=workspace-diff.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-diff.js","sourceRoot":"","sources":["../../src/tui/workspace-diff.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@namzu/cli",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "13.0.0",
|
|
4
4
|
"description": "Operator CLI for the Namzu agent platform — namzu doctor + future commands. Dual-purpose: standalone bin (`namzu doctor`) and library (`import { runDoctor } from '@namzu/cli'`).",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"namzu",
|
|
@@ -44,13 +44,13 @@
|
|
|
44
44
|
"ink": "^7.0.3",
|
|
45
45
|
"react": "^19.2.6",
|
|
46
46
|
"yaml": "^2.9.0",
|
|
47
|
-
"@namzu/anthropic": "
|
|
48
|
-
"@namzu/deepseek": "^
|
|
49
|
-
"@namzu/ollama": "2.2.0",
|
|
50
|
-
"@namzu/openai": "1.3.0",
|
|
51
|
-
"@namzu/openrouter": "2.3.0",
|
|
47
|
+
"@namzu/anthropic": "4.0.0",
|
|
48
|
+
"@namzu/deepseek": "^1.0.0",
|
|
52
49
|
"@namzu/files": "1.1.0",
|
|
53
|
-
"@namzu/
|
|
50
|
+
"@namzu/ollama": "2.2.1",
|
|
51
|
+
"@namzu/openai": "1.4.0",
|
|
52
|
+
"@namzu/openrouter": "2.3.1",
|
|
53
|
+
"@namzu/sdk": "^31.0.0"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
56
|
"@biomejs/biome": "^1.9.4",
|