@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":"lock.js","sourceRoot":"","sources":["../../src/stash/lock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/stash/lock.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,8 @@
1
- /** Environment variable that moves the harness home, matching the launcher. */
2
- export declare const DSH_HOME_ENV = "DSH_HOME";
3
1
  /** A bank follows the current directory by default; session mode keeps drafts private to one session. */
4
2
  export declare const DEFAULT_STASH_SCOPE: "path";
5
3
  export declare const STASH_SCOPES: readonly ["path", "session"];
6
4
  export type StashScope = typeof STASH_SCOPES[number];
7
- /** The stash file for one scope owner. */
5
+ /** Keep the exact owner beside its filename key so the store can reject a bank with a mismatched persisted owner. */
8
6
  export interface StashPaths {
9
7
  /** Exact scope owner, retained in the on-disk sessionId field. */
10
8
  readonly sessionId: string;
@@ -13,7 +11,6 @@ export interface StashPaths {
13
11
  /** JSON file holding this bank's stash entries. */
14
12
  readonly file: string;
15
13
  }
16
- export declare function sanitizeSessionId(sessionId: string, version?: string): string;
17
14
  /**
18
15
  * The directory the harness keeps its own state in.
19
16
  *
@@ -24,8 +21,12 @@ export declare function sanitizeSessionId(sessionId: string, version?: string):
24
21
  * working directory would scatter private state into whatever tree the reader
25
22
  * happened to start from.
26
23
  */
27
- export declare function dshHomeDir(env?: NodeJS.ProcessEnv, home?: string): string;
24
+ export declare function dshHomeDir(): string;
28
25
  /** The root every bank's stash file sits under. */
29
- export declare function stashBaseDir(env?: NodeJS.ProcessEnv, home?: string): string;
30
- export declare function resolveStashPaths(sessionId: string, baseDir?: string, scope?: StashScope): StashPaths;
26
+ export declare function stashBaseDir(): string;
27
+ /**
28
+ * Separate scope namespaces leave drafts in their original banks when the surface changes scope.
29
+ * PromptStash supplies its configured scope so bank ownership stays with the surface.
30
+ */
31
+ export declare function resolveStashPaths(sessionId: string, baseDir: string, scope: StashScope): StashPaths;
31
32
  //# sourceMappingURL=paths.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/stash/paths.ts"],"names":[],"mappings":"AAgBA,+EAA+E;AAC/E,eAAO,MAAM,YAAY,aAAa,CAAA;AAKtC,yGAAyG;AACzG,eAAO,MAAM,mBAAmB,EAAG,MAAe,CAAA;AAClD,eAAO,MAAM,YAAY,8BAA4C,CAAA;AACrE,MAAM,MAAM,UAAU,GAAG,OAAO,YAAY,CAAC,MAAM,CAAC,CAAA;AA4BpD,0CAA0C;AAC1C,MAAM,WAAW,UAAU;IACzB,kEAAkE;IAClE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,mDAAmD;IACnD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,mDAAmD;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAuBD,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,MAAmC,GAAG,MAAM,CAOzG;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,EAAE,IAAI,GAAE,MAAkB,GAAG,MAAM,CAIjG;AAkBD,mDAAmD;AACnD,wBAAgB,YAAY,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,EAAE,IAAI,GAAE,MAAkB,GAAG,MAAM,CAEnG;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,MAAuB,EAAE,KAAK,GAAE,UAAsB,GAAG,UAAU,CAGhI"}
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/stash/paths.ts"],"names":[],"mappings":"AAqBA,yGAAyG;AACzG,eAAO,MAAM,mBAAmB,EAAG,MAAe,CAAA;AAClD,eAAO,MAAM,YAAY,8BAA4C,CAAA;AACrE,MAAM,MAAM,UAAU,GAAG,OAAO,YAAY,CAAC,MAAM,CAAC,CAAA;AA4BpD,qHAAqH;AACrH,MAAM,WAAW,UAAU;IACzB,kEAAkE;IAClE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,mDAAmD;IACnD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,mDAAmD;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAgCD;;;;;;;;;GASG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAKnC;AAkBD,mDAAmD;AACnD,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,UAAU,CAGnG"}
@@ -4,16 +4,15 @@
4
4
  // distinct key versions prevent an absolute directory from ever colliding with
5
5
  // a session id, while both identifiers stay readable under the stash directory.
6
6
  //
7
- // Readability cannot be bought with injectivity: a separator made of hyphens
8
- // cannot be told apart from a hyphen inside an owner id, and truncating a long
9
- // id can land on a name a shorter id already owns. Two distinct owners sharing
10
- // one bank would expose drafts, so every key ends with a digest of the exact id. The readable part is then only a label: two distinct
11
- // identifiers collide in the label, never in the file.
7
+ // Flattening and truncation can give distinct owners the same readable label.
8
+ // A digest of the exact owner reduces those collisions; it does not rule them out.
9
+ // The store also checks the persisted owner before accepting a bank, so a filename
10
+ // match alone cannot expose another owner's drafts.
12
11
  import { createHash } from 'node:crypto';
13
12
  import { homedir } from 'node:os';
14
13
  import path from 'node:path';
15
14
  /** Environment variable that moves the harness home, matching the launcher. */
16
- export const DSH_HOME_ENV = 'DSH_HOME';
15
+ const DSH_HOME_ENV = 'DSH_HOME';
17
16
  /** The directory `DSH_HOME` points at when the environment names none. */
18
17
  const DEFAULT_DSH_HOME_DIR = '.dsh';
19
18
  /** A bank follows the current directory by default; session mode keeps drafts private to one session. */
@@ -25,10 +24,10 @@ const HOME_TILDE = '~';
25
24
  const HOME_TILDE_SEPARATORS = ['/', '\\'];
26
25
  /** The subtree of `DSH_HOME` this surface owns. */
27
26
  const STASH_DIR_NAME = 'tui-stash';
28
- // POSIX filenames may not contain "/" or NUL, and everything else is legal, so
29
- // once separators are flattened the result is filename-safe on the platforms
30
- // this surface targets. 200 keeps the whole key, digest included, well under the
31
- // common 255-byte filename limit.
27
+ // Owner path separators must not create nested banks. Flattening and escaping
28
+ // address those separators, not every filename constraint: NUL is left unchanged.
29
+ // The 200-byte key budget, digest included, leaves room for the .json extension
30
+ // under the common 255-byte filename limit.
32
31
  const SANITIZE_MAX_LENGTH = 200;
33
32
  const SEPARATOR = '--';
34
33
  const SESSION_KEY_FORMAT_VERSION = 'v2';
@@ -39,7 +38,7 @@ const ESCAPED_SEPARATOR = '%2D%2D';
39
38
  const BACKSLASH = '\\';
40
39
  const ESCAPED_BACKSLASH = '%5C';
41
40
  const HASH_ALGORITHM = 'sha256';
42
- /** 64 bits of digest, which no deliberate name can be built to collide with. */
41
+ /** Retain a 64-bit owner digest to distinguish labels within the filename budget, not to guarantee uniqueness. */
43
42
  const HASH_LENGTH = 16;
44
43
  /** Escape one key segment so it cannot collide with the separator or an escape. */
45
44
  function escapeSegment(segment) {
@@ -61,7 +60,7 @@ function truncateToUtf8Bytes(value, maxBytes) {
61
60
  }
62
61
  return result;
63
62
  }
64
- export function sanitizeSessionId(sessionId, version = SESSION_KEY_FORMAT_VERSION) {
63
+ function sanitizeSessionId(sessionId, version) {
65
64
  const keyPrefix = `${version}${SEPARATOR}`;
66
65
  const readable = sessionId.split('/').filter(Boolean).map(escapeSegment).join(SEPARATOR);
67
66
  const digest = createHash(HASH_ALGORITHM).update(sessionId, 'utf8').digest('hex').slice(0, HASH_LENGTH);
@@ -79,8 +78,9 @@ export function sanitizeSessionId(sessionId, version = SESSION_KEY_FORMAT_VERSIO
79
78
  * working directory would scatter private state into whatever tree the reader
80
79
  * happened to start from.
81
80
  */
82
- export function dshHomeDir(env = process.env, home = homedir()) {
83
- const configured = env[DSH_HOME_ENV]?.trim();
81
+ export function dshHomeDir() {
82
+ const home = homedir();
83
+ const configured = process.env[DSH_HOME_ENV]?.trim();
84
84
  if (configured === undefined || configured === '')
85
85
  return path.join(home, DEFAULT_DSH_HOME_DIR);
86
86
  return expandHome(configured, home);
@@ -103,10 +103,14 @@ function expandHome(value, home) {
103
103
  return separator === undefined ? value : path.join(home, value.slice(HOME_TILDE.length + separator.length));
104
104
  }
105
105
  /** The root every bank's stash file sits under. */
106
- export function stashBaseDir(env = process.env, home = homedir()) {
107
- return path.join(dshHomeDir(env, home), STASH_DIR_NAME);
106
+ export function stashBaseDir() {
107
+ return path.join(dshHomeDir(), STASH_DIR_NAME);
108
108
  }
109
- export function resolveStashPaths(sessionId, baseDir = stashBaseDir(), scope = 'session') {
109
+ /**
110
+ * Separate scope namespaces leave drafts in their original banks when the surface changes scope.
111
+ * PromptStash supplies its configured scope so bank ownership stays with the surface.
112
+ */
113
+ export function resolveStashPaths(sessionId, baseDir, scope) {
110
114
  const key = sanitizeSessionId(sessionId, scope === 'path' ? PATH_KEY_FORMAT_VERSION : SESSION_KEY_FORMAT_VERSION);
111
115
  return { sessionId, key, file: path.join(baseDir, `${key}.json`) };
112
116
  }
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/stash/paths.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/stash/paths.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,7 @@ export declare class FileTooLargeError extends Error {
31
31
  * and a recursive removal would then delete that surface's committed bank: an
32
32
  * entry left unflushed costs durability, while a removed bank costs the draft.
33
33
  */
34
- export declare function ensurePrivateDirectory(directory: string, label?: string, syncDirectory?: typeof syncDirectoryEntry): Promise<void>;
34
+ export declare function ensurePrivateDirectory(directory: string, label?: string): Promise<void>;
35
35
  /**
36
36
  * Flush one directory entry without asserting who owns the directory.
37
37
  *
@@ -42,8 +42,13 @@ export declare function ensurePrivateDirectory(directory: string, label?: string
42
42
  */
43
43
  export declare function syncDirectoryEntry(directory: string): Promise<void>;
44
44
  export declare function assertPrivateDirectory(directory: string, label: string): Promise<Stats>;
45
- export declare function syncPrivateDirectory(directory: string, label?: string): Promise<void>;
46
45
  export declare function readPrivateTextFile(filePath: string, label?: string, maxBytes?: number): Promise<PrivateTextFile>;
46
+ /**
47
+ * Exclusive creation protects names already held by other writers. Complete bytes
48
+ * are synced before callers publish by rename or link; directory durability is
49
+ * their responsibility. Failed writes attempt cleanup, but close or removal errors
50
+ * can leave output behind.
51
+ */
47
52
  export declare function writePrivateFileExclusive(filePath: string, data: string | Uint8Array): Promise<void>;
48
53
  /**
49
54
  * Move a file aside without losing it.
@@ -52,10 +57,14 @@ export declare function writePrivateFileExclusive(filePath: string, data: string
52
57
  * before the source is unlinked, so an interrupted quarantine leaves either the
53
58
  * readable original or the readable copy, never neither.
54
59
  */
55
- export declare function quarantinePrivateFile(filePath: string, identity: FileIdentity, label: string, syncDirectory?: typeof syncPrivateDirectory): Promise<QuarantineResult>;
60
+ export declare function quarantinePrivateFile(filePath: string, identity: FileIdentity, label: string): Promise<QuarantineResult>;
61
+ /**
62
+ * Recursive removal is for disposable lock contents, not stash banks. Callers
63
+ * must establish which lock they may remove; these checks cannot exclude a
64
+ * replacement before pathname-based deletion. Flush the owned parent to persist
65
+ * the removal.
66
+ */
56
67
  export declare function removePrivateDirectory(directory: string, label?: string): Promise<void>;
57
- export declare function assertRegularOwnedFile(stats: Stats, label: string): void;
58
- export declare function pathExists(target: string): Promise<boolean>;
59
68
  export declare function hasErrorCode(value: unknown, code: string): boolean;
60
69
  export {};
61
70
  //# sourceMappingURL=private-fs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"private-fs.d.ts","sourceRoot":"","sources":["../../src/stash/private-fs.ts"],"names":[],"mappings":"AAQA,OAAO,EAAa,KAAK,KAAK,EAAE,MAAM,SAAS,CAAA;AAI/C,eAAO,MAAM,gBAAgB,MAAQ,CAAA;AACrC,eAAO,MAAM,iBAAiB,MAAQ,CAAA;AAgBtC,KAAK,YAAY,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,CAAA;AAE9C,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAA;CAChC;AAED,iFAAiF;AACjF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,kEAAkE;IAClE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;CAC5B;AAED,yFAAyF;AACzF,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,KAAK,EAAE,MAAM;CAI1B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EACjB,KAAK,SAAsB,EAC3B,aAAa,GAAE,OAAO,kBAAuC,GAC5D,OAAO,CAAC,IAAI,CAAC,CAyBf;AAuGD;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAazE;AAED,wBAAsB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAO7F;AAED,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,SAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAOxG;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,KAAK,SAAe,EACpB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,CAa1B;AAeD,wBAAsB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAa1G;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,MAAM,EACb,aAAa,GAAE,OAAO,oBAA2C,GAChE,OAAO,CAAC,gBAAgB,CAAC,CAgC3B;AAED,wBAAsB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,SAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAY1G;AAwBD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAIxE;AAmBD,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQjE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAOlE"}
1
+ {"version":3,"file":"private-fs.d.ts","sourceRoot":"","sources":["../../src/stash/private-fs.ts"],"names":[],"mappings":"AAWA,OAAO,EAAa,KAAK,KAAK,EAAE,MAAM,SAAS,CAAA;AAI/C,eAAO,MAAM,gBAAgB,MAAQ,CAAA;AACrC,eAAO,MAAM,iBAAiB,MAAQ,CAAA;AAqBtC,KAAK,YAAY,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,CAAA;AAE9C,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAA;CAChC;AAED,iFAAiF;AACjF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,kEAAkE;IAClE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;CAC5B;AAED,yFAAyF;AACzF,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,KAAK,EAAE,MAAM;CAI1B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EACjB,KAAK,SAAsB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAyBf;AAuGD;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAazE;AAED,wBAAsB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAO7F;AAWD,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,KAAK,SAAe,EACpB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,CAa1B;AAiBD;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAa1G;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,gBAAgB,CAAC,CAgC3B;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,SAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAY1G;AAyDD,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAOlE"}
@@ -5,19 +5,27 @@
5
5
  // permission repair and reads bound to the object that was inspected. Ownership
6
6
  // and symlink checks are what keep one user's drafts out of another's reach on a
7
7
  // shared machine or a network home.
8
+ //
9
+ // Ownership checks require process.getuid; without it these helpers do not
10
+ // establish current-user ownership.
8
11
  import { constants } from 'node:fs';
9
12
  import { link, lstat, mkdir, open, readlink, rmdir, rm, unlink } from 'node:fs/promises';
10
13
  import path from 'node:path';
11
14
  export const PRIVATE_DIR_MODE = 0o700;
12
15
  export const PRIVATE_FILE_MODE = 0o600;
16
+ // Bound collision-probing filesystem work without overwriting earlier recovery files.
17
+ // Exhaustion leaves the source in place rather than searching indefinitely.
13
18
  const MAX_QUARANTINE_ATTEMPTS = 1000;
19
+ // Use kernel open-time guards where Node exposes them. Validated opens also
20
+ // reject observed type or inode changes; zero fallbacks do not provide equivalent
21
+ // kernel-enforced no-follow or directory-only guarantees.
14
22
  const NO_FOLLOW_FLAG = constants.O_NOFOLLOW ?? 0;
15
23
  const DIRECTORY_FLAG = constants.O_DIRECTORY ?? 0;
16
24
  const ROOT_UID = 0;
17
25
  const WORLD_WRITABLE_MODE = 0o002;
18
26
  const GROUP_WRITABLE_MODE = 0o020;
19
27
  const STICKY_MODE = 0o1000;
20
- /** The kernel's own limit on a link chain, past which the path cannot be opened anyway. */
28
+ /** Bound link traversal work across the queued paths; this is not a portable kernel limit. */
21
29
  const MAX_LINK_HOPS = 32;
22
30
  const TOO_MANY_LINKS_MESSAGE = 'passes through too many links to be checked';
23
31
  const UNTRUSTED_ANCESTOR_MESSAGE = 'is writable by other users, so a stash kept there could be redirected to another directory by anyone on this machine';
@@ -43,7 +51,7 @@ export class FileTooLargeError extends Error {
43
51
  * and a recursive removal would then delete that surface's committed bank: an
44
52
  * entry left unflushed costs durability, while a removed bank costs the draft.
45
53
  */
46
- export async function ensurePrivateDirectory(directory, label = 'storage directory', syncDirectory = syncDirectoryEntry) {
54
+ export async function ensurePrivateDirectory(directory, label = 'storage directory') {
47
55
  await assertTrustedAncestors(directory, label);
48
56
  const { created, namingParents } = await createPrivateDirectory(directory);
49
57
  try {
@@ -56,7 +64,7 @@ export async function ensurePrivateDirectory(directory, label = 'storage directo
56
64
  await handle.close();
57
65
  }
58
66
  for (const parent of namingParents)
59
- await syncDirectory(parent);
67
+ await syncDirectoryEntry(parent);
60
68
  }
61
69
  catch (error) {
62
70
  // Deepest first, so a directory is only removed once nothing is named by it.
@@ -200,7 +208,7 @@ export async function assertPrivateDirectory(directory, label) {
200
208
  await handle.close();
201
209
  }
202
210
  }
203
- export async function syncPrivateDirectory(directory, label = 'storage directory') {
211
+ async function syncPrivateDirectory(directory, label = 'storage directory') {
204
212
  const handle = await openValidatedDirectory(directory, label);
205
213
  try {
206
214
  await handle.sync();
@@ -227,6 +235,8 @@ export async function readPrivateTextFile(filePath, label = 'stash file', maxByt
227
235
  async function readText(handle, maxBytes, label) {
228
236
  if (maxBytes === undefined)
229
237
  return handle.readFile('utf8');
238
+ // One extra byte detects an over-budget file without loading the rest.
239
+ // Repeat short reads because only a zero-byte read establishes EOF.
230
240
  const buffer = Buffer.alloc(maxBytes + 1);
231
241
  let bytesRead = 0;
232
242
  while (bytesRead < buffer.length) {
@@ -239,6 +249,12 @@ async function readText(handle, maxBytes, label) {
239
249
  throw new FileTooLargeError(label);
240
250
  return buffer.subarray(0, bytesRead).toString('utf8');
241
251
  }
252
+ /**
253
+ * Exclusive creation protects names already held by other writers. Complete bytes
254
+ * are synced before callers publish by rename or link; directory durability is
255
+ * their responsibility. Failed writes attempt cleanup, but close or removal errors
256
+ * can leave output behind.
257
+ */
242
258
  export async function writePrivateFileExclusive(filePath, data) {
243
259
  const flags = constants.O_WRONLY | constants.O_CREAT | constants.O_EXCL | NO_FOLLOW_FLAG;
244
260
  const handle = await open(filePath, flags, PRIVATE_FILE_MODE);
@@ -262,7 +278,7 @@ export async function writePrivateFileExclusive(filePath, data) {
262
278
  * before the source is unlinked, so an interrupted quarantine leaves either the
263
279
  * readable original or the readable copy, never neither.
264
280
  */
265
- export async function quarantinePrivateFile(filePath, identity, label, syncDirectory = syncPrivateDirectory) {
281
+ export async function quarantinePrivateFile(filePath, identity, label) {
266
282
  for (let attempt = 0; attempt < MAX_QUARANTINE_ATTEMPTS; attempt += 1) {
267
283
  const candidate = `${filePath}.${label}${attempt === 0 ? '' : `-${attempt}`}`;
268
284
  try {
@@ -282,7 +298,7 @@ export async function quarantinePrivateFile(filePath, identity, label, syncDirec
282
298
  await unlink(filePath);
283
299
  moved = true;
284
300
  try {
285
- await syncDirectory(path.dirname(filePath));
301
+ await syncPrivateDirectory(path.dirname(filePath));
286
302
  }
287
303
  catch (error) {
288
304
  // The bytes are already under the recovery name and the original is
@@ -300,6 +316,12 @@ export async function quarantinePrivateFile(filePath, identity, label, syncDirec
300
316
  }
301
317
  throw new Error(`unable to reserve quarantine path for ${filePath}`);
302
318
  }
319
+ /**
320
+ * Recursive removal is for disposable lock contents, not stash banks. Callers
321
+ * must establish which lock they may remove; these checks cannot exclude a
322
+ * replacement before pathname-based deletion. Flush the owned parent to persist
323
+ * the removal.
324
+ */
303
325
  export async function removePrivateDirectory(directory, label = 'storage directory') {
304
326
  let stats;
305
327
  try {
@@ -338,7 +360,7 @@ function assertDirectory(stats, label) {
338
360
  if (!stats.isDirectory())
339
361
  throw new Error(`${label} must be a directory`);
340
362
  }
341
- export function assertRegularOwnedFile(stats, label) {
363
+ function assertRegularOwnedFile(stats, label) {
342
364
  if (stats.isSymbolicLink())
343
365
  throw new Error(`${label} must not be a symbolic link`);
344
366
  if (!stats.isFile())
@@ -359,7 +381,7 @@ function assertSameIdentity(actual, expected, label) {
359
381
  function identityOf(stats) {
360
382
  return { dev: stats.dev, ino: stats.ino };
361
383
  }
362
- export async function pathExists(target) {
384
+ async function pathExists(target) {
363
385
  try {
364
386
  await lstat(target);
365
387
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"private-fs.js","sourceRoot":"","sources":["../../src/stash/private-fs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"private-fs.js","sourceRoot":"","sources":["../../src/stash/private-fs.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,EAAE;AACF,6EAA6E;AAC7E,4EAA4E;AAC5E,gFAAgF;AAChF,iFAAiF;AACjF,oCAAoC;AACpC,EAAE;AACF,2EAA2E;AAC3E,oCAAoC;AAEpC,OAAO,EAAE,SAAS,EAAc,MAAM,SAAS,CAAA;AAC/C,OAAO,EAAmB,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzG,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAA;AACrC,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAA;AAEtC,sFAAsF;AACtF,4EAA4E;AAC5E,MAAM,uBAAuB,GAAG,IAAI,CAAA;AACpC,4EAA4E;AAC5E,kFAAkF;AAClF,0DAA0D;AAC1D,MAAM,cAAc,GAAG,SAAS,CAAC,UAAU,IAAI,CAAC,CAAA;AAChD,MAAM,cAAc,GAAG,SAAS,CAAC,WAAW,IAAI,CAAC,CAAA;AACjD,MAAM,QAAQ,GAAG,CAAC,CAAA;AAClB,MAAM,mBAAmB,GAAG,KAAK,CAAA;AACjC,MAAM,mBAAmB,GAAG,KAAK,CAAA;AACjC,MAAM,WAAW,GAAG,MAAM,CAAA;AAC1B,8FAA8F;AAC9F,MAAM,aAAa,GAAG,EAAE,CAAA;AACxB,MAAM,sBAAsB,GAAG,6CAA6C,CAAA;AAE5E,MAAM,0BAA0B,GAC9B,sHAAsH,CAAA;AAgBxH,yFAAyF;AACzF,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,KAAa;QACvB,KAAK,CAAC,GAAG,KAAK,eAAe,CAAC,CAAA;QAC9B,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAA;IACjC,CAAC;CACF;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,SAAiB,EACjB,KAAK,GAAG,mBAAmB;IAE3B,MAAM,sBAAsB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;IAC9C,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,sBAAsB,CAAC,SAAS,CAAC,CAAA;IAC1E,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QAC7D,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;YACpC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;QACrB,CAAC;gBAAS,CAAC;YACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;QACtB,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,aAAa;YAAE,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAA;IACtE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,6EAA6E;QAC7E,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,KAAK,CAAC,CAAA;YACpB,CAAC;YAAC,MAAM,CAAC;gBACP,0EAA0E;gBAC1E,2DAA2D;gBAC3D,MAAK;YACP,CAAC;QACH,CAAC;QACD,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC;AASD,+EAA+E;AAC/E,KAAK,UAAU,sBAAsB,CAAC,SAAiB;IACrD,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IACrC,SAAS,CAAC;QACR,IAAI,MAAM,UAAU,CAAC,OAAO,CAAC;YAAE,MAAK;QACpC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACpC,IAAI,MAAM,KAAK,OAAO;YAAE,MAAK;QAC7B,OAAO,GAAG,MAAM,CAAA;IAClB,CAAC;IACD,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAA;IACnE,+EAA+E;IAC/E,iEAAiE;IACjE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAA;AAC9E,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,KAAK,UAAU,sBAAsB,CAAC,SAAiB,EAAE,KAAa;IACpE,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAA;IACrC,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAA;IACzC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;IACjC,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAY,CAAA;QACvC,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,SAAQ;QAClC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QACpB,IAAI,KAAY,CAAA;QAChB,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAA;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kEAAkE;YAClE,uEAAuE;YACvE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC;gBAAE,MAAM,KAAK,CAAA;YAC/C,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;YACnC,SAAQ;QACV,CAAC;QACD,4EAA4E;QAC5E,2EAA2E;QAC3E,sEAAsE;QACtE,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;YAC3B,IAAI,UAAU,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACnF,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,OAAO,2BAA2B,CAAC,CAAA;YACpE,CAAC;YACD,IAAI,IAAI,CAAC,CAAA;YACT,IAAI,IAAI,GAAG,aAAa;gBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,OAAO,IAAI,sBAAsB,EAAE,CAAC,CAAA;YAC7F,4EAA4E;YAC5E,2EAA2E;YAC3E,4CAA4C;YAC5C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAA;YACtC,OAAO,CAAC,IAAI,CACV,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,MAAM,EAAE,EACvE,GAAG,SAAS,CAAC,OAAO,CAAC,CACtB,CAAA;YACD,SAAQ;QACV,CAAC;QACD,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAA;QACrD,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;IACrC,CAAC;AACH,CAAC;AAED,6DAA6D;AAC7D,SAAS,SAAS,CAAC,OAAe;IAChC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACpC,OAAO,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;AAC3C,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAY,EAAE,SAAiB,EAAE,KAAa,EAAE,UAA8B;IACxG,IAAI,UAAU,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;QACnF,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,SAAS,2BAA2B,CAAC,CAAA;IACtE,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,mBAAmB,GAAG,mBAAmB,CAAC,CAAA;IACvE,IAAI,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,SAAS,IAAI,0BAA0B,EAAE,CAAC,CAAA;IAC3E,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,SAAiB;IACxD,IAAI,MAAkB,CAAA;IACtB,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,GAAG,cAAc,CAAC,CAAA;IACrE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC;YAAE,OAAM;QACzC,MAAM,KAAK,CAAA;IACb,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;IACrB,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;IACtB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,SAAiB,EAAE,KAAa;IAC3E,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;IAC7D,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;IAC5B,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;IACtB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,SAAiB,EAAE,KAAK,GAAG,mBAAmB;IAChF,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;IAC7D,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;IACrB,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;IACtB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,QAAgB,EAChB,KAAK,GAAG,YAAY,EACpB,QAAiB;IAEjB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAA;IACpC,sBAAsB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IACrC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,GAAG,cAAc,CAAC,CAAA;IACxE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;QAClC,sBAAsB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QACrC,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;QACzC,MAAM,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;QACrC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,CAAA;IACxF,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;IACtB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,MAAkB,EAAE,QAA4B,EAAE,KAAa;IACrF,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC1D,uEAAuE;IACvE,oEAAoE;IACpE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAA;IACzC,IAAI,SAAS,GAAG,CAAC,CAAA;IACjB,OAAO,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,IAAI,CAAC,CAAA;QACnF,IAAI,KAAK,CAAC,SAAS,KAAK,CAAC;YAAE,MAAK;QAChC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAA;IAC9B,CAAC;IACD,IAAI,SAAS,GAAG,QAAQ;QAAE,MAAM,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAA;IAC5D,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;AACvD,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,QAAgB,EAAE,IAAyB;IACzF,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,MAAM,GAAG,cAAc,CAAA;IACxF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAA;IAC7D,IAAI,SAAS,GAAG,KAAK,CAAA;IACrB,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAC5B,MAAM,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;QACrC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;QACnB,SAAS,GAAG,IAAI,CAAA;IAClB,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;QACpB,IAAI,CAAC,SAAS;YAAE,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IACrD,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,QAAgB,EAChB,QAAsB,EACtB,KAAa;IAEb,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,uBAAuB,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;QACtE,MAAM,SAAS,GAAG,GAAG,QAAQ,IAAI,KAAK,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,EAAE,CAAA;QAC7E,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC;gBAAE,SAAQ;YAC3C,MAAM,KAAK,CAAA;QACb,CAAC;QACD,IAAI,KAAK,GAAG,KAAK,CAAA;QACjB,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,CAAA;YAC7C,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAA;YACzC,kBAAkB,CAAC,cAAc,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAA;YACjE,kBAAkB,CAAC,WAAW,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAA;YAC9D,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAA;YACtB,KAAK,GAAG,IAAI,CAAA;YACZ,IAAI,CAAC;gBACH,MAAM,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;YACpD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,oEAAoE;gBACpE,oEAAoE;gBACpE,qEAAqE;gBACrE,yBAAyB;gBACzB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;YAC9C,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,CAAA;QAClD,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,KAAK;gBAAE,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QAC5D,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,yCAAyC,QAAQ,EAAE,CAAC,CAAA;AACtE,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,SAAiB,EAAE,KAAK,GAAG,mBAAmB;IACzF,IAAI,KAAY,CAAA;IAChB,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,CAAA;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC;YAAE,OAAM;QACzC,MAAM,KAAK,CAAA;IACb,CAAC;IACD,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAC7B,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IACnC,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACxC,MAAM,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAA;AACrD,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,SAAiB,EAAE,KAAa;IACpE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,CAAA;IACrC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC9B,qBAAqB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,GAAG,cAAc,GAAG,cAAc,CAAC,CAAA;IAC1F,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;QAClC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAC9B,qBAAqB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QACpC,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;QACzC,OAAO,MAAM,CAAA;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;QACpB,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,KAAY,EAAE,KAAa;IAClD,IAAI,KAAK,CAAC,cAAc,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,8BAA8B,CAAC,CAAA;IACnF,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,sBAAsB,CAAC,CAAA;AAC3E,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAY,EAAE,KAAa;IACzD,IAAI,KAAK,CAAC,cAAc,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,8BAA8B,CAAC,CAAA;IACnF,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,yBAAyB,CAAC,CAAA;IACvE,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AACrC,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAY,EAAE,KAAa;IACxD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAA;IACrC,IAAI,UAAU,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,oCAAoC,CAAC,CAAA;IAC/D,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAoB,EAAE,QAAsB,EAAE,KAAa;IACrF,IAAI,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,4BAA4B,CAAC,CAAA;IACvD,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,KAAY;IAC9B,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAA;AAC3C,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,MAAc;IACtC,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,MAAM,CAAC,CAAA;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAA;QAC/C,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAc,EAAE,IAAY;IACvD,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,MAAM,IAAI,KAAK;QACd,KAA2B,CAAC,IAAI,KAAK,IAAI,CAC3C,CAAA;AACH,CAAC"}
@@ -1,9 +1,6 @@
1
1
  export declare const STASH_SCHEMA_VERSION = 2;
2
- /** A stash longer than this is refused rather than stored. */
3
- export declare const MAX_STASH_ENTRY_BYTES = 1048576;
4
- export declare function isSafeEntryId(value: string): boolean;
5
2
  export declare function assertSafeEntryId(value: string): void;
6
- /** Refuse one draft that no amount of storage capacity could justify holding. */
3
+ /** Keep the per-draft admission limit separate from the serialized bank-size cap. */
7
4
  export declare function assertSafeStashText(text: string): void;
8
5
  /** The form of a draft that is safe to hand back to a terminal. */
9
6
  export declare function sanitizeStashText(text: string): string;
@@ -25,11 +22,10 @@ export interface StashFile {
25
22
  /** Newest first: `entries[0]` is `stash@{0}`. */
26
23
  readonly entries: readonly StashEntry[];
27
24
  }
28
- export type Clock = () => number;
25
+ /** Drafts and lock claims need independently generated identities without a shared counter across surfaces. */
29
26
  export declare const createNewId: () => string;
30
27
  export declare function createEmptyStashFile(sessionId: string): StashFile;
31
28
  export declare function isRecord(value: unknown): value is Record<string, unknown>;
32
- export declare function normalizeEntry(raw: unknown): StashEntry | undefined;
33
29
  /**
34
30
  * Read one stash file, or nothing when it is not this surface's current format.
35
31
  *
@@ -43,6 +39,7 @@ export declare function normalizeEntry(raw: unknown): StashEntry | undefined;
43
39
  * ever read, and refusing them would quarantine drafts that are still valid.
44
40
  */
45
41
  export declare function parseStashFile(raw: unknown): StashFile | undefined;
42
+ /** Keep stable identity for later removal and position for user-facing notices. */
46
43
  export interface ResolvedEntry {
47
44
  readonly entry: StashEntry;
48
45
  readonly index: number;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/stash/schema.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,oBAAoB,IAAI,CAAA;AAErC,8DAA8D;AAC9D,eAAO,MAAM,qBAAqB,UAAY,CAAA;AAQ9C,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAErD;AAED,iFAAiF;AACjF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEtD;AAED,mEAAmE;AACnE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,oBAAoB,CAAA;IAC7C;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,iDAAiD;IACjD,QAAQ,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,CAAA;CACxC;AAED,MAAM,MAAM,KAAK,GAAG,MAAM,MAAM,CAAA;AAEhC,eAAO,MAAM,WAAW,QAAO,MAAsB,CAAA;AAErD,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAEjE;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAMD,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAOnE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAalE;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,SAAS,UAAU,EAAE,EAC9B,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,aAAa,GAAG,SAAS,CAc3B"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/stash/schema.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,oBAAoB,IAAI,CAAA;AAgBrC,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAErD;AAED,qFAAqF;AACrF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEtD;AAED,mEAAmE;AACnE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,oBAAoB,CAAA;IAC7C;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,iDAAiD;IACjD,QAAQ,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,CAAA;CACxC;AAED,+GAA+G;AAC/G,eAAO,MAAM,WAAW,QAAO,MAAsB,CAAA;AAErD,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAEjE;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAeD;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAalE;AAED,mFAAmF;AACnF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,SAAS,UAAU,EAAE,EAC9B,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,aAAa,GAAG,SAAS,CAe3B"}
@@ -1,27 +1,27 @@
1
1
  // Stash entry + file schema and pure parsing/validation helpers.
2
2
  //
3
- // Every disk format is validated on read, so a corrupt or hand-edited stash file
4
- // can never crash the editor: an unparseable file is treated as empty and
5
- // quarantined by the store. Keeping this module free of fs dependencies makes
6
- // the schema fully unit-testable.
3
+ // Validate persisted drafts before restoring them into the editor. The store
4
+ // owns quarantine and I/O failures; these pure helpers only validate structure
5
+ // and sanitize text, without making filesystem recovery guarantees.
7
6
  import { randomUUID } from 'node:crypto';
8
7
  import { stripControlCharacters } from "../text.js";
9
8
  export const STASH_SCHEMA_VERSION = 2;
10
- /** A stash longer than this is refused rather than stored. */
11
- export const MAX_STASH_ENTRY_BYTES = 1_048_576;
9
+ /** Bound the text one newly parked draft adds to the in-memory bank and later editor restore. */
10
+ const MAX_STASH_ENTRY_BYTES = 1_048_576;
11
+ // Ids also serve as command selectors; keep them bounded and free of whitespace and terminal controls.
12
12
  const ENTRY_ID_MAX_LENGTH = 128;
13
13
  const ENTRY_ID_PATTERN = /^[A-Za-z0-9][A-Za-z0-9._-]*$/u;
14
14
  const NUMERIC_SELECTOR_PATTERN = /^\d+$/u;
15
15
  const INVALID_ENTRY_ID_MESSAGE = 'invalid stash entry id';
16
16
  const ENTRY_TOO_LARGE_MESSAGE = 'stashed draft is too large';
17
- export function isSafeEntryId(value) {
17
+ function isSafeEntryId(value) {
18
18
  return value.length <= ENTRY_ID_MAX_LENGTH && ENTRY_ID_PATTERN.test(value);
19
19
  }
20
20
  export function assertSafeEntryId(value) {
21
21
  if (!isSafeEntryId(value))
22
22
  throw new Error(INVALID_ENTRY_ID_MESSAGE);
23
23
  }
24
- /** Refuse one draft that no amount of storage capacity could justify holding. */
24
+ /** Keep the per-draft admission limit separate from the serialized bank-size cap. */
25
25
  export function assertSafeStashText(text) {
26
26
  if (Buffer.byteLength(text, 'utf8') > MAX_STASH_ENTRY_BYTES)
27
27
  throw new Error(ENTRY_TOO_LARGE_MESSAGE);
@@ -30,6 +30,7 @@ export function assertSafeStashText(text) {
30
30
  export function sanitizeStashText(text) {
31
31
  return stripControlCharacters(text);
32
32
  }
33
+ /** Drafts and lock claims need independently generated identities without a shared counter across surfaces. */
33
34
  export const createNewId = () => randomUUID();
34
35
  export function createEmptyStashFile(sessionId) {
35
36
  return { version: STASH_SCHEMA_VERSION, sessionId, entries: [] };
@@ -40,7 +41,7 @@ export function isRecord(value) {
40
41
  function isValidTimestamp(value) {
41
42
  return typeof value === 'number' && Number.isFinite(value) && !Number.isNaN(new Date(value).getTime());
42
43
  }
43
- export function normalizeEntry(raw) {
44
+ function normalizeEntry(raw) {
44
45
  if (!isRecord(raw))
45
46
  return undefined;
46
47
  const { id, text, createdAt } = raw;
@@ -96,6 +97,7 @@ export function resolveBySelector(entries, selector) {
96
97
  const entry = entries[0];
97
98
  return entry === undefined ? undefined : { entry, index: 0 };
98
99
  }
100
+ // Numeric ids are valid too; prefer exact identity so position changes cannot retarget an id selector.
99
101
  const index = entries.findIndex(entry => entry.id === trimmed);
100
102
  if (index >= 0)
101
103
  return { entry: entries[index], index };
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/stash/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/stash/schema.ts"],"names":[],"mappings":"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"}