@kenkaiiii/ggcoder 4.3.239 → 4.3.241

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 (76) hide show
  1. package/dist/cli/auth.d.ts.map +1 -1
  2. package/dist/cli/auth.js +10 -9
  3. package/dist/cli/auth.js.map +1 -1
  4. package/dist/cli/shared.d.ts +12 -0
  5. package/dist/cli/shared.d.ts.map +1 -1
  6. package/dist/cli/shared.js +34 -6
  7. package/dist/cli/shared.js.map +1 -1
  8. package/dist/cli.d.ts.map +1 -1
  9. package/dist/cli.js +27 -58
  10. package/dist/cli.js.map +1 -1
  11. package/dist/modes/agent-home-mode.d.ts.map +1 -1
  12. package/dist/modes/agent-home-mode.js +10 -38
  13. package/dist/modes/agent-home-mode.js.map +1 -1
  14. package/dist/modes/serve-mode.d.ts.map +1 -1
  15. package/dist/modes/serve-mode.js +11 -39
  16. package/dist/modes/serve-mode.js.map +1 -1
  17. package/dist/ui/App.d.ts.map +1 -1
  18. package/dist/ui/App.js +13 -2
  19. package/dist/ui/App.js.map +1 -1
  20. package/dist/ui/components/ActivityIndicator.d.ts +7 -0
  21. package/dist/ui/components/ActivityIndicator.d.ts.map +1 -1
  22. package/dist/ui/components/ActivityIndicator.js +28 -3
  23. package/dist/ui/components/ActivityIndicator.js.map +1 -1
  24. package/dist/ui/components/AssistantMessage.test.js +1 -1
  25. package/dist/ui/components/AssistantMessage.test.js.map +1 -1
  26. package/dist/ui/components/Banner.d.ts.map +1 -1
  27. package/dist/ui/components/Banner.js +23 -9
  28. package/dist/ui/components/Banner.js.map +1 -1
  29. package/dist/ui/components/ChatInputStack.d.ts +2 -0
  30. package/dist/ui/components/ChatInputStack.d.ts.map +1 -1
  31. package/dist/ui/components/ChatInputStack.js.map +1 -1
  32. package/dist/ui/components/ChatStatusRow.d.ts +2 -0
  33. package/dist/ui/components/ChatStatusRow.d.ts.map +1 -1
  34. package/dist/ui/components/ChatStatusRow.js +40 -1
  35. package/dist/ui/components/ChatStatusRow.js.map +1 -1
  36. package/dist/ui/components/MessageResponse.d.ts +7 -1
  37. package/dist/ui/components/MessageResponse.d.ts.map +1 -1
  38. package/dist/ui/components/MessageResponse.js +2 -2
  39. package/dist/ui/components/MessageResponse.js.map +1 -1
  40. package/dist/ui/components/ToolExecution.d.ts.map +1 -1
  41. package/dist/ui/components/ToolExecution.js +72 -15
  42. package/dist/ui/components/ToolExecution.js.map +1 -1
  43. package/dist/ui/hooks/useAgentLoop.d.ts +4 -1
  44. package/dist/ui/hooks/useAgentLoop.d.ts.map +1 -1
  45. package/dist/ui/hooks/useAgentLoop.js +30 -2
  46. package/dist/ui/hooks/useAgentLoop.js.map +1 -1
  47. package/dist/ui/layout-decisions.d.ts +4 -0
  48. package/dist/ui/layout-decisions.d.ts.map +1 -1
  49. package/dist/ui/layout-decisions.js.map +1 -1
  50. package/dist/ui/login.d.ts.map +1 -1
  51. package/dist/ui/login.js +10 -28
  52. package/dist/ui/login.js.map +1 -1
  53. package/dist/ui/mcp.d.ts +1 -2
  54. package/dist/ui/mcp.d.ts.map +1 -1
  55. package/dist/ui/mcp.js +7 -42
  56. package/dist/ui/mcp.js.map +1 -1
  57. package/dist/ui/pixel.d.ts.map +1 -1
  58. package/dist/ui/pixel.js +10 -38
  59. package/dist/ui/pixel.js.map +1 -1
  60. package/dist/ui/sessions.d.ts.map +1 -1
  61. package/dist/ui/sessions.js +10 -42
  62. package/dist/ui/sessions.js.map +1 -1
  63. package/dist/ui/terminal-history.d.ts.map +1 -1
  64. package/dist/ui/terminal-history.js +68 -21
  65. package/dist/ui/terminal-history.js.map +1 -1
  66. package/dist/ui/transcript/presentation.d.ts.map +1 -1
  67. package/dist/ui/transcript/presentation.js +9 -1
  68. package/dist/ui/transcript/presentation.js.map +1 -1
  69. package/dist/ui/tui-history-parity.test.js +4 -1
  70. package/dist/ui/tui-history-parity.test.js.map +1 -1
  71. package/dist/utils/plan-steps.d.ts.map +1 -1
  72. package/dist/utils/plan-steps.js +19 -6
  73. package/dist/utils/plan-steps.js.map +1 -1
  74. package/dist/utils/plan-steps.test.js +10 -0
  75. package/dist/utils/plan-steps.test.js.map +1 -1
  76. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"AssistantMessage.test.js","sourceRoot":"","sources":["../../../src/ui/components/AssistantMessage.test.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AssistantMessage.test.js","sourceRoot":"","sources":["../../../src/ui/components/AssistantMessage.test.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Banner.d.ts","sourceRoot":"","sources":["../../../src/ui/components/Banner.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,QAAQ,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;CACb;AA6BD,wBAAgB,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,WAAW,2CAqE1D"}
1
+ {"version":3,"file":"Banner.d.ts","sourceRoot":"","sources":["../../../src/ui/components/Banner.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,QAAQ,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;CACb;AAoCD,wBAAgB,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,WAAW,2CA+F1D"}
@@ -5,9 +5,12 @@ import { useTheme } from "../theme/theme.js";
5
5
  import { getModel } from "../../core/model-registry.js";
6
6
  import { useTerminalSize } from "../hooks/useTerminalSize.js";
7
7
  const LOGO_LINES = [
8
- " \u2584\u2580\u2580\u2580 \u2584\u2580\u2580\u2580",
9
- " \u2588 \u2580\u2588 \u2588 \u2580\u2588",
10
- " \u2580\u2584\u2584\u2580 \u2580\u2584\u2584\u2580",
8
+ " \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 ",
9
+ "\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255d \u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255d ",
10
+ "\u2588\u2588\u2551 \u2588\u2588\u2588\u2557\u2588\u2588\u2551 \u2588\u2588\u2588\u2557",
11
+ "\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551",
12
+ "\u255a\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255d\u255a\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255d",
13
+ " \u255a\u2550\u2550\u2550\u2550\u2550\u255d \u255a\u2550\u2550\u2550\u2550\u2550\u255d",
11
14
  ];
12
15
  // Extended gradient with reverse path for smooth animation loop
13
16
  const GRADIENT = [
@@ -24,10 +27,14 @@ const GRADIENT = [
24
27
  "#7a9df7",
25
28
  "#6da1f9",
26
29
  ];
30
+ // One-space left pad to match the terminal-history banner (RESPONSE_LEFT_PADDING).
31
+ const LEFT_PAD = " ";
27
32
  const GAP = " ";
28
- // Logo is 9 visible chars wide + GAP (3) = 12 chars before info text
29
- const LOGO_WIDTH = 9;
30
- const SIDE_BY_SIDE_MIN = LOGO_WIDTH + GAP.length + 62; // room for the shortcut hint row
33
+ // Logo is 17 visible chars wide; below this width the info column would
34
+ // collide with the art, so we stack it underneath instead. The threshold
35
+ // mirrors terminal-history.ts SIDE_BY_SIDE_MIN (LOGO_WIDTH + GAP + 62).
36
+ const LOGO_WIDTH = 17;
37
+ const SIDE_BY_SIDE_MIN = LOGO_WIDTH + GAP.length + 62;
31
38
  export function Banner({ version, model, cwd }) {
32
39
  const theme = useTheme();
33
40
  const { columns } = useTerminalSize();
@@ -39,11 +46,18 @@ export function Banner({ version, model, cwd }) {
39
46
  // into Ink's Static area. Animating here would waste CPU and could cause
40
47
  // visual duplicates on terminal resize.
41
48
  const shift = 0;
42
- // At narrow widths, stack logo above info instead of side-by-side
49
+ const logo = (_jsx(Box, { flexDirection: "column", flexShrink: 0, children: LOGO_LINES.map((line, i) => (_jsxs(Box, { children: [_jsx(Text, { children: LEFT_PAD }), _jsx(GradientText, { text: line, shift: shift })] }, i))) }));
50
+ // Narrow (stacked) info — mirrors terminal-history.ts: brand line omits
51
+ // "· By Ken Kai", path is truncated to the full terminal width.
52
+ const stackedInfo = (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Text, { children: LEFT_PAD }), _jsx(Text, { color: theme.primary, bold: true, children: "GG Coder" }), _jsxs(Text, { color: theme.textDim, children: [" v", version] })] }), _jsxs(Box, { children: [_jsx(Text, { children: LEFT_PAD }), _jsx(Text, { color: theme.secondary, children: modelName }), _jsx(Text, { color: theme.textDim, children: " " }), _jsx(Text, { color: theme.textDim, wrap: "truncate", children: displayPath })] }), _jsxs(Box, { children: [_jsx(Text, { children: LEFT_PAD }), _jsx(ShortcutHints, {})] })] }));
53
+ // Side-by-side info — includes "· By Ken Kai".
54
+ const sideInfo = (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Text, { color: theme.primary, bold: true, children: "GG Coder" }), _jsxs(Text, { color: theme.textDim, children: [" v", version] }), _jsx(Text, { color: theme.textDim, children: " \u00B7 By " }), _jsx(Text, { color: theme.text, bold: true, children: "Ken Kai" })] }), _jsxs(Box, { children: [_jsx(Text, { color: theme.secondary, children: modelName }), _jsx(Text, { color: theme.textDim, children: " " }), _jsx(Text, { color: theme.textDim, wrap: "truncate", children: displayPath })] }), _jsx(ShortcutHints, {})] }));
55
+ // At narrow widths, stack the info block under the logo.
43
56
  if (columns < SIDE_BY_SIDE_MIN) {
44
- return (_jsxs(Box, { flexDirection: "column", marginTop: 1, marginBottom: 1, width: columns, children: [_jsx(GradientText, { text: LOGO_LINES[0], shift: shift }), _jsx(GradientText, { text: LOGO_LINES[1], shift: shift }), _jsx(GradientText, { text: LOGO_LINES[2], shift: shift }), _jsxs(Box, { marginTop: 1, children: [_jsx(Text, { color: theme.primary, bold: true, children: "GG Coder" }), _jsxs(Text, { color: theme.textDim, children: [" v", version] })] }), _jsxs(Box, { children: [_jsx(Text, { color: theme.secondary, children: modelName }), _jsx(Text, { color: theme.textDim, children: " " }), _jsx(Text, { color: theme.textDim, wrap: "truncate", children: displayPath })] }), _jsx(ShortcutHints, {})] }));
57
+ return (_jsxs(Box, { flexDirection: "column", marginTop: 1, marginBottom: 1, width: columns, children: [logo, _jsx(Box, { marginTop: 1, children: stackedInfo })] }));
45
58
  }
46
- return (_jsxs(Box, { flexDirection: "column", marginTop: 1, marginBottom: 1, width: columns, children: [_jsxs(Box, { children: [_jsx(GradientText, { text: LOGO_LINES[0], shift: shift }), _jsx(Text, { children: GAP }), _jsx(Text, { color: theme.primary, bold: true, children: "GG Coder" }), _jsxs(Text, { color: theme.textDim, children: [" v", version] }), _jsx(Text, { color: theme.textDim, children: " \u00B7 By " }), _jsx(Text, { color: theme.text, bold: true, children: "Ken Kai" })] }), _jsxs(Box, { children: [_jsx(GradientText, { text: LOGO_LINES[1], shift: shift }), _jsx(Text, { children: GAP }), _jsx(Text, { color: theme.secondary, children: modelName }), _jsx(Text, { color: theme.textDim, children: " " }), _jsx(Text, { color: theme.textDim, wrap: "truncate", children: displayPath })] }), _jsxs(Box, { children: [_jsx(GradientText, { text: LOGO_LINES[2], shift: shift }), _jsx(Text, { children: GAP }), _jsx(ShortcutHints, {})] })] }));
59
+ // Side-by-side: logo on the left, info column vertically centered beside it.
60
+ return (_jsxs(Box, { flexDirection: "row", marginTop: 1, marginBottom: 1, width: columns, children: [logo, _jsx(Text, { children: GAP }), _jsx(Box, { flexDirection: "column", justifyContent: "center", children: sideInfo })] }));
47
61
  }
48
62
  function ShortcutHints() {
49
63
  const theme = useTheme();
@@ -1 +1 @@
1
- {"version":3,"file":"Banner.js","sourceRoot":"","sources":["../../../src/ui/components/Banner.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Banner.js","sourceRoot":"","sources":["../../../src/ui/components/Banner.tsx"],"names":[],"mappings":"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"}
@@ -13,6 +13,8 @@ interface ChatInputStackProps {
13
13
  doneStatus: {
14
14
  verb: string;
15
15
  durationMs: number;
16
+ counts?: Record<string, number>;
17
+ tokens?: number;
16
18
  } | null;
17
19
  activityPhase: ActivityPhase;
18
20
  elapsedMs: number;
@@ -1 +1 @@
1
- {"version":3,"file":"ChatInputStack.d.ts","sourceRoot":"","sources":["../../../src/ui/components/ChatInputStack.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGlD,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEvE,UAAU,mBAAmB;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;IACnC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,YAAY,EAAE,SAAS,aAAa,EAAE,CAAC;IACvC,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACxD,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACtC,kBAAkB,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC5C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;CAChD;AAED,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,KAAK,EACL,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,aAAa,EACb,SAAS,EACT,WAAW,EACX,UAAU,EACV,UAAU,EACV,aAAa,EACb,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,SAAS,EACT,QAAQ,EACR,SAAS,EACT,cAAc,EACd,cAAc,GACf,EAAE,mBAAmB,2CAsDrB"}
1
+ {"version":3,"file":"ChatInputStack.d.ts","sourceRoot":"","sources":["../../../src/ui/components/ChatInputStack.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGlD,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEvE,UAAU,mBAAmB;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;IACnC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,YAAY,EAAE,SAAS,aAAa,EAAE,CAAC;IACvC,UAAU,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,IAAI,CAAC;IACT,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACtC,kBAAkB,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC5C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;CAChD;AAED,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,KAAK,EACL,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,aAAa,EACb,SAAS,EACT,WAAW,EACX,UAAU,EACV,UAAU,EACV,aAAa,EACb,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,SAAS,EACT,QAAQ,EACR,SAAS,EACT,cAAc,EACd,cAAc,GACf,EAAE,mBAAmB,2CAsDrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChatInputStack.js","sourceRoot":"","sources":["../../../src/ui/components/ChatInputStack.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAI1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAsB,MAAM,oBAAoB,CAAC;AA4BvE,MAAM,UAAU,cAAc,CAAC,EAC7B,OAAO,EACP,KAAK,EACL,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,aAAa,EACb,SAAS,EACT,WAAW,EACX,UAAU,EACV,UAAU,EACV,aAAa,EACb,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,SAAS,EACT,QAAQ,EACR,SAAS,EACT,cAAc,EACd,cAAc,GACM;IACpB,OAAO,CACL,MAAC,oBAAoB,IAAC,OAAO,EAAE,OAAO,aACpC,KAAC,GAAG,IACF,WAAW,EAAC,QAAQ,EACpB,SAAS,QACT,YAAY,EAAE,KAAK,EACnB,UAAU,EAAE,KAAK,EACjB,WAAW,EAAE,KAAK,EAClB,WAAW,EAAE,KAAK,CAAC,OAAO,EAC1B,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,CAAC,GACT,EACD,eAAe,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAC7C,8BACE,KAAC,aAAa,IAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,GAAI,EAC1D,KAAC,GAAG,IACF,WAAW,EAAC,QAAQ,EACpB,SAAS,QACT,YAAY,EAAE,KAAK,EACnB,UAAU,EAAE,KAAK,EACjB,WAAW,EAAE,KAAK,EAClB,WAAW,EAAE,KAAK,CAAC,OAAO,EAC1B,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,CAAC,GACT,IACD,CACJ,EACD,KAAC,aAAa,IACZ,OAAO,EAAE,iBAAiB,EAC1B,eAAe,EAAE,eAAe,EAChC,kBAAkB,EAAE,kBAAkB,EACtC,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY,EAC1B,kBAAkB,EAAE,kBAAkB,EACtC,WAAW,EAAE,eAAe,EAC5B,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,GAC9B,IACmB,CACxB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ChatInputStack.js","sourceRoot":"","sources":["../../../src/ui/components/ChatInputStack.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAI1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAsB,MAAM,oBAAoB,CAAC;AAiCvE,MAAM,UAAU,cAAc,CAAC,EAC7B,OAAO,EACP,KAAK,EACL,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,aAAa,EACb,SAAS,EACT,WAAW,EACX,UAAU,EACV,UAAU,EACV,aAAa,EACb,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,SAAS,EACT,QAAQ,EACR,SAAS,EACT,cAAc,EACd,cAAc,GACM;IACpB,OAAO,CACL,MAAC,oBAAoB,IAAC,OAAO,EAAE,OAAO,aACpC,KAAC,GAAG,IACF,WAAW,EAAC,QAAQ,EACpB,SAAS,QACT,YAAY,EAAE,KAAK,EACnB,UAAU,EAAE,KAAK,EACjB,WAAW,EAAE,KAAK,EAClB,WAAW,EAAE,KAAK,CAAC,OAAO,EAC1B,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,CAAC,GACT,EACD,eAAe,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAC7C,8BACE,KAAC,aAAa,IAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,GAAI,EAC1D,KAAC,GAAG,IACF,WAAW,EAAC,QAAQ,EACpB,SAAS,QACT,YAAY,EAAE,KAAK,EACnB,UAAU,EAAE,KAAK,EACjB,WAAW,EAAE,KAAK,EAClB,WAAW,EAAE,KAAK,CAAC,OAAO,EAC1B,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,CAAC,GACT,IACD,CACJ,EACD,KAAC,aAAa,IACZ,OAAO,EAAE,iBAAiB,EAC1B,eAAe,EAAE,eAAe,EAChC,kBAAkB,EAAE,kBAAkB,EACtC,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY,EAC1B,kBAAkB,EAAE,kBAAkB,EACtC,WAAW,EAAE,eAAe,EAC5B,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,GAC9B,IACmB,CACxB,CAAC;AACJ,CAAC"}
@@ -9,6 +9,8 @@ interface ChatStatusRowProps {
9
9
  doneStatus: {
10
10
  verb: string;
11
11
  durationMs: number;
12
+ counts?: Record<string, number>;
13
+ tokens?: number;
12
14
  } | null;
13
15
  columns: number;
14
16
  theme: ReturnType<typeof useTheme>;
@@ -1 +1 @@
1
- {"version":3,"file":"ChatStatusRow.d.ts","sourceRoot":"","sources":["../../../src/ui/components/ChatStatusRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,UAAU,kBAAkB;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;IACnC,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACtC,kBAAkB,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;CAChD;AAED,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,eAAe,EACf,kBAAkB,EAClB,UAAU,EACV,OAAO,EACP,KAAK,EACL,aAAa,EACb,SAAS,EACT,WAAW,EACX,UAAU,EACV,UAAU,EACV,aAAa,EACb,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,SAAS,EACT,QAAQ,EACR,SAAS,EACT,cAAc,EACd,cAAc,GACf,EAAE,kBAAkB,2CAyCpB"}
1
+ {"version":3,"file":"ChatStatusRow.d.ts","sourceRoot":"","sources":["../../../src/ui/components/ChatStatusRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,KAAK,EAAS,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAKzD,UAAU,kBAAkB;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,IAAI,CAAC;IACT,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;IACnC,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACtC,kBAAkB,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;CAChD;AAED,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,eAAe,EACf,kBAAkB,EAClB,UAAU,EACV,OAAO,EACP,KAAK,EACL,aAAa,EACb,SAAS,EACT,WAAW,EACX,UAAU,EACV,UAAU,EACV,aAAa,EACb,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,SAAS,EACT,QAAQ,EACR,SAAS,EACT,cAAc,EACd,cAAc,GACf,EAAE,kBAAkB,2CA4CpB"}
@@ -2,8 +2,47 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React from "react";
3
3
  import { Box, Text } from "ink";
4
4
  import { ActivityIndicator } from "./ActivityIndicator.js";
5
+ import { toolTonePalette } from "../transcript/tool-presentation.js";
6
+ import { formatTokenCount } from "../terminal-history-format.js";
7
+ import { DOWN_ARROW } from "../constants/figures.js";
5
8
  export function ChatStatusRow({ visible, activityVisible, stallStatusVisible, doneStatus, columns, theme, activityPhase, elapsedMs, runStartRef, thinkingMs, isThinking, thinkingLevel, tokenEstimate, charCountRef, realTokensAccumRef, userMessage, activeToolNames, retryInfo, planDone, planTotal, renderMarkdown, formatDuration, }) {
6
- return (_jsx(Box, { paddingLeft: 1, paddingRight: 1, width: columns, children: visible ? (activityVisible ? (_jsx(ActivityIndicator, { phase: activityPhase, elapsedMs: elapsedMs, runStartRef: runStartRef, thinkingMs: thinkingMs, isThinking: isThinking, thinkingEnabled: !!thinkingLevel, tokenEstimate: tokenEstimate, charCountRef: charCountRef, realTokensAccumRef: realTokensAccumRef, userMessage: userMessage, activeToolNames: activeToolNames, retryInfo: retryInfo, planDone: planDone, planTotal: planTotal, staticDisplay: true })) : stallStatusVisible ? (_jsx(Text, { color: theme.warning, wrap: "truncate", children: "⚠ API provider stream interrupted — retries exhausted. Your conversation is preserved." })) : doneStatus ? (_jsxs(Text, { color: theme.success, children: ["✻ ", doneStatus.verb, " ", formatDuration(doneStatus.durationMs)] })) : (_jsx(ReadyStatus, { theme: theme, renderMarkdown: renderMarkdown }))) : (_jsx(ReadyStatus, { theme: theme, renderMarkdown: true })) }));
9
+ return (_jsx(Box, { paddingLeft: 1, paddingRight: 1, width: columns, children: visible ? (activityVisible ? (_jsx(ActivityIndicator, { phase: activityPhase, elapsedMs: elapsedMs, runStartRef: runStartRef, thinkingMs: thinkingMs, isThinking: isThinking, thinkingEnabled: !!thinkingLevel, tokenEstimate: tokenEstimate, charCountRef: charCountRef, realTokensAccumRef: realTokensAccumRef, userMessage: userMessage, activeToolNames: activeToolNames, retryInfo: retryInfo, planDone: planDone, planTotal: planTotal, staticDisplay: true })) : stallStatusVisible ? (_jsx(Text, { color: theme.warning, wrap: "truncate", children: "⚠ API provider stream interrupted — retries exhausted. Your conversation is preserved." })) : doneStatus ? (_jsxs(Text, { children: [_jsxs(Text, { color: theme.success, children: ["✻ ", doneStatus.verb, " ", formatDuration(doneStatus.durationMs)] }), _jsx(VitalSigns, { counts: doneStatus.counts, tokens: doneStatus.tokens, theme: theme })] })) : (_jsx(ReadyStatus, { theme: theme, renderMarkdown: renderMarkdown }))) : (_jsx(ReadyStatus, { theme: theme, renderMarkdown: true })) }));
10
+ }
11
+ /** Category → (tone for coloring, tool names that roll up into it). */
12
+ const VITAL_CATEGORIES = [
13
+ { label: (n) => `${n} edit${n !== 1 ? "s" : ""}`, tone: "write", tools: ["edit", "write"] },
14
+ { label: (n) => `${n} run${n !== 1 ? "s" : ""}`, tone: "run", tools: ["bash"] },
15
+ {
16
+ label: (n) => `${n} read${n !== 1 ? "s" : ""}`,
17
+ tone: "read",
18
+ tools: ["read", "grep", "find", "ls"],
19
+ },
20
+ {
21
+ label: (n) => `${n} web`,
22
+ tone: "web",
23
+ tools: ["web_fetch", "web_search"],
24
+ },
25
+ { label: (n) => `${n} agent${n !== 1 ? "s" : ""}`, tone: "agent", tools: ["subagent"] },
26
+ ];
27
+ /**
28
+ * Per-run "vital signs" tail: tone-colored category chips + `↓ tokens`.
29
+ * Omits the tail entirely when there are no counts (preserves the bare
30
+ * `✻ {verb} {duration}` for chat-only turns).
31
+ */
32
+ function VitalSigns({ counts, tokens, theme, }) {
33
+ const chips = [];
34
+ if (counts) {
35
+ for (const cat of VITAL_CATEGORIES) {
36
+ const total = cat.tools.reduce((sum, t) => sum + (counts[t] ?? 0), 0);
37
+ if (total === 0)
38
+ continue;
39
+ chips.push(_jsxs(Text, { color: toolTonePalette(theme, cat.tone).primary, children: [" · ", cat.label(total)] }, cat.tone));
40
+ }
41
+ }
42
+ const showTokens = typeof tokens === "number" && tokens > 0;
43
+ if (chips.length === 0 && !showTokens)
44
+ return null;
45
+ return (_jsxs(Text, { children: [chips, showTokens && (_jsxs(Text, { color: theme.accent, children: [" · ", DOWN_ARROW, " ", formatTokenCount(tokens), " tokens"] }))] }));
7
46
  }
8
47
  function ReadyStatus({ theme, renderMarkdown, }) {
9
48
  return (_jsxs(Text, { children: [_jsx(Text, { color: theme.commandColor, children: "⠿ " }), _jsx(Text, { color: theme.textDim, children: "Ready to go.." }), !renderMarkdown && _jsx(Text, { color: theme.warning, children: " · raw markdown mode" })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"ChatStatusRow.js","sourceRoot":"","sources":["../../../src/ui/components/ChatStatusRow.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEhC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AA6B3D,MAAM,UAAU,aAAa,CAAC,EAC5B,OAAO,EACP,eAAe,EACf,kBAAkB,EAClB,UAAU,EACV,OAAO,EACP,KAAK,EACL,aAAa,EACb,SAAS,EACT,WAAW,EACX,UAAU,EACV,UAAU,EACV,aAAa,EACb,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,SAAS,EACT,QAAQ,EACR,SAAS,EACT,cAAc,EACd,cAAc,GACK;IACnB,OAAO,CACL,KAAC,GAAG,IAAC,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,YACjD,OAAO,CAAC,CAAC,CAAC,CACT,eAAe,CAAC,CAAC,CAAC,CAChB,KAAC,iBAAiB,IAChB,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,eAAe,EAAE,CAAC,CAAC,aAAa,EAChC,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY,EAC1B,kBAAkB,EAAE,kBAAkB,EACtC,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,aAAa,SACb,CACH,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CACvB,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAC,UAAU,YAEvC,wFAAwF,GAErF,CACR,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CACf,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,OAAO,aACvB,IAAI,EACJ,UAAU,CAAC,IAAI,OAAG,cAAc,CAAC,UAAU,CAAC,UAAU,CAAC,IACnD,CACR,CAAC,CAAC,CAAC,CACF,KAAC,WAAW,IAAC,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,cAAc,GAAI,CAC9D,CACF,CAAC,CAAC,CAAC,CACF,KAAC,WAAW,IAAC,KAAK,EAAE,KAAK,EAAE,cAAc,SAAG,CAC7C,GACG,CACP,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,EACnB,KAAK,EACL,cAAc,GAIf;IACC,OAAO,CACL,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,YAAY,YAAG,IAAI,GAAQ,EAC9C,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,OAAO,YAAG,eAAe,GAAQ,EACnD,CAAC,cAAc,IAAI,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,OAAO,YAAG,sBAAsB,GAAQ,IAC1E,CACR,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ChatStatusRow.js","sourceRoot":"","sources":["../../../src/ui/components/ChatStatusRow.tsx"],"names":[],"mappings":"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"}
@@ -2,6 +2,12 @@ import React from "react";
2
2
  interface Props {
3
3
  children: React.ReactNode;
4
4
  height?: number;
5
+ /**
6
+ * Optional tone color for the `⎿` gutter. Rendered with `dimColor` so it
7
+ * reads as a quiet accent that ties the output block to its tool, rather
8
+ * than a loud line. Defaults to the all-dim gutter when omitted.
9
+ */
10
+ accentColor?: string;
5
11
  }
6
12
  /**
7
13
  * Tool result bracket wrapper.
@@ -20,6 +26,6 @@ interface Props {
20
26
  * - Wrapped in Ratchet (lock="offscreen") to prevent height shrinking
21
27
  * during streaming re-parses, unless an explicit height is provided.
22
28
  */
23
- export declare function MessageResponse({ children, height }: Props): React.ReactNode;
29
+ export declare function MessageResponse({ children, height, accentColor }: Props): React.ReactNode;
24
30
  export {};
25
31
  //# sourceMappingURL=MessageResponse.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MessageResponse.d.ts","sourceRoot":"","sources":["../../../src/ui/components/MessageResponse.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AAMzD,UAAU,KAAK;IACb,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AASD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,SAAS,CA8B5E"}
1
+ {"version":3,"file":"MessageResponse.d.ts","sourceRoot":"","sources":["../../../src/ui/components/MessageResponse.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AAMzD,UAAU,KAAK;IACb,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AASD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,SAAS,CA8BzF"}
@@ -27,13 +27,13 @@ const MessageResponseContext = createContext(false);
27
27
  * - Wrapped in Ratchet (lock="offscreen") to prevent height shrinking
28
28
  * during streaming re-parses, unless an explicit height is provided.
29
29
  */
30
- export function MessageResponse({ children, height }) {
30
+ export function MessageResponse({ children, height, accentColor }) {
31
31
  const isNested = useContext(MessageResponseContext);
32
32
  // Prevent double brackets in nested tool results
33
33
  if (isNested) {
34
34
  return _jsx(_Fragment, { children: children });
35
35
  }
36
- const content = (_jsx(MessageResponseContext, { value: true, children: _jsxs(Box, { flexDirection: "row", height: height, overflowY: "hidden", children: [_jsx(NoSelect, { fromLeftEdge: true, flexShrink: 0, children: _jsxs(Text, { dimColor: true, children: [" ", RETURN_SYMBOL, " "] }) }), _jsx(Box, { flexShrink: 1, flexGrow: 1, children: children })] }) }));
36
+ const content = (_jsx(MessageResponseContext, { value: true, children: _jsxs(Box, { flexDirection: "row", height: height, overflowY: "hidden", children: [_jsx(NoSelect, { fromLeftEdge: true, flexShrink: 0, children: _jsxs(Text, { color: accentColor, dimColor: true, children: [" ", RETURN_SYMBOL, " "] }) }), _jsx(Box, { flexShrink: 1, flexGrow: 1, children: children })] }) }));
37
37
  if (height !== undefined) {
38
38
  return content;
39
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MessageResponse.js","sourceRoot":"","sources":["../../../src/ui/components/MessageResponse.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAOxD;;;;GAIG;AACH,MAAM,sBAAsB,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;AAEpD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,eAAe,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAS;IACzD,MAAM,QAAQ,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAC;IAEpD,iDAAiD;IACjD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,4BAAG,QAAQ,GAAI,CAAC;IACzB,CAAC;IAED,MAAM,OAAO,GAAG,CACd,KAAC,sBAAsB,IAAC,KAAK,EAAE,IAAI,YACjC,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,EAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAC,QAAQ,aACzD,KAAC,QAAQ,IAAC,YAAY,QAAC,UAAU,EAAE,CAAC,YAClC,MAAC,IAAI,IAAC,QAAQ,mBACX,IAAI,EACJ,aAAa,EACb,IAAI,IACA,GACE,EACX,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,YAC5B,QAAQ,GACL,IACF,GACiB,CAC1B,CAAC;IAEF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,KAAC,OAAO,IAAC,IAAI,EAAC,WAAW,YAAE,OAAO,GAAW,CAAC;AACvD,CAAC"}
1
+ {"version":3,"file":"MessageResponse.js","sourceRoot":"","sources":["../../../src/ui/components/MessageResponse.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAaxD;;;;GAIG;AACH,MAAM,sBAAsB,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;AAEpD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,eAAe,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAS;IACtE,MAAM,QAAQ,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAC;IAEpD,iDAAiD;IACjD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,4BAAG,QAAQ,GAAI,CAAC;IACzB,CAAC;IAED,MAAM,OAAO,GAAG,CACd,KAAC,sBAAsB,IAAC,KAAK,EAAE,IAAI,YACjC,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,EAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAC,QAAQ,aACzD,KAAC,QAAQ,IAAC,YAAY,QAAC,UAAU,EAAE,CAAC,YAClC,MAAC,IAAI,IAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,mBAC/B,IAAI,EACJ,aAAa,EACb,IAAI,IACA,GACE,EACX,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,YAC5B,QAAQ,GACL,IACF,GACiB,CAC1B,CAAC;IAEF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,KAAC,OAAO,IAAC,IAAI,EAAC,WAAW,YAAE,OAAO,GAAW,CAAC;AACvD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ToolExecution.d.ts","sourceRoot":"","sources":["../../../src/ui/components/ToolExecution.tsx"],"names":[],"mappings":"AA2BA;;;;;GAKG;AACH,qFAAqF;AACrF,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAErE,MAAM,WAAW,uBAAuB;IACtC,6DAA6D;IAC7D,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC;IAClF,yGAAyG;IACzG,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC;IACnF;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,aAAa,GAAG,SAAS,CAAC;CAC9F;AAED,UAAU,gBAAgB;IACxB,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,0DAA0D;IAC1D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,8EAA8E;IAC9E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,aAAa;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,KAAK,kBAAkB,GAAG,gBAAgB,GAAG,aAAa,CAAC;AAS3D,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,2CA+RtD"}
1
+ {"version":3,"file":"ToolExecution.d.ts","sourceRoot":"","sources":["../../../src/ui/components/ToolExecution.tsx"],"names":[],"mappings":"AA+CA;;;;;GAKG;AACH,qFAAqF;AACrF,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAErE,MAAM,WAAW,uBAAuB;IACtC,6DAA6D;IAC7D,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC;IAClF,yGAAyG;IACzG,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC;IACnF;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,aAAa,GAAG,SAAS,CAAC;CAC9F;AAED,UAAU,gBAAgB;IACxB,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,0DAA0D;IAC1D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,8EAA8E;IAC9E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,aAAa;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,KAAK,kBAAkB,GAAG,gBAAgB,GAAG,aAAa,CAAC;AAS3D,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,2CAqTtD"}
@@ -22,6 +22,21 @@ function truncateLine(line, cols, reservedChars = 6) {
22
22
  const max = cols - reservedChars;
23
23
  return line.length > max ? line.slice(0, max) + "…" : line;
24
24
  }
25
+ /**
26
+ * Head + tail truncation. Keeps the first ~60% and last ~40% of `maxLines`
27
+ * so the important bottom of a tool's output (the failure, the exit line) is
28
+ * never hidden by head-only slicing. Returns the displayed slice, how many
29
+ * lines were dropped, and the index at which the hidden marker should appear.
30
+ */
31
+ function sliceHeadTail(lines, maxLines) {
32
+ if (lines.length <= maxLines) {
33
+ return { lines, hiddenCount: 0, splitAt: lines.length };
34
+ }
35
+ const head = Math.max(1, Math.ceil(maxLines * 0.6));
36
+ const tail = maxLines - head;
37
+ const display = tail > 0 ? [...lines.slice(0, head), ...lines.slice(-tail)] : lines.slice(0, head);
38
+ return { lines: display, hiddenCount: lines.length - maxLines, splitAt: head };
39
+ }
25
40
  /** Tools that use compact one-line summaries instead of showing output. */
26
41
  const COMPACT_TOOLS = new Set(["read", "grep", "find", "ls", "source_path"]);
27
42
  const STATE_TOOLS = new Set(["tasks", "goals"]);
@@ -37,7 +52,7 @@ export function ToolExecution(props) {
37
52
  if (SERVER_STYLE_TOOLS.has(props.name)) {
38
53
  const { label, detail } = applyFormatters(getToolHeaderParts(props.name, props.args), props.name, props.args, props.formatters);
39
54
  const headerContentWidth = Math.max(10, columns - HEADER_PREFIX);
40
- return (_jsxs(Box, { flexDirection: "column", paddingLeft: RESPONSE_LEFT_PADDING, marginTop: marginTop, children: [_jsxs(Box, { flexDirection: "row", children: [_jsx(Box, { width: HEADER_PREFIX, flexShrink: 0, children: _jsx(Spinner, { staticDisplay: staticDisplay }) }), _jsx(Box, { flexGrow: 1, width: headerContentWidth, children: _jsxs(Text, { wrap: "wrap", children: [_jsx(Text, { bold: true, color: theme.toolName, children: label }), detail && (_jsxs(Text, { color: theme.text, children: ["(", _jsx(Text, { color: theme.textDim, children: '"' }), detail, _jsx(Text, { color: theme.textDim, children: '"' }), ")"] }))] }) })] }), _jsx(MessageResponse, { children: _jsx(Text, { color: theme.textDim, wrap: "wrap", children: "Searching..." }) })] }));
55
+ return (_jsxs(Box, { flexDirection: "column", paddingLeft: RESPONSE_LEFT_PADDING, marginTop: marginTop, children: [_jsxs(Box, { flexDirection: "row", children: [_jsx(Box, { width: HEADER_PREFIX, flexShrink: 0, children: _jsx(Spinner, { staticDisplay: staticDisplay }) }), _jsx(Box, { flexGrow: 1, width: headerContentWidth, children: _jsxs(Text, { wrap: "wrap", children: [_jsx(Text, { bold: true, color: theme.toolName, children: label }), detail && (_jsxs(Text, { color: theme.text, children: ["(", _jsx(Text, { color: theme.textDim, children: '"' }), detail, _jsx(Text, { color: theme.textDim, children: '"' }), ")"] }))] }) })] }), _jsx(MessageResponse, { accentColor: toolAccentColor(theme, props.name), children: _jsx(Text, { color: theme.textDim, wrap: "wrap", children: "Searching..." }) })] }));
41
56
  }
42
57
  // Compact tools get a blinking dot + summary label
43
58
  if (COMPACT_TOOLS.has(props.name)) {
@@ -54,7 +69,7 @@ export function ToolExecution(props) {
54
69
  if (props.name === "bash" && props.progressOutput) {
55
70
  const progLines = props.progressOutput.split("\n").filter(Boolean);
56
71
  const tail = progLines.slice(-3);
57
- return (_jsxs(Box, { paddingLeft: RESPONSE_LEFT_PADDING, flexDirection: "column", children: [_jsxs(Box, { flexDirection: "row", children: [_jsx(Box, { width: HEADER_PREFIX, flexShrink: 0, children: _jsx(Spinner, { staticDisplay: staticDisplay }) }), _jsx(Text, { color: theme.toolName, bold: true, wrap: "wrap", children: detail ? `${label}(${detail})` : label })] }), _jsx(MessageResponse, { children: _jsx(Box, { flexDirection: "column", children: tail.map((line, i) => (_jsx(Text, { color: theme.textDim, wrap: "truncate", children: truncateLine(line, columns - 8) }, i))) }) })] }));
72
+ return (_jsxs(Box, { paddingLeft: RESPONSE_LEFT_PADDING, flexDirection: "column", children: [_jsxs(Box, { flexDirection: "row", children: [_jsx(Box, { width: HEADER_PREFIX, flexShrink: 0, children: _jsx(Spinner, { staticDisplay: staticDisplay }) }), _jsx(Text, { color: theme.toolName, bold: true, wrap: "wrap", children: detail ? `${label}(${detail})` : label })] }), _jsx(MessageResponse, { accentColor: toolAccentColor(theme, props.name), children: _jsx(Box, { flexDirection: "column", children: tail.map((line, i) => (_jsx(Text, { color: theme.textDim, wrap: "truncate", children: truncateLine(line, columns - 8) }, i))) }) })] }));
58
73
  }
59
74
  return (_jsxs(Box, { paddingLeft: RESPONSE_LEFT_PADDING, marginTop: marginTop, flexDirection: "row", children: [_jsx(Box, { width: HEADER_PREFIX, flexShrink: 0, children: _jsx(Spinner, { staticDisplay: staticDisplay }) }), _jsx(Text, { color: toolNameColor(theme, props.name), bold: true, wrap: "wrap", children: detail ? `${label}(${detail})` : label })] }));
60
75
  }
@@ -68,7 +83,7 @@ export function ToolExecution(props) {
68
83
  const summaryText = isError
69
84
  ? result.split("\n")[0]
70
85
  : `${searchCount} result${searchCount !== 1 ? "s" : ""}`;
71
- return (_jsxs(Box, { flexDirection: "column", paddingLeft: RESPONSE_LEFT_PADDING, marginTop: marginTop, children: [_jsxs(Box, { flexDirection: "row", children: [_jsx(ToolUseLoader, { status: isError ? "error" : "done" }), _jsx(Box, { flexGrow: 1, width: headerContentWidth, children: _jsxs(Text, { wrap: "wrap", children: [_jsx(Text, { bold: true, color: isError ? theme.error : toolNameColor(theme, name), children: label }), detail && (_jsxs(Text, { color: theme.text, children: ["(", _jsx(Text, { color: theme.textDim, children: '"' }), detail, _jsx(Text, { color: theme.textDim, children: '"' }), ")"] }))] }) })] }), _jsx(MessageResponse, { children: _jsx(Text, { color: theme.textDim, wrap: "wrap", children: summaryText }) })] }));
86
+ return (_jsxs(Box, { flexDirection: "column", paddingLeft: RESPONSE_LEFT_PADDING, marginTop: marginTop, children: [_jsxs(Box, { flexDirection: "row", children: [_jsx(ToolUseLoader, { status: isError ? "error" : "done" }), _jsx(Box, { flexGrow: 1, width: headerContentWidth, children: _jsxs(Text, { wrap: "wrap", children: [_jsx(Text, { bold: true, color: isError ? theme.error : toolNameColor(theme, name), children: label }), detail && (_jsxs(Text, { color: theme.text, children: ["(", _jsx(Text, { color: theme.textDim, children: '"' }), detail, _jsx(Text, { color: theme.textDim, children: '"' }), ")"] }))] }) })] }), _jsx(MessageResponse, { accentColor: isError ? theme.error : toolAccentColor(theme, name), children: _jsx(Text, { color: theme.textDim, wrap: "wrap", children: summaryText }) })] }));
72
87
  }
73
88
  // Compact tools — one-line summary, no output content
74
89
  if (COMPACT_TOOLS.has(name) && !isError) {
@@ -89,6 +104,8 @@ export function ToolExecution(props) {
89
104
  ? buildDiffBody(diffText, args, columns)
90
105
  : buildResultBody(name, result, isError, columns);
91
106
  const headerColor = isError ? theme.error : toolNameColor(theme, name);
107
+ // At-a-glance status/size chip derived from data already present.
108
+ const headerChip = buildHeaderChip(name, result, diffText, theme);
92
109
  // Compact display — no body to show, but show inline summary
93
110
  if (!body) {
94
111
  const inline = props.formatters?.formatInline?.(name, result, isError) ??
@@ -97,9 +114,15 @@ export function ToolExecution(props) {
97
114
  const inlineColor = inline && typeof inline === "object" ? inline.color : toolAccentColor(theme, name);
98
115
  return (_jsxs(Box, { paddingLeft: RESPONSE_LEFT_PADDING, marginTop: marginTop, flexDirection: "row", children: [_jsx(ToolUseLoader, { status: isError ? "error" : "done" }), _jsx(Box, { flexGrow: 1, width: headerContentWidth, children: _jsxs(Text, { wrap: "wrap", children: [_jsx(Text, { bold: true, color: headerColor, children: label }), detail && (_jsxs(Text, { color: theme.text, children: ["(", detail, ")"] })), inlineText && _jsxs(Text, { color: inlineColor, children: [" ", inlineText] })] }) })] }));
99
116
  }
100
- const { lines, totalLines } = body;
117
+ const { lines, totalLines, splitAt } = body;
101
118
  const hiddenCount = totalLines - lines.length;
102
- return (_jsxs(Box, { flexDirection: "column", paddingLeft: RESPONSE_LEFT_PADDING, marginTop: marginTop, children: [_jsxs(Box, { flexDirection: "row", children: [_jsx(ToolUseLoader, { status: isError ? "error" : "done" }), _jsx(Box, { flexGrow: 1, width: headerContentWidth, children: _jsxs(Text, { wrap: "wrap", children: [_jsx(Text, { bold: true, color: headerColor, children: label }), detail && (_jsxs(Text, { color: theme.text, children: ["(", detail, ")"] }))] }) })] }), _jsx(MessageResponse, { children: _jsxs(Box, { flexDirection: "column", children: [lines.map((line, i) => (_jsx(Box, { flexGrow: 1, width: bodyContentWidth, children: line }, i))), hiddenCount > 0 && (_jsxs(Text, { color: theme.textDim, wrap: "wrap", children: ["… +", hiddenCount, " lines"] }))] }) })] }));
119
+ // Where to insert the hidden marker. When splitAt is undefined or equals the
120
+ // displayed line count, nothing is hidden mid-block (e.g. diff bodies).
121
+ const markerAt = splitAt ?? lines.length;
122
+ const showHiddenMarker = hiddenCount > 0 && markerAt < lines.length;
123
+ const headLines = showHiddenMarker ? lines.slice(0, markerAt) : lines;
124
+ const tailLines = showHiddenMarker ? lines.slice(markerAt) : [];
125
+ return (_jsxs(Box, { flexDirection: "column", paddingLeft: RESPONSE_LEFT_PADDING, marginTop: marginTop, children: [_jsxs(Box, { flexDirection: "row", children: [_jsx(ToolUseLoader, { status: isError ? "error" : "done" }), _jsx(Box, { flexGrow: 1, width: headerContentWidth, children: _jsxs(Text, { wrap: "wrap", children: [_jsx(Text, { bold: true, color: headerColor, children: label }), detail && (_jsxs(Text, { color: theme.text, children: ["(", detail, ")"] })), headerChip] }) })] }), _jsx(MessageResponse, { accentColor: isError ? theme.error : toolAccentColor(theme, name), children: _jsxs(Box, { flexDirection: "column", children: [headLines.map((line, i) => (_jsx(Box, { flexGrow: 1, width: bodyContentWidth, children: line }, i))), showHiddenMarker && (_jsxs(Text, { color: theme.textDim, wrap: "wrap", children: ["⋯ ", hiddenCount, " lines hidden ⋯"] }, "hidden-marker")), tailLines.map((line, i) => (_jsx(Box, { flexGrow: 1, width: bodyContentWidth, children: line }, markerAt + i))), hiddenCount > 0 && !showHiddenMarker && (_jsxs(Text, { color: theme.textDim, wrap: "wrap", children: ["… +", hiddenCount, " lines"] }))] }) })] }));
103
126
  }
104
127
  // ── Compact tool labels ─────────────────────────────────────
105
128
  function getCompactRunningLabel(name, _args) {
@@ -407,6 +430,32 @@ function getInlineSummary(name, result, isError) {
407
430
  }
408
431
  }
409
432
  }
433
+ // ── Header status chips ────────────────────────────────────
434
+ /**
435
+ * Small inline header chip with at-a-glance status/size info, derived from
436
+ * strings already present (no new plumbing):
437
+ * - bash → exit-code chip (`✓ 0` / `✗ N`)
438
+ * - edit → diff-stat chip (`+a −r`)
439
+ * Returns `null` when no chip applies (absent/non-numeric data).
440
+ */
441
+ function buildHeaderChip(name, result, diffText, theme) {
442
+ if (name === "bash") {
443
+ const exitMatch = result.split("\n")[0]?.match(/^Exit code: (.+)/);
444
+ if (!exitMatch)
445
+ return null;
446
+ const code = exitMatch[1].trim();
447
+ const ok = code === "0";
448
+ return (_jsxs(Text, { color: ok ? theme.success : theme.error, children: [" ", ok ? "✓ 0" : `✗ ${code}`] }));
449
+ }
450
+ if (name === "edit" && diffText) {
451
+ const added = (diffText.match(/^\+[^+]/gm) ?? []).length;
452
+ const removed = (diffText.match(/^-[^-]/gm) ?? []).length;
453
+ if (added === 0 && removed === 0)
454
+ return null;
455
+ return (_jsxs(Text, { children: [added > 0 && _jsx(Text, { color: theme.success, children: ` +${added}` }), removed > 0 && _jsx(Text, { color: theme.error, children: ` −${removed}` })] }));
456
+ }
457
+ return null;
458
+ }
410
459
  function parseDiffWithLineNumbers(result) {
411
460
  const allLines = result.split("\n");
412
461
  const diffLines = allLines.filter((l) => !l.startsWith("---") && !l.startsWith("+++") && !l.startsWith("@@"));
@@ -485,10 +534,11 @@ function buildDiffBody(result, args, _columns) {
485
534
  function buildResultBody(name, result, isError, columns) {
486
535
  if (isError) {
487
536
  const lines = result.split("\n");
488
- const display = lines.slice(0, MAX_OUTPUT_LINES);
537
+ const { lines: display, splitAt } = sliceHeadTail(lines, MAX_OUTPUT_LINES);
489
538
  return {
490
539
  lines: display.map((l, i) => (_jsx(Text, { color: "#f87171", wrap: "wrap", children: truncateLine(l, columns) }, i))),
491
540
  totalLines: lines.length,
541
+ splitAt,
492
542
  };
493
543
  }
494
544
  switch (name) {
@@ -500,10 +550,11 @@ function buildResultBody(name, result, isError, columns) {
500
550
  const outputLines = allLines.slice(1).filter((l) => l.length > 0);
501
551
  if (outputLines.length === 0)
502
552
  return null;
503
- const display = outputLines.slice(0, MAX_OUTPUT_LINES);
553
+ const { lines: display, splitAt } = sliceHeadTail(outputLines, MAX_OUTPUT_LINES);
504
554
  return {
505
555
  lines: display.map((l, i) => (_jsx(Text, { color: exitCode !== "0" ? "#fbbf24" : "#9ca3af", wrap: "wrap", children: truncateLine(l, columns) }, i))),
506
556
  totalLines: outputLines.length,
557
+ splitAt,
507
558
  };
508
559
  }
509
560
  case "read":
@@ -514,40 +565,44 @@ function buildResultBody(name, result, isError, columns) {
514
565
  const lines = result.split("\n").filter((l) => l.length > 0);
515
566
  if (lines.length === 0 || result === "No matches found.")
516
567
  return null;
517
- const display = lines.slice(0, MAX_OUTPUT_LINES);
568
+ const { lines: display, splitAt } = sliceHeadTail(lines, MAX_OUTPUT_LINES);
518
569
  return {
519
570
  lines: display.map((l, i) => _jsx(GrepLine, { line: l }, i)),
520
571
  totalLines: lines.length,
572
+ splitAt,
521
573
  };
522
574
  }
523
575
  case "find": {
524
576
  const lines = result.split("\n").filter((l) => l.length > 0);
525
577
  if (lines.length === 0)
526
578
  return null;
527
- const display = lines.slice(0, MAX_OUTPUT_LINES);
579
+ const { lines: display, splitAt } = sliceHeadTail(lines, MAX_OUTPUT_LINES);
528
580
  return {
529
581
  lines: display.map((l, i) => _jsx(FindLine, { line: l }, i)),
530
582
  totalLines: lines.length,
583
+ splitAt,
531
584
  };
532
585
  }
533
586
  case "ls": {
534
587
  const lines = result.split("\n").filter((l) => l.length > 0);
535
588
  if (lines.length === 0)
536
589
  return null;
537
- const display = lines.slice(0, MAX_OUTPUT_LINES);
590
+ const { lines: display, splitAt } = sliceHeadTail(lines, MAX_OUTPUT_LINES);
538
591
  return {
539
592
  lines: display.map((l, i) => _jsx(LsLine, { line: l }, i)),
540
593
  totalLines: lines.length,
594
+ splitAt,
541
595
  };
542
596
  }
543
597
  case "subagent": {
544
598
  const lines = result.split("\n").filter((l) => l.length > 0);
545
599
  if (lines.length === 0)
546
600
  return null;
547
- const display = lines.slice(0, MAX_OUTPUT_LINES);
601
+ const { lines: display, splitAt } = sliceHeadTail(lines, MAX_OUTPUT_LINES);
548
602
  return {
549
603
  lines: display.map((l, i) => (_jsx(Text, { color: "#9ca3af", wrap: "wrap", children: truncateLine(l, columns) }, i))),
550
604
  totalLines: lines.length,
605
+ splitAt,
551
606
  };
552
607
  }
553
608
  case "skill":
@@ -569,10 +624,11 @@ function buildResultBody(name, result, isError, columns) {
569
624
  const lines = result.split("\n").filter((l) => l.length > 0);
570
625
  if (lines.length === 0)
571
626
  return null;
572
- const display = lines.slice(0, MAX_OUTPUT_LINES);
627
+ const { lines: display, splitAt } = sliceHeadTail(lines, MAX_OUTPUT_LINES);
573
628
  return {
574
629
  lines: display.map((line, i) => (_jsx(Text, { color: i === 0 ? "#60a5fa" : "#9ca3af", wrap: "wrap", children: truncateLine(line, columns) }, i))),
575
630
  totalLines: lines.length,
631
+ splitAt,
576
632
  };
577
633
  }
578
634
  case "task_stop":
@@ -583,10 +639,11 @@ function buildResultBody(name, result, isError, columns) {
583
639
  if (lines.length <= 1)
584
640
  return null;
585
641
  // Multi-line = list action → show styled task list
586
- const display = lines.slice(0, MAX_OUTPUT_LINES);
642
+ const { lines: display, splitAt } = sliceHeadTail(lines, MAX_OUTPUT_LINES);
587
643
  return {
588
644
  lines: display.map((l, i) => _jsx(TaskLine, { line: l }, i)),
589
645
  totalLines: lines.length,
646
+ splitAt,
590
647
  };
591
648
  }
592
649
  default: {
@@ -594,11 +651,11 @@ function buildResultBody(name, result, isError, columns) {
594
651
  const lines = result.split("\n").filter((l) => l.length > 0);
595
652
  if (lines.length === 0)
596
653
  return null;
597
- const maxLines = 4;
598
- const display = lines.slice(0, maxLines);
654
+ const { lines: display, splitAt } = sliceHeadTail(lines, MAX_OUTPUT_LINES);
599
655
  return {
600
656
  lines: display.map((l, i) => _jsx(MCPResultLine, { line: l }, i)),
601
657
  totalLines: lines.length,
658
+ splitAt,
602
659
  };
603
660
  }
604
661
  return null;