@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
package/lib/chrome/box.js CHANGED
@@ -3,10 +3,8 @@
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, paintSurface } from "./theme.js";
7
- import { expandTabs, padToWidth, padding, truncateToWidth, visibleWidth, wrapIndexed, wrapText, cursorOnWrapped } from "./width.js";
8
- import { formatRelativeAge } from "./relative-time.js";
9
- import { WELCOME_TIPS } from "./welcome-tips.js";
6
+ import { BOX, DEEPSEEK_LOGO, gradientLogo, paintSurface } from "./theme.js";
7
+ import { expandTabs, padToWidth, padding, truncateToWidth, visibleWidth, wrapIndexed, wrapTextStable, cursorOnWrapped } from "./width.js";
10
8
  function borderColorFor(state) {
11
9
  if (state === 'info')
12
10
  return 'border';
@@ -27,19 +25,6 @@ function bgColorFor(state) {
27
25
  return 'toolSuccessBg';
28
26
  return undefined;
29
27
  }
30
- function centerText(text, width) {
31
- const vis = visibleWidth(text);
32
- if (vis >= width)
33
- return truncateToWidth(text, width);
34
- const left = Math.floor((width - vis) / 2);
35
- return padding(left) + text + padding(width - vis - left);
36
- }
37
- function fitToWidth(text, width) {
38
- const vis = visibleWidth(text);
39
- if (vis > width)
40
- return truncateToWidth(text, width);
41
- return text + padding(width - vis);
42
- }
43
28
  /**
44
29
  * OMP `renderOutputBlock`: `╭─── header ────╮` / padded body / `╰────╯`.
45
30
  */
@@ -78,7 +63,7 @@ export function renderFramedBlock(options, theme) {
78
63
  body.push(bar(BOX.teeRight, BOX.teeLeft, [section.label]));
79
64
  }
80
65
  for (const raw of section.lines) {
81
- for (const wrapped of wrapText(expandTabs(raw, 8, 2), contentWidth)) {
66
+ for (const wrapped of wrapTextStable(expandTabs(raw, 8, 2), contentWidth)) {
82
67
  body.push(border(v) + ' ' + padToWidth(wrapped, contentWidth) + ' ' + border(v));
83
68
  }
84
69
  }
@@ -87,95 +72,110 @@ export function renderFramedBlock(options, theme) {
87
72
  const bottom = border(BOX.bottomLeft + h.repeat(bottomFill) + BOX.bottomRight);
88
73
  return [paint(top), ...body.map(paint), paint(bottom)];
89
74
  }
90
- /**
91
- * Two-column welcome card: gradient DeepSeek logo + tips, titled `app vversion`.
92
- */
75
+ /** Gap between the mark and the wordmark beside it. */
76
+ const LOCKUP_GAP = 3;
77
+ /** Startup logo, name, version and slogan, stacked when the terminal is narrow. */
93
78
  export function renderWelcome(options, theme) {
94
- const boxWidth = Math.max(0, options.width);
95
- if (boxWidth < 8)
79
+ const width = Math.max(0, options.width);
80
+ if (width < 8)
96
81
  return [];
97
- const dualContentWidth = boxWidth - 3;
98
- const minLeft = visibleWidth(DEEPSEEK_LOGO[0]) + 2;
99
- const minRight = 20;
100
- const baselineLeft = Math.min(26, Math.max(minLeft, Math.floor(dualContentWidth * 0.35)));
101
- const desiredLeft = Math.max(baselineLeft, visibleWidth(options.model) + 2);
102
- const showRight = dualContentWidth >= minRight + minLeft;
103
- const leftCol = showRight ? Math.min(desiredLeft, dualContentWidth - minRight) : boxWidth - 2;
104
- const rightCol = showRight ? Math.max(1, dualContentWidth - leftCol) : 0;
82
+ // One cell of breathing room: the mark's second row starts at column zero, so
83
+ // without it the logo is welded to the terminal edge while every other surface
84
+ // — the transcript, the composer, the footer — is inset or spaced.
85
+ const margin = width > 24 ? 1 : 0;
86
+ const room = width - margin;
105
87
  const logo = gradientLogo(theme, DEEPSEEK_LOGO);
106
- const effort = options.reasoningEffort ?? '';
107
- const leftLines = [
108
- centerText(theme.bold('Into the Unknown'), leftCol),
109
- '',
110
- ...logo.map((line) => centerText(line, leftCol)),
111
- '',
112
- centerText(theme.fg('muted', options.model), leftCol),
113
- ...(effort === '' ? [] : [centerText(theme.fg('dim', effort), leftCol)]),
114
- ];
115
- const tips = options.tips ?? WELCOME_TIPS.slice(0, 4);
116
- const tipKeyWidth = tips.reduce((width, tip) => Math.max(width, visibleWidth(tip.key)), 0);
117
- const tipLines = tips.map((tip) => {
118
- const key = fitToWidth(tip.key, tipKeyWidth);
119
- return ` ${theme.fg('dim', key)}${theme.fg('muted', ' ' + tip.text)}`;
120
- });
121
- const rightLines = showRight
122
- ? [
123
- ` ${theme.bold(theme.fg('accent', 'Tips'))}`,
124
- ...tipLines,
125
- '',
126
- ` ${theme.bold(theme.fg('accent', 'Recent sessions'))}`,
127
- ...(options.recentSessions === undefined || options.recentSessions.length === 0
128
- ? [` ${theme.fg('dim', 'No recent sessions')}`]
129
- : options.recentSessions.slice(0, 3).map((session) => {
130
- const age = ` (${formatRelativeAge(session.updatedAt ?? session.createdAt)})`;
131
- const labelWidth = Math.max(1, rightCol - 2 - visibleWidth(age));
132
- const label = truncateToWidth(session.title || session.id, labelWidth);
133
- return ` ${theme.fg('muted', label)}${theme.fg('dim', age)}`;
134
- })),
135
- ]
136
- : [];
137
- const chrome = (text) => theme.fg('dim', text);
138
- const h = chrome(BOX.horizontal);
139
- const v = chrome(BOX.vertical);
140
- const tl = chrome(BOX.topLeft);
141
- const tr = chrome(BOX.topRight);
142
- const bl = chrome(BOX.bottomLeft);
143
- const br = chrome(BOX.bottomRight);
144
- const teeUp = chrome(BOX.teeUp);
145
- const teeDown = chrome(BOX.teeDown);
146
- const teeLeft = chrome(BOX.teeLeft);
147
- const teeRight = chrome(BOX.teeRight);
148
- const title = ` ${options.appName} v${options.version} `;
149
- const titlePrefix = BOX.horizontal.repeat(3);
150
- const titleStyled = chrome(titlePrefix) + theme.fg('muted', title);
151
- const titleWidth = showRight ? leftCol : boxWidth - 2;
152
- const afterTitle = Math.max(0, titleWidth - visibleWidth(titlePrefix) - visibleWidth(title));
153
- const titleSegment = visibleWidth(titleStyled) >= titleWidth
154
- ? truncateToWidth(titleStyled, titleWidth)
155
- : titleStyled + chrome(BOX.horizontal.repeat(afterTitle));
156
- const lines = [showRight
157
- ? tl + titleSegment + teeDown + h.repeat(rightCol) + tr
158
- : tl + titleSegment + tr];
159
- const rows = showRight ? Math.max(leftLines.length, rightLines.length) : leftLines.length;
160
- const separatorRow = 1 + tipLines.length;
161
- for (let i = 0; i < rows; i += 1) {
162
- const left = fitToWidth(leftLines[i] ?? '', leftCol);
163
- if (showRight) {
164
- lines.push(i === separatorRow
165
- ? v + left + teeRight + h.repeat(rightCol) + teeLeft
166
- : v + left + v + fitToWidth(rightLines[i] ?? '', rightCol) + v);
167
- }
168
- else {
169
- lines.push(v + left + v);
170
- }
88
+ const logoWidth = Math.max(0, ...DEEPSEEK_LOGO.map((line) => visibleWidth(line)));
89
+ const name = theme.bold(theme.fg('text', options.appName));
90
+ const version = theme.fg('dim', `v${options.version}`);
91
+ // Name and slogan as one bloc. The version rides with the name rather than on
92
+ // its own row, so the bloc is two rows and centres cleanly against the mark.
93
+ const wordmark = [`${name} ${version}`, theme.fg('muted', 'Into the Unknown')];
94
+ const markWidth = Math.max(0, ...wordmark.map((line) => visibleWidth(line)));
95
+ const lockupWidth = logoWidth + LOCKUP_GAP + markWidth;
96
+ const left = ' '.repeat(margin);
97
+ if (lockupWidth <= room) {
98
+ // The wordmark sits on the mark's vertical centre. Centring by height is what
99
+ // makes the two read as one lockup; aligning their first rows left the name
100
+ // riding high above the mark's visual mass.
101
+ const offset = Math.max(0, Math.round((logo.length - wordmark.length) / 2));
102
+ const lockup = logo.map((logoRow, row) => {
103
+ const text = wordmark[row - offset];
104
+ return (left + (text === undefined ? logoRow : logoRow + ' '.repeat(LOCKUP_GAP) + text)).replace(/\s+$/u, '');
105
+ });
106
+ return lockup;
171
107
  }
172
- if (showRight) {
173
- lines.push(bl + h.repeat(leftCol) + teeUp + h.repeat(rightCol) + br);
174
- }
175
- else {
176
- lines.push(bl + h.repeat(leftCol) + br);
108
+ if (logoWidth <= room) {
109
+ // Too narrow for both: the wordmark goes under the mark, still centred, and
110
+ // the mark keeps its proportions.
111
+ return [
112
+ ...logo.map((line) => (left + line).replace(/\s+$/u, '')),
113
+ '',
114
+ ...wordmark.flatMap((line) => wrapTextStable(line, room))
115
+ .map((line) => (left + line).replace(/\s+$/u, '')),
116
+ ];
177
117
  }
178
- return lines;
118
+ // Narrower than the mark itself. A cropped logo is not the logo, so the header
119
+ // falls back to the wordmark alone.
120
+ return [
121
+ ...wordmark.flatMap((line) => wrapTextStable(line, room)).map((line) => line.replace(/\s+$/u, '')),
122
+ ];
123
+ }
124
+ /**
125
+ * Compose `╭─ ⠸ Deep Driving ─────────────────────────╮`.
126
+ *
127
+ * The border glyphs stay visible on both sides of the activity, so it reads as
128
+ * part of the frame rather than as a label floating on it. Width is spent in a
129
+ * fixed order — the activity label, then the spinner alone — so a narrow
130
+ * terminal still shows that work is happening.
131
+ *
132
+ * The frame carries the activity and nothing else. A cancel hint used to sit on
133
+ * the right of it, but `Esc` is the universal "stop this" key everywhere in the
134
+ * TUI; printing it on every running turn was a permanent reminder of something
135
+ * a reader already knows, and it pushed the access level off the right corner.
136
+ */
137
+ function topBorderWithActivity(options, parts) {
138
+ const { topLeft, topRight, status, trailing, fillWidth, border, theme, h } = parts;
139
+ const activity = options.activity;
140
+ // The frame's own width, measured from the pieces that will be printed. It used
141
+ // to be `fillWidth + 4`, a constant that belonged to the four-cell corner pair
142
+ // the composer no longer draws; every activity row then ran one cell long, and
143
+ // the renderer truncated the overflow — which is the right-hand rule, so it ate
144
+ // the access level standing there.
145
+ const width = fillWidth + visibleWidth(topLeft) + visibleWidth(topRight);
146
+ /**
147
+ * `head` and `tail` are measured, never estimated: the fill is whatever is
148
+ * left after them. Anything else either overflows the frame — which the
149
+ * renderer then truncates, eating the closing corner — or leaves a gap.
150
+ */
151
+ const assemble = (label) => {
152
+ const tail = trailing + topRight;
153
+ const head = topLeft + status + border(h + ' ') + label;
154
+ const rest = Math.max(0, width - visibleWidth(head) - visibleWidth(tail) - 1);
155
+ return head + border(' ' + h.repeat(rest)) + tail;
156
+ };
157
+ const paintLabel = (room) => {
158
+ if (room <= 0)
159
+ return '';
160
+ const head = activity.frame + ' ';
161
+ const labelRoom = room - visibleWidth(head);
162
+ if (labelRoom <= 0)
163
+ return truncateToWidth(activity.frame, room);
164
+ const painted = activity.shimmer === true
165
+ ? renderDrivingShimmer(theme, activity.label, options.spinnerFrame ?? 0)
166
+ : theme.fg('muted', activity.label);
167
+ return truncateToWidth(head + painted, room);
168
+ };
169
+ // Room for the activity is what the corners, the composer label and its
170
+ // separator leave behind.
171
+ const fixed = visibleWidth(topLeft) + visibleWidth(status) + 2 + 1 + visibleWidth(trailing) + visibleWidth(topRight);
172
+ const budget = Math.max(0, width - fixed);
173
+ // `⠸` plus a ten-cell label is the smallest activity worth printing; below
174
+ // that the spinner alone still says the turn is alive.
175
+ const labelMinimum = visibleWidth(activity.frame) + 1 + 10;
176
+ if (budget >= labelMinimum)
177
+ return assemble(paintLabel(budget));
178
+ return assemble(truncateToWidth(activity.frame, Math.max(0, budget)));
179
179
  }
180
180
  /**
181
181
  * Rounded editor: its label lives in the top border, input occupies one or more
@@ -184,14 +184,23 @@ export function renderWelcome(options, theme) {
184
184
  export function renderEditor(options, theme) {
185
185
  const width = Math.max(4, options.width);
186
186
  const padX = 1;
187
- const contentWidth = Math.max(1, width - 2 - padX * 2);
187
+ // No side borders: the composer is ruled above and below, the way pi's is. Two
188
+ // vertical glyphs cost two columns of every input row and add a second frame
189
+ // inside a screen that already has a status line under it.
190
+ const contentWidth = Math.max(1, width - padX * 2);
188
191
  const h = BOX.horizontal;
189
192
  const border = (text) => theme.fg(options.border, text);
190
- const topLeft = border(BOX.topLeft + h.repeat(padX));
191
- const topRight = border(h.repeat(padX) + BOX.topRight);
192
- const fillWidth = Math.max(0, width - visibleWidth(BOX.topLeft + h.repeat(padX)) - visibleWidth(h.repeat(padX) + BOX.topRight));
193
+ // The composer label yields to the activity: while a turn runs the border
194
+ // already says where the reader is, and a second label beside a spinner only
195
+ // pushes the words that matter out of the frame.
196
+ const label = options.activity === undefined ? options.status : '';
197
+ // `── ` before the label and one rule cell after the trailing badge, so the
198
+ // label reads as sitting in the rule rather than floating on it.
199
+ const topLeft = border(h.repeat(padX + 1));
200
+ const topRight = border(h);
201
+ const fillWidth = Math.max(0, width - visibleWidth(topLeft) - visibleWidth(topRight));
193
202
  const statusRight = options.statusRight ?? '';
194
- let status = options.status;
203
+ let status = label;
195
204
  let trailing = statusRight;
196
205
  if (visibleWidth(status) + visibleWidth(trailing) + (trailing === '' ? 0 : 1) > fillWidth) {
197
206
  const rightBudget = Math.max(0, fillWidth - visibleWidth(status) - (status === '' || fillWidth === 0 ? 0 : 1));
@@ -201,7 +210,11 @@ export function renderEditor(options, theme) {
201
210
  }
202
211
  }
203
212
  const statusFill = Math.max(0, fillWidth - visibleWidth(status) - visibleWidth(trailing));
204
- const top = topLeft + status + border(h.repeat(statusFill)) + trailing + topRight;
213
+ const top = options.activity === undefined
214
+ ? topLeft + status + border(h.repeat(statusFill)) + trailing + topRight
215
+ : topBorderWithActivity(options, {
216
+ topLeft, topRight, status, trailing, fillWidth, border, theme, h,
217
+ });
205
218
  const layout = wrapIndexed(options.input, contentWidth);
206
219
  const caret = cursorOnWrapped(layout, options.inputCursor, options.input);
207
220
  const rows = layout.length > 0 ? layout : [{ text: '', start: 0, end: 0 }];
@@ -217,16 +230,19 @@ export function renderEditor(options, theme) {
217
230
  body += theme.fg('dim', truncateToWidth(hint, budget));
218
231
  }
219
232
  const linePad = padding(Math.max(0, contentWidth - visibleWidth(body)));
220
- const left = border(BOX.vertical) + padding(padX);
221
- const right = padding(padX) + border(BOX.vertical);
222
- lines.push(left + body + linePad + right);
233
+ lines.push(padding(padX) + body + linePad + padding(padX));
234
+ }
235
+ const note = options.note === undefined || options.note === '' ? '' : theme.fg('dim', options.note);
236
+ if (note === '' || visibleWidth(note) + 4 > width) {
237
+ lines.push(border(h.repeat(width)));
238
+ }
239
+ else {
240
+ const head = border(h.repeat(padX + 1)) + note;
241
+ lines.push(head + border(' ' + h.repeat(Math.max(0, width - visibleWidth(head) - 1))));
223
242
  }
224
- const bottomLeft = border(BOX.bottomLeft + h.repeat(padX));
225
- const bottomRight = border(h.repeat(padX) + BOX.bottomRight);
226
- lines.push(bottomLeft + border(h.repeat(fillWidth)) + bottomRight);
227
243
  return {
228
244
  lines,
229
- cursor: { row: 1 + caret.row, column: 2 + caret.column },
245
+ cursor: { row: 1 + caret.row, column: 1 + caret.column },
230
246
  };
231
247
  }
232
248
  /** DeepSeek Harness-aligned label shown while the model is driving a turn. */
@@ -251,21 +267,4 @@ function renderDrivingShimmer(theme, text, spinnerFrame) {
251
267
  return theme.fg('muted', character);
252
268
  }).join('');
253
269
  }
254
- /** Activity row that sits above the editor while a turn is in flight. */
255
- export function renderWorking(theme, spinnerFrame, action = DEEP_DRIVING_LABEL, width, motion = 'full') {
256
- const frame = motion === 'off'
257
- ? SYMBOL.running
258
- : ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'][spinnerFrame % 10] ?? '⠋';
259
- const prefix = ' ' + theme.fg('accent', frame) + ' ';
260
- const hint = ' ' + theme.fg('dim', '⟨Ctrl+C: Interrupt⟩');
261
- const paintAction = (text) => action === DEEP_DRIVING_LABEL && motion === 'full'
262
- ? renderDrivingShimmer(theme, text, spinnerFrame)
263
- : theme.fg('muted', text);
264
- if (width === undefined)
265
- return [prefix + paintAction(action) + hint];
266
- const actionWidth = Math.max(1, width - visibleWidth(prefix) - visibleWidth(hint));
267
- if (actionWidth < 8)
268
- return [truncateToWidth(prefix + paintAction(action), width)];
269
- return [prefix + paintAction(truncateToWidth(action, actionWidth)) + hint];
270
- }
271
270
  //# sourceMappingURL=box.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"box.js","sourceRoot":"","sources":["../../src/chrome/box.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAA+B,MAAM,YAAY,CAAA;AAEhH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACnI,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAmB,MAAM,mBAAmB,CAAA;AAKjE,SAAS,cAAc,CAAC,KAA2B;IACjD,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,QAAQ,CAAA;IACrC,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,OAAO,CAAA;IACrC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACzC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAA;IACxC,OAAO,aAAa,CAAA;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAA2B;IAC7C,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,aAAa,CAAA;IAC3C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,eAAe,CAAA;IAC/C,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,eAAe,CAAA;IAC1C,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,UAAU,CAAC,IAAY,EAAE,KAAa;IAC7C,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;IAC9B,IAAI,GAAG,IAAI,KAAK;QAAE,OAAO,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACrD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IAC1C,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,CAAA;AAC3D,CAAC;AAED,SAAS,UAAU,CAAC,IAAY,EAAE,KAAa;IAC7C,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;IAC9B,IAAI,GAAG,GAAG,KAAK;QAAE,OAAO,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACpD,OAAO,IAAI,GAAG,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,CAAA;AACpC,CAAC;AAgBD;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAA2B,EAAE,KAAY;IACzE,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,CAAA;IAClC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;IACxC,MAAM,CAAC,GAAG,GAAG,CAAC,UAAU,CAAA;IACxB,MAAM,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAA;IACtB,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC3C,MAAM,MAAM,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAC9D,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC5E,MAAM,KAAK,GAAG,CAAC,IAAY,EAAU,EAAE;QACrC,MAAM,QAAQ,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAA;QACnD,OAAO,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IAC9G,CAAC,CAAA;IAED,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACvB,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,UAA2C,EAAU,EAAE;QAC/F,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;QACzE,MAAM,gBAAgB,GAAG,YAAY,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC,CAAA;QACtE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,GAAG,gBAAgB,EAAE,CAAC;YACpD,OAAO,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAA;QAChE,CAAC;QACD,uEAAuE;QACvE,wEAAwE;QACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,gBAAgB,CAAC,CAAA;QACtD,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAA;QAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAA;QACxD,OAAO,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAA;IACtF,CAAC,CAAA;IACD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAA;IAEhF,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;IAC3C,MAAM,IAAI,GAAa,EAAE,CAAA;IACzB,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,CAAA;IACrE,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QAClD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,KAAK,EAAE,CAAC,EAAE,CAAC;YACvE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAC5D,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAChC,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC;gBACpE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;YAClF,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;IACzC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,CAAA;IAC9E,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;AACxD,CAAC;AAeD;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,OAAuB,EAAE,KAAY;IACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;IAC3C,IAAI,QAAQ,GAAG,CAAC;QAAE,OAAO,EAAE,CAAA;IAC3B,MAAM,gBAAgB,GAAG,QAAQ,GAAG,CAAC,CAAA;IACrC,MAAM,OAAO,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAClD,MAAM,QAAQ,GAAG,EAAE,CAAA;IACnB,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;IACzF,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;IAC3E,MAAM,SAAS,GAAG,gBAAgB,IAAI,QAAQ,GAAG,OAAO,CAAA;IACxD,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,gBAAgB,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAA;IAC7F,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAExE,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;IAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,IAAI,EAAE,CAAA;IAC5C,MAAM,SAAS,GAAG;QAChB,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;QACnD,EAAE;QACF,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAChD,EAAE;QACF,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QACrD,GAAG,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;KACzE,CAAA;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACrD,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAC1F,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAChC,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;QAC5C,OAAO,IAAI,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAA;IACxE,CAAC,CAAC,CAAA;IACF,MAAM,UAAU,GAAG,SAAS;QAC1B,CAAC,CAAC;YACA,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,EAAE;YAC5C,GAAG,QAAQ;YACX,EAAE;YACF,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC,EAAE;YACvD,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;gBAC7E,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC,EAAE,CAAC;gBAC/C,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;oBACnD,MAAM,GAAG,GAAG,KAAK,iBAAiB,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,GAAG,CAAA;oBAC7E,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAA;oBAChE,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,CAAA;oBACtE,OAAO,IAAI,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAA;gBAC9D,CAAC,CAAC,CAAC;SACN;QACD,CAAC,CAAC,EAAE,CAAA;IAEN,MAAM,MAAM,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAC9D,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAChC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAC9B,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAC9B,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAC/B,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACjC,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;IAClC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IACnC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAErC,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,GAAG,CAAA;IACxD,MAAM,WAAW,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IAClE,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAA;IACrD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAA;IAC5F,MAAM,YAAY,GAAG,YAAY,CAAC,WAAW,CAAC,IAAI,UAAU;QAC1D,CAAC,CAAC,eAAe,CAAC,WAAW,EAAE,UAAU,CAAC;QAC1C,CAAC,CAAC,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;IAC3D,MAAM,KAAK,GAAa,CAAC,SAAS;YAChC,CAAC,CAAC,EAAE,GAAG,YAAY,GAAG,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE;YACvD,CAAC,CAAC,EAAE,GAAG,YAAY,GAAG,EAAE,CAAC,CAAA;IAE3B,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAA;IACzF,MAAM,YAAY,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAA;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAA;QACpD,IAAI,SAAS,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,YAAY;gBAC3B,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,OAAO;gBACpD,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;QACnE,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC;IACD,IAAI,SAAS,EAAE,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAA;IACtE,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;IACzC,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAuBD;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,OAAsB,EAAE,KAAY;IAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;IACxC,MAAM,IAAI,GAAG,CAAC,CAAA;IACd,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAA;IACtD,MAAM,CAAC,GAAG,GAAG,CAAC,UAAU,CAAA;IACxB,MAAM,MAAM,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAEvE,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;IACpD,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAA;IACtD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC/H,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAA;IAC7C,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAC3B,IAAI,QAAQ,GAAG,WAAW,CAAA;IAC1B,IAAI,YAAY,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,CAAC;QAC1F,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,KAAK,EAAE,IAAI,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9G,QAAQ,GAAG,eAAe,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;QACpD,IAAI,YAAY,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,CAAC;YAC1F,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC/G,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAA;IACzF,MAAM,GAAG,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,QAAQ,GAAG,QAAQ,CAAA;IAEjF,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;IACvD,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;IACzE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;IAE1E,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAA;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAA;QAChC,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAA;QAC/B,MAAM,UAAU,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAA;QACxE,IAAI,IAAI,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI,CAAA;QAClE,IAAI,UAAU,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YACpD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAA;YAC7D,IAAI,MAAM,GAAG,CAAC;gBAAE,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;QACxE,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACvE,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;QACjD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAClD,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,OAAO,GAAG,KAAK,CAAC,CAAA;IAC3C,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;IAC1D,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,CAAA;IAC5D,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,WAAW,CAAC,CAAA;IAElE,OAAO;QACL,KAAK;QACL,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE;KACzD,CAAA;AACH,CAAC;AAED,8EAA8E;AAC9E,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAA;AAEhD,iFAAiF;AACjF,SAAS,oBAAoB,CAAC,KAAY,EAAE,IAAY,EAAE,YAAoB;IAC5E,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IAC9B,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;IAC5B,MAAM,MAAM,GAAG,CAAC,CAAA;IAChB,MAAM,SAAS,GAAG,CAAC,YAAY,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAA;IAC5E,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;QACzC,IAAI,SAAS,KAAK,GAAG;YAAE,OAAO,SAAS,CAAA;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC,CAAA;QAC5C,IAAI,QAAQ,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAA;QACpE,IAAI,QAAQ,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QACxD,IAAI,QAAQ,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QACtD,OAAO,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IACrC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACb,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,aAAa,CAC3B,KAAY,EACZ,YAAoB,EACpB,MAAM,GAAG,kBAAkB,EAC3B,KAAc,EACd,SAAqB,MAAM;IAE3B,MAAM,KAAK,GAAG,MAAM,KAAK,KAAK;QAC5B,CAAC,CAAC,MAAM,CAAC,OAAO;QAChB,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,YAAY,GAAG,EAAE,CAAC,IAAI,GAAG,CAAA;IAChF,MAAM,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,GAAG,CAAA;IACpD,MAAM,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAA;IACzD,MAAM,WAAW,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,MAAM,KAAK,kBAAkB,IAAI,MAAM,KAAK,MAAM;QAC9F,CAAC,CAAC,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC;QACjD,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAC3B,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAA;IACrE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAA;IAClF,IAAI,WAAW,GAAG,CAAC;QAAE,OAAO,CAAC,eAAe,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA;IAClF,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;AAC5E,CAAC"}
1
+ {"version":3,"file":"box.js","sourceRoot":"","sources":["../../src/chrome/box.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,21 @@ export declare function clearHighlightCache(): void;
43
43
  export declare function highlightCacheSize(): number;
44
44
  /** Total source characters retained across all cached entries. Intended for tests. */
45
45
  export declare function highlightCacheTotalChars(): number;
46
+ /**
47
+ * Highlight a tool payload as one block.
48
+ *
49
+ * The important word is *block*: painting each line on its own gives the
50
+ * tokenizer a fragment with no opening construct, so `ls -la`'s first line
51
+ * highlights and the next four do not. One pass over the whole payload keeps
52
+ * every row in the same grammatical state, which is what makes a multi-line
53
+ * command look highlighted at all.
54
+ *
55
+ * A payload that already contains its own escapes is returned untouched: a
56
+ * shell command that is itself ANSI-coloured must not be re-lexed.
57
+ */
58
+ export declare function highlightToolText(text: string, language: string, theme: Theme): string[];
59
+ /** Languages a tool payload may be assumed to speak, from the tool or the subject file. */
60
+ export declare function toolPayloadLanguage(toolName: string, subjectPath?: string): string | undefined;
46
61
  /**
47
62
  * Paint every line of a code block. Unknown languages paint the whole run in the block
48
63
  * color. Output is plain text when colors are off. Results for supported
@@ -87,14 +87,35 @@ export function languageFromPath(path) {
87
87
  const lang = Object.hasOwn(EXTENSION_TO_LANG, ext) ? EXTENSION_TO_LANG[ext] : undefined;
88
88
  return lang === undefined ? undefined : lang;
89
89
  }
90
+ /**
91
+ * Token type → theme ink.
92
+ *
93
+ * Every entry here is a token the reader should be able to recognise without
94
+ * reading it. Prism emits many more types than this (operators, punctuation,
95
+ * parameters, selectors, interpolation), and an unmapped one used to paint
96
+ * nothing at all — the terminal's default ink — which is why a highlighted
97
+ * block read as mostly plain text with a few coloured words. Anything unmapped
98
+ * now falls back to the code ink instead, so a block is always coloured as code
99
+ * and never as prose.
100
+ */
90
101
  const TOKEN_COLORS = {
91
- keyword: 'mdKeyword', boolean: 'mdKeyword', builtin: 'syntaxType', 'class-name': 'syntaxType',
92
- comment: 'mdQuote', prolog: 'mdQuote', doctype: 'mdQuote',
102
+ keyword: 'mdKeyword', boolean: 'mdKeyword', builtin: 'syntaxType',
103
+ comment: 'syntaxComment', prolog: 'syntaxComment', doctype: 'syntaxComment', cdata: 'syntaxComment',
93
104
  string: 'syntaxString', char: 'syntaxString', regex: 'syntaxString', 'attr-value': 'syntaxString',
105
+ 'template-string': 'syntaxString', 'triple-quoted-string': 'syntaxString',
106
+ interpolation: 'mdCode', 'interpolation-punctuation': 'syntaxPunctuation',
94
107
  number: 'syntaxNumber', function: 'syntaxFunction', 'function-variable': 'syntaxFunction',
95
108
  tag: 'mdKeyword', 'attr-name': 'syntaxType', property: 'mdCodeBlock', symbol: 'syntaxType',
109
+ // Structure the reader scans for: names being declared, and the operators and
110
+ // punctuation that shape the statement around them.
111
+ 'class-name': 'syntaxType', 'literal-property': 'mdCodeBlock', parameter: 'toolOutput',
112
+ variable: 'toolOutput', constant: 'syntaxNumber', selector: 'syntaxType',
113
+ operator: 'syntaxPunctuation', punctuation: 'syntaxPunctuation',
114
+ namespace: 'syntaxType', 'builtin-string': 'syntaxString',
96
115
  deleted: 'toolDiffRemoved', inserted: 'toolDiffAdded', coord: 'mdLink', unchanged: 'toolDiffContext',
97
116
  };
117
+ /** Ink for a token nothing above names: still code, never the terminal default. */
118
+ const CODE_FALLBACK_INK = 'mdCodeBlock';
98
119
  /** Split token leaves at line boundaries before painting, so SGR never bleeds between rows. */
99
120
  function tokenizeLines(lines, grammar, theme, style) {
100
121
  const result = [''];
@@ -119,7 +140,10 @@ function tokenizeLines(lines, grammar, theme, style) {
119
140
  return;
120
141
  }
121
142
  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;
143
+ const tokenColor = TOKEN_COLORS[value.type]
144
+ ?? aliases.map(alias => TOKEN_COLORS[alias]).find(color => color !== undefined)
145
+ ?? color
146
+ ?? CODE_FALLBACK_INK;
123
147
  visit(value.content, tokenColor);
124
148
  };
125
149
  visit(Prism.tokenize(lines.join('\n'), grammar));
@@ -156,10 +180,10 @@ export function highlightCacheTotalChars() {
156
180
  return cacheTotalChars;
157
181
  }
158
182
  function themeFingerprint(theme) {
159
- return `${theme.name}|${theme.colors ? 1 : 0}|${theme.trueColor ? 1 : 0}`;
183
+ return theme.key;
160
184
  }
161
185
  function styleKey(style) {
162
- return style === undefined ? '-' : `${style.color ?? ''}|${style.italic ? 'i' : ''}`;
186
+ return style === undefined ? '-' : `${style.color ?? ''}|${style.italic ? 'i' : ''}${style.bold ? 'b' : ''}${style.strike ? 's' : ''}${style.underline ? 'u' : ''}`;
163
187
  }
164
188
  function cacheKey(theme, style, lang, source) {
165
189
  return `${themeFingerprint(theme)}\0${styleKey(style)}\0${lang}\0${source}`;
@@ -179,6 +203,38 @@ function evictToBudget() {
179
203
  }
180
204
  }
181
205
  }
206
+ /**
207
+ * Highlight a tool payload as one block.
208
+ *
209
+ * The important word is *block*: painting each line on its own gives the
210
+ * tokenizer a fragment with no opening construct, so `ls -la`'s first line
211
+ * highlights and the next four do not. One pass over the whole payload keeps
212
+ * every row in the same grammatical state, which is what makes a multi-line
213
+ * command look highlighted at all.
214
+ *
215
+ * A payload that already contains its own escapes is returned untouched: a
216
+ * shell command that is itself ANSI-coloured must not be re-lexed.
217
+ */
218
+ export function highlightToolText(text, language, theme) {
219
+ if (text === '')
220
+ return [''];
221
+ if (/\x1b\[/u.test(text))
222
+ return text.split('\n');
223
+ return highlightCodeLines(text.split('\n'), language, theme);
224
+ }
225
+ /** Languages a tool payload may be assumed to speak, from the tool or the subject file. */
226
+ export function toolPayloadLanguage(toolName, subjectPath) {
227
+ if (subjectPath !== undefined && subjectPath !== '') {
228
+ const fromPath = languageFromPath(subjectPath);
229
+ if (fromPath !== undefined)
230
+ return fromPath;
231
+ }
232
+ if (COMMAND_TOOLS.has(toolName))
233
+ return 'bash';
234
+ return undefined;
235
+ }
236
+ /** Tools whose payload is a shell command rather than prose. */
237
+ const COMMAND_TOOLS = new Set(['bash', 'shell', 'pwsh', 'exec', 'write_stdin']);
182
238
  /**
183
239
  * Paint every line of a code block. Unknown languages paint the whole run in the block
184
240
  * color. Output is plain text when colors are off. Results for supported
@@ -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,32 @@
1
1
  /** Shared presentation for successful slash-command output. */
2
2
  import { type Theme } from './theme.ts';
3
- /** Render a command result without the generic notice frame. */
4
- export declare function renderCommandOutput(command: string, text: string, theme: Theme, width: number): string[];
3
+ /** Rows of command output shown before the rest folds behind one line. */
4
+ export declare const COMMAND_OUTPUT_PREVIEW = 12;
5
+ /**
6
+ * Render a command result without the generic notice frame.
7
+ *
8
+ * A result longer than the preview folds after it, the same way a tool card does:
9
+ * the reader keeps the conversation and one line that says how much is behind it.
10
+ */
11
+ export declare function renderCommandOutput(command: string, text: string, theme: Theme, width: number, options?: {
12
+ surface?: 'aside';
13
+ expanded?: boolean;
14
+ expandKey?: string;
15
+ }): string[];
5
16
  /** Subtle separator used only between adjacent, different command surfaces. */
6
17
  export declare function renderCommandSeparator(theme: Theme, width: number): string;
18
+ /**
19
+ * A Shell line the reader ran with `!`.
20
+ *
21
+ * The command is one bold ink, the same as a tool card's command line, so a
22
+ * reader scanning the transcript never confuses what they asked for with what
23
+ * came back. Output streams in as it arrives and the card settles in place: no
24
+ * exit gesture, no reader to leave. A failing command keeps its output and adds
25
+ * the exit code, because that code is the reason the reader needs to look.
26
+ */
27
+ export declare function renderShell(block: {
28
+ command: string;
29
+ output: string;
30
+ status: 'running' | 'ok' | 'error';
31
+ code?: number;
32
+ }, theme: Theme, width: number): string[];