@sagmans/dsh-tui 0.12.1 → 0.14.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 (489) hide show
  1. package/.agents/skills/dsh-tui-dogfood/SKILL.md +18 -2
  2. package/.agents/skills/dsh-tui-dogfood/references/home-state.md +4 -4
  3. package/.agents/skills/dsh-tui-dogfood/scripts/clone-links.mjs +19 -11
  4. package/.agents/skills/dsh-tui-dogfood/scripts/run-plugin-from-worktree.sh +31 -9
  5. package/.agents/skills/dsh-tui-update-models/SKILL.md +1 -1
  6. package/.agents/skills/dsh-tui-update-models/references/model-wiring.md +6 -6
  7. package/.agents/skills/dsh-tui-update-models/scripts/dump-model-catalog.mjs +21 -13
  8. package/README.md +61 -23
  9. package/cordis.patch.yml +2 -0
  10. package/lib/agent/fork.d.ts +3 -1
  11. package/lib/agent/fork.d.ts.map +1 -1
  12. package/lib/agent/fork.js +2 -0
  13. package/lib/agent/fork.js.map +1 -1
  14. package/lib/agent/history.d.ts +14 -22
  15. package/lib/agent/history.d.ts.map +1 -1
  16. package/lib/agent/history.js +20 -14
  17. package/lib/agent/history.js.map +1 -1
  18. package/lib/agent/host.d.ts.map +1 -1
  19. package/lib/agent/host.js +6 -0
  20. package/lib/agent/host.js.map +1 -1
  21. package/lib/agent/model.d.ts +10 -8
  22. package/lib/agent/model.d.ts.map +1 -1
  23. package/lib/agent/model.js +9 -7
  24. package/lib/agent/model.js.map +1 -1
  25. package/lib/agent/present.d.ts +1 -1
  26. package/lib/agent/present.d.ts.map +1 -1
  27. package/lib/agent/present.js +1 -1
  28. package/lib/agent/present.js.map +1 -1
  29. package/lib/agent/presets.d.ts +4 -1
  30. package/lib/agent/presets.d.ts.map +1 -1
  31. package/lib/agent/presets.js +9 -2
  32. package/lib/agent/presets.js.map +1 -1
  33. package/lib/agent/projections.d.ts +8 -2
  34. package/lib/agent/projections.d.ts.map +1 -1
  35. package/lib/agent/projections.js +8 -2
  36. package/lib/agent/projections.js.map +1 -1
  37. package/lib/agent/prompt-history.d.ts +8 -48
  38. package/lib/agent/prompt-history.d.ts.map +1 -1
  39. package/lib/agent/prompt-history.js +34 -15
  40. package/lib/agent/prompt-history.js.map +1 -1
  41. package/lib/agent/status.d.ts +9 -24
  42. package/lib/agent/status.d.ts.map +1 -1
  43. package/lib/agent/status.js +7 -2
  44. package/lib/agent/status.js.map +1 -1
  45. package/lib/agent/undo.d.ts +2 -4
  46. package/lib/agent/undo.d.ts.map +1 -1
  47. package/lib/agent/undo.js +10 -5
  48. package/lib/agent/undo.js.map +1 -1
  49. package/lib/cards/composition.d.ts +7 -7
  50. package/lib/cards/composition.d.ts.map +1 -1
  51. package/lib/cards/composition.js +13 -12
  52. package/lib/cards/composition.js.map +1 -1
  53. package/lib/cards/presenter.d.ts +11 -14
  54. package/lib/cards/presenter.d.ts.map +1 -1
  55. package/lib/cards/presenter.js +40 -19
  56. package/lib/cards/presenter.js.map +1 -1
  57. package/lib/cards/preview.d.ts.map +1 -1
  58. package/lib/cards/preview.js +5 -1
  59. package/lib/cards/preview.js.map +1 -1
  60. package/lib/cards.d.ts +17 -23
  61. package/lib/cards.d.ts.map +1 -1
  62. package/lib/cards.js +27 -12
  63. package/lib/cards.js.map +1 -1
  64. package/lib/compat/probe.d.ts +2 -5
  65. package/lib/compat/probe.d.ts.map +1 -1
  66. package/lib/compat/probe.js +2 -2
  67. package/lib/compat/probe.js.map +1 -1
  68. package/lib/compat/section.d.ts +5 -4
  69. package/lib/compat/section.d.ts.map +1 -1
  70. package/lib/compat/section.js +4 -0
  71. package/lib/compat/section.js.map +1 -1
  72. package/lib/config.d.ts +0 -3
  73. package/lib/config.d.ts.map +1 -1
  74. package/lib/config.js +7 -1
  75. package/lib/config.js.map +1 -1
  76. package/lib/export.d.ts +5 -7
  77. package/lib/export.d.ts.map +1 -1
  78. package/lib/export.js +48 -10
  79. package/lib/export.js.map +1 -1
  80. package/lib/fold-cursor.d.ts +3 -3
  81. package/lib/fold-cursor.d.ts.map +1 -1
  82. package/lib/fold-cursor.js +5 -3
  83. package/lib/fold-cursor.js.map +1 -1
  84. package/lib/gates/question-card.d.ts +3 -38
  85. package/lib/gates/question-card.d.ts.map +1 -1
  86. package/lib/gates/question-card.js +13 -10
  87. package/lib/gates/question-card.js.map +1 -1
  88. package/lib/gates/questions.d.ts +14 -8
  89. package/lib/gates/questions.d.ts.map +1 -1
  90. package/lib/gates/questions.js +25 -18
  91. package/lib/gates/questions.js.map +1 -1
  92. package/lib/gates.d.ts +17 -25
  93. package/lib/gates.d.ts.map +1 -1
  94. package/lib/gates.js +2 -4
  95. package/lib/gates.js.map +1 -1
  96. package/lib/herdr/client.d.ts +10 -12
  97. package/lib/herdr/client.d.ts.map +1 -1
  98. package/lib/herdr/client.js +9 -8
  99. package/lib/herdr/client.js.map +1 -1
  100. package/lib/herdr/constants.d.ts +3 -2
  101. package/lib/herdr/constants.d.ts.map +1 -1
  102. package/lib/herdr/constants.js +3 -2
  103. package/lib/herdr/constants.js.map +1 -1
  104. package/lib/herdr/reporter.d.ts +4 -39
  105. package/lib/herdr/reporter.d.ts.map +1 -1
  106. package/lib/herdr/reporter.js +13 -19
  107. package/lib/herdr/reporter.js.map +1 -1
  108. package/lib/herdr/state.d.ts +4 -3
  109. package/lib/herdr/state.d.ts.map +1 -1
  110. package/lib/herdr/state.js +6 -5
  111. package/lib/herdr/state.js.map +1 -1
  112. package/lib/host/preset-files.d.ts +0 -17
  113. package/lib/host/preset-files.d.ts.map +1 -1
  114. package/lib/host/preset-files.js +7 -2
  115. package/lib/host/preset-files.js.map +1 -1
  116. package/lib/host/roster.d.ts +1 -1
  117. package/lib/host/roster.d.ts.map +1 -1
  118. package/lib/host/roster.js +3 -3
  119. package/lib/host/roster.js.map +1 -1
  120. package/lib/host/runner.d.ts +2 -5
  121. package/lib/host/runner.d.ts.map +1 -1
  122. package/lib/host/runner.js +2 -5
  123. package/lib/host/runner.js.map +1 -1
  124. package/lib/identity.d.ts +6 -3
  125. package/lib/identity.d.ts.map +1 -1
  126. package/lib/identity.js +18 -3
  127. package/lib/identity.js.map +1 -1
  128. package/lib/index.d.ts +2 -0
  129. package/lib/index.d.ts.map +1 -1
  130. package/lib/index.js +42 -14
  131. package/lib/index.js.map +1 -1
  132. package/lib/injection.d.ts.map +1 -1
  133. package/lib/injection.js +1 -0
  134. package/lib/injection.js.map +1 -1
  135. package/lib/input/action-catalog.d.ts.map +1 -1
  136. package/lib/input/action-catalog.js +4 -0
  137. package/lib/input/action-catalog.js.map +1 -1
  138. package/lib/input/actions.d.ts +4 -3
  139. package/lib/input/actions.d.ts.map +1 -1
  140. package/lib/input/actions.js +8 -3
  141. package/lib/input/actions.js.map +1 -1
  142. package/lib/input/completion.d.ts +3 -11
  143. package/lib/input/completion.d.ts.map +1 -1
  144. package/lib/input/completion.js +8 -6
  145. package/lib/input/completion.js.map +1 -1
  146. package/lib/input/file-index.d.ts +1 -12
  147. package/lib/input/file-index.d.ts.map +1 -1
  148. package/lib/input/file-index.js +21 -17
  149. package/lib/input/file-index.js.map +1 -1
  150. package/lib/input/file-search.d.ts +6 -3
  151. package/lib/input/file-search.d.ts.map +1 -1
  152. package/lib/input/file-search.js +29 -10
  153. package/lib/input/file-search.js.map +1 -1
  154. package/lib/input/fuzzy.d.ts +6 -12
  155. package/lib/input/fuzzy.d.ts.map +1 -1
  156. package/lib/input/fuzzy.js +18 -27
  157. package/lib/input/fuzzy.js.map +1 -1
  158. package/lib/input/ghost.d.ts +5 -5
  159. package/lib/input/ghost.d.ts.map +1 -1
  160. package/lib/input/ghost.js +4 -3
  161. package/lib/input/ghost.js.map +1 -1
  162. package/lib/input/key-press.d.ts +8 -7
  163. package/lib/input/key-press.d.ts.map +1 -1
  164. package/lib/input/key-press.js +8 -6
  165. package/lib/input/key-press.js.map +1 -1
  166. package/lib/input/keymap-conflicts.d.ts +6 -6
  167. package/lib/input/keymap-conflicts.d.ts.map +1 -1
  168. package/lib/input/keymap-conflicts.js +6 -6
  169. package/lib/input/keymap-conflicts.js.map +1 -1
  170. package/lib/input/keymap.d.ts +6 -18
  171. package/lib/input/keymap.d.ts.map +1 -1
  172. package/lib/input/keymap.js +7 -10
  173. package/lib/input/keymap.js.map +1 -1
  174. package/lib/input/match.js +4 -4
  175. package/lib/input/match.js.map +1 -1
  176. package/lib/input/submission.d.ts +7 -3
  177. package/lib/input/submission.d.ts.map +1 -1
  178. package/lib/input/submission.js +2 -2
  179. package/lib/input/submission.js.map +1 -1
  180. package/lib/input/workspace-files.d.ts +1 -2
  181. package/lib/input/workspace-files.d.ts.map +1 -1
  182. package/lib/input/workspace-files.js +20 -11
  183. package/lib/input/workspace-files.js.map +1 -1
  184. package/lib/input.d.ts +6 -0
  185. package/lib/input.d.ts.map +1 -1
  186. package/lib/input.js +34 -1
  187. package/lib/input.js.map +1 -1
  188. package/lib/install-skills.d.ts +5 -22
  189. package/lib/install-skills.d.ts.map +1 -1
  190. package/lib/install-skills.js +18 -18
  191. package/lib/install-skills.js.map +1 -1
  192. package/lib/jobs.d.ts +10 -5
  193. package/lib/jobs.d.ts.map +1 -1
  194. package/lib/jobs.js +39 -13
  195. package/lib/jobs.js.map +1 -1
  196. package/lib/keymaps.d.ts.map +1 -1
  197. package/lib/keymaps.js +2 -0
  198. package/lib/keymaps.js.map +1 -1
  199. package/lib/keys-command.d.ts +1 -1
  200. package/lib/keys-command.d.ts.map +1 -1
  201. package/lib/model-list.d.ts +0 -27
  202. package/lib/model-list.d.ts.map +1 -1
  203. package/lib/model-list.js +1 -1
  204. package/lib/model-list.js.map +1 -1
  205. package/lib/moshi.d.ts +13 -0
  206. package/lib/moshi.d.ts.map +1 -0
  207. package/lib/moshi.js +130 -0
  208. package/lib/moshi.js.map +1 -0
  209. package/lib/spacing.d.ts +0 -7
  210. package/lib/spacing.d.ts.map +1 -1
  211. package/lib/spacing.js +1 -1
  212. package/lib/spacing.js.map +1 -1
  213. package/lib/startup.d.ts +1 -1
  214. package/lib/startup.d.ts.map +1 -1
  215. package/lib/startup.js +9 -1
  216. package/lib/startup.js.map +1 -1
  217. package/lib/stash/lock.d.ts +1 -37
  218. package/lib/stash/lock.d.ts.map +1 -1
  219. package/lib/stash/lock.js +41 -35
  220. package/lib/stash/lock.js.map +1 -1
  221. package/lib/stash/paths.d.ts +8 -7
  222. package/lib/stash/paths.d.ts.map +1 -1
  223. package/lib/stash/paths.js +21 -17
  224. package/lib/stash/paths.js.map +1 -1
  225. package/lib/stash/private-fs.d.ts +14 -5
  226. package/lib/stash/private-fs.d.ts.map +1 -1
  227. package/lib/stash/private-fs.js +30 -8
  228. package/lib/stash/private-fs.js.map +1 -1
  229. package/lib/stash/schema.d.ts +3 -6
  230. package/lib/stash/schema.d.ts.map +1 -1
  231. package/lib/stash/schema.js +11 -9
  232. package/lib/stash/schema.js.map +1 -1
  233. package/lib/stash/store.d.ts +9 -40
  234. package/lib/stash/store.d.ts.map +1 -1
  235. package/lib/stash/store.js +26 -24
  236. package/lib/stash/store.js.map +1 -1
  237. package/lib/stash.d.ts +7 -11
  238. package/lib/stash.d.ts.map +1 -1
  239. package/lib/stash.js +18 -11
  240. package/lib/stash.js.map +1 -1
  241. package/lib/subagents.d.ts +9 -9
  242. package/lib/subagents.d.ts.map +1 -1
  243. package/lib/subagents.js +19 -18
  244. package/lib/subagents.js.map +1 -1
  245. package/lib/surface/appearance-preferences.d.ts.map +1 -1
  246. package/lib/surface/appearance-preferences.js +7 -0
  247. package/lib/surface/appearance-preferences.js.map +1 -1
  248. package/lib/surface/appearance.d.ts.map +1 -1
  249. package/lib/surface/appearance.js +7 -2
  250. package/lib/surface/appearance.js.map +1 -1
  251. package/lib/surface/background-work.d.ts +2 -0
  252. package/lib/surface/background-work.d.ts.map +1 -1
  253. package/lib/surface/background-work.js +45 -36
  254. package/lib/surface/background-work.js.map +1 -1
  255. package/lib/surface/commands.d.ts.map +1 -1
  256. package/lib/surface/commands.js +17 -9
  257. package/lib/surface/commands.js.map +1 -1
  258. package/lib/surface/modal-input.d.ts +4 -0
  259. package/lib/surface/modal-input.d.ts.map +1 -1
  260. package/lib/surface/modal-input.js +81 -46
  261. package/lib/surface/modal-input.js.map +1 -1
  262. package/lib/surface/model-choice.d.ts.map +1 -1
  263. package/lib/surface/model-choice.js +10 -8
  264. package/lib/surface/model-choice.js.map +1 -1
  265. package/lib/surface/plugin-actions.d.ts.map +1 -1
  266. package/lib/surface/plugin-actions.js +4 -0
  267. package/lib/surface/plugin-actions.js.map +1 -1
  268. package/lib/surface/preset-choice.d.ts.map +1 -1
  269. package/lib/surface/preset-choice.js +15 -17
  270. package/lib/surface/preset-choice.js.map +1 -1
  271. package/lib/surface/prompt-input.js +1 -1
  272. package/lib/surface/prompt-input.js.map +1 -1
  273. package/lib/surface/prompt-memory.d.ts +7 -6
  274. package/lib/surface/prompt-memory.d.ts.map +1 -1
  275. package/lib/surface/prompt-memory.js +3 -3
  276. package/lib/surface/session-lifecycle.d.ts +7 -1
  277. package/lib/surface/session-lifecycle.d.ts.map +1 -1
  278. package/lib/surface/session-lifecycle.js +17 -12
  279. package/lib/surface/session-lifecycle.js.map +1 -1
  280. package/lib/surface/session-picker.js +1 -1
  281. package/lib/surface/session-picker.js.map +1 -1
  282. package/lib/surface/session-view.d.ts +1 -1
  283. package/lib/surface/session-view.d.ts.map +1 -1
  284. package/lib/surface/session-view.js +4 -5
  285. package/lib/surface/session-view.js.map +1 -1
  286. package/lib/surface/staged-turns.d.ts.map +1 -1
  287. package/lib/surface/staged-turns.js +8 -4
  288. package/lib/surface/staged-turns.js.map +1 -1
  289. package/lib/surface/terminal-lifecycle.d.ts +1 -1
  290. package/lib/surface/terminal-lifecycle.d.ts.map +1 -1
  291. package/lib/surface/terminal-lifecycle.js +8 -5
  292. package/lib/surface/terminal-lifecycle.js.map +1 -1
  293. package/lib/terminal/bell.d.ts +0 -2
  294. package/lib/terminal/bell.d.ts.map +1 -1
  295. package/lib/terminal/bell.js +2 -1
  296. package/lib/terminal/bell.js.map +1 -1
  297. package/lib/terminal/clipboard.d.ts +4 -4
  298. package/lib/terminal/clipboard.js +4 -4
  299. package/lib/terminal/external-editor.d.ts +4 -60
  300. package/lib/terminal/external-editor.d.ts.map +1 -1
  301. package/lib/terminal/external-editor.js +28 -40
  302. package/lib/terminal/external-editor.js.map +1 -1
  303. package/lib/terminal/host-writes.d.ts +7 -18
  304. package/lib/terminal/host-writes.d.ts.map +1 -1
  305. package/lib/terminal/host-writes.js +19 -18
  306. package/lib/terminal/host-writes.js.map +1 -1
  307. package/lib/terminal/input.d.ts +6 -0
  308. package/lib/terminal/input.d.ts.map +1 -0
  309. package/lib/terminal/input.js +15 -0
  310. package/lib/terminal/input.js.map +1 -0
  311. package/lib/terminal/restore.d.ts +2 -1
  312. package/lib/terminal/restore.d.ts.map +1 -1
  313. package/lib/terminal/signals.d.ts +2 -1
  314. package/lib/terminal/signals.d.ts.map +1 -1
  315. package/lib/terminal/signals.js +1 -1
  316. package/lib/terminal/signals.js.map +1 -1
  317. package/lib/terminal/title.d.ts +1 -11
  318. package/lib/terminal/title.d.ts.map +1 -1
  319. package/lib/terminal/title.js +5 -4
  320. package/lib/terminal/title.js.map +1 -1
  321. package/lib/terminal/warning-screen.d.ts +11 -2
  322. package/lib/terminal/warning-screen.d.ts.map +1 -1
  323. package/lib/terminal/warning-screen.js +166 -22
  324. package/lib/terminal/warning-screen.js.map +1 -1
  325. package/lib/terminal-text/scan.d.ts +4 -5
  326. package/lib/terminal-text/scan.d.ts.map +1 -1
  327. package/lib/terminal-text/scan.js +16 -9
  328. package/lib/terminal-text/scan.js.map +1 -1
  329. package/lib/terminal-text/sgr.d.ts +4 -3
  330. package/lib/terminal-text/sgr.d.ts.map +1 -1
  331. package/lib/terminal-text/sgr.js +9 -14
  332. package/lib/terminal-text/sgr.js.map +1 -1
  333. package/lib/terminal-text.d.ts +7 -12
  334. package/lib/terminal-text.d.ts.map +1 -1
  335. package/lib/terminal-text.js +32 -23
  336. package/lib/terminal-text.js.map +1 -1
  337. package/lib/text.d.ts +8 -14
  338. package/lib/text.d.ts.map +1 -1
  339. package/lib/text.js +14 -15
  340. package/lib/text.js.map +1 -1
  341. package/lib/theme-capability.d.ts +3 -15
  342. package/lib/theme-capability.d.ts.map +1 -1
  343. package/lib/theme-capability.js +18 -15
  344. package/lib/theme-capability.js.map +1 -1
  345. package/lib/theme-defaults.d.ts +3 -57
  346. package/lib/theme-defaults.d.ts.map +1 -1
  347. package/lib/theme-defaults.js +25 -14
  348. package/lib/theme-defaults.js.map +1 -1
  349. package/lib/theme-files.d.ts +16 -32
  350. package/lib/theme-files.d.ts.map +1 -1
  351. package/lib/theme-files.js +43 -27
  352. package/lib/theme-files.js.map +1 -1
  353. package/lib/theme-resolver.d.ts +3 -3
  354. package/lib/theme-resolver.d.ts.map +1 -1
  355. package/lib/theme-resolver.js +9 -6
  356. package/lib/theme-resolver.js.map +1 -1
  357. package/lib/theme-schema.d.ts +7 -42
  358. package/lib/theme-schema.d.ts.map +1 -1
  359. package/lib/theme-schema.js +9 -11
  360. package/lib/theme-schema.js.map +1 -1
  361. package/lib/theme-settings.d.ts +19 -10
  362. package/lib/theme-settings.d.ts.map +1 -1
  363. package/lib/theme-settings.js +23 -17
  364. package/lib/theme-settings.js.map +1 -1
  365. package/lib/theme-tokens.d.ts +6 -12
  366. package/lib/theme-tokens.d.ts.map +1 -1
  367. package/lib/theme-tokens.js +2 -2
  368. package/lib/theme-tokens.js.map +1 -1
  369. package/lib/theme.d.ts +5 -10
  370. package/lib/theme.d.ts.map +1 -1
  371. package/lib/theme.js +11 -18
  372. package/lib/theme.js.map +1 -1
  373. package/lib/todo-guard.d.ts +8 -4
  374. package/lib/todo-guard.d.ts.map +1 -1
  375. package/lib/todo-guard.js +17 -6
  376. package/lib/todo-guard.js.map +1 -1
  377. package/lib/tokens.d.ts +0 -2
  378. package/lib/tokens.d.ts.map +1 -1
  379. package/lib/tokens.js +1 -1
  380. package/lib/tokens.js.map +1 -1
  381. package/lib/tool-display.d.ts +1 -13
  382. package/lib/tool-display.d.ts.map +1 -1
  383. package/lib/tool-display.js +4 -4
  384. package/lib/tool-display.js.map +1 -1
  385. package/lib/transcript/message-content.d.ts.map +1 -1
  386. package/lib/transcript/message-content.js +31 -9
  387. package/lib/transcript/message-content.js.map +1 -1
  388. package/lib/transcript/tool-calls.d.ts +9 -7
  389. package/lib/transcript/tool-calls.d.ts.map +1 -1
  390. package/lib/transcript/tool-calls.js +27 -20
  391. package/lib/transcript/tool-calls.js.map +1 -1
  392. package/lib/transcript.d.ts +15 -18
  393. package/lib/transcript.d.ts.map +1 -1
  394. package/lib/transcript.js +70 -41
  395. package/lib/transcript.js.map +1 -1
  396. package/lib/ui/copy.d.ts +5 -4
  397. package/lib/ui/copy.d.ts.map +1 -1
  398. package/lib/ui/copy.js +9 -6
  399. package/lib/ui/copy.js.map +1 -1
  400. package/lib/ui/diff.d.ts +0 -30
  401. package/lib/ui/diff.d.ts.map +1 -1
  402. package/lib/ui/diff.js +16 -9
  403. package/lib/ui/diff.js.map +1 -1
  404. package/lib/ui/dock.d.ts +12 -10
  405. package/lib/ui/dock.d.ts.map +1 -1
  406. package/lib/ui/dock.js +27 -14
  407. package/lib/ui/dock.js.map +1 -1
  408. package/lib/ui/editor.d.ts +5 -4
  409. package/lib/ui/editor.d.ts.map +1 -1
  410. package/lib/ui/editor.js +17 -9
  411. package/lib/ui/editor.js.map +1 -1
  412. package/lib/ui/frame.d.ts +4 -12
  413. package/lib/ui/frame.d.ts.map +1 -1
  414. package/lib/ui/frame.js +6 -6
  415. package/lib/ui/frame.js.map +1 -1
  416. package/lib/ui/gap.d.ts +0 -4
  417. package/lib/ui/gap.d.ts.map +1 -1
  418. package/lib/ui/gap.js +4 -3
  419. package/lib/ui/gap.js.map +1 -1
  420. package/lib/ui/gate-input.d.ts +3 -3
  421. package/lib/ui/gate-input.d.ts.map +1 -1
  422. package/lib/ui/gate-input.js +9 -9
  423. package/lib/ui/gate-input.js.map +1 -1
  424. package/lib/ui/layout.d.ts +1 -8
  425. package/lib/ui/layout.d.ts.map +1 -1
  426. package/lib/ui/layout.js +10 -11
  427. package/lib/ui/layout.js.map +1 -1
  428. package/lib/ui/markdown.d.ts +3 -5
  429. package/lib/ui/markdown.d.ts.map +1 -1
  430. package/lib/ui/markdown.js +18 -7
  431. package/lib/ui/markdown.js.map +1 -1
  432. package/lib/ui/mermaid.d.ts +0 -11
  433. package/lib/ui/mermaid.d.ts.map +1 -1
  434. package/lib/ui/mermaid.js +32 -17
  435. package/lib/ui/mermaid.js.map +1 -1
  436. package/lib/ui/picker-card.d.ts +4 -8
  437. package/lib/ui/picker-card.d.ts.map +1 -1
  438. package/lib/ui/picker-card.js +17 -15
  439. package/lib/ui/picker-card.js.map +1 -1
  440. package/lib/ui/picker.d.ts +11 -17
  441. package/lib/ui/picker.d.ts.map +1 -1
  442. package/lib/ui/picker.js +36 -17
  443. package/lib/ui/picker.js.map +1 -1
  444. package/lib/ui/queue.d.ts.map +1 -1
  445. package/lib/ui/queue.js +11 -1
  446. package/lib/ui/queue.js.map +1 -1
  447. package/lib/ui/stash-picker.d.ts +1 -10
  448. package/lib/ui/stash-picker.d.ts.map +1 -1
  449. package/lib/ui/stash-picker.js +4 -4
  450. package/lib/ui/stash-picker.js.map +1 -1
  451. package/lib/ui/status.d.ts +2 -19
  452. package/lib/ui/status.d.ts.map +1 -1
  453. package/lib/ui/status.js +15 -17
  454. package/lib/ui/status.js.map +1 -1
  455. package/lib/ui/view/document.d.ts +33 -0
  456. package/lib/ui/view/document.d.ts.map +1 -0
  457. package/lib/ui/view/document.js +96 -0
  458. package/lib/ui/view/document.js.map +1 -0
  459. package/lib/ui/view/gate-card.d.ts +2 -0
  460. package/lib/ui/view/gate-card.d.ts.map +1 -1
  461. package/lib/ui/view/gate-card.js +12 -10
  462. package/lib/ui/view/gate-card.js.map +1 -1
  463. package/lib/ui/view/tool-card.d.ts +7 -4
  464. package/lib/ui/view/tool-card.d.ts.map +1 -1
  465. package/lib/ui/view/tool-card.js +12 -17
  466. package/lib/ui/view/tool-card.js.map +1 -1
  467. package/lib/ui/view/transcript-message.d.ts +7 -7
  468. package/lib/ui/view/transcript-message.d.ts.map +1 -1
  469. package/lib/ui/view/transcript-message.js +19 -10
  470. package/lib/ui/view/transcript-message.js.map +1 -1
  471. package/lib/ui/view.d.ts +53 -84
  472. package/lib/ui/view.d.ts.map +1 -1
  473. package/lib/ui/view.js +79 -158
  474. package/lib/ui/view.js.map +1 -1
  475. package/lib/work.d.ts +13 -10
  476. package/lib/work.d.ts.map +1 -1
  477. package/lib/work.js +30 -8
  478. package/lib/work.js.map +1 -1
  479. package/package.json +12 -7
  480. package/presets/cordis.patch.yml +1 -0
  481. package/presets/minimal.patch.yml +1 -0
  482. package/presets/ptc.patch.yml +1 -0
  483. package/presets/standard.patch.yml +1 -0
  484. package/themes/deepseek-blue.yaml +38 -51
  485. package/themes/marine-static.yaml +27 -35
  486. package/themes/pine-slope.yaml +13 -11
  487. package/themes/polar-drift.yaml +6 -0
  488. package/themes/violet-orbit.yaml +14 -18
  489. package/themes/wine-thicket.yaml +13 -13
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-lifecycle.js","sourceRoot":"","sources":["../../src/surface/terminal-lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal-lifecycle.js","sourceRoot":"","sources":["../../src/surface/terminal-lifecycle.ts"],"names":[],"mappings":"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"}
@@ -7,8 +7,6 @@
7
7
  */
8
8
  /** The terminal bell character. */
9
9
  export declare const BELL = "\u0007";
10
- /** How long a turn has to run before its end is worth a bell. */
11
- export declare const BELL_AFTER_MS = 10000;
12
10
  /** Whether this turn's end should ring. */
13
11
  export declare function shouldRingBell(input: {
14
12
  readonly bell: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"bell.d.ts","sourceRoot":"","sources":["../../src/terminal/bell.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,mCAAmC;AACnC,eAAO,MAAM,IAAI,WAAW,CAAA;AAE5B,iEAAiE;AACjE,eAAO,MAAM,aAAa,QAAS,CAAA;AAEnC,2CAA2C;AAC3C,wBAAgB,cAAc,CAAC,KAAK,EAAE;IACpC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC1B,GAAG,OAAO,CAEV"}
1
+ {"version":3,"file":"bell.d.ts","sourceRoot":"","sources":["../../src/terminal/bell.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,mCAAmC;AACnC,eAAO,MAAM,IAAI,WAAW,CAAA;AAK5B,2CAA2C;AAC3C,wBAAgB,cAAc,CAAC,KAAK,EAAE;IACpC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC1B,GAAG,OAAO,CAGV"}
@@ -8,9 +8,10 @@
8
8
  /** The terminal bell character. */
9
9
  export const BELL = '\u0007';
10
10
  /** How long a turn has to run before its end is worth a bell. */
11
- export const BELL_AFTER_MS = 10_000;
11
+ const BELL_AFTER_MS = 10_000;
12
12
  /** Whether this turn's end should ring. */
13
13
  export function shouldRingBell(input) {
14
+ // Keep shutdown quiet instead of announcing a completion while the surface is leaving.
14
15
  return input.bell && !input.exiting && input.ranForMs >= BELL_AFTER_MS;
15
16
  }
16
17
  //# sourceMappingURL=bell.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bell.js","sourceRoot":"","sources":["../../src/terminal/bell.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,mCAAmC;AACnC,MAAM,CAAC,MAAM,IAAI,GAAG,QAAQ,CAAA;AAE5B,iEAAiE;AACjE,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAA;AAEnC,2CAA2C;AAC3C,MAAM,UAAU,cAAc,CAAC,KAI9B;IACC,OAAO,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,IAAI,aAAa,CAAA;AACxE,CAAC"}
1
+ {"version":3,"file":"bell.js","sourceRoot":"","sources":["../../src/terminal/bell.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,mCAAmC;AACnC,MAAM,CAAC,MAAM,IAAI,GAAG,QAAQ,CAAA;AAE5B,iEAAiE;AACjE,MAAM,aAAa,GAAG,MAAM,CAAA;AAE5B,2CAA2C;AAC3C,MAAM,UAAU,cAAc,CAAC,KAI9B;IACC,uFAAuF;IACvF,OAAO,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,IAAI,aAAa,CAAA;AACxE,CAAC"}
@@ -1,10 +1,10 @@
1
1
  /**
2
2
  * Clipboard writes.
3
3
  *
4
- * OSC 52 is the only clipboard a terminal program has: it asks the terminal to
5
- * put text on the reader's clipboard, and it works over SSH, where no local
6
- * clipboard API exists. The payload is base64 by design, so no control
7
- * character in the copied text can end the sequence early.
4
+ * OSC 52 lets the terminal receive copied text over SSH without requiring a
5
+ * clipboard API on the remote host. Base64 keeps copied control characters
6
+ * from ending the sequence early; clipboard access still depends on the
7
+ * terminal accepting the request.
8
8
  */
9
9
  /** The sequence that asks the terminal to copy `text`. */
10
10
  export declare function clipboardSequence(text: string): string;
@@ -1,10 +1,10 @@
1
1
  /**
2
2
  * Clipboard writes.
3
3
  *
4
- * OSC 52 is the only clipboard a terminal program has: it asks the terminal to
5
- * put text on the reader's clipboard, and it works over SSH, where no local
6
- * clipboard API exists. The payload is base64 by design, so no control
7
- * character in the copied text can end the sequence early.
4
+ * OSC 52 lets the terminal receive copied text over SSH without requiring a
5
+ * clipboard API on the remote host. Base64 keeps copied control characters
6
+ * from ending the sequence early; clipboard access still depends on the
7
+ * terminal accepting the request.
8
8
  */
9
9
  const OSC_INTRODUCER = '\u001b]';
10
10
  const STRING_TERMINATOR = '\u0007';
@@ -1,36 +1,3 @@
1
- /**
2
- * Where a reader's editor is configured, most specific first.
3
- *
4
- * VISUAL is the full-screen editor and EDITOR the line one, which is the
5
- * distinction a surface that gives up the whole screen cares about; a reader
6
- * who set only one of them still gets it.
7
- */
8
- export declare const EDITOR_ENV_KEYS: readonly ["VISUAL", "EDITOR"];
9
- /** A draft larger than this is left where it is rather than handed to the bar. */
10
- export declare const MAX_DRAFT_BYTES = 1048576;
11
- /**
12
- * How long the reader's editor may hold the terminal before it is stopped.
13
- *
14
- * A child that never exits is the one failure this handoff cannot report its way
15
- * out of: the screen is already given up, so nothing can draw, no key is read,
16
- * and the session ends with the terminal left in the editor's state. Thirty
17
- * minutes is far past a draft anyone is still writing and firmly inside a
18
- * morning, which is the line between a slow reader and a stuck process.
19
- */
20
- export declare const EDITOR_TIMEOUT_MS: number;
21
- /**
22
- * One configured command line as argv, or undefined when it names nothing.
23
- *
24
- * A reader writes an editor the way a shell would take it — `code --wait`,
25
- * `emacsclient -t` — so the line is split the way a shell would split it:
26
- * quotes group, and nothing else is special. No shell ever sees the result,
27
- * because an environment value is data and a shell would execute a typo. An
28
- * unterminated quote takes the rest of the line rather than refusing the whole
29
- * binding: a missing quote should not leave the reader with no editor at all.
30
- */
31
- export declare function parseEditorCommand(value: string): readonly string[] | undefined;
32
- /** The editor this environment configures, or undefined when none is usable. */
33
- export declare function resolveEditorCommand(env?: NodeJS.ProcessEnv): readonly string[] | undefined;
34
1
  /**
35
2
  * What this module needs from the surface while a child owns the terminal.
36
3
  *
@@ -44,41 +11,18 @@ export interface EditorTerminalHost {
44
11
  resume(): void;
45
12
  notice(message: string): void;
46
13
  }
47
- /** The slice of a spawned child this module waits on. */
48
- export interface EditorChild {
49
- on(event: 'error', listener: (error: Error) => void): void;
50
- on(event: 'exit', listener: (code: number | null, signal: string | null) => void): void;
51
- kill(signal?: NodeJS.Signals): boolean;
52
- }
53
- export interface EditorSpawnOptions {
54
- readonly stdio: 'inherit';
55
- readonly cwd: string;
56
- readonly env: NodeJS.ProcessEnv;
57
- }
58
- /** The one process call this module makes, so a spec can drive it without a terminal. */
59
- export type EditorSpawn = (file: string, args: readonly string[], options: EditorSpawnOptions) => EditorChild;
60
- /** How the handoff runs; every part a spec would otherwise have to fake is overridable. */
61
- export interface ExternalEditorOptions {
62
- readonly env?: NodeJS.ProcessEnv | undefined;
63
- /** Where the scratch directory is made; tests keep theirs out of the real tmpdir. */
64
- readonly tempRoot?: string | undefined;
65
- readonly spawn?: EditorSpawn | undefined;
66
- }
67
14
  /**
68
15
  * The reader's editor, opened over one draft.
69
16
  *
70
- * Every failure is reported through the host and answered with `undefined`
71
- * ("keep what the bar had") rather than thrown, because the caller is a key
72
- * press with nowhere to put an error.
17
+ * A refused handoff or unusable draft is reported through the host and
18
+ * answered with `undefined` ("keep what the bar had") rather than thrown,
19
+ * because the caller is a key press with nowhere to put an error.
73
20
  */
74
21
  export declare class ExternalEditor {
75
22
  private readonly host;
76
- private readonly env;
77
- private readonly tempRoot;
78
- private readonly spawn;
79
23
  /** Whether a child holds the terminal; a second handoff would stop it twice. */
80
24
  private running;
81
- constructor(host: EditorTerminalHost, options?: ExternalEditorOptions);
25
+ constructor(host: EditorTerminalHost);
82
26
  /** Edit `text` in the reader's editor, and return what was saved, or undefined to keep the bar. */
83
27
  edit(text: string): Promise<string | undefined>;
84
28
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"external-editor.d.ts","sourceRoot":"","sources":["../../src/terminal/external-editor.ts"],"names":[],"mappings":"AAmBA;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,+BAAgC,CAAA;AAS5D,kFAAkF;AAClF,eAAO,MAAM,eAAe,UAAY,CAAA;AAQxC;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,QAAiB,CAAA;AAwB/C;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,CA2B/E;AAED,gFAAgF;AAChF,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,CAQxG;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,IAAI,IAAI,CAAA;IACf,MAAM,IAAI,IAAI,CAAA;IACd,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B;AAED,yDAAyD;AACzD,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAA;IAC1D,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,CAAA;IACvF,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAA;CACvC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;CAChC;AAED,yFAAyF;AACzF,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,kBAAkB,KAAK,WAAW,CAAA;AAiB7G,2FAA2F;AAC3F,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,CAAA;IAC5C,qFAAqF;IACrF,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;CACzC;AAED;;;;;;GAMG;AACH,qBAAa,cAAc;IAQvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAPvB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAmB;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IACnC,gFAAgF;IAChF,OAAO,CAAC,OAAO,CAAQ;gBAGJ,IAAI,EAAE,kBAAkB,EACzC,OAAO,GAAE,qBAA0B;IAOrC,mGAAmG;IAC7F,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IA0ErD;;;;;;;;OAQG;YACW,SAAS;IAkBvB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,GAAG;CA4BZ"}
1
+ {"version":3,"file":"external-editor.d.ts","sourceRoot":"","sources":["../../src/terminal/external-editor.ts"],"names":[],"mappings":"AA8HA;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,IAAI,IAAI,CAAA;IACf,MAAM,IAAI,IAAI,CAAA;IACd,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B;AAQD;;;;;;GAMG;AACH,qBAAa,cAAc;IAIb,OAAO,CAAC,QAAQ,CAAC,IAAI;IAHjC,gFAAgF;IAChF,OAAO,CAAC,OAAO,CAAQ;gBAEM,IAAI,EAAE,kBAAkB;IAErD,mGAAmG;IAC7F,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IA0ErD;;;;;;;;OAQG;YACW,SAAS;IAoBvB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,GAAG;CA6BZ"}
@@ -22,7 +22,7 @@ import { stripControlCharacters } from "../text.js";
22
22
  * distinction a surface that gives up the whole screen cares about; a reader
23
23
  * who set only one of them still gets it.
24
24
  */
25
- export const EDITOR_ENV_KEYS = ['VISUAL', 'EDITOR'];
25
+ const EDITOR_ENV_KEYS = ['VISUAL', 'EDITOR'];
26
26
  /** The buffer's name, so the editor's filetype, syntax, and wrap settings see prose. */
27
27
  const DRAFT_FILE_NAME = 'draft.md';
28
28
  /** A directory the reader's draft is written into must not be readable by others. */
@@ -30,21 +30,20 @@ const DRAFT_DIR_MODE = 0o700;
30
30
  const DRAFT_FILE_MODE = 0o600;
31
31
  const DRAFT_DIR_PREFIX = 'dsh-tui-draft-';
32
32
  /** A draft larger than this is left where it is rather than handed to the bar. */
33
- export const MAX_DRAFT_BYTES = 1_048_576;
33
+ const MAX_DRAFT_BYTES = 1_048_576;
34
34
  /** The same budget as a word, so the notice reads as a size and cannot drift from it. */
35
35
  const MAX_DRAFT_LABEL = `${Math.round(MAX_DRAFT_BYTES / 1024 / 1024)} MiB`;
36
36
  const SECOND_MS = 1000;
37
37
  const MINUTE_MS = 60 * SECOND_MS;
38
38
  /**
39
- * How long the reader's editor may hold the terminal before it is stopped.
39
+ * The timeout for requesting termination while the editor owns the terminal.
40
40
  *
41
- * A child that never exits is the one failure this handoff cannot report its way
42
- * out of: the screen is already given up, so nothing can draw, no key is read,
43
- * and the session ends with the terminal left in the editor's state. Thirty
44
- * minutes is far past a draft anyone is still writing and firmly inside a
45
- * morning, which is the line between a slow reader and a stuck process.
41
+ * The surface cannot read its own input during the handoff, so a timeout gives
42
+ * an editor that never exits a recovery path. Restoration still waits for the
43
+ * child after the stop request, and its saved draft is read back after exit
44
+ * so timing out does not itself discard saved work.
46
45
  */
47
- export const EDITOR_TIMEOUT_MS = 30 * MINUTE_MS;
46
+ const EDITOR_TIMEOUT_MS = 30 * MINUTE_MS;
48
47
  const NO_EDITOR_MESSAGE = 'no editor configured: set $VISUAL or $EDITOR to open the draft in one';
49
48
  const launchFailureMessage = (command, error) => `could not start ${command}: ${error.message}`;
50
49
  const useFailureMessage = (error) => `could not use the edited draft: ${error instanceof Error ? error.message : 'unknown error'}`;
@@ -61,14 +60,14 @@ const SEPARATORS = new Set([' ', '\t', '\n', '\r']);
61
60
  /**
62
61
  * One configured command line as argv, or undefined when it names nothing.
63
62
  *
64
- * A reader writes an editor the way a shell would take it — `code --wait`,
65
- * `emacsclient -t` — so the line is split the way a shell would split it:
66
- * quotes group, and nothing else is special. No shell ever sees the result,
67
- * because an environment value is data and a shell would execute a typo. An
68
- * unterminated quote takes the rest of the line rather than refusing the whole
69
- * binding: a missing quote should not leave the reader with no editor at all.
63
+ * Quote grouping and whitespace separation support commands such as
64
+ * `code --wait` without executing editor configuration through a shell.
65
+ * This is not shell parsing: backslashes stay literal, and empty quoted
66
+ * arguments are omitted. An unterminated quote takes the rest of the line
67
+ * rather than refusing the whole binding: a missing quote should not leave
68
+ * the reader with no editor at all.
70
69
  */
71
- export function parseEditorCommand(value) {
70
+ function parseEditorCommand(value) {
72
71
  const argv = [];
73
72
  let token = '';
74
73
  let started = false;
@@ -101,9 +100,9 @@ export function parseEditorCommand(value) {
101
100
  return argv.length === 0 ? undefined : argv;
102
101
  }
103
102
  /** The editor this environment configures, or undefined when none is usable. */
104
- export function resolveEditorCommand(env = process.env) {
103
+ function resolveEditorCommand() {
105
104
  for (const name of EDITOR_ENV_KEYS) {
106
- const configured = env[name];
105
+ const configured = process.env[name];
107
106
  if (configured === undefined)
108
107
  continue;
109
108
  const argv = parseEditorCommand(configured);
@@ -112,39 +111,25 @@ export function resolveEditorCommand(env = process.env) {
112
111
  }
113
112
  return undefined;
114
113
  }
115
- /**
116
- * The real spawn, wrapped rather than passed.
117
- *
118
- * `child_process.spawn` carries overloads that do not narrow to a single
119
- * callable signature, and a wrapper keeps the injectable seam honest about
120
- * which call this module actually makes.
121
- */
122
- const SPAWN = (file, args, options) => spawn(file, [...args], options);
123
114
  /**
124
115
  * The reader's editor, opened over one draft.
125
116
  *
126
- * Every failure is reported through the host and answered with `undefined`
127
- * ("keep what the bar had") rather than thrown, because the caller is a key
128
- * press with nowhere to put an error.
117
+ * A refused handoff or unusable draft is reported through the host and
118
+ * answered with `undefined` ("keep what the bar had") rather than thrown,
119
+ * because the caller is a key press with nowhere to put an error.
129
120
  */
130
121
  export class ExternalEditor {
131
122
  host;
132
- env;
133
- tempRoot;
134
- spawn;
135
123
  /** Whether a child holds the terminal; a second handoff would stop it twice. */
136
124
  running = false;
137
- constructor(host, options = {}) {
125
+ constructor(host) {
138
126
  this.host = host;
139
- this.env = options.env ?? process.env;
140
- this.tempRoot = options.tempRoot ?? tmpdir();
141
- this.spawn = options.spawn ?? SPAWN;
142
127
  }
143
128
  /** Edit `text` in the reader's editor, and return what was saved, or undefined to keep the bar. */
144
129
  async edit(text) {
145
130
  if (this.running)
146
131
  return undefined;
147
- const argv = resolveEditorCommand(this.env);
132
+ const argv = resolveEditorCommand();
148
133
  const command = argv?.[0];
149
134
  if (argv === undefined || command === undefined) {
150
135
  this.host.notice(NO_EDITOR_MESSAGE);
@@ -168,7 +153,7 @@ export class ExternalEditor {
168
153
  return undefined;
169
154
  }
170
155
  try {
171
- directory = await mkdtemp(join(this.tempRoot, DRAFT_DIR_PREFIX));
156
+ directory = await mkdtemp(join(tmpdir(), DRAFT_DIR_PREFIX));
172
157
  // mkdtemp makes the directory owner-only on POSIX; setting it here makes
173
158
  // the guarantee this module's rather than the platform's.
174
159
  await chmod(directory, DRAFT_DIR_MODE);
@@ -243,9 +228,11 @@ export class ExternalEditor {
243
228
  }
244
229
  if (filled > MAX_DRAFT_BYTES)
245
230
  return { kind: 'too-large' };
231
+ // Prevent edited file content from injecting terminal controls or disguising text in the live prompt.
246
232
  return { kind: 'text', text: stripControlCharacters(buffer.subarray(0, filled).toString('utf8')) };
247
233
  }
248
234
  finally {
235
+ // Closing must not replace the accepted draft or mask the original read failure.
249
236
  await handle.close().catch(() => undefined);
250
237
  }
251
238
  }
@@ -264,10 +251,11 @@ export class ExternalEditor {
264
251
  */
265
252
  run(command, args, file) {
266
253
  return new Promise(resolve => {
267
- const child = this.spawn(command, [...args, file], {
254
+ // Keep the session's project context and editor environment, not the scratch directory's context.
255
+ const child = spawn(command, [...args, file], {
268
256
  stdio: 'inherit',
269
257
  cwd: process.cwd(),
270
- env: this.env,
258
+ env: process.env,
271
259
  });
272
260
  // Armed before the wait so no exit can slip past between the two, and
273
261
  // cleared by whichever event settles it, because a pending timer would
@@ -1 +1 @@
1
- {"version":3,"file":"external-editor.js","sourceRoot":"","sources":["../../src/terminal/external-editor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"external-editor.js","sourceRoot":"","sources":["../../src/terminal/external-editor.ts"],"names":[],"mappings":"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"}
@@ -6,34 +6,25 @@
6
6
  * already on screen: the damage is skipped as unchanged and stays until
7
7
  * something forces a full repaint. Warnings are deferred separately; this is the
8
8
  * channel a library, a stray `console.log`, or an unhandled rejection report
9
- * writes to directly. Text is held until the screen is given back, then written
10
- * in the order it arrived, so a reader still gets the diagnostics — after the
11
- * frame they would otherwise have ruined.
9
+ * writes to directly. Text waits until the screen is given back so diagnostics
10
+ * do not ruin a frame. Retained writes preserve order within each stream;
11
+ * streams replay in target order, not in cross-stream arrival order.
12
12
  *
13
13
  * The surface's own drawing goes through the terminal object, which is wrapped
14
14
  * here: a write made inside that call passes through, and everything else waits.
15
15
  *
16
- * What waits is bounded in whole writes, not in bytes: once a stream holds more
17
- * than its budget the oldest writes are dropped, and the newest write is never
18
- * cut or given up, so the hold ends at whichever is larger — the budget, or that
19
- * one write. A write larger than the budget is therefore held whole, because
20
- * this is the reader's own program's output and half a line is corruption where
21
- * a bigger hold is only memory.
16
+ * Retained text stays within each stream's byte budget. Oversized writes are
17
+ * rejected whole, and older writes are evicted to make room for later ones:
18
+ * truncating individual writes would present incomplete diagnostics as intact.
22
19
  */
23
20
  /** One stream a host may write to without asking the surface. */
24
21
  export interface HostWritable {
25
22
  write(...args: unknown[]): unknown;
26
23
  }
27
24
  /**
28
- * The hold budget one stream trims back to.
29
- *
30
- * Trimming counts whole writes, so this is the point the oldest write is given
31
- * up at rather than a ceiling on the bytes a stream holds; the header says what
32
- * the newest write does to it.
25
+ * A per-stream byte ceiling prevents deferred diagnostics from growing without bound.
33
26
  */
34
27
  export declare const HOST_WRITE_LIMIT: number;
35
- /** What a reader is told when the held text had to be trimmed. */
36
- export declare const HOST_WRITE_DROPPED = "\u2026 host output dropped";
37
28
  /** The streams a host reaches for when it writes without the surface's help. */
38
29
  export declare const HOST_WRITE_TARGETS: readonly HostWritable[];
39
30
  export interface HostWriteGuard {
@@ -45,8 +36,6 @@ export interface HostWriteOptions {
45
36
  terminal: HostWritable;
46
37
  /** The streams the host writes to directly. */
47
38
  targets: readonly HostWritable[];
48
- /** Per-stream hold budget; the oldest whole write is dropped past it. */
49
- limit?: number;
50
39
  }
51
40
  export declare function holdHostWrites(options: HostWriteOptions): HostWriteGuard;
52
41
  //# sourceMappingURL=host-writes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"host-writes.d.ts","sourceRoot":"","sources":["../../src/terminal/host-writes.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,iEAAiE;AACjE,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;CACnC;AAED;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,QAAY,CAAA;AAEzC,kEAAkE;AAClE,eAAO,MAAM,kBAAkB,+BAA0B,CAAA;AAEzD,gFAAgF;AAChF,eAAO,MAAM,kBAAkB,EAAE,SAAS,YAAY,EAAqC,CAAA;AAE3F,MAAM,WAAW,cAAc;IAC7B,2EAA2E;IAC3E,OAAO,IAAI,IAAI,CAAA;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,kFAAkF;IAClF,QAAQ,EAAE,YAAY,CAAA;IACtB,+CAA+C;IAC/C,OAAO,EAAE,SAAS,YAAY,EAAE,CAAA;IAChC,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AA+GD,wBAAgB,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,cAAc,CAyBxE"}
1
+ {"version":3,"file":"host-writes.d.ts","sourceRoot":"","sources":["../../src/terminal/host-writes.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,iEAAiE;AACjE,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;CACnC;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAY,CAAA;AAKzC,gFAAgF;AAChF,eAAO,MAAM,kBAAkB,EAAE,SAAS,YAAY,EAAqC,CAAA;AAE3F,MAAM,WAAW,cAAc;IAC7B,2EAA2E;IAC3E,OAAO,IAAI,IAAI,CAAA;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,kFAAkF;IAClF,QAAQ,EAAE,YAAY,CAAA;IACtB,+CAA+C;IAC/C,OAAO,EAAE,SAAS,YAAY,EAAE,CAAA;CACjC;AAoHD,wBAAgB,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,cAAc,CAwBxE"}
@@ -1,14 +1,10 @@
1
1
  import { Buffer } from 'node:buffer';
2
2
  /**
3
- * The hold budget one stream trims back to.
4
- *
5
- * Trimming counts whole writes, so this is the point the oldest write is given
6
- * up at rather than a ceiling on the bytes a stream holds; the header says what
7
- * the newest write does to it.
3
+ * A per-stream byte ceiling prevents deferred diagnostics from growing without bound.
8
4
  */
9
5
  export const HOST_WRITE_LIMIT = 64 * 1024;
10
6
  /** What a reader is told when the held text had to be trimmed. */
11
- export const HOST_WRITE_DROPPED = '… host output dropped';
7
+ const HOST_WRITE_DROPPED = '… host output dropped';
12
8
  /** The streams a host reaches for when it writes without the surface's help. */
13
9
  export const HOST_WRITE_TARGETS = [process.stdout, process.stderr];
14
10
  /**
@@ -18,27 +14,33 @@ export const HOST_WRITE_TARGETS = [process.stdout, process.stderr];
18
14
  * property, an inherited one disappears again — so a host that patched the
19
15
  * stream before this ran keeps its own seam.
20
16
  */
21
- function holdStream(target, held, isSurfaceWrite, limit) {
17
+ function holdStream(target, held, isSurfaceWrite) {
22
18
  const own = Object.getOwnPropertyDescriptor(target, 'write');
23
19
  const original = target.write;
24
20
  target.write = function (...args) {
25
21
  if (isSurfaceWrite())
26
22
  return Reflect.apply(original, this, args);
27
23
  const [chunk, encoding, callback] = args;
24
+ // Retention and replay share a UTF-8 text budget so held diagnostics have a bounded replay size.
25
+ // This is not byte-preserving: original bytes and write encodings are not preserved.
28
26
  const text = typeof chunk === 'string'
29
27
  ? chunk
30
28
  : chunk instanceof Uint8Array
31
29
  ? Buffer.from(chunk).toString('utf8')
32
30
  : String(chunk);
33
- held.chunks.push(text);
34
- held.length += text.length;
35
- // Whole writes only, and never the newest: dropping the oldest is what a
36
- // hold is for, while a write cut in half would corrupt the diagnostic
37
- // instead of losing it, so one oversized write stays entire.
38
- while (held.length > limit && held.chunks.length > 1) {
39
- held.length -= held.chunks.shift()?.length ?? 0;
31
+ const bytes = Buffer.byteLength(text);
32
+ // Cutting a write corrupts diagnostics; an oversized write must be dropped whole, not retained without bound.
33
+ if (bytes > HOST_WRITE_LIMIT)
40
34
  held.dropped += 1;
35
+ else if (bytes > 0) {
36
+ held.chunks.push(text);
37
+ held.bytes += bytes;
38
+ while (held.bytes > HOST_WRITE_LIMIT) {
39
+ held.bytes -= Buffer.byteLength(held.chunks.shift() ?? '');
40
+ held.dropped += 1;
41
+ }
41
42
  }
43
+ // Producers must not wait for a drain this hold never emits; acknowledgment is not terminal delivery.
42
44
  if (typeof encoding === 'function')
43
45
  encoding();
44
46
  else if (typeof callback === 'function')
@@ -113,13 +115,12 @@ function markTerminalCalls(terminal, call) {
113
115
  };
114
116
  }
115
117
  export function holdHostWrites(options) {
116
- const limit = options.limit ?? HOST_WRITE_LIMIT;
117
118
  const held = new Map();
118
119
  for (const target of options.targets)
119
- held.set(target, { chunks: [], length: 0, dropped: 0 });
120
+ held.set(target, { chunks: [], bytes: 0, dropped: 0 });
120
121
  const surface = { depth: 0 };
121
122
  const restoreTerminal = markTerminalCalls(options.terminal, surface);
122
- const streams = options.targets.map(target => holdStream(target, held.get(target), () => surface.depth > 0, limit));
123
+ const streams = options.targets.map(target => holdStream(target, held.get(target), () => surface.depth > 0));
123
124
  let active = true;
124
125
  return {
125
126
  release() {
@@ -136,7 +137,7 @@ export function holdHostWrites(options) {
136
137
  const notice = writes.dropped === 0 ? '' : `${HOST_WRITE_DROPPED} (${writes.dropped} writes)\n`;
137
138
  streams[index]?.original(notice + writes.chunks.join(''));
138
139
  writes.chunks.length = 0;
139
- writes.length = 0;
140
+ writes.bytes = 0;
140
141
  writes.dropped = 0;
141
142
  }
142
143
  },
@@ -1 +1 @@
1
- {"version":3,"file":"host-writes.js","sourceRoot":"","sources":["../../src/terminal/host-writes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host-writes.js","sourceRoot":"","sources":["../../src/terminal/host-writes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { ProcessTerminal } from '@earendil-works/pi-tui';
2
+ /** Normalize before viewport, modal, and editor readers so the same physical press keeps one meaning. */
3
+ export declare class EventSafeTerminal extends ProcessTerminal {
4
+ start(onInput: (data: string) => void, onResize: () => void): void;
5
+ }
6
+ //# sourceMappingURL=input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/terminal/input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAMxD,yGAAyG;AACzG,qBAAa,iBAAkB,SAAQ,eAAe;IAC3C,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;CAO5E"}
@@ -0,0 +1,15 @@
1
+ import { ProcessTerminal } from '@earendil-works/pi-tui';
2
+ /** The pinned decoder recognizes SS3 F1–F4, but not their valid unmodified CSI event forms. */
3
+ const FUNCTION_PRESS_EVENT = /^\u001b\[1;1:[12]([PQRS])$/u;
4
+ const SS3_PREFIX = '\u001bO';
5
+ /** Normalize before viewport, modal, and editor readers so the same physical press keeps one meaning. */
6
+ export class EventSafeTerminal extends ProcessTerminal {
7
+ start(onInput, onResize) {
8
+ super.start(data => {
9
+ const match = FUNCTION_PRESS_EVENT.exec(data);
10
+ // Releases and modified keys retain their metadata rather than becoming unmodified presses.
11
+ onInput(match === null ? data : SS3_PREFIX + match[1]);
12
+ }, onResize);
13
+ }
14
+ }
15
+ //# sourceMappingURL=input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/terminal/input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAExD,+FAA+F;AAC/F,MAAM,oBAAoB,GAAG,6BAA6B,CAAA;AAC1D,MAAM,UAAU,GAAG,SAAS,CAAA;AAE5B,yGAAyG;AACzG,MAAM,OAAO,iBAAkB,SAAQ,eAAe;IAC3C,KAAK,CAAC,OAA+B,EAAE,QAAoB;QAClE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACjB,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC7C,4FAA4F;YAC5F,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACxD,CAAC,EAAE,QAAQ,CAAC,CAAA;IACd,CAAC;CACF"}
@@ -1,5 +1,5 @@
1
1
  /** One reversible terminal mutation. */
2
- export type RestoreHook = () => void;
2
+ type RestoreHook = () => void;
3
3
  /** Registry that guarantees every registered hook runs exactly once. */
4
4
  export interface RestoreRegistry {
5
5
  add(hook: RestoreHook): void;
@@ -13,4 +13,5 @@ export interface RestoreRegistry {
13
13
  * a throwing hook must not strand the ones registered before it.
14
14
  */
15
15
  export declare function createRestoreRegistry(): RestoreRegistry;
16
+ export {};
16
17
  //# sourceMappingURL=restore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"restore.d.ts","sourceRoot":"","sources":["../../src/terminal/restore.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,CAAA;AAEpC,wEAAwE;AACxE,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAA;IAC5B,OAAO,IAAI,IAAI,CAAA;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,IAAI,eAAe,CAyBvD"}
1
+ {"version":3,"file":"restore.d.ts","sourceRoot":"","sources":["../../src/terminal/restore.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,KAAK,WAAW,GAAG,MAAM,IAAI,CAAA;AAE7B,wEAAwE;AACxE,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAA;IAC5B,OAAO,IAAI,IAAI,CAAA;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,IAAI,eAAe,CAyBvD"}
@@ -8,7 +8,7 @@
8
8
  * status a shell reports for the signal.
9
9
  */
10
10
  /** Signals whose default action ends the process without unwinding the surface. */
11
- export declare const TERMINATING_SIGNALS: readonly ["SIGINT", "SIGTERM", "SIGHUP", "SIGQUIT"];
11
+ declare const TERMINATING_SIGNALS: readonly ["SIGINT", "SIGTERM", "SIGHUP", "SIGQUIT"];
12
12
  export type TerminatingSignal = (typeof TERMINATING_SIGNALS)[number];
13
13
  /**
14
14
  * Run a shutdown once for the first terminating signal, then leave.
@@ -21,4 +21,5 @@ export type TerminatingSignal = (typeof TERMINATING_SIGNALS)[number];
21
21
  export declare function installSignalRestore(options: {
22
22
  shutdown(code: number, signal: TerminatingSignal): void;
23
23
  }): () => void;
24
+ export {};
24
25
  //# sourceMappingURL=signals.d.ts.map