@north-light/api 0.3.580 → 0.3.587

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 (1671) hide show
  1. package/dist/api/client.d.ts +9 -2
  2. package/dist/api/client.js +22 -0
  3. package/dist/api/contract.d.ts +1 -1
  4. package/dist/api/contract.js +1 -1
  5. package/dist/api/dto/bash-jobs.d.ts +17 -0
  6. package/dist/api/dto/bash-jobs.js +2 -0
  7. package/dist/api/dto/execution-start.d.ts +14 -0
  8. package/dist/api/dto/health.d.ts +22 -0
  9. package/dist/api/dto/imports.d.ts +142 -0
  10. package/dist/api/dto/imports.js +2 -0
  11. package/dist/api/error-codes.d.ts +5 -0
  12. package/dist/api/error-codes.js +2 -0
  13. package/dist/api/errors.js +2 -1
  14. package/dist/api/index.d.ts +1 -0
  15. package/dist/api/index.js +1 -0
  16. package/dist/api/routes.d.ts +3 -0
  17. package/dist/api/routes.js +3 -0
  18. package/dist/build-root.d.ts +66 -0
  19. package/dist/build-root.js +401 -0
  20. package/dist/clients/attach/ansi-cells.d.ts +44 -0
  21. package/dist/clients/attach/ansi-cells.js +137 -0
  22. package/dist/clients/attach/chrome/bash-jobs.d.ts +16 -0
  23. package/dist/clients/attach/chrome/bash-jobs.js +34 -0
  24. package/dist/clients/attach/chrome/canvas-panels.d.ts +43 -0
  25. package/dist/clients/attach/chrome/canvas-panels.js +227 -0
  26. package/dist/clients/attach/chrome/completion-bell.d.ts +10 -0
  27. package/dist/clients/attach/chrome/completion-bell.js +89 -0
  28. package/dist/clients/attach/chrome/cron-wait.d.ts +3 -0
  29. package/dist/clients/attach/chrome/cron-wait.js +34 -0
  30. package/dist/clients/attach/chrome/git-info.d.ts +20 -0
  31. package/dist/clients/attach/chrome/git-info.js +44 -0
  32. package/dist/clients/attach/chrome/header.d.ts +10 -0
  33. package/dist/clients/attach/chrome/header.js +30 -0
  34. package/dist/clients/attach/chrome/inbox-strip.d.ts +36 -0
  35. package/dist/clients/attach/chrome/inbox-strip.js +219 -0
  36. package/dist/clients/attach/chrome/key-hint.d.ts +9 -0
  37. package/dist/clients/attach/chrome/key-hint.js +16 -0
  38. package/dist/clients/attach/chrome/object-wait.d.ts +4 -0
  39. package/dist/clients/attach/chrome/object-wait.js +24 -0
  40. package/dist/clients/attach/chrome/recap.d.ts +7 -0
  41. package/dist/clients/attach/chrome/recap.js +19 -0
  42. package/dist/clients/attach/chrome/review-wait.d.ts +6 -0
  43. package/dist/clients/attach/chrome/review-wait.js +22 -0
  44. package/dist/clients/attach/chrome/roster.d.ts +39 -0
  45. package/dist/clients/attach/chrome/roster.js +294 -0
  46. package/dist/clients/attach/chrome/status-line.d.ts +38 -0
  47. package/dist/clients/attach/chrome/status-line.js +127 -0
  48. package/dist/clients/attach/chrome/ticket-panel.d.ts +29 -0
  49. package/dist/clients/attach/chrome/ticket-panel.js +280 -0
  50. package/dist/clients/attach/chrome/widgets.d.ts +9 -0
  51. package/dist/clients/attach/chrome/widgets.js +51 -0
  52. package/dist/clients/attach/command.d.ts +3 -0
  53. package/dist/clients/attach/command.js +107 -0
  54. package/dist/clients/attach/config.d.ts +95 -0
  55. package/dist/clients/attach/config.js +275 -0
  56. package/dist/clients/attach/input/capabilities.d.ts +30 -0
  57. package/dist/clients/attach/input/capabilities.js +112 -0
  58. package/dist/clients/attach/input/clipboard-image.d.ts +55 -0
  59. package/dist/clients/attach/input/clipboard-image.js +237 -0
  60. package/dist/clients/attach/input/completion-frecency.d.ts +45 -0
  61. package/dist/clients/attach/input/completion-frecency.js +141 -0
  62. package/dist/clients/attach/input/controller.d.ts +92 -0
  63. package/dist/clients/attach/input/controller.js +383 -0
  64. package/dist/clients/attach/input/overlay-owner.d.ts +41 -0
  65. package/dist/clients/attach/input/overlay-owner.js +199 -0
  66. package/dist/clients/attach/input/ref-autocomplete.d.ts +77 -0
  67. package/dist/clients/attach/input/ref-autocomplete.js +176 -0
  68. package/dist/clients/attach/input/titled-editor.d.ts +225 -0
  69. package/dist/clients/attach/input/titled-editor.js +859 -0
  70. package/dist/clients/attach/overlays/auth.d.ts +13 -0
  71. package/dist/clients/attach/overlays/auth.js +247 -0
  72. package/dist/clients/attach/overlays/dialogs.d.ts +27 -0
  73. package/dist/clients/attach/overlays/dialogs.js +102 -0
  74. package/dist/clients/attach/overlays/file-review.d.ts +10 -0
  75. package/dist/clients/attach/overlays/file-review.js +146 -0
  76. package/dist/clients/attach/overlays/graph.d.ts +83 -0
  77. package/dist/clients/attach/overlays/graph.js +725 -0
  78. package/dist/clients/attach/overlays/help.d.ts +33 -0
  79. package/dist/clients/attach/overlays/help.js +214 -0
  80. package/dist/clients/attach/overlays/mcp.d.ts +32 -0
  81. package/dist/clients/attach/overlays/mcp.js +302 -0
  82. package/dist/clients/attach/overlays/pickers.d.ts +56 -0
  83. package/dist/clients/attach/overlays/pickers.js +163 -0
  84. package/dist/clients/attach/render/activity-slot.d.ts +4 -0
  85. package/dist/clients/attach/render/activity-slot.js +13 -0
  86. package/dist/clients/attach/render/assistant-message.d.ts +13 -0
  87. package/dist/clients/attach/render/assistant-message.js +56 -0
  88. package/dist/clients/attach/render/card-presentation.d.ts +36 -0
  89. package/dist/clients/attach/render/card-presentation.js +222 -0
  90. package/dist/clients/attach/render/chat-view.d.ts +409 -0
  91. package/dist/clients/attach/render/chat-view.js +2108 -0
  92. package/dist/clients/attach/render/condensed-history.d.ts +21 -0
  93. package/dist/clients/attach/render/condensed-history.js +60 -0
  94. package/dist/clients/attach/render/context-message.d.ts +22 -0
  95. package/dist/clients/attach/render/context-message.js +63 -0
  96. package/dist/clients/attach/render/crtr-output.d.ts +52 -0
  97. package/dist/clients/attach/render/crtr-output.js +721 -0
  98. package/dist/clients/attach/render/diagram.d.ts +4 -0
  99. package/dist/clients/attach/render/diagram.js +111 -0
  100. package/dist/clients/attach/render/doc-links.d.ts +36 -0
  101. package/dist/clients/attach/render/doc-links.js +78 -0
  102. package/dist/clients/attach/render/edit-diff.d.ts +12 -0
  103. package/dist/clients/attach/render/edit-diff.js +304 -0
  104. package/dist/clients/attach/render/glyph-codepoints.d.ts +3 -0
  105. package/dist/clients/attach/render/glyph-codepoints.js +42 -0
  106. package/dist/clients/attach/render/group-activity.d.ts +84 -0
  107. package/dist/clients/attach/render/group-activity.js +276 -0
  108. package/dist/clients/attach/render/group-recap.d.ts +13 -0
  109. package/dist/clients/attach/render/group-recap.js +146 -0
  110. package/dist/clients/attach/render/markdown-source.d.ts +21 -0
  111. package/dist/clients/attach/render/markdown-source.js +279 -0
  112. package/dist/clients/attach/render/measured-container.d.ts +96 -0
  113. package/dist/clients/attach/render/measured-container.js +322 -0
  114. package/dist/clients/attach/render/page-block.d.ts +39 -0
  115. package/dist/clients/attach/render/page-block.js +187 -0
  116. package/dist/clients/attach/render/scroll-animation.d.ts +8 -0
  117. package/dist/clients/attach/render/scroll-animation.js +80 -0
  118. package/dist/clients/attach/render/tool-calls.d.ts +53 -0
  119. package/dist/clients/attach/render/tool-calls.js +350 -0
  120. package/dist/clients/attach/render/transcript-copy.d.ts +9 -0
  121. package/dist/clients/attach/render/transcript-copy.js +81 -0
  122. package/dist/clients/attach/render/transcript-search.d.ts +28 -0
  123. package/dist/clients/attach/render/transcript-search.js +152 -0
  124. package/dist/clients/attach/render/viewport.d.ts +38 -0
  125. package/dist/clients/attach/render/viewport.js +184 -0
  126. package/dist/clients/attach/session/banner.d.ts +13 -0
  127. package/dist/clients/attach/session/banner.js +33 -0
  128. package/dist/clients/attach/session/bindings.d.ts +20 -0
  129. package/dist/clients/attach/session/bindings.js +71 -0
  130. package/dist/clients/attach/session/chrome-refresh.d.ts +49 -0
  131. package/dist/clients/attach/session/chrome-refresh.js +154 -0
  132. package/dist/clients/attach/session/connection.d.ts +54 -0
  133. package/dist/clients/attach/session/connection.js +204 -0
  134. package/dist/clients/attach/session/context.d.ts +59 -0
  135. package/dist/clients/attach/session/context.js +16 -0
  136. package/dist/clients/attach/session/document-links.d.ts +12 -0
  137. package/dist/clients/attach/session/document-links.js +43 -0
  138. package/dist/clients/attach/session/editor-frame.d.ts +47 -0
  139. package/dist/clients/attach/session/editor-frame.js +142 -0
  140. package/dist/clients/attach/session/editor-inventory.d.ts +63 -0
  141. package/dist/clients/attach/session/editor-inventory.js +156 -0
  142. package/dist/clients/attach/session/file-links.d.ts +22 -0
  143. package/dist/clients/attach/session/file-links.js +73 -0
  144. package/dist/clients/attach/session/focus-events.d.ts +4 -0
  145. package/dist/clients/attach/session/focus-events.js +12 -0
  146. package/dist/clients/attach/session/frame.d.ts +46 -0
  147. package/dist/clients/attach/session/frame.js +214 -0
  148. package/dist/clients/attach/session/frames.d.ts +51 -0
  149. package/dist/clients/attach/session/frames.js +203 -0
  150. package/dist/clients/attach/session/identity.d.ts +16 -0
  151. package/dist/clients/attach/session/identity.js +26 -0
  152. package/dist/clients/attach/session/input-wiring.d.ts +53 -0
  153. package/dist/clients/attach/session/input-wiring.js +146 -0
  154. package/dist/clients/attach/session/invariant.d.ts +9 -0
  155. package/dist/clients/attach/session/invariant.js +15 -0
  156. package/dist/clients/attach/session/keys.d.ts +46 -0
  157. package/dist/clients/attach/session/keys.js +77 -0
  158. package/dist/clients/attach/session/layout.d.ts +22 -0
  159. package/dist/clients/attach/session/layout.js +59 -0
  160. package/dist/clients/attach/session/mouse.d.ts +27 -0
  161. package/dist/clients/attach/session/mouse.js +78 -0
  162. package/dist/clients/attach/session/pane-focus.d.ts +8 -0
  163. package/dist/clients/attach/session/pane-focus.js +42 -0
  164. package/dist/clients/attach/session/pane-tag.d.ts +44 -0
  165. package/dist/clients/attach/session/pane-tag.js +112 -0
  166. package/dist/clients/attach/session/pi-assets.d.ts +1 -0
  167. package/dist/clients/attach/session/pi-assets.js +24 -0
  168. package/dist/clients/attach/session/pi-oauth-flows.d.ts +1 -0
  169. package/dist/clients/attach/session/pi-oauth-flows.js +21 -0
  170. package/dist/clients/attach/session/profile-files.d.ts +17 -0
  171. package/dist/clients/attach/session/profile-files.js +207 -0
  172. package/dist/clients/attach/session/readonly-popup.d.ts +15 -0
  173. package/dist/clients/attach/session/readonly-popup.js +25 -0
  174. package/dist/clients/attach/session/reconnect.d.ts +46 -0
  175. package/dist/clients/attach/session/reconnect.js +195 -0
  176. package/dist/clients/attach/session/selection.d.ts +28 -0
  177. package/dist/clients/attach/session/selection.js +108 -0
  178. package/dist/clients/attach/session/state-sync.d.ts +38 -0
  179. package/dist/clients/attach/session/state-sync.js +67 -0
  180. package/dist/clients/attach/session/surface-frame.d.ts +20 -0
  181. package/dist/clients/attach/session/surface-frame.js +73 -0
  182. package/dist/clients/attach/session/surface-host.d.ts +65 -0
  183. package/dist/clients/attach/session/surface-host.js +256 -0
  184. package/dist/clients/attach/session/teardown.d.ts +30 -0
  185. package/dist/clients/attach/session/teardown.js +94 -0
  186. package/dist/clients/attach/session/transcript-search.d.ts +20 -0
  187. package/dist/clients/attach/session/transcript-search.js +151 -0
  188. package/dist/clients/attach/session/whip-achievements.d.ts +4 -0
  189. package/dist/clients/attach/session/whip-achievements.js +145 -0
  190. package/dist/clients/attach/session/whip.d.ts +20 -0
  191. package/dist/clients/attach/session/whip.js +362 -0
  192. package/dist/clients/attach/slash/dispatch.d.ts +120 -0
  193. package/dist/clients/attach/slash/dispatch.js +748 -0
  194. package/dist/clients/attach/slash/prompt-preview.d.ts +30 -0
  195. package/dist/clients/attach/slash/prompt-preview.js +121 -0
  196. package/dist/clients/attach/viewer.d.ts +8 -0
  197. package/dist/clients/attach/viewer.js +873 -0
  198. package/dist/clients/conversation/projection.d.ts +79 -0
  199. package/dist/clients/conversation/projection.js +324 -0
  200. package/dist/clients/conversation/submit.d.ts +38 -0
  201. package/dist/clients/conversation/submit.js +51 -0
  202. package/dist/clients/dashboard/app.d.ts +7 -0
  203. package/dist/clients/dashboard/app.js +438 -0
  204. package/dist/clients/dashboard/model.d.ts +39 -0
  205. package/dist/clients/dashboard/model.js +77 -0
  206. package/dist/clients/dashboard/render.d.ts +29 -0
  207. package/dist/clients/dashboard/render.js +148 -0
  208. package/dist/clients/inbox/controller.d.ts +174 -0
  209. package/dist/clients/inbox/controller.js +816 -0
  210. package/dist/clients/inbox/dto-adapt.d.ts +28 -0
  211. package/dist/clients/inbox/dto-adapt.js +93 -0
  212. package/dist/clients/inbox/layout.d.ts +8 -0
  213. package/dist/clients/inbox/layout.js +9 -0
  214. package/dist/clients/inbox/page-adapter.d.ts +33 -0
  215. package/dist/clients/inbox/page-adapter.js +55 -0
  216. package/dist/clients/inbox/resolve.d.ts +16 -0
  217. package/dist/clients/inbox/resolve.js +35 -0
  218. package/dist/clients/inbox/review/anchors.d.ts +41 -0
  219. package/dist/clients/inbox/review/anchors.js +89 -0
  220. package/dist/clients/inbox/review/comments-client.d.ts +74 -0
  221. package/dist/clients/inbox/review/comments-client.js +103 -0
  222. package/dist/clients/inbox/review/companion-pane.d.ts +47 -0
  223. package/dist/clients/inbox/review/companion-pane.js +109 -0
  224. package/dist/clients/inbox/review/document-surface.d.ts +212 -0
  225. package/dist/clients/inbox/review/document-surface.js +1268 -0
  226. package/dist/clients/inbox/review/frame.d.ts +57 -0
  227. package/dist/clients/inbox/review/frame.js +309 -0
  228. package/dist/clients/inbox/review/keys.d.ts +69 -0
  229. package/dist/clients/inbox/review/keys.js +133 -0
  230. package/dist/clients/inbox/review/launch.d.ts +16 -0
  231. package/dist/clients/inbox/review/launch.js +170 -0
  232. package/dist/clients/inbox/review/live-source.d.ts +24 -0
  233. package/dist/clients/inbox/review/live-source.js +160 -0
  234. package/dist/clients/inbox/review/nvim.d.ts +15 -0
  235. package/dist/clients/inbox/review/nvim.js +43 -0
  236. package/dist/clients/inbox/review/remap.d.ts +51 -0
  237. package/dist/clients/inbox/review/remap.js +157 -0
  238. package/dist/clients/inbox/review/review-client.d.ts +43 -0
  239. package/dist/clients/inbox/review/review-client.js +123 -0
  240. package/dist/clients/inbox/review/roundtrip.d.ts +5 -0
  241. package/dist/clients/inbox/review/roundtrip.js +41 -0
  242. package/dist/clients/inbox/review/state.d.ts +153 -0
  243. package/dist/clients/inbox/review/state.js +315 -0
  244. package/dist/clients/inbox/review-adapter.d.ts +17 -0
  245. package/dist/clients/inbox/review-adapter.js +43 -0
  246. package/dist/clients/inbox/surface.d.ts +25 -0
  247. package/dist/clients/inbox/surface.js +190 -0
  248. package/dist/clients/inbox/tui/ansi.d.ts +68 -0
  249. package/dist/clients/inbox/tui/ansi.js +321 -0
  250. package/dist/clients/inbox/tui/input.d.ts +5 -0
  251. package/dist/clients/inbox/tui/input.js +392 -0
  252. package/dist/clients/inbox/tui/keys.d.ts +28 -0
  253. package/dist/clients/inbox/tui/keys.js +104 -0
  254. package/dist/clients/inbox/tui/page-body.d.ts +10 -0
  255. package/dist/clients/inbox/tui/page-body.js +69 -0
  256. package/dist/clients/inbox/tui/panel.d.ts +4 -0
  257. package/dist/clients/inbox/tui/panel.js +84 -0
  258. package/dist/clients/inbox/tui/render.d.ts +23 -0
  259. package/dist/clients/inbox/tui/render.js +378 -0
  260. package/dist/clients/inbox/tui/slots.d.ts +33 -0
  261. package/dist/clients/inbox/tui/slots.js +134 -0
  262. package/dist/clients/inbox/tui/types.d.ts +73 -0
  263. package/dist/clients/inbox/tui/types.js +1 -0
  264. package/dist/clients/inbox/tui.d.ts +17 -0
  265. package/dist/clients/inbox/tui.js +92 -0
  266. package/dist/clients/surfaces/host.d.ts +74 -0
  267. package/dist/clients/surfaces/host.js +1 -0
  268. package/dist/commands/api-client.d.ts +113 -0
  269. package/dist/commands/api-client.js +427 -0
  270. package/dist/commands/attention.d.ts +2 -0
  271. package/dist/commands/attention.js +215 -0
  272. package/dist/commands/canvas/edges.d.ts +2 -0
  273. package/dist/commands/canvas/edges.js +41 -0
  274. package/dist/commands/canvas/list.d.ts +4 -0
  275. package/dist/commands/canvas/list.js +79 -0
  276. package/dist/commands/canvas/read.d.ts +14 -0
  277. package/dist/commands/canvas/read.js +95 -0
  278. package/dist/commands/canvas/search.d.ts +2 -0
  279. package/dist/commands/canvas/search.js +49 -0
  280. package/dist/commands/canvas/share.d.ts +2 -0
  281. package/dist/commands/canvas/share.js +80 -0
  282. package/dist/commands/canvas/unwatch.d.ts +2 -0
  283. package/dist/commands/canvas/unwatch.js +42 -0
  284. package/dist/commands/canvas/watch.d.ts +3 -0
  285. package/dist/commands/canvas/watch.js +63 -0
  286. package/dist/commands/canvas-analytics/chart.d.ts +52 -0
  287. package/dist/commands/canvas-analytics/chart.js +124 -0
  288. package/dist/commands/canvas-analytics/drilldown.d.ts +34 -0
  289. package/dist/commands/canvas-analytics/drilldown.js +96 -0
  290. package/dist/commands/canvas-analytics/format.d.ts +29 -0
  291. package/dist/commands/canvas-analytics/format.js +106 -0
  292. package/dist/commands/canvas-analytics/graph-detail.d.ts +2 -0
  293. package/dist/commands/canvas-analytics/graph-detail.js +307 -0
  294. package/dist/commands/canvas-analytics/graphs.d.ts +9 -0
  295. package/dist/commands/canvas-analytics/graphs.js +365 -0
  296. package/dist/commands/canvas-analytics/memory.d.ts +2 -0
  297. package/dist/commands/canvas-analytics/memory.js +211 -0
  298. package/dist/commands/canvas-analytics/overview.d.ts +2 -0
  299. package/dist/commands/canvas-analytics/overview.js +189 -0
  300. package/dist/commands/canvas-analytics/shell.d.ts +60 -0
  301. package/dist/commands/canvas-analytics/shell.js +416 -0
  302. package/dist/commands/canvas-analytics/time.d.ts +2 -0
  303. package/dist/commands/canvas-analytics/time.js +228 -0
  304. package/dist/commands/canvas-analytics/usage.d.ts +2 -0
  305. package/dist/commands/canvas-analytics/usage.js +305 -0
  306. package/dist/commands/canvas-analytics/view.d.ts +85 -0
  307. package/dist/commands/canvas-analytics/view.js +102 -0
  308. package/dist/commands/canvas-analytics.d.ts +2 -0
  309. package/dist/commands/canvas-analytics.js +28 -0
  310. package/dist/commands/canvas-browse.d.ts +2 -0
  311. package/dist/commands/canvas-browse.js +71 -0
  312. package/dist/commands/canvas-config.d.ts +2 -0
  313. package/dist/commands/canvas-config.js +192 -0
  314. package/dist/commands/canvas-history/grep.d.ts +1 -0
  315. package/dist/commands/canvas-history/grep.js +85 -0
  316. package/dist/commands/canvas-history/read.d.ts +1 -0
  317. package/dist/commands/canvas-history/read.js +48 -0
  318. package/dist/commands/canvas-history/search.d.ts +1 -0
  319. package/dist/commands/canvas-history/search.js +99 -0
  320. package/dist/commands/canvas-history/shared.d.ts +34 -0
  321. package/dist/commands/canvas-history/shared.js +135 -0
  322. package/dist/commands/canvas-history/stats.d.ts +1 -0
  323. package/dist/commands/canvas-history/stats.js +68 -0
  324. package/dist/commands/canvas-history.d.ts +2 -0
  325. package/dist/commands/canvas-history.js +29 -0
  326. package/dist/commands/canvas-issue.d.ts +2 -0
  327. package/dist/commands/canvas-issue.js +148 -0
  328. package/dist/commands/canvas-prune.d.ts +2 -0
  329. package/dist/commands/canvas-prune.js +111 -0
  330. package/dist/commands/canvas-roster.d.ts +2 -0
  331. package/dist/commands/canvas-roster.js +69 -0
  332. package/dist/commands/canvas-snapshot.d.ts +2 -0
  333. package/dist/commands/canvas-snapshot.js +34 -0
  334. package/dist/commands/canvas-use.d.ts +1 -0
  335. package/dist/commands/canvas-use.js +61 -0
  336. package/dist/commands/canvas.d.ts +3 -0
  337. package/dist/commands/canvas.js +57 -0
  338. package/dist/commands/chord.d.ts +2 -0
  339. package/dist/commands/chord.js +241 -0
  340. package/dist/commands/cron.d.ts +2 -0
  341. package/dist/commands/cron.js +541 -0
  342. package/dist/commands/custom-object/ack.d.ts +2 -0
  343. package/dist/commands/custom-object/ack.js +30 -0
  344. package/dist/commands/custom-object/publish.d.ts +2 -0
  345. package/dist/commands/custom-object/publish.js +39 -0
  346. package/dist/commands/custom-object/receive.d.ts +2 -0
  347. package/dist/commands/custom-object/receive.js +69 -0
  348. package/dist/commands/custom-object/register.d.ts +2 -0
  349. package/dist/commands/custom-object/register.js +69 -0
  350. package/dist/commands/custom-object/shared.d.ts +5 -0
  351. package/dist/commands/custom-object/shared.js +14 -0
  352. package/dist/commands/custom-object/unregister.d.ts +2 -0
  353. package/dist/commands/custom-object/unregister.js +26 -0
  354. package/dist/commands/custom-object.d.ts +2 -0
  355. package/dist/commands/custom-object.js +21 -0
  356. package/dist/commands/dashboard.d.ts +2 -0
  357. package/dist/commands/dashboard.js +86 -0
  358. package/dist/commands/doc/delete.d.ts +2 -0
  359. package/dist/commands/doc/delete.js +30 -0
  360. package/dist/commands/doc/edit.d.ts +2 -0
  361. package/dist/commands/doc/edit.js +82 -0
  362. package/dist/commands/doc/history.d.ts +2 -0
  363. package/dist/commands/doc/history.js +38 -0
  364. package/dist/commands/doc/lint.d.ts +2 -0
  365. package/dist/commands/doc/lint.js +36 -0
  366. package/dist/commands/doc/list.d.ts +2 -0
  367. package/dist/commands/doc/list.js +19 -0
  368. package/dist/commands/doc/move.d.ts +2 -0
  369. package/dist/commands/doc/move.js +37 -0
  370. package/dist/commands/doc/read.d.ts +2 -0
  371. package/dist/commands/doc/read.js +19 -0
  372. package/dist/commands/doc/replace-blocks.d.ts +6 -0
  373. package/dist/commands/doc/replace-blocks.js +40 -0
  374. package/dist/commands/doc/shared.d.ts +25 -0
  375. package/dist/commands/doc/shared.js +160 -0
  376. package/dist/commands/doc/write.d.ts +2 -0
  377. package/dist/commands/doc/write.js +52 -0
  378. package/dist/commands/doc.d.ts +2 -0
  379. package/dist/commands/doc.js +27 -0
  380. package/dist/commands/human/components.d.ts +4 -0
  381. package/dist/commands/human/components.js +78 -0
  382. package/dist/commands/human/feedback.d.ts +2 -0
  383. package/dist/commands/human/feedback.js +112 -0
  384. package/dist/commands/human/prompts.d.ts +21 -0
  385. package/dist/commands/human/prompts.js +326 -0
  386. package/dist/commands/human/queue.d.ts +3 -0
  387. package/dist/commands/human/queue.js +191 -0
  388. package/dist/commands/human/request.d.ts +2 -0
  389. package/dist/commands/human/request.js +266 -0
  390. package/dist/commands/human/review.d.ts +2 -0
  391. package/dist/commands/human/review.js +288 -0
  392. package/dist/commands/human/shared.d.ts +16 -0
  393. package/dist/commands/human/shared.js +67 -0
  394. package/dist/commands/human.d.ts +2 -0
  395. package/dist/commands/human.js +63 -0
  396. package/dist/commands/node/bash.d.ts +1 -0
  397. package/dist/commands/node/bash.js +390 -0
  398. package/dist/commands/node/create.d.ts +6 -0
  399. package/dist/commands/node/create.js +363 -0
  400. package/dist/commands/node/inspect.d.ts +2 -0
  401. package/dist/commands/node/inspect.js +288 -0
  402. package/dist/commands/node/lifecycle.d.ts +4 -0
  403. package/dist/commands/node/lifecycle.js +577 -0
  404. package/dist/commands/node/message.d.ts +1 -0
  405. package/dist/commands/node/message.js +170 -0
  406. package/dist/commands/node/outcome.d.ts +2 -0
  407. package/dist/commands/node/outcome.js +133 -0
  408. package/dist/commands/node/pyramid.d.ts +2 -0
  409. package/dist/commands/node/pyramid.js +79 -0
  410. package/dist/commands/node/subscription.d.ts +1 -0
  411. package/dist/commands/node/subscription.js +78 -0
  412. package/dist/commands/node/wait.d.ts +1 -0
  413. package/dist/commands/node/wait.js +165 -0
  414. package/dist/commands/node-context.d.ts +2 -0
  415. package/dist/commands/node-context.js +145 -0
  416. package/dist/commands/node-lifecycle-revive.d.ts +12 -0
  417. package/dist/commands/node-lifecycle-revive.js +217 -0
  418. package/dist/commands/node-snapshot.d.ts +2 -0
  419. package/dist/commands/node-snapshot.js +37 -0
  420. package/dist/commands/node-transcript.d.ts +2 -0
  421. package/dist/commands/node-transcript.js +59 -0
  422. package/dist/commands/node-worktree.d.ts +2 -0
  423. package/dist/commands/node-worktree.js +138 -0
  424. package/dist/commands/node.d.ts +2 -0
  425. package/dist/commands/node.js +29 -0
  426. package/dist/commands/person-settings.d.ts +1 -0
  427. package/dist/commands/person-settings.js +23 -0
  428. package/dist/commands/pkg/browse/actions.d.ts +7 -0
  429. package/dist/commands/pkg/browse/actions.js +198 -0
  430. package/dist/commands/pkg/browse/catalog.d.ts +9 -0
  431. package/dist/commands/pkg/browse/catalog.js +461 -0
  432. package/dist/commands/pkg/browse/command-view.d.ts +3 -0
  433. package/dist/commands/pkg/browse/command-view.js +217 -0
  434. package/dist/commands/pkg/browse/detail-panel.d.ts +66 -0
  435. package/dist/commands/pkg/browse/detail-panel.js +402 -0
  436. package/dist/commands/pkg/browse/doc-view.d.ts +3 -0
  437. package/dist/commands/pkg/browse/doc-view.js +84 -0
  438. package/dist/commands/pkg/browse/list-panel.d.ts +28 -0
  439. package/dist/commands/pkg/browse/list-panel.js +168 -0
  440. package/dist/commands/pkg/browse/model.d.ts +223 -0
  441. package/dist/commands/pkg/browse/model.js +36 -0
  442. package/dist/commands/pkg/browse/shell.d.ts +93 -0
  443. package/dist/commands/pkg/browse/shell.js +640 -0
  444. package/dist/commands/pkg/browse.d.ts +2 -0
  445. package/dist/commands/pkg/browse.js +27 -0
  446. package/dist/commands/pkg/market-inspect.d.ts +2 -0
  447. package/dist/commands/pkg/market-inspect.js +141 -0
  448. package/dist/commands/pkg/market-manage.d.ts +16 -0
  449. package/dist/commands/pkg/market-manage.js +327 -0
  450. package/dist/commands/pkg/market.d.ts +1 -0
  451. package/dist/commands/pkg/market.js +14 -0
  452. package/dist/commands/pkg/plugin-env.d.ts +3 -0
  453. package/dist/commands/pkg/plugin-env.js +65 -0
  454. package/dist/commands/pkg/plugin-inspect.d.ts +2 -0
  455. package/dist/commands/pkg/plugin-inspect.js +168 -0
  456. package/dist/commands/pkg/plugin-manage.d.ts +98 -0
  457. package/dist/commands/pkg/plugin-manage.js +1024 -0
  458. package/dist/commands/pkg/plugin.d.ts +1 -0
  459. package/dist/commands/pkg/plugin.js +14 -0
  460. package/dist/commands/pkg/shared.d.ts +13 -0
  461. package/dist/commands/pkg/shared.js +62 -0
  462. package/dist/commands/pkg.d.ts +2 -0
  463. package/dist/commands/pkg.js +21 -0
  464. package/dist/commands/profile/daemon-profiles.d.ts +13 -0
  465. package/dist/commands/profile/daemon-profiles.js +38 -0
  466. package/dist/commands/profile/default.d.ts +2 -0
  467. package/dist/commands/profile/default.js +183 -0
  468. package/dist/commands/profile/delete.d.ts +1 -0
  469. package/dist/commands/profile/delete.js +66 -0
  470. package/dist/commands/profile/env.d.ts +8 -0
  471. package/dist/commands/profile/env.js +188 -0
  472. package/dist/commands/profile/kind.d.ts +1 -0
  473. package/dist/commands/profile/kind.js +27 -0
  474. package/dist/commands/profile/list.d.ts +1 -0
  475. package/dist/commands/profile/list.js +45 -0
  476. package/dist/commands/profile/meta.d.ts +4 -0
  477. package/dist/commands/profile/meta.js +65 -0
  478. package/dist/commands/profile/new.d.ts +1 -0
  479. package/dist/commands/profile/new.js +95 -0
  480. package/dist/commands/profile/pause.d.ts +2 -0
  481. package/dist/commands/profile/pause.js +59 -0
  482. package/dist/commands/profile/project.d.ts +2 -0
  483. package/dist/commands/profile/project.js +134 -0
  484. package/dist/commands/profile/rename.d.ts +1 -0
  485. package/dist/commands/profile/rename.js +41 -0
  486. package/dist/commands/profile/show.d.ts +1 -0
  487. package/dist/commands/profile/show.js +55 -0
  488. package/dist/commands/profile.d.ts +2 -0
  489. package/dist/commands/profile.js +35 -0
  490. package/dist/commands/push.d.ts +2 -0
  491. package/dist/commands/push.js +263 -0
  492. package/dist/commands/revive.d.ts +2 -0
  493. package/dist/commands/revive.js +183 -0
  494. package/dist/commands/surface/node/cycle.d.ts +1 -0
  495. package/dist/commands/surface/node/cycle.js +83 -0
  496. package/dist/commands/surface/node/focus.d.ts +1 -0
  497. package/dist/commands/surface/node/focus.js +60 -0
  498. package/dist/commands/surface/node/id.d.ts +1 -0
  499. package/dist/commands/surface/node/id.js +38 -0
  500. package/dist/commands/surface/node/pin.d.ts +1 -0
  501. package/dist/commands/surface/node/pin.js +42 -0
  502. package/dist/commands/surface/node/placement.d.ts +30 -0
  503. package/dist/commands/surface/node/placement.js +49 -0
  504. package/dist/commands/surface-dashboard.d.ts +2 -0
  505. package/dist/commands/surface-dashboard.js +138 -0
  506. package/dist/commands/surface-edit.d.ts +2 -0
  507. package/dist/commands/surface-edit.js +157 -0
  508. package/dist/commands/surface-inbox.d.ts +2 -0
  509. package/dist/commands/surface-inbox.js +98 -0
  510. package/dist/commands/surface-inspect.d.ts +2 -0
  511. package/dist/commands/surface-inspect.js +41 -0
  512. package/dist/commands/surface-node.d.ts +2 -0
  513. package/dist/commands/surface-node.js +19 -0
  514. package/dist/commands/surface-reload.d.ts +7 -0
  515. package/dist/commands/surface-reload.js +129 -0
  516. package/dist/commands/surface-tmux-spread.d.ts +2 -0
  517. package/dist/commands/surface-tmux-spread.js +214 -0
  518. package/dist/commands/surface.d.ts +2 -0
  519. package/dist/commands/surface.js +29 -0
  520. package/dist/commands/sys/branch.d.ts +2 -0
  521. package/dist/commands/sys/branch.js +19 -0
  522. package/dist/commands/sys/config.d.ts +1 -0
  523. package/dist/commands/sys/config.js +353 -0
  524. package/dist/commands/sys/connect.d.ts +1 -0
  525. package/dist/commands/sys/connect.js +185 -0
  526. package/dist/commands/sys/context/admin/actions.d.ts +23 -0
  527. package/dist/commands/sys/context/admin/actions.js +89 -0
  528. package/dist/commands/sys/context/admin/detail-panel.d.ts +73 -0
  529. package/dist/commands/sys/context/admin/detail-panel.js +233 -0
  530. package/dist/commands/sys/context/admin/docs-panel.d.ts +63 -0
  531. package/dist/commands/sys/context/admin/docs-panel.js +185 -0
  532. package/dist/commands/sys/context/admin/list-view.d.ts +62 -0
  533. package/dist/commands/sys/context/admin/list-view.js +170 -0
  534. package/dist/commands/sys/context/admin/model.d.ts +123 -0
  535. package/dist/commands/sys/context/admin/model.js +179 -0
  536. package/dist/commands/sys/context/admin/rail-panel.d.ts +84 -0
  537. package/dist/commands/sys/context/admin/rail-panel.js +229 -0
  538. package/dist/commands/sys/context/admin/read-view.d.ts +27 -0
  539. package/dist/commands/sys/context/admin/read-view.js +172 -0
  540. package/dist/commands/sys/context/admin/shell.d.ts +125 -0
  541. package/dist/commands/sys/context/admin/shell.js +870 -0
  542. package/dist/commands/sys/context/admin.d.ts +1 -0
  543. package/dist/commands/sys/context/admin.js +148 -0
  544. package/dist/commands/sys/context/doc.d.ts +1 -0
  545. package/dist/commands/sys/context/doc.js +126 -0
  546. package/dist/commands/sys/context/expose.d.ts +1 -0
  547. package/dist/commands/sys/context/expose.js +66 -0
  548. package/dist/commands/sys/context/prompt-review.d.ts +1 -0
  549. package/dist/commands/sys/context/prompt-review.js +244 -0
  550. package/dist/commands/sys/context/resolve.d.ts +115 -0
  551. package/dist/commands/sys/context/resolve.js +326 -0
  552. package/dist/commands/sys/context/sysprompt.d.ts +1 -0
  553. package/dist/commands/sys/context/sysprompt.js +95 -0
  554. package/dist/commands/sys/context.d.ts +2 -0
  555. package/dist/commands/sys/context.js +21 -0
  556. package/dist/commands/sys/daemon.d.ts +4 -0
  557. package/dist/commands/sys/daemon.js +334 -0
  558. package/dist/commands/sys/db.d.ts +1 -0
  559. package/dist/commands/sys/db.js +69 -0
  560. package/dist/commands/sys/desktop.d.ts +5 -0
  561. package/dist/commands/sys/desktop.js +201 -0
  562. package/dist/commands/sys/doctor.d.ts +36 -0
  563. package/dist/commands/sys/doctor.js +633 -0
  564. package/dist/commands/sys/env.d.ts +1 -0
  565. package/dist/commands/sys/env.js +39 -0
  566. package/dist/commands/sys/feedback.d.ts +1 -0
  567. package/dist/commands/sys/feedback.js +228 -0
  568. package/dist/commands/sys/import/move.d.ts +55 -0
  569. package/dist/commands/sys/import/move.js +391 -0
  570. package/dist/commands/sys/import/resume.d.ts +1 -0
  571. package/dist/commands/sys/import/resume.js +23 -0
  572. package/dist/commands/sys/import/start.d.ts +4 -0
  573. package/dist/commands/sys/import/start.js +92 -0
  574. package/dist/commands/sys/join.d.ts +3 -0
  575. package/dist/commands/sys/join.js +85 -0
  576. package/dist/commands/sys/limits.d.ts +1 -0
  577. package/dist/commands/sys/limits.js +133 -0
  578. package/dist/commands/sys/logs.d.ts +1 -0
  579. package/dist/commands/sys/logs.js +129 -0
  580. package/dist/commands/sys/machine/rotate.d.ts +1 -0
  581. package/dist/commands/sys/machine/rotate.js +49 -0
  582. package/dist/commands/sys/migrate.d.ts +1 -0
  583. package/dist/commands/sys/migrate.js +79 -0
  584. package/dist/commands/sys/panels/broker-limits-panel.d.ts +17 -0
  585. package/dist/commands/sys/panels/broker-limits-panel.js +110 -0
  586. package/dist/commands/sys/panels/dependencies-panel.d.ts +14 -0
  587. package/dist/commands/sys/panels/dependencies-panel.js +80 -0
  588. package/dist/commands/sys/panels/keybindings-panel.d.ts +56 -0
  589. package/dist/commands/sys/panels/keybindings-panel.js +703 -0
  590. package/dist/commands/sys/panels/models-panel.d.ts +106 -0
  591. package/dist/commands/sys/panels/models-panel.js +1160 -0
  592. package/dist/commands/sys/panels/plugin-env-panel.d.ts +19 -0
  593. package/dist/commands/sys/panels/plugin-env-panel.js +70 -0
  594. package/dist/commands/sys/panels/plugins-panel.d.ts +16 -0
  595. package/dist/commands/sys/panels/plugins-panel.js +87 -0
  596. package/dist/commands/sys/panels/prefs-panel.d.ts +22 -0
  597. package/dist/commands/sys/panels/prefs-panel.js +97 -0
  598. package/dist/commands/sys/panels/profiles-panel.d.ts +70 -0
  599. package/dist/commands/sys/panels/profiles-panel.js +655 -0
  600. package/dist/commands/sys/panels/provider-panel.d.ts +74 -0
  601. package/dist/commands/sys/panels/provider-panel.js +534 -0
  602. package/dist/commands/sys/panels/terminal-panel.d.ts +19 -0
  603. package/dist/commands/sys/panels/terminal-panel.js +67 -0
  604. package/dist/commands/sys/provider-login.d.ts +8 -0
  605. package/dist/commands/sys/provider-login.js +99 -0
  606. package/dist/commands/sys/retry-delivery.d.ts +1 -0
  607. package/dist/commands/sys/retry-delivery.js +33 -0
  608. package/dist/commands/sys/settings-shell.d.ts +54 -0
  609. package/dist/commands/sys/settings-shell.js +400 -0
  610. package/dist/commands/sys/settings.d.ts +2 -0
  611. package/dist/commands/sys/settings.js +46 -0
  612. package/dist/commands/sys/setup-core.d.ts +121 -0
  613. package/dist/commands/sys/setup-core.js +890 -0
  614. package/dist/commands/sys/setup-settings-runner.d.ts +13 -0
  615. package/dist/commands/sys/setup-settings-runner.js +15 -0
  616. package/dist/commands/sys/setup-wizard.d.ts +52 -0
  617. package/dist/commands/sys/setup-wizard.js +351 -0
  618. package/dist/commands/sys/setup.d.ts +6 -0
  619. package/dist/commands/sys/setup.js +41 -0
  620. package/dist/commands/sys/shared.d.ts +51 -0
  621. package/dist/commands/sys/shared.js +81 -0
  622. package/dist/commands/sys/signin.d.ts +7 -0
  623. package/dist/commands/sys/signin.js +149 -0
  624. package/dist/commands/sys/spaces.d.ts +1 -0
  625. package/dist/commands/sys/spaces.js +22 -0
  626. package/dist/commands/sys/spend.d.ts +1 -0
  627. package/dist/commands/sys/spend.js +144 -0
  628. package/dist/commands/sys/support/prepare.d.ts +13 -0
  629. package/dist/commands/sys/support/prepare.js +239 -0
  630. package/dist/commands/sys/support/submit.d.ts +19 -0
  631. package/dist/commands/sys/support/submit.js +524 -0
  632. package/dist/commands/sys/support.d.ts +2 -0
  633. package/dist/commands/sys/support.js +18 -0
  634. package/dist/commands/sys/sync-deps.d.ts +16 -0
  635. package/dist/commands/sys/sync-deps.js +445 -0
  636. package/dist/commands/sys/sync-project-guidance.d.ts +1 -0
  637. package/dist/commands/sys/sync-project-guidance.js +319 -0
  638. package/dist/commands/sys/sync-shared.d.ts +44 -0
  639. package/dist/commands/sys/sync-shared.js +139 -0
  640. package/dist/commands/sys/sync-skills.d.ts +1 -0
  641. package/dist/commands/sys/sync-skills.js +297 -0
  642. package/dist/commands/sys/sync.d.ts +2 -0
  643. package/dist/commands/sys/sync.js +17 -0
  644. package/dist/commands/sys/terminal-option.d.ts +112 -0
  645. package/dist/commands/sys/terminal-option.js +542 -0
  646. package/dist/commands/sys/tutorial/branch.d.ts +1 -0
  647. package/dist/commands/sys/tutorial/branch.js +15 -0
  648. package/dist/commands/sys/tutorial/lessons.d.ts +5 -0
  649. package/dist/commands/sys/tutorial/lessons.js +107 -0
  650. package/dist/commands/sys/tutorial/scenario.d.ts +1 -0
  651. package/dist/commands/sys/tutorial/scenario.js +431 -0
  652. package/dist/commands/sys/tutorial/tracks.d.ts +1 -0
  653. package/dist/commands/sys/tutorial/tracks.js +96 -0
  654. package/dist/commands/sys/update.d.ts +2 -0
  655. package/dist/commands/sys/update.js +157 -0
  656. package/dist/commands/sys/worktrees.d.ts +2 -0
  657. package/dist/commands/sys/worktrees.js +53 -0
  658. package/dist/commands/sys.d.ts +2 -0
  659. package/dist/commands/sys.js +31 -0
  660. package/dist/core/activity-signal.d.ts +7 -0
  661. package/dist/core/activity-signal.js +38 -0
  662. package/dist/core/async-array.d.ts +7 -0
  663. package/dist/core/async-array.js +48 -0
  664. package/dist/core/auth-file.d.ts +35 -0
  665. package/dist/core/auth-file.js +161 -0
  666. package/dist/core/auth-interaction.d.ts +19 -0
  667. package/dist/core/auth-interaction.js +94 -0
  668. package/dist/core/bash-guard.d.ts +6 -0
  669. package/dist/core/bash-guard.js +527 -0
  670. package/dist/core/bash-job-supervisor.d.ts +5 -0
  671. package/dist/core/bash-job-supervisor.js +144 -0
  672. package/dist/core/bash-jobs.d.ts +168 -0
  673. package/dist/core/bash-jobs.js +455 -0
  674. package/dist/core/blobs/directory.d.ts +11 -0
  675. package/dist/core/blobs/directory.js +216 -0
  676. package/dist/core/blobs/fault.d.ts +3 -0
  677. package/dist/core/blobs/fault.js +6 -0
  678. package/dist/core/blobs/index.d.ts +21 -0
  679. package/dist/core/blobs/index.js +30 -0
  680. package/dist/core/blobs/r2.d.ts +13 -0
  681. package/dist/core/blobs/r2.js +104 -0
  682. package/dist/core/broker-client/client.d.ts +89 -0
  683. package/dist/core/broker-client/client.js +184 -0
  684. package/dist/core/broker-client/index.d.ts +2 -0
  685. package/dist/core/broker-client/index.js +14 -0
  686. package/dist/core/broker-client/transport-relay.d.ts +47 -0
  687. package/dist/core/broker-client/transport-relay.js +165 -0
  688. package/dist/core/broker-client/transport-socket.d.ts +35 -0
  689. package/dist/core/broker-client/transport-socket.js +187 -0
  690. package/dist/core/broker-client/transport.d.ts +46 -0
  691. package/dist/core/broker-client/transport.js +40 -0
  692. package/dist/core/canvas/app-run.d.ts +3 -0
  693. package/dist/core/canvas/app-run.js +4 -0
  694. package/dist/core/canvas/attention.d.ts +18 -0
  695. package/dist/core/canvas/attention.js +47 -0
  696. package/dist/core/canvas/browse/app.d.ts +29 -0
  697. package/dist/core/canvas/browse/app.js +1050 -0
  698. package/dist/core/canvas/browse/model.d.ts +176 -0
  699. package/dist/core/canvas/browse/model.js +477 -0
  700. package/dist/core/canvas/browse/pins.d.ts +4 -0
  701. package/dist/core/canvas/browse/pins.js +29 -0
  702. package/dist/core/canvas/browse/render.d.ts +103 -0
  703. package/dist/core/canvas/browse/render.js +1058 -0
  704. package/dist/core/canvas/canvas.d.ts +409 -0
  705. package/dist/core/canvas/canvas.js +1206 -0
  706. package/dist/core/canvas/crons.d.ts +322 -0
  707. package/dist/core/canvas/crons.js +541 -0
  708. package/dist/core/canvas/daemon-actions.d.ts +42 -0
  709. package/dist/core/canvas/daemon-actions.js +98 -0
  710. package/dist/core/canvas/db.d.ts +60 -0
  711. package/dist/core/canvas/db.js +426 -0
  712. package/dist/core/canvas/deliveries.d.ts +125 -0
  713. package/dist/core/canvas/deliveries.js +393 -0
  714. package/dist/core/canvas/delivery-contract.d.ts +37 -0
  715. package/dist/core/canvas/delivery-contract.js +30 -0
  716. package/dist/core/canvas/executions.d.ts +125 -0
  717. package/dist/core/canvas/executions.js +279 -0
  718. package/dist/core/canvas/extensions.d.ts +9 -0
  719. package/dist/core/canvas/extensions.js +90 -0
  720. package/dist/core/canvas/focuses.d.ts +26 -0
  721. package/dist/core/canvas/focuses.js +82 -0
  722. package/dist/core/canvas/history.d.ts +104 -0
  723. package/dist/core/canvas/history.js +480 -0
  724. package/dist/core/canvas/index.d.ts +14 -0
  725. package/dist/core/canvas/index.js +16 -0
  726. package/dist/core/canvas/install-id.d.ts +9 -0
  727. package/dist/core/canvas/install-id.js +64 -0
  728. package/dist/core/canvas/labels.d.ts +30 -0
  729. package/dist/core/canvas/labels.js +43 -0
  730. package/dist/core/canvas/legacy-person.d.ts +4 -0
  731. package/dist/core/canvas/legacy-person.js +4 -0
  732. package/dist/core/canvas/memory-reads.d.ts +24 -0
  733. package/dist/core/canvas/memory-reads.js +36 -0
  734. package/dist/core/canvas/meta-file.d.ts +20 -0
  735. package/dist/core/canvas/meta-file.js +89 -0
  736. package/dist/core/canvas/nav-render.d.ts +136 -0
  737. package/dist/core/canvas/nav-render.js +224 -0
  738. package/dist/core/canvas/node-agent-paths.d.ts +8 -0
  739. package/dist/core/canvas/node-agent-paths.js +30 -0
  740. package/dist/core/canvas/node-order.d.ts +24 -0
  741. package/dist/core/canvas/node-order.js +37 -0
  742. package/dist/core/canvas/node-recap.d.ts +23 -0
  743. package/dist/core/canvas/node-recap.js +62 -0
  744. package/dist/core/canvas/node-tokens.d.ts +19 -0
  745. package/dist/core/canvas/node-tokens.js +53 -0
  746. package/dist/core/canvas/outcome-actions.d.ts +23 -0
  747. package/dist/core/canvas/outcome-actions.js +71 -0
  748. package/dist/core/canvas/person.d.ts +32 -0
  749. package/dist/core/canvas/person.js +244 -0
  750. package/dist/core/canvas/pid.d.ts +6 -0
  751. package/dist/core/canvas/pid.js +20 -10
  752. package/dist/core/canvas/reconciler-leases.d.ts +12 -0
  753. package/dist/core/canvas/reconciler-leases.js +40 -0
  754. package/dist/core/canvas/recovery.d.ts +127 -0
  755. package/dist/core/canvas/recovery.js +713 -0
  756. package/dist/core/canvas/remote-canvas-source.d.ts +71 -0
  757. package/dist/core/canvas/remote-canvas-source.js +290 -0
  758. package/dist/core/canvas/remote-transport.d.ts +7 -0
  759. package/dist/core/canvas/remote-transport.js +57 -0
  760. package/dist/core/canvas/render-source.d.ts +193 -0
  761. package/dist/core/canvas/render-source.js +518 -0
  762. package/dist/core/canvas/schema-chain.d.ts +33 -0
  763. package/dist/core/canvas/schema-chain.js +110 -0
  764. package/dist/core/canvas/schema-version.d.ts +30 -0
  765. package/dist/core/canvas/schema-version.js +58 -0
  766. package/dist/core/canvas/sessions.d.ts +54 -0
  767. package/dist/core/canvas/sessions.js +128 -0
  768. package/dist/core/canvas/source.d.ts +52 -0
  769. package/dist/core/canvas/source.js +57 -0
  770. package/dist/core/canvas/status-glyph.d.ts +52 -0
  771. package/dist/core/canvas/status-glyph.js +132 -0
  772. package/dist/core/canvas/structured-requests.d.ts +69 -0
  773. package/dist/core/canvas/structured-requests.js +176 -0
  774. package/dist/core/canvas/telemetry.d.ts +14 -0
  775. package/dist/core/canvas/telemetry.js +35 -0
  776. package/dist/core/canvas/tree.d.ts +33 -0
  777. package/dist/core/canvas/tree.js +128 -0
  778. package/dist/core/canvas/types.d.ts +461 -0
  779. package/dist/core/canvas/types.js +6 -0
  780. package/dist/core/canvas/waits.d.ts +39 -0
  781. package/dist/core/canvas/waits.js +104 -0
  782. package/dist/core/canvas/worktrees.d.ts +41 -0
  783. package/dist/core/canvas/worktrees.js +97 -0
  784. package/dist/core/clipboard-text.d.ts +11 -0
  785. package/dist/core/clipboard-text.js +57 -0
  786. package/dist/core/command-hooks/artifact.d.ts +16 -0
  787. package/dist/core/command-hooks/artifact.js +145 -0
  788. package/dist/core/command-hooks/catalog.d.ts +14 -0
  789. package/dist/core/command-hooks/catalog.js +38 -0
  790. package/dist/core/command-hooks/compose.d.ts +15 -0
  791. package/dist/core/command-hooks/compose.js +101 -0
  792. package/dist/core/command-hooks/discovery.d.ts +133 -0
  793. package/dist/core/command-hooks/discovery.js +246 -0
  794. package/dist/core/command-hooks/help.d.ts +5 -0
  795. package/dist/core/command-hooks/help.js +18 -0
  796. package/dist/core/command-hooks/lifecycle-catalog.d.ts +21 -0
  797. package/dist/core/command-hooks/lifecycle-catalog.js +9 -0
  798. package/dist/core/command-hooks/lifecycle-create.d.ts +4 -0
  799. package/dist/core/command-hooks/lifecycle-create.js +51 -0
  800. package/dist/core/command-hooks/report.d.ts +32 -0
  801. package/dist/core/command-hooks/report.js +28 -0
  802. package/dist/core/command-hooks/schema.d.ts +42 -0
  803. package/dist/core/command-hooks/schema.js +157 -0
  804. package/dist/core/command-hooks/transport/exec-invoke.d.ts +24 -0
  805. package/dist/core/command-hooks/transport/exec-invoke.js +315 -0
  806. package/dist/core/command-hooks/transport/exec-lifecycle.d.ts +23 -0
  807. package/dist/core/command-hooks/transport/exec-lifecycle.js +248 -0
  808. package/dist/core/command-hooks/transport/plan.d.ts +3 -0
  809. package/dist/core/command-hooks/transport/plan.js +30 -0
  810. package/dist/core/command-manifests/registry.d.ts +68 -0
  811. package/dist/core/command-manifests/registry.js +118 -0
  812. package/dist/core/command-plugins/caller-header.d.ts +10 -0
  813. package/dist/core/command-plugins/caller-header.js +15 -0
  814. package/dist/core/command-plugins/compose.d.ts +11 -0
  815. package/dist/core/command-plugins/compose.js +241 -0
  816. package/dist/core/command-plugins/discovery.d.ts +49 -0
  817. package/dist/core/command-plugins/discovery.js +240 -0
  818. package/dist/core/command-plugins/extensions.d.ts +20 -0
  819. package/dist/core/command-plugins/extensions.js +166 -0
  820. package/dist/core/command-plugins/help-addenda.d.ts +25 -0
  821. package/dist/core/command-plugins/help-addenda.js +55 -0
  822. package/dist/core/command-plugins/presence.d.ts +4 -0
  823. package/dist/core/command-plugins/presence.js +36 -0
  824. package/dist/core/command-plugins/transport/exec-invoke.d.ts +42 -0
  825. package/dist/core/command-plugins/transport/exec-invoke.js +138 -0
  826. package/dist/core/command-plugins/transport/http-fetch.d.ts +41 -0
  827. package/dist/core/command-plugins/transport/http-fetch.js +68 -0
  828. package/dist/core/command-plugins/transport/http-invoke.d.ts +22 -0
  829. package/dist/core/command-plugins/transport/http-invoke.js +333 -0
  830. package/dist/core/command-plugins/transport/http-plan.d.ts +75 -0
  831. package/dist/core/command-plugins/transport/http-plan.js +349 -0
  832. package/dist/core/command-plugins/transport/sign.d.ts +55 -0
  833. package/dist/core/command-plugins/transport/sign.js +115 -0
  834. package/dist/core/command.d.ts +238 -0
  835. package/dist/core/command.js +848 -0
  836. package/dist/core/conversation-store/row-store.d.ts +14 -0
  837. package/dist/core/conversation-store/row-store.js +337 -0
  838. package/dist/core/directory/issuer.d.ts +8 -0
  839. package/dist/core/directory/issuer.js +15 -0
  840. package/dist/core/directory/join.d.ts +57 -0
  841. package/dist/core/directory/join.js +218 -0
  842. package/dist/core/directory/person-credential.d.ts +61 -0
  843. package/dist/core/directory/person-credential.js +220 -0
  844. package/dist/core/directory/reach.d.ts +3 -0
  845. package/dist/core/directory/reach.js +19 -0
  846. package/dist/core/document-lines.d.ts +4 -0
  847. package/dist/core/document-lines.js +6 -0
  848. package/dist/core/editor-resolver.d.ts +28 -0
  849. package/dist/core/editor-resolver.js +77 -0
  850. package/dist/core/environments.d.ts +21 -0
  851. package/dist/core/environments.js +56 -0
  852. package/dist/core/events/outbound.d.ts +21 -0
  853. package/dist/core/events/outbound.js +92 -0
  854. package/dist/core/events/read.d.ts +40 -0
  855. package/dist/core/events/read.js +625 -0
  856. package/dist/core/fault-classifier.d.ts +36 -0
  857. package/dist/core/fault-classifier.js +101 -0
  858. package/dist/core/feed/feed.d.ts +63 -0
  859. package/dist/core/feed/feed.js +190 -0
  860. package/dist/core/feed/inbox.d.ts +34 -0
  861. package/dist/core/feed/inbox.js +93 -0
  862. package/dist/core/feed/messages.d.ts +88 -0
  863. package/dist/core/feed/messages.js +206 -0
  864. package/dist/core/feed/reports.d.ts +10 -0
  865. package/dist/core/feed/reports.js +58 -0
  866. package/dist/core/frontmatter.d.ts +8 -0
  867. package/dist/core/frontmatter.js +35 -0
  868. package/dist/core/grants/cover.d.ts +14 -0
  869. package/dist/core/grants/cover.js +66 -0
  870. package/dist/core/grants/local.d.ts +4 -0
  871. package/dist/core/grants/local.js +26 -0
  872. package/dist/core/grants/mirror.d.ts +155 -0
  873. package/dist/core/grants/mirror.js +379 -0
  874. package/dist/core/grants/on-sync.d.ts +26 -0
  875. package/dist/core/grants/on-sync.js +161 -0
  876. package/dist/core/grants/sandboxes.d.ts +7 -0
  877. package/dist/core/grants/sandboxes.js +24 -0
  878. package/dist/core/grants/sync.d.ts +46 -0
  879. package/dist/core/grants/sync.js +195 -0
  880. package/dist/core/grants/terminal.d.ts +10 -0
  881. package/dist/core/grants/terminal.js +25 -0
  882. package/dist/core/graph/access.d.ts +13 -0
  883. package/dist/core/graph/access.js +37 -0
  884. package/dist/core/graph/bodies.d.ts +22 -0
  885. package/dist/core/graph/bodies.js +68 -0
  886. package/dist/core/graph/custom.d.ts +98 -0
  887. package/dist/core/graph/custom.js +298 -0
  888. package/dist/core/graph/deletion.d.ts +16 -0
  889. package/dist/core/graph/deletion.js +104 -0
  890. package/dist/core/graph/documents.d.ts +181 -0
  891. package/dist/core/graph/documents.js +653 -0
  892. package/dist/core/graph/edges.d.ts +41 -0
  893. package/dist/core/graph/edges.js +83 -0
  894. package/dist/core/graph/events.d.ts +49 -0
  895. package/dist/core/graph/events.js +315 -0
  896. package/dist/core/graph/exposures.d.ts +53 -0
  897. package/dist/core/graph/exposures.js +152 -0
  898. package/dist/core/graph/jobs.d.ts +107 -0
  899. package/dist/core/graph/jobs.js +184 -0
  900. package/dist/core/graph/kinds/action.d.ts +3 -0
  901. package/dist/core/graph/kinds/action.js +20 -0
  902. package/dist/core/graph/kinds/custom.d.ts +8 -0
  903. package/dist/core/graph/kinds/custom.js +25 -0
  904. package/dist/core/graph/kinds/document.d.ts +20 -0
  905. package/dist/core/graph/kinds/document.js +133 -0
  906. package/dist/core/graph/kinds/dto.d.ts +5 -0
  907. package/dist/core/graph/kinds/dto.js +11 -0
  908. package/dist/core/graph/kinds/environment.d.ts +2 -0
  909. package/dist/core/graph/kinds/environment.js +21 -0
  910. package/dist/core/graph/kinds/job.d.ts +2 -0
  911. package/dist/core/graph/kinds/job.js +24 -0
  912. package/dist/core/graph/kinds/kind.d.ts +67 -0
  913. package/dist/core/graph/kinds/kind.js +15 -0
  914. package/dist/core/graph/kinds/live-read.d.ts +5 -0
  915. package/dist/core/graph/kinds/live-read.js +11 -0
  916. package/dist/core/graph/kinds/node.d.ts +12 -0
  917. package/dist/core/graph/kinds/node.js +87 -0
  918. package/dist/core/graph/kinds/owner.d.ts +2 -0
  919. package/dist/core/graph/kinds/owner.js +26 -0
  920. package/dist/core/graph/kinds/registry.d.ts +10 -0
  921. package/dist/core/graph/kinds/registry.js +58 -0
  922. package/dist/core/graph/kinds/render.d.ts +9 -0
  923. package/dist/core/graph/kinds/render.js +17 -0
  924. package/dist/core/graph/names.d.ts +57 -0
  925. package/dist/core/graph/names.js +183 -0
  926. package/dist/core/graph/objects.d.ts +88 -0
  927. package/dist/core/graph/objects.js +273 -0
  928. package/dist/core/graph/package-docs.d.ts +41 -0
  929. package/dist/core/graph/package-docs.js +198 -0
  930. package/dist/core/graph/package-files.d.ts +20 -0
  931. package/dist/core/graph/package-files.js +146 -0
  932. package/dist/core/graph/package-kinds.d.ts +22 -0
  933. package/dist/core/graph/package-kinds.js +49 -0
  934. package/dist/core/graph/package-reconcile.d.ts +17 -0
  935. package/dist/core/graph/package-reconcile.js +31 -0
  936. package/dist/core/graph/reader.d.ts +45 -0
  937. package/dist/core/graph/reader.js +218 -0
  938. package/dist/core/graph/receiver-url.d.ts +11 -0
  939. package/dist/core/graph/receiver-url.js +83 -0
  940. package/dist/core/graph/receivers.d.ts +28 -0
  941. package/dist/core/graph/receivers.js +66 -0
  942. package/dist/core/graph/repo-sync/exchange.d.ts +36 -0
  943. package/dist/core/graph/repo-sync/exchange.js +422 -0
  944. package/dist/core/graph/repo-sync/identity.d.ts +32 -0
  945. package/dist/core/graph/repo-sync/identity.js +147 -0
  946. package/dist/core/graph/repo-sync/index.d.ts +4 -0
  947. package/dist/core/graph/repo-sync/index.js +2 -0
  948. package/dist/core/graph/repo-sync/mirror.d.ts +30 -0
  949. package/dist/core/graph/repo-sync/mirror.js +170 -0
  950. package/dist/core/graph/repo-sync/ref-format.d.ts +80 -0
  951. package/dist/core/graph/repo-sync/ref-format.js +215 -0
  952. package/dist/core/graph/repo-sync/repos.d.ts +21 -0
  953. package/dist/core/graph/repo-sync/repos.js +57 -0
  954. package/dist/core/graph/repo-sync/sync.d.ts +40 -0
  955. package/dist/core/graph/repo-sync/sync.js +322 -0
  956. package/dist/core/graph/rules.d.ts +27 -0
  957. package/dist/core/graph/rules.js +134 -0
  958. package/dist/core/graph/types.d.ts +131 -0
  959. package/dist/core/graph/types.js +10 -0
  960. package/dist/core/graph/watches.d.ts +66 -0
  961. package/dist/core/graph/watches.js +177 -0
  962. package/dist/core/human/action-binding.d.ts +23 -0
  963. package/dist/core/human/action-binding.js +41 -0
  964. package/dist/core/human/answer-text.d.ts +5 -0
  965. package/dist/core/human/answer-text.js +100 -0
  966. package/dist/core/human/answer.d.ts +53 -0
  967. package/dist/core/human/answer.js +119 -0
  968. package/dist/core/human/claim.d.ts +23 -0
  969. package/dist/core/human/claim.js +67 -0
  970. package/dist/core/human/completion.d.ts +38 -0
  971. package/dist/core/human/completion.js +27 -0
  972. package/dist/core/human/component-docs.d.ts +18 -0
  973. package/dist/core/human/component-docs.js +442 -0
  974. package/dist/core/human/convention.d.ts +31 -0
  975. package/dist/core/human/convention.js +82 -0
  976. package/dist/core/human/feedback-companion.d.ts +19 -0
  977. package/dist/core/human/feedback-companion.js +92 -0
  978. package/dist/core/human/feedback.d.ts +62 -0
  979. package/dist/core/human/feedback.js +88 -0
  980. package/dist/core/human/page-authoring.d.ts +30 -0
  981. package/dist/core/human/page-authoring.js +19 -0
  982. package/dist/core/human/page-errors.d.ts +8 -0
  983. package/dist/core/human/page-errors.js +14 -0
  984. package/dist/core/human/page-eval.d.ts +25 -0
  985. package/dist/core/human/page-eval.js +125 -0
  986. package/dist/core/human/page-html-markdown.d.ts +8 -0
  987. package/dist/core/human/page-html-markdown.js +260 -0
  988. package/dist/core/human/page-markdown.d.ts +3 -0
  989. package/dist/core/human/page-markdown.js +295 -0
  990. package/dist/core/human/page-schema.d.ts +291 -0
  991. package/dist/core/human/page-schema.js +381 -0
  992. package/dist/core/human/page.d.ts +21 -0
  993. package/dist/core/human/page.js +251 -0
  994. package/dist/core/human/request-files.d.ts +14 -0
  995. package/dist/core/human/request-files.js +54 -0
  996. package/dist/core/human/requests.d.ts +156 -0
  997. package/dist/core/human/requests.js +619 -0
  998. package/dist/core/human/root.d.ts +4 -0
  999. package/dist/core/human/root.js +11 -0
  1000. package/dist/core/human/summary.d.ts +3 -0
  1001. package/dist/core/human/summary.js +5 -0
  1002. package/dist/core/human/tickets.d.ts +68 -0
  1003. package/dist/core/human/tickets.js +175 -0
  1004. package/dist/core/human/types.d.ts +118 -0
  1005. package/dist/core/human/types.js +1 -0
  1006. package/dist/core/human/visible-paths.d.ts +16 -0
  1007. package/dist/core/human/visible-paths.js +74 -0
  1008. package/dist/core/human-actions.d.ts +25 -0
  1009. package/dist/core/human-actions.js +101 -0
  1010. package/dist/core/import/bundle/blob-keys.d.ts +10 -0
  1011. package/dist/core/import/bundle/blob-keys.js +23 -0
  1012. package/dist/core/import/bundle/layout.d.ts +90 -0
  1013. package/dist/core/import/bundle/layout.js +117 -0
  1014. package/dist/core/import/export/archive.d.ts +11 -0
  1015. package/dist/core/import/export/archive.js +22 -0
  1016. package/dist/core/import/export/cloud.d.ts +23 -0
  1017. package/dist/core/import/export/cloud.js +47 -0
  1018. package/dist/core/import/export/dump.d.ts +34 -0
  1019. package/dist/core/import/export/dump.js +235 -0
  1020. package/dist/core/import/export/files.d.ts +22 -0
  1021. package/dist/core/import/export/files.js +107 -0
  1022. package/dist/core/import/export/inline.d.ts +3 -0
  1023. package/dist/core/import/export/inline.js +15 -0
  1024. package/dist/core/import/export/source.d.ts +2 -0
  1025. package/dist/core/import/export/source.js +5 -0
  1026. package/dist/core/import/export/stores.d.ts +9 -0
  1027. package/dist/core/import/export/stores.js +69 -0
  1028. package/dist/core/inspector/chrome.d.ts +6 -0
  1029. package/dist/core/inspector/chrome.js +14 -0
  1030. package/dist/core/inspector/contract.d.ts +105 -0
  1031. package/dist/core/inspector/contract.js +1 -0
  1032. package/dist/core/inspector/core.d.ts +39 -0
  1033. package/dist/core/inspector/core.js +296 -0
  1034. package/dist/core/inspector/host.d.ts +46 -0
  1035. package/dist/core/inspector/host.js +538 -0
  1036. package/dist/core/inspector/model.d.ts +88 -0
  1037. package/dist/core/inspector/model.js +225 -0
  1038. package/dist/core/inspector/text.d.ts +5 -0
  1039. package/dist/core/inspector/text.js +45 -0
  1040. package/dist/core/inspector/transport.d.ts +6 -0
  1041. package/dist/core/inspector/transport.js +36 -0
  1042. package/dist/core/inspector/tui.d.ts +3 -0
  1043. package/dist/core/inspector/tui.js +295 -0
  1044. package/dist/core/io.js +7 -0
  1045. package/dist/core/keybindings/background-bash.d.ts +13 -0
  1046. package/dist/core/keybindings/background-bash.js +33 -0
  1047. package/dist/core/keybindings/catalog.d.ts +1 -1
  1048. package/dist/core/keybindings/inbox.d.ts +18 -0
  1049. package/dist/core/keybindings/inbox.js +25 -0
  1050. package/dist/core/keybindings/index.d.ts +8 -0
  1051. package/dist/core/keybindings/index.js +7 -0
  1052. package/dist/core/keybindings/match.d.ts +44 -0
  1053. package/dist/core/keybindings/match.js +146 -0
  1054. package/dist/core/keybindings/persistence.d.ts +18 -0
  1055. package/dist/core/keybindings/persistence.js +49 -0
  1056. package/dist/core/keybindings/resolve.d.ts +28 -0
  1057. package/dist/core/keybindings/resolve.js +348 -0
  1058. package/dist/core/layout-migrate/index.d.ts +38 -0
  1059. package/dist/core/layout-migrate/index.js +523 -0
  1060. package/dist/core/layout-migrate/paths.d.ts +30 -0
  1061. package/dist/core/layout-migrate/paths.js +118 -0
  1062. package/dist/core/layout-migrate/stored-paths.d.ts +9 -0
  1063. package/dist/core/layout-migrate/stored-paths.js +424 -0
  1064. package/dist/core/layout-migrate/stores.d.ts +30 -0
  1065. package/dist/core/layout-migrate/stores.js +543 -0
  1066. package/dist/core/ledger/account.d.ts +12 -0
  1067. package/dist/core/ledger/account.js +13 -0
  1068. package/dist/core/ledger/charges.d.ts +16 -0
  1069. package/dist/core/ledger/charges.js +43 -0
  1070. package/dist/core/ledger/check.d.ts +48 -0
  1071. package/dist/core/ledger/check.js +38 -0
  1072. package/dist/core/ledger/chunks.d.ts +8 -0
  1073. package/dist/core/ledger/chunks.js +43 -0
  1074. package/dist/core/ledger/index.d.ts +9 -0
  1075. package/dist/core/ledger/index.js +10 -0
  1076. package/dist/core/ledger/infra-allowance.d.ts +7 -0
  1077. package/dist/core/ledger/infra-allowance.js +31 -0
  1078. package/dist/core/ledger/limits.d.ts +10 -0
  1079. package/dist/core/ledger/limits.js +35 -0
  1080. package/dist/core/ledger/months.d.ts +6 -0
  1081. package/dist/core/ledger/months.js +19 -0
  1082. package/dist/core/ledger/payer.d.ts +34 -0
  1083. package/dist/core/ledger/payer.js +14 -0
  1084. package/dist/core/ledger/read.d.ts +57 -0
  1085. package/dist/core/ledger/read.js +194 -0
  1086. package/dist/core/ledger/totals.d.ts +10 -0
  1087. package/dist/core/ledger/totals.js +34 -0
  1088. package/dist/core/ledger/types.d.ts +75 -0
  1089. package/dist/core/ledger/types.js +2 -0
  1090. package/dist/core/llm/app-rungs.d.ts +16 -0
  1091. package/dist/core/llm/app-rungs.js +59 -0
  1092. package/dist/core/llm/body-limits.d.ts +7 -0
  1093. package/dist/core/llm/body-limits.js +7 -0
  1094. package/dist/core/llm/refusal.d.ts +14 -0
  1095. package/dist/core/llm/refusal.js +22 -0
  1096. package/dist/core/locked-file.d.ts +27 -0
  1097. package/dist/core/locked-file.js +121 -0
  1098. package/dist/core/log.d.ts +2 -0
  1099. package/dist/core/log.js +5 -3
  1100. package/dist/core/manifest-stale.d.ts +18 -0
  1101. package/dist/core/manifest-stale.js +39 -0
  1102. package/dist/core/model-auth/api-credential-store.d.ts +10 -0
  1103. package/dist/core/model-auth/api-credential-store.js +40 -0
  1104. package/dist/core/model-auth/daemon-login.d.ts +13 -0
  1105. package/dist/core/model-auth/daemon-login.js +156 -0
  1106. package/dist/core/model-auth/readiness.d.ts +12 -0
  1107. package/dist/core/model-auth/readiness.js +48 -0
  1108. package/dist/core/model-routes-pool.d.ts +14 -0
  1109. package/dist/core/model-routes-pool.js +50 -0
  1110. package/dist/core/model-routes.d.ts +98 -0
  1111. package/dist/core/model-routes.js +190 -0
  1112. package/dist/core/northlight/previews.d.ts +22 -0
  1113. package/dist/core/northlight/previews.js +87 -0
  1114. package/dist/core/nvim-launch.d.ts +7 -0
  1115. package/dist/core/nvim-launch.js +45 -0
  1116. package/dist/core/output.d.ts +35 -0
  1117. package/dist/core/output.js +99 -0
  1118. package/dist/core/pagination.d.ts +35 -0
  1119. package/dist/core/pagination.js +88 -0
  1120. package/dist/core/peer/client.d.ts +61 -0
  1121. package/dist/core/peer/client.js +167 -0
  1122. package/dist/core/peer/directory.d.ts +71 -0
  1123. package/dist/core/peer/directory.js +167 -0
  1124. package/dist/core/peer/envelope.d.ts +46 -0
  1125. package/dist/core/peer/envelope.js +98 -0
  1126. package/dist/core/peer/names.d.ts +5 -0
  1127. package/dist/core/peer/names.js +8 -0
  1128. package/dist/core/peer/outbox-store.d.ts +76 -0
  1129. package/dist/core/peer/outbox-store.js +84 -0
  1130. package/dist/core/peer/receiver.d.ts +8 -0
  1131. package/dist/core/peer/receiver.js +54 -0
  1132. package/dist/core/peer/stubs.d.ts +90 -0
  1133. package/dist/core/peer/stubs.js +208 -0
  1134. package/dist/core/peer/token.d.ts +13 -0
  1135. package/dist/core/peer/token.js +29 -0
  1136. package/dist/core/peer/version.d.ts +16 -0
  1137. package/dist/core/peer/version.js +23 -0
  1138. package/dist/core/permissions/builtin.d.ts +8 -0
  1139. package/dist/core/permissions/builtin.js +27 -0
  1140. package/dist/core/permissions/ceiling.d.ts +57 -0
  1141. package/dist/core/permissions/ceiling.js +319 -0
  1142. package/dist/core/permissions/compile.d.ts +14 -0
  1143. package/dist/core/permissions/compile.js +175 -0
  1144. package/dist/core/permissions/errors.d.ts +7 -0
  1145. package/dist/core/permissions/errors.js +13 -0
  1146. package/dist/core/permissions/evaluator.d.ts +33 -0
  1147. package/dist/core/permissions/evaluator.js +96 -0
  1148. package/dist/core/permissions/facts.d.ts +56 -0
  1149. package/dist/core/permissions/facts.js +102 -0
  1150. package/dist/core/permissions/schema-parser.d.ts +29 -0
  1151. package/dist/core/permissions/schema-parser.js +151 -0
  1152. package/dist/core/permissions/schemas.d.ts +21 -0
  1153. package/dist/core/permissions/schemas.js +83 -0
  1154. package/dist/core/permissions/sql.d.ts +16 -0
  1155. package/dist/core/permissions/sql.js +31 -0
  1156. package/dist/core/plugin-app.d.ts +31 -0
  1157. package/dist/core/plugin-app.js +58 -0
  1158. package/dist/core/plugin-quarantine.d.ts +16 -0
  1159. package/dist/core/plugin-quarantine.js +70 -0
  1160. package/dist/core/pool-credential-store.d.ts +31 -0
  1161. package/dist/core/pool-credential-store.js +116 -0
  1162. package/dist/core/predicate.d.ts +65 -0
  1163. package/dist/core/predicate.js +191 -0
  1164. package/dist/core/preview-registry.d.ts +59 -0
  1165. package/dist/core/preview-registry.js +403 -0
  1166. package/dist/core/profiles/default-binding.d.ts +15 -0
  1167. package/dist/core/profiles/default-binding.js +29 -0
  1168. package/dist/core/profiles/deletion-reservation.d.ts +12 -0
  1169. package/dist/core/profiles/deletion-reservation.js +42 -0
  1170. package/dist/core/profiles/select.d.ts +46 -0
  1171. package/dist/core/profiles/select.js +738 -0
  1172. package/dist/core/provider-credential.d.ts +6 -0
  1173. package/dist/core/provider-credential.js +17 -0
  1174. package/dist/core/provider-error-recognition.d.ts +30 -0
  1175. package/dist/core/provider-error-recognition.js +82 -0
  1176. package/dist/core/provider-failure.d.ts +42 -0
  1177. package/dist/core/provider-failure.js +145 -0
  1178. package/dist/core/provider-management.d.ts +11 -0
  1179. package/dist/core/provider-management.js +9 -0
  1180. package/dist/core/providers/approval.d.ts +23 -0
  1181. package/dist/core/providers/approval.js +146 -0
  1182. package/dist/core/providers/audit.d.ts +30 -0
  1183. package/dist/core/providers/audit.js +52 -0
  1184. package/dist/core/providers/bundles.d.ts +66 -0
  1185. package/dist/core/providers/bundles.js +638 -0
  1186. package/dist/core/providers/call.d.ts +51 -0
  1187. package/dist/core/providers/call.js +480 -0
  1188. package/dist/core/providers/description.d.ts +34 -0
  1189. package/dist/core/providers/description.js +1 -0
  1190. package/dist/core/providers/device-libs.d.ts +71 -0
  1191. package/dist/core/providers/device-libs.js +202 -0
  1192. package/dist/core/providers/device.d.ts +42 -0
  1193. package/dist/core/providers/device.js +95 -0
  1194. package/dist/core/providers/errors.d.ts +99 -0
  1195. package/dist/core/providers/errors.js +136 -0
  1196. package/dist/core/providers/files.d.ts +90 -0
  1197. package/dist/core/providers/files.js +389 -0
  1198. package/dist/core/providers/inflight.d.ts +13 -0
  1199. package/dist/core/providers/inflight.js +14 -0
  1200. package/dist/core/providers/mint.d.ts +29 -0
  1201. package/dist/core/providers/mint.js +219 -0
  1202. package/dist/core/providers/receipts.d.ts +26 -0
  1203. package/dist/core/providers/receipts.js +61 -0
  1204. package/dist/core/providers/request.d.ts +27 -0
  1205. package/dist/core/providers/request.js +173 -0
  1206. package/dist/core/providers/roots.d.ts +23 -0
  1207. package/dist/core/providers/roots.js +118 -0
  1208. package/dist/core/providers/token-cache.d.ts +54 -0
  1209. package/dist/core/providers/token-cache.js +203 -0
  1210. package/dist/core/remote-canvas-target.d.ts +4 -0
  1211. package/dist/core/remote-canvas-target.js +30 -0
  1212. package/dist/core/review/comments.d.ts +69 -0
  1213. package/dist/core/review/comments.js +296 -0
  1214. package/dist/core/review/companion.d.ts +33 -0
  1215. package/dist/core/review/companion.js +208 -0
  1216. package/dist/core/review/signal.d.ts +5 -0
  1217. package/dist/core/review/signal.js +12 -0
  1218. package/dist/core/review/store.d.ts +44 -0
  1219. package/dist/core/review/store.js +178 -0
  1220. package/dist/core/review/types.d.ts +139 -0
  1221. package/dist/core/review/types.js +23 -0
  1222. package/dist/core/runs/activity.d.ts +11 -0
  1223. package/dist/core/runs/activity.js +57 -0
  1224. package/dist/core/runs/events.d.ts +41 -0
  1225. package/dist/core/runs/events.js +179 -0
  1226. package/dist/core/runs/operations.d.ts +85 -0
  1227. package/dist/core/runs/operations.js +741 -0
  1228. package/dist/core/runs/questions.d.ts +80 -0
  1229. package/dist/core/runs/questions.js +151 -0
  1230. package/dist/core/runtime/banner.d.ts +15 -0
  1231. package/dist/core/runtime/banner.js +53 -0
  1232. package/dist/core/runtime/bearings-render.d.ts +62 -0
  1233. package/dist/core/runtime/bearings-render.js +272 -0
  1234. package/dist/core/runtime/bearings.d.ts +56 -0
  1235. package/dist/core/runtime/bearings.js +199 -0
  1236. package/dist/core/runtime/bin-contributions.d.ts +44 -0
  1237. package/dist/core/runtime/bin-contributions.js +186 -0
  1238. package/dist/core/runtime/blaxel-environment.d.ts +2 -0
  1239. package/dist/core/runtime/blaxel-environment.js +8 -0
  1240. package/dist/core/runtime/broker/bash-job-launch.d.ts +12 -0
  1241. package/dist/core/runtime/broker/bash-job-launch.js +50 -0
  1242. package/dist/core/runtime/broker/model-adapter.d.ts +27 -0
  1243. package/dist/core/runtime/broker/model-adapter.js +413 -0
  1244. package/dist/core/runtime/broker/read-ops.d.ts +27 -0
  1245. package/dist/core/runtime/broker/read-ops.js +172 -0
  1246. package/dist/core/runtime/broker/turn-cause.d.ts +7 -0
  1247. package/dist/core/runtime/broker/turn-cause.js +30 -0
  1248. package/dist/core/runtime/broker-protocol.d.ts +727 -0
  1249. package/dist/core/runtime/broker-protocol.js +152 -0
  1250. package/dist/core/runtime/broker-request.d.ts +37 -0
  1251. package/dist/core/runtime/broker-request.js +86 -0
  1252. package/dist/core/runtime/broker-sdk.d.ts +36 -0
  1253. package/dist/core/runtime/broker-sdk.js +130 -0
  1254. package/dist/core/runtime/canvas-extensions.d.ts +34 -0
  1255. package/dist/core/runtime/canvas-extensions.js +100 -0
  1256. package/dist/core/runtime/close.d.ts +49 -0
  1257. package/dist/core/runtime/close.js +266 -0
  1258. package/dist/core/runtime/command-expansion.d.ts +19 -0
  1259. package/dist/core/runtime/command-expansion.js +104 -0
  1260. package/dist/core/runtime/command-surface.d.ts +38 -0
  1261. package/dist/core/runtime/command-surface.js +117 -0
  1262. package/dist/core/runtime/crtr-theme.d.ts +12 -0
  1263. package/dist/core/runtime/crtr-theme.js +146 -0
  1264. package/dist/core/runtime/deliver-live.d.ts +38 -0
  1265. package/dist/core/runtime/deliver-live.js +87 -0
  1266. package/dist/core/runtime/fault-recovery.d.ts +23 -0
  1267. package/dist/core/runtime/fault-recovery.js +83 -0
  1268. package/dist/core/runtime/fault.d.ts +6 -0
  1269. package/dist/core/runtime/fault.js +17 -0
  1270. package/dist/core/runtime/fleet.d.ts +106 -0
  1271. package/dist/core/runtime/fleet.js +75 -0
  1272. package/dist/core/runtime/focus-viewer.d.ts +45 -0
  1273. package/dist/core/runtime/focus-viewer.js +151 -0
  1274. package/dist/core/runtime/front-door-env.d.ts +5 -0
  1275. package/dist/core/runtime/front-door-env.js +16 -0
  1276. package/dist/core/runtime/headless-pi.d.ts +37 -0
  1277. package/dist/core/runtime/headless-pi.js +173 -0
  1278. package/dist/core/runtime/host.d.ts +74 -0
  1279. package/dist/core/runtime/host.js +695 -0
  1280. package/dist/core/runtime/interactive-deliver.d.ts +22 -0
  1281. package/dist/core/runtime/interactive-deliver.js +51 -0
  1282. package/dist/core/runtime/invocation.d.ts +15 -0
  1283. package/dist/core/runtime/invocation.js +10 -0
  1284. package/dist/core/runtime/kickoff.d.ts +37 -0
  1285. package/dist/core/runtime/kickoff.js +263 -0
  1286. package/dist/core/runtime/launch-prompt.d.ts +8 -0
  1287. package/dist/core/runtime/launch-prompt.js +13 -0
  1288. package/dist/core/runtime/launch-target.d.ts +43 -0
  1289. package/dist/core/runtime/launch-target.js +83 -0
  1290. package/dist/core/runtime/launch.d.ts +206 -0
  1291. package/dist/core/runtime/launch.js +498 -0
  1292. package/dist/core/runtime/ledger.d.ts +10 -0
  1293. package/dist/core/runtime/ledger.js +55 -0
  1294. package/dist/core/runtime/lifecycle.d.ts +47 -0
  1295. package/dist/core/runtime/lifecycle.js +283 -0
  1296. package/dist/core/runtime/managed-provider-cooling.d.ts +24 -0
  1297. package/dist/core/runtime/managed-provider-cooling.js +62 -0
  1298. package/dist/core/runtime/memory-admission.d.ts +38 -0
  1299. package/dist/core/runtime/memory-admission.js +68 -0
  1300. package/dist/core/runtime/model-registry.d.ts +3 -0
  1301. package/dist/core/runtime/model-registry.js +13 -0
  1302. package/dist/core/runtime/model-selection.d.ts +54 -0
  1303. package/dist/core/runtime/model-selection.js +135 -0
  1304. package/dist/core/runtime/model-swap.d.ts +26 -0
  1305. package/dist/core/runtime/model-swap.js +75 -0
  1306. package/dist/core/runtime/naming.d.ts +69 -0
  1307. package/dist/core/runtime/naming.js +298 -0
  1308. package/dist/core/runtime/nerd-font.d.ts +46 -0
  1309. package/dist/core/runtime/nerd-font.js +162 -0
  1310. package/dist/core/runtime/nodes.d.ts +140 -0
  1311. package/dist/core/runtime/nodes.js +506 -0
  1312. package/dist/core/runtime/outcome-document.d.ts +58 -0
  1313. package/dist/core/runtime/outcome-document.js +86 -0
  1314. package/dist/core/runtime/output-result.d.ts +15 -0
  1315. package/dist/core/runtime/output-result.js +32 -0
  1316. package/dist/core/runtime/output-schema-refs.d.ts +3 -0
  1317. package/dist/core/runtime/output-schema-refs.js +100 -0
  1318. package/dist/core/runtime/package-health.d.ts +34 -0
  1319. package/dist/core/runtime/package-health.js +100 -0
  1320. package/dist/core/runtime/persona.d.ts +21 -0
  1321. package/dist/core/runtime/persona.js +54 -0
  1322. package/dist/core/runtime/pi-cli.d.ts +8 -0
  1323. package/dist/core/runtime/pi-cli.js +65 -0
  1324. package/dist/core/runtime/pi-vendored.d.ts +28 -0
  1325. package/dist/core/runtime/pi-vendored.js +63 -0
  1326. package/dist/core/runtime/placement-tmux.d.ts +32 -0
  1327. package/dist/core/runtime/placement-tmux.js +81 -0
  1328. package/dist/core/runtime/placement.d.ts +116 -0
  1329. package/dist/core/runtime/placement.js +418 -0
  1330. package/dist/core/runtime/progress-bar.d.ts +13 -0
  1331. package/dist/core/runtime/progress-bar.js +50 -0
  1332. package/dist/core/runtime/provider-credential-gate.d.ts +8 -0
  1333. package/dist/core/runtime/provider-credential-gate.js +33 -0
  1334. package/dist/core/runtime/recovery-hold.d.ts +21 -0
  1335. package/dist/core/runtime/recovery-hold.js +46 -0
  1336. package/dist/core/runtime/reopen.d.ts +49 -0
  1337. package/dist/core/runtime/reopen.js +160 -0
  1338. package/dist/core/runtime/revive.d.ts +114 -0
  1339. package/dist/core/runtime/revive.js +739 -0
  1340. package/dist/core/runtime/roadmap.d.ts +24 -0
  1341. package/dist/core/runtime/roadmap.js +86 -0
  1342. package/dist/core/runtime/runner/blaxel/client.d.ts +83 -0
  1343. package/dist/core/runtime/runner/blaxel/client.js +140 -0
  1344. package/dist/core/runtime/runner/blaxel/image-build.d.ts +74 -0
  1345. package/dist/core/runtime/runner/blaxel/image-build.js +209 -0
  1346. package/dist/core/runtime/runner/index.d.ts +9 -0
  1347. package/dist/core/runtime/runner/index.js +37 -0
  1348. package/dist/core/runtime/runner/machine/call.d.ts +8 -0
  1349. package/dist/core/runtime/runner/machine/call.js +67 -0
  1350. package/dist/core/runtime/runner/machine/environment.d.ts +1 -0
  1351. package/dist/core/runtime/runner/machine/environment.js +7 -0
  1352. package/dist/core/runtime/runner/machine/ops.d.ts +127 -0
  1353. package/dist/core/runtime/runner/machine/ops.js +41 -0
  1354. package/dist/core/runtime/runner/machine/runner.d.ts +12 -0
  1355. package/dist/core/runtime/runner/machine/runner.js +90 -0
  1356. package/dist/core/runtime/runner/process.d.ts +11 -0
  1357. package/dist/core/runtime/runner/process.js +70 -0
  1358. package/dist/core/runtime/runner/types.d.ts +101 -0
  1359. package/dist/core/runtime/runner/types.js +16 -0
  1360. package/dist/core/runtime/session-branch.d.ts +7 -0
  1361. package/dist/core/runtime/session-branch.js +16 -0
  1362. package/dist/core/runtime/session-cycles.d.ts +45 -0
  1363. package/dist/core/runtime/session-cycles.js +110 -0
  1364. package/dist/core/runtime/session-list-cache.d.ts +37 -0
  1365. package/dist/core/runtime/session-list-cache.js +302 -0
  1366. package/dist/core/runtime/session-visibility.d.ts +37 -0
  1367. package/dist/core/runtime/session-visibility.js +99 -0
  1368. package/dist/core/runtime/setup-marker.d.ts +8 -0
  1369. package/dist/core/runtime/setup-marker.js +46 -0
  1370. package/dist/core/runtime/situational-context.d.ts +16 -0
  1371. package/dist/core/runtime/situational-context.js +54 -0
  1372. package/dist/core/runtime/situational-live.d.ts +9 -0
  1373. package/dist/core/runtime/situational-live.js +41 -0
  1374. package/dist/core/runtime/spawn-env-rows.d.ts +5 -0
  1375. package/dist/core/runtime/spawn-env-rows.js +15 -0
  1376. package/dist/core/runtime/spawn-env.d.ts +40 -0
  1377. package/dist/core/runtime/spawn-env.js +260 -0
  1378. package/dist/core/runtime/spawn.d.ts +160 -0
  1379. package/dist/core/runtime/spawn.js +699 -0
  1380. package/dist/core/runtime/stamp/protocol.d.ts +90 -0
  1381. package/dist/core/runtime/stamp/protocol.js +113 -0
  1382. package/dist/core/runtime/start-check.d.ts +15 -0
  1383. package/dist/core/runtime/start-check.js +31 -0
  1384. package/dist/core/runtime/stop-guard.d.ts +31 -0
  1385. package/dist/core/runtime/stop-guard.js +150 -0
  1386. package/dist/core/runtime/structured-output.d.ts +36 -0
  1387. package/dist/core/runtime/structured-output.js +112 -0
  1388. package/dist/core/runtime/surface-bg.d.ts +13 -0
  1389. package/dist/core/runtime/surface-bg.js +85 -0
  1390. package/dist/core/runtime/tmux-bindings.d.ts +30 -0
  1391. package/dist/core/runtime/tmux-bindings.js +743 -0
  1392. package/dist/core/runtime/tmux-chrome.d.ts +2 -0
  1393. package/dist/core/runtime/tmux-chrome.js +5 -0
  1394. package/dist/core/runtime/tmux-driver.d.ts +328 -0
  1395. package/dist/core/runtime/tmux-driver.js +713 -0
  1396. package/dist/core/runtime/unsandboxed.d.ts +3 -0
  1397. package/dist/core/runtime/unsandboxed.js +16 -0
  1398. package/dist/core/runtime/view-socket.d.ts +61 -0
  1399. package/dist/core/runtime/view-socket.js +194 -0
  1400. package/dist/core/runtime/warm-pool.d.ts +79 -0
  1401. package/dist/core/runtime/warm-pool.js +473 -0
  1402. package/dist/core/scoped-state/db.d.ts +17 -0
  1403. package/dist/core/scoped-state/db.js +261 -0
  1404. package/dist/core/scoped-state/legacy-profiles.d.ts +11 -0
  1405. package/dist/core/scoped-state/legacy-profiles.js +61 -0
  1406. package/dist/core/scoped-state/migrate.d.ts +15 -0
  1407. package/dist/core/scoped-state/migrate.js +332 -0
  1408. package/dist/core/scoped-state/person-rows.d.ts +10 -0
  1409. package/dist/core/scoped-state/person-rows.js +173 -0
  1410. package/dist/core/scoped-state/schema.d.ts +10 -0
  1411. package/dist/core/scoped-state/schema.js +47 -0
  1412. package/dist/core/scopes.d.ts +20 -0
  1413. package/dist/core/scopes.js +48 -0
  1414. package/dist/core/secrets/env-rows.d.ts +18 -0
  1415. package/dist/core/secrets/env-rows.js +40 -0
  1416. package/dist/core/secrets/environment-owner.d.ts +8 -0
  1417. package/dist/core/secrets/environment-owner.js +31 -0
  1418. package/dist/core/secrets/environment-secrets.d.ts +14 -0
  1419. package/dist/core/secrets/environment-secrets.js +14 -0
  1420. package/dist/core/secrets/index.d.ts +2 -0
  1421. package/dist/core/secrets/index.js +2 -0
  1422. package/dist/core/secrets/key.d.ts +3 -0
  1423. package/dist/core/secrets/key.js +33 -0
  1424. package/dist/core/secrets/seal.d.ts +18 -0
  1425. package/dist/core/secrets/seal.js +43 -0
  1426. package/dist/core/secrets.d.ts +50 -0
  1427. package/dist/core/secrets.js +147 -0
  1428. package/dist/core/self-update.d.ts +27 -0
  1429. package/dist/core/self-update.js +77 -0
  1430. package/dist/core/session-model/session-state.d.ts +53 -0
  1431. package/dist/core/session-model/session-state.js +180 -0
  1432. package/dist/core/shell-segments.d.ts +42 -0
  1433. package/dist/core/shell-segments.js +169 -0
  1434. package/dist/core/spaces/cache-env.d.ts +2 -0
  1435. package/dist/core/spaces/cache-env.js +15 -0
  1436. package/dist/core/spaces/file-root.d.ts +23 -0
  1437. package/dist/core/spaces/file-root.js +68 -0
  1438. package/dist/core/spaces/mounts.d.ts +41 -0
  1439. package/dist/core/spaces/mounts.js +126 -0
  1440. package/dist/core/spaces/permissions.d.ts +19 -0
  1441. package/dist/core/spaces/permissions.js +77 -0
  1442. package/dist/core/spaces/process.d.ts +61 -0
  1443. package/dist/core/spaces/process.js +172 -0
  1444. package/dist/core/spaces/runtime-home.d.ts +5 -0
  1445. package/dist/core/spaces/runtime-home.js +8 -0
  1446. package/dist/core/spaces/space.d.ts +9 -0
  1447. package/dist/core/spaces/space.js +58 -0
  1448. package/dist/core/spaces/stop.d.ts +24 -0
  1449. package/dist/core/spaces/stop.js +138 -0
  1450. package/dist/core/spaces/users.d.ts +20 -0
  1451. package/dist/core/spaces/users.js +43 -0
  1452. package/dist/core/sqlite-statements.d.ts +4 -0
  1453. package/dist/core/sqlite-statements.js +17 -0
  1454. package/dist/core/statements.d.ts +17 -0
  1455. package/dist/core/statements.js +81 -0
  1456. package/dist/core/storage/attachments.d.ts +36 -0
  1457. package/dist/core/storage/attachments.js +135 -0
  1458. package/dist/core/storage/client.d.ts +109 -0
  1459. package/dist/core/storage/client.js +231 -0
  1460. package/dist/core/storage/download.d.ts +24 -0
  1461. package/dist/core/storage/download.js +184 -0
  1462. package/dist/core/storage/purge.d.ts +6 -0
  1463. package/dist/core/storage/purge.js +52 -0
  1464. package/dist/core/storage/tables.d.ts +67 -0
  1465. package/dist/core/storage/tables.js +109 -0
  1466. package/dist/core/subscription-state.d.ts +96 -0
  1467. package/dist/core/subscription-state.js +438 -0
  1468. package/dist/core/substrate/delivery/corpus.d.ts +26 -0
  1469. package/dist/core/substrate/delivery/corpus.js +138 -0
  1470. package/dist/core/substrate/delivery/deliver.d.ts +71 -0
  1471. package/dist/core/substrate/delivery/deliver.js +333 -0
  1472. package/dist/core/substrate/delivery/listings.d.ts +30 -0
  1473. package/dist/core/substrate/delivery/listings.js +75 -0
  1474. package/dist/core/substrate/delivery/match.d.ts +28 -0
  1475. package/dist/core/substrate/delivery/match.js +146 -0
  1476. package/dist/core/substrate/delivery/plan.d.ts +57 -0
  1477. package/dist/core/substrate/delivery/plan.js +126 -0
  1478. package/dist/core/substrate/delivery/render-boot.d.ts +20 -0
  1479. package/dist/core/substrate/delivery/render-boot.js +329 -0
  1480. package/dist/core/substrate/delivery/render-event.d.ts +47 -0
  1481. package/dist/core/substrate/delivery/render-event.js +160 -0
  1482. package/dist/core/substrate/delivery/sub-persona-menu.d.ts +2 -0
  1483. package/dist/core/substrate/delivery/sub-persona-menu.js +24 -0
  1484. package/dist/core/substrate/delivery/types.d.ts +30 -0
  1485. package/dist/core/substrate/delivery/types.js +1 -0
  1486. package/dist/core/substrate/gate-explain.d.ts +35 -0
  1487. package/dist/core/substrate/gate-explain.js +397 -0
  1488. package/dist/core/substrate/schema.d.ts +29 -0
  1489. package/dist/core/substrate/schema.js +81 -0
  1490. package/dist/core/substrate/subject-fields.d.ts +52 -0
  1491. package/dist/core/substrate/subject-fields.js +39 -0
  1492. package/dist/core/substrate/subject.d.ts +13 -0
  1493. package/dist/core/substrate/subject.js +60 -0
  1494. package/dist/core/termrender/code-doc.d.ts +12 -0
  1495. package/dist/core/termrender/code-doc.js +92 -0
  1496. package/dist/core/termrender/display.d.ts +16 -0
  1497. package/dist/core/termrender/display.js +56 -0
  1498. package/dist/core/termrender/termrender.d.ts +71 -0
  1499. package/dist/core/termrender/termrender.js +719 -0
  1500. package/dist/core/termrender/version.d.ts +1 -0
  1501. package/dist/core/termrender/version.js +1 -0
  1502. package/dist/core/timing.d.ts +11 -0
  1503. package/dist/core/timing.js +94 -0
  1504. package/dist/core/tui/draw.d.ts +103 -0
  1505. package/dist/core/tui/draw.js +378 -0
  1506. package/dist/core/tui/fuzzy.d.ts +9 -0
  1507. package/dist/core/tui/fuzzy.js +38 -0
  1508. package/dist/core/tui/markdown.d.ts +17 -0
  1509. package/dist/core/tui/markdown.js +407 -0
  1510. package/dist/core/tui/page-host.d.ts +31 -0
  1511. package/dist/core/tui/page-host.js +74 -0
  1512. package/dist/core/tui/panel.d.ts +45 -0
  1513. package/dist/core/tui/panel.js +142 -0
  1514. package/dist/core/tui/terminal.d.ts +23 -0
  1515. package/dist/core/tui/terminal.js +100 -0
  1516. package/dist/core/wake.d.ts +89 -0
  1517. package/dist/core/wake.js +296 -0
  1518. package/dist/core/worktree-containment.d.ts +14 -0
  1519. package/dist/core/worktree-containment.js +48 -0
  1520. package/dist/core/worktree-landing.d.ts +44 -0
  1521. package/dist/core/worktree-landing.js +56 -0
  1522. package/dist/core/worktree-mutation-async.d.ts +23 -0
  1523. package/dist/core/worktree-mutation-async.js +335 -0
  1524. package/dist/core/worktree-remove.d.ts +15 -0
  1525. package/dist/core/worktree-remove.js +84 -0
  1526. package/dist/core/worktree.d.ts +121 -0
  1527. package/dist/core/worktree.js +909 -0
  1528. package/dist/daemon/api/deferred-head.d.ts +14 -0
  1529. package/dist/daemon/api/deferred-head.js +117 -0
  1530. package/dist/daemon/api/environment-of.d.ts +18 -0
  1531. package/dist/daemon/api/environment-of.js +40 -0
  1532. package/dist/daemon/api/handlers/git-credential.d.ts +11 -0
  1533. package/dist/daemon/api/handlers/git-credential.js +64 -0
  1534. package/dist/daemon/api/handlers/providers.d.ts +83 -0
  1535. package/dist/daemon/api/handlers/providers.js +283 -0
  1536. package/dist/daemon/api/handlers/validate.d.ts +23 -0
  1537. package/dist/daemon/api/handlers/validate.js +58 -0
  1538. package/dist/daemon/api/map.d.ts +167 -0
  1539. package/dist/daemon/api/map.js +764 -0
  1540. package/dist/daemon/api/operations.d.ts +18 -0
  1541. package/dist/daemon/api/operations.js +306 -0
  1542. package/dist/daemon/api/principal.d.ts +65 -0
  1543. package/dist/daemon/api/principal.js +143 -0
  1544. package/dist/daemon/api/reader.d.ts +24 -0
  1545. package/dist/daemon/api/reader.js +123 -0
  1546. package/dist/daemon/api/router.d.ts +193 -0
  1547. package/dist/daemon/api/router.js +536 -0
  1548. package/dist/daemon/api/sync-notice.d.ts +17 -0
  1549. package/dist/daemon/api/sync-notice.js +46 -0
  1550. package/dist/daemon/api/viewer-presence.d.ts +20 -0
  1551. package/dist/daemon/api/viewer-presence.js +100 -0
  1552. package/dist/daemon/broker-signals/bus.d.ts +3 -2
  1553. package/dist/daemon/broker-signals/bus.js +3 -2
  1554. package/dist/daemon/companion-retire.d.ts +4 -0
  1555. package/dist/daemon/companion-retire.js +44 -0
  1556. package/dist/daemon/control.d.ts +40 -0
  1557. package/dist/daemon/control.js +22 -0
  1558. package/dist/daemon/cron/authority.d.ts +38 -0
  1559. package/dist/daemon/cron/authority.js +90 -0
  1560. package/dist/daemon/cron/live-runs.d.ts +54 -0
  1561. package/dist/daemon/cron/live-runs.js +66 -0
  1562. package/dist/daemon/cron/run-socket.d.ts +30 -0
  1563. package/dist/daemon/cron/run-socket.js +170 -0
  1564. package/dist/daemon/drain.d.ts +25 -0
  1565. package/dist/daemon/drain.js +76 -0
  1566. package/dist/daemon/human/finish.d.ts +24 -0
  1567. package/dist/daemon/human/finish.js +178 -0
  1568. package/dist/daemon/human/settle.d.ts +44 -0
  1569. package/dist/daemon/human/settle.js +103 -0
  1570. package/dist/daemon/machine-link/config.d.ts +45 -0
  1571. package/dist/daemon/machine-link/config.js +63 -0
  1572. package/dist/daemon/machine-link/credential.d.ts +7 -0
  1573. package/dist/daemon/machine-link/credential.js +24 -0
  1574. package/dist/daemon/machine-link/forward.d.ts +16 -0
  1575. package/dist/daemon/machine-link/forward.js +181 -0
  1576. package/dist/daemon/machine-link/frames.d.ts +49 -0
  1577. package/dist/daemon/machine-link/frames.js +25 -0
  1578. package/dist/daemon/machine-link/holder.d.ts +73 -0
  1579. package/dist/daemon/machine-link/holder.js +272 -0
  1580. package/dist/daemon/machine-link/move-notify.d.ts +4 -0
  1581. package/dist/daemon/machine-link/move-notify.js +15 -0
  1582. package/dist/daemon/manage.d.ts +19 -3
  1583. package/dist/daemon/manage.js +21 -6
  1584. package/dist/daemon/park-activity.d.ts +10 -0
  1585. package/dist/daemon/park-activity.js +33 -0
  1586. package/dist/daemon/park-pending.d.ts +25 -0
  1587. package/dist/daemon/park-pending.js +76 -0
  1588. package/dist/daemon/postgres/binary.d.ts +17 -0
  1589. package/dist/daemon/postgres/binary.js +193 -0
  1590. package/dist/daemon/postgres/cluster.d.ts +37 -0
  1591. package/dist/daemon/postgres/cluster.js +111 -0
  1592. package/dist/daemon/postgres/pins.d.ts +7 -0
  1593. package/dist/daemon/postgres/pins.js +16 -0
  1594. package/dist/daemon/postgres/supervisor.d.ts +95 -0
  1595. package/dist/daemon/postgres/supervisor.js +177 -0
  1596. package/dist/daemon/readiness.d.ts +11 -0
  1597. package/dist/daemon/readiness.js +37 -0
  1598. package/dist/daemon/reconcilers/broker-supervision.d.ts +112 -0
  1599. package/dist/daemon/reconcilers/broker-supervision.js +842 -0
  1600. package/dist/daemon/reconcilers/ledger-sandbox.d.ts +54 -0
  1601. package/dist/daemon/reconcilers/ledger-sandbox.js +249 -0
  1602. package/dist/daemon/reconcilers/live-obligation.d.ts +77 -0
  1603. package/dist/daemon/reconcilers/live-obligation.js +114 -0
  1604. package/dist/daemon/reconcilers/node-lifecycle/launch-failure.d.ts +1 -0
  1605. package/dist/daemon/reconcilers/node-lifecycle/launch-failure.js +8 -0
  1606. package/dist/daemon/reconcilers/node-lifecycle/node-person.d.ts +9 -0
  1607. package/dist/daemon/reconcilers/node-lifecycle/node-person.js +40 -0
  1608. package/dist/daemon/reconcilers/node-lifecycle/remote-wake.d.ts +32 -0
  1609. package/dist/daemon/reconcilers/node-lifecycle/remote-wake.js +124 -0
  1610. package/dist/daemon/reconcilers/recipe-image.d.ts +49 -0
  1611. package/dist/daemon/reconcilers/recipe-image.js +145 -0
  1612. package/dist/daemon/reconcilers/throttled-lane.d.ts +11 -0
  1613. package/dist/daemon/reconcilers/throttled-lane.js +63 -0
  1614. package/dist/daemon/runs/append-section.d.ts +9 -0
  1615. package/dist/daemon/runs/append-section.js +135 -0
  1616. package/dist/daemon/runs/observer.d.ts +17 -0
  1617. package/dist/daemon/runs/observer.js +441 -0
  1618. package/dist/daemon/runs/view-transport.d.ts +19 -0
  1619. package/dist/daemon/runs/view-transport.js +81 -0
  1620. package/dist/daemon/structured-requests/sidecar.d.ts +4 -0
  1621. package/dist/daemon/structured-requests/sidecar.js +5 -0
  1622. package/dist/hook-authoring.d.ts +130 -0
  1623. package/dist/hook-authoring.js +447 -0
  1624. package/dist/hook-process.d.ts +7 -0
  1625. package/dist/hook-process.js +34 -0
  1626. package/dist/launcher/client.d.ts +6 -0
  1627. package/dist/launcher/client.js +52 -0
  1628. package/dist/launcher/limits/policy.d.ts +141 -0
  1629. package/dist/launcher/limits/policy.js +142 -0
  1630. package/dist/launcher/limits/settings.d.ts +19 -0
  1631. package/dist/launcher/limits/settings.js +94 -0
  1632. package/dist/launcher/spec.d.ts +181 -0
  1633. package/dist/launcher/spec.js +10 -0
  1634. package/dist/migrations/004-canvas-documents/apply.d.ts +8 -0
  1635. package/dist/migrations/004-canvas-documents/apply.js +113 -0
  1636. package/dist/migrations/004-canvas-documents/fields.d.ts +24 -0
  1637. package/dist/migrations/004-canvas-documents/fields.js +52 -0
  1638. package/dist/migrations/004-canvas-documents/index.d.ts +16 -0
  1639. package/dist/migrations/004-canvas-documents/index.js +88 -0
  1640. package/dist/migrations/004-canvas-documents/legacy/discover.d.ts +16 -0
  1641. package/dist/migrations/004-canvas-documents/legacy/discover.js +251 -0
  1642. package/dist/migrations/004-canvas-documents/legacy/history.d.ts +5 -0
  1643. package/dist/migrations/004-canvas-documents/legacy/history.js +37 -0
  1644. package/dist/migrations/004-canvas-documents/legacy/nested.d.ts +7 -0
  1645. package/dist/migrations/004-canvas-documents/legacy/nested.js +37 -0
  1646. package/dist/migrations/004-canvas-documents/legacy/parse.d.ts +14 -0
  1647. package/dist/migrations/004-canvas-documents/legacy/parse.js +24 -0
  1648. package/dist/migrations/004-canvas-documents/legacy/types.d.ts +91 -0
  1649. package/dist/migrations/004-canvas-documents/legacy/types.js +3 -0
  1650. package/dist/migrations/004-canvas-documents/plan.d.ts +102 -0
  1651. package/dist/migrations/004-canvas-documents/plan.js +410 -0
  1652. package/dist/migrations/004-canvas-documents/pointers.d.ts +23 -0
  1653. package/dist/migrations/004-canvas-documents/pointers.js +95 -0
  1654. package/dist/migrations/activation.d.ts +17 -0
  1655. package/dist/migrations/activation.js +46 -0
  1656. package/dist/shared/crtr-version.d.ts +2 -0
  1657. package/dist/shared/crtr-version.js +18 -0
  1658. package/dist/shared/inbox-entry-body.js +6 -2
  1659. package/dist/shared/inline-ref-grammar.d.ts +53 -0
  1660. package/dist/shared/inline-ref-grammar.js +99 -0
  1661. package/dist/shared/shell-quote.d.ts +3 -0
  1662. package/dist/shared/shell-quote.js +5 -0
  1663. package/dist/shared/strip-cd-prefix.d.ts +1 -0
  1664. package/dist/shared/strip-cd-prefix.js +13 -0
  1665. package/dist/shared/tool-groups.d.ts +26 -0
  1666. package/dist/shared/tool-groups.js +64 -0
  1667. package/dist/shared/traceparent.d.ts +6 -0
  1668. package/dist/shared/traceparent.js +28 -0
  1669. package/dist/shared/turn-replies.d.ts +27 -0
  1670. package/dist/shared/turn-replies.js +71 -0
  1671. package/package.json +1 -1
@@ -0,0 +1,48 @@
1
+ import { gitAsync } from './git.js';
2
+ async function revParseRef(cwd, ref) {
3
+ const result = await gitAsync(['rev-parse', '--verify', '--quiet', ref], cwd);
4
+ return result.status === 0 ? result.stdout.trim() : null;
5
+ }
6
+ /** Resolve the base branch's configured upstream, or its origin fallback. */
7
+ export async function upstreamTip(cwd, baseRef) {
8
+ const upstream = await gitAsync(['rev-parse', '--symbolic-full-name', '--verify', `${baseRef}@{upstream}`], cwd);
9
+ const ref = upstream.status === 0 && upstream.stdout.trim().startsWith('refs/')
10
+ ? upstream.stdout.trim()
11
+ : `refs/remotes/origin/${baseRef}`;
12
+ const sha = await revParseRef(cwd, ref);
13
+ return sha === null ? null : { ref, sha };
14
+ }
15
+ /** Prove that a recorded base or its upstream already carries a branch's
16
+ * committed content. This is the one decision point for explicit close and
17
+ * sweep cleanup: destination resolution happens only when this returns null. */
18
+ export async function proveBranchContained(cwd, wt, branchSha) {
19
+ const candidates = [];
20
+ const localBaseRef = `refs/heads/${wt.base_ref}`;
21
+ const localBase = await revParseRef(cwd, localBaseRef);
22
+ if (localBase !== null)
23
+ candidates.push({ ref: localBaseRef, sha: localBase });
24
+ const upstream = await upstreamTip(cwd, wt.base_ref);
25
+ if (upstream !== null)
26
+ candidates.push(upstream);
27
+ for (const candidate of candidates) {
28
+ if ((await gitAsync(['merge-base', '--is-ancestor', branchSha, candidate.sha], cwd)).status === 0)
29
+ return { containingRef: candidate.ref, containingSha: candidate.sha };
30
+ }
31
+ for (const candidate of candidates) {
32
+ const cherry = await gitAsync(['cherry', candidate.sha, branchSha], cwd);
33
+ if (cherry.status !== 0)
34
+ continue;
35
+ const lines = cherry.stdout.split('\n').map((line) => line.trim()).filter((line) => line !== '');
36
+ if (lines.every((line) => line.startsWith('-')))
37
+ return { containingRef: candidate.ref, containingSha: candidate.sha };
38
+ }
39
+ for (const candidate of candidates) {
40
+ const candidateTree = await revParseRef(cwd, `${candidate.sha}^{tree}`);
41
+ if (candidateTree === null)
42
+ continue;
43
+ const merged = await gitAsync(['merge-tree', '--write-tree', candidate.sha, branchSha], cwd);
44
+ if (merged.status === 0 && merged.stdout.split('\n')[0]?.trim() === candidateTree)
45
+ return { containingRef: candidate.ref, containingSha: candidate.sha };
46
+ }
47
+ return null;
48
+ }
@@ -0,0 +1,44 @@
1
+ /** Tracked-but-modified and untracked paths from `git status --porcelain`. */
2
+ export interface CheckoutStatus {
3
+ /** Paths with modifications to a tracked file (staged, unstaged, or both). */
4
+ tracked: string[];
5
+ /** Paths Git does not track at all. */
6
+ untracked: string[];
7
+ }
8
+ /** Split `git status --porcelain` (v1 format) into tracked modifications and
9
+ * untracked paths. A rename entry (`R old -> new`) reports the destination:
10
+ * that is the path an incoming commit would collide with. */
11
+ export declare function parseStatusPorcelain(porcelain: string): CheckoutStatus;
12
+ export type LandPlan =
13
+ /** Nothing local overlaps the incoming commits — fast-forward directly. */
14
+ {
15
+ kind: 'direct';
16
+ }
17
+ /** Local modifications touch incoming files; land underneath them. */
18
+ | {
19
+ kind: 'stash';
20
+ overlapping: string[];
21
+ }
22
+ /** An incoming commit adds a path that already exists here, untracked. */
23
+ | {
24
+ kind: 'refuse';
25
+ collisions: string[];
26
+ };
27
+ /** How to fast-forward a base checkout that may hold local changes.
28
+ *
29
+ * Git is less fragile than it looks here: a fast-forward refuses only when an
30
+ * incoming commit touches a file with local modifications, so DISJOINT local
31
+ * changes are carried along fine and need no stash at all. Overlap is the
32
+ * blocker, not dirt.
33
+ *
34
+ * Untracked files are different. They also do not block a fast-forward unless
35
+ * an incoming commit adds the same path — and that collision is a refusal
36
+ * rather than a stash, because sweeping a person's untracked file into a stash
37
+ * to make room for a commit is not a trade this code may make on their behalf. */
38
+ export declare function planLandIntoCheckout(status: CheckoutStatus, incoming: readonly string[]): LandPlan;
39
+ /** The `git update-ref --stdin` body that deletes a managed branch ONLY while
40
+ * the ref that proved its content already landed is still at the exact SHA the
41
+ * proof inspected. Compare-and-delete is the whole ownership guard: a branch
42
+ * or base someone else moved between the proof and this transaction aborts it
43
+ * instead of losing the work. */
44
+ export declare function refDeleteTransactionStdin(branch: string, branchSha: string, containingRef: string, containingSha: string): string;
@@ -0,0 +1,56 @@
1
+ // The judgment shared by every path that lands a managed worktree onto its
2
+ // base branch. These functions run no subprocesses and touch no filesystem:
3
+ // they decide from Git output that the caller already has in hand.
4
+ //
5
+ // Two callers execute the same decision in two forms — `worktree.ts`'s
6
+ // synchronous `close` (an API handler, already blocking) and
7
+ // `worktree-sweep.ts`'s asynchronous daemon sweep (which must never block the
8
+ // event loop). Only the process plumbing differs; the rules that decide whether
9
+ // local work is at risk live here once, so the two can never drift.
10
+ /** Split `git status --porcelain` (v1 format) into tracked modifications and
11
+ * untracked paths. A rename entry (`R old -> new`) reports the destination:
12
+ * that is the path an incoming commit would collide with. */
13
+ export function parseStatusPorcelain(porcelain) {
14
+ const tracked = [];
15
+ const untracked = [];
16
+ for (const line of porcelain.split('\n')) {
17
+ if (line.length < 4)
18
+ continue;
19
+ const code = line.slice(0, 2);
20
+ const rest = line.slice(3);
21
+ const path = rest.includes(' -> ') ? rest.slice(rest.indexOf(' -> ') + 4) : rest;
22
+ const unquoted = path.startsWith('"') && path.endsWith('"') ? path.slice(1, -1) : path;
23
+ if (code === '??')
24
+ untracked.push(unquoted);
25
+ else if (code !== '!!')
26
+ tracked.push(unquoted);
27
+ }
28
+ return { tracked, untracked };
29
+ }
30
+ /** How to fast-forward a base checkout that may hold local changes.
31
+ *
32
+ * Git is less fragile than it looks here: a fast-forward refuses only when an
33
+ * incoming commit touches a file with local modifications, so DISJOINT local
34
+ * changes are carried along fine and need no stash at all. Overlap is the
35
+ * blocker, not dirt.
36
+ *
37
+ * Untracked files are different. They also do not block a fast-forward unless
38
+ * an incoming commit adds the same path — and that collision is a refusal
39
+ * rather than a stash, because sweeping a person's untracked file into a stash
40
+ * to make room for a commit is not a trade this code may make on their behalf. */
41
+ export function planLandIntoCheckout(status, incoming) {
42
+ const arriving = new Set(incoming);
43
+ const collisions = status.untracked.filter((path) => arriving.has(path));
44
+ if (collisions.length > 0)
45
+ return { kind: 'refuse', collisions };
46
+ const overlapping = status.tracked.filter((path) => arriving.has(path));
47
+ return overlapping.length > 0 ? { kind: 'stash', overlapping } : { kind: 'direct' };
48
+ }
49
+ /** The `git update-ref --stdin` body that deletes a managed branch ONLY while
50
+ * the ref that proved its content already landed is still at the exact SHA the
51
+ * proof inspected. Compare-and-delete is the whole ownership guard: a branch
52
+ * or base someone else moved between the proof and this transaction aborts it
53
+ * instead of losing the work. */
54
+ export function refDeleteTransactionStdin(branch, branchSha, containingRef, containingSha) {
55
+ return `verify ${containingRef} ${containingSha}\ndelete refs/heads/${branch} ${branchSha}\n`;
56
+ }
@@ -0,0 +1,23 @@
1
+ import { type ManagedWorktree } from './canvas/index.js';
2
+ import { type AbandonManagedWorktreeResult, type AutoDroppedWorktree } from './worktree.js';
3
+ /** Run `admit` — the step that persists a node whose cwd is `cwd` — under the
4
+ * repository lock the cleanup sweep removes checkouts under, when `cwd` is in
5
+ * another node's managed checkout. The repository comes from that owner's
6
+ * recorded managed worktree, not from the checkout on disk, so the lock is
7
+ * still taken after the sweep has removed the checkout. The sweep decides to
8
+ * remove a checkout and removes it inside that lock, and a node admitted inside
9
+ * the same lock is either seen by that decision or finds the checkout already
10
+ * gone and is refused here, instead of being persisted with a cwd that no
11
+ * longer exists. */
12
+ export declare function admitIntoManagedCheckout<T>(cwd: string, nodeId: string, admit: () => Promise<T>): Promise<T>;
13
+ export declare function rollbackManagedWorktreeAsync(wt: ManagedWorktree): Promise<void>;
14
+ export declare function createManagedWorktreeAsync(cwd: string, nodeId: string, baseRef?: string): Promise<ManagedWorktree>;
15
+ export interface AbsentWorktreeConclusion {
16
+ dropped: AutoDroppedWorktree;
17
+ landedSha: string;
18
+ }
19
+ /** Conclude an absent checkout only from the same branch-delivery proof used by
20
+ * push-final and explicit close. */
21
+ export declare function concludeAbsentManagedWorktreeAsync(nodeId: string): Promise<AbsentWorktreeConclusion | null>;
22
+ export declare function autoDropCleanManagedWorktreeAsync(nodeId: string): Promise<AutoDroppedWorktree | null>;
23
+ export declare function abandonManagedWorktreeAsync(nodeId: string, by: string): Promise<AbandonManagedWorktreeResult>;
@@ -0,0 +1,335 @@
1
+ import { existsSync, mkdirSync, readFileSync, realpathSync, rmSync, writeFileSync } from 'node:fs';
2
+ import { basename, dirname, isAbsolute, join, relative, resolve, sep } from 'node:path';
3
+ import { abandonWorktreeAndRepoint, getNode, readWorktree } from './canvas/index.js';
4
+ import { isPidAlive } from './canvas/pid.js';
5
+ import { InputError } from './io.js';
6
+ import { CONFIG_FILE, CRTR_DIR_NAME, STATE_FILE } from '../types.js';
7
+ import { withExclusiveDirectoryLockAsync } from './exclusive-lock.js';
8
+ import { gitAsync } from './git.js';
9
+ import { WORKTREE_LOCK_WAIT_MS, canonicalPath, checkoutPathForBranchInList, isManagedWorktreeBase, managedWorktreesRoot, managedWorktreePath, persistClosedWorktreeState, worktreeLockPathForCommonDir, WorktreeError } from './worktree.js';
10
+ import { proveBranchContained } from './worktree-containment.js';
11
+ import { refDeleteTransactionStdin } from './worktree-landing.js';
12
+ import { deleteTrashAsync, removeWorktreeCheckoutAsync } from './worktree-remove.js';
13
+ // A function, not a constant: `runtime/nodes.ts` imports this module and sits in an import cycle with `worktree.ts`, so a module-level read of its exports would run before they exist.
14
+ const lockWaitMs = () => Math.min(WORKTREE_LOCK_WAIT_MS, 25_000);
15
+ function detailOf(result) { return (result.stderr.trim() || result.stdout.trim()).trim(); }
16
+ async function runGit(cwd, args, code, next) {
17
+ const result = await gitAsync(args, cwd);
18
+ if (result.status !== 0)
19
+ throw new WorktreeError(code, `git ${args.join(' ')} failed`, next, detailOf(result));
20
+ return result.stdout.trim();
21
+ }
22
+ async function commonGitDir(cwd) {
23
+ return realpathSync(resolve(cwd, await runGit(cwd, ['rev-parse', '--git-common-dir'], 'git_common_dir_failed', 'Inspect the repository git metadata, then retry.')));
24
+ }
25
+ async function withRepositoryLock(cwd, action) {
26
+ const commonDir = await commonGitDir(cwd);
27
+ return withExclusiveDirectoryLockAsync(worktreeLockPathForCommonDir(commonDir), action, {
28
+ timeoutMs: lockWaitMs(),
29
+ timeoutError: () => new WorktreeError('worktree_lock_timeout', `timed out waiting for the managed-worktree lock in ${commonDir}`, 'Wait for the other managed-worktree operation to finish, then retry.'),
30
+ });
31
+ }
32
+ /** The existing managed checkout `cwd` lies in or beneath, when some other node
33
+ * owns it (`<managed root>/<owner id>[/...]`); null for any other directory. */
34
+ function foreignManagedCheckout(cwd, nodeId) {
35
+ const root = canonicalPath(managedWorktreesRoot());
36
+ const rel = relative(root, canonicalPath(cwd));
37
+ if (rel === '' || rel === '..' || rel.startsWith(`..${sep}`) || isAbsolute(rel))
38
+ return null;
39
+ const owner = rel.split(sep)[0];
40
+ return owner === nodeId ? null : join(root, owner);
41
+ }
42
+ /** Run `admit` — the step that persists a node whose cwd is `cwd` — under the
43
+ * repository lock the cleanup sweep removes checkouts under, when `cwd` is in
44
+ * another node's managed checkout. The repository comes from that owner's
45
+ * recorded managed worktree, not from the checkout on disk, so the lock is
46
+ * still taken after the sweep has removed the checkout. The sweep decides to
47
+ * remove a checkout and removes it inside that lock, and a node admitted inside
48
+ * the same lock is either seen by that decision or finds the checkout already
49
+ * gone and is refused here, instead of being persisted with a cwd that no
50
+ * longer exists. */
51
+ export async function admitIntoManagedCheckout(cwd, nodeId, admit) {
52
+ const checkout = foreignManagedCheckout(cwd, nodeId);
53
+ if (checkout === null)
54
+ return admit();
55
+ const owner = await readWorktree(basename(checkout));
56
+ if (owner === null)
57
+ return admit();
58
+ return withRepositoryLock(owner.repo_root, async () => {
59
+ if (!existsSync(cwd)) {
60
+ throw new InputError({ error: 'cwd_missing', message: `cwd is not an existing directory: ${cwd}`, received: cwd, field: 'cwd', next: 'Pass an existing directory; the managed checkout it was in has been cleaned up.' });
61
+ }
62
+ return admit();
63
+ });
64
+ }
65
+ async function resolveLandableBase(cwd, baseRef) {
66
+ const ref = `refs/heads/${baseRef}`;
67
+ const exists = await gitAsync(['show-ref', '--verify', '--quiet', ref], cwd);
68
+ if (exists.status === 1 && exists.executionFailed !== true)
69
+ throw new WorktreeError('missing_base_branch', `managed worktree base '${baseRef}' does not name an existing local branch`, 'The base must be a local branch that landing can fast-forward — freshen your local branch from origin first (rebase-not-merge), then base on it.');
70
+ if (exists.status !== 0)
71
+ throw new WorktreeError('base_branch_inspection_failed', `could not inspect local base branch '${baseRef}' (git show-ref exited with status ${exists.status})`, 'Inspect the repository and its Git metadata, then retry.', `status: ${exists.status}\nstderr: ${exists.stderr.trim() || '<empty>'}`);
72
+ return runGit(cwd, ['rev-parse', '--verify', ref], 'base_branch_resolve_failed', 'Inspect the local base branch, then retry.');
73
+ }
74
+ function seedExclude(repoRoot, commonDir) {
75
+ try {
76
+ const path = join(commonDir, 'info', 'exclude');
77
+ mkdirSync(dirname(path), { recursive: true });
78
+ let current = '';
79
+ try {
80
+ current = readFileSync(path, 'utf8');
81
+ }
82
+ catch { /* first write */ }
83
+ const patterns = [`/${CRTR_DIR_NAME}/${CONFIG_FILE}`, `/${CRTR_DIR_NAME}/${STATE_FILE}`];
84
+ if (patterns.every((pattern) => current.split('\n').map((line) => line.trim()).includes(pattern)))
85
+ return;
86
+ writeFileSync(path, `${current}${current !== '' && !current.endsWith('\n') ? '\n' : ''}# crtr: exclude crtr's own untracked project-scope bookkeeping (auto-added at managed-worktree creation)\n${patterns.filter((pattern) => !current.split('\n').map((line) => line.trim()).includes(pattern)).join('\n')}\n`);
87
+ }
88
+ catch { /* cosmetic only */ }
89
+ }
90
+ export async function rollbackManagedWorktreeAsync(wt) {
91
+ await withRepositoryLock(wt.repo_root, async () => {
92
+ const branch = await gitAsync(['rev-parse', '--verify', `refs/heads/${wt.branch}`], wt.repo_root);
93
+ if (branch.status !== 0 || branch.stdout.trim() !== wt.base_sha)
94
+ return;
95
+ const list = await gitAsync(['worktree', 'list', '--porcelain'], wt.repo_root);
96
+ if (list.status !== 0)
97
+ return;
98
+ if (list.stdout.split('\n').some((line) => line.trim() === `branch refs/heads/${wt.branch}`)) {
99
+ if ((await gitAsync(['worktree', 'remove', '--force', wt.path], wt.repo_root)).status !== 0)
100
+ return;
101
+ }
102
+ else if (existsSync(wt.path)) {
103
+ try {
104
+ rmSync(wt.path, { recursive: true, force: true });
105
+ }
106
+ catch {
107
+ return;
108
+ }
109
+ }
110
+ await gitAsync(['update-ref', '-d', `refs/heads/${wt.branch}`, wt.base_sha], wt.repo_root);
111
+ });
112
+ }
113
+ export async function createManagedWorktreeAsync(cwd, nodeId, baseRef = 'main') {
114
+ const repoRoot = await runGit(cwd, ['rev-parse', '--show-toplevel'], 'not_git_repo', 'Pass --cwd <real repo> pointing inside a git repository.');
115
+ if (isManagedWorktreeBase(repoRoot)) {
116
+ throw new WorktreeError('managed_worktree_base', `cwd ${repoRoot} is a managed worktree and cannot be used as a managed worktree base`, 'Pass `--cwd` pointing at the repository’s primary checkout and keep `--worktree` set to the desired existing local base branch, including the parent branch.');
117
+ }
118
+ const commonDir = await commonGitDir(repoRoot);
119
+ return withExclusiveDirectoryLockAsync(worktreeLockPathForCommonDir(commonDir), async () => {
120
+ const baseSha = await resolveLandableBase(repoRoot, baseRef);
121
+ const path = managedWorktreePath(nodeId);
122
+ const branch = `crtr/${nodeId}`;
123
+ if (existsSync(path))
124
+ throw new WorktreeError('worktree_path_exists', `managed worktree path already exists: ${path}`, 'Remove the stale path or choose a fresh node id.');
125
+ if ((await gitAsync(['show-ref', '--verify', '--quiet', `refs/heads/${branch}`], repoRoot)).status === 0)
126
+ throw new WorktreeError('worktree_branch_exists', `managed worktree branch already exists: ${branch}`, 'Remove the stale branch or choose a fresh node id.');
127
+ const wt = { state: 'open', path, branch, repo_root: repoRoot, base_ref: baseRef, base_sha: baseSha, created: new Date().toISOString() };
128
+ await runGit(repoRoot, ['branch', branch, baseSha], 'worktree_branch_create_failed', 'Inspect the git error, fix the repository/worktree state, then retry spawning with --worktree.');
129
+ const added = await gitAsync(['worktree', 'add', path, branch], repoRoot);
130
+ if (added.status !== 0) {
131
+ await gitAsync(['update-ref', '-d', `refs/heads/${branch}`, baseSha], repoRoot);
132
+ throw new WorktreeError('worktree_add_failed', 'git worktree add failed', 'Inspect the git error, fix the repository/worktree state, then retry spawning with --worktree.', detailOf(added));
133
+ }
134
+ seedExclude(repoRoot, commonDir);
135
+ return wt;
136
+ }, { timeoutMs: lockWaitMs(), timeoutError: () => new WorktreeError('worktree_lock_timeout', `timed out waiting to create a managed worktree in ${commonDir}`, 'Wait for the other managed-worktree operation to finish, then retry.') });
137
+ }
138
+ async function cleanTip(wt) {
139
+ if (wt.state !== 'open' || !existsSync(wt.path))
140
+ return null;
141
+ const branch = await gitAsync(['rev-parse', '--abbrev-ref', 'HEAD'], wt.path);
142
+ const status = await gitAsync(['status', '--porcelain'], wt.path);
143
+ const head = await gitAsync(['rev-parse', 'HEAD'], wt.path);
144
+ if (branch.status !== 0 || branch.stdout.trim() !== wt.branch || status.status !== 0 || status.stdout.trim() !== '' || head.status !== 0)
145
+ return null;
146
+ const gitPath = await gitAsync(['rev-parse', '--git-path', 'rebase-merge'], wt.path);
147
+ if (gitPath.status !== 0 || existsSync(gitPath.stdout.trim()))
148
+ return null;
149
+ return head.stdout.trim();
150
+ }
151
+ async function containedInLocalBase(wt, head) {
152
+ try {
153
+ const base = await resolveLandableBase(wt.path, wt.base_ref);
154
+ return (await gitAsync(['merge-base', '--is-ancestor', head, base], wt.path)).status === 0;
155
+ }
156
+ catch (error) {
157
+ // A deleted base contains nothing but the creation SHA; any other tip is not provably landed, so
158
+ // return false and let the caller's origin-retention check decide instead of failing finalization.
159
+ if (error instanceof WorktreeError && error.code === 'missing_base_branch')
160
+ return head === wt.base_sha;
161
+ throw error;
162
+ }
163
+ }
164
+ function deferred(wt) {
165
+ return { node_id: '', branch: wt.branch, worktree_path: wt.path, worktree_removed: false, worktree_remove_error: `cleanup pending: the caller checkout at ${wt.path} remains intact.`, branch_deleted: false, branch_delete_error: `cleanup pending: local branch ${wt.branch} remains checked out at ${wt.path}.` };
166
+ }
167
+ /** A missing checkout can be concluded only when its branch is already gone,
168
+ * or the recorded base or its upstream contains the branch and it has no other
169
+ * checkout. */
170
+ async function proveAbsentPathManagedWorktree(wt) {
171
+ if (wt.state !== 'open' || existsSync(wt.path))
172
+ return null;
173
+ const branchRef = `refs/heads/${wt.branch}`;
174
+ const branchExists = await gitAsync(['show-ref', '--verify', '--quiet', branchRef], wt.repo_root);
175
+ if (branchExists.status === 1 && branchExists.executionFailed !== true)
176
+ return { branchSha: null };
177
+ if (branchExists.status !== 0)
178
+ return null;
179
+ const branch = await gitAsync(['rev-parse', '--verify', branchRef], wt.repo_root);
180
+ if (branch.status !== 0)
181
+ return null;
182
+ const branchSha = branch.stdout.trim();
183
+ const worktreeList = await gitAsync(['worktree', 'list', '--porcelain'], wt.repo_root);
184
+ if (worktreeList.status !== 0 || checkoutPathForBranchInList(worktreeList.stdout, wt.branch) !== null)
185
+ return null;
186
+ const containment = await proveBranchContained(wt.repo_root, wt, branchSha);
187
+ return containment === null ? null : { branchSha, containment };
188
+ }
189
+ async function autoDropAbsentPathManagedWorktreeLocked(nodeId, wt, proof) {
190
+ if (existsSync(wt.path))
191
+ return null;
192
+ if (proof.branchSha === null) {
193
+ await persistClosedWorktreeState(nodeId, wt, 'complete');
194
+ return { node_id: nodeId, branch: wt.branch, worktree_path: wt.path, worktree_removed: true, branch_deleted: true };
195
+ }
196
+ if (proof.containment === undefined)
197
+ return null;
198
+ // `update-ref` bypasses Git's checked-out-branch protection. A person can
199
+ // add a worktree after the list above, so the delivered branch stays intact:
200
+ // its containment proof concludes this node without risking that checkout.
201
+ await persistClosedWorktreeState(nodeId, wt, 'complete');
202
+ return { node_id: nodeId, branch: wt.branch, worktree_path: wt.path, worktree_removed: true, branch_deleted: false, branch_delete_error: `local branch ${wt.branch} is delivered but retained because its checkout status can change outside crtr's repository lock.` };
203
+ }
204
+ /** Conclude an absent checkout only from the same branch-delivery proof used by
205
+ * push-final and explicit close. */
206
+ export async function concludeAbsentManagedWorktreeAsync(nodeId) {
207
+ const wt = (await getNode(nodeId))?.managed_worktree;
208
+ if (wt === undefined || wt === null || wt.state !== 'open' || existsSync(wt.path))
209
+ return null;
210
+ if (await proveAbsentPathManagedWorktree(wt) === null)
211
+ return null;
212
+ return withRepositoryLock(wt.repo_root, async () => {
213
+ const locked = (await getNode(nodeId))?.managed_worktree;
214
+ if (locked === undefined || locked === null || locked.state !== 'open')
215
+ return null;
216
+ const proof = await proveAbsentPathManagedWorktree(locked);
217
+ if (proof === null)
218
+ return null;
219
+ const dropped = await autoDropAbsentPathManagedWorktreeLocked(nodeId, locked, proof);
220
+ return dropped === null ? null : { dropped, landedSha: proof.branchSha ?? locked.base_sha };
221
+ });
222
+ }
223
+ export async function autoDropCleanManagedWorktreeAsync(nodeId) {
224
+ const wt = (await getNode(nodeId))?.managed_worktree;
225
+ if (wt === undefined || wt === null || wt.state !== 'open')
226
+ return null;
227
+ if (!existsSync(wt.path))
228
+ return (await concludeAbsentManagedWorktreeAsync(nodeId))?.dropped ?? null;
229
+ const initial = await cleanTip(wt);
230
+ if (initial === null || !(await containedInLocalBase(wt, initial)))
231
+ return null;
232
+ return withRepositoryLock(wt.path, async () => {
233
+ const locked = (await getNode(nodeId))?.managed_worktree;
234
+ if (locked === undefined || locked === null || locked.state !== 'open')
235
+ return null;
236
+ const head = await cleanTip(locked);
237
+ if (head === null || head !== initial || !(await containedInLocalBase(locked, head)))
238
+ return null;
239
+ await persistClosedWorktreeState(nodeId, locked, 'pending');
240
+ return { ...deferred(locked), node_id: nodeId };
241
+ });
242
+ }
243
+ async function rebaseInProgress(cwd) {
244
+ for (const path of ['rebase-merge', 'rebase-apply']) {
245
+ const result = await gitAsync(['rev-parse', '--git-path', path], cwd);
246
+ if (result.status !== 0 || existsSync(result.stdout.trim()))
247
+ return true;
248
+ }
249
+ return false;
250
+ }
251
+ async function persistAbandoned(nodeId, wt, tip, at, by, branch = wt.branch) {
252
+ await abandonWorktreeAndRepoint(nodeId, { cwd: wt.repo_root, abandoned: { branch, tip_sha: tip, at, by } });
253
+ }
254
+ export async function abandonManagedWorktreeAsync(nodeId, by) {
255
+ const wt = (await getNode(nodeId))?.managed_worktree;
256
+ if (wt === undefined || wt === null || wt.state !== 'open')
257
+ throw new WorktreeError('no_managed_worktree', `node ${nodeId} has no open managed worktree`, 'Nothing to abandon for this node.');
258
+ const trash = [];
259
+ try {
260
+ return await withRepositoryLock(wt.path, () => abandonLocked(nodeId, by, trash));
261
+ }
262
+ finally {
263
+ // Removal moved the checkout's files to the trash under the lock; delete
264
+ // them only after releasing it.
265
+ await deleteTrashAsync(wt.path, trash[0]);
266
+ }
267
+ }
268
+ /** `git worktree remove` without `--force`, deferring the file delete. */
269
+ async function removeCheckout(wt, trash) {
270
+ const { result: removed, trash: moved } = await removeWorktreeCheckoutAsync(wt.repo_root, wt.path);
271
+ if (moved !== undefined)
272
+ trash.push(moved);
273
+ if (removed.status !== 0)
274
+ throw new WorktreeError('worktree_remove_failed', `git worktree remove ${wt.path} failed`, 'Inspect the worktree manually, then retry.', detailOf(removed));
275
+ }
276
+ async function abandonLocked(nodeId, by, trash) {
277
+ const node = await getNode(nodeId);
278
+ const current = node?.managed_worktree;
279
+ if (node === null || current === undefined || current === null || current.state !== 'open')
280
+ throw new WorktreeError('no_managed_worktree', `node ${nodeId} has no open managed worktree`, 'Nothing to abandon for this node.');
281
+ if (node.status === 'active' || node.status === 'idle' || isPidAlive(node.pi_pid))
282
+ throw new WorktreeError('node_running', `node ${nodeId} is still running`, 'Abandon requires a stopped node with no live broker process. From the running owner, use `crtr node worktree close` to land locally, or make the checkout clean, push its current tip to origin, and rerun `crtr push final`.');
283
+ if (!existsSync(current.path))
284
+ throw new WorktreeError('worktree_missing', `managed worktree path is missing: ${current.path}`, 'Inspect the branch and worktree registration, then retry.');
285
+ const branch = await runGit(current.path, ['rev-parse', '--abbrev-ref', 'HEAD'], 'branch_check_failed', 'Inspect the worktree manually, then retry.');
286
+ const recorded = await gitAsync(['show-ref', '--verify', '--quiet', `refs/heads/${current.branch}`], current.path);
287
+ if (branch !== current.branch) {
288
+ if (recorded.status === 0 || branch === 'HEAD')
289
+ throw new WorktreeError('wrong_branch', `managed worktree is not on its recorded branch (expected ${current.branch}, found ${branch === 'HEAD' ? 'detached HEAD' : branch})`, `Inspect ${current.path}, then rerun \`crtr node worktree abandon\`.`);
290
+ if (await rebaseInProgress(current.path) || (await runGit(current.path, ['status', '--porcelain'], 'status_failed', 'Inspect the worktree manually, then retry.')) !== '')
291
+ throw new WorktreeError('dirty_worktree', 'managed worktree has uncommitted changes', `Commit or stash them in ${current.path}, then rerun \`crtr node worktree abandon\`.`);
292
+ const tip = await runGit(current.path, ['rev-parse', 'HEAD'], 'abandon_tip_failed', 'Inspect the worktree manually, then retry.');
293
+ await removeCheckout(current, trash);
294
+ const at = new Date().toISOString();
295
+ await persistAbandoned(nodeId, current, tip, at, by, branch);
296
+ return { node_id: nodeId, branch, tip_sha: tip, worktree_path: current.path, branch_deleted: false };
297
+ }
298
+ const head = await runGit(current.path, ['rev-parse', 'HEAD'], 'abandon_tip_failed', 'Inspect the branch manually, then retry.');
299
+ let cleanBase = null;
300
+ try {
301
+ const base = await resolveLandableBase(current.path, current.base_ref);
302
+ if ((await gitAsync(['merge-base', '--is-ancestor', head, base], current.path)).status === 0)
303
+ cleanBase = base;
304
+ }
305
+ catch (error) {
306
+ if (!(error instanceof WorktreeError) || error.code !== 'missing_base_branch')
307
+ throw error;
308
+ }
309
+ const at = new Date().toISOString();
310
+ const status = await runGit(current.path, ['status', '--porcelain'], 'status_failed', 'Inspect the worktree manually, then retry.');
311
+ if (cleanBase !== null && head === current.base_sha) {
312
+ const tree = await runGit(current.repo_root, ['rev-parse', `${head}^{tree}`], 'abandon_tree_failed', 'Inspect the branch manually, then retry.');
313
+ const marker = await runGit(current.repo_root, ['-c', 'user.name=crtr-abandon', '-c', 'user.email=crtr-abandon@localhost', 'commit-tree', tree, '-p', head, '-m', 'crtr-abandon', '-m', `Crtr-Abandon: ${nodeId} ${at}`], 'abandon_commit_failed', 'Inspect the branch manually, then retry.');
314
+ await runGit(current.repo_root, ['update-ref', `refs/heads/${current.branch}`, marker, head], 'abandon_marker_failed', 'The branch changed while abandon was starting; inspect the worktree, then retry.');
315
+ await removeCheckout(current, trash);
316
+ const deleted = await gitAsync(['update-ref', '--stdin'], current.repo_root, refDeleteTransactionStdin(current.branch, marker, `refs/heads/${current.base_ref}`, cleanBase));
317
+ if (deleted.status === 0) {
318
+ await persistClosedWorktreeState(nodeId, current, 'complete');
319
+ return { node_id: nodeId, branch: current.branch, tip_sha: marker, worktree_path: current.path, branch_deleted: true };
320
+ }
321
+ await persistAbandoned(nodeId, current, marker, at, by);
322
+ return { node_id: nodeId, branch: current.branch, tip_sha: marker, worktree_path: current.path, branch_deleted: false };
323
+ }
324
+ if (!await rebaseInProgress(current.path) && status === '') {
325
+ await removeCheckout(current, trash);
326
+ await persistAbandoned(nodeId, current, head, at, by);
327
+ return { node_id: nodeId, branch: current.branch, tip_sha: head, worktree_path: current.path, branch_deleted: false };
328
+ }
329
+ await runGit(current.path, ['add', '--all'], 'abandon_stage_failed', 'Inspect the worktree manually, then retry.');
330
+ await runGit(current.path, ['-c', 'user.name=crtr-abandon', '-c', 'user.email=crtr-abandon@localhost', 'commit', '--allow-empty', '-m', 'crtr-abandon', '-m', `Crtr-Abandon: ${nodeId} ${at}`], 'abandon_commit_failed', 'Inspect the worktree manually, then retry.');
331
+ const tip = await runGit(current.path, ['rev-parse', 'HEAD'], 'abandon_tip_failed', 'Inspect the branch manually, then retry.');
332
+ await removeCheckout(current, trash);
333
+ await persistAbandoned(nodeId, current, tip, at, by);
334
+ return { node_id: nodeId, branch: current.branch, tip_sha: tip, worktree_path: current.path, branch_deleted: false };
335
+ }
@@ -0,0 +1,15 @@
1
+ import { type GitResult } from './git.js';
2
+ export interface CheckoutRemoval {
3
+ result: GitResult;
4
+ /** The checkout's files, now in the trash; delete with `deleteTrashAsync` after releasing the lock. */
5
+ trash?: string;
6
+ }
7
+ /** `git worktree remove <path>` (no `--force`) that leaves the checkout's files
8
+ * in the trash instead of deleting them. Call with the repository lock held,
9
+ * from `cwd` outside the checkout. */
10
+ export declare function removeWorktreeCheckoutAsync(cwd: string, path: string): Promise<CheckoutRemoval>;
11
+ /** Delete `trash` (a removal's own entry, when given) plus any leftovers
12
+ * beside `path` from an interrupted earlier delete. Runs `rm` as a child
13
+ * process so the delete occupies neither the event loop nor libuv's
14
+ * threadpool. Never throws. */
15
+ export declare function deleteTrashAsync(path: string, trash?: string): Promise<void>;
@@ -0,0 +1,84 @@
1
+ // Removing a managed checkout without holding the repository lock for the
2
+ // delete.
3
+ //
4
+ // `git worktree remove` deletes the checkout's files itself, and a checkout
5
+ // with node_modules takes tens of seconds to delete. Held under the managed
6
+ // worktree lock, that delete made every concurrent `node new --worktree` time
7
+ // out. So the lock covers only the fast steps: git's own removal checks, a
8
+ // rename of the checkout into a sibling trash directory (same filesystem, so
9
+ // the rename is instant), and `git worktree remove` of the now-missing path,
10
+ // which only drops Git's bookkeeping. The caller deletes the trash after it
11
+ // releases the lock. Each entry's name carries its creation time, so a later
12
+ // cleanup can take leftovers from an interrupted delete without ever touching
13
+ // an entry a removal in progress may still rename back.
14
+ import { execFile } from 'node:child_process';
15
+ import { randomUUID } from 'node:crypto';
16
+ import { existsSync, mkdirSync, readdirSync, renameSync } from 'node:fs';
17
+ import { basename, dirname, join } from 'node:path';
18
+ import { gitAsync } from './git.js';
19
+ function trashDirFor(path) {
20
+ return join(dirname(path), '.crtr-trash');
21
+ }
22
+ function refused(stderr) {
23
+ return { status: 1, stdout: '', stderr };
24
+ }
25
+ /** Entries older than this are leftovers: a removal renames back, if at all,
26
+ * within its one locked step. */
27
+ const LEFTOVER_AGE_MS = 10 * 60 * 1000;
28
+ /** `git worktree remove <path>` (no `--force`) that leaves the checkout's files
29
+ * in the trash instead of deleting them. Call with the repository lock held,
30
+ * from `cwd` outside the checkout. */
31
+ export async function removeWorktreeCheckoutAsync(cwd, path) {
32
+ // Git refuses a locked or unclean checkout, but once the files are renamed
33
+ // away it sees neither. Refuse those (and git's submodule refusal) here, before anything moves, so a
34
+ // refused removal never has to put the files back.
35
+ const adminDir = await gitAsync(['rev-parse', '--absolute-git-dir'], path);
36
+ if (adminDir.status !== 0)
37
+ return { result: adminDir };
38
+ if (existsSync(join(adminDir.stdout.trim(), 'locked')))
39
+ return { result: refused(`fatal: cannot remove a locked working tree: ${path}`) };
40
+ if (existsSync(join(adminDir.stdout.trim(), 'modules')))
41
+ return { result: refused(`fatal: working trees containing submodules cannot be moved or removed: ${path}`) };
42
+ const status = await gitAsync(['status', '--porcelain', '--ignore-submodules=none'], path);
43
+ if (status.status !== 0)
44
+ return { result: status };
45
+ if (status.stdout.trim() !== '')
46
+ return { result: refused(`fatal: '${path}' contains modified or untracked files, use --force to delete it`) };
47
+ const trash = join(trashDirFor(path), `${Date.now()}-${basename(path)}-${randomUUID()}`);
48
+ try {
49
+ mkdirSync(dirname(trash), { recursive: true });
50
+ renameSync(path, trash);
51
+ }
52
+ catch {
53
+ return { result: await gitAsync(['worktree', 'remove', path], cwd) }; // e.g. EXDEV: delete in place, as before
54
+ }
55
+ const result = await gitAsync(['worktree', 'remove', path], cwd);
56
+ if (result.status === 0)
57
+ return { result, trash };
58
+ try {
59
+ renameSync(trash, path);
60
+ }
61
+ catch { /* the files stay in the trash; the refusal is still reported */ }
62
+ return { result };
63
+ }
64
+ /** Delete `trash` (a removal's own entry, when given) plus any leftovers
65
+ * beside `path` from an interrupted earlier delete. Runs `rm` as a child
66
+ * process so the delete occupies neither the event loop nor libuv's
67
+ * threadpool. Never throws. */
68
+ export async function deleteTrashAsync(path, trash) {
69
+ const dir = trashDirFor(path);
70
+ let entries = [];
71
+ try {
72
+ entries = readdirSync(dir);
73
+ }
74
+ catch { /* no trash yet */ }
75
+ const cutoff = Date.now() - LEFTOVER_AGE_MS;
76
+ const targets = entries.filter((entry) => Number(entry.split('-', 1)[0]) < cutoff).map((entry) => join(dir, entry));
77
+ if (trash !== undefined && !targets.includes(trash))
78
+ targets.push(trash);
79
+ if (targets.length === 0)
80
+ return;
81
+ await new Promise((resolve) => {
82
+ execFile('rm', ['-rf', '--', ...targets], () => resolve());
83
+ });
84
+ }