@pentoshi/clai 3.7.9 → 3.8.1

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 (90) hide show
  1. package/README.md +7 -4
  2. package/dist/commands/update.js +11 -3
  3. package/dist/commands/update.js.map +1 -1
  4. package/dist/prompts/embedded.js +2 -2
  5. package/dist/prompts/embedded.js.map +1 -1
  6. package/dist/prompts/index.js +3 -2
  7. package/dist/prompts/index.js.map +1 -1
  8. package/dist/prompts/system.agent.md +3 -3
  9. package/dist/prompts/system.ask.md +1 -1
  10. package/dist/repl/slash-commands.js +4 -0
  11. package/dist/repl/slash-commands.js.map +1 -1
  12. package/dist/tools/definitions.js +48 -5
  13. package/dist/tools/definitions.js.map +1 -1
  14. package/dist/tools/fs.d.ts +18 -3
  15. package/dist/tools/fs.js +471 -40
  16. package/dist/tools/fs.js.map +1 -1
  17. package/dist/tools/registry.js +10 -1
  18. package/dist/tools/registry.js.map +1 -1
  19. package/dist/tui-v2/actions/format-shortcuts.d.ts +12 -0
  20. package/dist/tui-v2/actions/format-shortcuts.js +257 -0
  21. package/dist/tui-v2/actions/format-shortcuts.js.map +1 -0
  22. package/dist/tui-v2/actions/keymap.js +7 -4
  23. package/dist/tui-v2/actions/keymap.js.map +1 -1
  24. package/dist/tui-v2/app/App.js +77 -21
  25. package/dist/tui-v2/app/App.js.map +1 -1
  26. package/dist/tui-v2/app/command-handlers.js +2 -1
  27. package/dist/tui-v2/app/command-handlers.js.map +1 -1
  28. package/dist/tui-v2/app/commands/config-commands.d.ts +1 -0
  29. package/dist/tui-v2/app/commands/config-commands.js +6 -5
  30. package/dist/tui-v2/app/commands/config-commands.js.map +1 -1
  31. package/dist/tui-v2/app/commands/picker-commands.js +3 -1
  32. package/dist/tui-v2/app/commands/picker-commands.js.map +1 -1
  33. package/dist/tui-v2/app/commands/session-commands.js +19 -2
  34. package/dist/tui-v2/app/commands/session-commands.js.map +1 -1
  35. package/dist/tui-v2/app/plan-lifecycle.js +1 -1
  36. package/dist/tui-v2/app/plan-lifecycle.js.map +1 -1
  37. package/dist/tui-v2/components/overlay/overlay-host.js +1 -1
  38. package/dist/tui-v2/components/overlay/overlay-host.js.map +1 -1
  39. package/dist/tui-v2/components/pager/pager-line.d.ts +31 -0
  40. package/dist/tui-v2/components/pager/pager-line.js +184 -0
  41. package/dist/tui-v2/components/pager/pager-line.js.map +1 -0
  42. package/dist/tui-v2/components/pager/pager.d.ts +7 -2
  43. package/dist/tui-v2/components/pager/pager.js +66 -187
  44. package/dist/tui-v2/components/pager/pager.js.map +1 -1
  45. package/dist/tui-v2/components/status/status-line.d.ts +22 -8
  46. package/dist/tui-v2/components/status/status-line.js +115 -57
  47. package/dist/tui-v2/components/status/status-line.js.map +1 -1
  48. package/dist/tui-v2/components/toast/toast-host.d.ts +5 -2
  49. package/dist/tui-v2/components/toast/toast-host.js +63 -28
  50. package/dist/tui-v2/components/toast/toast-host.js.map +1 -1
  51. package/dist/tui-v2/components/transcript/search-bar.d.ts +9 -5
  52. package/dist/tui-v2/components/transcript/search-bar.js +49 -3
  53. package/dist/tui-v2/components/transcript/search-bar.js.map +1 -1
  54. package/dist/tui-v2/components/transcript/transcript-row.d.ts +9 -0
  55. package/dist/tui-v2/components/transcript/transcript-row.js +24 -7
  56. package/dist/tui-v2/components/transcript/transcript-row.js.map +1 -1
  57. package/dist/tui-v2/components/transcript/transcript-view.js +121 -13
  58. package/dist/tui-v2/components/transcript/transcript-view.js.map +1 -1
  59. package/dist/tui-v2/components/transcript/use-native-selection-copy.js +7 -4
  60. package/dist/tui-v2/components/transcript/use-native-selection-copy.js.map +1 -1
  61. package/dist/tui-v2/composer/composer-action-port.d.ts +12 -0
  62. package/dist/tui-v2/composer/composer-action-port.js +20 -0
  63. package/dist/tui-v2/composer/composer-action-port.js.map +1 -0
  64. package/dist/tui-v2/composer/composer-editor.js +34 -2
  65. package/dist/tui-v2/composer/composer-editor.js.map +1 -1
  66. package/dist/tui-v2/composer/textarea-keybindings.d.ts +5 -3
  67. package/dist/tui-v2/composer/textarea-keybindings.js +29 -2
  68. package/dist/tui-v2/composer/textarea-keybindings.js.map +1 -1
  69. package/dist/tui-v2/controllers/overlay-controller.d.ts +6 -1
  70. package/dist/tui-v2/controllers/overlay-controller.js +2 -1
  71. package/dist/tui-v2/controllers/overlay-controller.js.map +1 -1
  72. package/dist/tui-v2/controllers/toast-controller.d.ts +17 -5
  73. package/dist/tui-v2/controllers/toast-controller.js +33 -7
  74. package/dist/tui-v2/controllers/toast-controller.js.map +1 -1
  75. package/dist/tui-v2/notify.d.ts +21 -0
  76. package/dist/tui-v2/notify.js +27 -0
  77. package/dist/tui-v2/notify.js.map +1 -0
  78. package/dist/tui-v2/rendering/format-help.d.ts +16 -0
  79. package/dist/tui-v2/rendering/format-help.js +95 -0
  80. package/dist/tui-v2/rendering/format-help.js.map +1 -0
  81. package/dist/tui-v2/rendering/pager-markdown.d.ts +40 -0
  82. package/dist/tui-v2/rendering/pager-markdown.js +82 -0
  83. package/dist/tui-v2/rendering/pager-markdown.js.map +1 -0
  84. package/dist/tui-v2/rendering/plan-view.d.ts +1 -2
  85. package/dist/tui-v2/rendering/plan-view.js +39 -55
  86. package/dist/tui-v2/rendering/plan-view.js.map +1 -1
  87. package/dist/version.generated.d.ts +6 -0
  88. package/dist/version.generated.js +7 -0
  89. package/dist/version.generated.js.map +1 -0
  90. package/package.json +5 -1
@@ -13,10 +13,11 @@ import { useEffect, useMemo, useRef, useState } from "react";
13
13
  import { useKeyboard, useTerminalDimensions } from "@opentui/react";
14
14
  import { TextAttributes } from "@opentui/core";
15
15
  import { chordFromKeyEvent } from "../../actions/chord-from-key.js";
16
- import { findPagerMatches, nextPagerMatch, prevPagerMatch, segmentPagerLine, } from "../../state/pager-search.js";
16
+ import { findPagerMatches, nextPagerMatch, prevPagerMatch, } from "../../state/pager-search.js";
17
17
  import { fitOneLine, padChromeRow, wrapPagerLine, } from "../../rendering/pager-chrome.js";
18
- import { syntaxColor } from "../../rendering/file-diff-view.js";
19
- import { emptyCarry, highlightLineForPath, } from "../../rendering/syntax-highlight.js";
18
+ import { emptyCarry, } from "../../rendering/syntax-highlight.js";
19
+ import { preparePagerDisplay, } from "../../rendering/pager-markdown.js";
20
+ import { PagerLine, bodyOnlyForCopy, parseDiffLine, } from "./pager-line.js";
20
21
  const HIDDEN_SCROLLBARS = {
21
22
  visible: false,
22
23
  showArrows: false,
@@ -28,184 +29,45 @@ const PAGER_HELP_SHORT = "↑↓:scroll · ^r:search · c:copy · q/esc:cl
28
29
  const PAGER_HELP_MIN = "↑↓ · ^r · q/esc:close";
29
30
  const PAGER_FOOTER_FULL = "c:copy · drag:select · s/^s:scrollback · e/^e:editor";
30
31
  const PAGER_FOOTER_SHORT = "c:copy · s:scrollback · e:editor";
31
- /**
32
- * Diff modal lines: ` 12 │ + body` (see formatModalPlainText).
33
- * Split so gutters are never selected/copied with the code.
34
- */
35
- const DIFF_SPLIT_RE = /^(?<gutter>[\d ]{0,8}) │ (?<rest>.*)$/;
36
- /** Base fg for a non-match body line (path/header cues, plan sections). */
37
- function baseLineFg(line, theme) {
38
- const t = line.trim();
39
- if (/^──\s*full output saved at/i.test(t))
40
- return theme.response;
41
- if (/^\/Users\/|^\/home\/|^~\/|^\.clai\/|outputs\//i.test(t)) {
42
- return theme.response;
43
- }
44
- if (t.startsWith("─"))
45
- return theme.chip;
46
- // Plan pager section titles
47
- if (/^(Approach|Tasks|Goal|Status)\b/i.test(t) && !t.includes(" ·")) {
48
- return theme.cyan;
49
- }
50
- if (/^Status\s+/i.test(t) || /^Updated\s+/i.test(t))
51
- return theme.muted;
52
- if (/^[✓✗○◉–]\s/.test(t) || /^\s+[✓✗○◉–]\s/.test(line)) {
53
- if (t.startsWith("✓") || line.includes(" ✓"))
54
- return theme.success;
55
- if (t.startsWith("✗") || line.includes(" ✗"))
56
- return theme.accent;
57
- if (t.startsWith("◉") || line.includes(" ◉"))
58
- return theme.activity;
59
- return theme.muted;
60
- }
61
- if (/^(Next:|Plan is approved|All tasks completed)/i.test(t))
62
- return theme.muted;
63
- if (/q\/esc:close|Esc or q to close/i.test(t))
64
- return theme.muted;
65
- return theme.foreground;
66
- }
67
- function parseDiffLine(line) {
68
- const m = DIFF_SPLIT_RE.exec(line);
69
- if (!m?.groups)
70
- return null;
71
- const gutter = m.groups.gutter ?? "";
72
- const rest = m.groups.rest ?? "";
73
- // header rows: no +/- marker at start of rest as single-char prefix + space
74
- if (/^[+\-−] /.test(rest)) {
75
- const prefix = rest[0];
76
- const code = rest.slice(2);
77
- const tone = prefix === "+" ? "add" : prefix === "-" || prefix === "−" ? "del" : "context";
78
- return { gutter, prefix, code, tone };
79
- }
80
- // context with leading space marker " code" from format (space + space + text)
81
- if (rest.startsWith(" ") || rest.startsWith(" ")) {
82
- // format is ` ${p} ${text}` so context is " text" (space space) or " " empty
83
- if (rest[0] === " " && rest[1] === " ") {
84
- return { gutter, prefix: " ", code: rest.slice(2), tone: "context" };
85
- }
86
- }
87
- // header-like (kind · path, stats)
88
- return { gutter, prefix: " ", code: rest, tone: "header" };
89
- }
90
- function PagerLine(props) {
91
- const { line, index, theme, matches, activeMatchIndex, hasQuery, highlightPath, carry, } = props;
92
- const isActiveLine = hasQuery &&
93
- activeMatchIndex >= 0 &&
94
- matches[activeMatchIndex]?.line === index;
95
- const parsed = parseDiffLine(line);
96
- if (parsed) {
97
- const bg = parsed.tone === "add"
98
- ? theme.diffAddBg
99
- : parsed.tone === "del"
100
- ? theme.diffDelBg
101
- : isActiveLine
102
- ? theme.rowA
103
- : undefined;
104
- // Add/del indicated only by background color — no +/- markers.
105
- const spans = parsed.tone === "header"
106
- ? [{ kind: "plain", text: parsed.code }]
107
- : highlightLineForPath(parsed.code, highlightPath, carry);
108
- const bodyForSearch = parsed.code;
109
- const segs = hasQuery && matches.length > 0
110
- ? segmentPagerLine(bodyForSearch, index, matches, activeMatchIndex)
111
- : null;
112
- // Gutter untinted; code column full-width tint. height:1 on every node so
113
- // the solid "│" column doesn't look dashed from extra row gaps.
114
- const codeBg = parsed.tone === "add" || parsed.tone === "del"
115
- ? bg
116
- : isActiveLine
117
- ? theme.rowA
118
- : undefined;
119
- return (_jsxs("box", { id: `pager-line-${index}`, style: {
120
- flexDirection: "row",
121
- width: "100%",
122
- height: 1,
123
- flexShrink: 0,
124
- }, children: [_jsxs("text", { selectable: false, style: { height: 1, flexShrink: 0 }, children: [_jsx("span", { style: { fg: theme.diffGutter }, children: parsed.gutter }), _jsx("span", { style: { fg: theme.diffGutter }, children: " │ " })] }), _jsx("box", { style: {
125
- flexGrow: 1,
126
- flexShrink: 1,
127
- minWidth: 0,
128
- height: 1,
129
- ...(codeBg ? { backgroundColor: codeBg } : {}),
130
- }, children: _jsx("text", { selectable: true, style: { height: 1 }, children: segs
131
- ? segs.map((seg, i) => {
132
- if (seg.kind === "plain") {
133
- return (_jsx("span", { style: { fg: theme.foreground }, children: seg.text }, i));
134
- }
135
- if (seg.kind === "active") {
136
- return (_jsx("span", { style: {
137
- fg: theme.background,
138
- bg: theme.activity,
139
- attributes: TextAttributes.BOLD,
140
- }, children: seg.text }, i));
141
- }
142
- return (_jsx("span", { style: {
143
- fg: theme.white,
144
- bg: theme.selection,
145
- attributes: TextAttributes.BOLD,
146
- }, children: seg.text }, i));
147
- })
148
- : spans.map((sp, i) => (_jsx("span", { style: {
149
- fg: parsed.tone === "header"
150
- ? theme.muted
151
- : syntaxColor(sp.kind, theme),
152
- }, children: sp.text || (i === 0 ? " " : "") }, i))) }) })] }));
153
- }
154
- const baseFg = baseLineFg(line, theme);
155
- if (!hasQuery || matches.length === 0) {
156
- return (_jsx("text", { id: `pager-line-${index}`, selectable: true, style: {
157
- fg: baseFg,
158
- ...(isActiveLine ? { bg: theme.rowA } : {}),
159
- }, children: line || " " }));
160
- }
161
- const segments = segmentPagerLine(line, index, matches, activeMatchIndex);
162
- return (_jsx("text", { id: `pager-line-${index}`, selectable: true, style: {
163
- fg: baseFg,
164
- ...(isActiveLine ? { bg: theme.rowA } : {}),
165
- }, children: segments.map((seg, i) => {
166
- if (seg.kind === "plain") {
167
- return (_jsx("span", { style: { fg: baseFg }, children: seg.text }, i));
168
- }
169
- if (seg.kind === "active") {
170
- return (_jsx("span", { style: {
171
- fg: theme.background,
172
- bg: theme.activity,
173
- attributes: TextAttributes.BOLD,
174
- }, children: seg.text }, i));
175
- }
176
- return (_jsx("span", { style: {
177
- fg: theme.white,
178
- bg: theme.selection,
179
- attributes: TextAttributes.BOLD,
180
- }, children: seg.text }, i));
181
- }) }));
182
- }
183
- /** Strip gutters from a full pager body for clipboard copy. */
184
- export function bodyOnlyForCopy(full) {
185
- return full
186
- .split("\n")
187
- .map((line) => {
188
- const p = parseDiffLine(line);
189
- if (p)
190
- return p.code;
191
- return line;
192
- })
193
- .join("\n");
194
- }
32
+ export { bodyOnlyForCopy } from "./pager-line.js";
195
33
  export function Pager(props) {
196
- const { services, theme, title, body, source, highlightPath } = props;
34
+ const { services, theme, title, body, source, highlightPath, markdown = "auto", } = props;
197
35
  const { width: termWidth } = useTerminalDimensions();
198
36
  const scrollRef = useRef(null);
199
37
  const [displayBody, setDisplayBody] = useState(body);
200
38
  const [artifactPage, setArtifactPage] = useState(undefined);
201
39
  const [pageBusy, setPageBusy] = useState(false);
202
- const lines = useMemo(() => displayBody.replace(/\n+$/, "").split("\n"), [displayBody]);
40
+ // Conservative width: 96% box sits inside app chrome; overestimate caused
41
+ // "11 lines" to paint past the rounded border after search.
42
+ const pagerOuterCols = Math.max(40, Math.floor(termWidth * 0.96));
43
+ const contentCols = Math.max(24, pagerOuterCols - 10);
44
+ // Meta/footer rows (with their padding) — exact column budget for padChromeRow.
45
+ const chromeCols = Math.max(20, contentCols - 4);
46
+ // Markdown (or plain) display lines — safe fallback inside preparePagerDisplay.
47
+ // Artifact/diff dumps with highlightPath stay plain so syntax + gutters win.
48
+ const display = useMemo(() => {
49
+ const mode = highlightPath || source ? "plain" : markdown;
50
+ return preparePagerDisplay({
51
+ body: displayBody,
52
+ width: contentCols,
53
+ mode,
54
+ defaultFg: theme.foreground,
55
+ });
56
+ }, [displayBody, contentCols, markdown, highlightPath, source, theme.foreground]);
57
+ const lines = useMemo(() => display.lines.map((l) => l.plain), [display.lines]);
203
58
  const pathForHighlight = highlightPath ?? title;
204
- // Search against code-only (no gutters) when body is a diff dump.
205
- const searchLines = useMemo(() => lines.map((line) => {
206
- const p = parseDiffLine(line);
207
- return p ? p.code : line;
208
- }), [lines]);
59
+ // Search haystack:
60
+ // - markdown: full plain lines (never strip "│" as a diff gutter — that
61
+ // blanked help/shortcuts and broke match offsets)
62
+ // - file-diff dumps: code-only so gutters are not matched
63
+ const searchLines = useMemo(() => {
64
+ if (display.mode === "markdown")
65
+ return lines;
66
+ return lines.map((line) => {
67
+ const p = parseDiffLine(line);
68
+ return p ? p.code : line;
69
+ });
70
+ }, [lines, display.mode]);
209
71
  const [searchOpen, setSearchOpen] = useState(false);
210
72
  const [query, setQuery] = useState("");
211
73
  const [matchIndex, setMatchIndex] = useState(-1);
@@ -268,12 +130,6 @@ export function Pager(props) {
268
130
  async function fullBody() {
269
131
  return source ? source.readAll() : body;
270
132
  }
271
- // Conservative width: 96% box sits inside app chrome; overestimate caused
272
- // "11 lines" to paint past the rounded border after search.
273
- const pagerOuterCols = Math.max(40, Math.floor(termWidth * 0.96));
274
- const contentCols = Math.max(24, pagerOuterCols - 10);
275
- // Meta/footer rows (with their padding) — exact column budget for padChromeRow.
276
- const chromeCols = Math.max(20, contentCols - 4);
277
133
  function flash(message, ms = 1800) {
278
134
  setStatusFlash(message);
279
135
  setExportError(undefined);
@@ -509,7 +365,16 @@ export function Pager(props) {
509
365
  case "pager.copy":
510
366
  void fullBody()
511
367
  .then((full) => services.ports.clipboard.writeText(bodyOnlyForCopy(full)))
512
- .then(() => flash("copied all"), () => flash("copy failed"));
368
+ .then(() => {
369
+ flash("copied all");
370
+ services.toast.success("Copied pager body", {
371
+ key: "clipboard",
372
+ durationMs: 1500,
373
+ });
374
+ }, () => {
375
+ flash("copy failed");
376
+ services.toast.error("Copy failed", { key: "clipboard" });
377
+ });
513
378
  break;
514
379
  case "pager.close":
515
380
  // First Esc clears an active search highlight; second closes the pager.
@@ -569,13 +434,13 @@ export function Pager(props) {
569
434
  const footerLine = padChromeRow(footerLeft, scrollLabel, chromeCols);
570
435
  const filterHint = fitOneLine([
571
436
  matches.length > 0
572
- ? `${matchStatus} · enter:next · esc:cancel`
437
+ ? `${matchStatus} · enter:jump · esc:close`
573
438
  : query.trim()
574
- ? "no matches · esc:cancel"
575
- : "type:filter · esc:cancel",
576
- matches.length > 0 ? `${matchStatus} · enter · esc` : "esc:cancel",
439
+ ? "no matches · esc:close"
440
+ : "type to search · esc:close",
441
+ matches.length > 0 ? `${matchStatus} · enter · esc:close` : "esc:close",
577
442
  matches.length > 0 ? matchStatus : "esc",
578
- ], Math.max(6, Math.floor(chromeCols * 0.35)));
443
+ ], Math.max(8, Math.floor(chromeCols * 0.4)));
579
444
  // Clip long titles so the border doesn't wrap/overflow.
580
445
  const borderTitle = title.length > 72 ? ` ${title.slice(0, 69)}… ` : ` ${title} `;
581
446
  return (_jsxs("box", { border: true, borderStyle: "rounded", title: borderTitle, titleAlignment: "left", titleColor: theme.cyan, style: {
@@ -604,7 +469,12 @@ export function Pager(props) {
604
469
  width: "100%",
605
470
  height: 1,
606
471
  minWidth: 0,
607
- }, children: [_jsxs("text", { selectable: false, style: { fg: theme.cyan, height: 1 }, children: ["filter:", " "] }), _jsx("input", { focused: true, value: query, onInput: (value) => {
472
+ }, children: [_jsx("text", { selectable: false, content: " ^R ", style: {
473
+ fg: theme.background,
474
+ bg: theme.cyan,
475
+ attributes: TextAttributes.BOLD,
476
+ height: 1,
477
+ } }), _jsx("text", { selectable: false, content: " ", style: { height: 1 } }), _jsx("input", { focused: true, value: query, onInput: (value) => {
608
478
  setQuery(value);
609
479
  // Reset so Enter always lands on the first hit for a new query.
610
480
  setMatchIndex(-1);
@@ -621,6 +491,15 @@ export function Pager(props) {
621
491
  // File-diff modals stay dense; generic tool output keeps a little air.
622
492
  paddingTop: highlightPath ? 0 : 1,
623
493
  }, onMouseScroll: () => refreshScrollHint(), children: [!highlightPath ? (_jsx("text", { content: " ", style: { height: 1 } })) : null, lines.flatMap((line, index) => {
494
+ const row = display.lines[index];
495
+ const isMd = display.mode === "markdown";
496
+ // Markdown lines are already width-wrapped by renderMarkdown; paint
497
+ // one StyledText row each (search falls back to plain segments).
498
+ if (isMd) {
499
+ return [
500
+ _jsx(PagerLine, { line: line, index: index, theme: theme, matches: matches, activeMatchIndex: matchIndex, hasQuery: hasQuery, highlightPath: pathForHighlight, carry: syntaxCarry, styled: row?.styled, markdownMode: true }, `${index}-0`),
501
+ ];
502
+ }
624
503
  // Don't wrap gutters into mid-line chunks — wrap code only when diff.
625
504
  const parsed = parseDiffLine(line);
626
505
  if (parsed) {
@@ -1 +1 @@
1
- {"version":3,"file":"pager.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/pager/pager.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pager.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/pager/pager.tsx"],"names":[],"mappings":"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"}
@@ -1,10 +1,13 @@
1
1
  /** @jsxImportSource @opentui/react */
2
2
  /**
3
- * Chrome under the composer.
3
+ * Chrome under the composer — responsive density so chips never pile over
4
+ * the token count / scroll badges on the right.
4
5
  *
5
- * Idle: centered clickable chips (`/:commands`, ^T/^O/^H, ^U/^D) with hover.
6
- * Running: spinner + activity · Esc:cancel.
7
- * Scroll remainder badges (`▲ N` / `▼ N`) sit on the far right.
6
+ * Density (by content width):
7
+ * - xs (<48): MODE · tokens · ▲▼
8
+ * - sm (<68): MODE · ^H · tokens · ▲▼ (+ spinner/activity when running)
9
+ * - md (<96): MODE · core keys · ^H · tokens · ▲▼
10
+ * - lg (≥96): full shortcut row
8
11
  */
9
12
  import { type ReactNode } from "react";
10
13
  import type { SessionController } from "../../../app/controllers/session-controller.js";
@@ -20,17 +23,28 @@ export interface StatusLineProps {
20
23
  readonly planVisible: boolean;
21
24
  readonly thinkingExpanded?: boolean | undefined;
22
25
  readonly outputExpanded?: boolean | undefined;
23
- /** Click ^T chip → toggle thinking. */
24
26
  readonly onToggleThinking?: (() => void) | undefined;
25
- /** Click ^O chip → toggle tool/compacted output. */
26
27
  readonly onToggleOutput?: (() => void) | undefined;
27
- /** Click ^H chip → toggle plan pane. */
28
28
  readonly onTogglePlan?: (() => void) | undefined;
29
+ readonly onJumpTop?: (() => void) | undefined;
30
+ readonly onJumpBottom?: (() => void) | undefined;
31
+ readonly onClearDraft?: (() => void) | undefined;
32
+ readonly onOpenShortcuts?: (() => void) | undefined;
29
33
  }
34
+ export type StatusDensity = "xs" | "sm" | "md" | "lg";
35
+ /** Map content width → chrome density. */
36
+ export declare function statusDensityForWidth(width: number): StatusDensity;
30
37
  export interface ModeIndicatorPresentation {
31
38
  readonly label: string;
32
39
  readonly description: string;
33
40
  }
34
41
  export declare function modeIndicatorPresentation(mode: Mode): ModeIndicatorPresentation;
35
- export declare function tasksToggleLabel(visible: boolean, compact?: boolean): string;
42
+ /**
43
+ * Tasks pane toggle label by density.
44
+ * - xs: hidden (caller skips chip)
45
+ * - sm: `^H`
46
+ * - md: `^H hide` / `^H show`
47
+ * - lg: `^H · hide` / `^H · show`
48
+ */
49
+ export declare function tasksToggleLabel(visible: boolean, density?: StatusDensity | boolean): string;
36
50
  export declare function StatusLine(props: StatusLineProps): ReactNode;