@agi-fans/dsh-tui 0.21.0 → 0.23.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 (389) hide show
  1. package/LICENSE +26 -0
  2. package/lib/CHANGELOG.md +356 -1
  3. package/lib/chrome/box.d.ts +32 -18
  4. package/lib/chrome/box.js +131 -132
  5. package/lib/chrome/box.js.map +1 -1
  6. package/lib/chrome/code-highlight.d.ts +15 -0
  7. package/lib/chrome/code-highlight.js +61 -5
  8. package/lib/chrome/code-highlight.js.map +1 -1
  9. package/lib/chrome/command-output.d.ts +28 -2
  10. package/lib/chrome/command-output.js +106 -4
  11. package/lib/chrome/command-output.js.map +1 -1
  12. package/lib/chrome/goal-bar.js +1 -1
  13. package/lib/chrome/goal-bar.js.map +1 -1
  14. package/lib/chrome/main-screen-renderer.d.ts +16 -0
  15. package/lib/chrome/main-screen-renderer.js +57 -8
  16. package/lib/chrome/main-screen-renderer.js.map +1 -1
  17. package/lib/chrome/markdown.d.ts +3 -3
  18. package/lib/chrome/markdown.js +101 -32
  19. package/lib/chrome/markdown.js.map +1 -1
  20. package/lib/chrome/md-style.d.ts +5 -2
  21. package/lib/chrome/md-style.js +13 -4
  22. package/lib/chrome/md-style.js.map +1 -1
  23. package/lib/chrome/relative-time.d.ts +17 -0
  24. package/lib/chrome/relative-time.js +36 -0
  25. package/lib/chrome/relative-time.js.map +1 -1
  26. package/lib/chrome/renderer.d.ts +37 -1
  27. package/lib/chrome/renderer.js.map +1 -1
  28. package/lib/chrome/secret-mask.d.ts +35 -0
  29. package/lib/chrome/secret-mask.js +180 -0
  30. package/lib/chrome/secret-mask.js.map +1 -0
  31. package/lib/chrome/status-config.d.ts +161 -51
  32. package/lib/chrome/status-config.js +237 -126
  33. package/lib/chrome/status-config.js.map +1 -1
  34. package/lib/chrome/status-line.d.ts +6 -5
  35. package/lib/chrome/status-line.js +110 -68
  36. package/lib/chrome/status-line.js.map +1 -1
  37. package/lib/chrome/terminal-colors.d.ts +85 -0
  38. package/lib/chrome/terminal-colors.js +230 -0
  39. package/lib/chrome/terminal-colors.js.map +1 -0
  40. package/lib/chrome/terminal-images.d.ts +9 -1
  41. package/lib/chrome/terminal-images.js +27 -4
  42. package/lib/chrome/terminal-images.js.map +1 -1
  43. package/lib/chrome/theme.d.ts +38 -10
  44. package/lib/chrome/theme.js +537 -542
  45. package/lib/chrome/theme.js.map +1 -1
  46. package/lib/chrome/tool-renderers.js +69 -13
  47. package/lib/chrome/tool-renderers.js.map +1 -1
  48. package/lib/chrome/tools-list.d.ts +1 -4
  49. package/lib/chrome/tools-list.js +1 -41
  50. package/lib/chrome/tools-list.js.map +1 -1
  51. package/lib/commands/auth-account.d.ts +9 -0
  52. package/lib/commands/auth-account.js +202 -0
  53. package/lib/commands/auth-account.js.map +1 -0
  54. package/lib/commands/auth-ids.d.ts +25 -0
  55. package/lib/commands/auth-ids.js +27 -0
  56. package/lib/commands/auth-ids.js.map +1 -0
  57. package/lib/commands/auth-input.d.ts +34 -0
  58. package/lib/commands/auth-input.js +96 -0
  59. package/lib/commands/auth-input.js.map +1 -0
  60. package/lib/commands/auth-providers.d.ts +39 -0
  61. package/lib/commands/auth-providers.js +125 -0
  62. package/lib/commands/auth-providers.js.map +1 -0
  63. package/lib/commands/auth.d.ts +12 -20
  64. package/lib/commands/auth.js +264 -627
  65. package/lib/commands/auth.js.map +1 -1
  66. package/lib/commands/btw.d.ts +13 -1
  67. package/lib/commands/btw.js +37 -104
  68. package/lib/commands/btw.js.map +1 -1
  69. package/lib/commands/diff.js +23 -112
  70. package/lib/commands/diff.js.map +1 -1
  71. package/lib/commands/export.d.ts +0 -1
  72. package/lib/commands/export.js +98 -57
  73. package/lib/commands/export.js.map +1 -1
  74. package/lib/commands/files.d.ts +17 -1
  75. package/lib/commands/files.js +68 -114
  76. package/lib/commands/files.js.map +1 -1
  77. package/lib/commands/integrations.d.ts +12 -1
  78. package/lib/commands/integrations.js +120 -23
  79. package/lib/commands/integrations.js.map +1 -1
  80. package/lib/commands/jobs-browser.d.ts +3 -0
  81. package/lib/commands/jobs-browser.js +152 -0
  82. package/lib/commands/jobs-browser.js.map +1 -0
  83. package/lib/commands/jobs.d.ts +12 -8
  84. package/lib/commands/jobs.js +65 -14
  85. package/lib/commands/jobs.js.map +1 -1
  86. package/lib/commands/model.d.ts +3 -0
  87. package/lib/commands/model.js +223 -114
  88. package/lib/commands/model.js.map +1 -1
  89. package/lib/commands/open-external.d.ts +2 -0
  90. package/lib/commands/open-external.js +19 -0
  91. package/lib/commands/open-external.js.map +1 -0
  92. package/lib/commands/permission.js +70 -60
  93. package/lib/commands/permission.js.map +1 -1
  94. package/lib/commands/plugins.js +427 -68
  95. package/lib/commands/plugins.js.map +1 -1
  96. package/lib/commands/schedule-catalog.d.ts +12 -0
  97. package/lib/commands/schedule-catalog.js +41 -0
  98. package/lib/commands/schedule-catalog.js.map +1 -0
  99. package/lib/commands/schedule-history.d.ts +4 -0
  100. package/lib/commands/schedule-history.js +62 -0
  101. package/lib/commands/schedule-history.js.map +1 -0
  102. package/lib/commands/schedule.d.ts +16 -9
  103. package/lib/commands/schedule.js +226 -162
  104. package/lib/commands/schedule.js.map +1 -1
  105. package/lib/commands/session-configuration.d.ts +3 -0
  106. package/lib/commands/session-configuration.js +58 -32
  107. package/lib/commands/session-configuration.js.map +1 -1
  108. package/lib/commands/session.js +118 -97
  109. package/lib/commands/session.js.map +1 -1
  110. package/lib/commands/terminal.d.ts +14 -8
  111. package/lib/commands/terminal.js +32 -185
  112. package/lib/commands/terminal.js.map +1 -1
  113. package/lib/commands/trajectory.js +4 -1
  114. package/lib/commands/trajectory.js.map +1 -1
  115. package/lib/definition.d.ts +226 -29
  116. package/lib/definition.js.map +1 -1
  117. package/lib/index.d.ts +2 -0
  118. package/lib/index.js +2 -0
  119. package/lib/index.js.map +1 -1
  120. package/lib/input/actions.d.ts +51 -0
  121. package/lib/input/actions.js +123 -0
  122. package/lib/input/actions.js.map +1 -0
  123. package/lib/input/composer-files.d.ts +2 -0
  124. package/lib/input/composer-files.js +13 -3
  125. package/lib/input/composer-files.js.map +1 -1
  126. package/lib/input/editor.d.ts +0 -10
  127. package/lib/input/editor.js +11 -9
  128. package/lib/input/editor.js.map +1 -1
  129. package/lib/input/image-paste.d.ts +12 -1
  130. package/lib/input/image-paste.js +86 -1
  131. package/lib/input/image-paste.js.map +1 -1
  132. package/lib/input/key-test.d.ts +5 -0
  133. package/lib/input/key-test.js +19 -0
  134. package/lib/input/key-test.js.map +1 -0
  135. package/lib/input/keybindings-config.d.ts +12 -5
  136. package/lib/input/keybindings-config.js +30 -57
  137. package/lib/input/keybindings-config.js.map +1 -1
  138. package/lib/input/keys.d.ts +18 -0
  139. package/lib/input/keys.js +42 -4
  140. package/lib/input/keys.js.map +1 -1
  141. package/lib/input/wheel-scroll.d.ts +46 -0
  142. package/lib/input/wheel-scroll.js +69 -0
  143. package/lib/input/wheel-scroll.js.map +1 -0
  144. package/lib/locale/index.d.ts +6 -0
  145. package/lib/locale/index.js +32 -0
  146. package/lib/locale/index.js.map +1 -0
  147. package/lib/locale/prompt.d.ts +4 -0
  148. package/lib/locale/prompt.js +24 -0
  149. package/lib/locale/prompt.js.map +1 -0
  150. package/lib/locale/zh.d.ts +1114 -0
  151. package/lib/locale/zh.js +1115 -0
  152. package/lib/locale/zh.js.map +1 -0
  153. package/lib/prompt-intents.d.ts +186 -0
  154. package/lib/prompt-intents.js +131 -0
  155. package/lib/prompt-intents.js.map +1 -0
  156. package/lib/runtime/account-settings.d.ts +18 -0
  157. package/lib/runtime/account-settings.js +241 -0
  158. package/lib/runtime/account-settings.js.map +1 -0
  159. package/lib/runtime/agent-profile.d.ts +3 -3
  160. package/lib/runtime/agent-profile.js +4 -4
  161. package/lib/runtime/agent-profile.js.map +1 -1
  162. package/lib/runtime/btw-policy.js +2 -1
  163. package/lib/runtime/btw-policy.js.map +1 -1
  164. package/lib/runtime/btw.js +1 -2
  165. package/lib/runtime/btw.js.map +1 -1
  166. package/lib/runtime/cancellable.d.ts +75 -0
  167. package/lib/runtime/cancellable.js +76 -0
  168. package/lib/runtime/cancellable.js.map +1 -0
  169. package/lib/runtime/composer-images.d.ts +2 -2
  170. package/lib/runtime/composer-images.js +7 -6
  171. package/lib/runtime/composer-images.js.map +1 -1
  172. package/lib/runtime/composer-shell.d.ts +17 -2
  173. package/lib/runtime/composer-shell.js +133 -41
  174. package/lib/runtime/composer-shell.js.map +1 -1
  175. package/lib/runtime/file-browser.d.ts +19 -0
  176. package/lib/runtime/file-browser.js +291 -0
  177. package/lib/runtime/file-browser.js.map +1 -0
  178. package/lib/runtime/file-recovery-review.d.ts +0 -1
  179. package/lib/runtime/file-recovery-review.js +29 -30
  180. package/lib/runtime/file-recovery-review.js.map +1 -1
  181. package/lib/runtime/file-recovery-store.js +5 -1
  182. package/lib/runtime/file-recovery-store.js.map +1 -1
  183. package/lib/runtime/file-review.d.ts +6 -9
  184. package/lib/runtime/file-review.js +92 -8
  185. package/lib/runtime/file-review.js.map +1 -1
  186. package/lib/runtime/help-reader.d.ts +12 -0
  187. package/lib/runtime/help-reader.js +50 -0
  188. package/lib/runtime/help-reader.js.map +1 -0
  189. package/lib/runtime/hook-settings.d.ts +2 -2
  190. package/lib/runtime/human-interaction.js +1 -1
  191. package/lib/runtime/human-interaction.js.map +1 -1
  192. package/lib/runtime/model-catalog-editor.d.ts +12 -0
  193. package/lib/runtime/model-catalog-editor.js +215 -0
  194. package/lib/runtime/model-catalog-editor.js.map +1 -0
  195. package/lib/runtime/model-settings.d.ts +11 -0
  196. package/lib/runtime/model-settings.js +404 -0
  197. package/lib/runtime/model-settings.js.map +1 -0
  198. package/lib/runtime/plain-tui.d.ts +2 -0
  199. package/lib/runtime/plain-tui.js +7 -1
  200. package/lib/runtime/plain-tui.js.map +1 -1
  201. package/lib/runtime/plugin-settings.d.ts +4 -1
  202. package/lib/runtime/plugin-settings.js +170 -92
  203. package/lib/runtime/plugin-settings.js.map +1 -1
  204. package/lib/runtime/prompt-browser.d.ts +9 -0
  205. package/lib/runtime/prompt-browser.js +19 -0
  206. package/lib/runtime/prompt-browser.js.map +1 -0
  207. package/lib/runtime/provider-local.d.ts +80 -38
  208. package/lib/runtime/provider-local.js +2280 -683
  209. package/lib/runtime/provider-local.js.map +1 -1
  210. package/lib/runtime/reference-reader.d.ts +15 -0
  211. package/lib/runtime/reference-reader.js +78 -0
  212. package/lib/runtime/reference-reader.js.map +1 -0
  213. package/lib/runtime/runner.js +42 -39
  214. package/lib/runtime/runner.js.map +1 -1
  215. package/lib/runtime/session-runtime.js +1 -1
  216. package/lib/runtime/session-runtime.js.map +1 -1
  217. package/lib/runtime/settings-draft.d.ts +21 -0
  218. package/lib/runtime/settings-draft.js +166 -0
  219. package/lib/runtime/settings-draft.js.map +1 -0
  220. package/lib/runtime/settings-preferences.js +1 -1
  221. package/lib/runtime/settings-preferences.js.map +1 -1
  222. package/lib/runtime/startup-notices.d.ts +0 -1
  223. package/lib/runtime/startup-notices.js +35 -4
  224. package/lib/runtime/startup-notices.js.map +1 -1
  225. package/lib/runtime/subagent-model-selection.js +2 -1
  226. package/lib/runtime/subagent-model-selection.js.map +1 -1
  227. package/lib/runtime/subagent-settings.d.ts +14 -0
  228. package/lib/runtime/subagent-settings.js +288 -0
  229. package/lib/runtime/subagent-settings.js.map +1 -0
  230. package/lib/runtime/terminal-modes.d.ts +47 -0
  231. package/lib/runtime/terminal-modes.js +86 -0
  232. package/lib/runtime/terminal-modes.js.map +1 -0
  233. package/lib/runtime/terminal-notifications.d.ts +6 -5
  234. package/lib/runtime/terminal-notifications.js +17 -16
  235. package/lib/runtime/terminal-notifications.js.map +1 -1
  236. package/lib/runtime/terminal-probe.d.ts +38 -0
  237. package/lib/runtime/terminal-probe.js +46 -0
  238. package/lib/runtime/terminal-probe.js.map +1 -0
  239. package/lib/runtime/terminal-session.d.ts +57 -0
  240. package/lib/runtime/terminal-session.js +164 -0
  241. package/lib/runtime/terminal-session.js.map +1 -0
  242. package/lib/runtime/tool-presentation.js.map +1 -1
  243. package/lib/runtime/tool-reader.d.ts +5 -0
  244. package/lib/runtime/tool-reader.js +27 -0
  245. package/lib/runtime/tool-reader.js.map +1 -0
  246. package/lib/runtime/web-settings.d.ts +14 -0
  247. package/lib/runtime/web-settings.js +339 -0
  248. package/lib/runtime/web-settings.js.map +1 -0
  249. package/lib/session/command-attachments.d.ts +17 -0
  250. package/lib/session/command-attachments.js +50 -0
  251. package/lib/session/command-attachments.js.map +1 -0
  252. package/lib/session/context-diagnostics.d.ts +16 -0
  253. package/lib/session/context-diagnostics.js +15 -0
  254. package/lib/session/context-diagnostics.js.map +1 -1
  255. package/lib/session/external-agents.d.ts +3 -1
  256. package/lib/session/external-agents.js +35 -10
  257. package/lib/session/external-agents.js.map +1 -1
  258. package/lib/session/generation-continuation.d.ts +11 -0
  259. package/lib/session/generation-continuation.js +34 -0
  260. package/lib/session/generation-continuation.js.map +1 -0
  261. package/lib/session/goal-controls.d.ts +5 -0
  262. package/lib/session/goal-controls.js +81 -0
  263. package/lib/session/goal-controls.js.map +1 -0
  264. package/lib/session/interaction-adapter.d.ts +7 -3
  265. package/lib/session/interaction-adapter.js +125 -54
  266. package/lib/session/interaction-adapter.js.map +1 -1
  267. package/lib/session/message-queue.d.ts +2 -0
  268. package/lib/session/message-queue.js +102 -17
  269. package/lib/session/message-queue.js.map +1 -1
  270. package/lib/session/package-metadata.d.ts +8 -0
  271. package/lib/session/package-metadata.js +8 -0
  272. package/lib/session/package-metadata.js.map +1 -1
  273. package/lib/session/pending-inputs.d.ts +30 -0
  274. package/lib/session/pending-inputs.js +183 -0
  275. package/lib/session/pending-inputs.js.map +1 -0
  276. package/lib/session/session-configuration.js +1 -1
  277. package/lib/session/session-configuration.js.map +1 -1
  278. package/lib/session/session-controller.d.ts +42 -24
  279. package/lib/session/session-controller.js +534 -106
  280. package/lib/session/session-controller.js.map +1 -1
  281. package/lib/session/session-tree.d.ts +2 -0
  282. package/lib/session/session-tree.js +2 -0
  283. package/lib/session/session-tree.js.map +1 -1
  284. package/lib/session/subagent-roster.d.ts +1 -0
  285. package/lib/session/subagent-roster.js +16 -5
  286. package/lib/session/subagent-roster.js.map +1 -1
  287. package/lib/session/subagent-tracker.d.ts +2 -0
  288. package/lib/session/subagent-tracker.js +18 -0
  289. package/lib/session/subagent-tracker.js.map +1 -1
  290. package/lib/session/tui-settings.d.ts +48 -15
  291. package/lib/session/tui-settings.js +75 -34
  292. package/lib/session/tui-settings.js.map +1 -1
  293. package/lib/session/workflow-projection.d.ts +2 -1
  294. package/lib/session/workflow-projection.js +34 -4
  295. package/lib/session/workflow-projection.js.map +1 -1
  296. package/lib/views/autocomplete.d.ts +28 -9
  297. package/lib/views/autocomplete.js +90 -70
  298. package/lib/views/autocomplete.js.map +1 -1
  299. package/lib/views/context-overview.d.ts +4 -0
  300. package/lib/views/context-overview.js +43 -0
  301. package/lib/views/context-overview.js.map +1 -0
  302. package/lib/views/copy-targets.d.ts +18 -15
  303. package/lib/views/copy-targets.js +35 -60
  304. package/lib/views/copy-targets.js.map +1 -1
  305. package/lib/views/document-reader.d.ts +10 -1
  306. package/lib/views/document-reader.js +76 -9
  307. package/lib/views/document-reader.js.map +1 -1
  308. package/lib/views/event-views.js +71 -17
  309. package/lib/views/event-views.js.map +1 -1
  310. package/lib/views/file-actions.js +21 -0
  311. package/lib/views/file-actions.js.map +1 -1
  312. package/lib/views/file-browser.d.ts +98 -0
  313. package/lib/views/file-browser.js +120 -0
  314. package/lib/views/file-browser.js.map +1 -0
  315. package/lib/views/history-search.js +19 -25
  316. package/lib/views/history-search.js.map +1 -1
  317. package/lib/views/hotkey-format.d.ts +3 -2
  318. package/lib/views/hotkey-format.js +4 -3
  319. package/lib/views/hotkey-format.js.map +1 -1
  320. package/lib/views/hotkeys.d.ts +7 -1
  321. package/lib/views/hotkeys.js +59 -37
  322. package/lib/views/hotkeys.js.map +1 -1
  323. package/lib/views/list-navigation.d.ts +62 -0
  324. package/lib/views/list-navigation.js +73 -0
  325. package/lib/views/list-navigation.js.map +1 -0
  326. package/lib/views/list-view.d.ts +99 -0
  327. package/lib/views/list-view.js +170 -0
  328. package/lib/views/list-view.js.map +1 -0
  329. package/lib/views/prompt-selector.d.ts +54 -4
  330. package/lib/views/prompt-selector.js +349 -162
  331. package/lib/views/prompt-selector.js.map +1 -1
  332. package/lib/views/session-files.d.ts +1 -2
  333. package/lib/views/session-files.js +1 -11
  334. package/lib/views/session-files.js.map +1 -1
  335. package/lib/views/settings-list.d.ts +16 -9
  336. package/lib/views/settings-list.js +171 -315
  337. package/lib/views/settings-list.js.map +1 -1
  338. package/lib/views/tool-actions.d.ts +16 -0
  339. package/lib/views/tool-actions.js +29 -0
  340. package/lib/views/tool-actions.js.map +1 -0
  341. package/lib/views/trajectory-timeline.d.ts +71 -0
  342. package/lib/views/trajectory-timeline.js +143 -0
  343. package/lib/views/trajectory-timeline.js.map +1 -0
  344. package/lib/views/trajectory.d.ts +36 -4
  345. package/lib/views/trajectory.js +842 -190
  346. package/lib/views/trajectory.js.map +1 -1
  347. package/lib/views/transcript-render.d.ts +132 -38
  348. package/lib/views/transcript-render.js +792 -260
  349. package/lib/views/transcript-render.js.map +1 -1
  350. package/lib/views/transcript-search.d.ts +39 -6
  351. package/lib/views/transcript-search.js +46 -11
  352. package/lib/views/transcript-search.js.map +1 -1
  353. package/lib/views/transcript-types.d.ts +64 -5
  354. package/lib/views/transcript-types.js +23 -11
  355. package/lib/views/transcript-types.js.map +1 -1
  356. package/lib/views/workflow.d.ts +16 -0
  357. package/lib/views/workflow.js +42 -0
  358. package/lib/views/workflow.js.map +1 -0
  359. package/package.json +74 -90
  360. package/lib/chrome/welcome-tips.d.ts +0 -11
  361. package/lib/chrome/welcome-tips.js +0 -44
  362. package/lib/chrome/welcome-tips.js.map +0 -1
  363. package/lib/commands/advisor.d.ts +0 -15
  364. package/lib/commands/advisor.js +0 -200
  365. package/lib/commands/advisor.js.map +0 -1
  366. package/lib/commands/loop.d.ts +0 -52
  367. package/lib/commands/loop.js +0 -307
  368. package/lib/commands/loop.js.map +0 -1
  369. package/lib/commands/rate.d.ts +0 -33
  370. package/lib/commands/rate.js +0 -212
  371. package/lib/commands/rate.js.map +0 -1
  372. package/lib/commands/steer.d.ts +0 -5
  373. package/lib/commands/steer.js +0 -24
  374. package/lib/commands/steer.js.map +0 -1
  375. package/lib/commands/worktree.d.ts +0 -5
  376. package/lib/commands/worktree.js +0 -103
  377. package/lib/commands/worktree.js.map +0 -1
  378. package/lib/runtime/terminal-reader.d.ts +0 -11
  379. package/lib/runtime/terminal-reader.js +0 -87
  380. package/lib/runtime/terminal-reader.js.map +0 -1
  381. package/lib/session/steering.d.ts +0 -3
  382. package/lib/session/steering.js +0 -9
  383. package/lib/session/steering.js.map +0 -1
  384. package/lib/views/agent-hub.d.ts +0 -32
  385. package/lib/views/agent-hub.js +0 -209
  386. package/lib/views/agent-hub.js.map +0 -1
  387. package/lib/views/copy-selector.d.ts +0 -54
  388. package/lib/views/copy-selector.js +0 -170
  389. package/lib/views/copy-selector.js.map +0 -1
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { Lexer, Marked } from 'marked';
7
7
  import { BOX, SYMBOL } from "./theme.js";
8
- import { highlightCodeLines } from "./code-highlight.js";
8
+ import { highlightCodeLines, normalizeLanguage } from "./code-highlight.js";
9
9
  import { mathLayout } from "./math.js";
10
10
  import { mermaidLines } from "./mermaid.js";
11
11
  import { ink, openBase, paintBase, paintBold, paintFg, paintItalic, paintStrike } from "./md-style.js";
@@ -104,6 +104,7 @@ const mathInline = {
104
104
  };
105
105
  const parser = new Marked();
106
106
  parser.use({ gfm: true, breaks: false, extensions: [mathBlock, mathInline] });
107
+ const proseParser = new Marked({ gfm: true, breaks: false });
107
108
  function normalizeHtml(source) {
108
109
  return source
109
110
  .replace(/<br\s*\/?>/giu, ' \n')
@@ -188,10 +189,6 @@ function clampNesting(source) {
188
189
  // A math span can contain a previously masked code span.
189
190
  return restore(restore(bounded));
190
191
  }
191
- function isProseCodespan(text) {
192
- const words = text.trim().split(/\s+/u).filter(Boolean);
193
- return words.length >= 4 || (words.length >= 2 && /[,;]/.test(text));
194
- }
195
192
  function renderMath(token, theme, style, width) {
196
193
  const rows = token.pending === true || style?.mathMode === 'source' ? undefined : mathLayout(token.text, token.display === true && width !== undefined, width);
197
194
  return (rows ?? token.raw.trimEnd().split('\n')).map(row => paintFg(theme, ink(style, 'mdCode'), row, style));
@@ -214,11 +211,21 @@ function hyperlink(label, href, theme) {
214
211
  }
215
212
  function paintLink(label, href, theme, style) {
216
213
  const target = href.startsWith('www.') ? 'https://' + href : href;
217
- const styled = theme.fg(ink(style, 'mdLink'), theme.underline(label));
214
+ const styled = paintBase(theme, label, { ...style, color: ink(style, 'mdLink'), underline: true });
218
215
  const clickable = hyperlink(styled, target, theme);
219
- if (label === href || label === target)
216
+ if (stripAnsi(label) === href || stripAnsi(label) === target)
220
217
  return clickable;
221
- const url = hyperlink(theme.fg(ink(style, 'mdLinkUrl'), '(' + href + ')'), target, theme);
218
+ let address = href;
219
+ if (theme.compactLinks && href.length > 48) {
220
+ try {
221
+ const parsed = new URL(target);
222
+ if ((parsed.protocol === 'https:' || parsed.protocol === 'http:') && parsed.username === '' && parsed.password === '') {
223
+ address = parsed.host + (parsed.pathname !== '/' || parsed.search !== '' || parsed.hash !== '' ? '/…' : '');
224
+ }
225
+ }
226
+ catch { /* Relative and non-URL targets keep their full address. */ }
227
+ }
228
+ const url = hyperlink(paintBase(theme, '(' + address + ')', { ...style, color: ink(style, 'mdLinkUrl') }), target, theme);
222
229
  return clickable + ' ' + url;
223
230
  }
224
231
  function flattenText(text) {
@@ -263,22 +270,27 @@ function renderInlineTokens(tokens, theme, style, depth = 0) {
263
270
  : renderInlineTokens(token.tokens, theme, style, depth + 1);
264
271
  break;
265
272
  case 'strong':
266
- out += paintBold(theme, renderInlineTokens(token.tokens, theme, style, depth + 1), style);
273
+ out += paintBold(theme, renderInlineTokens(token.tokens, theme, { ...style, bold: true }, depth + 1), style);
267
274
  break;
268
275
  case 'em':
269
- out += paintItalic(theme, renderInlineTokens(token.tokens, theme, style, depth + 1), style);
276
+ out += paintItalic(theme, renderInlineTokens(token.tokens, theme, { ...style, italic: true }, depth + 1), style);
270
277
  break;
271
278
  case 'del':
272
- out += paintStrike(theme, renderInlineTokens(token.tokens, theme, style, depth + 1), style);
279
+ out += paintStrike(theme, renderInlineTokens(token.tokens, theme, { ...style, strike: true }, depth + 1), style);
273
280
  break;
274
281
  case 'codespan':
275
- out += paintFg(theme, ink(style, isProseCodespan(token.text) ? 'muted' : 'mdCode'), token.text, style);
282
+ // Every codespan is one thing — "this is code" — so it gets one ink. The
283
+ // two-word threshold used to send a quoted phrase to `muted`, which made
284
+ // inline code grey in one length and violet in another for no reading
285
+ // benefit; a phrase long enough to be quietened is quietened by the prose
286
+ // around it, not by losing its identity.
287
+ out += paintFg(theme, ink(style, 'mdCode'), token.text, style);
276
288
  break;
277
289
  case 'link':
278
- out += paintLink(renderInlineTokens(token.tokens, theme, style, depth + 1) || token.text, token.href, theme, style) + openBase(theme, style);
290
+ out += paintLink(renderInlineTokens(token.tokens, theme, { ...style, color: ink(style, 'mdLink'), underline: true }, depth + 1) || token.text, token.href, theme, style) + openBase(theme, style);
279
291
  break;
280
292
  case 'image':
281
- out += paintLink(renderInlineTokens(token.tokens, theme, style, depth + 1) || token.text || 'image', token.href, theme, style) + openBase(theme, style);
293
+ out += paintLink(renderInlineTokens(token.tokens, theme, { ...style, color: ink(style, 'mdLink'), underline: true }, depth + 1) || token.text || 'image', token.href, theme, style) + openBase(theme, style);
282
294
  break;
283
295
  case 'br':
284
296
  out += '\n';
@@ -319,8 +331,8 @@ function flowLines(token, theme, width, style, depth = 0) {
319
331
  return renderBlock(token, theme, width, 0, style, depth);
320
332
  }
321
333
  const tableSegmenter = new Intl.Segmenter(undefined, { granularity: 'grapheme' });
322
- function renderTable(token, theme, width) {
323
- const renderCell = (cell) => expandTabs(renderInlineTokens(cell.tokens, theme), 8, 0);
334
+ function renderTable(token, theme, width, style) {
335
+ const renderCell = (cell) => expandTabs(renderInlineTokens(cell.tokens, theme, style), 8, 0);
324
336
  const header = token.header.map(renderCell);
325
337
  const rows = token.rows.map(row => row.map(renderCell));
326
338
  const cols = header.length;
@@ -420,10 +432,11 @@ function renderTable(token, theme, width) {
420
432
  ...paintRow(header.map((cell, i) => wrapCell(cell, i)), true),
421
433
  join(BOX.teeRight, fills, BOX.cross, BOX.teeLeft),
422
434
  ];
423
- for (let rowIndex = 0; rowIndex < rows.length; rowIndex += 1) {
424
- const row = rows[rowIndex] ?? [];
425
- lines.push(...paintRow(row.map((cell, i) => wrapCell(cell, i)), false));
426
- if (rowIndex < rows.length - 1) {
435
+ const paintedRows = rows.map(row => paintRow(row.map((cell, i) => wrapCell(cell, i)), false));
436
+ for (let rowIndex = 0; rowIndex < paintedRows.length; rowIndex += 1) {
437
+ const row = paintedRows[rowIndex];
438
+ lines.push(...row);
439
+ if (rowIndex < paintedRows.length - 1 && (row.length > 1 || paintedRows[rowIndex + 1].length > 1)) {
427
440
  lines.push(join(BOX.teeRight, fills, BOX.cross, BOX.teeLeft));
428
441
  }
429
442
  }
@@ -451,7 +464,9 @@ function renderCode(token, theme, width, style) {
451
464
  return diagram.map(row => rail + row);
452
465
  }
453
466
  const highlighted = highlightCodeLines(rows, lang, theme, style);
454
- const lines = [];
467
+ const label = normalizeLanguage(lang).replace(/[^a-z0-9#+.-]/gu, '');
468
+ const lines = label !== '' && visibleWidth(label) <= inner
469
+ ? [rail + paintFg(theme, ink(style, 'dim'), label, style)] : [];
455
470
  for (let i = 0; i < rows.length; i += 1) {
456
471
  const body = highlighted[i] ?? '';
457
472
  // Tabs resolve against the column the rail already occupies.
@@ -522,8 +537,11 @@ function renderListItem(item, marker, theme, width, level, style, depth = 0) {
522
537
  return lines;
523
538
  }
524
539
  function renderBlockquote(token, theme, width, style, depth = 0) {
525
- const inner = renderTokens(token.tokens, theme, Math.max(1, width - 2), 0, style, depth);
526
- return inner.map(line => theme.fg('borderMuted', '│ ') + line);
540
+ // A rail carries the quotation; its readable ink also survives inline resets.
541
+ const quote = { ...style, color: ink(style, 'mdQuote') };
542
+ const inner = renderTokens(token.tokens, theme, Math.max(1, width - 2), 0, quote, depth);
543
+ const railInk = ink(style, 'mdQuoteBorder');
544
+ return inner.map(line => theme.fg(railInk, '│ ') + (theme.colors ? theme.fg(ink(style, 'mdQuote'), line) : line));
527
545
  }
528
546
  function renderBlock(token, theme, width, listLevel, style, depth = 0) {
529
547
  if (isMathToken(token)) {
@@ -534,9 +552,17 @@ function renderBlock(token, theme, width, listLevel, style, depth = 0) {
534
552
  case 'space':
535
553
  return [''];
536
554
  case 'hr':
537
- return [theme.fg('borderMuted', '─'.repeat(Math.max(1, width)))];
538
- case 'heading':
539
- return wrapStyled(theme.bold(theme.fg(style?.color === 'thinkingText' ? 'thinkingText' : 'mdHeading', renderInlineTokens(token.tokens, theme, style, depth + 1))), width);
555
+ // A rule is a break in the document, so it is drawn in the rule ink rather
556
+ // than the border ink used for component frames.
557
+ return [theme.fg('mdHr', '─'.repeat(Math.max(1, width)))];
558
+ case 'heading': {
559
+ const depthLevel = token.depth;
560
+ const headingStyle = { ...style, color: ink(style, 'mdHeading'), bold: true };
561
+ const body = renderInlineTokens(token.tokens, theme, headingStyle, depth + 1);
562
+ const marker = paintFg(theme, ink(style, 'dim'), '#'.repeat(depthLevel) + ' ', style);
563
+ const painted = marker + theme.bold(theme.fg(headingStyle.color, body));
564
+ return wrapStyled(painted, width);
565
+ }
540
566
  case 'paragraph':
541
567
  case 'text':
542
568
  return flowLines(token, theme, width, style, depth + 1);
@@ -547,7 +573,7 @@ function renderBlock(token, theme, width, listLevel, style, depth = 0) {
547
573
  case 'code':
548
574
  return renderCode(token, theme, width, style);
549
575
  case 'table':
550
- return renderTable(token, theme, width);
576
+ return renderTable(token, theme, width, style);
551
577
  case 'html':
552
578
  {
553
579
  const stripped = normalizeHtml(token.text).trim();
@@ -582,12 +608,55 @@ function renderTokens(tokens, theme, width, listLevel, style, depth = 0) {
582
608
  }
583
609
  return lines;
584
610
  }
585
- /**
586
- * Render markdown to display lines already wrapped to `width`.
587
- */
611
+ // Keep resolved block layouts, not source prefixes: a later reference definition
612
+ // can change an earlier paragraph without changing that paragraph's raw text.
613
+ // The lexer still sees the complete document; its resolved token is the key.
614
+ const blockLayouts = new Map();
615
+ const MAX_BLOCK_LAYOUTS = 4096;
616
+ const MAX_BLOCK_LAYOUT_CHARS = 2 * 1024 * 1024;
617
+ let blockLayoutChars = 0;
618
+ /** Render a complete document without retaining a second copy of its blocks. */
588
619
  export function renderMarkdown(source, theme, width, style) {
589
- const tokens = parser.lexer(prepare(source));
590
- const lines = renderTokens(tokens, theme, width, 0, style);
620
+ return renderDocument(source, theme, width, style, false);
621
+ }
622
+ /** Reuse resolved block layouts while an assistant response is still growing. */
623
+ export function renderStreamingMarkdown(source, theme, width, style) {
624
+ return renderDocument(source, theme, width, style, true);
625
+ }
626
+ function renderDocument(source, theme, width, style, streaming) {
627
+ const prepared = prepare(source);
628
+ // Extension start hooks scan the remaining source at each block. Most prose
629
+ // has no math delimiters at all and can use the identical base grammar.
630
+ const lexer = prepared.includes('$') || prepared.includes('\\(') || prepared.includes('\\[') ? parser : proseParser;
631
+ const tokens = lexer.lexer(prepared);
632
+ const context = JSON.stringify([theme.key, width, style]);
633
+ const lines = [];
634
+ for (const token of tokens) {
635
+ if (!streaming) {
636
+ lines.push(...renderTokens([token], theme, width, 0, style));
637
+ continue;
638
+ }
639
+ const key = context + JSON.stringify(token);
640
+ const cached = blockLayouts.get(key);
641
+ if (cached !== undefined) {
642
+ blockLayouts.delete(key);
643
+ blockLayouts.set(key, cached);
644
+ lines.push(...cached.lines);
645
+ continue;
646
+ }
647
+ const rendered = renderTokens([token], theme, width, 0, style);
648
+ const size = key.length + rendered.reduce((sum, row) => sum + row.length, 0);
649
+ if (size <= MAX_BLOCK_LAYOUT_CHARS) {
650
+ while (blockLayouts.size >= MAX_BLOCK_LAYOUTS || blockLayoutChars + size > MAX_BLOCK_LAYOUT_CHARS) {
651
+ const first = blockLayouts.keys().next().value;
652
+ blockLayoutChars -= blockLayouts.get(first).size;
653
+ blockLayouts.delete(first);
654
+ }
655
+ blockLayouts.set(key, { lines: rendered, size });
656
+ blockLayoutChars += size;
657
+ }
658
+ lines.push(...rendered);
659
+ }
591
660
  while (lines.length > 0 && lines[lines.length - 1] === '')
592
661
  lines.pop();
593
662
  while (lines[0] === '')
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/chrome/markdown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/chrome/markdown.ts"],"names":[],"mappings":"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"}
@@ -14,13 +14,16 @@ import type { Theme, ThemeColor } from './theme.ts';
14
14
  export interface MarkdownStyle {
15
15
  color?: ThemeColor;
16
16
  italic?: boolean;
17
+ bold?: boolean;
18
+ strike?: boolean;
19
+ underline?: boolean;
17
20
  /** Source mode preserves formula delimiters and commands. */
18
21
  mathMode?: import('./math.ts').MathMode;
19
22
  mermaidMode?: import('./mermaid.ts').MermaidMode;
20
23
  }
21
- /** Reopen the surrounding style after a nested span closes foreground or italic. */
24
+ /** Reopen the surrounding style after a nested span closes its color or emphasis. */
22
25
  export declare function openBase(theme: Theme, style: MarkdownStyle | undefined): string;
23
- /** Keep thinking traces on one dark ink so headings, code, and links do not light up. */
26
+ /** Keep thinking traces on one quiet ink so headings, code, and links do not light up. */
24
27
  export declare function ink(style: MarkdownStyle | undefined, color: ThemeColor): ThemeColor;
25
28
  /** Paint one unstyled run so a later 39m cannot leak default ink. */
26
29
  export declare function paintBase(theme: Theme, text: string, style?: MarkdownStyle): string;
@@ -9,14 +9,17 @@
9
9
  * import cycle that the renderer's ownership of the highlighter would create).
10
10
  * @module @agi-fans/dsh-tui
11
11
  */
12
- /** Reopen the surrounding style after a nested span closes foreground or italic. */
12
+ /** Reopen the surrounding style after a nested span closes its color or emphasis. */
13
13
  export function openBase(theme, style) {
14
14
  if (!theme.colors || style === undefined)
15
15
  return '';
16
- return (style.italic === true ? '\x1b[3m' : '')
16
+ return (style.bold === true ? '\x1b[1m' : '')
17
+ + (style.strike === true ? '\x1b[9m' : '')
18
+ + (style.underline === true ? '\x1b[4m' : '')
19
+ + (style.italic === true ? '\x1b[3m' : '')
17
20
  + (style.color === undefined ? '' : theme.getFgAnsi(style.color));
18
21
  }
19
- /** Keep thinking traces on one dark ink so headings, code, and links do not light up. */
22
+ /** Keep thinking traces on one quiet ink so headings, code, and links do not light up. */
20
23
  export function ink(style, color) {
21
24
  return style?.color === 'thinkingText' ? 'thinkingText' : color;
22
25
  }
@@ -25,6 +28,12 @@ export function paintBase(theme, text, style) {
25
28
  if (text === '' || style === undefined || !theme.colors)
26
29
  return text;
27
30
  let out = text;
31
+ if (style.bold === true)
32
+ out = theme.bold(out);
33
+ if (style.strike === true)
34
+ out = theme.strikethrough(out);
35
+ if (style.underline === true)
36
+ out = theme.underline(out);
28
37
  if (style.color !== undefined)
29
38
  out = theme.fg(style.color, out);
30
39
  if (style.italic === true)
@@ -35,7 +44,7 @@ export function paintBase(theme, text, style) {
35
44
  export function paintFg(theme, color, text, style) {
36
45
  if (!theme.colors)
37
46
  return text;
38
- return theme.getFgAnsi(color) + text + '\x1b[39m' + openBase(theme, style);
47
+ return openBase(theme, style) + theme.getFgAnsi(color) + text + '\x1b[39m' + openBase(theme, style);
39
48
  }
40
49
  /** Paint a bold run and restore the surrounding style after its 22m. */
41
50
  export function paintBold(theme, text, style) {
@@ -1 +1 @@
1
- {"version":3,"file":"md-style.js","sourceRoot":"","sources":["../../src/chrome/md-style.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAaH,oFAAoF;AACpF,MAAM,UAAU,QAAQ,CAAC,KAAY,EAAE,KAAgC;IACrE,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAA;IACnD,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;UAC3C,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;AACrE,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,GAAG,CAAC,KAAgC,EAAE,KAAiB;IACrE,OAAO,KAAK,EAAE,KAAK,KAAK,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAA;AACjE,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,SAAS,CAAC,KAAY,EAAE,IAAY,EAAE,KAAqB;IACzE,IAAI,IAAI,KAAK,EAAE,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IACpE,IAAI,GAAG,GAAG,IAAI,CAAA;IACd,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;QAAE,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAC/D,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI;QAAE,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAClD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,OAAO,CAAC,KAAY,EAAE,KAAiB,EAAE,IAAY,EAAE,KAAqB;IAC1F,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IAC9B,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,UAAU,GAAG,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAC5E,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,SAAS,CAAC,KAAY,EAAE,IAAY,EAAE,KAAqB;IACzE,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IAC9B,OAAO,UAAU,IAAI,UAAU,GAAG,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAC1D,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,WAAW,CAAC,KAAY,EAAE,IAAY,EAAE,KAAqB;IAC3E,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IAC9B,OAAO,UAAU,IAAI,UAAU,GAAG,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAC1D,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,WAAW,CAAC,KAAY,EAAE,IAAY,EAAE,KAAqB;IAC3E,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IAC9B,OAAO,UAAU,IAAI,UAAU,GAAG,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAC1D,CAAC"}
1
+ {"version":3,"file":"md-style.js","sourceRoot":"","sources":["../../src/chrome/md-style.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,19 @@
1
1
  /** Compact English relative time shared by session discovery surfaces. */
2
2
  export declare function formatRelativeAge(timestamp: number, now?: number): string;
3
+ /**
4
+ * Compact English delay until an instant still to come: `in 12m`, `in 2h`.
5
+ *
6
+ * The mirrored question of {@link formatRelativeAge}, and it exists because a
7
+ * reminder is read forward: "next 2026-10-27 03:15 UTC" makes the reader do the
8
+ * subtraction that the surface already knows how to do. A timestamp that has
9
+ * already passed is reported as `due now` rather than as a negative delay, since
10
+ * a reminder whose time arrived is late, not early.
11
+ */
12
+ export declare function formatRelativeUntil(timestamp: number, now?: number): string;
13
+ /**
14
+ * Compact elapsed duration: `45s`, `16m51s`, `1h 5m`.
15
+ *
16
+ * Rounds once at the printed precision, so a value just under a boundary cannot
17
+ * read as the next unit.
18
+ */
19
+ export declare function formatElapsed(ms: number): string;
@@ -8,4 +8,40 @@ export function formatRelativeAge(timestamp, now = Date.now()) {
8
8
  const hours = Math.floor(minutes / 60);
9
9
  return hours < 24 ? `${hours}h ago` : `${Math.floor(hours / 24)}d ago`;
10
10
  }
11
+ /**
12
+ * Compact English delay until an instant still to come: `in 12m`, `in 2h`.
13
+ *
14
+ * The mirrored question of {@link formatRelativeAge}, and it exists because a
15
+ * reminder is read forward: "next 2026-10-27 03:15 UTC" makes the reader do the
16
+ * subtraction that the surface already knows how to do. A timestamp that has
17
+ * already passed is reported as `due now` rather than as a negative delay, since
18
+ * a reminder whose time arrived is late, not early.
19
+ */
20
+ export function formatRelativeUntil(timestamp, now = Date.now()) {
21
+ const seconds = Math.floor((timestamp - now) / 1000);
22
+ if (seconds <= 0)
23
+ return 'due now';
24
+ if (seconds < 60)
25
+ return `in ${seconds}s`;
26
+ const minutes = Math.floor(seconds / 60);
27
+ if (minutes < 60)
28
+ return `in ${minutes}m`;
29
+ const hours = Math.floor(minutes / 60);
30
+ return hours < 24 ? `in ${hours}h` : `in ${Math.floor(hours / 24)}d`;
31
+ }
32
+ /**
33
+ * Compact elapsed duration: `45s`, `16m51s`, `1h 5m`.
34
+ *
35
+ * Rounds once at the printed precision, so a value just under a boundary cannot
36
+ * read as the next unit.
37
+ */
38
+ export function formatElapsed(ms) {
39
+ const seconds = Math.max(0, Math.round(ms / 1000));
40
+ if (seconds < 60)
41
+ return `${seconds}s`;
42
+ const minutes = Math.floor(seconds / 60);
43
+ if (minutes < 60)
44
+ return `${minutes}m ${seconds % 60}s`;
45
+ return `${Math.floor(minutes / 60)}h ${minutes % 60}m`;
46
+ }
11
47
  //# sourceMappingURL=relative-time.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"relative-time.js","sourceRoot":"","sources":["../../src/chrome/relative-time.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAE1E,MAAM,UAAU,iBAAiB,CAAC,SAAiB,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IACnE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC,GAAG,MAAM,CAAC,CAAA;IACjE,IAAI,OAAO,GAAG,CAAC;QAAE,OAAO,UAAU,CAAA;IAClC,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,OAAO,OAAO,CAAA;IAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAA;IACtC,OAAO,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,OAAO,CAAA;AACxE,CAAC"}
1
+ {"version":3,"file":"relative-time.js","sourceRoot":"","sources":["../../src/chrome/relative-time.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAE1E,MAAM,UAAU,iBAAiB,CAAC,SAAiB,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IACnE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC,GAAG,MAAM,CAAC,CAAA;IACjE,IAAI,OAAO,GAAG,CAAC;QAAE,OAAO,UAAU,CAAA;IAClC,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,OAAO,OAAO,CAAA;IAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAA;IACtC,OAAO,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,OAAO,CAAA;AACxE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAiB,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IACrE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;IACpD,IAAI,OAAO,IAAI,CAAC;QAAE,OAAO,SAAS,CAAA;IAClC,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,MAAM,OAAO,GAAG,CAAA;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAA;IACxC,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,MAAM,OAAO,GAAG,CAAA;IACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAA;IACtC,OAAO,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,CAAA;AACtE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,EAAU;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;IAClD,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,OAAO,GAAG,CAAA;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAA;IACxC,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,OAAO,KAAK,OAAO,GAAG,EAAE,GAAG,CAAA;IACvD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,KAAK,OAAO,GAAG,EAAE,GAAG,CAAA;AACxD,CAAC"}
@@ -8,6 +8,8 @@
8
8
  */
9
9
  /** Transcript viewport after the height clip (OMP ScrollView equivalent). */
10
10
  export interface TranscriptScroll {
11
+ /** The left disclosure gutter is clickable; titles remain selectable text. */
12
+ disclosures?: readonly TranscriptDisclosure[];
11
13
  /** Actual painted file-bearing spans, in document rows; folded-away calls are absent. */
12
14
  fileRegions?: readonly TranscriptFileRegion[];
13
15
  /** First body row shown (0 = top of the welcome/transcript). */
@@ -54,6 +56,19 @@ export interface TranscriptScroll {
54
56
  */
55
57
  blockDrawStarts?: readonly number[];
56
58
  }
59
+ export interface TranscriptDisclosure {
60
+ /** Menu button on a selected tool title, in document cells. */
61
+ actionColumn?: number;
62
+ /** End of the painted detail span, only for expanded tools. */
63
+ detailEnd?: number;
64
+ row: number;
65
+ column: number;
66
+ width: number;
67
+ block: number;
68
+ key: string;
69
+ /** Present only on the folded whole-turn header. */
70
+ group?: string;
71
+ }
57
72
  export interface TranscriptFileRegion {
58
73
  start: number;
59
74
  end: number;
@@ -82,9 +97,16 @@ export interface DocumentRows {
82
97
  }
83
98
  /** One display frame: exact lines plus an optional final cursor position. */
84
99
  export interface Frame {
100
+ /** Selection buttons on the composer rule; row is relative to the full frame. */
101
+ selectionActions?: readonly {
102
+ row: number;
103
+ column: number;
104
+ width: number;
105
+ action: 'copy' | 'quote';
106
+ }[];
85
107
  /** Trusted graphics resource placed separately from text. */
86
108
  image?: import('./terminal-images.ts').ImagePlacement;
87
- /** Viewport-only prompt labels, active within half-open document row ranges. */
109
+ /** Viewport-only context labels, active within half-open document row ranges. */
88
110
  stickyHeaders?: readonly {
89
111
  start: number;
90
112
  end: number;
@@ -119,6 +141,20 @@ export interface Frame {
119
141
  /** Clipped transcript window; omitted when the view has no body budget. */
120
142
  transcript?: TranscriptScroll;
121
143
  /** Full-screen prompt review document scroll state, when one is active. */
144
+ promptActions?: readonly {
145
+ row: number;
146
+ column: number;
147
+ width: number;
148
+ index: number;
149
+ key?: string;
150
+ }[];
151
+ promptChoices?: readonly {
152
+ row: number;
153
+ column: number;
154
+ width: number;
155
+ value: string;
156
+ index: number;
157
+ }[];
122
158
  promptDocument?: {
123
159
  start: number;
124
160
  maxStart: number;
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/chrome/renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAgIH,MAAM,cAAc,GAAG,+DAA+D,CAAA;AACtF,MAAM,cAAc,GAAG,oCAAoC,CAAA;AAE3D,wEAAwE;AACxE,wEAAwE;AACxE,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAA;AAC/C,MAAM,oBAAoB,GAAG,MAAM,CAAA;AAEnC,qFAAqF;AACrF,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACvC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAA;IACvC,MAAM,KAAK,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI;SACzC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC;SACrB,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC;SACrB,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;IAC9B,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;QACjD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACzB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YACnI,MAAM,IAAI,QAAQ,CAAA;QACpB,CAAC;QACD,MAAM,GAAG,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAA;IACxC,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;IAClD,IAAI,aAAa,CAAC,IAAI,IAAI,oBAAoB;QAAE,aAAa,CAAC,KAAK,EAAE,CAAA;IACrE,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IAChC,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/chrome/renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAsJH,MAAM,cAAc,GAAG,+DAA+D,CAAA;AACtF,MAAM,cAAc,GAAG,oCAAoC,CAAA;AAE3D,wEAAwE;AACxE,wEAAwE;AACxE,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAA;AAC/C,MAAM,oBAAoB,GAAG,MAAM,CAAA;AAEnC,qFAAqF;AACrF,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACvC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAA;IACvC,MAAM,KAAK,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI;SACzC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC;SACrB,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC;SACrB,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;IAC9B,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;QACjD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACzB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YACnI,MAAM,IAAI,QAAQ,CAAA;QACpB,CAAC;QACD,MAAM,GAAG,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAA;IACxC,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;IAClD,IAAI,aAAa,CAAC,IAAI,IAAI,oBAAoB;QAAE,aAAa,CAAC,KAAK,EAAE,CAAA;IACrE,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IAChC,OAAO,MAAM,CAAA;AACf,CAAC"}