@pentoshi/clai 3.7.9 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 +9 -1
  46. package/dist/tui-v2/components/status/status-line.js +3 -3
  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
@@ -1,48 +1,83 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@opentui/react/jsx-runtime";
1
+ import { jsx as _jsx, Fragment as _Fragment } from "@opentui/react/jsx-runtime";
2
2
  import { TextAttributes } from "@opentui/core";
3
3
  import { useToastState } from "../../state/use-toast.js";
4
- function levelChrome(level, theme) {
4
+ /** Soft elevated surface — slight whitish shade on near-black. */
5
+ const TOAST_SURFACE_DARK = "#1c2028";
6
+ const TOAST_SURFACE_LIGHT = "#f4f5f7";
7
+ /** Outer box height (includes heavy border rows). */
8
+ const TOAST_HEIGHT = 5;
9
+ /** Gap between stacked toasts. */
10
+ const TOAST_STRIDE = 6;
11
+ function toastSurface(theme) {
12
+ const bg = theme.background.toLowerCase();
13
+ const isDark = bg.startsWith("#0") ||
14
+ bg.startsWith("#1") ||
15
+ bg === "#0b0e14" ||
16
+ bg === "#11151c";
17
+ return isDark ? TOAST_SURFACE_DARK : TOAST_SURFACE_LIGHT;
18
+ }
19
+ function levelGlyph(level) {
5
20
  switch (level) {
6
21
  case "success":
7
- return { border: "#4ADE80", fg: "#FFFFFF", bg: "#166534", label: " ✓ " };
22
+ return { glyph: "", fg: "#4ADE80" };
8
23
  case "warn":
9
- return { border: theme.activity, fg: theme.background, bg: theme.activity, label: " ! " };
24
+ return { glyph: "!", fg: "#FACC15" };
10
25
  case "error":
11
- return { border: theme.mode, fg: "#FFFFFF", bg: theme.mode, label: " ✗ " };
26
+ return { glyph: "✗", fg: "#F87171" };
12
27
  default:
13
- return { border: theme.cyan, fg: "#FFFFFF", bg: theme.chipTeal, label: " · " };
28
+ return { glyph: "·", fg: "#F8FAFC" };
14
29
  }
15
30
  }
31
+ function ToastPill(props) {
32
+ const { item, theme, top, left, width } = props;
33
+ const { glyph, fg: glyphFg } = levelGlyph(item.level);
34
+ const surface = toastSurface(theme);
35
+ // Border = YOU badge plate (prompt bg).
36
+ const border = theme.prompt;
37
+ const label = `${glyph} ${item.message}`;
38
+ return (_jsx("box", { border: true, borderStyle: "heavy", style: {
39
+ position: "absolute",
40
+ top,
41
+ left,
42
+ width,
43
+ height: TOAST_HEIGHT,
44
+ zIndex: 1000,
45
+ borderColor: border,
46
+ backgroundColor: theme.background,
47
+ flexDirection: "column",
48
+ paddingLeft: 0,
49
+ paddingRight: 0,
50
+ paddingTop: 0,
51
+ paddingBottom: 0,
52
+ }, children: _jsx("box", { style: {
53
+ flexGrow: 1,
54
+ width: "100%",
55
+ minHeight: 1,
56
+ backgroundColor: surface,
57
+ flexDirection: "row",
58
+ alignItems: "center",
59
+ justifyContent: "center",
60
+ paddingLeft: 2,
61
+ paddingRight: 2,
62
+ }, children: _jsx("text", { selectable: false, content: label, style: {
63
+ fg: glyphFg,
64
+ attributes: TextAttributes.BOLD,
65
+ } }) }) }));
66
+ }
16
67
  export function ToastHost(props) {
17
68
  const { toast, theme, termWidth, termHeight } = props;
18
69
  const items = useToastState(toast);
19
70
  if (items.length === 0)
20
71
  return null;
21
- const maxWidth = Math.min(48, Math.max(26, Math.floor(termWidth * 0.4)));
72
+ const maxWidth = Math.min(56, Math.max(34, Math.floor(termWidth * 0.52)));
22
73
  const ordered = [...items].reverse();
23
- const maxStack = Math.max(1, Math.floor((termHeight - 4) / 3));
74
+ const maxStack = Math.max(1, Math.min(3, Math.floor((termHeight - 8) / TOAST_STRIDE)));
24
75
  const visible = ordered.slice(0, maxStack);
25
76
  return (_jsx(_Fragment, { children: visible.map((item, index) => {
26
- const chrome = levelChrome(item.level, theme);
27
- const toastWidth = Math.min(maxWidth, Math.max(24, item.message.length + 10));
28
- const left = Math.max(0, termWidth - toastWidth - 1);
29
- const top = 1 + index * 3;
30
- return (_jsxs("box", { border: true, borderStyle: "rounded", style: {
31
- position: "absolute",
32
- top,
33
- left,
34
- width: toastWidth,
35
- zIndex: 999,
36
- borderColor: chrome.border,
37
- backgroundColor: theme.statusBackground,
38
- paddingLeft: 1,
39
- paddingRight: 1,
40
- flexDirection: "row",
41
- }, children: [_jsx("text", { style: {
42
- fg: chrome.fg,
43
- bg: chrome.bg,
44
- attributes: TextAttributes.BOLD,
45
- }, children: chrome.label }), _jsx("text", { content: " " }), _jsx("text", { style: { fg: theme.foreground, attributes: TextAttributes.BOLD }, children: item.message })] }, item.id));
77
+ const toastWidth = Math.min(maxWidth, Math.max(30, item.message.length + 10));
78
+ const left = Math.max(0, termWidth - toastWidth - 2);
79
+ const top = 1 + index * TOAST_STRIDE;
80
+ return (_jsx(ToastPill, { item: item, theme: theme, top: top, left: left, width: toastWidth }, item.id));
46
81
  }) }));
47
82
  }
48
83
  //# sourceMappingURL=toast-host.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toast-host.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/toast/toast-host.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toast-host.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/toast/toast-host.tsx"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  /** @jsxImportSource @opentui/react */
2
2
  /**
3
- * Transcript search input (CHAT/V2-057). Purely a text field plus a match
4
- * counter; query matching and index navigation live in the renderer-
5
- * independent `transcript-search.ts` and are owned by `TranscriptView`, which
6
- * also handles Escape (global key handling can't be typed on `<input>`'s
7
- * React propssee that component for why).
3
+ * Transcript search chrome (CHAT/V2-057).
4
+ *
5
+ * Two modes:
6
+ * 1. Filter open focused input, type a term, Enter jumps + leaves sticky find.
7
+ * 2. Sticky find (bar closed, query kept) rendered as a status strip so
8
+ * n/N / Esc are obvious (same model as the pager).
8
9
  */
9
10
  import type { ReactNode } from "react";
10
11
  import type { Theme } from "../../rendering/theme.js";
@@ -15,5 +16,8 @@ export interface SearchBarProps {
15
16
  readonly activeOrdinal: number;
16
17
  readonly onQueryChange: (value: string) => void;
17
18
  readonly onSubmit: () => void;
19
+ /** When true, show the focused input. When false, show sticky find strip. */
20
+ readonly editing: boolean;
18
21
  }
22
+ /** Focused filter input while typing a search term. */
19
23
  export declare function SearchBar(props: SearchBarProps): ReactNode;
@@ -1,7 +1,53 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "@opentui/react/jsx-runtime";
2
+ import { TextAttributes } from "@opentui/core";
3
+ function matchLabel(query, matchCount, activeOrdinal) {
4
+ if (!query.trim())
5
+ return "";
6
+ if (matchCount <= 0)
7
+ return "no matches";
8
+ // Before first Enter, only show total; after, show current/total.
9
+ if (activeOrdinal <= 0)
10
+ return `${matchCount} match${matchCount === 1 ? "" : "es"}`;
11
+ return `${activeOrdinal}/${matchCount}`;
12
+ }
13
+ /** Focused filter input while typing a search term. */
2
14
  export function SearchBar(props) {
3
- const { theme, query, matchCount, activeOrdinal, onQueryChange, onSubmit } = props;
4
- const status = matchCount > 0 ? `${activeOrdinal}/${matchCount}` : query ? "no matches" : "";
5
- return (_jsxs("box", { style: { flexDirection: "row", backgroundColor: theme.statusBackground, paddingLeft: 1 }, children: [_jsx("text", { style: { fg: theme.muted }, children: "type:filter " }), _jsx("input", { focused: true, value: query, onInput: onQueryChange, onSubmit: onSubmit, textColor: theme.foreground, backgroundColor: theme.statusBackground, style: { flexGrow: 1 } }), _jsxs("text", { style: { fg: theme.muted }, children: [" ", status, " \u00B7 enter:next \u00B7 esc:close"] })] }));
15
+ const { theme, query, matchCount, activeOrdinal, onQueryChange, onSubmit, editing, } = props;
16
+ const status = matchLabel(query, matchCount, activeOrdinal);
17
+ if (!editing) {
18
+ // Sticky find strip after Enter — n/N navigate, Esc clears.
19
+ return (_jsxs("box", { style: {
20
+ flexDirection: "row",
21
+ backgroundColor: theme.rowB,
22
+ paddingLeft: 1,
23
+ paddingRight: 1,
24
+ height: 1,
25
+ alignItems: "center",
26
+ width: "100%",
27
+ }, children: [_jsx("text", { selectable: false, content: " find ", style: {
28
+ fg: theme.background,
29
+ bg: theme.cyan,
30
+ attributes: TextAttributes.BOLD,
31
+ } }), _jsx("text", { selectable: false, content: " " }), _jsx("text", { selectable: false, content: query.trim() || "…", style: { fg: theme.foreground, attributes: TextAttributes.BOLD } }), _jsx("text", { selectable: false, content: " " }), _jsx("text", { selectable: false, content: status, style: {
32
+ fg: matchCount > 0 ? theme.activity : theme.muted,
33
+ attributes: TextAttributes.BOLD,
34
+ } }), _jsx("text", { selectable: false, content: " \u00B7 n/N:next \u00B7 ^r:edit \u00B7 esc:close", style: { fg: theme.muted } })] }));
35
+ }
36
+ return (_jsxs("box", { style: {
37
+ flexDirection: "row",
38
+ backgroundColor: theme.rowB,
39
+ paddingLeft: 1,
40
+ paddingRight: 1,
41
+ height: 1,
42
+ alignItems: "center",
43
+ width: "100%",
44
+ }, children: [_jsx("text", { selectable: false, content: " ^R ", style: {
45
+ fg: theme.background,
46
+ bg: theme.cyan,
47
+ attributes: TextAttributes.BOLD,
48
+ } }), _jsx("text", { selectable: false, content: " ", style: { fg: theme.muted } }), _jsx("text", { selectable: false, content: "filter ", style: { fg: theme.muted } }), _jsx("input", { focused: true, value: query, onInput: onQueryChange, onSubmit: onSubmit, textColor: theme.foreground, backgroundColor: theme.rowB, placeholder: "search chat\u2026", placeholderColor: theme.muted, style: { flexGrow: 1, minWidth: 12 } }), _jsx("text", { selectable: false, content: " " }), status ? (_jsx("text", { selectable: false, content: `${status} · `, style: {
49
+ fg: matchCount > 0 ? theme.activity : theme.muted,
50
+ attributes: TextAttributes.BOLD,
51
+ } })) : null, _jsx("text", { selectable: false, content: "enter:jump \u00B7 esc:close", style: { fg: theme.muted } })] }));
6
52
  }
7
53
  //# sourceMappingURL=search-bar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"search-bar.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/transcript/search-bar.tsx"],"names":[],"mappings":";AAqBA,MAAM,UAAU,SAAS,CAAC,KAAqB;IAC7C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACnF,MAAM,MAAM,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7F,OAAO,CACL,eAAK,KAAK,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,CAAC,gBAAgB,EAAE,WAAW,EAAE,CAAC,EAAE,aAC3F,eAAM,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,8BAAsB,EACtD,gBACE,OAAO,QACP,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,KAAK,CAAC,UAAU,EAC3B,eAAe,EAAE,KAAK,CAAC,gBAAgB,EACvC,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,GACtB,EACF,gBAAM,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,aAC7B,GAAG,EACH,MAAM,+CACF,IACH,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"search-bar.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/transcript/search-bar.tsx"],"names":[],"mappings":"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"}
@@ -12,6 +12,13 @@ import type { AppServices } from "../../bootstrap/composition-root.js";
12
12
  import type { TranscriptStore } from "../../state/transcript-store.js";
13
13
  import { type TranscriptItem, type TranscriptState } from "../../state/transcript-types.js";
14
14
  import type { Theme } from "../../rendering/theme.js";
15
+ /** Active ^R search highlight for a transcript row. */
16
+ export interface TranscriptSearchMark {
17
+ /** This item contains at least one match for the current query. */
18
+ readonly matched: boolean;
19
+ /** This item is the currently selected n/N match. */
20
+ readonly active: boolean;
21
+ }
15
22
  export declare function TranscriptRow(props: {
16
23
  item: TranscriptItem;
17
24
  state: TranscriptState;
@@ -22,4 +29,6 @@ export declare function TranscriptRow(props: {
22
29
  onOpenUserPrompt: (prompt: string) => void;
23
30
  /** Chat-pane columns so markdown tables reflow beside the plan pane. */
24
31
  contentWidth?: number | undefined;
32
+ /** Optional ^R search highlight for this item. */
33
+ searchMark?: TranscriptSearchMark | undefined;
25
34
  }): ReactNode;
@@ -7,14 +7,18 @@ import { ToolCard } from "./tool-card.js";
7
7
  import { NoticeRow } from "./notice-row.js";
8
8
  import { CompactedRow } from "./compacted-row.js";
9
9
  export function TranscriptRow(props) {
10
- const { item, state, theme, store, spool, services, onOpenUserPrompt, contentWidth, } = props;
10
+ const { item, state, theme, store, spool, services, onOpenUserPrompt, contentWidth, searchMark, } = props;
11
+ let body;
11
12
  switch (item.kind) {
12
13
  case "user":
13
- return _jsx(UserMessage, { item: item, theme: theme, onOpen: onOpenUserPrompt });
14
+ body = _jsx(UserMessage, { item: item, theme: theme, onOpen: onOpenUserPrompt });
15
+ break;
14
16
  case "assistant":
15
- return (_jsx(AssistantMessage, { item: item, theme: theme, contentWidth: contentWidth }));
17
+ body = (_jsx(AssistantMessage, { item: item, theme: theme, contentWidth: contentWidth }));
18
+ break;
16
19
  case "thinking":
17
- return (_jsx(ThinkingBlock, { item: item, theme: theme, expanded: isItemExpanded(state, item), onToggle: () => store.toggleItemOverride(item.id, state.expandThinkingGlobal) }));
20
+ body = (_jsx(ThinkingBlock, { item: item, theme: theme, expanded: isItemExpanded(state, item), onToggle: () => store.toggleItemOverride(item.id, state.expandThinkingGlobal) }));
21
+ break;
18
22
  case "tool": {
19
23
  // task.update spam — only show failures in the main chat.
20
24
  // (The Tasks pane still reflects every successful update.)
@@ -23,12 +27,14 @@ export function TranscriptRow(props) {
23
27
  item.status !== "blocked") {
24
28
  return null;
25
29
  }
26
- return (_jsx(ToolCard, { item: item, theme: theme, spool: spool, services: services, expanded: isItemExpanded(state, item), onToggle: () => store.toggleItemOverride(item.id, state.expandOutputGlobal), fileDiffExpanded: isFileDiffExpanded(state, item.id), onToggleFileDiff: () => store.toggleFileDiffOverride(item.id, state.expandFileDiffsGlobal), onCollapseAllFileDiffs: () => store.setFileDiffsGlobal(false), onExpandAllFileDiffs: () => store.setFileDiffsGlobal(true) }));
30
+ body = (_jsx(ToolCard, { item: item, theme: theme, spool: spool, services: services, expanded: isItemExpanded(state, item), onToggle: () => store.toggleItemOverride(item.id, state.expandOutputGlobal), fileDiffExpanded: isFileDiffExpanded(state, item.id), onToggleFileDiff: () => store.toggleFileDiffOverride(item.id, state.expandFileDiffsGlobal), onCollapseAllFileDiffs: () => store.setFileDiffsGlobal(false), onExpandAllFileDiffs: () => store.setFileDiffsGlobal(true) }));
31
+ break;
27
32
  }
28
33
  case "notice":
29
- return _jsx(NoticeRow, { item: item, theme: theme });
34
+ body = _jsx(NoticeRow, { item: item, theme: theme });
35
+ break;
30
36
  case "compacted":
31
- return (_jsx(CompactedRow, { item: item, theme: theme, services: services, contentWidth: contentWidth, expanded: isItemExpanded(state, item), onToggle: () => {
37
+ body = (_jsx(CompactedRow, { item: item, theme: theme, services: services, contentWidth: contentWidth, expanded: isItemExpanded(state, item), onToggle: () => {
32
38
  // Ctrl+O / toggle: open pager (do not dump multi‑KB memory in chat).
33
39
  const summary = item.summary;
34
40
  const title = item.beforeTokens > 0 || item.afterTokens > 0
@@ -36,10 +42,21 @@ export function TranscriptRow(props) {
36
42
  : "Compacted context";
37
43
  services.overlay.openPager(title, summary);
38
44
  } }));
45
+ break;
39
46
  default: {
40
47
  const unreachable = item;
41
48
  throw new Error(`unhandled transcript item: ${JSON.stringify(unreachable)}`);
42
49
  }
43
50
  }
51
+ // Search highlight wrapper — active match gets a strong wash; other hits a soft one.
52
+ if (!searchMark?.matched)
53
+ return body;
54
+ return (_jsx("box", { border: true, borderStyle: "rounded", style: {
55
+ width: "100%",
56
+ flexDirection: "column",
57
+ backgroundColor: searchMark.active ? theme.selection : theme.rowA,
58
+ borderColor: searchMark.active ? theme.activity : theme.cyan,
59
+ marginBottom: 0,
60
+ }, children: body }));
44
61
  }
45
62
  //# sourceMappingURL=transcript-row.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transcript-row.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/transcript/transcript-row.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transcript-row.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/transcript/transcript-row.tsx"],"names":[],"mappings":"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"}
@@ -15,9 +15,10 @@ import { chordFromKeyEvent } from "../../actions/chord-from-key.js";
15
15
  import { useTranscriptState } from "../../state/use-transcript-store.js";
16
16
  import { useSessionState } from "../../state/use-session-state.js";
17
17
  import { transcriptItems } from "../../state/transcript-types.js";
18
- import { findMatches, nextMatchIndex } from "../../state/transcript-search.js";
18
+ import { findMatches, nextMatchIndex, prevMatchIndex, } from "../../state/transcript-search.js";
19
19
  import { TranscriptRow } from "./transcript-row.js";
20
20
  import { SearchBar } from "./search-bar.js";
21
+ import { notify } from "../../notify.js";
21
22
  import { IntroCard } from "./intro-card.js";
22
23
  import { EMPTY_SCROLL_METRICS, publishTranscriptScrollMetrics, registerTranscriptAutoScroll, registerTranscriptJumpHandlers, registerTranscriptScrollPort, } from "./transcript-scroll-port.js";
23
24
  import { useNativeSelectionCopy } from "./use-native-selection-copy.js";
@@ -110,10 +111,22 @@ export function TranscriptView(props) {
110
111
  }
111
112
  return parts.join("|");
112
113
  }, [state, session.running]);
114
+ /** Filter input visible (typing a term). */
113
115
  const [searchOpen, setSearchOpen] = useState(false);
116
+ /** Sticky query kept after Enter so n/N + highlights work (pager model). */
114
117
  const [query, setQuery] = useState("");
115
118
  const [matchIndex, setMatchIndex] = useState(-1);
116
119
  const matches = useMemo(() => findMatches(state, query), [state, query]);
120
+ const matchedItemIds = useMemo(() => {
121
+ const set = new Set();
122
+ for (const m of matches)
123
+ set.add(m.itemId);
124
+ return set;
125
+ }, [matches]);
126
+ const activeMatchItemId = matchIndex >= 0 && matchIndex < matches.length
127
+ ? matches[matchIndex].itemId
128
+ : undefined;
129
+ const searchActive = query.trim().length > 0;
117
130
  // Drag-select on response/thinking text → OSC 52 copy on release.
118
131
  useNativeSelectionCopy(services);
119
132
  /**
@@ -284,24 +297,86 @@ export function TranscriptView(props) {
284
297
  setFollowing(true);
285
298
  }
286
299
  function openSearch() {
287
- if (searchOpen || services.focus.hasOverlay())
300
+ // Allow re-opening the filter to edit the sticky query.
301
+ if (searchOpen)
288
302
  return;
289
- closeOverlay.current = services.focus.pushOverlay("transcript-search");
303
+ // Another overlay (pager/picker) owns focus — do not stack.
304
+ if (services.focus.hasOverlay() && services.focus.activeContext() !== "transcript-search") {
305
+ return;
306
+ }
307
+ if (!closeOverlay.current) {
308
+ try {
309
+ closeOverlay.current = services.focus.pushOverlay("transcript-search");
310
+ }
311
+ catch {
312
+ // Overlay already open — still show the bar if we own search.
313
+ return;
314
+ }
315
+ }
290
316
  setSearchOpen(true);
317
+ followBottom.current = false;
291
318
  }
292
- function closeSearch() {
319
+ /** Drop filter input + sticky query + highlights. */
320
+ function clearSearch() {
293
321
  setSearchOpen(false);
294
322
  setQuery("");
295
323
  setMatchIndex(-1);
296
324
  closeOverlay.current?.();
297
325
  closeOverlay.current = undefined;
298
326
  }
299
- function submitSearch() {
300
- const index = nextMatchIndex(matches, matchIndex);
327
+ /** Close only the filter input; keep sticky query for n/N + highlights. */
328
+ function leaveFilterKeepQuery() {
329
+ setSearchOpen(false);
330
+ closeOverlay.current?.();
331
+ closeOverlay.current = undefined;
332
+ services.focus.focusRegion("transcript");
333
+ }
334
+ function jumpToMatch(index) {
335
+ if (index < 0 || matches.length === 0) {
336
+ setMatchIndex(-1);
337
+ return;
338
+ }
301
339
  setMatchIndex(index);
302
340
  const match = matches[index];
303
- if (match)
341
+ if (!match)
342
+ return;
343
+ followBottom.current = false;
344
+ // Defer until after paint so the row id exists in the scroll tree.
345
+ queueMicrotask(() => {
304
346
  scrollRef.current?.scrollChildIntoView(match.itemId);
347
+ publishScrollRemainder(scrollRef.current);
348
+ });
349
+ }
350
+ function submitSearch() {
351
+ const needle = query.trim();
352
+ if (!needle) {
353
+ // Empty submit just closes the filter.
354
+ clearSearch();
355
+ return;
356
+ }
357
+ if (matches.length === 0) {
358
+ notify(services, "No matches", { key: "find", level: "warn", durationMs: 1400 });
359
+ // Keep filter open so the user can edit the term.
360
+ return;
361
+ }
362
+ const index = nextMatchIndex(matches, matchIndex);
363
+ jumpToMatch(index);
364
+ // Pager model: leave sticky find strip + n/N, hide the input.
365
+ leaveFilterKeepQuery();
366
+ notify(services, `Find · ${index + 1}/${matches.length}`, {
367
+ key: "find",
368
+ durationMs: 1200,
369
+ });
370
+ }
371
+ function nextSearchMatch() {
372
+ if (!searchActive || matches.length === 0)
373
+ return;
374
+ jumpToMatch(nextMatchIndex(matches, matchIndex));
375
+ }
376
+ function prevSearchMatch() {
377
+ if (!searchActive || matches.length === 0)
378
+ return;
379
+ jumpToMatch(prevMatchIndex(matches, matchIndex));
305
380
  }
306
381
  function resendPrompt(prompt) {
307
382
  void (async () => {
@@ -349,17 +424,45 @@ export function TranscriptView(props) {
349
424
  if (key.eventType === "release")
350
425
  return;
351
426
  const chord = chordFromKeyEvent(key);
352
- if (searchOpen && chord === "escape") {
353
- key.preventDefault();
354
- closeSearch();
427
+ // ── Filter input open: Esc closes everything; other keys go to <input>.
428
+ if (searchOpen) {
429
+ if (chord === "escape") {
430
+ key.preventDefault();
431
+ clearSearch();
432
+ }
433
+ // Enter is handled by SearchBar onSubmit → submitSearch.
355
434
  return;
356
435
  }
436
+ // ── Sticky find (query kept, bar closed): n/N + Esc + ^R to re-edit.
437
+ if (searchActive) {
438
+ if (chord === "escape") {
439
+ key.preventDefault();
440
+ clearSearch();
441
+ return;
442
+ }
443
+ if (chord === "n") {
444
+ key.preventDefault();
445
+ nextSearchMatch();
446
+ return;
447
+ }
448
+ if (chord === "shift+n") {
449
+ key.preventDefault();
450
+ prevSearchMatch();
451
+ return;
452
+ }
453
+ if (chord === "ctrl+r") {
454
+ key.preventDefault();
455
+ openSearch();
456
+ return;
457
+ }
458
+ }
357
459
  if (chord === "ctrl+r") {
358
460
  key.preventDefault();
359
461
  openSearch();
462
+ return;
360
463
  }
361
464
  // Arrow / page scroll when transcript owns focus.
362
- if (!searchOpen && services.focus.activeContext() === "transcript") {
465
+ if (services.focus.activeContext() === "transcript") {
363
466
  const sb = scrollRef.current;
364
467
  if (!sb)
365
468
  return;
@@ -406,7 +509,7 @@ export function TranscriptView(props) {
406
509
  }
407
510
  }
408
511
  });
409
- return (_jsxs("box", { style: { flexDirection: "column", flexGrow: 1, width: "100%", position: "relative" }, onMouseDown: onTranscriptMouseDown, onMouseDrag: onTranscriptMouseDrag, onMouseUp: onTranscriptMouseUp, onMouseDragEnd: onTranscriptMouseUp, onMouseScroll: onWheelScroll, children: [searchOpen ? (_jsx(SearchBar, { theme: theme, query: query, matchCount: matches.length, activeOrdinal: matchIndex + 1, onQueryChange: (value) => {
512
+ return (_jsxs("box", { style: { flexDirection: "column", flexGrow: 1, width: "100%", position: "relative" }, onMouseDown: onTranscriptMouseDown, onMouseDrag: onTranscriptMouseDrag, onMouseUp: onTranscriptMouseUp, onMouseDragEnd: onTranscriptMouseUp, onMouseScroll: onWheelScroll, children: [searchOpen || searchActive ? (_jsx(SearchBar, { theme: theme, query: query, matchCount: matches.length, activeOrdinal: matchIndex >= 0 ? matchIndex + 1 : 0, editing: searchOpen, onQueryChange: (value) => {
410
513
  setQuery(value);
411
514
  setMatchIndex(-1);
412
515
  }, onSubmit: submitSearch })) : null, _jsxs("scrollbox", { ref: scrollRef,
@@ -415,6 +518,11 @@ export function TranscriptView(props) {
415
518
  focused: focused,
416
519
  // Native auto-follow: when content grows and the user is (or returns)
417
520
  // at the bottom, stay pinned to the latest agent output.
418
- stickyScroll: true, stickyStart: items.length > 0 ? "bottom" : "top", viewportCulling: true, scrollY: true, scrollX: false, scrollbarOptions: HIDDEN_SCROLLBARS, verticalScrollbarOptions: HIDDEN_SCROLLBARS, horizontalScrollbarOptions: HIDDEN_SCROLLBARS, style: { flexGrow: 1, width: "100%" }, onMouseScroll: onWheelScroll, children: [_jsx(IntroCard, { services: services, theme: theme, width: introWidth }), items.map((item) => (_jsx(TranscriptRow, { item: item, state: state, theme: theme, store: services.transcript, spool: services.session.spool, services: services, onOpenUserPrompt: openUserPrompt, contentWidth: paneWidth }, item.id)))] })] }));
521
+ stickyScroll: true, stickyStart: items.length > 0 ? "bottom" : "top", viewportCulling: true, scrollY: true, scrollX: false, scrollbarOptions: HIDDEN_SCROLLBARS, verticalScrollbarOptions: HIDDEN_SCROLLBARS, horizontalScrollbarOptions: HIDDEN_SCROLLBARS, style: { flexGrow: 1, width: "100%" }, onMouseScroll: onWheelScroll, children: [_jsx(IntroCard, { services: services, theme: theme, width: introWidth }), items.map((item) => (_jsx(TranscriptRow, { item: item, state: state, theme: theme, store: services.transcript, spool: services.session.spool, services: services, onOpenUserPrompt: openUserPrompt, contentWidth: paneWidth, searchMark: searchActive && matchedItemIds.has(item.id)
522
+ ? {
523
+ matched: true,
524
+ active: item.id === activeMatchItemId,
525
+ }
526
+ : undefined }, item.id)))] })] }));
419
527
  }
420
528
  //# sourceMappingURL=transcript-view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transcript-view.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/transcript/transcript-view.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transcript-view.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/transcript/transcript-view.tsx"],"names":[],"mappings":"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"}