@agi-fans/dsh-tui 0.19.0 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/lib/CHANGELOG.md +84 -1
  2. package/lib/chrome/box.js +2 -12
  3. package/lib/chrome/box.js.map +1 -1
  4. package/lib/chrome/code-highlight.d.ts +26 -18
  5. package/lib/chrome/code-highlight.js +114 -39
  6. package/lib/chrome/code-highlight.js.map +1 -1
  7. package/lib/chrome/diff-render.d.ts +1 -2
  8. package/lib/chrome/diff-render.js +41 -90
  9. package/lib/chrome/diff-render.js.map +1 -1
  10. package/lib/chrome/main-screen-renderer.d.ts +4 -32
  11. package/lib/chrome/main-screen-renderer.js +63 -15
  12. package/lib/chrome/main-screen-renderer.js.map +1 -1
  13. package/lib/chrome/markdown.js +128 -93
  14. package/lib/chrome/markdown.js.map +1 -1
  15. package/lib/chrome/math.d.ts +4 -0
  16. package/lib/chrome/math.js +340 -0
  17. package/lib/chrome/math.js.map +1 -0
  18. package/lib/chrome/md-style.d.ts +3 -0
  19. package/lib/chrome/md-style.js.map +1 -1
  20. package/lib/chrome/mermaid.d.ts +6 -0
  21. package/lib/chrome/mermaid.js +56 -0
  22. package/lib/chrome/mermaid.js.map +1 -0
  23. package/lib/chrome/renderer.d.ts +3 -0
  24. package/lib/chrome/renderer.js.map +1 -1
  25. package/lib/chrome/status-config.d.ts +5 -0
  26. package/lib/chrome/status-config.js +3 -0
  27. package/lib/chrome/status-config.js.map +1 -1
  28. package/lib/chrome/status-line.d.ts +0 -21
  29. package/lib/chrome/status-line.js +8 -65
  30. package/lib/chrome/status-line.js.map +1 -1
  31. package/lib/chrome/terminal-images.d.ts +31 -0
  32. package/lib/chrome/terminal-images.js +34 -0
  33. package/lib/chrome/terminal-images.js.map +1 -0
  34. package/lib/chrome/theme.d.ts +5 -6
  35. package/lib/chrome/theme.js +199 -109
  36. package/lib/chrome/theme.js.map +1 -1
  37. package/lib/chrome/welcome-tips.js +1 -1
  38. package/lib/chrome/width.d.ts +7 -3
  39. package/lib/chrome/width.js +78 -14
  40. package/lib/chrome/width.js.map +1 -1
  41. package/lib/commands/diff.js +49 -3
  42. package/lib/commands/diff.js.map +1 -1
  43. package/lib/commands/export.js +28 -5
  44. package/lib/commands/export.js.map +1 -1
  45. package/lib/commands/files.d.ts +8 -0
  46. package/lib/commands/files.js +137 -0
  47. package/lib/commands/files.js.map +1 -0
  48. package/lib/commands/plugins.d.ts +8 -0
  49. package/lib/commands/plugins.js +158 -0
  50. package/lib/commands/plugins.js.map +1 -0
  51. package/lib/commands/session-configuration.d.ts +4 -0
  52. package/lib/commands/session-configuration.js +39 -8
  53. package/lib/commands/session-configuration.js.map +1 -1
  54. package/lib/commands/session.js +47 -15
  55. package/lib/commands/session.js.map +1 -1
  56. package/lib/commands/steer.js +2 -2
  57. package/lib/commands/steer.js.map +1 -1
  58. package/lib/commands/terminal.d.ts +7 -0
  59. package/lib/commands/terminal.js +99 -0
  60. package/lib/commands/terminal.js.map +1 -0
  61. package/lib/definition.d.ts +121 -7
  62. package/lib/input/clipboard.d.ts +12 -7
  63. package/lib/input/clipboard.js +79 -20
  64. package/lib/input/clipboard.js.map +1 -1
  65. package/lib/input/composer-files.d.ts +26 -0
  66. package/lib/input/composer-files.js +50 -0
  67. package/lib/input/composer-files.js.map +1 -0
  68. package/lib/input/editor-discovery.d.ts +21 -0
  69. package/lib/input/editor-discovery.js +99 -0
  70. package/lib/input/editor-discovery.js.map +1 -0
  71. package/lib/input/editor.d.ts +26 -1
  72. package/lib/input/editor.js +126 -12
  73. package/lib/input/editor.js.map +1 -1
  74. package/lib/input/external-editor.d.ts +5 -2
  75. package/lib/input/external-editor.js +14 -12
  76. package/lib/input/external-editor.js.map +1 -1
  77. package/lib/input/fuzzy-search.d.ts +9 -0
  78. package/lib/input/fuzzy-search.js +113 -0
  79. package/lib/input/fuzzy-search.js.map +1 -0
  80. package/lib/input/keybindings-config.d.ts +1 -1
  81. package/lib/input/keybindings-config.js +6 -1
  82. package/lib/input/keybindings-config.js.map +1 -1
  83. package/lib/input/keys.d.ts +11 -1
  84. package/lib/input/keys.js +17 -8
  85. package/lib/input/keys.js.map +1 -1
  86. package/lib/input/mouse-policy.d.ts +3 -0
  87. package/lib/input/mouse-policy.js +14 -0
  88. package/lib/input/mouse-policy.js.map +1 -0
  89. package/lib/input/paste-burst.d.ts +16 -0
  90. package/lib/input/paste-burst.js +61 -0
  91. package/lib/input/paste-burst.js.map +1 -0
  92. package/lib/input/text-selection.d.ts +20 -0
  93. package/lib/input/text-selection.js +195 -0
  94. package/lib/input/text-selection.js.map +1 -0
  95. package/lib/runtime/composer-images.d.ts +1 -0
  96. package/lib/runtime/composer-images.js +11 -3
  97. package/lib/runtime/composer-images.js.map +1 -1
  98. package/lib/runtime/file-open.d.ts +2 -0
  99. package/lib/runtime/file-open.js +12 -0
  100. package/lib/runtime/file-open.js.map +1 -0
  101. package/lib/runtime/file-review.d.ts +24 -0
  102. package/lib/runtime/file-review.js +188 -0
  103. package/lib/runtime/file-review.js.map +1 -0
  104. package/lib/runtime/herdr-agent.d.ts +7 -15
  105. package/lib/runtime/herdr-agent.js +151 -79
  106. package/lib/runtime/herdr-agent.js.map +1 -1
  107. package/lib/runtime/hook-settings.d.ts +17 -0
  108. package/lib/runtime/hook-settings.js +57 -0
  109. package/lib/runtime/hook-settings.js.map +1 -0
  110. package/lib/runtime/human-interaction.js +1 -1
  111. package/lib/runtime/human-interaction.js.map +1 -1
  112. package/lib/runtime/image-preview.d.ts +8 -0
  113. package/lib/runtime/image-preview.js +119 -0
  114. package/lib/runtime/image-preview.js.map +1 -0
  115. package/lib/runtime/plain-tui.d.ts +2 -0
  116. package/lib/runtime/plain-tui.js +2 -2
  117. package/lib/runtime/plain-tui.js.map +1 -1
  118. package/lib/runtime/plugin-settings.d.ts +17 -0
  119. package/lib/runtime/plugin-settings.js +154 -0
  120. package/lib/runtime/plugin-settings.js.map +1 -0
  121. package/lib/runtime/provider-local.d.ts +39 -4
  122. package/lib/runtime/provider-local.js +977 -92
  123. package/lib/runtime/provider-local.js.map +1 -1
  124. package/lib/runtime/runner.js +3 -3
  125. package/lib/runtime/runner.js.map +1 -1
  126. package/lib/runtime/session-archive.d.ts +5 -0
  127. package/lib/runtime/session-archive.js +114 -0
  128. package/lib/runtime/session-archive.js.map +1 -0
  129. package/lib/runtime/subagent-model-selection.d.ts +5 -0
  130. package/lib/runtime/subagent-model-selection.js +15 -0
  131. package/lib/runtime/subagent-model-selection.js.map +1 -0
  132. package/lib/runtime/terminal-notifications.d.ts +8 -0
  133. package/lib/runtime/terminal-notifications.js +16 -0
  134. package/lib/runtime/terminal-notifications.js.map +1 -1
  135. package/lib/runtime/terminal-reader.d.ts +11 -0
  136. package/lib/runtime/terminal-reader.js +87 -0
  137. package/lib/runtime/terminal-reader.js.map +1 -0
  138. package/lib/session/composer-drafts.d.ts +20 -0
  139. package/lib/session/composer-drafts.js +103 -0
  140. package/lib/session/composer-drafts.js.map +1 -0
  141. package/lib/session/conversation-turns.d.ts +16 -0
  142. package/lib/session/conversation-turns.js +33 -0
  143. package/lib/session/conversation-turns.js.map +1 -0
  144. package/lib/session/feature-toggles.d.ts +7 -28
  145. package/lib/session/feature-toggles.js +14 -45
  146. package/lib/session/feature-toggles.js.map +1 -1
  147. package/lib/session/fold-policy.d.ts +0 -17
  148. package/lib/session/fold-policy.js +0 -11
  149. package/lib/session/fold-policy.js.map +1 -1
  150. package/lib/session/interaction-adapter.d.ts +2 -2
  151. package/lib/session/interaction-adapter.js +156 -25
  152. package/lib/session/interaction-adapter.js.map +1 -1
  153. package/lib/session/message-queue.d.ts +22 -0
  154. package/lib/session/message-queue.js +157 -0
  155. package/lib/session/message-queue.js.map +1 -0
  156. package/lib/session/project-file-search.js +3 -21
  157. package/lib/session/project-file-search.js.map +1 -1
  158. package/lib/session/session-controller.d.ts +11 -18
  159. package/lib/session/session-controller.js +195 -87
  160. package/lib/session/session-controller.js.map +1 -1
  161. package/lib/session/session-library.d.ts +11 -3
  162. package/lib/session/session-library.js +48 -8
  163. package/lib/session/session-library.js.map +1 -1
  164. package/lib/session/session-tree.d.ts +26 -0
  165. package/lib/session/session-tree.js +112 -0
  166. package/lib/session/session-tree.js.map +1 -0
  167. package/lib/session/steering.d.ts +3 -0
  168. package/lib/session/steering.js +9 -0
  169. package/lib/session/steering.js.map +1 -0
  170. package/lib/session/tui-settings.d.ts +17 -0
  171. package/lib/session/tui-settings.js +12 -1
  172. package/lib/session/tui-settings.js.map +1 -1
  173. package/lib/session/workflow-projection.d.ts +9 -0
  174. package/lib/session/workflow-projection.js +44 -0
  175. package/lib/session/workflow-projection.js.map +1 -0
  176. package/lib/views/agent-hub.js +9 -4
  177. package/lib/views/agent-hub.js.map +1 -1
  178. package/lib/views/autocomplete.js +5 -25
  179. package/lib/views/autocomplete.js.map +1 -1
  180. package/lib/views/document-reader.d.ts +34 -0
  181. package/lib/views/document-reader.js +145 -0
  182. package/lib/views/document-reader.js.map +1 -0
  183. package/lib/views/event-views.js +39 -2
  184. package/lib/views/event-views.js.map +1 -1
  185. package/lib/views/hotkeys.js +13 -5
  186. package/lib/views/hotkeys.js.map +1 -1
  187. package/lib/views/prompt-selector.d.ts +33 -3
  188. package/lib/views/prompt-selector.js +287 -43
  189. package/lib/views/prompt-selector.js.map +1 -1
  190. package/lib/views/prompt-tree.d.ts +11 -0
  191. package/lib/views/prompt-tree.js +74 -0
  192. package/lib/views/prompt-tree.js.map +1 -0
  193. package/lib/views/session-files.d.ts +7 -0
  194. package/lib/views/session-files.js +62 -0
  195. package/lib/views/session-files.js.map +1 -0
  196. package/lib/views/settings-list.d.ts +24 -2
  197. package/lib/views/settings-list.js +115 -27
  198. package/lib/views/settings-list.js.map +1 -1
  199. package/lib/views/transcript-render.d.ts +23 -39
  200. package/lib/views/transcript-render.js +101 -210
  201. package/lib/views/transcript-render.js.map +1 -1
  202. package/lib/views/transcript-types.d.ts +1 -1
  203. package/package.json +77 -42
  204. package/lib/chrome/style.d.ts +0 -22
  205. package/lib/chrome/style.js +0 -23
  206. package/lib/chrome/style.js.map +0 -1
package/lib/CHANGELOG.md CHANGED
@@ -6,6 +6,87 @@ The format is based on [Keep a Changelog], and this project adheres to [Semantic
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.20.0]
10
+
11
+ ### Added
12
+
13
+ - Mermaid in replies draws complete supported diagrams with theme-aware terminal characters. Settings switches between Auto and Source; unsupported, incomplete, truncated or oversized diagrams retain Mermaid code. Copy and export keep the original Markdown.
14
+ - Math in replies supports terminal text layouts for fractions, roots, scripts, limits, matrices, cases and aligned equations. Settings switches between automatic formatting and LaTeX source; unsupported or oversized formulas retain their complete source.
15
+ - Source readers toggle wrapping with `W` and pan horizontally with `Alt+Left`/`Alt+Right`, retaining line numbers, syntax colors and reading positions across actions.
16
+
17
+ - Image preview pages for composer drafts (`Alt+M`), workspace files, deliverables and stored attachments, with Kitty/iTerm2 graphics on supported direct terminals, original-file opening and a text fallback elsewhere. PNG, JPEG, WebP and GIF previews fit the viewport without changing attachment bytes.
18
+
19
+ - `/terminal` searches retained output, navigates matching lines, and loads older history in bounded pages. Pausing freezes the reading snapshot; console actions retain position and search, and End resumes following the latest output.
20
+
21
+ - `/queue` and configurable `Alt+Q` manage individual guidance, follow-ups, and waiting submissions with live previews, text editing, deletion, and reordering. Edits retain attachments and the composer draft; tool questions take priority, and raced edits return as unsent drafts.
22
+
23
+ - Unsent composer drafts survive session switches and restarts, retaining cursor positions, folded pastes, images, and file references. Sending or clearing input removes its saved draft; question answers and queued messages stay separate.
24
+
25
+ - File and Diff source readers show line numbers, search loaded text, jump to file lines or diff hunks, retain reading positions across navigation and editor actions, and load text previews beyond 128 KiB up to 4 MiB. Markdown previews switch between source and rendered views.
26
+
27
+ - Session Tree supports searchable local labels and a marked-node view that preserves ancestor paths. Session Library archives and restores sessions without deleting their logs or attachments; archived sessions stay available through direct resume and content search.
28
+
29
+ - Long text pastes fold into editable blocks with original content retained through copying, undo, questions, and queued-message editing. Paste protection prevents embedded Enter keys from submitting recognized unmarked pastes.
30
+ - `Alt+S` sends text guidance to the active Turn’s next model step, keeps rejected drafts, and distinguishes guidance from next-turn follow-ups. `Alt+I` expands pasted blocks; both shortcuts are configurable.
31
+ - Notifications can be limited to unfocused terminals, coalesce event bursts, and prioritize requests for input and failures over completion.
32
+
33
+ - Mouse text selection works alongside transcript scrolling in folded and expanded views, with word/line selection and optional copying on release. Settings controls mouse ownership and automatic copying; Auto respects tmux mouse off.
34
+ - Context style in Settings selects percentage, an occupancy bar, used/window tokens, or detailed values. Context occupancy defaults to percentage only.
35
+ - Double Escape and `/tree` open a searchable Session Tree with forks at their conversation boundaries, current-branch markers, and responsive content previews. Enter prepares a branch from a historical Turn or continues a branch; `Alt+Enter` continues the selected node’s branch. Browsing and cancellation preserve the active conversation and draft.
36
+
37
+ - Settings includes a persistent Editor choice shared by file previews and `Ctrl+X`, with automatic detection of installed editors and compatibility with existing `$VISUAL` or `$EDITOR` preferences.
38
+ - Timed questions show a countdown, pause while editing or with `Ctrl+T`, and remain answerable through `/questions` after the wait ends. `Ctrl+S` skips one question; `Esc` leaves a finite timed question pending, and `Ctrl+C` interrupts. Resumed sessions retain pending questions and display late answers in the transcript.
39
+ - `/plugins` manages running-profile entries and bundles, with installation progress, cancellation, diagnostic logs, and explicit dependency-script approval. Configuration patches are watched; replacing installed package code still requires a restart.
40
+ - `/settings` includes a Plugins section for live configuration, inheritance, resetting overrides, and rejecting stale writes. Enter opens the selected plugin; Esc returns to Settings. API keys with a credential-reference field use the Harness credential store.
41
+ - Subagent model selection can be enabled with an exact provider/model allowlist for new sessions. It defaults off; forked delegation continues to inherit its parent route.
42
+ - Cordis includes the published Harness authoring Skills and permission-gated `plugin_manager` tool. `/agent` shows unavailable presets, and `/agent inspect [preset-id]` reports declarations, failures, and the composition retained by the current session.
43
+
44
+ - Interactive `/diff` reviews staged, unstaged, untracked, and retained Turn changes with per-file navigation, previews, and external opening; `Alt+V` opens the current Turn’s review.
45
+ - `/terminal` lists session-owned persistent shells with live output, line input, interruption, and confirmed closure. Leaving the console keeps the shell running.
46
+ - `/attach` stages general files in the composer; `/attachments` previews stored originals and `/files` browses the workspace and session deliverables.
47
+ - Agent Hub displays recent Workflow runs, recorded phases, member outcomes, and links to available child transcripts, including after resume.
48
+ - Settings offers opt-in Codex or Claude Code command hooks with a configurable JSON path. Hook failures and blocking decisions appear in the transcript.
49
+ - `/export archive [path]` writes a ZIP containing logical session logs, descendant sessions, and verified original attachments without overwriting existing files.
50
+
51
+ ### Changed
52
+
53
+ - **Compatibility:** Upgrade the published DeepSeek Harness runtime to `0.2.1-alpha.1` with its matching Cordis, loader, timer, and schemastery releases. Plugin consumers must upgrade to Cordis `~4.0.5-alpha.1`. Goal cancellation withdraws queued follow-up messages so subsequent input can proceed.
54
+
55
+ - Tables that cannot fit useful columns on narrow terminals show labelled records.
56
+
57
+ - Completed Turn summaries show the configured expansion shortcut when space allows, keeping duration and failures visible at narrow widths.
58
+
59
+ - Searchable choice lists prioritize exact names and prefixes and support multiword queries and short word abbreviations. Command and project-path completion favor compact matches at word boundaries.
60
+ - File-edit tool previews highlight changed identifiers, punctuation, and spacing more precisely, preserve emoji and combining sequences, and retain context in large hunks with small edits.
61
+ - Code previews, fenced replies, and tool diff context use Prism syntax grammars with theme-aware colors, including multiline comments and strings, TSX, configuration files, and PowerShell. Diff documents color added and removed lines.
62
+ - The default PTC execution budget is 180 seconds, leaving time for the default 120-second question wait and its result. Taking time on a question does not pause the outer program deadline.
63
+ - CLI and runtime plugin operations share the profile write lock. Feature toggles apply after the running profile reloads its patch; existing sessions retain their Agent preset revision.
64
+
65
+ ### Fixed
66
+
67
+ - Returning from file previews and other full-screen pages repaints the live transcript and composer, preventing stale borders and displaced input rows.
68
+
69
+ - Markdown code retains literal HTML tags, entities and emphasis characters. Incomplete formulas remain readable while streaming, and compound exponents no longer convert only their first digit.
70
+
71
+ - Herdr status follows the root Agent during session updates and subagent inspection, retries failed reports, and waits briefly for release on exit. Background runs and smoke-test terminals no longer claim their caller's Herdr pane.
72
+
73
+ - Pasting a search term into a source reader updates matching lines immediately.
74
+
75
+ - Themes pair prompt and tool-card text with their fixed backgrounds, improve tool output, code, and hint contrast, and keep error text visible in 16-color terminals. Nested color resets preserve the surrounding card colors.
76
+ - Returning from transcript browsing keeps floating controls out of tmux scrollback even when `scroll-on-clear` is enabled.
77
+ - Clipboard copying forwards to tmux clients and remote terminals when needed, distinguishing confirmed local copies from unacknowledged terminal requests.
78
+ - Status line settings accurately name the telemetry toggle and context label; disabling telemetry keeps model and workspace metadata visible in the preview.
79
+ - Folding a completed Turn or returning from expanded tool details no longer leaves a large blank gap above the reply when the prompt has entered terminal scrollback.
80
+
81
+ - Markdown tables honor left, center, and right alignment, keep wide characters within column budgets, and isolate wrapped cell styles and hyperlinks from neighboring cells and borders. Views narrower than eight display cells retain the original Markdown table syntax.
82
+ - File browsing reviews sibling files, accepts uppercase document shortcuts, keeps all action buttons visible at narrow widths, and shows external-open and editor results in the preview. User-initiated file navigation no longer emits attention notifications.
83
+ - Wrapped code preserves indentation, repeated spaces, and syntax colors across continuation rows.
84
+ - Interactive `/diff` resolves listed changes from the Git repository root when launched in a subdirectory, keeping patches, previews, and external file actions on the same file.
85
+ - Persistent terminal tools use PowerShell on Windows and Bash on POSIX.
86
+ - Enabling the Ralph loop in `/settings` now persists across launches. Feature overrides support both enabling a default-off tool and disabling a default-on feature.
87
+
88
+ ## [0.19.0] - 2026-10-03
89
+
9
90
  ### Added
10
91
 
11
92
  - `Alt+O` toggles complete tool inputs and results for the turn being read, including running turns and PTC sub-calls. New calls in an inspected live turn inherit the setting. `Ctrl+O` or returning to the live tail resets tool details; the shortcut is configurable as `toggle-tool-details`.
@@ -460,7 +541,9 @@ The format is based on [Keep a Changelog], and this project adheres to [Semantic
460
541
  - Preserved terminal-cell alignment and right padding for long commands, CJK text, emoji, ANSI styling, and narrow viewports.
461
542
  - Stabilized incremental rendering, transcript scrolling, cursor placement, tool-output folding, and queued input during active turns.
462
543
 
463
- [Unreleased]: https://github.com/agi-fans/oh-my-dsh/compare/v0.18.0...HEAD
544
+ [Unreleased]: https://github.com/agi-fans/oh-my-dsh/compare/v0.20.0...HEAD
545
+ [0.20.0]: https://github.com/agi-fans/oh-my-dsh/compare/v0.19.0...v0.20.0
546
+ [0.19.0]: https://github.com/agi-fans/oh-my-dsh/compare/v0.18.0...v0.19.0
464
547
  [0.18.0]: https://github.com/agi-fans/oh-my-dsh/compare/v0.17.0...v0.18.0
465
548
  [0.17.0]: https://github.com/agi-fans/oh-my-dsh/compare/v0.16.0...v0.17.0
466
549
  [0.16.0]: https://github.com/agi-fans/oh-my-dsh/compare/v0.15.0...v0.16.0
package/lib/chrome/box.js CHANGED
@@ -3,7 +3,7 @@
3
3
  * card and the framed editor whose top border carries its compact label.
4
4
  * @module @agi-fans/dsh-tui
5
5
  */
6
- import { BOX, DEEPSEEK_LOGO, SYMBOL, gradientLogo } from "./theme.js";
6
+ import { BOX, DEEPSEEK_LOGO, SYMBOL, gradientLogo, paintSurface } from "./theme.js";
7
7
  import { expandTabs, padToWidth, padding, truncateToWidth, visibleWidth, wrapIndexed, wrapText, cursorOnWrapped } from "./width.js";
8
8
  import { formatRelativeAge } from "./relative-time.js";
9
9
  import { WELCOME_TIPS } from "./welcome-tips.js";
@@ -27,16 +27,6 @@ function bgColorFor(state) {
27
27
  return 'toolSuccessBg';
28
28
  return undefined;
29
29
  }
30
- function applyBg(line, theme, color, width) {
31
- const ansi = theme.getBgAnsi(color);
32
- if (ansi === '')
33
- return padToWidth(line, width);
34
- const padded = padToWidth(line, width);
35
- const restabilized = padded
36
- .replace(/\x1b\[(?:0)?m/g, (match) => match + ansi)
37
- .replace(/\x1b\[49m/g, (match) => match + ansi);
38
- return ansi + restabilized + '\x1b[49m';
39
- }
40
30
  function centerText(text, width) {
41
31
  const vis = visibleWidth(text);
42
32
  if (vis >= width)
@@ -63,7 +53,7 @@ export function renderFramedBlock(options, theme) {
63
53
  const bg = options.applyBg === false ? undefined : bgColorFor(options.state);
64
54
  const paint = (line) => {
65
55
  const indented = inset === '' ? line : inset + line;
66
- return bg ? applyBg(indented, theme, bg, width) : padToWidth(indented, width);
56
+ return bg ? paintSurface(theme, bg, 'toolOutput', padToWidth(indented, width)) : padToWidth(indented, width);
67
57
  };
68
58
  const cap = h.repeat(3);
69
59
  const bar = (left, right, labelParts) => {
@@ -1 +1 @@
1
- {"version":3,"file":"box.js","sourceRoot":"","sources":["../../src/chrome/box.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"box.js","sourceRoot":"","sources":["../../src/chrome/box.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,28 @@
1
- /**
2
- * Reusable terminal code highlighting shared by the Markdown renderer and the
3
- * diff card. Resolves a language from a file path or a fenced-code info string,
4
- * paints keyword and literal tokens with the TUI theme, and exposes a multiline
5
- * batch seam so consecutive lines (a Markdown block or a run of diff context)
6
- * highlight through one call. No external syntax library is added: the tokenizer
7
- * is a small, dependency-free keyword and literal recognizer.
8
- *
9
- * The batch API accepts many lines and returns one painted string per input
10
- * line. The current tokenizer is line-scoped, so multi-line constructs (block
11
- * comments, template strings) are not yet recognized across breaks; the seam is
12
- * shaped so a real multi-line tokenizer can replace {@link highlightLine}
13
- * without changing callers. Output is pre-wrap and never depends on terminal
14
- * width, which keeps the {@link highlightCache} safe to reuse across wraps.
15
- * @module @agi-fans/dsh-tui
16
- */
1
+ /** Whole-block Prism tokenization painted with terminal theme colors before wrapping. */
2
+ import 'prismjs/components/prism-typescript.js';
3
+ import 'prismjs/components/prism-jsx.js';
4
+ import 'prismjs/components/prism-tsx.js';
5
+ import 'prismjs/components/prism-json.js';
6
+ import 'prismjs/components/prism-json5.js';
7
+ import 'prismjs/components/prism-python.js';
8
+ import 'prismjs/components/prism-bash.js';
9
+ import 'prismjs/components/prism-rust.js';
10
+ import 'prismjs/components/prism-go.js';
11
+ import 'prismjs/components/prism-java.js';
12
+ import 'prismjs/components/prism-c.js';
13
+ import 'prismjs/components/prism-cpp.js';
14
+ import 'prismjs/components/prism-csharp.js';
15
+ import 'prismjs/components/prism-powershell.js';
16
+ import 'prismjs/components/prism-yaml.js';
17
+ import 'prismjs/components/prism-toml.js';
18
+ import 'prismjs/components/prism-ini.js';
19
+ import 'prismjs/components/prism-sql.js';
20
+ import 'prismjs/components/prism-docker.js';
21
+ import 'prismjs/components/prism-makefile.js';
22
+ import 'prismjs/components/prism-diff.js';
23
+ import 'prismjs/components/prism-ruby.js';
24
+ import 'prismjs/components/prism-kotlin.js';
25
+ import 'prismjs/components/prism-swift.js';
17
26
  import { type MarkdownStyle } from './md-style.ts';
18
27
  import type { Theme } from './theme.ts';
19
28
  /** Canonical id for a supported language, or `undefined` when unrecognized. */
@@ -35,8 +44,7 @@ export declare function highlightCacheSize(): number;
35
44
  /** Total source characters retained across all cached entries. Intended for tests. */
36
45
  export declare function highlightCacheTotalChars(): number;
37
46
  /**
38
- * Paint every line of a code block. Supported languages tokenize keywords and
39
- * literals; unsupported or empty languages paint the whole run in the block
47
+ * Paint every line of a code block. Unknown languages paint the whole run in the block
40
48
  * color. Output is plain text when colors are off. Results for supported
41
49
  * languages are cached by theme, style, language, and source (never by width).
42
50
  * Blocks larger than the per-entry cap are highlighted but bypass the cache,
@@ -1,31 +1,50 @@
1
- /**
2
- * Reusable terminal code highlighting shared by the Markdown renderer and the
3
- * diff card. Resolves a language from a file path or a fenced-code info string,
4
- * paints keyword and literal tokens with the TUI theme, and exposes a multiline
5
- * batch seam so consecutive lines (a Markdown block or a run of diff context)
6
- * highlight through one call. No external syntax library is added: the tokenizer
7
- * is a small, dependency-free keyword and literal recognizer.
8
- *
9
- * The batch API accepts many lines and returns one painted string per input
10
- * line. The current tokenizer is line-scoped, so multi-line constructs (block
11
- * comments, template strings) are not yet recognized across breaks; the seam is
12
- * shaped so a real multi-line tokenizer can replace {@link highlightLine}
13
- * without changing callers. Output is pre-wrap and never depends on terminal
14
- * width, which keeps the {@link highlightCache} safe to reuse across wraps.
15
- * @module @agi-fans/dsh-tui
16
- */
1
+ /** Whole-block Prism tokenization painted with terminal theme colors before wrapping. */
2
+ import Prism from 'prismjs';
3
+ import 'prismjs/components/prism-typescript.js';
4
+ import 'prismjs/components/prism-jsx.js';
5
+ import 'prismjs/components/prism-tsx.js';
6
+ import 'prismjs/components/prism-json.js';
7
+ import 'prismjs/components/prism-json5.js';
8
+ import 'prismjs/components/prism-python.js';
9
+ import 'prismjs/components/prism-bash.js';
10
+ import 'prismjs/components/prism-rust.js';
11
+ import 'prismjs/components/prism-go.js';
12
+ import 'prismjs/components/prism-java.js';
13
+ import 'prismjs/components/prism-c.js';
14
+ import 'prismjs/components/prism-cpp.js';
15
+ import 'prismjs/components/prism-csharp.js';
16
+ import 'prismjs/components/prism-powershell.js';
17
+ import 'prismjs/components/prism-yaml.js';
18
+ import 'prismjs/components/prism-toml.js';
19
+ import 'prismjs/components/prism-ini.js';
20
+ import 'prismjs/components/prism-sql.js';
21
+ import 'prismjs/components/prism-docker.js';
22
+ import 'prismjs/components/prism-makefile.js';
23
+ import 'prismjs/components/prism-diff.js';
24
+ import 'prismjs/components/prism-ruby.js';
25
+ import 'prismjs/components/prism-kotlin.js';
26
+ import 'prismjs/components/prism-swift.js';
17
27
  import { ink, paintBase, paintFg } from "./md-style.js";
18
- /** Languages the built-in tokenizer recognizes. Aliases are accepted verbatim. */
19
- const SUPPORTED_LANGS = /^(?:js|jsx|ts|tsx|javascript|typescript|json|python|py|bash|sh|shell|rust|go|java|css|html)$/u;
20
- const KEYWORDS = /^(?:const|let|var|function|class|interface|type|return|if|else|for|while|async|await|import|export|from|def|fn|struct|package|func|true|false|null|undefined)$/u;
21
- const LITERALS = /^(?:\d+(?:\.\d+)?|"[^"]*"|'[^']*')$/u;
22
28
  /** True when a language token (fence info or resolved id) is highlightable. */
23
29
  export function isSupportedLanguage(lang) {
24
- return SUPPORTED_LANGS.test(lang.trim().toLowerCase());
30
+ return grammarFor(normalizeLanguage(lang)) !== undefined;
25
31
  }
26
32
  /** Lowercase and trim a fence info string or raw language token. */
27
33
  export function normalizeLanguage(lang) {
28
- return lang.trim().toLowerCase();
34
+ const token = lang.trim().split(/\s+/u)[0]?.toLowerCase() ?? '';
35
+ return Object.hasOwn(LANGUAGE_ALIASES, token) ? LANGUAGE_ALIASES[token] ?? token : token;
36
+ }
37
+ const LANGUAGE_ALIASES = {
38
+ javascript: 'js', typescript: 'ts', py: 'python', sh: 'bash', shell: 'bash', zsh: 'bash',
39
+ yml: 'yaml', html: 'html', xml: 'html', svg: 'html', csharp: 'csharp', cs: 'csharp',
40
+ 'c#': 'csharp', 'c++': 'cpp', pwsh: 'powershell', ps1: 'powershell', dockerfile: 'docker', patch: 'diff',
41
+ };
42
+ function grammarFor(lang) {
43
+ // Languages also contains utility functions; own object entries are grammars.
44
+ if (!Object.hasOwn(Prism.languages, lang))
45
+ return undefined;
46
+ const grammar = Prism.languages[lang];
47
+ return typeof grammar === 'object' ? grammar : undefined;
29
48
  }
30
49
  const PATH_EXTENSION = /\.([^.]+)$/u;
31
50
  /** Map common source extensions to a canonical, supported language id. */
@@ -42,6 +61,11 @@ const EXTENSION_TO_LANG = {
42
61
  java: 'java',
43
62
  css: 'css',
44
63
  html: 'html', htm: 'html',
64
+ xml: 'html', svg: 'html', vue: 'html',
65
+ json5: 'json5', yaml: 'yaml', yml: 'yaml', toml: 'toml', ini: 'ini',
66
+ c: 'c', h: 'c', cpp: 'cpp', cc: 'cpp', cxx: 'cpp', hpp: 'cpp', cs: 'csharp',
67
+ ps1: 'powershell', psm1: 'powershell', psd1: 'powershell', sql: 'sql',
68
+ rb: 'ruby', kt: 'kotlin', kts: 'kotlin', swift: 'swift', diff: 'diff', patch: 'diff',
45
69
  };
46
70
  /**
47
71
  * Resolve a highlightable language from a file path, or `undefined` when the
@@ -49,27 +73,71 @@ const EXTENSION_TO_LANG = {
49
73
  * tokenizer for context lines without parsing a unified diff.
50
74
  */
51
75
  export function languageFromPath(path) {
76
+ const name = path.split(/[\\/]/u).at(-1)?.toLowerCase() ?? '';
77
+ if (/^(?:dockerfile|containerfile)(?:\.|$)/u.test(name))
78
+ return 'docker';
79
+ if (/^(?:makefile|gnumakefile)$/u.test(name) || name.endsWith('.mk'))
80
+ return 'makefile';
81
+ if (name === '.bashrc' || name === '.bash_profile')
82
+ return 'bash';
52
83
  const match = PATH_EXTENSION.exec(path);
53
84
  const ext = match?.[1]?.toLowerCase();
54
85
  if (ext === undefined)
55
86
  return undefined;
56
- const lang = EXTENSION_TO_LANG[ext];
87
+ const lang = Object.hasOwn(EXTENSION_TO_LANG, ext) ? EXTENSION_TO_LANG[ext] : undefined;
57
88
  return lang === undefined ? undefined : lang;
58
89
  }
59
- /** Highlight a single line with the line-scoped tokenizer. */
60
- function highlightLine(row, theme, style) {
61
- return row.split(/(\s+|\b)/u).map(token => {
62
- if (KEYWORDS.test(token))
63
- return paintFg(theme, ink(style, 'mdKeyword'), token, style);
64
- if (LITERALS.test(token))
65
- return paintFg(theme, ink(style, 'mdCodeBlock'), token, style);
66
- return paintBase(theme, token, style);
67
- }).join('');
90
+ const TOKEN_COLORS = {
91
+ keyword: 'mdKeyword', boolean: 'mdKeyword', builtin: 'syntaxType', 'class-name': 'syntaxType',
92
+ comment: 'mdQuote', prolog: 'mdQuote', doctype: 'mdQuote',
93
+ string: 'syntaxString', char: 'syntaxString', regex: 'syntaxString', 'attr-value': 'syntaxString',
94
+ number: 'syntaxNumber', function: 'syntaxFunction', 'function-variable': 'syntaxFunction',
95
+ tag: 'mdKeyword', 'attr-name': 'syntaxType', property: 'mdCodeBlock', symbol: 'syntaxType',
96
+ deleted: 'toolDiffRemoved', inserted: 'toolDiffAdded', coord: 'mdLink', unchanged: 'toolDiffContext',
97
+ };
98
+ /** Split token leaves at line boundaries before painting, so SGR never bleeds between rows. */
99
+ function tokenizeLines(lines, grammar, theme, style) {
100
+ const result = [''];
101
+ const append = (text, color) => {
102
+ const pieces = text.split('\n');
103
+ for (let i = 0; i < pieces.length; i += 1) {
104
+ if (i > 0)
105
+ result.push('');
106
+ const at = result.length - 1;
107
+ const value = pieces[i] ?? '';
108
+ result[at] += color === undefined ? paintBase(theme, value, style) : paintFg(theme, ink(style, color), value, style);
109
+ }
110
+ };
111
+ const visit = (value, color) => {
112
+ if (typeof value === 'string') {
113
+ append(value, color);
114
+ return;
115
+ }
116
+ if (Array.isArray(value)) {
117
+ for (const token of value)
118
+ visit(token, color);
119
+ return;
120
+ }
121
+ const aliases = typeof value.alias === 'string' ? [value.alias] : value.alias ?? [];
122
+ const tokenColor = TOKEN_COLORS[value.type] ?? aliases.map(alias => TOKEN_COLORS[alias]).find(color => color !== undefined) ?? color;
123
+ visit(value.content, tokenColor);
124
+ };
125
+ visit(Prism.tokenize(lines.join('\n'), grammar));
126
+ // Preserve the batch contract even if an input row contains embedded newlines.
127
+ let cursor = 0;
128
+ return lines.map(line => {
129
+ const count = line.split('\n').length;
130
+ const painted = result.slice(cursor, cursor + count).join('\n');
131
+ cursor += count;
132
+ return painted;
133
+ });
68
134
  }
69
135
  /** Maximum cached highlight results before the oldest entry is evicted. */
70
136
  const HIGHLIGHT_CACHE_CAP = 32;
71
137
  /** A single block larger than this is highlighted but never cached. */
72
138
  const HIGHLIGHT_CACHE_MAX_ENTRY_CHARS = 64 * 1024;
139
+ /** Bound synchronous grammar work; larger source previews retain plain text. */
140
+ const HIGHLIGHT_MAX_SOURCE_CHARS = 256 * 1024;
73
141
  /** Total source characters retained across all cached entries before eviction. */
74
142
  const HIGHLIGHT_CACHE_TOTAL_BUDGET = 512 * 1024;
75
143
  const highlightCache = new Map();
@@ -112,8 +180,7 @@ function evictToBudget() {
112
180
  }
113
181
  }
114
182
  /**
115
- * Paint every line of a code block. Supported languages tokenize keywords and
116
- * literals; unsupported or empty languages paint the whole run in the block
183
+ * Paint every line of a code block. Unknown languages paint the whole run in the block
117
184
  * color. Output is plain text when colors are off. Results for supported
118
185
  * languages are cached by theme, style, language, and source (never by width).
119
186
  * Blocks larger than the per-entry cap are highlighted but bypass the cache,
@@ -121,13 +188,13 @@ function evictToBudget() {
121
188
  */
122
189
  export function highlightCodeLines(lines, language, theme, style) {
123
190
  const lang = normalizeLanguage(language);
124
- if (!theme.colors || lang === '' || !SUPPORTED_LANGS.test(lang)) {
191
+ const grammar = grammarFor(lang);
192
+ if (!theme.colors || grammar === undefined) {
125
193
  return lines.map(line => paintFg(theme, ink(style, 'mdCodeBlock'), line, style));
126
194
  }
127
195
  const source = lines.join('\n');
128
- if (source.length > HIGHLIGHT_CACHE_MAX_ENTRY_CHARS) {
129
- return lines.map(line => highlightLine(line, theme, style));
130
- }
196
+ if (source.length > HIGHLIGHT_MAX_SOURCE_CHARS)
197
+ return lines.map(line => paintFg(theme, ink(style, 'mdCodeBlock'), line, style));
131
198
  const key = cacheKey(theme, style, lang, source);
132
199
  const cached = highlightCache.get(key);
133
200
  if (cached !== undefined) {
@@ -136,7 +203,15 @@ export function highlightCodeLines(lines, language, theme, style) {
136
203
  highlightCache.set(key, cached);
137
204
  return [...cached.result];
138
205
  }
139
- const result = lines.map(line => highlightLine(line, theme, style));
206
+ let result;
207
+ try {
208
+ result = tokenizeLines(lines, grammar, theme, style);
209
+ }
210
+ catch {
211
+ return lines.map(line => paintFg(theme, ink(style, 'mdCodeBlock'), line, style));
212
+ }
213
+ if (source.length > HIGHLIGHT_CACHE_MAX_ENTRY_CHARS)
214
+ return result;
140
215
  const entry = { result, sourceChars: source.length };
141
216
  highlightCache.set(key, entry);
142
217
  cacheTotalChars += entry.sourceChars;
@@ -1 +1 @@
1
- {"version":3,"file":"code-highlight.js","sourceRoot":"","sources":["../../src/chrome/code-highlight.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-highlight.js","sourceRoot":"","sources":["../../src/chrome/code-highlight.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Align Harness FileDiff hunks and paint them as a terminal edit card.
3
- * Line LCS recovers context that the presenter stores on both sides; a 1:1
3
+ * Line alignment recovers context that the presenter stores on both sides; a 1:1
4
4
  * replacement also marks changed tokens with inverse video.
5
5
  */
6
6
  import type { FileDiff } from '@deepseek-ai/dsh-tools';
@@ -34,7 +34,6 @@ export declare function formatDiffStats(added: number, removed: number): string
34
34
  export declare function formatDiffRow(row: DiffRow): string;
35
35
  export declare function formatDiffRows(rows: readonly DiffRow[]): string[];
36
36
  /** Color a already-prefixed plain diff line (`- `, `+ `, ` `, path, or gap). */
37
- export declare function paintPrefixedDiffLine(line: string, theme: Theme): string;
38
37
  export declare function paintDiffRow(row: DiffRow, theme: Theme): string;
39
38
  export declare function paintDiffStats(added: number, removed: number, theme: Theme): string;
40
39
  /** Paint, expand tabs, wrap to the framed-body width, and close inverse and foreground per row. */