@north-light/api 0.3.579 → 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,699 @@
1
+ // The spawn orchestration — the one place that turns "I want a node here" into
2
+ // a running pi process on the canvas. Composes canvas (birth + spine), persona
3
+ // (resolve), launch (pi argv), and tmux (placement).
4
+ //
5
+ // spawnChild — a node spawned by a live node (`crtr node new`). A managed,
6
+ // terminal background worker by default; with `root`, an
7
+ // INDEPENDENT root (no subscription back to the spawner,
8
+ // provenance via spawned_by) — resident and brought forefront for
9
+ // direct driving, or, with `rootLifecycle: 'terminal'`, an
10
+ // unattended parentless worker that still owes a final (so it
11
+ // reaps) and is never placed on screen.
12
+ import { accessSync, constants } from 'node:fs';
13
+ import { isAbsolute, resolve, join } from 'node:path';
14
+ import { appSpace } from '../layout.js';
15
+ import { ApiError } from '../../api/errors.js';
16
+ import { spawnNode, forkSourceNode, currentNodeContext, rootOfSpine, newNodeId, preflightNodeId } from './nodes.js';
17
+ import { resolveProfileOperand } from '../profiles/manifest.js';
18
+ import { selectProfileForCwd, selectProfileForCwdReadOnly } from '../profiles/select.js';
19
+ import { buildLaunchSpecAsync, buildPiArgv } from './launch.js';
20
+ import { runsOnBlaxel, sandboxWorktreeRequest } from '../../daemon/api/environment-of.js';
21
+ import { createManagedWorktreeAsync, rollbackManagedWorktreeAsync } from '../worktree-mutation-async.js';
22
+ import { usage, brokerLaunchFailed } from '../errors.js';
23
+ import { writeGoal } from './kickoff.js';
24
+ import { appendSituationalContext, formatSituationalProse } from './situational-context.js';
25
+ import { ensureRoadmap } from './roadmap.js';
26
+ import { buildWakeBearings } from './bearings.js';
27
+ import { encodeKickoffOrigin, KICKOFF_ORIGIN_ENV } from './stamp/protocol.js';
28
+ import { ExecutionCapReached, beginExecution, crtrHome, getNode, fullName, jobDir, recordExecutionPid, abortExecution, setFrozen } from '../canvas/index.js';
29
+ import { contextDir, nodeAgentDir } from '../canvas/node-agent-paths.js';
30
+ import { copyTreeBeneath } from '../spaces/open-beneath.js';
31
+ import { conversationIdFromPath, conversationStore } from '../conversation-store/index.js';
32
+ import { appMemoryTooSmall, boundFleet, brokerThresholdsForDaemon } from './fleet.js';
33
+ import { admitBrokerMemory } from './memory-admission.js';
34
+ import { emitEvent } from '../events/emit.js';
35
+ import { blaxelEnvironmentOf } from './blaxel-environment.js';
36
+ import { openViewerWindow, focusOf, windowOfPane, } from './placement.js';
37
+ import { awaitBrokerViewSocket } from './view-socket.js';
38
+ import { readLogSnapshot } from '../events/read.js';
39
+ import { transition } from './lifecycle.js';
40
+ import { beginBootFaultAttempt } from '../canvas/recovery.js';
41
+ import { headlessBrokerHost } from './host.js';
42
+ import { ensureDaemon } from '../../daemon/manage.js';
43
+ import { readConfig } from '../config.js';
44
+ import { modelRequestFromConfig, unregisteredConcreteModel, unroutableConcreteModel } from '../model-routes.js';
45
+ import { openModelRegistry } from './model-registry.js';
46
+ import { MODEL_SPEC_NEXT } from './model-selection.js';
47
+ import { forkNodeLedger } from './ledger.js';
48
+ import { appRungForGrant } from '../llm/app-rungs.js';
49
+ import { APP_FAMILY } from '../model-routes.js';
50
+ import { discoverLifecycleHookRegistry } from '../command-hooks/discovery.js';
51
+ import { invokeLifecycleHooks } from '../command-hooks/transport/exec-lifecycle.js';
52
+ import { someAsync } from '../async-array.js';
53
+ import { checkStart } from './start-check.js';
54
+ // Shared broker-launch wrapper — catch launch/preflight failures at the call
55
+ // site, mark the node crashed, then rethrow a clear error.
56
+ function launchFailureOutcome(error) {
57
+ return {
58
+ detail: {
59
+ schema: 'crtr.node-outcome-detail/v1',
60
+ message: error instanceof Error ? error.message : String(error),
61
+ },
62
+ };
63
+ }
64
+ async function launchBrokerOrCrash(nodeId, inv, opts) {
65
+ try {
66
+ return await headlessBrokerHost.launch(nodeId, inv, opts);
67
+ }
68
+ catch (error) {
69
+ try {
70
+ await transition(nodeId, 'crash', { reason: 'launch_failed', outcome: launchFailureOutcome(error) });
71
+ }
72
+ catch {
73
+ /* best-effort cleanup */
74
+ }
75
+ // A named error (not a bare `new Error`): this is the ONLY signal the
76
+ // preflight cause (bad engine resolve, missing session file, extension
77
+ // rejection) has to travel up. Left as a plain Error it collapses to a
78
+ // causeless 500 `internal` across crtrd; named, it surfaces verbatim.
79
+ // The underlying messages (from host.ts preflight) already carry the
80
+ // `[broker] refusing to launch <id>:` lead, so re-surface them as-is
81
+ // rather than double-prefixing the now caller-visible text.
82
+ const cause = error.message;
83
+ throw brokerLaunchFailed(cause.startsWith('[broker]') ? cause : `[broker] refusing to launch ${nodeId}: ${cause}`, 'Inspect the cause above, fix the launch recipe or environment, then retry.');
84
+ }
85
+ }
86
+ /** The last `broker.startup.*` step a freshly created root broker logged, or null when it logged none (it never got
87
+ * as far as binding its event source). */
88
+ function lastStartupStep(nodeId) {
89
+ const steps = readLogSnapshot({ nodeId, component: 'broker', pattern: 'broker.startup.' }, false).items
90
+ .flatMap((item) => item.kind === 'event' && item.envelope.event.startsWith('broker.startup.') && item.envelope.event !== 'broker.startup.warning'
91
+ ? [item.envelope.event.slice('broker.startup.'.length)]
92
+ : []);
93
+ return steps.at(-1) ?? null;
94
+ }
95
+ /** Say how a root broker's readiness wait ended: who ended it (the broker's own exit, or the launcher's deadline) and
96
+ * the last startup step the broker logged before that. */
97
+ function notReadyDescription(nodeId, wait) {
98
+ const step = lastStartupStep(nodeId);
99
+ const reached = step === null ? 'it had logged no startup step' : `the last startup step it logged was \`${step}\``;
100
+ if (wait.reason === 'exited') {
101
+ const { code, signal } = wait.status;
102
+ return {
103
+ text: `exited (code ${code ?? 'null'}, signal ${signal ?? 'null'}) before binding its view socket; ${reached}`,
104
+ fields: { reason: 'exited', code, signal, last_startup_step: step },
105
+ };
106
+ }
107
+ return {
108
+ text: `was still starting after ${Math.round(wait.waitedMs / 1000)} s without binding its view socket, so the launcher stopped it; ${reached}`,
109
+ fields: { reason: 'timeout', waited_ms: wait.waitedMs, last_startup_step: step },
110
+ };
111
+ }
112
+ /** A readiness failure must never leave a broker able to bind behind a dead row. */
113
+ async function crashAndTearDown(nodeId, error) {
114
+ try {
115
+ // Mark dead before touching the process so daemon supervision cannot revive it.
116
+ await transition(nodeId, 'crash', { reason: 'launch_failed', outcome: launchFailureOutcome(error) });
117
+ }
118
+ catch {
119
+ /* preserve teardown even if lifecycle reconciliation already happened */
120
+ }
121
+ try {
122
+ void headlessBrokerHost.teardown(nodeId);
123
+ }
124
+ catch {
125
+ /* host teardown is best-effort; the launch failure remains authoritative */
126
+ }
127
+ }
128
+ /** Resolve a bare/partial pi session uuid to its ABSOLUTE `.jsonl` path by
129
+ * scanning pi's sessions store the way pi's own CLI does (exact id, else a
130
+ * unique prefix). The broker fork seam (`SessionManager.forkFrom`) loads a FILE
131
+ * and does NOT resolve a uuid, so a bare id must be resolved here or the fork
132
+ * throws at boot. Session files are `<sessions>/<project>/<ts>_<id>.jsonl`. */
133
+ async function resolveSessionUuid(uuid) {
134
+ const matches = (await conversationStore().list()).map(({ conversation_id, path }) => ({ id: conversation_id, path }));
135
+ const exact = matches.filter((m) => m.id === uuid);
136
+ const hit = exact.length > 0 ? exact : matches.filter((m) => m.id.startsWith(uuid));
137
+ if (hit.length === 0) {
138
+ throw usage(`--fork-from '${uuid}': no pi session with that id found.`, {
139
+ next: 'Pass a live node id, a real session uuid/prefix, or an absolute .jsonl session path.',
140
+ });
141
+ }
142
+ if (hit.length > 1) {
143
+ throw usage(`--fork-from '${uuid}': ambiguous — ${hit.length} sessions match that id prefix; pass the full id or the .jsonl path.`, {
144
+ next: 'Pass the full session uuid or an absolute .jsonl path to disambiguate.',
145
+ });
146
+ }
147
+ return hit[0].path;
148
+ }
149
+ /** Resolve a `--fork-from` value to an ABSOLUTE `.jsonl` source path for the
150
+ * broker fork (`SessionManager.forkFrom`, which loads a file — never a bare id).
151
+ * A live node id resolves to its captured session FILE (absolute, cwd-immune); a
152
+ * relative path is made absolute; a bare/partial uuid is resolved against pi's
153
+ * sessions store. Throws when a known node has no captured session file, or when
154
+ * a uuid resolves to zero or multiple sessions. */
155
+ export async function resolveForkSource(value) {
156
+ const v = value.trim();
157
+ if (v === '')
158
+ throw usage('--fork-from requires a node id, session file, or session uuid.', { next: 'Pass a live node id, an absolute .jsonl session path, or a session uuid/prefix.' });
159
+ // A path (contains `/` or ends `.jsonl`) is a session file — ensure it is
160
+ // ABSOLUTE so the broker, launched in a different cwd, still resolves it.
161
+ if (v.includes('/') || v.endsWith('.jsonl')) {
162
+ const id = conversationIdFromPath(isAbsolute(v) ? v : resolve(process.cwd(), v));
163
+ if (id === null)
164
+ throw usage(`--fork-from '${v}': invalid conversation path.`, { next: 'Pass a conversation file path or id.' });
165
+ return (await conversationStore().header(id)).path;
166
+ }
167
+ // A live node id — fork from the conversation it has accumulated. Its captured
168
+ // session FILE is absolute; the broker cannot fork a bare session id.
169
+ const n = await getNode(v);
170
+ if (n !== null) {
171
+ const src = n.pi_session_file;
172
+ if (src === undefined || src === null || src === '') {
173
+ throw usage(`node ${v} has no pi session yet — it has not captured a session FILE to fork from (the broker forks a .jsonl path, not a bare id).`, {
174
+ next: 'Pick a node that has captured a session, or drop --fork-from.',
175
+ });
176
+ }
177
+ const id = conversationIdFromPath(src);
178
+ if (id === null)
179
+ throw usage(`node ${v} has no valid conversation id.`, { next: 'Pick a node with a captured conversation.' });
180
+ return (await conversationStore().header(id)).path;
181
+ }
182
+ // Not a known node — a bare/partial pi session uuid; resolve it to an absolute
183
+ // .jsonl (the broker fork won't resolve a uuid).
184
+ return await resolveSessionUuid(v);
185
+ }
186
+ /** Resolve the profile a spawned child runs under: an explicit `--profile`
187
+ * operand (id, name, or closest match) resolved through `resolveProfileOperand`, else INHERIT
188
+ * the spawner's current `profile_id` (null when the spawner has none). `--root`
189
+ * never resets this to null on its own; only an explicit override does. When
190
+ * there is NO spawner at all — `crtr node new --root` run directly from a
191
+ * shell, not from inside a node — there is no profile to inherit, so this runs
192
+ * the same startup selector the front door uses (MRU covering `cwd`, else the
193
+ * root-profile prompt/default). */
194
+ export async function resolveProfileId(explicit, spawner, cwd, options = {}) {
195
+ if (explicit === null)
196
+ return null;
197
+ if (explicit !== undefined && explicit !== '') {
198
+ // `explicit` originates as a user-typed `--profile`, so tolerate a near
199
+ // miss. The CLI normally resolves it to an id first; this covers callers
200
+ // that reach the daemon with a name.
201
+ return resolveProfileOperand(explicit).profileId;
202
+ }
203
+ if (spawner !== null)
204
+ return (await getNode(spawner))?.profile_id ?? null;
205
+ return options.readOnlySelection === true
206
+ ? selectProfileForCwdReadOnly(cwd)
207
+ : selectProfileForCwd(cwd);
208
+ }
209
+ function requestFromLaunch(launch) {
210
+ const intent = launch.modelIntent === undefined
211
+ ? undefined
212
+ : `${launch.modelIntent.family}/${launch.modelIntent.strength}`;
213
+ return modelRequestFromConfig(launch.model, intent, launch.modelExact === true);
214
+ }
215
+ /** Under an app-paid grant (RT-RTE-24) the node's model is the app rung resolver's choice, never the owner's ladder: the
216
+ * recipe records the rung's catalog model and the intent `app/<strength>`. A user-paid grant leaves the recipe as built. */
217
+ export async function appPaidLaunch(launch, grantId, requested) {
218
+ const ask = requested ?? (launch.modelIntent ? `${launch.modelIntent.family}/${launch.modelIntent.strength}` : launch.model);
219
+ const rung = await appRungForGrant(grantId, ask, launch.modelExact === true);
220
+ if (rung === null)
221
+ return launch;
222
+ const { CRTR_MODEL_INTENT: _owner, ...env } = launch.env ?? {};
223
+ return { ...launch, model: rung.model, modelIntent: { family: APP_FAMILY, strength: rung.strength }, modelExact: undefined, env: { ...env, CRTR_MODEL_INTENT: `${APP_FAMILY}/${rung.strength}` } };
224
+ }
225
+ /** Reject a permanently invalid launch recipe against the registry that will
226
+ * serve it. Registered-but-unauthenticated/cooling requests intentionally pass
227
+ * this authoring check so broker policy for transient availability is unchanged. */
228
+ export async function assertLaunchModelRegistered(request, options, registry) {
229
+ if (request === undefined)
230
+ return;
231
+ // An app-paid recipe is logical (`app/<strength>`) but names a catalog model: the catalog entry is the whole check.
232
+ if (request.kind === 'logical' && request.family !== APP_FAMILY)
233
+ return;
234
+ const unknown = await unregisteredConcreteModel(request.kind === 'logical' ? { kind: 'concrete', spec: request.spec } : request, registry ?? await openModelRegistry(), options);
235
+ if (unknown !== undefined) {
236
+ throw usage(`model '${unknown.request.spec}' is not registered in this daemon.`, {
237
+ received: unknown.request.spec,
238
+ next: MODEL_SPEC_NEXT,
239
+ });
240
+ }
241
+ const unroutable = await unroutableConcreteModel(request, options);
242
+ if (unroutable !== undefined) {
243
+ throw usage(`model '${unroutable.spec}' is registered but no configured model route offers it, so no turn could be served.`, {
244
+ received: unroutable.spec,
245
+ next: `Pick a model from your configured routes (\`crtr sys config get modelLadders\`), or add this one to a ladder or route.`,
246
+ });
247
+ }
248
+ }
249
+ /** Resolve who a spawn is attributed to. A managed child needs a spine parent
250
+ * (explicit `--parent` or the calling node's CRTR_NODE_ID). A --root spawn
251
+ * does not: it is top-level by definition and the spawner identity is
252
+ * provenance only — a human shell with no CRTR_NODE_ID is a legitimate root
253
+ * spawner, so `crtr node new --root` from outside a node must not throw. */
254
+ export function resolveSpawner(parent, ctxNodeId, root) {
255
+ const spawner = parent ?? ctxNodeId ?? null;
256
+ if (!root && spawner === null) {
257
+ throw new Error('spawnChild requires a calling node (CRTR_NODE_ID) or an explicit parent');
258
+ }
259
+ return spawner;
260
+ }
261
+ export async function spawnChildPrepared(opts, beforeBrokerLaunch, afterNodeCreated) {
262
+ try {
263
+ ensureDaemon();
264
+ }
265
+ catch { /* daemon is best-effort */ }
266
+ const ctx = currentNodeContext();
267
+ const root = opts.root === true;
268
+ const spawner = resolveSpawner(opts.parent, ctx.nodeId ?? null, root);
269
+ const mode = opts.mode ?? 'base';
270
+ // Roots are resident by default; managed children are terminal workers by
271
+ // default. The one lifecycle option deliberately applies to both shapes so a
272
+ // child can be born as a standing, wakeable conversation too.
273
+ const lifecycle = opts.rootLifecycle ?? (root ? 'resident' : 'terminal');
274
+ const attendedRoot = root && lifecycle === 'resident';
275
+ // Born WITHOUT a name — the canvas-goal-capture extension names it async from
276
+ // its first message (the kickoff task) inside its own pi process, so spawn
277
+ // never blocks on the LLM naming round-trip (a 2-3s freeze).
278
+ const spawnerNode = spawner === null ? null : await getNode(spawner);
279
+ const creatorNode = opts.creator === undefined || opts.creator === null ? null : await getNode(opts.creator);
280
+ if (opts.nodeId !== undefined)
281
+ await preflightNodeId(opts.nodeId);
282
+ const forkFrom = opts.forkFrom !== undefined ? await resolveForkSource(opts.forkFrom) : undefined;
283
+ const forkSourceMeta = forkFrom === undefined ? null : await forkSourceNode(forkFrom);
284
+ const isolatedAncestor = (await someAsync([spawnerNode, creatorNode, forkSourceMeta], async (source) => source?.isolated === true ||
285
+ (source?.run_id != null && (await getNode(source.run_id))?.isolated === true)));
286
+ if (isolatedAncestor && opts.isolated === false) {
287
+ throw new ApiError(403, 'isolated_run', 'isolation cannot be turned off under an isolated run', { param: 'isolated' });
288
+ }
289
+ const isolated = isolatedAncestor || opts.isolated === true;
290
+ if (isolated && opts.worktree === true) {
291
+ throw new ApiError(400, 'invalid_request', 'isolated nodes cannot use a worktree', { param: 'worktree' });
292
+ }
293
+ const wantsWorktree = opts.worktree === true;
294
+ const nodeId = isolated || wantsWorktree ? (opts.nodeId ?? await newNodeId()) : opts.nodeId;
295
+ // Isolation pins each node to its own folder before resolving the launch
296
+ // recipe; the application files directory must never become its cwd.
297
+ const birthCwd = isolated
298
+ ? (opts.run !== undefined && root && !isolatedAncestor ? opts.cwd : join(appSpace(opts.run?.grantee ?? spawnerNode?.grantee ?? 'app:terminal').nodes, nodeId))
299
+ : opts.cwd;
300
+ // Preflight: resolve every fallible input BEFORE creating the worktree or the
301
+ // node. `--fork-from <bad>` (resolveForkSource), an invalid `--profile`
302
+ // (resolveProfileId), and an unregistered concrete `--model` must fail HERE,
303
+ // before anything exists to clean up or
304
+ // strand — catching them later (after the worktree/node are created) is what
305
+ // let `--worktree --fork-from <bad>` leave an active node pinned to a deleted
306
+ // cwd with an open managed_worktree. A caller-supplied `--node-id` joins this
307
+ // preflight for the same reason: a malformed or already-taken id must fail
308
+ // BEFORE createManagedWorktree runs below, or a duplicate/bad id leaks a
309
+ // registered worktree that the failure catch below then can't clean up
310
+ // (getNode(nodeId) already resolves non-null for the pre-existing conflicting
311
+ // node, which the catch's cleanup guard reads as "keep it"). This is a
312
+ // best-effort check only — spawnNode's synchronous check-then-create right
313
+ // before node creation remains the sole authoritative race decider.
314
+ const profileId = await resolveProfileId(opts.profile, spawner, birthCwd);
315
+ const launchGrant = opts.run?.grant_id ?? spawnerNode?.grant_id ?? null;
316
+ const preflightLaunch = await appPaidLaunch((await buildLaunchSpecAsync(opts.kind, mode, {
317
+ lifecycle, hasManager: !root, model: opts.model, modelOverride: opts.model !== undefined, cwd: birthCwd, profileId,
318
+ })).launch, launchGrant, opts.model);
319
+ await assertLaunchModelRegistered(requestFromLaunch(preflightLaunch), { cwd: birthCwd, profileId });
320
+ // The start check, before any worktree or node row exists: a refusal leaves nothing behind. The payer is the identity the
321
+ // node will carry (a run's own, else its creator's or spawner's, else the terminal person).
322
+ const payerSource = opts.run ?? creatorNode ?? spawnerNode ?? forkSourceMeta;
323
+ await checkStart({ grantee: payerSource?.grantee ?? 'app:terminal', sub: payerSource?.sub, grant_id: payerSource?.grant_id });
324
+ const forkSourceNodeId = forkSourceMeta?.node_id ?? null;
325
+ let managedWorktree;
326
+ let spawnCwd = birthCwd;
327
+ // On Blaxel the node's sandbox is its worktree (D102): the request rides in the launch recipe and no checkout is made here.
328
+ const sandboxWorktree = wantsWorktree && await runsOnBlaxel(profileId) ? await sandboxWorktreeRequest(profileId, opts.worktreeCwd ?? opts.cwd, nodeId, opts.worktreeBase) : undefined;
329
+ try {
330
+ if (wantsWorktree && sandboxWorktree === undefined) {
331
+ managedWorktree = await createManagedWorktreeAsync(opts.worktreeCwd ?? opts.cwd, nodeId, opts.worktreeBase);
332
+ spawnCwd = managedWorktree.path;
333
+ }
334
+ // Spine: a managed child reports up to its spawner (has a manager); an
335
+ // independent root sits top-of-spine with nobody to push to. Mirrors the
336
+ // `parent` set below (root ? null : spawner), so hasManager === parent!==null.
337
+ // Built HERE — after profile + worktree cwd are resolved — so the kind's
338
+ // model/tools resolve against the CHILD's own profile + project stack, not
339
+ // this process's ambient scope (a front-door shell has no CRTR_PROFILE_ID,
340
+ // which silently hid every profile-scope kind override).
341
+ const launch = wantsWorktree
342
+ ? await appPaidLaunch((await buildLaunchSpecAsync(opts.kind, mode, {
343
+ lifecycle, hasManager: !root, model: opts.model, modelOverride: opts.model !== undefined, cwd: spawnCwd, profileId,
344
+ })).launch, launchGrant, opts.model)
345
+ : preflightLaunch;
346
+ if (sandboxWorktree !== undefined)
347
+ launch.worktree = sandboxWorktree;
348
+ if (wantsWorktree) {
349
+ await assertLaunchModelRegistered(requestFromLaunch(launch), { cwd: spawnCwd, profileId });
350
+ }
351
+ const meta = await spawnNode({
352
+ kind: opts.kind,
353
+ mode,
354
+ lifecycle,
355
+ cwd: spawnCwd,
356
+ name: opts.name ?? opts.kind,
357
+ description: opts.description,
358
+ // A root has no spine parent (top-level, nobody subscribes); it still
359
+ // records spawned_by=spawner when a node (not a human shell) spawned it.
360
+ // A child's parent IS its manager.
361
+ parent: root ? null : spawner,
362
+ creator: opts.creator,
363
+ ...(opts.actor === undefined ? {} : { actor: opts.actor }),
364
+ forkSourceNode: forkSourceNodeId,
365
+ spawnedBy: root ? (spawner ?? undefined) : undefined,
366
+ profile_id: profileId,
367
+ ...(opts.scopes === undefined ? {} : { scopes: opts.scopes }),
368
+ isolated,
369
+ ...(opts.run === undefined ? {} : { run: opts.run }),
370
+ ...(opts.causedBy === undefined ? {} : { causedBy: opts.causedBy }),
371
+ ...(opts.withinCreate === undefined ? {} : { withinCreate: opts.withinCreate }),
372
+ forkFrom: opts.forkFrom,
373
+ forkSourceFile: forkFrom,
374
+ modelOverride: opts.model === undefined ? undefined : launch.model,
375
+ ...(managedWorktree !== undefined ? { managedWorktree } : {}),
376
+ ...(nodeId !== undefined ? { nodeId } : {}),
377
+ ...(opts.reviewBinding === undefined ? {} : { reviewBinding: opts.reviewBinding }),
378
+ ...(opts.deadlineAt === undefined ? {} : { deadlineAt: opts.deadlineAt }),
379
+ ...(opts.outcomeDelivery === undefined ? {} : { outcomeDelivery: opts.outcomeDelivery }),
380
+ launch,
381
+ });
382
+ afterNodeCreated?.(meta.node_id);
383
+ if (opts.forkFrom !== undefined) {
384
+ try {
385
+ await forkNodeLedger(meta.node_id, forkSourceNodeId ?? null);
386
+ }
387
+ catch (error) {
388
+ await transition(meta.node_id, 'crash', { reason: 'launch_failed', outcome: launchFailureOutcome(error) });
389
+ throw error;
390
+ }
391
+ }
392
+ // Persist the task as the child's goal for a fresh revive to re-read.
393
+ await writeGoal(meta.node_id, opts.prompt);
394
+ // Hidden ambient context, written BEFORE the engine launches so canvas-
395
+ // context-intro's session_start bearings carry it from the first turn.
396
+ if (opts.situationalContext !== undefined) {
397
+ await appendSituationalContext(meta.node_id, formatSituationalProse(opts.situationalContext));
398
+ }
399
+ // Compound births such as `node fork` may need durable state in place after
400
+ // the row and context directory exist but before the broker can observe it.
401
+ // A preparation failure leaves the row crashed and never launches a partial
402
+ // node.
403
+ if (beforeBrokerLaunch !== undefined) {
404
+ try {
405
+ beforeBrokerLaunch(meta.node_id);
406
+ }
407
+ catch (error) {
408
+ await transition(meta.node_id, 'crash', { reason: 'launch_failed', outcome: launchFailureOutcome(error) });
409
+ throw error;
410
+ }
411
+ }
412
+ // A scheduled birth prepends its clock provenance to the real task. Fork
413
+ // identity is owned exclusively by the session-start bearings message, which
414
+ // lands after copied history and before this prompt. An empty prompt starts
415
+ // the broker idle and carries neither a task nor wake provenance.
416
+ const hasKickoff = opts.prompt !== '';
417
+ const wakeBlock = hasKickoff && opts.wakeOrigin !== undefined ? `${buildWakeBearings(opts.wakeOrigin)}\n\n` : '';
418
+ const kickoff = `${wakeBlock}${opts.prompt}`;
419
+ // A child created DIRECTLY as an orchestrator (mode='orchestrator') boots
420
+ // with the orchestrator persona but bypasses promote(), which is where a
421
+ // roadmap scaffold would normally be seeded. Lay one down here (goal
422
+ // pre-filled from the task) so the orchestrator has its roadmap from
423
+ // birth, instead of waking without one. Guarded so it never clobbers.
424
+ if (mode === 'orchestrator')
425
+ await ensureRoadmap(meta.node_id, { goal: opts.prompt.trim() });
426
+ await invokeBirthLifecycleHooks(meta);
427
+ // The daemon owns both conversations at birth. Fork before launch so the
428
+ // new broker resumes its own copy instead of opening the source node's
429
+ // conversation through the node-only store socket.
430
+ let forkSessionPath;
431
+ if (forkFrom !== undefined) {
432
+ try {
433
+ const sourceId = conversationIdFromPath(forkFrom);
434
+ if (sourceId === null)
435
+ throw new Error(`invalid fork source ${forkFrom}`);
436
+ const forkId = await conversationStore().fork(sourceId, meta.node_id);
437
+ forkSessionPath = (await conversationStore().header(forkId)).path;
438
+ }
439
+ catch (error) {
440
+ await transition(meta.node_id, 'crash', { reason: 'launch_failed', outcome: launchFailureOutcome(error) });
441
+ throw error;
442
+ }
443
+ }
444
+ const inv = buildPiArgv(meta, { prompt: kickoff, resumeSessionPath: forkSessionPath });
445
+ // CRTR_SUBTREE (the spine root) rides the detached broker's env so it can group
446
+ // the subtree; the host sets CRTR_FRONT_DOOR itself.
447
+ inv.env = { ...inv.env, CRTR_SUBTREE: await rootOfSpine(meta.node_id) };
448
+ // The kickoff's provenance rides the same env: it is composed here but sent
449
+ // by the broker process, which stamps it against the message pi persists.
450
+ if (hasKickoff) {
451
+ const kickoffOrigin = opts.wakeOrigin !== undefined
452
+ ? { type: 'runtime', kind: 'wake', wake: opts.wakeOrigin }
453
+ : {
454
+ type: 'runtime',
455
+ kind: 'kickoff',
456
+ ...(meta.spawned_by != null && meta.spawned_by !== '' ? { spawnedBy: meta.spawned_by } : {}),
457
+ };
458
+ inv.env[KICKOFF_ORIGIN_ENV] = encodeKickoffOrigin(kickoffOrigin);
459
+ }
460
+ // Snapshot the boot-fault attempt the instant before launch — see
461
+ // beginBootFaultAttempt — so a later diagnostic read (root+await only, below)
462
+ // can only ever surface a fault THIS launch recorded, never a stale one.
463
+ // Claim the slot BEFORE the launch: `launchBrokerOrCrash` turns any launch
464
+ // failure — including the ledger's refusal — into a crashed row, and a birth
465
+ // that merely has to wait for capacity must not be crashed. Consulting the
466
+ // ledger here keeps the freeze decision ahead of that conversion. The
467
+ // reservation is consumed by the fleet's own `register` on a successful
468
+ // launch, so the release below is a no-op then and a give-back on any path
469
+ // that never registered a handle.
470
+ const fleet = boundFleet();
471
+ // A node whose profile points at a Blaxel environment is never launched here: it is born dormant with its goal kept, and the
472
+ // node-lifecycle lane wakes it through `reviveNode`, the one launch path that chooses the Blaxel runner and runs the bill check.
473
+ if (await blaxelEnvironmentOf(meta.profile_id ?? null) !== null) {
474
+ await setFrozen(meta.node_id, new Date().toISOString());
475
+ emitEvent({ level: 'info', event: 'broker.frozen', node_id: meta.node_id, fields: { reason: 'remote_environment' } });
476
+ return { node: await getNode(meta.node_id), frozen: true, window: null, session: null };
477
+ }
478
+ const slot = await fleet.reserveSlot(meta.node_id);
479
+ // The slot is held while the launcher measures the app's memory; a denial gives it back before freezing.
480
+ const memory = slot ? await admitBrokerMemory(meta.node_id) : null;
481
+ if (memory?.verdict === 'too_small') {
482
+ fleet.releaseReservation(meta.node_id);
483
+ const error = appMemoryTooSmall(memory);
484
+ await transition(meta.node_id, 'crash', { reason: 'launch_failed', outcome: launchFailureOutcome(error) });
485
+ throw error;
486
+ }
487
+ if (!slot || memory?.verdict === 'denied') {
488
+ if (memory?.verdict === 'denied')
489
+ fleet.releaseReservation(meta.node_id);
490
+ // Freezing is durable and once-per-episode; a birth is by definition the
491
+ // first, so the mark and its announcement always land here.
492
+ await setFrozen(meta.node_id, new Date().toISOString());
493
+ emitEvent({
494
+ level: 'info',
495
+ event: 'broker.frozen',
496
+ node_id: meta.node_id,
497
+ fields: memory?.verdict === 'denied'
498
+ ? { reason: 'app_memory', free_bytes: memory.free_bytes, needed_bytes: memory.needed_bytes }
499
+ : { reason: 'broker_cap', live_count: await fleet.occupancy(), hard_cap: brokerThresholdsForDaemon().automaticReviveCap },
500
+ });
501
+ // No engine, so no readiness to wait for and no viewer to place.
502
+ return { node: await getNode(meta.node_id), frozen: true, window: null, session: null };
503
+ }
504
+ const bootFault = await beginBootFaultAttempt(meta.node_id);
505
+ const { automaticReviveCap } = brokerThresholdsForDaemon();
506
+ let executionId;
507
+ try {
508
+ executionId = await beginExecution(meta.node_id, { daemonEpoch: fleet.epoch(), cap: automaticReviveCap });
509
+ }
510
+ catch (error) {
511
+ if (!(error instanceof ExecutionCapReached))
512
+ throw error;
513
+ // Another daemon process took the last slot between the in-process check and the row insert.
514
+ fleet.releaseReservation(meta.node_id);
515
+ await setFrozen(meta.node_id, new Date().toISOString());
516
+ emitEvent({ level: 'info', event: 'broker.frozen', node_id: meta.node_id, fields: { reason: 'broker_cap', live_count: error.live, hard_cap: error.cap } });
517
+ return { node: await getNode(meta.node_id), frozen: true, window: null, session: null };
518
+ }
519
+ inv.env = { ...inv.env, CRTR_EXECUTION_ID: executionId };
520
+ // Broker is the only host: launch the detached broker ENGINE. A managed child
521
+ // gets NO viewer — spawning it returns once the engine is launched and a human
522
+ // opens a viewer on demand via `crtr surface node focus` / surface attach. A --root gets
523
+ // a foreground viewer below.
524
+ let placed;
525
+ try {
526
+ placed = await launchBrokerOrCrash(meta.node_id, inv, {
527
+ cwd: meta.cwd,
528
+ name: fullName(meta),
529
+ resuming: false,
530
+ });
531
+ }
532
+ catch (error) {
533
+ await abortExecution(executionId, { reason: 'launch_failed' });
534
+ throw error;
535
+ }
536
+ finally {
537
+ fleet.releaseReservation(meta.node_id);
538
+ }
539
+ // Definitive failure: no broker pid ⇒ the node has no engine. Crash it (so the
540
+ // daemon doesn't watch a zombie 'active') and throw so `crtr node new` exits
541
+ // non-zero. transition('crash') is a legal from-LIVE move (still 'active' from
542
+ // spawnNode). Mirrors the old window===null crash.
543
+ if (placed.pid === null) {
544
+ const error = new Error(`broker host returned no pid for ${meta.node_id}`);
545
+ await abortExecution(executionId, { reason: 'launch_failed' });
546
+ await transition(meta.node_id, 'crash', { reason: 'launch_failed', outcome: launchFailureOutcome(error) });
547
+ throw brokerLaunchFailed(`failed to launch the broker engine for ${meta.node_id} (${meta.name}) — the node was not started.`, `Inspect canonical event diagnostics with \`crtr sys logs --node ${meta.node_id}\`, then verify the pi engine can start in this environment.`);
548
+ }
549
+ if (await recordExecutionPid(executionId, meta.node_id, placed.pid) === 'shutdown') {
550
+ await abortExecution(executionId, { reason: 'superseded' });
551
+ void headlessBrokerHost.teardown(meta.node_id);
552
+ throw brokerLaunchFailed(`broker execution was superseded for ${meta.node_id}`, 'Retry spawning the node.');
553
+ }
554
+ // A root created through `node new --root` must accept viewers before the
555
+ // command returns because its caller may attach immediately. Only that root
556
+ // waits — a managed child (and every cron-launched
557
+ // birth) stays launch-immediate so the daemon never blocks its serialized
558
+ // supervision loop on a birth, no matter what forwards the readiness field.
559
+ if (attendedRoot && opts.readiness === 'await') {
560
+ const wait = await awaitBrokerViewSocket(meta.node_id, placed.exited);
561
+ if (!wait.ready) {
562
+ // Stop a slow but still-live launch before it can bind behind a dead row.
563
+ const failure = notReadyDescription(meta.node_id, wait);
564
+ emitEvent({ level: 'error', event: 'broker.launch.not_ready', node_id: meta.node_id, fields: failure.fields });
565
+ const why = await bootFault.explanation();
566
+ await crashAndTearDown(meta.node_id, new Error(why ?? failure.text));
567
+ throw brokerLaunchFailed(why !== null
568
+ ? `the root broker ${meta.node_id} could not start — ${why}`
569
+ : `the root broker ${meta.node_id} ${failure.text} — it was not started.`, why !== null
570
+ ? 'Resolve the cause named above, then retry.'
571
+ : `Inspect canonical event diagnostics with \`crtr sys logs --node ${meta.node_id}\`, then retry.`);
572
+ }
573
+ }
574
+ // A --root opens NO viewer from here. spawnChild runs daemon-side only, and
575
+ // the daemon is paneless by construction (manage.ts strips TMUX/TMUX_PANE
576
+ // from its env precisely so this code cannot resolve someone else's pane),
577
+ // so a root's foreground viewer is placed by whoever asked for it — the
578
+ // front door, or `node new`'s own openSpawnViewer in the CLI process. Only a
579
+ // managed child is placed here, and placement stays non-fatal after the
580
+ // readiness proof.
581
+ let window = null;
582
+ let session = null;
583
+ if (!root && spawner !== null && readConfig('user').auto_open_child_viewers) {
584
+ // When enabled, a managed child opens beside a HUMAN actively watching
585
+ // its spawner. Turning the setting off leaves every child headless until
586
+ // someone explicitly focuses or attaches it. The broker is headless
587
+ // (TMUX stripped in broker.ts), so we can't read $TMUX — instead we find
588
+ // the spawner's live viewer pane from the focus registry (focusOf prunes
589
+ // a dead pane and returns null) and split beside it. No viewer ⇒ nobody is
590
+ // watching ⇒ stay headless. Best-effort: never fail a spawn on placement.
591
+ try {
592
+ const parentViewer = await focusOf(spawner);
593
+ if (parentViewer !== null && parentViewer.pane !== null && parentViewer.pane !== '') {
594
+ // The child broker was JUST launched (readiness:'launch') and may not
595
+ // have bound view.sock yet. Hand the attach pane CRTR_ATTACH_WAIT_MS so
596
+ // it self-polls the socket until it accepts instead of connecting once,
597
+ // finding a cold socket, and closing the pane instantly — the exact
598
+ // mechanism bootRoot uses. A child with a kickoff prompt marks its
599
+ // initial viewer for whip_mode; ordinary focus/attach paths stay
600
+ // silent. No pre-wait in this CLI subprocess.
601
+ const viewer = await openViewerWindow(meta.node_id, parentViewer.session ?? '', {
602
+ name: fullName(meta),
603
+ cwd: opts.cwd,
604
+ besidePane: parentViewer.pane,
605
+ waitForBroker: true,
606
+ initialWhip: hasKickoff,
607
+ });
608
+ if (viewer !== null && viewer.pane !== null && viewer.pane !== '') {
609
+ session = viewer.session;
610
+ window = windowOfPane(viewer.pane);
611
+ }
612
+ }
613
+ }
614
+ catch { /* best-effort — a headless spawn must never fail on viewer placement */ }
615
+ }
616
+ const saved = await getNode(meta.node_id);
617
+ return { node: saved, frozen: false, window, session };
618
+ }
619
+ catch (err) {
620
+ // Cleanup scope: a managed worktree is only removed on failure while NO
621
+ // persisted node identity exists yet. spawnNode() persists the node row
622
+ // (and its meta files) BEFORE the later fallible steps in this try block
623
+ // (writeGoal, roadmap seeding, launch, viewer placement) — so a flag set
624
+ // after spawnNode() merely returns would still read false if one of THOSE
625
+ // later steps threw, and this catch would then delete the worktree out
626
+ // from under an already-persisted node whose cwd points at it. Check the
627
+ // canvas directly instead: once any node row exists for this id, keep the
628
+ // worktree — the node stays alive (crashed, if the launch itself failed)
629
+ // with its worktree intact rather than pinned to a deleted path.
630
+ if (managedWorktree !== undefined && nodeId !== undefined && await getNode(nodeId) === null) {
631
+ await rollbackManagedWorktreeAsync(managedWorktree);
632
+ }
633
+ throw err;
634
+ }
635
+ }
636
+ export async function spawnChild(opts) {
637
+ return spawnChildPrepared(opts);
638
+ }
639
+ /** Invoke the best-effort node-start plan before any cold broker launch. */
640
+ export async function invokeBirthLifecycleHooks(meta) {
641
+ const lifecycleHooks = discoverLifecycleHookRegistry(meta.cwd, meta.profile_id).plans.get('node:start') ?? [];
642
+ await invokeLifecycleHooks(lifecycleHooks, {
643
+ node: {
644
+ id: meta.node_id,
645
+ name: meta.name,
646
+ kind: meta.kind,
647
+ mode: meta.mode,
648
+ lifecycle: meta.lifecycle,
649
+ cwd: meta.cwd,
650
+ nodeDir: await nodeAgentDir(meta.node_id),
651
+ contextDir: await contextDir(meta.node_id),
652
+ jobDir: jobDir(meta.node_id),
653
+ },
654
+ runtime: {
655
+ isBirth: true,
656
+ canvasHome: crtrHome(),
657
+ profile: meta.profile_id ?? null,
658
+ },
659
+ });
660
+ }
661
+ const FORK_CONTEXT_EXCLUDES = new Set(['initial-prompt.md', 'yield-message.md', 'result.json', 'jobs']);
662
+ /** Create an independent, idle root from a node's conversation and durable
663
+ * context. Runtime/graph state is intentionally not inherited. */
664
+ /** Fork `sourceId` into a fresh root. `scopes` is the fork's allow-list; omit
665
+ * for a root with no ceiling. */
666
+ export async function forkNode(sourceId, scopes, forker) {
667
+ const source = await getNode(sourceId);
668
+ if (source === null) {
669
+ throw usage(`unknown node: ${sourceId}`, {
670
+ received: sourceId,
671
+ next: 'List nodes and pass the id of a node with a captured pi session.',
672
+ });
673
+ }
674
+ const sessionFile = await resolveForkSource(sourceId);
675
+ const sourceContext = await contextDir(sourceId);
676
+ try {
677
+ await conversationStore().header(conversationIdFromPath(sessionFile));
678
+ accessSync(sourceContext, constants.R_OK);
679
+ }
680
+ catch (error) {
681
+ throw new Error(`cannot fork ${sourceId}: its conversation or context is unreadable — ${error.message}`);
682
+ }
683
+ return spawnChildPrepared({
684
+ kind: source.kind,
685
+ mode: 'base',
686
+ cwd: source.cwd,
687
+ prompt: '',
688
+ root: true,
689
+ readiness: 'await',
690
+ forkFrom: sourceId,
691
+ ...(forker === undefined ? {} : { actor: forker }),
692
+ profile: source.profile_id,
693
+ model: source.model_override ?? undefined,
694
+ ...(scopes === undefined ? {} : { scopes }),
695
+ }, async (destinationId) => {
696
+ const destinationContext = await contextDir(destinationId);
697
+ copyTreeBeneath(await nodeAgentDir(sourceId), sourceContext, await nodeAgentDir(destinationId), destinationContext, FORK_CONTEXT_EXCLUDES);
698
+ });
699
+ }