@pentoshi/clai 3.6.0 → 3.7.3

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 (322) hide show
  1. package/dist/agent/compaction-summary.d.ts +17 -0
  2. package/dist/agent/compaction-summary.js +64 -0
  3. package/dist/agent/compaction-summary.js.map +1 -0
  4. package/dist/agent/confirm-port.d.ts +3 -1
  5. package/dist/agent/confirm-port.js +5 -1
  6. package/dist/agent/confirm-port.js.map +1 -1
  7. package/dist/agent/context-manager.js +45 -22
  8. package/dist/agent/context-manager.js.map +1 -1
  9. package/dist/agent/events.d.ts +6 -0
  10. package/dist/agent/evidence-governor.d.ts +37 -0
  11. package/dist/agent/evidence-governor.js +70 -0
  12. package/dist/agent/evidence-governor.js.map +1 -0
  13. package/dist/agent/loop-guard.d.ts +29 -11
  14. package/dist/agent/loop-guard.js +93 -39
  15. package/dist/agent/loop-guard.js.map +1 -1
  16. package/dist/agent/must-continue.d.ts +56 -0
  17. package/dist/agent/must-continue.js +240 -0
  18. package/dist/agent/must-continue.js.map +1 -0
  19. package/dist/agent/outcomes.d.ts +101 -0
  20. package/dist/agent/outcomes.js +359 -0
  21. package/dist/agent/outcomes.js.map +1 -0
  22. package/dist/agent/plan-decision.d.ts +33 -0
  23. package/dist/agent/plan-decision.js +104 -0
  24. package/dist/agent/plan-decision.js.map +1 -0
  25. package/dist/agent/plan-tool.d.ts +12 -0
  26. package/dist/agent/plan-tool.js +312 -104
  27. package/dist/agent/plan-tool.js.map +1 -1
  28. package/dist/agent/project-root.js +3 -0
  29. package/dist/agent/project-root.js.map +1 -1
  30. package/dist/agent/prompt-composer.d.ts +21 -0
  31. package/dist/agent/prompt-composer.js +46 -0
  32. package/dist/agent/prompt-composer.js.map +1 -0
  33. package/dist/agent/runner.d.ts +11 -1
  34. package/dist/agent/runner.js +1226 -971
  35. package/dist/agent/runner.js.map +1 -1
  36. package/dist/agent/scope-context.d.ts +3 -0
  37. package/dist/agent/scope-context.js +24 -0
  38. package/dist/agent/scope-context.js.map +1 -0
  39. package/dist/agent/scratch-write.d.ts +4 -0
  40. package/dist/agent/scratch-write.js +54 -0
  41. package/dist/agent/scratch-write.js.map +1 -0
  42. package/dist/agent/session-policy.d.ts +7 -0
  43. package/dist/agent/session-policy.js +61 -0
  44. package/dist/agent/session-policy.js.map +1 -1
  45. package/dist/agent/session-state.d.ts +41 -0
  46. package/dist/agent/session-state.js +107 -0
  47. package/dist/agent/session-state.js.map +1 -0
  48. package/dist/agent/step-budget.d.ts +14 -0
  49. package/dist/agent/step-budget.js +26 -0
  50. package/dist/agent/step-budget.js.map +1 -0
  51. package/dist/agent/task-analyzer.d.ts +12 -3
  52. package/dist/agent/task-analyzer.js +263 -23
  53. package/dist/agent/task-analyzer.js.map +1 -1
  54. package/dist/agent/task-evidence.d.ts +111 -29
  55. package/dist/agent/task-evidence.js +519 -91
  56. package/dist/agent/task-evidence.js.map +1 -1
  57. package/dist/agent/task-plan.d.ts +57 -0
  58. package/dist/agent/task-plan.js +147 -1
  59. package/dist/agent/task-plan.js.map +1 -1
  60. package/dist/agent/tool-call-parser.d.ts +4 -12
  61. package/dist/agent/tool-call-parser.js +34 -67
  62. package/dist/agent/tool-call-parser.js.map +1 -1
  63. package/dist/agent/tool-history.d.ts +7 -0
  64. package/dist/agent/tool-history.js +50 -0
  65. package/dist/agent/tool-history.js.map +1 -1
  66. package/dist/agent/tool-output-formatting.d.ts +13 -1
  67. package/dist/agent/tool-output-formatting.js +75 -22
  68. package/dist/agent/tool-output-formatting.js.map +1 -1
  69. package/dist/agent/turn-outcome.d.ts +11 -0
  70. package/dist/agent/turn-outcome.js +17 -0
  71. package/dist/agent/turn-outcome.js.map +1 -0
  72. package/dist/agent/turn-state.d.ts +11 -0
  73. package/dist/agent/turn-state.js +28 -0
  74. package/dist/agent/turn-state.js.map +1 -0
  75. package/dist/agent/workspace-orient.d.ts +11 -0
  76. package/dist/agent/workspace-orient.js +103 -12
  77. package/dist/agent/workspace-orient.js.map +1 -1
  78. package/dist/app/adapters/agent-event-adapter.d.ts +2 -13
  79. package/dist/app/adapters/agent-event-adapter.js +63 -25
  80. package/dist/app/adapters/agent-event-adapter.js.map +1 -1
  81. package/dist/app/adapters/current-agent-adapter.d.ts +0 -5
  82. package/dist/app/adapters/current-agent-adapter.js +4 -7
  83. package/dist/app/adapters/current-agent-adapter.js.map +1 -1
  84. package/dist/app/adapters/current-jobs-adapter.js +1 -0
  85. package/dist/app/adapters/current-jobs-adapter.js.map +1 -1
  86. package/dist/app/adapters/current-terminal-adapter.d.ts +0 -7
  87. package/dist/app/adapters/current-terminal-adapter.js +0 -7
  88. package/dist/app/adapters/current-terminal-adapter.js.map +1 -1
  89. package/dist/app/adapters/current-updates-adapter.d.ts +0 -5
  90. package/dist/app/adapters/current-updates-adapter.js +0 -5
  91. package/dist/app/adapters/current-updates-adapter.js.map +1 -1
  92. package/dist/app/adapters/in-memory-clipboard-adapter.d.ts +0 -5
  93. package/dist/app/adapters/in-memory-clipboard-adapter.js +0 -5
  94. package/dist/app/adapters/in-memory-clipboard-adapter.js.map +1 -1
  95. package/dist/app/commands/command.d.ts +0 -5
  96. package/dist/app/commands/command.js.map +1 -1
  97. package/dist/app/commands/registry.d.ts +0 -14
  98. package/dist/app/commands/registry.js +0 -20
  99. package/dist/app/commands/registry.js.map +1 -1
  100. package/dist/app/controllers/disposable.d.ts +0 -5
  101. package/dist/app/controllers/disposable.js +0 -5
  102. package/dist/app/controllers/disposable.js.map +1 -1
  103. package/dist/app/controllers/job-controller.d.ts +1 -5
  104. package/dist/app/controllers/job-controller.js +0 -4
  105. package/dist/app/controllers/job-controller.js.map +1 -1
  106. package/dist/app/controllers/plan-controller.d.ts +5 -8
  107. package/dist/app/controllers/plan-controller.js +30 -12
  108. package/dist/app/controllers/plan-controller.js.map +1 -1
  109. package/dist/app/controllers/session-controller.d.ts +17 -32
  110. package/dist/app/controllers/session-controller.js +56 -35
  111. package/dist/app/controllers/session-controller.js.map +1 -1
  112. package/dist/app/controllers/turn-controller.d.ts +2 -6
  113. package/dist/app/controllers/turn-controller.js +8 -8
  114. package/dist/app/controllers/turn-controller.js.map +1 -1
  115. package/dist/app/events/app-event.d.ts +4 -7
  116. package/dist/app/events/app-event.js +0 -6
  117. package/dist/app/events/app-event.js.map +1 -1
  118. package/dist/app/events/event-buffer.d.ts +6 -17
  119. package/dist/app/events/event-buffer.js +27 -24
  120. package/dist/app/events/event-buffer.js.map +1 -1
  121. package/dist/app/events/sequencer.d.ts +0 -9
  122. package/dist/app/events/sequencer.js +0 -4
  123. package/dist/app/events/sequencer.js.map +1 -1
  124. package/dist/app/ports/agent-port.d.ts +13 -3
  125. package/dist/app/ports/clipboard-port.d.ts +0 -5
  126. package/dist/app/ports/confirm-port.d.ts +0 -7
  127. package/dist/app/ports/jobs-port.d.ts +2 -5
  128. package/dist/app/ports/persistence-port.d.ts +0 -4
  129. package/dist/app/ports/secret-port.d.ts +0 -5
  130. package/dist/app/ports/terminal-port.d.ts +0 -6
  131. package/dist/app/ports/updates-port.d.ts +0 -4
  132. package/dist/attachments/service.d.ts +29 -0
  133. package/dist/attachments/service.js +47 -0
  134. package/dist/attachments/service.js.map +1 -0
  135. package/dist/commands/providers.js +0 -3
  136. package/dist/commands/providers.js.map +1 -1
  137. package/dist/commands/search-providers.d.ts +0 -33
  138. package/dist/commands/search-providers.js +0 -33
  139. package/dist/commands/search-providers.js.map +1 -1
  140. package/dist/commands/update.js +1 -9
  141. package/dist/commands/update.js.map +1 -1
  142. package/dist/index.js +22 -42
  143. package/dist/index.js.map +1 -1
  144. package/dist/llm/adapters/ollama-tools.d.ts +0 -4
  145. package/dist/llm/adapters/ollama-tools.js +0 -4
  146. package/dist/llm/adapters/ollama-tools.js.map +1 -1
  147. package/dist/llm/capabilities.d.ts +10 -10
  148. package/dist/llm/capabilities.js +43 -17
  149. package/dist/llm/capabilities.js.map +1 -1
  150. package/dist/llm/groq.js +0 -6
  151. package/dist/llm/groq.js.map +1 -1
  152. package/dist/llm/http.d.ts +0 -17
  153. package/dist/llm/http.js +0 -45
  154. package/dist/llm/http.js.map +1 -1
  155. package/dist/llm/router.d.ts +0 -6
  156. package/dist/llm/router.js +0 -15
  157. package/dist/llm/router.js.map +1 -1
  158. package/dist/llm/tool-protocol.d.ts +0 -6
  159. package/dist/llm/tool-protocol.js +3 -7
  160. package/dist/llm/tool-protocol.js.map +1 -1
  161. package/dist/modes/agent.d.ts +2 -1
  162. package/dist/modes/agent.js +4 -2
  163. package/dist/modes/agent.js.map +1 -1
  164. package/dist/modes/ask.d.ts +0 -18
  165. package/dist/modes/ask.js +0 -49
  166. package/dist/modes/ask.js.map +1 -1
  167. package/dist/os/cwd.d.ts +0 -21
  168. package/dist/os/cwd.js +0 -24
  169. package/dist/os/cwd.js.map +1 -1
  170. package/dist/os/pkgmgr.js +0 -6
  171. package/dist/os/pkgmgr.js.map +1 -1
  172. package/dist/prompts/embedded.d.ts +1 -0
  173. package/dist/prompts/embedded.js +9 -0
  174. package/dist/prompts/embedded.js.map +1 -0
  175. package/dist/prompts/index.d.ts +6 -18
  176. package/dist/prompts/index.js +104 -293
  177. package/dist/prompts/index.js.map +1 -1
  178. package/dist/prompts/system.agent.md +228 -0
  179. package/dist/prompts/system.ask.md +56 -0
  180. package/dist/repl/prompt-line.js +0 -36
  181. package/dist/repl/prompt-line.js.map +1 -1
  182. package/dist/repl/slash-commands.d.ts +0 -9
  183. package/dist/repl/slash-commands.js +2 -23
  184. package/dist/repl/slash-commands.js.map +1 -1
  185. package/dist/repl.d.ts +5 -0
  186. package/dist/repl.js +169 -55
  187. package/dist/repl.js.map +1 -1
  188. package/dist/safety/classifier.js +17 -9
  189. package/dist/safety/classifier.js.map +1 -1
  190. package/dist/safety/engagement-policy.d.ts +46 -0
  191. package/dist/safety/engagement-policy.js +198 -0
  192. package/dist/safety/engagement-policy.js.map +1 -0
  193. package/dist/store/engagement.d.ts +115 -0
  194. package/dist/store/engagement.js +278 -0
  195. package/dist/store/engagement.js.map +1 -0
  196. package/dist/store/logs.d.ts +5 -0
  197. package/dist/store/logs.js +52 -2
  198. package/dist/store/logs.js.map +1 -1
  199. package/dist/store/plan.d.ts +57 -5
  200. package/dist/store/plan.js +182 -8
  201. package/dist/store/plan.js.map +1 -1
  202. package/dist/store/scope.d.ts +4 -1
  203. package/dist/store/scope.js +2 -2
  204. package/dist/store/scope.js.map +1 -1
  205. package/dist/tools/definitions.js +70 -1
  206. package/dist/tools/definitions.js.map +1 -1
  207. package/dist/tools/elevated-shell.d.ts +60 -0
  208. package/dist/tools/elevated-shell.js +233 -0
  209. package/dist/tools/elevated-shell.js.map +1 -0
  210. package/dist/tools/file-diff.d.ts +125 -0
  211. package/dist/tools/file-diff.js +495 -0
  212. package/dist/tools/file-diff.js.map +1 -0
  213. package/dist/tools/fs.d.ts +11 -13
  214. package/dist/tools/fs.js +269 -78
  215. package/dist/tools/fs.js.map +1 -1
  216. package/dist/tools/http.d.ts +15 -0
  217. package/dist/tools/http.js +202 -61
  218. package/dist/tools/http.js.map +1 -1
  219. package/dist/tools/jobs.d.ts +71 -10
  220. package/dist/tools/jobs.js +403 -124
  221. package/dist/tools/jobs.js.map +1 -1
  222. package/dist/tools/nmap-runner.d.ts +11 -0
  223. package/dist/tools/nmap-runner.js +115 -74
  224. package/dist/tools/nmap-runner.js.map +1 -1
  225. package/dist/tools/pentest-workflows.d.ts +8 -0
  226. package/dist/tools/pentest-workflows.js +71 -0
  227. package/dist/tools/pentest-workflows.js.map +1 -0
  228. package/dist/tools/registry.d.ts +9 -0
  229. package/dist/tools/registry.js +244 -57
  230. package/dist/tools/registry.js.map +1 -1
  231. package/dist/tools/shell.d.ts +3 -0
  232. package/dist/tools/shell.js +35 -13
  233. package/dist/tools/shell.js.map +1 -1
  234. package/dist/tools/tool-types.d.ts +11 -0
  235. package/dist/tools/web/fetch-core.d.ts +7 -0
  236. package/dist/tools/web/fetch-core.js +40 -1
  237. package/dist/tools/web/fetch-core.js.map +1 -1
  238. package/dist/tools/web/fetch.js +8 -1
  239. package/dist/tools/web/fetch.js.map +1 -1
  240. package/dist/tui-v2/app/App.js +34 -41
  241. package/dist/tui-v2/app/App.js.map +1 -1
  242. package/dist/tui-v2/app/command-handlers.js +20 -1
  243. package/dist/tui-v2/app/command-handlers.js.map +1 -1
  244. package/dist/tui-v2/app/commands/picker-commands.js +3 -0
  245. package/dist/tui-v2/app/commands/picker-commands.js.map +1 -1
  246. package/dist/tui-v2/app/commands/session-commands.js +5 -0
  247. package/dist/tui-v2/app/commands/session-commands.js.map +1 -1
  248. package/dist/tui-v2/app/plan-lifecycle.d.ts +25 -3
  249. package/dist/tui-v2/app/plan-lifecycle.js +87 -24
  250. package/dist/tui-v2/app/plan-lifecycle.js.map +1 -1
  251. package/dist/tui-v2/bootstrap/patch-opentui-text.d.ts +6 -0
  252. package/dist/tui-v2/bootstrap/patch-opentui-text.js +53 -0
  253. package/dist/tui-v2/bootstrap/patch-opentui-text.js.map +1 -0
  254. package/dist/tui-v2/bootstrap/start-tui-v2.js +7 -0
  255. package/dist/tui-v2/bootstrap/start-tui-v2.js.map +1 -1
  256. package/dist/tui-v2/components/jobs/jobs-panel.js +23 -14
  257. package/dist/tui-v2/components/jobs/jobs-panel.js.map +1 -1
  258. package/dist/tui-v2/components/modal/confirm-modal.d.ts +1 -1
  259. package/dist/tui-v2/components/modal/confirm-modal.js +18 -7
  260. package/dist/tui-v2/components/modal/confirm-modal.js.map +1 -1
  261. package/dist/tui-v2/components/overlay/overlay-host.js +1 -1
  262. package/dist/tui-v2/components/overlay/overlay-host.js.map +1 -1
  263. package/dist/tui-v2/components/pager/pager.d.ts +6 -0
  264. package/dist/tui-v2/components/pager/pager.js +313 -67
  265. package/dist/tui-v2/components/pager/pager.js.map +1 -1
  266. package/dist/tui-v2/components/status/status-line.d.ts +9 -0
  267. package/dist/tui-v2/components/status/status-line.js +17 -3
  268. package/dist/tui-v2/components/status/status-line.js.map +1 -1
  269. package/dist/tui-v2/components/transcript/assistant-message.js +1 -1
  270. package/dist/tui-v2/components/transcript/assistant-message.js.map +1 -1
  271. package/dist/tui-v2/components/transcript/compacted-row.js +1 -1
  272. package/dist/tui-v2/components/transcript/compacted-row.js.map +1 -1
  273. package/dist/tui-v2/components/transcript/tool-card.d.ts +9 -1
  274. package/dist/tui-v2/components/transcript/tool-card.js +114 -9
  275. package/dist/tui-v2/components/transcript/tool-card.js.map +1 -1
  276. package/dist/tui-v2/components/transcript/transcript-row.js +2 -2
  277. package/dist/tui-v2/components/transcript/transcript-row.js.map +1 -1
  278. package/dist/tui-v2/composer/composer-editor.js +16 -0
  279. package/dist/tui-v2/composer/composer-editor.js.map +1 -1
  280. package/dist/tui-v2/controllers/overlay-controller.d.ts +16 -2
  281. package/dist/tui-v2/controllers/overlay-controller.js +92 -12
  282. package/dist/tui-v2/controllers/overlay-controller.js.map +1 -1
  283. package/dist/tui-v2/rendering/artifact-pager-source.d.ts +19 -0
  284. package/dist/tui-v2/rendering/artifact-pager-source.js +103 -0
  285. package/dist/tui-v2/rendering/artifact-pager-source.js.map +1 -0
  286. package/dist/tui-v2/rendering/file-diff-view.d.ts +63 -0
  287. package/dist/tui-v2/rendering/file-diff-view.js +263 -0
  288. package/dist/tui-v2/rendering/file-diff-view.js.map +1 -0
  289. package/dist/tui-v2/rendering/open-tool-output.d.ts +9 -1
  290. package/dist/tui-v2/rendering/open-tool-output.js +65 -12
  291. package/dist/tui-v2/rendering/open-tool-output.js.map +1 -1
  292. package/dist/tui-v2/rendering/pager-chrome.d.ts +12 -0
  293. package/dist/tui-v2/rendering/pager-chrome.js +56 -0
  294. package/dist/tui-v2/rendering/pager-chrome.js.map +1 -0
  295. package/dist/tui-v2/rendering/plan-view.js +1 -1
  296. package/dist/tui-v2/rendering/plan-view.js.map +1 -1
  297. package/dist/tui-v2/rendering/syntax-highlight.d.ts +37 -0
  298. package/dist/tui-v2/rendering/syntax-highlight.js +1303 -0
  299. package/dist/tui-v2/rendering/syntax-highlight.js.map +1 -0
  300. package/dist/tui-v2/rendering/theme.d.ts +28 -0
  301. package/dist/tui-v2/rendering/theme.js +28 -0
  302. package/dist/tui-v2/rendering/theme.js.map +1 -1
  303. package/dist/tui-v2/rendering/tool-presenter.d.ts +5 -0
  304. package/dist/tui-v2/rendering/tool-presenter.js +35 -3
  305. package/dist/tui-v2/rendering/tool-presenter.js.map +1 -1
  306. package/dist/tui-v2/state/transcript-hydrate.js +5 -0
  307. package/dist/tui-v2/state/transcript-hydrate.js.map +1 -1
  308. package/dist/tui-v2/state/transcript-reducer.js +12 -2
  309. package/dist/tui-v2/state/transcript-reducer.js.map +1 -1
  310. package/dist/tui-v2/state/transcript-store.d.ts +7 -0
  311. package/dist/tui-v2/state/transcript-store.js +46 -0
  312. package/dist/tui-v2/state/transcript-store.js.map +1 -1
  313. package/dist/tui-v2/state/transcript-types.d.ts +12 -0
  314. package/dist/tui-v2/state/transcript-types.js +9 -0
  315. package/dist/tui-v2/state/transcript-types.js.map +1 -1
  316. package/dist/types.d.ts +17 -1
  317. package/dist/ui/mentions.d.ts +6 -0
  318. package/dist/ui/mentions.js +50 -12
  319. package/dist/ui/mentions.js.map +1 -1
  320. package/dist/ui/plan-pane.js +1 -1
  321. package/dist/ui/plan-pane.js.map +1 -1
  322. package/package.json +18 -12
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@opentui/react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "@opentui/react/jsx-runtime";
2
2
  /** @jsxImportSource @opentui/react */
3
3
  /**
4
4
  * Scrollable pager for long content — full tool output, plan detail (PICK-003,
@@ -14,6 +14,9 @@ import { useKeyboard, useTerminalDimensions } from "@opentui/react";
14
14
  import { TextAttributes } from "@opentui/core";
15
15
  import { chordFromKeyEvent } from "../../actions/chord-from-key.js";
16
16
  import { findPagerMatches, nextPagerMatch, prevPagerMatch, segmentPagerLine, } from "../../state/pager-search.js";
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";
17
20
  const HIDDEN_SCROLLBARS = {
18
21
  visible: false,
19
22
  showArrows: false,
@@ -25,19 +28,11 @@ const PAGER_HELP_SHORT = "↑↓:scroll · ^r:search · c:copy · q/esc:cl
25
28
  const PAGER_HELP_MIN = "↑↓ · ^r · q/esc:close";
26
29
  const PAGER_FOOTER_FULL = "c:copy · drag:select · s/^s:scrollback · e/^e:editor";
27
30
  const PAGER_FOOTER_SHORT = "c:copy · s:scrollback · e:editor";
28
- function fitOneLine(candidates, maxCols) {
29
- const budget = Math.max(8, maxCols);
30
- for (const text of candidates) {
31
- if (text.length <= budget)
32
- return text;
33
- }
34
- const last = candidates[candidates.length - 1] ?? "";
35
- if (last.length <= budget)
36
- return last;
37
- if (budget <= 1)
38
- return "…";
39
- return `${last.slice(0, budget - 1)}…`;
40
- }
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>.*)$/;
41
36
  /** Base fg for a non-match body line (path/header cues, plan sections). */
42
37
  function baseLineFg(line, theme) {
43
38
  const t = line.trim();
@@ -69,16 +64,97 @@ function baseLineFg(line, theme) {
69
64
  return theme.muted;
70
65
  return theme.foreground;
71
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
+ }
72
90
  function PagerLine(props) {
73
- const { line, index, theme, matches, activeMatchIndex, hasQuery } = props;
74
- const baseFg = baseLineFg(line, theme);
91
+ const { line, index, theme, matches, activeMatchIndex, hasQuery, highlightPath, carry, } = props;
75
92
  const isActiveLine = hasQuery &&
76
93
  activeMatchIndex >= 0 &&
77
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);
78
155
  if (!hasQuery || matches.length === 0) {
79
156
  return (_jsx("text", { id: `pager-line-${index}`, selectable: true, style: {
80
157
  fg: baseFg,
81
- // Subtle bar on the active match line so the jump target is obvious.
82
158
  ...(isActiveLine ? { bg: theme.rowA } : {}),
83
159
  }, children: line || " " }));
84
160
  }
@@ -91,14 +167,12 @@ function PagerLine(props) {
91
167
  return (_jsx("span", { style: { fg: baseFg }, children: seg.text }, i));
92
168
  }
93
169
  if (seg.kind === "active") {
94
- // Current hit: bright reverse-video yellow.
95
170
  return (_jsx("span", { style: {
96
171
  fg: theme.background,
97
172
  bg: theme.activity,
98
173
  attributes: TextAttributes.BOLD,
99
174
  }, children: seg.text }, i));
100
175
  }
101
- // Other hits: blue selection chip.
102
176
  return (_jsx("span", { style: {
103
177
  fg: theme.white,
104
178
  bg: theme.selection,
@@ -106,21 +180,89 @@ function PagerLine(props) {
106
180
  }, children: seg.text }, i));
107
181
  }) }));
108
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
+ }
109
195
  export function Pager(props) {
110
- const { services, theme, title, body } = props;
196
+ const { services, theme, title, body, source, highlightPath } = props;
111
197
  const { width: termWidth } = useTerminalDimensions();
112
198
  const scrollRef = useRef(null);
113
- const lines = useMemo(() => body.replace(/\n+$/, "").split("\n"), [body]);
199
+ const [displayBody, setDisplayBody] = useState(body);
200
+ const [artifactPage, setArtifactPage] = useState(undefined);
201
+ const [pageBusy, setPageBusy] = useState(false);
202
+ const lines = useMemo(() => displayBody.replace(/\n+$/, "").split("\n"), [displayBody]);
203
+ 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]);
114
209
  const [searchOpen, setSearchOpen] = useState(false);
115
210
  const [query, setQuery] = useState("");
116
211
  const [matchIndex, setMatchIndex] = useState(-1);
117
212
  const [scrollHint, setScrollHint] = useState("top");
118
- const matches = useMemo(() => findPagerMatches(lines, query), [lines, query]);
213
+ const matches = useMemo(() => findPagerMatches(searchLines, query), [searchLines, query]);
119
214
  const [exportError, setExportError] = useState(undefined);
120
215
  const [statusFlash, setStatusFlash] = useState(undefined);
121
216
  const hasQuery = query.trim().length > 0;
122
- // Pager is ~96% wide with padding; reserve room for " N lines · bottom ".
123
- const contentCols = Math.max(24, Math.floor(termWidth * 0.96) - 8);
217
+ // Stable carry for syntax across the visible line list (recreated when body changes).
218
+ const syntaxCarry = useMemo(() => emptyCarry(), [displayBody, pathForHighlight]);
219
+ useEffect(() => {
220
+ if (!source) {
221
+ setDisplayBody(body);
222
+ setArtifactPage(undefined);
223
+ return;
224
+ }
225
+ let active = true;
226
+ setPageBusy(true);
227
+ void source.readPage(0).then((page) => {
228
+ if (!active)
229
+ return;
230
+ setArtifactPage(page);
231
+ setDisplayBody(page.body || "(no output)");
232
+ }).catch((error) => {
233
+ if (active)
234
+ setExportError(error instanceof Error ? error.message : String(error));
235
+ }).finally(() => { if (active)
236
+ setPageBusy(false); });
237
+ return () => { active = false; };
238
+ }, [body, source]);
239
+ async function loadArtifactPage(offset) {
240
+ if (!source || pageBusy)
241
+ return;
242
+ setPageBusy(true);
243
+ try {
244
+ const page = await source.readPage(offset);
245
+ setArtifactPage(page);
246
+ setDisplayBody(page.body || "(no output)");
247
+ setMatchIndex(-1);
248
+ queueMicrotask(() => scrollRef.current?.scrollTo(0));
249
+ }
250
+ catch (error) {
251
+ setExportError(error instanceof Error ? error.message : String(error));
252
+ }
253
+ finally {
254
+ setPageBusy(false);
255
+ }
256
+ }
257
+ async function fullBody() {
258
+ return source ? source.readAll() : body;
259
+ }
260
+ // Conservative width: 96% box sits inside app chrome; overestimate caused
261
+ // "11 lines" to paint past the rounded border after search.
262
+ const pagerOuterCols = Math.max(40, Math.floor(termWidth * 0.96));
263
+ const contentCols = Math.max(24, pagerOuterCols - 10);
264
+ // Meta/footer rows (with their padding) — exact column budget for padChromeRow.
265
+ const chromeCols = Math.max(20, contentCols - 4);
124
266
  function flash(message, ms = 1800) {
125
267
  setStatusFlash(message);
126
268
  setExportError(undefined);
@@ -183,15 +325,54 @@ export function Pager(props) {
183
325
  }
184
326
  }
185
327
  /** Enter / submit: next hit from the *current* query (avoids stale closure). */
186
- function submitSearch() {
328
+ async function submitSearch() {
329
+ if (source && query.trim()) {
330
+ setPageBusy(true);
331
+ try {
332
+ const page = await source.search(query.trim(), artifactPage?.offset ?? 0);
333
+ if (page) {
334
+ setArtifactPage(page);
335
+ setDisplayBody(page.body);
336
+ setMatchIndex(-1);
337
+ setSearchOpen(false);
338
+ queueMicrotask(() => scrollRef.current?.scrollTo(0));
339
+ }
340
+ else {
341
+ setStatusFlash("no further matches");
342
+ }
343
+ }
344
+ finally {
345
+ setPageBusy(false);
346
+ }
347
+ return;
348
+ }
187
349
  const found = findPagerMatches(lines, query);
188
350
  if (found.length === 0)
189
351
  return;
190
352
  const next = nextPagerMatch(found, matchIndex);
191
353
  jumpToMatch(next, found);
192
- // Close the filter bar but keep the query so highlights + n/N remain.
193
354
  setSearchOpen(false);
194
355
  }
356
+ async function moveArtifactSearch(reverse) {
357
+ if (!source || !query.trim() || pageBusy)
358
+ return;
359
+ setPageBusy(true);
360
+ try {
361
+ const from = reverse ? artifactPage?.offset ?? 0 : artifactPage?.nextOffset ?? 0;
362
+ const page = await source.search(query.trim(), from, reverse);
363
+ if (!page) {
364
+ setStatusFlash(reverse ? "no previous matches" : "no further matches");
365
+ return;
366
+ }
367
+ setArtifactPage(page);
368
+ setDisplayBody(page.body);
369
+ setMatchIndex(-1);
370
+ queueMicrotask(() => scrollRef.current?.scrollTo(0));
371
+ }
372
+ finally {
373
+ setPageBusy(false);
374
+ }
375
+ }
195
376
  function clearSearch() {
196
377
  setSearchOpen(false);
197
378
  setQuery("");
@@ -246,11 +427,23 @@ export function Pager(props) {
246
427
  scrollByRows(1);
247
428
  break;
248
429
  case "pager.page-up":
249
- scrollByRows(-(sb?.viewport.height ?? 10));
430
+ if (source && artifactPage && (sb?.scrollTop ?? 0) <= 0 && artifactPage.offset > 0) {
431
+ void loadArtifactPage(Math.max(0, artifactPage.offset - source.pageBytes));
432
+ }
433
+ else {
434
+ scrollByRows(-(sb?.viewport.height ?? 10));
435
+ }
250
436
  break;
251
- case "pager.page-down":
252
- scrollByRows(sb?.viewport.height ?? 10);
437
+ case "pager.page-down": {
438
+ const atBottom = !sb || sb.scrollTop >= Math.max(0, sb.scrollHeight - sb.viewport.height);
439
+ if (source && artifactPage && atBottom && artifactPage.nextOffset < artifactPage.totalBytes) {
440
+ void loadArtifactPage(artifactPage.nextOffset);
441
+ }
442
+ else {
443
+ scrollByRows(sb?.viewport.height ?? 10);
444
+ }
253
445
  break;
446
+ }
254
447
  case "pager.half-page-up":
255
448
  scrollByRows(-Math.max(1, Math.floor((sb?.viewport.height ?? 10) / 2)));
256
449
  break;
@@ -258,32 +451,47 @@ export function Pager(props) {
258
451
  scrollByRows(Math.max(1, Math.floor((sb?.viewport.height ?? 10) / 2)));
259
452
  break;
260
453
  case "pager.top":
261
- sb?.scrollTo(0);
454
+ if (source && artifactPage?.offset)
455
+ void loadArtifactPage(0);
456
+ else
457
+ sb?.scrollTo(0);
262
458
  refreshScrollHint();
263
459
  break;
264
460
  case "pager.bottom":
265
- sb?.scrollTo(sb.scrollHeight);
461
+ if (source && artifactPage && artifactPage.pageNumber < artifactPage.pageCount) {
462
+ void loadArtifactPage(Math.max(0, artifactPage.totalBytes - source.pageBytes));
463
+ }
464
+ else {
465
+ sb?.scrollTo(sb.scrollHeight);
466
+ }
266
467
  refreshScrollHint();
267
468
  break;
268
469
  case "pager.search":
269
470
  setSearchOpen(true);
270
471
  break;
271
472
  case "pager.next-match":
272
- if (matches.length > 0)
473
+ if (source && hasQuery)
474
+ void moveArtifactSearch(false);
475
+ else if (matches.length > 0)
273
476
  jumpToMatch(nextPagerMatch(matches, matchIndex));
274
477
  break;
275
478
  case "pager.prev-match":
276
- if (matches.length > 0)
479
+ if (source && hasQuery)
480
+ void moveArtifactSearch(true);
481
+ else if (matches.length > 0)
277
482
  jumpToMatch(prevPagerMatch(matches, matchIndex));
278
483
  break;
279
484
  case "pager.export-scrollback":
280
- void runExport(services.pagerExport.exportToScrollback(title, body), "exported to terminal scrollback (scroll up after exit)");
485
+ void fullBody().then((full) => runExport(services.pagerExport.exportToScrollback(title, full), "exported to terminal scrollback (scroll up after exit)")).catch((error) => setExportError(error instanceof Error ? error.message : String(error)));
281
486
  break;
282
487
  case "pager.export-editor":
283
- void runExport(services.pagerExport.exportToEditor(body), "opened in editor");
488
+ void fullBody().then((full) => runExport(services.pagerExport.exportToEditor(full), "opened in editor"))
489
+ .catch((error) => setExportError(error instanceof Error ? error.message : String(error)));
284
490
  break;
285
491
  case "pager.copy":
286
- void services.ports.clipboard.writeText(body).then(() => flash("copied all"), () => flash("copy failed"));
492
+ void fullBody()
493
+ .then((full) => services.ports.clipboard.writeText(bodyOnlyForCopy(full)))
494
+ .then(() => flash("copied all"), () => flash("copy failed"));
287
495
  break;
288
496
  case "pager.close":
289
497
  // First Esc clears an active search highlight; second closes the pager.
@@ -310,20 +518,46 @@ export function Pager(props) {
310
518
  : hasQuery
311
519
  ? "no matches"
312
520
  : "";
313
- const lineCountText = `${lines.length} lines · ${scrollLabel}`;
314
- // Leave room for the right-side status so help never wraps under it.
315
- const helpBudget = Math.max(12, contentCols - lineCountText.length - 3);
316
- const findSuffix = hasQuery && matchStatus ? ` · find:${query.trim()} ${matchStatus}` : "";
317
- const flashSuffix = statusFlash ? ` · ${statusFlash}` : "";
318
- const helpCore = fitOneLine([PAGER_HELP_FULL, PAGER_HELP_MED, PAGER_HELP_SHORT, PAGER_HELP_MIN], Math.max(12, helpBudget - findSuffix.length - flashSuffix.length));
319
- const helpText = fitOneLine([`${helpCore}${flashSuffix}${findSuffix}`], helpBudget);
521
+ const lineCountRight = artifactPage
522
+ ? `${lines.length} lines · page ${artifactPage.pageNumber}/${artifactPage.pageCount}${pageBusy ? " · loading" : ""}`
523
+ : `${lines.length} lines · ${scrollLabel}`;
524
+ // While a find is active, prefer find status over the long help line so the
525
+ // right-side line count always has room.
526
+ const metaLeft = hasQuery
527
+ ? fitOneLine([
528
+ statusFlash
529
+ ? `${statusFlash} · find:${query.trim()} ${matchStatus}`
530
+ : `find:${query.trim()} ${matchStatus}`,
531
+ `find:${matchStatus}`,
532
+ matchStatus || "find",
533
+ ], Math.max(8, Math.floor(chromeCols * 0.65)))
534
+ : fitOneLine([
535
+ statusFlash
536
+ ? `${PAGER_HELP_SHORT} · ${statusFlash}`
537
+ : PAGER_HELP_FULL,
538
+ PAGER_HELP_MED,
539
+ PAGER_HELP_SHORT,
540
+ PAGER_HELP_MIN,
541
+ "↑↓ · ^r · q",
542
+ ], Math.max(8, Math.floor(chromeCols * 0.65)));
543
+ const metaLine = padChromeRow(metaLeft, lineCountRight, chromeCols);
320
544
  const footerLeft = exportError
321
- ? fitOneLine([`export failed: ${exportError}`], helpBudget)
545
+ ? `export failed: ${exportError}`
322
546
  : statusFlash
323
- ? fitOneLine([statusFlash], helpBudget)
547
+ ? statusFlash
324
548
  : hasQuery
325
- ? fitOneLine(["n/N:next · esc:clear-find · q:close"], helpBudget)
326
- : fitOneLine([PAGER_FOOTER_FULL, PAGER_FOOTER_SHORT], helpBudget);
549
+ ? "n/N:next · esc:clear-find · q:close"
550
+ : PAGER_FOOTER_FULL;
551
+ const footerLine = padChromeRow(footerLeft, scrollLabel, chromeCols);
552
+ const filterHint = fitOneLine([
553
+ matches.length > 0
554
+ ? `${matchStatus} · enter:next · esc:cancel`
555
+ : query.trim()
556
+ ? "no matches · esc:cancel"
557
+ : "type:filter · esc:cancel",
558
+ matches.length > 0 ? `${matchStatus} · enter · esc` : "esc:cancel",
559
+ matches.length > 0 ? matchStatus : "esc",
560
+ ], Math.max(6, Math.floor(chromeCols * 0.35)));
327
561
  // Clip long titles so the border doesn't wrap/overflow.
328
562
  const borderTitle = title.length > 72 ? ` ${title.slice(0, 69)}… ` : ` ${title} `;
329
563
  return (_jsxs("box", { border: true, borderStyle: "rounded", title: borderTitle, titleAlignment: "left", titleColor: theme.cyan, style: {
@@ -339,8 +573,6 @@ export function Pager(props) {
339
573
  paddingBottom: 0,
340
574
  }, children: [_jsx("box", { style: {
341
575
  flexDirection: "row",
342
- justifyContent: "space-between",
343
- alignItems: "center",
344
576
  width: "100%",
345
577
  height: 1,
346
578
  flexShrink: 0,
@@ -358,16 +590,7 @@ export function Pager(props) {
358
590
  setQuery(value);
359
591
  // Reset so Enter always lands on the first hit for a new query.
360
592
  setMatchIndex(-1);
361
- }, onSubmit: submitSearch, textColor: theme.foreground, backgroundColor: theme.rowB, style: { flexGrow: 1 } }), _jsxs("text", { selectable: false, style: { fg: theme.muted, flexShrink: 0 }, children: [" ", matches.length > 0
362
- ? `${matchStatus} · enter:next · esc:cancel`
363
- : query.trim()
364
- ? "no matches"
365
- : "type:filter"] })] })) : (_jsxs(_Fragment, { children: [_jsx("box", { style: {
366
- flexGrow: 1,
367
- flexShrink: 1,
368
- minWidth: 0,
369
- height: 1,
370
- }, children: _jsx("text", { selectable: false, content: helpText, style: { fg: theme.muted, height: 1 } }) }), _jsx("text", { selectable: false, content: ` ${lineCountText}`, style: { fg: theme.cyan, height: 1, flexShrink: 0 } })] })) }), _jsxs("scrollbox", { ref: scrollRef, viewportCulling: true, scrollY: true, scrollX: false, stickyScroll: false, scrollbarOptions: HIDDEN_SCROLLBARS, verticalScrollbarOptions: HIDDEN_SCROLLBARS, horizontalScrollbarOptions: HIDDEN_SCROLLBARS, style: {
593
+ }, 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%" } })) }), _jsxs("scrollbox", { ref: scrollRef, viewportCulling: true, scrollY: true, scrollX: false, stickyScroll: false, scrollbarOptions: HIDDEN_SCROLLBARS, verticalScrollbarOptions: HIDDEN_SCROLLBARS, horizontalScrollbarOptions: HIDDEN_SCROLLBARS, style: {
371
594
  flexGrow: 1,
372
595
  flexShrink: 1,
373
596
  width: "100%",
@@ -377,20 +600,43 @@ export function Pager(props) {
377
600
  marginBottom: 0,
378
601
  paddingLeft: 1,
379
602
  paddingRight: 1,
380
- paddingTop: 1,
381
- }, onMouseScroll: () => refreshScrollHint(), children: [_jsx("text", { content: " ", style: { height: 1 } }), lines.map((line, index) => (_jsx(PagerLine, { line: line, index: index, theme: theme, matches: matches, activeMatchIndex: matchIndex, hasQuery: hasQuery }, index))), _jsx("text", { content: " ", style: { height: 1 } })] }), _jsxs("box", { style: {
603
+ // File-diff modals stay dense; generic tool output keeps a little air.
604
+ paddingTop: highlightPath ? 0 : 1,
605
+ }, onMouseScroll: () => refreshScrollHint(), children: [!highlightPath ? (_jsx("text", { content: " ", style: { height: 1 } })) : null, lines.flatMap((line, index) => {
606
+ // Don't wrap gutters into mid-line chunks — wrap code only when diff.
607
+ const parsed = parseDiffLine(line);
608
+ if (parsed) {
609
+ // Soft-wrap code only; keep internal mark so parseDiffLine still
610
+ // knows add/del tone. PagerLine does not paint +/-.
611
+ const codeChunks = wrapPagerLine(parsed.code, Math.max(12, contentCols - (parsed.gutter.length + 3)));
612
+ return codeChunks.map((codeChunk, part) => {
613
+ const mark = parsed.tone === "add"
614
+ ? "+"
615
+ : parsed.tone === "del"
616
+ ? "−"
617
+ : " ";
618
+ const g = part === 0
619
+ ? parsed.gutter
620
+ : " ".repeat(parsed.gutter.length);
621
+ const rebuilt = parsed.tone === "header"
622
+ ? `${g} │ ${codeChunk}`
623
+ : `${g} │ ${mark} ${codeChunk}`;
624
+ return (_jsx(PagerLine, { line: rebuilt, index: index, theme: theme, matches: matches, activeMatchIndex: matchIndex, hasQuery: hasQuery, highlightPath: pathForHighlight, carry: syntaxCarry }, `${index}-${part}`));
625
+ });
626
+ }
627
+ return wrapPagerLine(line, contentCols).map((chunk, part) => (_jsx(PagerLine, { line: chunk, index: index, theme: theme, matches: matches, activeMatchIndex: matchIndex, hasQuery: hasQuery, highlightPath: pathForHighlight, carry: syntaxCarry }, `${index}-${part}`)));
628
+ }), !highlightPath ? (_jsx("text", { content: " ", style: { height: 1 } })) : null] }), _jsx("box", { style: {
382
629
  flexDirection: "row",
383
- justifyContent: "space-between",
384
- alignItems: "center",
385
630
  width: "100%",
386
631
  height: 1,
387
632
  flexShrink: 0,
388
633
  backgroundColor: theme.rowB,
389
634
  paddingLeft: 1,
390
635
  paddingRight: 1,
391
- }, children: [_jsx("box", { style: { flexGrow: 1, flexShrink: 1, minWidth: 0, height: 1 }, children: _jsx("text", { selectable: false, content: footerLeft, style: {
392
- fg: exportError ? theme.mode : theme.muted,
393
- height: 1,
394
- } }) }), _jsx("text", { selectable: false, content: ` ${scrollLabel}`, style: { fg: theme.cyan, height: 1, flexShrink: 0 } })] })] }));
636
+ }, children: _jsx("text", { selectable: false, content: footerLine, style: {
637
+ fg: exportError ? theme.mode : theme.muted,
638
+ height: 1,
639
+ width: "100%",
640
+ } }) })] }));
395
641
  }
396
642
  //# sourceMappingURL=pager.js.map
@@ -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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"}