@pentoshi/clai 3.7.4 → 3.7.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/README.md +54 -19
  2. package/dist/agent/confirm-port.js +3 -2
  3. package/dist/agent/confirm-port.js.map +1 -1
  4. package/dist/agent/runner.js +22 -44
  5. package/dist/agent/runner.js.map +1 -1
  6. package/dist/agent/tool-call-parser.js +7 -0
  7. package/dist/agent/tool-call-parser.js.map +1 -1
  8. package/dist/commands/update.js +1 -1
  9. package/dist/prompts/embedded.js +2 -2
  10. package/dist/prompts/embedded.js.map +1 -1
  11. package/dist/prompts/index.js +2 -2
  12. package/dist/prompts/system.agent.md +2 -2
  13. package/dist/prompts/system.ask.md +1 -1
  14. package/dist/safety/classifier.js +2 -138
  15. package/dist/safety/classifier.js.map +1 -1
  16. package/dist/safety/patterns.d.ts +7 -7
  17. package/dist/safety/patterns.js +10 -11
  18. package/dist/safety/patterns.js.map +1 -1
  19. package/dist/tools/batch-fail-policy.d.ts +55 -0
  20. package/dist/tools/batch-fail-policy.js +261 -0
  21. package/dist/tools/batch-fail-policy.js.map +1 -0
  22. package/dist/tools/definitions.js +82 -3
  23. package/dist/tools/definitions.js.map +1 -1
  24. package/dist/tools/fs.js +3 -10
  25. package/dist/tools/fs.js.map +1 -1
  26. package/dist/tools/registry.d.ts +1 -0
  27. package/dist/tools/registry.js +263 -34
  28. package/dist/tools/registry.js.map +1 -1
  29. package/dist/tui-v2/bootstrap/overlay-ports.d.ts +5 -0
  30. package/dist/tui-v2/bootstrap/overlay-ports.js +63 -1
  31. package/dist/tui-v2/bootstrap/overlay-ports.js.map +1 -1
  32. package/dist/tui-v2/components/modal/confirm-modal.d.ts +2 -0
  33. package/dist/tui-v2/components/modal/confirm-modal.js +10 -3
  34. package/dist/tui-v2/components/modal/confirm-modal.js.map +1 -1
  35. package/dist/tui-v2/components/overlay/overlay-host.js +1 -1
  36. package/dist/tui-v2/components/overlay/overlay-host.js.map +1 -1
  37. package/dist/tui-v2/controllers/overlay-controller.d.ts +8 -1
  38. package/dist/tui-v2/controllers/overlay-controller.js +5 -3
  39. package/dist/tui-v2/controllers/overlay-controller.js.map +1 -1
  40. package/dist/tui-v2/rendering/batch-sections.d.ts +3 -0
  41. package/dist/tui-v2/rendering/batch-sections.js +40 -17
  42. package/dist/tui-v2/rendering/batch-sections.js.map +1 -1
  43. package/dist/tui-v2/rendering/file-diff-view.d.ts +2 -0
  44. package/dist/tui-v2/rendering/file-diff-view.js +61 -19
  45. package/dist/tui-v2/rendering/file-diff-view.js.map +1 -1
  46. package/package.json +1 -1
@@ -5,6 +5,11 @@
5
5
  * Prompt text is ported from the classic TUI's `confirm.ts` so both
6
6
  * frontends read the same way.
7
7
  */
8
+ import { readFile } from "node:fs/promises";
9
+ import { homedir } from "node:os";
10
+ import { resolve } from "node:path";
11
+ /** Cap for delete-preview body so huge files do not flood the pager. */
12
+ const PREVIEW_MAX_BYTES = 256 * 1024;
8
13
  function describeCall(call) {
9
14
  if (call.name === "shell.exec")
10
15
  return String(call.args.command ?? "");
@@ -16,11 +21,68 @@ function describeCall(call) {
16
21
  return "";
17
22
  }
18
23
  }
24
+ function expandUserPath(path) {
25
+ if (path.startsWith("~/") || path.startsWith("~\\")) {
26
+ return resolve(homedir(), path.slice(2));
27
+ }
28
+ if (path === "~")
29
+ return homedir();
30
+ return path;
31
+ }
32
+ /**
33
+ * Load a text preview of a path for the delete-confirm `v` action.
34
+ * Binary / unreadable files get a short diagnostic instead of a crash.
35
+ */
36
+ export async function loadDeletePreview(path) {
37
+ const resolved = expandUserPath(path);
38
+ try {
39
+ const buf = await readFile(resolved);
40
+ const head = buf.subarray(0, PREVIEW_MAX_BYTES);
41
+ // Heuristic: high NUL density ⇒ binary
42
+ let nuls = 0;
43
+ for (let i = 0; i < head.length; i += 1) {
44
+ if (head[i] === 0)
45
+ nuls += 1;
46
+ }
47
+ if (nuls > 0 && nuls / Math.max(1, head.length) > 0.01) {
48
+ return (`File: ${resolved}\nSize: ${buf.length} bytes\n\n` +
49
+ `(binary or non-text content — not shown as UTF-8)\n` +
50
+ `Approve with y to delete, or n/esc to cancel.`);
51
+ }
52
+ let text = head.toString("utf8");
53
+ if (buf.length > PREVIEW_MAX_BYTES) {
54
+ text +=
55
+ `\n\n… truncated preview (${PREVIEW_MAX_BYTES} of ${buf.length} bytes). ` +
56
+ `Full file still on disk until you approve delete.`;
57
+ }
58
+ return `File: ${resolved}\nSize: ${buf.length} bytes\n\n${text}`;
59
+ }
60
+ catch (err) {
61
+ const msg = err instanceof Error ? err.message : String(err);
62
+ return (`File: ${resolved}\n\n(could not read for preview: ${msg})\n` +
63
+ `You can still approve delete with y, or cancel with n/esc.`);
64
+ }
65
+ }
19
66
  export function createOverlayConfirmPort(overlay) {
20
67
  return {
21
68
  async confirmTool(call) {
69
+ const isDelete = call.name === "fs.delete";
70
+ const path = typeof call.args.path === "string" ? call.args.path.trim() : "";
71
+ if (isDelete && path) {
72
+ const prompt = `DELETE this path?\n${path}\n\n` +
73
+ `This cannot be undone. Press v to view file contents first.`;
74
+ return overlay.openConfirm({ kind: "tool", prompt, viewPath: path }, undefined, () => {
75
+ void (async () => {
76
+ const body = await loadDeletePreview(path);
77
+ overlay.openPager(`Preview · ${path}`, body, undefined, path);
78
+ })();
79
+ });
80
+ }
22
81
  const args = describeCall(call);
23
- return overlay.openConfirm({ kind: "tool", prompt: `Run ${call.name}${args ? ` ${args}` : ""}?` });
82
+ return overlay.openConfirm({
83
+ kind: "tool",
84
+ prompt: `Run ${call.name}${args ? ` ${args}` : ""}?`,
85
+ });
24
86
  },
25
87
  async confirmPentest() {
26
88
  return overlay.openConfirm({
@@ -1 +1 @@
1
- {"version":3,"file":"overlay-ports.js","sourceRoot":"","sources":["../../../src/tui-v2/bootstrap/overlay-ports.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,SAAS,YAAY,CAAC,IAAc;IAClC,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IACvE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAA0B;IACjE,OAAO;QACL,KAAK,CAAC,WAAW,CAAC,IAAc;YAC9B,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YAChC,OAAO,OAAO,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACrG,CAAC;QACD,KAAK,CAAC,cAAc;YAClB,OAAO,OAAO,CAAC,WAAW,CAAC;gBACzB,IAAI,EAAE,SAAS;gBACf,MAAM,EACJ,8FAA8F;aACjG,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,eAAe,CAAC,KAAa;YACjC,OAAO,OAAO,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,KAAK,oCAAoC,EAAE,CAAC,CAAC;QACzG,CAAC;QACD,KAAK,CAAC,kBAAkB,CAAC,IAAyC;YAChE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,OAAO,OAAO,CAAC,WAAW,CAAC;gBACzB,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,GAAG,GAAG,wBAAwB,KAAK,6DAA6D;aACzG,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAA0B;IAChE,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"overlay-ports.js","sourceRoot":"","sources":["../../../src/tui-v2/bootstrap/overlay-ports.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,8 @@ export interface ConfirmModalProps {
14
14
  readonly theme: Theme;
15
15
  readonly request: ConfirmRequest;
16
16
  readonly onViewPlan?: (() => void) | undefined;
17
+ /** Preview file contents for delete confirms (`v`). */
18
+ readonly onViewFile?: (() => void) | undefined;
17
19
  /** Compact strip above the input (preferred). */
18
20
  readonly docked?: boolean | undefined;
19
21
  }
@@ -11,7 +11,7 @@ const TITLES = {
11
11
  switch: "CONFIRM SWITCH",
12
12
  };
13
13
  export function ConfirmModal(props) {
14
- const { services, theme, request, onViewPlan, docked } = props;
14
+ const { services, theme, request, onViewPlan, onViewFile, docked } = props;
15
15
  useKeyboard((key) => {
16
16
  if (key.eventType === "release")
17
17
  return;
@@ -47,11 +47,16 @@ export function ConfirmModal(props) {
47
47
  }
48
48
  }
49
49
  else {
50
- if (chord === "y")
50
+ if (chord === "y" || chord === "enter") {
51
51
  services.overlay.answerConfirm(true);
52
+ }
52
53
  else if (chord === "n" || chord === "escape") {
53
54
  services.overlay.answerConfirm(false);
54
55
  }
56
+ else if (chord === "v" && request.viewPath) {
57
+ // Preview only — leave confirm open under the pager.
58
+ onViewFile?.();
59
+ }
55
60
  else
56
61
  return;
57
62
  }
@@ -70,7 +75,9 @@ export function ConfirmModal(props) {
70
75
  ? "y/i implement · s suggest · p view · n/d discard · esc dismiss"
71
76
  : request.kind === "continue"
72
77
  ? "y continue · n stop · esc cancel"
73
- : "y approve · n deny · esc cancel";
78
+ : request.viewPath
79
+ ? "y approve · n deny · v view file · esc cancel"
80
+ : "y approve · n deny · esc cancel";
74
81
  // Soft-wrap long tool prompts for the dock width.
75
82
  const promptLines = wrapPrompt(request.prompt, docked ? 88 : 72);
76
83
  return (_jsxs("box", { border: true, borderStyle: "rounded", style: {
@@ -1 +1 @@
1
- {"version":3,"file":"confirm-modal.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/modal/confirm-modal.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"confirm-modal.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/modal/confirm-modal.tsx"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@ export function OverlayHost(props) {
23
23
  width: "100%",
24
24
  flexShrink: 0,
25
25
  marginBottom: 1,
26
- }, children: [state.kind === "confirm" ? (_jsx(ConfirmModal, { services: services, theme: theme, request: state.request, onViewPlan: state.onViewPlan, docked: true })) : null, state.kind === "secret" ? (_jsx(SecretModal, { services: services, theme: theme, request: state.request, docked: true })) : null] }));
26
+ }, children: [state.kind === "confirm" ? (_jsx(ConfirmModal, { services: services, theme: theme, request: state.request, onViewPlan: state.onViewPlan, onViewFile: state.onViewFile, docked: true })) : null, state.kind === "secret" ? (_jsx(SecretModal, { services: services, theme: theme, request: state.request, docked: true })) : null] }));
27
27
  }
28
28
  // Full-screen host: skip confirm/secret (they live in the dock).
29
29
  if (isDockedKind(state.kind))
@@ -1 +1 @@
1
- {"version":3,"file":"overlay-host.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/overlay/overlay-host.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"overlay-host.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/overlay/overlay-host.tsx"],"names":[],"mappings":"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"}
@@ -16,6 +16,11 @@ export type PlanConfirmResult = "implement" | "discard" | "suggest" | "dismiss";
16
16
  export interface ConfirmRequest {
17
17
  readonly kind: ConfirmKind;
18
18
  readonly prompt: string;
19
+ /**
20
+ * Absolute or user path the operator can preview with `v` before approving
21
+ * (used for fs.delete so they can inspect the file first).
22
+ */
23
+ readonly viewPath?: string | undefined;
19
24
  }
20
25
  export interface PickerRequest {
21
26
  readonly title: string;
@@ -48,6 +53,8 @@ export type OverlayState = {
48
53
  /** Boolean for tool/pentest/etc.; plan uses PlanConfirmResult via answerPlanConfirm. */
49
54
  readonly resolve: (ok: boolean | PlanConfirmResult) => void;
50
55
  readonly onViewPlan?: (() => void) | undefined;
56
+ /** Open file preview pager without resolving the confirm (fs.delete `v`). */
57
+ readonly onViewFile?: (() => void) | undefined;
51
58
  readonly planResolve?: ((result: PlanConfirmResult) => void) | undefined;
52
59
  } | {
53
60
  readonly kind: "secret";
@@ -88,7 +95,7 @@ export declare class OverlayController {
88
95
  openJobs(): boolean;
89
96
  openPromptActions(request: PromptActionsRequest): boolean;
90
97
  /** Resolves `false` if a blocking overlay was already open rather than hanging. */
91
- openConfirm(request: ConfirmRequest, onViewPlan?: () => void): Promise<boolean>;
98
+ openConfirm(request: ConfirmRequest, onViewPlan?: () => void, onViewFile?: () => void): Promise<boolean>;
92
99
  /**
93
100
  * Plan-ready confirm with implement / discard / suggest / dismiss.
94
101
  * Resolves `dismiss` if another overlay was already open.
@@ -44,7 +44,8 @@ export class OverlayController {
44
44
  ...(source ? { source } : {}),
45
45
  ...(highlightPath ? { highlightPath } : {}),
46
46
  };
47
- const opened = this.state.kind === "confirm" && this.state.request.kind === "plan" && !this.suspended
47
+ // Allow pager over any confirm (plan "p" or delete "v") without resolving it.
48
+ const opened = this.state.kind === "confirm" && !this.suspended
48
49
  ? this.suspendUnder(pager, "pager")
49
50
  : this.open(pager, "pager");
50
51
  if (!opened)
@@ -58,13 +59,14 @@ export class OverlayController {
58
59
  return this.open({ kind: "prompt-actions", request }, "modal");
59
60
  }
60
61
  /** Resolves `false` if a blocking overlay was already open rather than hanging. */
61
- openConfirm(request, onViewPlan) {
62
+ openConfirm(request, onViewPlan, onViewFile) {
62
63
  return new Promise((resolve) => {
63
64
  const opened = this.open({
64
65
  kind: "confirm",
65
66
  request,
66
67
  resolve: (ok) => resolve(ok === true || ok === "implement"),
67
- onViewPlan,
68
+ ...(onViewPlan ? { onViewPlan } : {}),
69
+ ...(onViewFile ? { onViewFile } : {}),
68
70
  }, "modal");
69
71
  if (!opened)
70
72
  resolve(false);
@@ -1 +1 @@
1
- {"version":3,"file":"overlay-controller.js","sourceRoot":"","sources":["../../../src/tui-v2/controllers/overlay-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"overlay-controller.js","sourceRoot":"","sources":["../../../src/tui-v2/controllers/overlay-controller.ts"],"names":[],"mappings":"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"}
@@ -8,10 +8,13 @@
8
8
  * ── #2 web.fetch [fail exit=1]
9
9
  * …
10
10
  */
11
+ export type BatchSectionStatus = "ok" | "fail" | "cancelled";
11
12
  export interface BatchSection {
12
13
  readonly index: number;
13
14
  readonly name: string;
15
+ /** True only when status is ok (back-compat for callers). */
14
16
  readonly ok: boolean;
17
+ readonly status: BatchSectionStatus;
15
18
  readonly exitCode: number | undefined;
16
19
  readonly body: string;
17
20
  }
@@ -9,7 +9,7 @@
9
9
  * …
10
10
  */
11
11
  import { cleanToolOutputLines, presentOutput } from "./tool-presenter.js";
12
- const HEADER_RE = /^──\s+#(\d+)\s+([\w.]+)\s+\[(ok|fail)(?:\s+exit=(\d+))?\]/;
12
+ const HEADER_RE = /^──\s+#(\d+)\s+([\w.]+)\s+\[(ok|fail|cancelled)(?:\s+exit=(\d+))?\]/;
13
13
  /**
14
14
  * Split a completed tool.batch output into per-sub-tool sections.
15
15
  * Returns [] when the body is not in the labeled batch format.
@@ -29,10 +29,12 @@ export function parseBatchSections(output) {
29
29
  bodyLines.length = 0;
30
30
  }
31
31
  const exitCode = m[4] !== undefined ? parseInt(m[4], 10) : undefined;
32
+ const status = m[3];
32
33
  current = {
33
34
  index: parseInt(m[1], 10),
34
35
  name: m[2],
35
- ok: m[3] === "ok",
36
+ status,
37
+ ok: status === "ok",
36
38
  exitCode: Number.isFinite(exitCode) ? exitCode : undefined,
37
39
  };
38
40
  }
@@ -53,15 +55,29 @@ export function presentBatchSection(section, expanded) {
53
55
  const presented = presentOutput(section.body, undefined, expanded);
54
56
  // Prefer cleaned body even when presentOutput samples ends for huge text.
55
57
  const hasBody = section.body.trim().length > 0;
56
- return {
57
- glyph: section.ok ? "✓" : "✗",
58
- statusLabel: section.ok
59
- ? section.exitCode !== undefined
58
+ const status = section.status ?? (section.ok ? "ok" : "fail");
59
+ let glyph = "✗";
60
+ let statusLabel = "failed";
61
+ if (status === "ok") {
62
+ glyph = "✓";
63
+ statusLabel =
64
+ section.exitCode !== undefined
60
65
  ? `done (exit ${section.exitCode})`
61
- : "done"
62
- : section.exitCode !== undefined
63
- ? `failed (exit ${section.exitCode})`
64
- : "failed",
66
+ : "done";
67
+ }
68
+ else if (status === "cancelled") {
69
+ glyph = "";
70
+ statusLabel =
71
+ section.exitCode !== undefined
72
+ ? `cancelled (exit ${section.exitCode})`
73
+ : "cancelled";
74
+ }
75
+ else if (section.exitCode !== undefined) {
76
+ statusLabel = `failed (exit ${section.exitCode})`;
77
+ }
78
+ return {
79
+ glyph,
80
+ statusLabel,
65
81
  name: section.name,
66
82
  lines: hasBody ? presented.lines : [],
67
83
  hiddenAboveCount: presented.hiddenAboveCount,
@@ -72,11 +88,17 @@ export function presentBatchSection(section, expanded) {
72
88
  export function batchSummaryLine(sections) {
73
89
  if (sections.length === 0)
74
90
  return "";
75
- const failed = sections.filter((s) => !s.ok).length;
76
- if (failed === 0) {
91
+ const failed = sections.filter((s) => (s.status ?? (s.ok ? "ok" : "fail")) === "fail").length;
92
+ const cancelled = sections.filter((s) => (s.status ?? (s.ok ? "ok" : "fail")) === "cancelled").length;
93
+ if (failed === 0 && cancelled === 0) {
77
94
  return `${sections.length} sub-tool(s) — all ok`;
78
95
  }
79
- return `${failed}/${sections.length} sub-tool(s) failed`;
96
+ const parts = [];
97
+ if (failed > 0)
98
+ parts.push(`${failed} failed`);
99
+ if (cancelled > 0)
100
+ parts.push(`${cancelled} cancelled`);
101
+ return `${parts.join(", ")} / ${sections.length} sub-tool(s)`;
80
102
  }
81
103
  /** True when this tool item should use nested batch UI. */
82
104
  export function isBatchToolName(name) {
@@ -102,7 +124,7 @@ export function parseBatchLiveProgress(raw) {
102
124
  for (const tick of ticks) {
103
125
  const body = tick.replace(/^\[batch\]\s*/i, "");
104
126
  const start = /^#(\d+)\s+([\w.]+)\s+starting/i.exec(body);
105
- const done = /^#(\d+)\s+([\w.]+)\s+(ok|fail)/i.exec(body);
127
+ const done = /^#(\d+)\s+([\w.]+)\s+(ok|fail|cancelled)/i.exec(body);
106
128
  const running = /^#(\d+)\s+([\w.]+)\s+still running/i.exec(body);
107
129
  const still = /^still running/i.test(body);
108
130
  if (start) {
@@ -112,9 +134,10 @@ export function parseBatchLiveProgress(raw) {
112
134
  });
113
135
  }
114
136
  else if (done) {
115
- const ok = done[3].toLowerCase() === "ok";
137
+ const st = done[3].toLowerCase();
138
+ const ok = st === "ok";
116
139
  byKey.set(done[1], {
117
- text: `#${done[1]} ${done[2]} · ${ok ? "ok" : "fail"}`,
140
+ text: `#${done[1]} ${done[2]} · ${st}`,
118
141
  tone: ok ? "ok" : "fail",
119
142
  });
120
143
  }
@@ -155,7 +178,7 @@ export function parseBatchLiveProgress(raw) {
155
178
  * runner formatting so the full-batch view stays familiar).
156
179
  */
157
180
  export function formatBatchSectionForPager(section) {
158
- const status = section.ok ? "ok" : "fail";
181
+ const status = section.status ?? (section.ok ? "ok" : "fail");
159
182
  const exit = section.exitCode !== undefined ? ` exit=${section.exitCode}` : "";
160
183
  const head = `── #${section.index} ${section.name} [${status}${exit}]`;
161
184
  const body = section.body.trim();
@@ -1 +1 @@
1
- {"version":3,"file":"batch-sections.js","sourceRoot":"","sources":["../../../src/tui-v2/rendering/batch-sections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"batch-sections.js","sourceRoot":"","sources":["../../../src/tui-v2/rendering/batch-sections.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,8 @@ export interface PresentedDiffRow {
18
18
  /** Syntax spans for the display body (clipped). */
19
19
  readonly spans: readonly SyntaxSpan[];
20
20
  }
21
+ /** Hard-wrap by character columns — no ellipsis, no dropped characters. */
22
+ export declare function wrapCodeLine(text: string, max: number): string[];
21
23
  export declare function syntaxColor(kind: SyntaxKind, theme: Theme): string;
22
24
  export declare function rowBackground(tone: DiffLineTone, theme: Theme): string | undefined;
23
25
  /** Flatten preview hunks into styled rows for the tool card. */
@@ -6,8 +6,13 @@ import { relative } from "node:path";
6
6
  import { buildModalLines, changeVerb, formatUnifiedPreview, } from "../../tools/file-diff.js";
7
7
  import { getActiveProjectRoot } from "../../agent/project-root.js";
8
8
  import { safeCwd } from "../../os/cwd.js";
9
- import { clipSpans, emptyCarry, highlightLineForPath, } from "./syntax-highlight.js";
10
- const DEFAULT_CLIP = 96;
9
+ import { emptyCarry, highlightLineForPath, } from "./syntax-highlight.js";
10
+ /**
11
+ * Soft-wrap budget for chat card code rows. Gutter + " │ " + card chrome eat
12
+ * ~12 cols; keep body under this so long SVG/HTML lines never collide the
13
+ * right border. Never use ellipsis truncation — full text via wrap chunks.
14
+ */
15
+ const DEFAULT_WRAP = 72;
11
16
  function gutterWidth(change) {
12
17
  let max = 1;
13
18
  for (const h of change.previewHunks) {
@@ -38,10 +43,36 @@ function prefixFor(op) {
38
43
  return "−";
39
44
  return " ";
40
45
  }
41
- function clip(text, max) {
42
- if (text.length <= max)
43
- return text;
44
- return `${text.slice(0, Math.max(0, max - 1))}…`;
46
+ /** Hard-wrap by character columns — no ellipsis, no dropped characters. */
47
+ export function wrapCodeLine(text, max) {
48
+ const width = Math.max(8, max);
49
+ if (text.length <= width)
50
+ return [text];
51
+ const out = [];
52
+ for (let i = 0; i < text.length; i += width) {
53
+ out.push(text.slice(i, i + width));
54
+ }
55
+ return out.length > 0 ? out : [""];
56
+ }
57
+ /** Slice syntax spans for [start, end) character offsets on a single source line. */
58
+ function sliceSpans(spans, start, end) {
59
+ if (end <= start)
60
+ return [];
61
+ const out = [];
62
+ let cursor = 0;
63
+ for (const s of spans) {
64
+ const sStart = cursor;
65
+ const sEnd = cursor + s.text.length;
66
+ cursor = sEnd;
67
+ if (sEnd <= start || sStart >= end)
68
+ continue;
69
+ const from = Math.max(0, start - sStart);
70
+ const to = Math.min(s.text.length, end - sStart);
71
+ if (to > from) {
72
+ out.push({ kind: s.kind, text: s.text.slice(from, to) });
73
+ }
74
+ }
75
+ return out;
45
76
  }
46
77
  export function syntaxColor(kind, theme) {
47
78
  switch (kind) {
@@ -78,8 +109,8 @@ export function rowBackground(tone, theme) {
78
109
  }
79
110
  /** Flatten preview hunks into styled rows for the tool card. */
80
111
  export function presentFileChangePreview(change, options = {}) {
81
- const maxLineChars = options.maxLineChars ?? DEFAULT_CLIP;
82
- const maxRows = options.maxRows ?? 48;
112
+ const maxLineChars = options.maxLineChars ?? DEFAULT_WRAP;
113
+ const maxRows = options.maxRows ?? 80;
83
114
  const rows = [];
84
115
  const carry = emptyCarry();
85
116
  if (change.binary) {
@@ -103,17 +134,28 @@ export function presentFileChangePreview(change, options = {}) {
103
134
  break;
104
135
  const text = dl.text;
105
136
  const fullSpans = highlightLineForPath(text, change.path, carry);
106
- const displayText = clip(text, maxLineChars);
107
- const spans = clipSpans(fullSpans, maxLineChars);
108
- rows.push({
109
- tone: dl.op,
110
- gutter: lineGutter(dl, width),
111
- prefix: prefixFor(dl.op),
112
- text,
113
- displayText,
114
- spans,
115
- });
116
- used += 1;
137
+ const chunks = wrapCodeLine(text, maxLineChars);
138
+ let offset = 0;
139
+ for (let ci = 0; ci < chunks.length; ci += 1) {
140
+ if (used >= maxRows)
141
+ break;
142
+ const chunk = chunks[ci];
143
+ const end = offset + chunk.length;
144
+ const spans = sliceSpans(fullSpans, offset, end);
145
+ rows.push({
146
+ tone: dl.op,
147
+ // Only the first visual row of a wrapped source line shows the number.
148
+ gutter: ci === 0 ? lineGutter(dl, width) : " ".repeat(width),
149
+ prefix: ci === 0 ? prefixFor(dl.op) : " ",
150
+ text: chunk,
151
+ displayText: chunk,
152
+ spans: spans.length > 0
153
+ ? spans
154
+ : [{ kind: "plain", text: chunk }],
155
+ });
156
+ used += 1;
157
+ offset = end;
158
+ }
117
159
  }
118
160
  }
119
161
  if (change.truncated || used >= maxRows) {
@@ -1 +1 @@
1
- {"version":3,"file":"file-diff-view.js","sourceRoot":"","sources":["../../../src/tui-v2/rendering/file-diff-view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-diff-view.js","sourceRoot":"","sources":["../../../src/tui-v2/rendering/file-diff-view.ts"],"names":[],"mappings":"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"}