@pentoshi/clai 4.11.16 → 4.11.17

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 (212) hide show
  1. package/README.md +31 -22
  2. package/dist/agent/compaction/summary-execution.d.ts +1 -0
  3. package/dist/agent/compaction/summary-execution.js +25 -16
  4. package/dist/agent/compaction/summary-execution.js.map +1 -1
  5. package/dist/agent/context/compact-with-summary.js +18 -0
  6. package/dist/agent/context/compact-with-summary.js.map +1 -1
  7. package/dist/agent/context/compaction-source-prefix.d.ts +8 -0
  8. package/dist/agent/context/compaction-source-prefix.js +26 -0
  9. package/dist/agent/context/compaction-source-prefix.js.map +1 -0
  10. package/dist/agent/plan-decision.js +5 -1
  11. package/dist/agent/plan-decision.js.map +1 -1
  12. package/dist/agent/runner.js +3 -0
  13. package/dist/agent/runner.js.map +1 -1
  14. package/dist/agent/subagents/manager.d.ts +5 -0
  15. package/dist/agent/subagents/manager.js +52 -5
  16. package/dist/agent/subagents/manager.js.map +1 -1
  17. package/dist/agent/subagents/model-chain.d.ts +31 -0
  18. package/dist/agent/subagents/model-chain.js +146 -0
  19. package/dist/agent/subagents/model-chain.js.map +1 -0
  20. package/dist/agent/subagents/read-only-tools.js +362 -54
  21. package/dist/agent/subagents/read-only-tools.js.map +1 -1
  22. package/dist/agent/subagents/tools.js +21 -1
  23. package/dist/agent/subagents/tools.js.map +1 -1
  24. package/dist/agent/subagents/types.d.ts +5 -0
  25. package/dist/agent/subagents/worker.js +106 -45
  26. package/dist/agent/subagents/worker.js.map +1 -1
  27. package/dist/agent/turn/compaction-summarizer.d.ts +1 -0
  28. package/dist/agent/turn/compaction-summarizer.js +2 -0
  29. package/dist/agent/turn/compaction-summarizer.js.map +1 -1
  30. package/dist/agent/turn/loop/run-rounds.js +2 -0
  31. package/dist/agent/turn/loop/run-rounds.js.map +1 -1
  32. package/dist/agent/turn/loop/stream-request.js +1 -0
  33. package/dist/agent/turn/loop/stream-request.js.map +1 -1
  34. package/dist/agent/turn/setup/compaction-services.d.ts +2 -1
  35. package/dist/agent/turn/setup/compaction-services.js +14 -0
  36. package/dist/agent/turn/setup/compaction-services.js.map +1 -1
  37. package/dist/agent/turn/setup/turn-budget.js +1 -9
  38. package/dist/agent/turn/setup/turn-budget.js.map +1 -1
  39. package/dist/agent/turn/subagent-inbox.d.ts +1 -0
  40. package/dist/agent/turn/subagent-inbox.js +12 -1
  41. package/dist/agent/turn/subagent-inbox.js.map +1 -1
  42. package/dist/app/commands/catalog.js +2 -1
  43. package/dist/app/commands/catalog.js.map +1 -1
  44. package/dist/app/controllers/session-compact-helper.d.ts +2 -0
  45. package/dist/app/controllers/session-compact-helper.js +7 -3
  46. package/dist/app/controllers/session-compact-helper.js.map +1 -1
  47. package/dist/app/controllers/session-context-usage.d.ts +2 -5
  48. package/dist/app/controllers/session-context-usage.js +28 -101
  49. package/dist/app/controllers/session-context-usage.js.map +1 -1
  50. package/dist/app/controllers/session-controller.d.ts +8 -1
  51. package/dist/app/controllers/session-controller.js +14 -11
  52. package/dist/app/controllers/session-controller.js.map +1 -1
  53. package/dist/app/controllers/session-subagents.d.ts +1 -0
  54. package/dist/app/controllers/session-subagents.js +7 -1
  55. package/dist/app/controllers/session-subagents.js.map +1 -1
  56. package/dist/classic/app/ClassicApp.js +4 -0
  57. package/dist/classic/app/ClassicApp.js.map +1 -1
  58. package/dist/classic/chrome/Chrome.d.ts +1 -1
  59. package/dist/classic/chrome/Chrome.js +1 -0
  60. package/dist/classic/chrome/Chrome.js.map +1 -1
  61. package/dist/classic/chrome/SubagentsStrip.d.ts +3 -0
  62. package/dist/classic/chrome/SubagentsStrip.js +9 -0
  63. package/dist/classic/chrome/SubagentsStrip.js.map +1 -0
  64. package/dist/classic/chrome/row-budget.d.ts +2 -0
  65. package/dist/classic/chrome/row-budget.js +4 -1
  66. package/dist/classic/chrome/row-budget.js.map +1 -1
  67. package/dist/classic/chrome/subagents-row.d.ts +9 -0
  68. package/dist/classic/chrome/subagents-row.js +13 -0
  69. package/dist/classic/chrome/subagents-row.js.map +1 -0
  70. package/dist/classic/panels/keys-panel.d.ts +2 -2
  71. package/dist/classic/panels/keys-panel.js +24 -8
  72. package/dist/classic/panels/keys-panel.js.map +1 -1
  73. package/dist/classic/panels/pager-panel.d.ts +2 -2
  74. package/dist/classic/panels/pager-panel.js +7 -6
  75. package/dist/classic/panels/pager-panel.js.map +1 -1
  76. package/dist/classic/panels/panel-host.js +7 -2
  77. package/dist/classic/panels/panel-host.js.map +1 -1
  78. package/dist/llm/bynara.js +9 -20
  79. package/dist/llm/bynara.js.map +1 -1
  80. package/dist/llm/capabilities.d.ts +5 -1
  81. package/dist/llm/capabilities.js +129 -6
  82. package/dist/llm/capabilities.js.map +1 -1
  83. package/dist/llm/learned-capabilities.js +9 -3
  84. package/dist/llm/learned-capabilities.js.map +1 -1
  85. package/dist/llm/lowest-reasoning.js +20 -7
  86. package/dist/llm/lowest-reasoning.js.map +1 -1
  87. package/dist/llm/modal.js +5 -0
  88. package/dist/llm/modal.js.map +1 -1
  89. package/dist/llm/provider-info-text.js +3 -3
  90. package/dist/llm/reasoning-errors.js +1 -1
  91. package/dist/llm/reasoning-errors.js.map +1 -1
  92. package/dist/llm/request-purpose.d.ts +3 -0
  93. package/dist/llm/request-purpose.js +11 -0
  94. package/dist/llm/request-purpose.js.map +1 -0
  95. package/dist/llm/routing/attempt-complete.js +12 -2
  96. package/dist/llm/routing/attempt-complete.js.map +1 -1
  97. package/dist/llm/routing/attempt-request.d.ts +11 -0
  98. package/dist/llm/routing/attempt-request.js +51 -2
  99. package/dist/llm/routing/attempt-request.js.map +1 -1
  100. package/dist/llm/routing/attempt-stream.js +12 -2
  101. package/dist/llm/routing/attempt-stream.js.map +1 -1
  102. package/dist/llm/routing/error-classification.d.ts +2 -0
  103. package/dist/llm/routing/error-classification.js +26 -6
  104. package/dist/llm/routing/error-classification.js.map +1 -1
  105. package/dist/llm/routing/key-rotation.js +26 -11
  106. package/dist/llm/routing/key-rotation.js.map +1 -1
  107. package/dist/llm/session-affinity.d.ts +1 -0
  108. package/dist/llm/session-affinity.js +4 -0
  109. package/dist/llm/session-affinity.js.map +1 -1
  110. package/dist/llm/session-route.d.ts +7 -0
  111. package/dist/llm/session-route.js +16 -0
  112. package/dist/llm/session-route.js.map +1 -0
  113. package/dist/llm/wire/capability-errors.js +4 -4
  114. package/dist/llm/wire/capability-errors.js.map +1 -1
  115. package/dist/llm/wire/chat-body.js +5 -4
  116. package/dist/llm/wire/chat-body.js.map +1 -1
  117. package/dist/llm/wire/effort-preflight.d.ts +15 -0
  118. package/dist/llm/wire/effort-preflight.js +141 -0
  119. package/dist/llm/wire/effort-preflight.js.map +1 -0
  120. package/dist/llm/wire/openai-complete.d.ts +3 -1
  121. package/dist/llm/wire/openai-complete.js +7 -2
  122. package/dist/llm/wire/openai-complete.js.map +1 -1
  123. package/dist/llm/wire/openai-stream.d.ts +4 -2
  124. package/dist/llm/wire/openai-stream.js +14 -8
  125. package/dist/llm/wire/openai-stream.js.map +1 -1
  126. package/dist/llm/wire/responses-first.d.ts +3 -1
  127. package/dist/llm/wire/responses-first.js +8 -7
  128. package/dist/llm/wire/responses-first.js.map +1 -1
  129. package/dist/llm/wire/responses-preflight.js +29 -12
  130. package/dist/llm/wire/responses-preflight.js.map +1 -1
  131. package/dist/prompts/embedded.js +1 -1
  132. package/dist/prompts/embedded.js.map +1 -1
  133. package/dist/prompts/index.js +42 -21
  134. package/dist/prompts/index.js.map +1 -1
  135. package/dist/prompts/system.agent.md +3 -3
  136. package/dist/store/config/endpoints.d.ts +11 -0
  137. package/dist/store/config/endpoints.js +19 -1
  138. package/dist/store/config/endpoints.js.map +1 -1
  139. package/dist/store/config/subagent-models.d.ts +7 -0
  140. package/dist/store/config/subagent-models.js +73 -0
  141. package/dist/store/config/subagent-models.js.map +1 -0
  142. package/dist/store/config.d.ts +4 -3
  143. package/dist/store/config.js +3 -2
  144. package/dist/store/config.js.map +1 -1
  145. package/dist/store/subagents.js +8 -1
  146. package/dist/store/subagents.js.map +1 -1
  147. package/dist/tools/definitions/subagents.d.ts +1 -1
  148. package/dist/tools/definitions/subagents.js +15 -6
  149. package/dist/tools/definitions/subagents.js.map +1 -1
  150. package/dist/tui-v2/app/App.js +4 -0
  151. package/dist/tui-v2/app/App.js.map +1 -1
  152. package/dist/tui-v2/bootstrap/patch-opentui-text.js +14 -13
  153. package/dist/tui-v2/bootstrap/patch-opentui-text.js.map +1 -1
  154. package/dist/tui-v2/components/jobs/subagents-panel.d.ts +11 -0
  155. package/dist/tui-v2/components/jobs/subagents-panel.js +80 -0
  156. package/dist/tui-v2/components/jobs/subagents-panel.js.map +1 -0
  157. package/dist/tui-v2/components/modal/keys-modal-pick.d.ts +9 -0
  158. package/dist/tui-v2/components/modal/keys-modal-pick.js +15 -0
  159. package/dist/tui-v2/components/modal/keys-modal-pick.js.map +1 -0
  160. package/dist/tui-v2/components/modal/keys-modal.js +46 -12
  161. package/dist/tui-v2/components/modal/keys-modal.js.map +1 -1
  162. package/dist/tui-v2/components/pager/pager-line.js +3 -2
  163. package/dist/tui-v2/components/pager/pager-line.js.map +1 -1
  164. package/dist/tui-v2/components/pager/pager.js +47 -35
  165. package/dist/tui-v2/components/pager/pager.js.map +1 -1
  166. package/dist/tui-v2/components/transcript/thinking-block.js +1 -3
  167. package/dist/tui-v2/components/transcript/thinking-block.js.map +1 -1
  168. package/dist/tui-v2/components/transcript/thinking-presentation.d.ts +0 -1
  169. package/dist/tui-v2/components/transcript/thinking-presentation.js +1 -3
  170. package/dist/tui-v2/components/transcript/thinking-presentation.js.map +1 -1
  171. package/dist/tui-v2/rendering/pager-markdown.d.ts +2 -0
  172. package/dist/tui-v2/rendering/pager-markdown.js +10 -6
  173. package/dist/tui-v2/rendering/pager-markdown.js.map +1 -1
  174. package/dist/tui-v2/rendering/subagent-ansi.d.ts +4 -0
  175. package/dist/tui-v2/rendering/subagent-ansi.js +10 -0
  176. package/dist/tui-v2/rendering/subagent-ansi.js.map +1 -0
  177. package/dist/types.d.ts +1 -0
  178. package/dist/ui-core/commands/picker-commands.d.ts +12 -0
  179. package/dist/ui-core/commands/picker-commands.js +2 -2
  180. package/dist/ui-core/commands/picker-commands.js.map +1 -1
  181. package/dist/ui-core/commands/session-commands.js +5 -3
  182. package/dist/ui-core/commands/session-commands.js.map +1 -1
  183. package/dist/ui-core/commands/subagent-commands.d.ts +8 -0
  184. package/dist/ui-core/commands/subagent-commands.js +81 -21
  185. package/dist/ui-core/commands/subagent-commands.js.map +1 -1
  186. package/dist/ui-core/commands/subagent-models-editor.d.ts +2 -0
  187. package/dist/ui-core/commands/subagent-models-editor.js +123 -0
  188. package/dist/ui-core/commands/subagent-models-editor.js.map +1 -0
  189. package/dist/ui-core/controllers/overlay-controller.d.ts +10 -0
  190. package/dist/ui-core/controllers/overlay-controller.js.map +1 -1
  191. package/dist/ui-core/rendering/format-usage.js +5 -0
  192. package/dist/ui-core/rendering/format-usage.js.map +1 -1
  193. package/dist/ui-core/rendering/markdown.d.ts +2 -0
  194. package/dist/ui-core/rendering/markdown.js +1 -1
  195. package/dist/ui-core/rendering/markdown.js.map +1 -1
  196. package/dist/ui-core/rendering/sanitize-display.d.ts +3 -0
  197. package/dist/ui-core/rendering/sanitize-display.js +33 -2
  198. package/dist/ui-core/rendering/sanitize-display.js.map +1 -1
  199. package/dist/ui-core/rendering/status-segments.js +3 -1
  200. package/dist/ui-core/rendering/status-segments.js.map +1 -1
  201. package/dist/ui-core/rendering/subagent-presentation.d.ts +2 -0
  202. package/dist/ui-core/rendering/subagent-presentation.js +9 -0
  203. package/dist/ui-core/rendering/subagent-presentation.js.map +1 -1
  204. package/dist/ui-core/rendering/subagent-source.d.ts +2 -0
  205. package/dist/ui-core/rendering/subagent-source.js +10 -1
  206. package/dist/ui-core/rendering/subagent-source.js.map +1 -1
  207. package/dist/version.generated.d.ts +2 -2
  208. package/dist/version.generated.js +2 -2
  209. package/package.json +1 -1
  210. package/dist/llm/effort-fallback.d.ts +0 -6
  211. package/dist/llm/effort-fallback.js +0 -67
  212. package/dist/llm/effort-fallback.js.map +0 -1
@@ -0,0 +1,80 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "@opentui/react/jsx-runtime";
2
+ /** @jsxImportSource @opentui/react */
3
+ import { memo, useEffect, useState } from "react";
4
+ import { TextAttributes } from "@opentui/core";
5
+ import { useSessionState } from "../../../ui-core/react/use-session-state.js";
6
+ import { orderSubagentRuns, subagentsBarVisible, watchSubagents } from "../../../ui-core/rendering/subagent-source.js";
7
+ import { openSubagentRun, SUBAGENT_STATUS_ICON } from "../../../ui-core/commands/subagent-commands.js";
8
+ const MAX_ROWS = 3;
9
+ function statusColor(run, theme) {
10
+ const status = SUBAGENT_STATUS_ICON[run.status];
11
+ if (status?.tone === "success")
12
+ return theme.success;
13
+ if (status?.tone === "error")
14
+ return theme.failedBg;
15
+ if (status?.tone === "warn")
16
+ return theme.accent;
17
+ return theme.muted;
18
+ }
19
+ export const SubagentsPanel = memo(function SubagentsPanel(props) {
20
+ const { services, theme, width, blockingOverlay } = props;
21
+ const session = useSessionState(services.session);
22
+ const manager = services.session.subagents;
23
+ const [collapsed, setCollapsed] = useState(true);
24
+ const [runs, setRuns] = useState(() => manager.list());
25
+ useEffect(() => {
26
+ const refresh = () => {
27
+ if (services.session.subagents !== manager)
28
+ return;
29
+ setRuns(manager.list());
30
+ };
31
+ refresh();
32
+ const stopManager = manager.subscribe(refresh);
33
+ const stopWatch = watchSubagents(manager, refresh);
34
+ const stopSession = services.session.subscribe(() => {
35
+ if (services.session.subagents === manager)
36
+ refresh();
37
+ else
38
+ setRuns([]);
39
+ });
40
+ return () => {
41
+ stopManager();
42
+ stopWatch();
43
+ stopSession();
44
+ };
45
+ }, [services.session, manager]);
46
+ if (blockingOverlay || !subagentsBarVisible(runs))
47
+ return null;
48
+ const ordered = orderSubagentRuns(runs);
49
+ const running = ordered.filter((run) => run.status === "running" || run.status === "stopping").length;
50
+ const settled = ordered.length - running;
51
+ const shown = ordered.slice(0, MAX_ROWS);
52
+ const hidden = Math.max(0, ordered.length - shown.length);
53
+ const stateColor = running > 0 ? theme.cyan : settled > 0 ? theme.success : theme.muted;
54
+ const header = `${collapsed ? "▸" : "▾"} Subagents: ${running} running · ${settled} done`;
55
+ function toggle(event) {
56
+ event.preventDefault();
57
+ event.stopPropagation();
58
+ setCollapsed((value) => !value);
59
+ }
60
+ return (_jsxs("box", { border: true, borderStyle: "rounded", style: {
61
+ flexDirection: "column",
62
+ width,
63
+ flexShrink: 0,
64
+ borderColor: stateColor,
65
+ backgroundColor: theme.statusBackground,
66
+ paddingLeft: 1,
67
+ paddingRight: 1,
68
+ }, children: [_jsx("box", { onMouseDown: toggle, style: { width: "100%", height: 1, flexShrink: 0 }, children: _jsx("text", { content: header, wrapMode: "none", style: { width: "100%", height: 1, fg: stateColor, attributes: TextAttributes.BOLD } }) }), !collapsed
69
+ ? shown.map((run) => {
70
+ const icon = SUBAGENT_STATUS_ICON[run.status]?.icon ?? "•";
71
+ const route = `${run.activeProvider ?? run.provider}/${run.activeModel ?? run.model}`;
72
+ return (_jsxs("box", { onMouseDown: (event) => {
73
+ event.preventDefault();
74
+ event.stopPropagation();
75
+ openSubagentRun(services, manager, run.id);
76
+ }, style: { flexDirection: "column", width: "100%", flexShrink: 0 }, children: [_jsx("text", { content: ` ${icon} ${run.title}`, wrapMode: "none", style: { width: "100%", height: 1, fg: statusColor(run, theme) } }), _jsx("text", { content: ` ${run.status} · ${route}`, wrapMode: "none", style: { width: "100%", height: 1, fg: theme.muted } })] }, `${run.id}:${run.attempt}`));
77
+ })
78
+ : null, !collapsed && hidden > 0 ? (_jsx("text", { content: ` +${hidden} more · /agents`, wrapMode: "none", style: { width: "100%", height: 1, fg: theme.muted } })) : null] }));
79
+ });
80
+ //# sourceMappingURL=subagents-panel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagents-panel.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/jobs/subagents-panel.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { KeysEditorAnswer } from "../../../ui-core/controllers/overlay-controller.js";
2
+ export interface KeysModalPickRow {
3
+ readonly slotId?: string | undefined;
4
+ readonly placeholder: string;
5
+ readonly text: string;
6
+ readonly disabled: boolean;
7
+ }
8
+ export declare function buildKeysPickerAnswer(rows: readonly KeysModalPickRow[], activeIndex: number): KeysEditorAnswer;
9
+ export declare function keysAddAtCapacity(rows: readonly KeysModalPickRow[], maxRows: number): boolean;
@@ -0,0 +1,15 @@
1
+ export function buildKeysPickerAnswer(rows, activeIndex) {
2
+ return {
3
+ action: "pick",
4
+ rows: rows.map((row) => ({
5
+ ...(row.slotId ? { slotId: row.slotId } : {}),
6
+ value: row.text.trim() || row.placeholder,
7
+ disabled: row.disabled,
8
+ })),
9
+ activeIndex,
10
+ };
11
+ }
12
+ export function keysAddAtCapacity(rows, maxRows) {
13
+ return rows.filter((row) => row.slotId !== undefined || row.text.trim().length > 0).length >= maxRows;
14
+ }
15
+ //# sourceMappingURL=keys-modal-pick.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keys-modal-pick.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/modal/keys-modal-pick.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,qBAAqB,CACnC,IAAiC,EACjC,WAAmB;IAEnB,OAAO;QACL,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACvB,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,WAAW;YACzC,QAAQ,EAAE,GAAG,CAAC,QAAQ;SACvB,CAAC,CAAC;QACH,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,IAAiC,EACjC,OAAe;IAEf,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC;AACxG,CAAC"}
@@ -5,6 +5,7 @@ import { useKeyboard } from "@opentui/react";
5
5
  import { TextAttributes } from "@opentui/core";
6
6
  import { chordFromKeyEvent } from "../../input/chord-from-opentui-key.js";
7
7
  import { MAX_PROVIDER_KEYS } from "../../../llm/key-rotation.js";
8
+ import { buildKeysPickerAnswer, keysAddAtCapacity } from "./keys-modal-pick.js";
8
9
  const ACCENT = "#e0b000";
9
10
  const ACTIVE_FG = "#f5c542";
10
11
  let nextRowId = 1;
@@ -13,6 +14,15 @@ function itemLabelOf(request) {
13
14
  }
14
15
  function rowsFromRequest(request) {
15
16
  const label = itemLabelOf(request);
17
+ if (request.addViaPicker) {
18
+ return request.initialKeys.map((k) => ({
19
+ id: nextRowId++,
20
+ slotId: k.id,
21
+ placeholder: k.masked,
22
+ text: "",
23
+ disabled: k.disabled === true,
24
+ }));
25
+ }
16
26
  if (request.initialKeys.length === 0) {
17
27
  return [{ id: nextRowId++, placeholder: `paste ${label}`, text: "", disabled: false }];
18
28
  }
@@ -81,9 +91,13 @@ export function KeysModal(props) {
81
91
  }
82
92
  function addRow() {
83
93
  const synced = syncFromInputs();
84
- const nonEmpty = synced.filter((r) => r.slotId || r.text.trim().length > 0);
85
- if (nonEmpty.length >= MAX_PROVIDER_KEYS) {
86
- services.session.notice("warn", `at most ${MAX_PROVIDER_KEYS} ${itemLabelPlural} per provider`);
94
+ const maxRows = request.maxRows ?? MAX_PROVIDER_KEYS;
95
+ if (keysAddAtCapacity(synced, maxRows)) {
96
+ services.session.notice("warn", `at most ${maxRows} ${itemLabelPlural} per provider`);
97
+ return;
98
+ }
99
+ if (request.addViaPicker) {
100
+ services.overlay.answerKeys(buildKeysPickerAnswer(synced, activeKeyIdx));
87
101
  return;
88
102
  }
89
103
  const next = [
@@ -95,6 +109,12 @@ export function KeysModal(props) {
95
109
  }
96
110
  function removeRow(index) {
97
111
  const synced = syncFromInputs();
112
+ if (request.addViaPicker && synced.length <= 1) {
113
+ setRows([]);
114
+ setFocusIdx(0);
115
+ setActiveKeyIdx(0);
116
+ return;
117
+ }
98
118
  if (synced.length <= 1) {
99
119
  const only = {
100
120
  id: nextRowId++,
@@ -131,7 +151,7 @@ export function KeysModal(props) {
131
151
  const synced = syncFromInputs();
132
152
  const out = [];
133
153
  for (const row of synced) {
134
- const value = row.text.trim();
154
+ const value = request.addViaPicker ? row.text.trim() || row.placeholder : row.text.trim();
135
155
  if (row.slotId) {
136
156
  out.push({ slotId: row.slotId, value, disabled: row.disabled });
137
157
  }
@@ -168,9 +188,17 @@ export function KeysModal(props) {
168
188
  resetAll();
169
189
  return;
170
190
  }
171
- if (chord === "ctrl+enter" || chord === "meta+enter" || chord === "enter") {
191
+ if (chord === "ctrl+enter" || chord === "meta+enter") {
172
192
  key.preventDefault();
173
193
  submit();
194
+ return;
195
+ }
196
+ if (chord === "enter") {
197
+ key.preventDefault();
198
+ if (request.addViaPicker)
199
+ addRow();
200
+ else
201
+ submit();
174
202
  }
175
203
  });
176
204
  const typedCount = rows.filter((r) => r.text.trim().length > 0).length;
@@ -188,9 +216,11 @@ export function KeysModal(props) {
188
216
  fg: theme.background,
189
217
  bg: ACCENT,
190
218
  attributes: TextAttributes.BOLD,
191
- }, children: ` ${request.heading ?? "KEYS"} ` }), _jsx("text", { content: " " }), _jsxs("text", { style: { fg: theme.muted, attributes: TextAttributes.DIM }, children: [request.provider, " \u00B7 multi ", itemLabelPlural, " \u00B7 empty existing = keep"] })] }), _jsx("text", { content: existingCount > 0
192
- ? `${existingCount} stored · type to replace a slot · + adds another (max ${MAX_PROVIDER_KEYS})${showActiveToggle ? " · ★ = active" : ""}`
193
- : `Nothing stored yet · paste one or more ${itemLabelPlural} (max ${MAX_PROVIDER_KEYS})`, style: { fg: theme.muted, attributes: TextAttributes.DIM } }), rows.map((row, index) => {
219
+ }, children: ` ${request.heading ?? "KEYS"} ` }), _jsx("text", { content: " " }), _jsxs("text", { style: { fg: theme.muted, attributes: TextAttributes.DIM }, children: [request.provider, " \u00B7 multi ", itemLabelPlural, " \u00B7 empty existing = keep"] })] }), _jsx("text", { content: request.addViaPicker
220
+ ? `${existingCount} stored · choose models from the catalogue${showActiveToggle ? " · ★ = active" : ""}`
221
+ : existingCount > 0
222
+ ? `${existingCount} stored · type to replace a slot · + adds another (max ${MAX_PROVIDER_KEYS})${showActiveToggle ? " · ★ = active" : ""}`
223
+ : `Nothing stored yet · paste one or more ${itemLabelPlural} (max ${MAX_PROVIDER_KEYS})`, style: { fg: theme.muted, attributes: TextAttributes.DIM } }), rows.map((row, index) => {
194
224
  const isExisting = Boolean(row.slotId);
195
225
  const isActive = isExisting && index === activeKeyIdx;
196
226
  return (_jsxs("box", { style: { flexDirection: "row", width: "100%", alignItems: "center" }, children: [_jsx("text", { content: `${index + 1}. `, style: { fg: theme.muted, width: 4, flexShrink: 0 } }), _jsx("text", { content: row.disabled ? " ⊘ " : " ○ ", style: {
@@ -205,19 +235,23 @@ export function KeysModal(props) {
205
235
  }, onMouseDown: () => {
206
236
  if (isExisting)
207
237
  setActiveKeyIdx(index);
208
- } })) : null, _jsx("input", { ref: (el) => {
238
+ } })) : null, request.addViaPicker ? (_jsx("text", { content: row.placeholder, style: {
239
+ fg: row.disabled ? theme.muted : theme.foreground,
240
+ flexGrow: 1,
241
+ minWidth: 20,
242
+ } })) : (_jsx("input", { ref: (el) => {
209
243
  inputRefs.current.set(row.id, el);
210
244
  }, focused: focusIdx === index, placeholder: row.placeholder, onContentChange: () => {
211
245
  const el = inputRefs.current.get(row.id);
212
246
  updateRowText(row.id, el?.plainText ?? "");
213
247
  setFocusIdx(index);
214
- }, backgroundColor: theme.background, textColor: row.disabled ? theme.muted : theme.foreground, focusedBackgroundColor: theme.background, focusedTextColor: row.disabled ? theme.muted : theme.foreground, cursorColor: ACCENT, style: { flexGrow: 1, minWidth: 20 } }), _jsx("text", { content: " " }), _jsx("text", { content: " \u2715 ", style: {
248
+ }, backgroundColor: theme.background, textColor: row.disabled ? theme.muted : theme.foreground, focusedBackgroundColor: theme.background, focusedTextColor: row.disabled ? theme.muted : theme.foreground, cursorColor: ACCENT, style: { flexGrow: 1, minWidth: 20 } })), _jsx("text", { content: " " }), _jsx("text", { content: " \u2715 ", style: {
215
249
  fg: theme.white,
216
250
  bg: theme.failedBg,
217
251
  attributes: TextAttributes.BOLD,
218
252
  flexShrink: 0,
219
253
  }, onMouseDown: () => removeRow(index) })] }, row.id));
220
- }), _jsxs("box", { style: { flexDirection: "row", width: "100%" }, children: [_jsx("text", { content: " + add ", style: {
254
+ }), _jsxs("box", { style: { flexDirection: "row", width: "100%" }, children: [_jsx("text", { content: request.addViaPicker ? " + add from models " : " + add ", style: {
221
255
  fg: theme.background,
222
256
  bg: ACCENT,
223
257
  attributes: TextAttributes.BOLD,
@@ -229,6 +263,6 @@ export function KeysModal(props) {
229
263
  fg: theme.white,
230
264
  bg: theme.failedBg,
231
265
  attributes: TextAttributes.BOLD,
232
- }, onMouseDown: () => resetAll() }), _jsx("text", { content: " " }), _jsx("text", { content: " Cancel ", style: { fg: theme.foreground, bg: theme.chip }, onMouseDown: () => services.overlay.answerKeys(undefined) })] }), _jsx("text", { content: `enter:save · ^a / +:add · ✕:remove${showActiveToggle ? " · ★:set active" : ""} · ^d / ○:disable · ^r:reset all · esc:cancel${typedCount ? ` · ${typedCount} new/edited` : ""}`, style: { fg: theme.muted, attributes: TextAttributes.DIM } })] }));
266
+ }, onMouseDown: () => resetAll() }), _jsx("text", { content: " " }), _jsx("text", { content: " Cancel ", style: { fg: theme.foreground, bg: theme.chip }, onMouseDown: () => services.overlay.answerKeys(undefined) })] }), _jsx("text", { content: `${request.addViaPicker ? "enter:add from models · ^a:add from models" : "enter:save · ^a / +:add"} · ✕:remove${showActiveToggle ? " · ★:set active" : ""} · ^d / ○:disable · ^r:reset all · esc:cancel${typedCount ? ` · ${typedCount} new/edited` : ""}`, style: { fg: theme.muted, attributes: TextAttributes.DIM } })] }));
233
267
  }
234
268
  //# sourceMappingURL=keys-modal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"keys-modal.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/modal/keys-modal.tsx"],"names":[],"mappings":";AAAA,sCAAsC;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAuC,MAAM,eAAe,CAAC;AAGpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AASjE,MAAM,MAAM,GAAG,SAAS,CAAC;AACzB,MAAM,SAAS,GAAG,SAAS,CAAC;AAU5B,IAAI,SAAS,GAAG,CAAC,CAAC;AAElB,SAAS,WAAW,CAAC,OAA0B;IAC7C,OAAO,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC;AACxC,CAAC;AAED,SAAS,eAAe,CAAC,OAA0B;IACjD,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,SAAS,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IACzF,CAAC;IACD,OAAO;QACL,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACjC,EAAE,EAAE,SAAS,EAAE;YACf,MAAM,EAAE,CAAC,CAAC,EAAE;YACZ,WAAW,EAAE,CAAC,CAAC,MAAM;YACrB,IAAI,EAAE,EAAE;YACR,QAAQ,EAAE,CAAC,CAAC,QAAQ,KAAK,IAAI;SAC9B,CAAC,CAAC;QACH,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,iBAAiB,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE;KACtF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAqB;IAC7C,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACnD,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,eAAe,GAAG,GAAG,SAAS,GAAG,CAAC;IACxC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAW,GAAG,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3E,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC;IACjD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE;QACpD,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC;QACxC,OAAO,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAC5C,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CACxC,CAAC;IACF,MAAM,SAAS,GAAG,MAAM,CAAsC,IAAI,GAAG,EAAE,CAAC,CAAC;IACzE,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAEhC,SAAS,iBAAiB,CAAC,IAAc;QACvC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACzC,IAAI,CAAC,EAAE;gBAAE,SAAS;YAClB,IAAI,CAAC;gBACH,IAAI,EAAE,CAAC,SAAS,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;oBAC9B,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;YACT,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,qBAAqB,CAAC,GAAG,EAAE;YACpC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxB,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;YACzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,OAAO;gBAAE,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;QAC1D,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QACtC,sEAAsE;IACxE,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEhD,SAAS,cAAc;QACrB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACtB,MAAM,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACzC,MAAM,IAAI,GAAG,EAAE,EAAE,SAAS,CAAC;YAC3B,OAAO;gBACL,GAAG,GAAG;gBACN,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI;aAC3C,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,aAAa,CAAC,EAAU,EAAE,IAAY;QAC7C,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,SAAS,MAAM;QACb,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAC5C,CAAC;QACF,IAAI,QAAQ,CAAC,MAAM,IAAI,iBAAiB,EAAE,CAAC;YACzC,QAAQ,CAAC,OAAO,CAAC,MAAM,CACrB,MAAM,EACN,WAAW,iBAAiB,IAAI,eAAe,eAAe,CAC/D,CAAC;YACF,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG;YACX,GAAG,MAAM;YACT,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,iBAAiB,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE;SAC1F,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC;QACd,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,SAAS,SAAS,CAAC,KAAa;QAC9B,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;QAChC,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG;gBACX,EAAE,EAAE,SAAS,EAAE;gBACf,WAAW,EAAE,SAAS,SAAS,EAAE;gBACjC,IAAI,EAAE,EAAE;gBACR,QAAQ,EAAE,KAAK;aAChB,CAAC;YACF,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAChB,WAAW,CAAC,CAAC,CAAC,CAAC;YACf,eAAe,CAAC,CAAC,CAAC,CAAC;YACnB,cAAc,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChD,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,OAAO;YAAE,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;QAClD,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,IAAI,KAAK,GAAG,YAAY,EAAE,CAAC;gBACzB,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;YACnD,CAAC;iBAAM,IAAI,KAAK,KAAK,YAAY,EAAE,CAAC;gBAClC,eAAe,CAAC,CAAC,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC;QACd,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,cAAc,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,SAAS,cAAc,CAAC,KAAa;QACnC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CACf,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAChF,CAAC;IACJ,CAAC;IAED,SAAS,MAAM;QACb,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;QAChC,MAAM,GAAG,GAA6D,EAAE,CAAC;QACzE,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC9B,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YAClE,CAAC;iBAAM,IAAI,KAAK,EAAE,CAAC;gBACjB,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;QACD,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,SAAS,QAAQ;QACf,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,WAAW,CAAC,CAAC,GAAa,EAAE,EAAE;QAC5B,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS;YAAE,OAAO;QACxC,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,GAAG,CAAC,cAAc,EAAE,CAAC;YACrB,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YACvC,OAAO;QACT,CAAC;QACD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,GAAG,CAAC,cAAc,EAAE,CAAC;YACrB,MAAM,EAAE,CAAC;YACT,OAAO;QACT,CAAC;QACD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,GAAG,CAAC,cAAc,EAAE,CAAC;YACrB,cAAc,CAAC,QAAQ,CAAC,CAAC;YACzB,OAAO;QACT,CAAC;QACD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,GAAG,CAAC,cAAc,EAAE,CAAC;YACrB,QAAQ,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QACD,IAAI,KAAK,KAAK,YAAY,IAAI,KAAK,KAAK,YAAY,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YAC1E,GAAG,CAAC,cAAc,EAAE,CAAC;YACrB,MAAM,EAAE,CAAC;QACX,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IACvE,MAAM,gBAAgB,GAAG,aAAa,GAAG,CAAC,CAAC;IAE3C,OAAO,CACL,eACE,MAAM,QACN,WAAW,EAAC,SAAS,EACrB,KAAK,EAAE;YACL,aAAa,EAAE,QAAQ;YACvB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;YAC9B,WAAW,EAAE,MAAM;YACnB,eAAe,EAAE,KAAK,CAAC,gBAAgB;YACvC,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;YACf,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,CAAC;SACjB,aAED,eAAK,KAAK,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,aACjD,eACE,KAAK,EAAE;4BACL,EAAE,EAAE,KAAK,CAAC,UAAU;4BACpB,EAAE,EAAE,MAAM;4BACV,UAAU,EAAE,cAAc,CAAC,IAAI;yBAChC,YAEA,IAAI,OAAO,CAAC,OAAO,IAAI,MAAM,GAAG,GAC5B,EACP,eAAM,OAAO,EAAC,GAAG,GAAG,EACpB,gBAAM,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,cAAc,CAAC,GAAG,EAAE,aAC7D,OAAO,CAAC,QAAQ,oBAAW,eAAe,qCACtC,IACH,EAEN,eACE,OAAO,EACL,aAAa,GAAG,CAAC;oBACf,CAAC,CAAC,GAAG,aAAa,0DAA0D,iBAAiB,IAAI,gBAAgB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC1I,CAAC,CAAC,0CAA0C,eAAe,SAAS,iBAAiB,GAAG,EAE5F,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,cAAc,CAAC,GAAG,EAAE,GAC1D,EAED,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBACvB,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACvC,MAAM,QAAQ,GAAG,UAAU,IAAI,KAAK,KAAK,YAAY,CAAC;gBACtD,OAAO,CACL,eAEE,KAAK,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,aAEpE,eACE,OAAO,EAAE,GAAG,KAAK,GAAG,CAAC,IAAI,EACzB,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,GACnD,EACF,eACE,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EACrC,KAAK,EAAE;gCACL,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK;gCAC5C,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gCAC/C,UAAU,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG;gCACnE,UAAU,EAAE,CAAC;6BACd,EACD,WAAW,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,GACxC,EACD,gBAAgB,CAAC,CAAC,CAAC,CAClB,eACE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EACxD,KAAK,EAAE;gCACL,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK;gCACtC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG;gCAC/D,UAAU,EAAE,CAAC;6BACd,EACD,WAAW,EAAE,GAAG,EAAE;gCAChB,IAAI,UAAU;oCAAE,eAAe,CAAC,KAAK,CAAC,CAAC;4BACzC,CAAC,GACD,CACH,CAAC,CAAC,CAAC,IAAI,EACR,gBACE,GAAG,EAAE,CAAC,EAA0B,EAAE,EAAE;gCAClC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;4BACpC,CAAC,EACD,OAAO,EAAE,QAAQ,KAAK,KAAK,EAC3B,WAAW,EAAE,GAAG,CAAC,WAAW,EAC5B,eAAe,EAAE,GAAG,EAAE;gCACpB,MAAM,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gCACzC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;gCAC3C,WAAW,CAAC,KAAK,CAAC,CAAC;4BACrB,CAAC,EACD,eAAe,EAAE,KAAK,CAAC,UAAU,EACjC,SAAS,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,EACxD,sBAAsB,EAAE,KAAK,CAAC,UAAU,EACxC,gBAAgB,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,EAC/D,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,GACpC,EACF,eAAM,OAAO,EAAC,GAAG,GAAG,EACpB,eACE,OAAO,EAAC,UAAK,EACb,KAAK,EAAE;gCACL,EAAE,EAAE,KAAK,CAAC,KAAK;gCACf,EAAE,EAAE,KAAK,CAAC,QAAQ;gCAClB,UAAU,EAAE,cAAc,CAAC,IAAI;gCAC/B,UAAU,EAAE,CAAC;6BACd,EACD,WAAW,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,GACnC,KA1DG,GAAG,CAAC,EAAE,CA2DP,CACP,CAAC;YACJ,CAAC,CAAC,EAEF,eAAK,KAAK,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,aACjD,eACE,OAAO,EAAC,SAAS,EACjB,KAAK,EAAE;4BACL,EAAE,EAAE,KAAK,CAAC,UAAU;4BACpB,EAAE,EAAE,MAAM;4BACV,UAAU,EAAE,cAAc,CAAC,IAAI;yBAChC,EACD,WAAW,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,GAC3B,EACF,eAAM,OAAO,EAAC,GAAG,GAAG,EACpB,eACE,OAAO,EAAC,QAAQ,EAChB,KAAK,EAAE;4BACL,EAAE,EAAE,KAAK,CAAC,UAAU;4BACpB,EAAE,EAAE,KAAK,CAAC,OAAO;4BACjB,UAAU,EAAE,cAAc,CAAC,IAAI;yBAChC,EACD,WAAW,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,GAC3B,EACF,eAAM,OAAO,EAAC,GAAG,GAAG,EACpB,eACE,OAAO,EAAC,aAAa,EACrB,KAAK,EAAE;4BACL,EAAE,EAAE,KAAK,CAAC,KAAK;4BACf,EAAE,EAAE,KAAK,CAAC,QAAQ;4BAClB,UAAU,EAAE,cAAc,CAAC,IAAI;yBAChC,EACD,WAAW,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,GAC7B,EACF,eAAM,OAAO,EAAC,GAAG,GAAG,EACpB,eACE,OAAO,EAAC,UAAU,EAClB,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,EAC/C,WAAW,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,GACzD,IACE,EAEN,eACE,OAAO,EAAE,yCAAyC,gBAAgB,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,sDAAsD,UAAU,CAAC,CAAC,CAAC,QAAQ,UAAU,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EACtM,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,cAAc,CAAC,GAAG,EAAE,GAC1D,IACE,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"keys-modal.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/modal/keys-modal.tsx"],"names":[],"mappings":"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"}
@@ -152,15 +152,16 @@ export function PagerLine(props) {
152
152
  }, children: sp.text || (i === 0 ? " " : "") }, i))) }) })] }));
153
153
  }
154
154
  const baseFg = baseLineFg(line, theme);
155
+ const wrapProps = props.subagent ? { wrapMode: "word" } : {};
155
156
  if (!hasQuery || matches.length === 0) {
156
- return (_jsx("text", { id: `pager-line-${index}`, selectable: true, style: {
157
+ return (_jsx("text", { id: `pager-line-${index}`, selectable: true, ...wrapProps, style: {
157
158
  width: "100%",
158
159
  fg: baseFg,
159
160
  bg: isActiveLine ? theme.rowA : theme.background,
160
161
  }, children: line || " " }));
161
162
  }
162
163
  const segments = segmentPagerLine(line, index, matches, activeMatchIndex);
163
- return (_jsx("text", { id: `pager-line-${index}`, selectable: true, style: {
164
+ return (_jsx("text", { id: `pager-line-${index}`, selectable: true, ...wrapProps, style: {
164
165
  width: "100%",
165
166
  fg: baseFg,
166
167
  bg: isActiveLine ? theme.rowA : theme.background,
@@ -1 +1 @@
1
- {"version":3,"file":"pager-line.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/pager/pager-line.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pager-line.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/pager/pager-line.tsx"],"names":[],"mappings":"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"}
@@ -10,7 +10,9 @@ import { findPagerMatches, nextPagerMatch, prevPagerMatch, } from "../../../ui-c
10
10
  import { fitOneLine, padChromeRow, wrapPagerLine, } from "../../../ui-core/rendering/pager-chrome.js";
11
11
  import { emptyCarry, } from "../../../ui-core/rendering/syntax-highlight.js";
12
12
  import { preparePagerDisplay, } from "../../rendering/pager-markdown.js";
13
+ import { subagentAnsiPaint } from "../../rendering/subagent-ansi.js";
13
14
  import { extractFsReadFileBody, stripPagerLineGutters, } from "../../../ui-core/rendering/pager-source.js";
15
+ import { sanitizeDisplayText } from "../../../ui-core/rendering/sanitize-display.js";
14
16
  import { PagerLine, bodyOnlyForCopy, parseDiffLine, } from "./pager-line.js";
15
17
  const HIDDEN_SCROLLBARS = {
16
18
  visible: false,
@@ -27,6 +29,7 @@ export function Pager(props) {
27
29
  const { services, theme, title, body, source, highlightPath, markdown = "auto", } = props;
28
30
  const colorMode = services.capabilities.colorMode;
29
31
  const isSubagent = source?.path.startsWith("memory://subagent/") ?? false;
32
+ const subagentPaint = useMemo(() => (isSubagent ? subagentAnsiPaint(theme, colorMode) : undefined), [isSubagent, theme, colorMode]);
30
33
  const { width: termWidth, height: termHeight } = useTerminalDimensionsContext();
31
34
  const scrollRef = useRef(null);
32
35
  const [displayBody, setDisplayBody] = useState(body);
@@ -52,6 +55,7 @@ export function Pager(props) {
52
55
  defaultFg: theme.foreground,
53
56
  theme,
54
57
  colorMode,
58
+ subagentPaint: isSubagent ? subagentPaint : undefined,
55
59
  });
56
60
  }
57
61
  return preparePagerDisplay({
@@ -62,7 +66,7 @@ export function Pager(props) {
62
66
  theme,
63
67
  colorMode,
64
68
  });
65
- }, [displayBody, contentCols, viewMode, theme, colorMode]);
69
+ }, [displayBody, contentCols, viewMode, theme, colorMode, isSubagent, subagentPaint]);
66
70
  const lines = useMemo(() => display.lines.map((l) => l.plain), [display.lines]);
67
71
  const pathForHighlight = viewMode === "raw" && highlightPath ? highlightPath : title;
68
72
  const useDiffGutters = viewMode === "raw" && Boolean(highlightPath) && display.mode === "plain" && contentCols >= 16;
@@ -86,29 +90,21 @@ export function Pager(props) {
86
90
  const hasQuery = query.trim().length > 0;
87
91
  const syntaxCarry = useMemo(() => emptyCarry(), [displayBody, pathForHighlight]);
88
92
  useEffect(() => {
93
+ setFollowing(canFollow);
89
94
  if (!source) {
90
95
  setDisplayBody(body);
91
96
  setArtifactPage(undefined);
92
97
  return;
93
98
  }
99
+ if (canFollow)
100
+ return;
94
101
  let active = true;
95
102
  setPageBusy(true);
96
- const growing = source.isGrowing?.() ?? canFollow;
97
- const first = canFollow && source.readTail ? source.readTail() : source.readPage(0);
98
- void first.then((page) => {
103
+ void source.readPage(0).then((page) => {
99
104
  if (!active)
100
105
  return;
101
106
  setArtifactPage(page);
102
107
  setDisplayBody(page.body || "(no output yet)");
103
- setFollowing(growing);
104
- if (canFollow) {
105
- queueMicrotask(() => {
106
- const box = scrollRef.current;
107
- if (!box)
108
- return;
109
- box.scrollTo(Math.max(0, box.scrollHeight - (box.viewport?.height ?? 0)));
110
- });
111
- }
112
108
  }).catch((error) => {
113
109
  if (active)
114
110
  setExportError(error instanceof Error ? error.message : String(error));
@@ -122,32 +118,29 @@ export function Pager(props) {
122
118
  let active = true;
123
119
  let reading = false;
124
120
  let pending = false;
121
+ const box = scrollRef.current;
122
+ if (box)
123
+ box.scrollTo(Math.max(0, box.scrollHeight - box.viewport.height));
125
124
  const pull = () => {
126
- if (!active || !source.readTail)
125
+ if (!active)
127
126
  return;
128
127
  if (reading) {
129
128
  pending = true;
130
129
  return;
131
130
  }
132
131
  reading = true;
133
- const growing = source.isGrowing?.() ?? true;
134
- void source
135
- .readTail()
132
+ const page = source.readTail ? source.readTail() : source.readPage(0);
133
+ void page
136
134
  .then((page) => {
137
135
  if (!active)
138
136
  return;
139
137
  setArtifactPage(page);
140
138
  setDisplayBody(page.body || "(no output yet)");
141
- setFollowing(growing);
142
- queueMicrotask(() => {
143
- const box = scrollRef.current;
144
- if (!box)
145
- return;
146
- box.scrollTo(Math.max(0, box.scrollHeight - (box.viewport?.height ?? 0)));
147
- refreshScrollHint();
148
- });
149
139
  })
150
- .catch(() => undefined)
140
+ .catch((error) => {
141
+ if (active)
142
+ setExportError(error instanceof Error ? error.message : String(error));
143
+ })
151
144
  .finally(() => {
152
145
  reading = false;
153
146
  if (pending) {
@@ -166,6 +159,7 @@ export function Pager(props) {
166
159
  async function loadArtifactPage(offset, scroll = "top") {
167
160
  if (!source || pageBusy)
168
161
  return;
162
+ setFollowing(false);
169
163
  setPageBusy(true);
170
164
  try {
171
165
  const page = await source.readPage(offset);
@@ -206,7 +200,16 @@ export function Pager(props) {
206
200
  return;
207
201
  sb.verticalScrollBar.visible = false;
208
202
  sb.horizontalScrollBar.visible = false;
209
- }, [lines.length]);
203
+ sb.verticalScrollBar.on("change", refreshScrollHint);
204
+ sb.content.on("resize", refreshScrollHint);
205
+ sb.viewport.on("resize", refreshScrollHint);
206
+ refreshScrollHint();
207
+ return () => {
208
+ sb.verticalScrollBar.off("change", refreshScrollHint);
209
+ sb.content.off("resize", refreshScrollHint);
210
+ sb.viewport.off("resize", refreshScrollHint);
211
+ };
212
+ }, []);
210
213
  useEffect(() => {
211
214
  if (!hasQuery || matches.length === 0) {
212
215
  setMatchIndex(-1);
@@ -258,6 +261,7 @@ export function Pager(props) {
258
261
  }
259
262
  async function submitSearch() {
260
263
  if (source && query.trim()) {
264
+ setFollowing(false);
261
265
  setPageBusy(true);
262
266
  try {
263
267
  const page = await source.search(query.trim(), artifactPage?.offset ?? 0);
@@ -379,6 +383,7 @@ export function Pager(props) {
379
383
  scrollByRows(Math.max(1, Math.floor((sb?.viewport.height ?? 10) / 2)));
380
384
  break;
381
385
  case "pager.top":
386
+ setFollowing(false);
382
387
  if (source && artifactPage?.offset) {
383
388
  void loadArtifactPage(0, "top");
384
389
  }
@@ -501,11 +506,9 @@ export function Pager(props) {
501
506
  const metaLine = padChromeRow(metaLeft, lineCountRight, chromeCols);
502
507
  const viewLabel = viewMode === "formatted" ? "fmt" : "raw";
503
508
  const growing = source?.isGrowing?.() ?? false;
504
- const followLabel = following
505
- ? "● following"
506
- : growing
507
- ? "❙❙ paused (running)"
508
- : "finished";
509
+ const followLabel = growing
510
+ ? following ? "● following" : "❙❙ paused (running)"
511
+ : "finished";
509
512
  const footerLeft = exportError
510
513
  ? `export failed: ${exportError}`
511
514
  : statusFlash
@@ -564,6 +567,11 @@ export function Pager(props) {
564
567
  return (_jsx(PagerLine, { line: rebuilt, index: index, theme: theme, matches: matches, activeMatchIndex: matchIndex, hasQuery: hasQuery, highlightPath: pathForHighlight, carry: syntaxCarry }, `${index}-${part}`));
565
568
  });
566
569
  }
570
+ if (isSubagent && !useDiffGutters) {
571
+ return [
572
+ _jsx(PagerLine, { line: line, index: index, theme: theme, matches: matches, activeMatchIndex: matchIndex, hasQuery: hasQuery, highlightPath: pathForHighlight, carry: syntaxCarry, diffGutters: false, subagent: true }, `${index}-0`),
573
+ ];
574
+ }
567
575
  return wrapPagerLine(line, contentCols, { preserveWhitespace: true }).map((chunk, part) => (_jsx(PagerLine, { line: chunk, index: index, theme: theme, matches: matches, activeMatchIndex: matchIndex, hasQuery: hasQuery, highlightPath: pathForHighlight, carry: syntaxCarry, diffGutters: false, subagent: isSubagent }, `${index}-${part}`)));
568
576
  }), [
569
577
  contentCols,
@@ -578,7 +586,7 @@ export function Pager(props) {
578
586
  useDiffGutters,
579
587
  isSubagent,
580
588
  ]);
581
- const borderTitle = ` ${fitOneLine([title], Math.max(1, size.width - 4))} `;
589
+ const borderTitle = ` ${fitOneLine([sanitizeDisplayText(title)], Math.max(1, size.width - 4))} `;
582
590
  return (_jsxs("box", { border: border, borderStyle: "rounded", title: borderTitle, titleAlignment: "left", titleColor: theme.cyan, style: {
583
591
  flexDirection: "column",
584
592
  width: size.width,
@@ -612,7 +620,7 @@ export function Pager(props) {
612
620
  } }), _jsx("text", { selectable: false, content: " ", style: { height: 1 } }), _jsx("input", { focused: true, value: query, onInput: (value) => {
613
621
  setQuery(value);
614
622
  setMatchIndex(-1);
615
- }, onSubmit: submitSearch, textColor: theme.foreground, backgroundColor: theme.rowB, style: { flexGrow: 1, minWidth: 0 } }), _jsx("text", { selectable: false, content: fitOneLine([` ${filterHint}`], Math.max(8, Math.floor(chromeCols * 0.35))), style: { fg: theme.muted, flexShrink: 0, height: 1 } })] })) : (_jsx("text", { selectable: false, content: metaLine, style: { fg: theme.muted, height: 1, width: "100%" } })) }) : null, _jsx("scrollbox", { ref: scrollRef, viewportCulling: true, scrollY: true, scrollX: false, stickyScroll: false, scrollbarOptions: HIDDEN_SCROLLBARS, verticalScrollbarOptions: HIDDEN_SCROLLBARS, horizontalScrollbarOptions: HIDDEN_SCROLLBARS, style: {
623
+ }, onSubmit: submitSearch, textColor: theme.foreground, backgroundColor: theme.rowB, style: { flexGrow: 1, minWidth: 0 } }), _jsx("text", { selectable: false, content: fitOneLine([` ${filterHint}`], Math.max(8, Math.floor(chromeCols * 0.35))), style: { fg: theme.muted, flexShrink: 0, height: 1 } })] })) : (_jsx("text", { selectable: false, content: metaLine, style: { fg: theme.muted, height: 1, width: "100%" } })) }) : null, _jsx("scrollbox", { ref: scrollRef, viewportCulling: true, scrollY: true, scrollX: false, stickyScroll: following, stickyStart: "bottom", scrollbarOptions: HIDDEN_SCROLLBARS, verticalScrollbarOptions: HIDDEN_SCROLLBARS, horizontalScrollbarOptions: HIDDEN_SCROLLBARS, style: {
616
624
  flexGrow: 1,
617
625
  flexShrink: 1,
618
626
  width: "100%",
@@ -623,7 +631,11 @@ export function Pager(props) {
623
631
  paddingLeft: padding,
624
632
  paddingRight: padding,
625
633
  paddingTop: 0,
626
- }, onMouseScroll: () => refreshScrollHint(), children: bodyRows }), innerH >= 2 ? _jsx("box", { style: {
634
+ }, onMouseScroll: (event) => {
635
+ if (following && event.scroll?.direction === "up")
636
+ setFollowing(false);
637
+ refreshScrollHint();
638
+ }, children: bodyRows }), innerH >= 2 ? _jsx("box", { style: {
627
639
  flexDirection: "row",
628
640
  width: "100%",
629
641
  height: 1,