@north-light/cli 0.0.0 → 0.3.413

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 (2511) hide show
  1. package/LICENSE +18 -0
  2. package/README.md +182 -2
  3. package/bin/crouter +4 -0
  4. package/bin/crtr +4 -0
  5. package/bin/crtr-launcher +4 -0
  6. package/bin/crtrd +4 -0
  7. package/bin/progress-painter.mjs +89 -0
  8. package/bin/runtime-generation-manifest.mjs +286 -0
  9. package/bin/runtime-selector.mjs +510 -0
  10. package/dist/api/client.d.ts +501 -0
  11. package/dist/api/client.js +3 -0
  12. package/dist/api/command-manifest/index.d.ts +3 -0
  13. package/dist/api/command-manifest/index.js +1 -0
  14. package/dist/api/command-manifest/manifest.d.ts +51 -0
  15. package/dist/api/command-manifest/manifest.js +1 -0
  16. package/dist/api/command-manifest/result.d.ts +25 -0
  17. package/dist/api/command-manifest/result.js +1 -0
  18. package/dist/api/command-manifest/schema.d.ts +28 -0
  19. package/dist/api/command-manifest/schema.js +1 -0
  20. package/dist/api/dto/analytics.d.ts +184 -0
  21. package/dist/api/dto/analytics.js +0 -0
  22. package/dist/api/dto/attach.d.ts +22 -0
  23. package/dist/api/dto/attach.js +0 -0
  24. package/dist/api/dto/bash-jobs.d.ts +24 -0
  25. package/dist/api/dto/bash-jobs.js +1 -0
  26. package/dist/api/dto/bash.d.ts +17 -0
  27. package/dist/api/dto/bash.js +0 -0
  28. package/dist/api/dto/broker-ops.d.ts +187 -0
  29. package/dist/api/dto/broker-ops.js +0 -0
  30. package/dist/api/dto/broker-signals.d.ts +25 -0
  31. package/dist/api/dto/broker-signals.js +0 -0
  32. package/dist/api/dto/broker.d.ts +86 -0
  33. package/dist/api/dto/broker.js +0 -0
  34. package/dist/api/dto/canvas.d.ts +359 -0
  35. package/dist/api/dto/canvas.js +0 -0
  36. package/dist/api/dto/chat-inventory.d.ts +56 -0
  37. package/dist/api/dto/chat-inventory.js +0 -0
  38. package/dist/api/dto/common.d.ts +29 -0
  39. package/dist/api/dto/common.js +1 -0
  40. package/dist/api/dto/config.d.ts +46 -0
  41. package/dist/api/dto/config.js +0 -0
  42. package/dist/api/dto/crons.d.ts +158 -0
  43. package/dist/api/dto/crons.js +1 -0
  44. package/dist/api/dto/custom-objects.d.ts +66 -0
  45. package/dist/api/dto/custom-objects.js +0 -0
  46. package/dist/api/dto/delivery.d.ts +71 -0
  47. package/dist/api/dto/delivery.js +0 -0
  48. package/dist/api/dto/docs.d.ts +135 -0
  49. package/dist/api/dto/docs.js +1 -0
  50. package/dist/api/dto/files.d.ts +21 -0
  51. package/dist/api/dto/files.js +0 -0
  52. package/dist/api/dto/focus.d.ts +24 -0
  53. package/dist/api/dto/focus.js +0 -0
  54. package/dist/api/dto/grants.d.ts +28 -0
  55. package/dist/api/dto/grants.js +0 -0
  56. package/dist/api/dto/health.d.ts +116 -0
  57. package/dist/api/dto/health.js +0 -0
  58. package/dist/api/dto/human-requests.d.ts +113 -0
  59. package/dist/api/dto/human-requests.js +0 -0
  60. package/dist/api/dto/human.d.ts +28 -0
  61. package/dist/api/dto/human.js +0 -0
  62. package/dist/api/dto/inbox.d.ts +273 -0
  63. package/dist/api/dto/inbox.js +0 -0
  64. package/dist/api/dto/lifecycle.d.ts +88 -0
  65. package/dist/api/dto/lifecycle.js +0 -0
  66. package/dist/api/dto/limits.d.ts +29 -0
  67. package/dist/api/dto/limits.js +0 -0
  68. package/dist/api/dto/mail.d.ts +44 -0
  69. package/dist/api/dto/mail.js +0 -0
  70. package/dist/api/dto/messages.d.ts +104 -0
  71. package/dist/api/dto/messages.js +0 -0
  72. package/dist/api/dto/model-config.d.ts +25 -0
  73. package/dist/api/dto/model-config.js +0 -0
  74. package/dist/api/dto/modelauth.d.ts +132 -0
  75. package/dist/api/dto/modelauth.js +0 -0
  76. package/dist/api/dto/node-events.d.ts +65 -0
  77. package/dist/api/dto/node-events.js +0 -0
  78. package/dist/api/dto/node-outcomes.d.ts +88 -0
  79. package/dist/api/dto/node-outcomes.js +0 -0
  80. package/dist/api/dto/node-records.d.ts +35 -0
  81. package/dist/api/dto/node-records.js +0 -0
  82. package/dist/api/dto/nodes.d.ts +371 -0
  83. package/dist/api/dto/nodes.js +0 -0
  84. package/dist/api/dto/objects.d.ts +172 -0
  85. package/dist/api/dto/objects.js +1 -0
  86. package/dist/api/dto/profiles.d.ts +117 -0
  87. package/dist/api/dto/profiles.js +1 -0
  88. package/dist/api/dto/recovery.d.ts +104 -0
  89. package/dist/api/dto/recovery.js +0 -0
  90. package/dist/api/dto/reports.d.ts +95 -0
  91. package/dist/api/dto/reports.js +0 -0
  92. package/dist/api/dto/review-comments.d.ts +146 -0
  93. package/dist/api/dto/review-comments.js +0 -0
  94. package/dist/api/dto/reviews.d.ts +113 -0
  95. package/dist/api/dto/reviews.js +0 -0
  96. package/dist/api/dto/run-events.d.ts +295 -0
  97. package/dist/api/dto/run-events.js +0 -0
  98. package/dist/api/dto/structured-requests.d.ts +64 -0
  99. package/dist/api/dto/structured-requests.js +1 -0
  100. package/dist/api/dto/subscriptions.d.ts +14 -0
  101. package/dist/api/dto/subscriptions.js +0 -0
  102. package/dist/api/dto/worktree.d.ts +55 -0
  103. package/dist/api/dto/worktree.js +0 -0
  104. package/dist/api/error-codes.d.ts +259 -0
  105. package/dist/api/error-codes.js +1 -0
  106. package/dist/api/errors.d.ts +47 -0
  107. package/dist/api/errors.js +1 -0
  108. package/dist/api/index.d.ts +48 -0
  109. package/dist/api/index.js +1 -0
  110. package/dist/api/long-poll.d.ts +59 -0
  111. package/dist/api/long-poll.js +1 -0
  112. package/dist/api/node-transport.d.ts +18 -0
  113. package/dist/api/node-transport.js +1 -0
  114. package/dist/api/plugin-manifest-schema.d.ts +233 -0
  115. package/dist/api/plugin-manifest-schema.js +0 -0
  116. package/dist/api/routes.d.ts +164 -0
  117. package/dist/api/routes.js +1 -0
  118. package/dist/api/runtime-version.d.ts +31 -0
  119. package/dist/api/runtime-version.js +1 -0
  120. package/dist/build-root.d.ts +58 -0
  121. package/dist/build-root.js +1 -0
  122. package/dist/builtin-memory/00-runtime-base/00-authoring.md +46 -0
  123. package/dist/builtin-memory/00-runtime-base/01-escalation-unattended.md +15 -0
  124. package/dist/builtin-memory/00-runtime-base/01-escalation.md +15 -0
  125. package/dist/builtin-memory/00-runtime-base/02-insight-capture.md +11 -0
  126. package/dist/builtin-memory/01-spine/00-has-manager.md +14 -0
  127. package/dist/builtin-memory/02-turn-lifecycle/00-ending-a-turn.md +28 -0
  128. package/dist/builtin-memory/02-turn-lifecycle/01-terminal-user.md +11 -0
  129. package/dist/builtin-memory/02-turn-lifecycle/01-terminal.md +13 -0
  130. package/dist/builtin-memory/02-turn-lifecycle/02-resident.md +19 -0
  131. package/dist/builtin-memory/04-base-worker-exploring.md +13 -0
  132. package/dist/builtin-memory/04-base-worker.md +15 -0
  133. package/dist/builtin-memory/04-orchestration-kernel.md +62 -0
  134. package/dist/builtin-memory/05-kinds/advisor/01-orchestrator.md +17 -0
  135. package/dist/builtin-memory/05-kinds/advisor/advice-contract.md +15 -0
  136. package/dist/builtin-memory/05-kinds/explore/00-base.md +19 -0
  137. package/dist/builtin-memory/05-kinds/explore/01-orchestrator.md +17 -0
  138. package/dist/builtin-memory/05-kinds/general/00-base.md +15 -0
  139. package/dist/builtin-memory/05-kinds/review/00-base.md +17 -0
  140. package/dist/builtin-memory/05-kinds/review/01-orchestrator.md +20 -0
  141. package/dist/builtin-memory/05-kinds/review/companion/00-base.md +21 -0
  142. package/dist/builtin-memory/05-kinds/review/security-findings.md +13 -0
  143. package/dist/builtin-memory/advisor/council.md +33 -0
  144. package/dist/builtin-memory/crouter-concepts/INDEX.md +15 -0
  145. package/dist/builtin-memory/crouter-concepts/README.md +19 -0
  146. package/dist/builtin-memory/crouter-concepts/documents.md +54 -0
  147. package/dist/builtin-memory/crouter-concepts/lifecycle-and-wakes.md +28 -0
  148. package/dist/builtin-memory/crouter-concepts/nodes-and-the-canvas.md +31 -0
  149. package/dist/builtin-memory/crouter-concepts/profiles-kinds-and-modes.md +33 -0
  150. package/dist/builtin-memory/crouter-concepts/scopes-and-trust.md +41 -0
  151. package/dist/builtin-memory/crouter-concepts/why-a-daemon.md +31 -0
  152. package/dist/builtin-memory/crouter-plugin/INDEX.md +12 -0
  153. package/dist/builtin-memory/crouter-plugin/README.md +22 -0
  154. package/dist/builtin-memory/crouter-plugin/bundles-and-memory.md +30 -0
  155. package/dist/builtin-memory/crouter-plugin/commands.md +24 -0
  156. package/dist/builtin-memory/crouter-plugin/deploying.md +36 -0
  157. package/dist/builtin-memory/crouter-plugin/errors.md +41 -0
  158. package/dist/builtin-memory/crouter-plugin/getting-started.md +25 -0
  159. package/dist/builtin-memory/crouter-plugin/output.md +52 -0
  160. package/dist/builtin-memory/crouter-plugin/parameters.md +31 -0
  161. package/dist/builtin-memory/crouter-sdk/INDEX.md +13 -0
  162. package/dist/builtin-memory/crouter-sdk/README.md +92 -0
  163. package/dist/builtin-memory/crouter-sdk/bash.md +40 -0
  164. package/dist/builtin-memory/crouter-sdk/client.md +299 -0
  165. package/dist/builtin-memory/crouter-sdk/docker.md +70 -0
  166. package/dist/builtin-memory/crouter-sdk/error-envelope.md +38 -0
  167. package/dist/builtin-memory/crouter-sdk/errors.md +113 -0
  168. package/dist/builtin-memory/crouter-sdk/files.md +50 -0
  169. package/dist/builtin-memory/crouter-sdk/getting-started.md +226 -0
  170. package/dist/builtin-memory/crouter-sdk/guides/README.md +20 -0
  171. package/dist/builtin-memory/crouter-sdk/guides/apps-on-crouter-cloud.md +117 -0
  172. package/dist/builtin-memory/crouter-sdk/guides/apps-with-many-users.md +61 -0
  173. package/dist/builtin-memory/crouter-sdk/guides/event-driven-assistant.md +91 -0
  174. package/dist/builtin-memory/crouter-sdk/guides/fan-out-pipeline.md +57 -0
  175. package/dist/builtin-memory/crouter-sdk/guides/human-approval.md +79 -0
  176. package/dist/builtin-memory/crouter-sdk/guides/typed-extraction.md +55 -0
  177. package/dist/builtin-memory/crouter-sdk/memory.md +49 -0
  178. package/dist/builtin-memory/crouter-sdk/nodes.md +195 -0
  179. package/dist/builtin-memory/crouter-sdk/release-notes.md +209 -0
  180. package/dist/builtin-memory/crouter-sdk/resources.md +101 -0
  181. package/dist/builtin-memory/crouter-sdk/streaming.md +218 -0
  182. package/dist/builtin-memory/crouter-sdk/testing.md +165 -0
  183. package/dist/builtin-memory/explore/exploration-doc.md +27 -0
  184. package/dist/builtin-memory/insights/capture.md +49 -0
  185. package/dist/builtin-memory/insights/init.md +88 -0
  186. package/dist/builtin-memory/internal/INDEX.md +40 -0
  187. package/dist/builtin-memory/internal/agent-shaping.md +80 -0
  188. package/dist/builtin-memory/internal/examples/INDEX.md +16 -0
  189. package/dist/builtin-memory/internal/examples/imessage-assistant.md +101 -0
  190. package/dist/builtin-memory/internal/marketplaces.md +160 -0
  191. package/dist/builtin-memory/internal/memory-loading.md +68 -0
  192. package/dist/builtin-memory/internal/nodes-and-canvas.md +60 -0
  193. package/dist/builtin-memory/internal/plugins.md +457 -0
  194. package/dist/builtin-memory/internal/storage-tiers.md +51 -0
  195. package/dist/builtin-memory/memory-read-orientation.md +13 -0
  196. package/dist/builtin-memory/wedged-child-on-runaway-bash.md +21 -0
  197. package/dist/builtin-pi-packages/pi-crtr-extensions/README.md +49 -0
  198. package/dist/builtin-pi-packages/pi-crtr-extensions/extensions/claude-plugin-commands.ts +440 -0
  199. package/dist/builtin-pi-packages/pi-crtr-extensions/extensions/crtr-commands/filters.json +7 -0
  200. package/dist/builtin-pi-packages/pi-crtr-extensions/extensions/crtr-commands/index.ts +214 -0
  201. package/dist/builtin-pi-packages/pi-crtr-extensions/extensions/frontmatter-rules/index.ts +421 -0
  202. package/dist/builtin-pi-packages/pi-crtr-extensions/extensions/memory-slash-commands.ts +145 -0
  203. package/dist/builtin-pi-packages/pi-crtr-extensions/extensions/pi-shell-runner.ts +34 -0
  204. package/dist/builtin-pi-packages/pi-crtr-extensions/extensions/provider-rotation.d.ts +78 -0
  205. package/dist/builtin-pi-packages/pi-crtr-extensions/extensions/provider-rotation.js +1181 -0
  206. package/dist/builtin-pi-packages/pi-crtr-extensions/extensions/provider-rotation.ts +1409 -0
  207. package/dist/builtin-pi-packages/pi-crtr-extensions/extensions/sysprompt-window.ts +19 -0
  208. package/dist/builtin-pi-packages/pi-crtr-extensions/lib/package.json +3 -0
  209. package/dist/builtin-pi-packages/pi-crtr-extensions/lib/subscription-state.js +1 -0
  210. package/dist/builtin-pi-packages/pi-crtr-extensions/lib/subscription-state.ts +2 -0
  211. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/LICENSE +13 -0
  212. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/README.md +172 -0
  213. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/bin.mjs +11 -0
  214. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/compose/compose-collection.js +88 -0
  215. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/compose/compose-doc.js +43 -0
  216. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/compose/compose-node.js +109 -0
  217. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/compose/compose-scalar.js +86 -0
  218. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/compose/composer.js +219 -0
  219. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/compose/resolve-block-map.js +115 -0
  220. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/compose/resolve-block-scalar.js +198 -0
  221. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/compose/resolve-block-seq.js +49 -0
  222. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/compose/resolve-end.js +37 -0
  223. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/compose/resolve-flow-collection.js +207 -0
  224. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.js +225 -0
  225. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/compose/resolve-props.js +146 -0
  226. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/compose/util-contains-newline.js +34 -0
  227. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js +26 -0
  228. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/compose/util-flow-indent-check.js +15 -0
  229. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/compose/util-map-includes.js +13 -0
  230. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/doc/Document.js +335 -0
  231. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/doc/anchors.js +71 -0
  232. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/doc/applyReviver.js +55 -0
  233. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/doc/createNode.js +88 -0
  234. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/doc/directives.js +176 -0
  235. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/errors.js +57 -0
  236. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/index.js +17 -0
  237. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/log.js +11 -0
  238. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/nodes/Alias.js +116 -0
  239. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/nodes/Collection.js +147 -0
  240. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/nodes/Node.js +38 -0
  241. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/nodes/Pair.js +36 -0
  242. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/nodes/Scalar.js +24 -0
  243. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/nodes/YAMLMap.js +144 -0
  244. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/nodes/YAMLSeq.js +113 -0
  245. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js +63 -0
  246. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/nodes/identity.js +36 -0
  247. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/nodes/toJS.js +37 -0
  248. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/parse/cst-scalar.js +214 -0
  249. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/parse/cst-stringify.js +61 -0
  250. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/parse/cst-visit.js +97 -0
  251. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/parse/cst.js +98 -0
  252. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/parse/lexer.js +721 -0
  253. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/parse/line-counter.js +39 -0
  254. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/parse/parser.js +975 -0
  255. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/public-api.js +102 -0
  256. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/schema/Schema.js +37 -0
  257. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/schema/common/map.js +17 -0
  258. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/schema/common/null.js +15 -0
  259. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/schema/common/seq.js +17 -0
  260. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/schema/common/string.js +14 -0
  261. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/schema/core/bool.js +19 -0
  262. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/schema/core/float.js +43 -0
  263. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/schema/core/int.js +38 -0
  264. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/schema/core/schema.js +23 -0
  265. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/schema/json/schema.js +62 -0
  266. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/schema/tags.js +96 -0
  267. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +58 -0
  268. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/schema/yaml-1.1/bool.js +26 -0
  269. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/schema/yaml-1.1/float.js +46 -0
  270. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/schema/yaml-1.1/int.js +71 -0
  271. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/schema/yaml-1.1/merge.js +67 -0
  272. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/schema/yaml-1.1/omap.js +74 -0
  273. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js +78 -0
  274. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/schema/yaml-1.1/schema.js +39 -0
  275. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/schema/yaml-1.1/set.js +93 -0
  276. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +101 -0
  277. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/stringify/foldFlowLines.js +146 -0
  278. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/stringify/stringify.js +129 -0
  279. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/stringify/stringifyCollection.js +153 -0
  280. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/stringify/stringifyComment.js +20 -0
  281. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/stringify/stringifyDocument.js +85 -0
  282. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/stringify/stringifyNumber.js +25 -0
  283. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/stringify/stringifyPair.js +150 -0
  284. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/stringify/stringifyString.js +336 -0
  285. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/util.js +11 -0
  286. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/dist/visit.js +233 -0
  287. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/index.js +5 -0
  288. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/browser/package.json +3 -0
  289. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/cli.d.ts +8 -0
  290. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/cli.mjs +201 -0
  291. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/compose/compose-collection.d.ts +11 -0
  292. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/compose/compose-collection.js +90 -0
  293. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/compose/compose-doc.d.ts +7 -0
  294. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/compose/compose-doc.js +45 -0
  295. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/compose/compose-node.d.ts +29 -0
  296. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/compose/compose-node.js +112 -0
  297. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/compose/compose-scalar.d.ts +5 -0
  298. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/compose/compose-scalar.js +88 -0
  299. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/compose/composer.d.ts +63 -0
  300. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/compose/composer.js +224 -0
  301. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/compose/resolve-block-map.d.ts +6 -0
  302. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/compose/resolve-block-map.js +117 -0
  303. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/compose/resolve-block-scalar.d.ts +11 -0
  304. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/compose/resolve-block-scalar.js +200 -0
  305. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/compose/resolve-block-seq.d.ts +6 -0
  306. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/compose/resolve-block-seq.js +51 -0
  307. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/compose/resolve-end.d.ts +6 -0
  308. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/compose/resolve-end.js +39 -0
  309. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/compose/resolve-flow-collection.d.ts +7 -0
  310. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/compose/resolve-flow-collection.js +209 -0
  311. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/compose/resolve-flow-scalar.d.ts +10 -0
  312. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/compose/resolve-flow-scalar.js +227 -0
  313. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/compose/resolve-props.d.ts +23 -0
  314. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/compose/resolve-props.js +148 -0
  315. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/compose/util-contains-newline.d.ts +2 -0
  316. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/compose/util-contains-newline.js +36 -0
  317. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/compose/util-empty-scalar-position.d.ts +2 -0
  318. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/compose/util-empty-scalar-position.js +28 -0
  319. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/compose/util-flow-indent-check.d.ts +3 -0
  320. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/compose/util-flow-indent-check.js +17 -0
  321. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/compose/util-map-includes.d.ts +4 -0
  322. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/compose/util-map-includes.js +15 -0
  323. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/doc/Document.d.ts +141 -0
  324. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/doc/Document.js +337 -0
  325. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/doc/anchors.d.ts +24 -0
  326. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/doc/anchors.js +76 -0
  327. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/doc/applyReviver.d.ts +9 -0
  328. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/doc/applyReviver.js +57 -0
  329. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/doc/createNode.d.ts +17 -0
  330. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/doc/createNode.js +90 -0
  331. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/doc/directives.d.ts +49 -0
  332. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/doc/directives.js +178 -0
  333. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/errors.d.ts +21 -0
  334. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/errors.js +62 -0
  335. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/index.d.ts +25 -0
  336. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/index.js +50 -0
  337. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/log.d.ts +3 -0
  338. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/log.js +19 -0
  339. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/nodes/Alias.d.ts +29 -0
  340. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/nodes/Alias.js +118 -0
  341. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/nodes/Collection.d.ts +73 -0
  342. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/nodes/Collection.js +151 -0
  343. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/nodes/Node.d.ts +53 -0
  344. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/nodes/Node.js +40 -0
  345. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/nodes/Pair.d.ts +22 -0
  346. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/nodes/Pair.js +39 -0
  347. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/nodes/Scalar.d.ts +47 -0
  348. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/nodes/Scalar.js +27 -0
  349. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/nodes/YAMLMap.d.ts +53 -0
  350. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/nodes/YAMLMap.js +147 -0
  351. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/nodes/YAMLSeq.d.ts +60 -0
  352. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/nodes/YAMLSeq.js +115 -0
  353. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/nodes/addPairToJSMap.d.ts +4 -0
  354. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/nodes/addPairToJSMap.js +65 -0
  355. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/nodes/identity.d.ts +23 -0
  356. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/nodes/identity.js +53 -0
  357. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/nodes/toJS.d.ts +29 -0
  358. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/nodes/toJS.js +39 -0
  359. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/options.d.ts +350 -0
  360. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/parse/cst-scalar.d.ts +64 -0
  361. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/parse/cst-scalar.js +218 -0
  362. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/parse/cst-stringify.d.ts +8 -0
  363. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/parse/cst-stringify.js +63 -0
  364. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/parse/cst-visit.d.ts +39 -0
  365. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/parse/cst-visit.js +99 -0
  366. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/parse/cst.d.ts +109 -0
  367. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/parse/cst.js +112 -0
  368. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/parse/lexer.d.ts +87 -0
  369. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/parse/lexer.js +723 -0
  370. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/parse/line-counter.d.ts +22 -0
  371. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/parse/line-counter.js +41 -0
  372. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/parse/parser.d.ts +84 -0
  373. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/parse/parser.js +980 -0
  374. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/public-api.d.ts +44 -0
  375. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/public-api.js +107 -0
  376. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/Schema.d.ts +17 -0
  377. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/Schema.js +39 -0
  378. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/common/map.d.ts +2 -0
  379. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/common/map.js +19 -0
  380. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/common/null.d.ts +4 -0
  381. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/common/null.js +17 -0
  382. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/common/seq.d.ts +2 -0
  383. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/common/seq.js +19 -0
  384. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/common/string.d.ts +2 -0
  385. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/common/string.js +16 -0
  386. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/core/bool.d.ts +4 -0
  387. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/core/bool.js +21 -0
  388. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/core/float.d.ts +4 -0
  389. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/core/float.js +47 -0
  390. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/core/int.d.ts +4 -0
  391. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/core/int.js +42 -0
  392. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/core/schema.d.ts +1 -0
  393. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/core/schema.js +25 -0
  394. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/json/schema.d.ts +2 -0
  395. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/json/schema.js +64 -0
  396. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/json-schema.d.ts +69 -0
  397. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/tags.d.ts +48 -0
  398. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/tags.js +99 -0
  399. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/types.d.ts +92 -0
  400. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/yaml-1.1/binary.d.ts +2 -0
  401. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/yaml-1.1/binary.js +70 -0
  402. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/yaml-1.1/bool.d.ts +7 -0
  403. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/yaml-1.1/bool.js +29 -0
  404. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/yaml-1.1/float.d.ts +4 -0
  405. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/yaml-1.1/float.js +50 -0
  406. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/yaml-1.1/int.d.ts +5 -0
  407. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/yaml-1.1/int.js +76 -0
  408. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/yaml-1.1/merge.d.ts +9 -0
  409. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/yaml-1.1/merge.js +71 -0
  410. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts +22 -0
  411. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/yaml-1.1/omap.js +77 -0
  412. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/yaml-1.1/pairs.d.ts +10 -0
  413. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/yaml-1.1/pairs.js +82 -0
  414. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/yaml-1.1/schema.d.ts +1 -0
  415. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/yaml-1.1/schema.js +41 -0
  416. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts +28 -0
  417. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/yaml-1.1/set.js +96 -0
  418. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/yaml-1.1/timestamp.d.ts +6 -0
  419. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +105 -0
  420. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/stringify/foldFlowLines.d.ts +34 -0
  421. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/stringify/foldFlowLines.js +151 -0
  422. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/stringify/stringify.d.ts +21 -0
  423. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/stringify/stringify.js +132 -0
  424. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/stringify/stringifyCollection.d.ts +17 -0
  425. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/stringify/stringifyCollection.js +155 -0
  426. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/stringify/stringifyComment.d.ts +10 -0
  427. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/stringify/stringifyComment.js +24 -0
  428. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/stringify/stringifyDocument.d.ts +4 -0
  429. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/stringify/stringifyDocument.js +87 -0
  430. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/stringify/stringifyNumber.d.ts +2 -0
  431. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/stringify/stringifyNumber.js +27 -0
  432. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/stringify/stringifyPair.d.ts +3 -0
  433. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/stringify/stringifyPair.js +152 -0
  434. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/stringify/stringifyString.d.ts +9 -0
  435. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/stringify/stringifyString.js +338 -0
  436. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/test-events.d.ts +4 -0
  437. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/test-events.js +134 -0
  438. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/util.d.ts +16 -0
  439. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/util.js +28 -0
  440. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/visit.d.ts +102 -0
  441. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/dist/visit.js +236 -0
  442. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/package.json +97 -0
  443. package/dist/builtin-pi-packages/pi-crtr-extensions/node_modules/yaml/util.js +2 -0
  444. package/dist/builtin-pi-packages/pi-crtr-extensions/package-lock.json +3857 -0
  445. package/dist/builtin-pi-packages/pi-crtr-extensions/package.json +25 -0
  446. package/dist/builtin-pi-packages/pi-crtr-extensions/tsconfig.json +10 -0
  447. package/dist/cli.d.ts +2 -0
  448. package/dist/cli.js +11 -0
  449. package/dist/clients/attach/ansi-cells.d.ts +44 -0
  450. package/dist/clients/attach/ansi-cells.js +1 -0
  451. package/dist/clients/attach/assets/README.md +7 -0
  452. package/dist/clients/attach/assets/whip-06.mp3 +0 -0
  453. package/dist/clients/attach/assets/whip-crack.mp3 +0 -0
  454. package/dist/clients/attach/assets/whip-snap.mp3 +0 -0
  455. package/dist/clients/attach/chrome/bash-jobs.d.ts +6 -0
  456. package/dist/clients/attach/chrome/bash-jobs.js +1 -0
  457. package/dist/clients/attach/chrome/canvas-panels.d.ts +38 -0
  458. package/dist/clients/attach/chrome/canvas-panels.js +1 -0
  459. package/dist/clients/attach/chrome/completion-bell.d.ts +10 -0
  460. package/dist/clients/attach/chrome/completion-bell.js +1 -0
  461. package/dist/clients/attach/chrome/cron-wait.d.ts +3 -0
  462. package/dist/clients/attach/chrome/cron-wait.js +1 -0
  463. package/dist/clients/attach/chrome/git-info.d.ts +20 -0
  464. package/dist/clients/attach/chrome/git-info.js +2 -0
  465. package/dist/clients/attach/chrome/header.d.ts +10 -0
  466. package/dist/clients/attach/chrome/header.js +1 -0
  467. package/dist/clients/attach/chrome/inbox-strip.d.ts +31 -0
  468. package/dist/clients/attach/chrome/inbox-strip.js +1 -0
  469. package/dist/clients/attach/chrome/key-hint.d.ts +9 -0
  470. package/dist/clients/attach/chrome/key-hint.js +1 -0
  471. package/dist/clients/attach/chrome/recap.d.ts +7 -0
  472. package/dist/clients/attach/chrome/recap.js +1 -0
  473. package/dist/clients/attach/chrome/review-wait.d.ts +6 -0
  474. package/dist/clients/attach/chrome/review-wait.js +1 -0
  475. package/dist/clients/attach/chrome/roster.d.ts +36 -0
  476. package/dist/clients/attach/chrome/roster.js +4 -0
  477. package/dist/clients/attach/chrome/status-line.d.ts +38 -0
  478. package/dist/clients/attach/chrome/status-line.js +1 -0
  479. package/dist/clients/attach/chrome/ticket-panel.d.ts +29 -0
  480. package/dist/clients/attach/chrome/ticket-panel.js +1 -0
  481. package/dist/clients/attach/chrome/widgets.d.ts +9 -0
  482. package/dist/clients/attach/chrome/widgets.js +1 -0
  483. package/dist/clients/attach/command.d.ts +3 -0
  484. package/dist/clients/attach/command.js +1 -0
  485. package/dist/clients/attach/config.d.ts +95 -0
  486. package/dist/clients/attach/config.js +1 -0
  487. package/dist/clients/attach/input/capabilities.d.ts +30 -0
  488. package/dist/clients/attach/input/capabilities.js +1 -0
  489. package/dist/clients/attach/input/clipboard-image.d.ts +55 -0
  490. package/dist/clients/attach/input/clipboard-image.js +20 -0
  491. package/dist/clients/attach/input/completion-frecency.d.ts +45 -0
  492. package/dist/clients/attach/input/completion-frecency.js +1 -0
  493. package/dist/clients/attach/input/controller.d.ts +91 -0
  494. package/dist/clients/attach/input/controller.js +7 -0
  495. package/dist/clients/attach/input/overlay-owner.d.ts +41 -0
  496. package/dist/clients/attach/input/overlay-owner.js +1 -0
  497. package/dist/clients/attach/input/ref-autocomplete.d.ts +77 -0
  498. package/dist/clients/attach/input/ref-autocomplete.js +2 -0
  499. package/dist/clients/attach/input/titled-editor.d.ts +225 -0
  500. package/dist/clients/attach/input/titled-editor.js +4 -0
  501. package/dist/clients/attach/overlays/auth.d.ts +13 -0
  502. package/dist/clients/attach/overlays/auth.js +2 -0
  503. package/dist/clients/attach/overlays/dialogs.d.ts +27 -0
  504. package/dist/clients/attach/overlays/dialogs.js +2 -0
  505. package/dist/clients/attach/overlays/file-review.d.ts +10 -0
  506. package/dist/clients/attach/overlays/file-review.js +2 -0
  507. package/dist/clients/attach/overlays/graph.d.ts +83 -0
  508. package/dist/clients/attach/overlays/graph.js +1 -0
  509. package/dist/clients/attach/overlays/help.d.ts +33 -0
  510. package/dist/clients/attach/overlays/help.js +1 -0
  511. package/dist/clients/attach/overlays/mcp.d.ts +32 -0
  512. package/dist/clients/attach/overlays/mcp.js +1 -0
  513. package/dist/clients/attach/overlays/pickers.d.ts +56 -0
  514. package/dist/clients/attach/overlays/pickers.js +1 -0
  515. package/dist/clients/attach/photon_rs_bg.wasm +0 -0
  516. package/dist/clients/attach/render/activity-slot.d.ts +4 -0
  517. package/dist/clients/attach/render/activity-slot.js +1 -0
  518. package/dist/clients/attach/render/assistant-message.d.ts +13 -0
  519. package/dist/clients/attach/render/assistant-message.js +1 -0
  520. package/dist/clients/attach/render/card-presentation.d.ts +36 -0
  521. package/dist/clients/attach/render/card-presentation.js +5 -0
  522. package/dist/clients/attach/render/chat-view.d.ts +356 -0
  523. package/dist/clients/attach/render/chat-view.js +5 -0
  524. package/dist/clients/attach/render/condensed-history.d.ts +21 -0
  525. package/dist/clients/attach/render/condensed-history.js +1 -0
  526. package/dist/clients/attach/render/context-message.d.ts +22 -0
  527. package/dist/clients/attach/render/context-message.js +1 -0
  528. package/dist/clients/attach/render/crtr-output.d.ts +52 -0
  529. package/dist/clients/attach/render/crtr-output.js +17 -0
  530. package/dist/clients/attach/render/diagram.d.ts +4 -0
  531. package/dist/clients/attach/render/diagram.js +7 -0
  532. package/dist/clients/attach/render/doc-links.d.ts +34 -0
  533. package/dist/clients/attach/render/doc-links.js +1 -0
  534. package/dist/clients/attach/render/edit-diff.d.ts +12 -0
  535. package/dist/clients/attach/render/edit-diff.js +5 -0
  536. package/dist/clients/attach/render/glyph-codepoints.d.ts +3 -0
  537. package/dist/clients/attach/render/glyph-codepoints.js +1 -0
  538. package/dist/clients/attach/render/group-activity.d.ts +84 -0
  539. package/dist/clients/attach/render/group-activity.js +2 -0
  540. package/dist/clients/attach/render/group-recap.d.ts +13 -0
  541. package/dist/clients/attach/render/group-recap.js +1 -0
  542. package/dist/clients/attach/render/markdown-source.d.ts +16 -0
  543. package/dist/clients/attach/render/markdown-source.js +5 -0
  544. package/dist/clients/attach/render/measured-container.d.ts +96 -0
  545. package/dist/clients/attach/render/measured-container.js +1 -0
  546. package/dist/clients/attach/render/page-block.d.ts +37 -0
  547. package/dist/clients/attach/render/page-block.js +1 -0
  548. package/dist/clients/attach/render/scroll-animation.d.ts +8 -0
  549. package/dist/clients/attach/render/scroll-animation.js +1 -0
  550. package/dist/clients/attach/render/tool-calls.d.ts +53 -0
  551. package/dist/clients/attach/render/tool-calls.js +3 -0
  552. package/dist/clients/attach/render/transcript-copy.d.ts +9 -0
  553. package/dist/clients/attach/render/transcript-copy.js +2 -0
  554. package/dist/clients/attach/render/transcript-search.d.ts +28 -0
  555. package/dist/clients/attach/render/transcript-search.js +1 -0
  556. package/dist/clients/attach/render/viewport.d.ts +38 -0
  557. package/dist/clients/attach/render/viewport.js +1 -0
  558. package/dist/clients/attach/session/banner.d.ts +13 -0
  559. package/dist/clients/attach/session/banner.js +1 -0
  560. package/dist/clients/attach/session/bindings.d.ts +20 -0
  561. package/dist/clients/attach/session/bindings.js +1 -0
  562. package/dist/clients/attach/session/chrome-refresh.d.ts +40 -0
  563. package/dist/clients/attach/session/chrome-refresh.js +1 -0
  564. package/dist/clients/attach/session/connection.d.ts +53 -0
  565. package/dist/clients/attach/session/connection.js +1 -0
  566. package/dist/clients/attach/session/context.d.ts +59 -0
  567. package/dist/clients/attach/session/context.js +0 -0
  568. package/dist/clients/attach/session/doc-materialize.d.ts +53 -0
  569. package/dist/clients/attach/session/doc-materialize.js +3 -0
  570. package/dist/clients/attach/session/document-links.d.ts +21 -0
  571. package/dist/clients/attach/session/document-links.js +1 -0
  572. package/dist/clients/attach/session/editor-frame.d.ts +47 -0
  573. package/dist/clients/attach/session/editor-frame.js +1 -0
  574. package/dist/clients/attach/session/editor-inventory.d.ts +63 -0
  575. package/dist/clients/attach/session/editor-inventory.js +6 -0
  576. package/dist/clients/attach/session/file-links.d.ts +24 -0
  577. package/dist/clients/attach/session/file-links.js +1 -0
  578. package/dist/clients/attach/session/focus-events.d.ts +4 -0
  579. package/dist/clients/attach/session/focus-events.js +1 -0
  580. package/dist/clients/attach/session/frame.d.ts +46 -0
  581. package/dist/clients/attach/session/frame.js +1 -0
  582. package/dist/clients/attach/session/frames.d.ts +49 -0
  583. package/dist/clients/attach/session/frames.js +1 -0
  584. package/dist/clients/attach/session/identity.d.ts +16 -0
  585. package/dist/clients/attach/session/identity.js +1 -0
  586. package/dist/clients/attach/session/input-wiring.d.ts +50 -0
  587. package/dist/clients/attach/session/input-wiring.js +1 -0
  588. package/dist/clients/attach/session/invariant.d.ts +9 -0
  589. package/dist/clients/attach/session/invariant.js +1 -0
  590. package/dist/clients/attach/session/keys.d.ts +46 -0
  591. package/dist/clients/attach/session/keys.js +1 -0
  592. package/dist/clients/attach/session/layout.d.ts +22 -0
  593. package/dist/clients/attach/session/layout.js +1 -0
  594. package/dist/clients/attach/session/mouse.d.ts +27 -0
  595. package/dist/clients/attach/session/mouse.js +1 -0
  596. package/dist/clients/attach/session/pane-focus.d.ts +8 -0
  597. package/dist/clients/attach/session/pane-focus.js +1 -0
  598. package/dist/clients/attach/session/pane-tag.d.ts +44 -0
  599. package/dist/clients/attach/session/pane-tag.js +1 -0
  600. package/dist/clients/attach/session/pi-assets.d.ts +1 -0
  601. package/dist/clients/attach/session/pi-assets.js +1 -0
  602. package/dist/clients/attach/session/pi-oauth-flows.d.ts +1 -0
  603. package/dist/clients/attach/session/pi-oauth-flows.js +1 -0
  604. package/dist/clients/attach/session/profile-files.d.ts +17 -0
  605. package/dist/clients/attach/session/profile-files.js +1 -0
  606. package/dist/clients/attach/session/reconnect.d.ts +44 -0
  607. package/dist/clients/attach/session/reconnect.js +1 -0
  608. package/dist/clients/attach/session/selection.d.ts +28 -0
  609. package/dist/clients/attach/session/selection.js +3 -0
  610. package/dist/clients/attach/session/state-sync.d.ts +38 -0
  611. package/dist/clients/attach/session/state-sync.js +1 -0
  612. package/dist/clients/attach/session/surface-frame.d.ts +20 -0
  613. package/dist/clients/attach/session/surface-frame.js +1 -0
  614. package/dist/clients/attach/session/surface-host.d.ts +65 -0
  615. package/dist/clients/attach/session/surface-host.js +1 -0
  616. package/dist/clients/attach/session/teardown.d.ts +30 -0
  617. package/dist/clients/attach/session/teardown.js +5 -0
  618. package/dist/clients/attach/session/transcript-search.d.ts +20 -0
  619. package/dist/clients/attach/session/transcript-search.js +3 -0
  620. package/dist/clients/attach/session/whip-achievements.d.ts +4 -0
  621. package/dist/clients/attach/session/whip-achievements.js +2 -0
  622. package/dist/clients/attach/session/whip.d.ts +20 -0
  623. package/dist/clients/attach/session/whip.js +1 -0
  624. package/dist/clients/attach/slash/dispatch.d.ts +116 -0
  625. package/dist/clients/attach/slash/dispatch.js +2 -0
  626. package/dist/clients/attach/slash/prompt-preview.d.ts +30 -0
  627. package/dist/clients/attach/slash/prompt-preview.js +1 -0
  628. package/dist/clients/attach/viewer.d.ts +8 -0
  629. package/dist/clients/attach/viewer.js +1946 -0
  630. package/dist/clients/conversation/projection.d.ts +79 -0
  631. package/dist/clients/conversation/projection.js +1 -0
  632. package/dist/clients/conversation/submit.d.ts +38 -0
  633. package/dist/clients/conversation/submit.js +1 -0
  634. package/dist/clients/inbox/controller.d.ts +174 -0
  635. package/dist/clients/inbox/controller.js +1 -0
  636. package/dist/clients/inbox/dto-adapt.d.ts +28 -0
  637. package/dist/clients/inbox/dto-adapt.js +1 -0
  638. package/dist/clients/inbox/layout.d.ts +8 -0
  639. package/dist/clients/inbox/layout.js +1 -0
  640. package/dist/clients/inbox/page-adapter.d.ts +33 -0
  641. package/dist/clients/inbox/page-adapter.js +1 -0
  642. package/dist/clients/inbox/resolve.d.ts +16 -0
  643. package/dist/clients/inbox/resolve.js +1 -0
  644. package/dist/clients/inbox/review/anchors.d.ts +41 -0
  645. package/dist/clients/inbox/review/anchors.js +1 -0
  646. package/dist/clients/inbox/review/comments-client.d.ts +74 -0
  647. package/dist/clients/inbox/review/comments-client.js +1 -0
  648. package/dist/clients/inbox/review/companion-pane.d.ts +47 -0
  649. package/dist/clients/inbox/review/companion-pane.js +1 -0
  650. package/dist/clients/inbox/review/document-surface.d.ts +212 -0
  651. package/dist/clients/inbox/review/document-surface.js +2 -0
  652. package/dist/clients/inbox/review/frame.d.ts +57 -0
  653. package/dist/clients/inbox/review/frame.js +1 -0
  654. package/dist/clients/inbox/review/keys.d.ts +69 -0
  655. package/dist/clients/inbox/review/keys.js +1 -0
  656. package/dist/clients/inbox/review/launch.d.ts +16 -0
  657. package/dist/clients/inbox/review/launch.js +1 -0
  658. package/dist/clients/inbox/review/live-source.d.ts +24 -0
  659. package/dist/clients/inbox/review/live-source.js +1 -0
  660. package/dist/clients/inbox/review/nvim.d.ts +15 -0
  661. package/dist/clients/inbox/review/nvim.js +1 -0
  662. package/dist/clients/inbox/review/remap.d.ts +51 -0
  663. package/dist/clients/inbox/review/remap.js +1 -0
  664. package/dist/clients/inbox/review/review-client.d.ts +43 -0
  665. package/dist/clients/inbox/review/review-client.js +1 -0
  666. package/dist/clients/inbox/review/roundtrip.d.ts +5 -0
  667. package/dist/clients/inbox/review/roundtrip.js +3 -0
  668. package/dist/clients/inbox/review/state.d.ts +153 -0
  669. package/dist/clients/inbox/review/state.js +4 -0
  670. package/dist/clients/inbox/review-adapter.d.ts +17 -0
  671. package/dist/clients/inbox/review-adapter.js +1 -0
  672. package/dist/clients/inbox/surface.d.ts +25 -0
  673. package/dist/clients/inbox/surface.js +1 -0
  674. package/dist/clients/inbox/tui/ansi.d.ts +68 -0
  675. package/dist/clients/inbox/tui/ansi.js +3 -0
  676. package/dist/clients/inbox/tui/input.d.ts +5 -0
  677. package/dist/clients/inbox/tui/input.js +5 -0
  678. package/dist/clients/inbox/tui/keys.d.ts +28 -0
  679. package/dist/clients/inbox/tui/keys.js +1 -0
  680. package/dist/clients/inbox/tui/page-body.d.ts +10 -0
  681. package/dist/clients/inbox/tui/page-body.js +1 -0
  682. package/dist/clients/inbox/tui/panel.d.ts +4 -0
  683. package/dist/clients/inbox/tui/panel.js +1 -0
  684. package/dist/clients/inbox/tui/render.d.ts +23 -0
  685. package/dist/clients/inbox/tui/render.js +2 -0
  686. package/dist/clients/inbox/tui/slots.d.ts +33 -0
  687. package/dist/clients/inbox/tui/slots.js +3 -0
  688. package/dist/clients/inbox/tui/types.d.ts +73 -0
  689. package/dist/clients/inbox/tui/types.js +0 -0
  690. package/dist/clients/inbox/tui.d.ts +17 -0
  691. package/dist/clients/inbox/tui.js +1 -0
  692. package/dist/clients/surfaces/host.d.ts +74 -0
  693. package/dist/clients/surfaces/host.js +0 -0
  694. package/dist/commands/api-client.d.ts +104 -0
  695. package/dist/commands/api-client.js +4 -0
  696. package/dist/commands/attention.d.ts +2 -0
  697. package/dist/commands/attention.js +1 -0
  698. package/dist/commands/canvas/edges.d.ts +2 -0
  699. package/dist/commands/canvas/edges.js +2 -0
  700. package/dist/commands/canvas/list.d.ts +4 -0
  701. package/dist/commands/canvas/list.js +3 -0
  702. package/dist/commands/canvas/read.d.ts +14 -0
  703. package/dist/commands/canvas/read.js +10 -0
  704. package/dist/commands/canvas/search.d.ts +2 -0
  705. package/dist/commands/canvas/search.js +3 -0
  706. package/dist/commands/canvas/unwatch.d.ts +2 -0
  707. package/dist/commands/canvas/unwatch.js +1 -0
  708. package/dist/commands/canvas/watch.d.ts +3 -0
  709. package/dist/commands/canvas/watch.js +1 -0
  710. package/dist/commands/canvas-analytics/chart.d.ts +52 -0
  711. package/dist/commands/canvas-analytics/chart.js +1 -0
  712. package/dist/commands/canvas-analytics/drilldown.d.ts +34 -0
  713. package/dist/commands/canvas-analytics/drilldown.js +1 -0
  714. package/dist/commands/canvas-analytics/format.d.ts +29 -0
  715. package/dist/commands/canvas-analytics/format.js +1 -0
  716. package/dist/commands/canvas-analytics/graph-detail.d.ts +2 -0
  717. package/dist/commands/canvas-analytics/graph-detail.js +2 -0
  718. package/dist/commands/canvas-analytics/graphs.d.ts +9 -0
  719. package/dist/commands/canvas-analytics/graphs.js +1 -0
  720. package/dist/commands/canvas-analytics/memory.d.ts +2 -0
  721. package/dist/commands/canvas-analytics/memory.js +1 -0
  722. package/dist/commands/canvas-analytics/overview.d.ts +2 -0
  723. package/dist/commands/canvas-analytics/overview.js +1 -0
  724. package/dist/commands/canvas-analytics/shell.d.ts +60 -0
  725. package/dist/commands/canvas-analytics/shell.js +2 -0
  726. package/dist/commands/canvas-analytics/time.d.ts +2 -0
  727. package/dist/commands/canvas-analytics/time.js +1 -0
  728. package/dist/commands/canvas-analytics/usage.d.ts +2 -0
  729. package/dist/commands/canvas-analytics/usage.js +1 -0
  730. package/dist/commands/canvas-analytics/view.d.ts +85 -0
  731. package/dist/commands/canvas-analytics/view.js +1 -0
  732. package/dist/commands/canvas-analytics.d.ts +2 -0
  733. package/dist/commands/canvas-analytics.js +1 -0
  734. package/dist/commands/canvas-browse.d.ts +2 -0
  735. package/dist/commands/canvas-browse.js +1 -0
  736. package/dist/commands/canvas-config.d.ts +2 -0
  737. package/dist/commands/canvas-config.js +2 -0
  738. package/dist/commands/canvas-history/grep.d.ts +1 -0
  739. package/dist/commands/canvas-history/grep.js +7 -0
  740. package/dist/commands/canvas-history/read.d.ts +1 -0
  741. package/dist/commands/canvas-history/read.js +3 -0
  742. package/dist/commands/canvas-history/search.d.ts +1 -0
  743. package/dist/commands/canvas-history/search.js +10 -0
  744. package/dist/commands/canvas-history/shared.d.ts +34 -0
  745. package/dist/commands/canvas-history/shared.js +1 -0
  746. package/dist/commands/canvas-history/stats.d.ts +1 -0
  747. package/dist/commands/canvas-history/stats.js +6 -0
  748. package/dist/commands/canvas-history.d.ts +2 -0
  749. package/dist/commands/canvas-history.js +1 -0
  750. package/dist/commands/canvas-issue.d.ts +2 -0
  751. package/dist/commands/canvas-issue.js +14 -0
  752. package/dist/commands/canvas-prune.d.ts +2 -0
  753. package/dist/commands/canvas-prune.js +1 -0
  754. package/dist/commands/canvas-roster.d.ts +2 -0
  755. package/dist/commands/canvas-roster.js +1 -0
  756. package/dist/commands/canvas-snapshot.d.ts +2 -0
  757. package/dist/commands/canvas-snapshot.js +1 -0
  758. package/dist/commands/canvas-use.d.ts +1 -0
  759. package/dist/commands/canvas-use.js +1 -0
  760. package/dist/commands/canvas.d.ts +3 -0
  761. package/dist/commands/canvas.js +1 -0
  762. package/dist/commands/chord.d.ts +2 -0
  763. package/dist/commands/chord.js +1 -0
  764. package/dist/commands/cron.d.ts +2 -0
  765. package/dist/commands/cron.js +11 -0
  766. package/dist/commands/custom-object/ack.d.ts +2 -0
  767. package/dist/commands/custom-object/ack.js +3 -0
  768. package/dist/commands/custom-object/publish.d.ts +2 -0
  769. package/dist/commands/custom-object/publish.js +1 -0
  770. package/dist/commands/custom-object/receive.d.ts +2 -0
  771. package/dist/commands/custom-object/receive.js +2 -0
  772. package/dist/commands/custom-object/register.d.ts +2 -0
  773. package/dist/commands/custom-object/register.js +3 -0
  774. package/dist/commands/custom-object/shared.d.ts +5 -0
  775. package/dist/commands/custom-object/shared.js +1 -0
  776. package/dist/commands/custom-object/unregister.d.ts +2 -0
  777. package/dist/commands/custom-object/unregister.js +1 -0
  778. package/dist/commands/custom-object.d.ts +2 -0
  779. package/dist/commands/custom-object.js +1 -0
  780. package/dist/commands/dashboard.d.ts +2 -0
  781. package/dist/commands/dashboard.js +1 -0
  782. package/dist/commands/doc/delete.d.ts +2 -0
  783. package/dist/commands/doc/delete.js +1 -0
  784. package/dist/commands/doc/edit.d.ts +2 -0
  785. package/dist/commands/doc/edit.js +1 -0
  786. package/dist/commands/doc/history.d.ts +2 -0
  787. package/dist/commands/doc/history.js +2 -0
  788. package/dist/commands/doc/lint.d.ts +2 -0
  789. package/dist/commands/doc/lint.js +2 -0
  790. package/dist/commands/doc/list.d.ts +2 -0
  791. package/dist/commands/doc/list.js +1 -0
  792. package/dist/commands/doc/move.d.ts +2 -0
  793. package/dist/commands/doc/move.js +1 -0
  794. package/dist/commands/doc/read.d.ts +2 -0
  795. package/dist/commands/doc/read.js +1 -0
  796. package/dist/commands/doc/replace-blocks.d.ts +6 -0
  797. package/dist/commands/doc/replace-blocks.js +4 -0
  798. package/dist/commands/doc/shared.d.ts +25 -0
  799. package/dist/commands/doc/shared.js +2 -0
  800. package/dist/commands/doc/write.d.ts +2 -0
  801. package/dist/commands/doc/write.js +1 -0
  802. package/dist/commands/doc.d.ts +2 -0
  803. package/dist/commands/doc.js +1 -0
  804. package/dist/commands/human/components.d.ts +4 -0
  805. package/dist/commands/human/components.js +3 -0
  806. package/dist/commands/human/feedback.d.ts +2 -0
  807. package/dist/commands/human/feedback.js +1 -0
  808. package/dist/commands/human/prompts.d.ts +21 -0
  809. package/dist/commands/human/prompts.js +1 -0
  810. package/dist/commands/human/queue.d.ts +3 -0
  811. package/dist/commands/human/queue.js +1 -0
  812. package/dist/commands/human/request.d.ts +2 -0
  813. package/dist/commands/human/request.js +1 -0
  814. package/dist/commands/human/review.d.ts +2 -0
  815. package/dist/commands/human/review.js +1 -0
  816. package/dist/commands/human/shared.d.ts +16 -0
  817. package/dist/commands/human/shared.js +1 -0
  818. package/dist/commands/human.d.ts +2 -0
  819. package/dist/commands/human.js +4 -0
  820. package/dist/commands/node/bash.d.ts +1 -0
  821. package/dist/commands/node/bash.js +5 -0
  822. package/dist/commands/node/create.d.ts +6 -0
  823. package/dist/commands/node/create.js +2 -0
  824. package/dist/commands/node/inspect.d.ts +2 -0
  825. package/dist/commands/node/inspect.js +12 -0
  826. package/dist/commands/node/lifecycle.d.ts +4 -0
  827. package/dist/commands/node/lifecycle.js +4 -0
  828. package/dist/commands/node/message.d.ts +1 -0
  829. package/dist/commands/node/message.js +1 -0
  830. package/dist/commands/node/outcome.d.ts +2 -0
  831. package/dist/commands/node/outcome.js +4 -0
  832. package/dist/commands/node/pyramid.d.ts +2 -0
  833. package/dist/commands/node/pyramid.js +2 -0
  834. package/dist/commands/node/subscription.d.ts +1 -0
  835. package/dist/commands/node/subscription.js +1 -0
  836. package/dist/commands/node/wait.d.ts +1 -0
  837. package/dist/commands/node/wait.js +7 -0
  838. package/dist/commands/node-context.d.ts +2 -0
  839. package/dist/commands/node-context.js +2 -0
  840. package/dist/commands/node-lifecycle-revive.d.ts +12 -0
  841. package/dist/commands/node-lifecycle-revive.js +1 -0
  842. package/dist/commands/node-snapshot.d.ts +2 -0
  843. package/dist/commands/node-snapshot.js +1 -0
  844. package/dist/commands/node-transcript.d.ts +2 -0
  845. package/dist/commands/node-transcript.js +1 -0
  846. package/dist/commands/node-worktree.d.ts +2 -0
  847. package/dist/commands/node-worktree.js +1 -0
  848. package/dist/commands/node.d.ts +2 -0
  849. package/dist/commands/node.js +1 -0
  850. package/dist/commands/pkg/browse/actions.d.ts +7 -0
  851. package/dist/commands/pkg/browse/actions.js +1 -0
  852. package/dist/commands/pkg/browse/catalog.d.ts +9 -0
  853. package/dist/commands/pkg/browse/catalog.js +1 -0
  854. package/dist/commands/pkg/browse/command-view.d.ts +3 -0
  855. package/dist/commands/pkg/browse/command-view.js +1 -0
  856. package/dist/commands/pkg/browse/detail-panel.d.ts +66 -0
  857. package/dist/commands/pkg/browse/detail-panel.js +1 -0
  858. package/dist/commands/pkg/browse/doc-view.d.ts +3 -0
  859. package/dist/commands/pkg/browse/doc-view.js +1 -0
  860. package/dist/commands/pkg/browse/list-panel.d.ts +28 -0
  861. package/dist/commands/pkg/browse/list-panel.js +2 -0
  862. package/dist/commands/pkg/browse/model.d.ts +223 -0
  863. package/dist/commands/pkg/browse/model.js +1 -0
  864. package/dist/commands/pkg/browse/shell.d.ts +93 -0
  865. package/dist/commands/pkg/browse/shell.js +1 -0
  866. package/dist/commands/pkg/browse.d.ts +2 -0
  867. package/dist/commands/pkg/browse.js +1 -0
  868. package/dist/commands/pkg/market-inspect.d.ts +2 -0
  869. package/dist/commands/pkg/market-inspect.js +1 -0
  870. package/dist/commands/pkg/market-manage.d.ts +16 -0
  871. package/dist/commands/pkg/market-manage.js +1 -0
  872. package/dist/commands/pkg/market.d.ts +1 -0
  873. package/dist/commands/pkg/market.js +1 -0
  874. package/dist/commands/pkg/plugin-env.d.ts +3 -0
  875. package/dist/commands/pkg/plugin-env.js +4 -0
  876. package/dist/commands/pkg/plugin-inspect.d.ts +2 -0
  877. package/dist/commands/pkg/plugin-inspect.js +1 -0
  878. package/dist/commands/pkg/plugin-manage.d.ts +94 -0
  879. package/dist/commands/pkg/plugin-manage.js +17 -0
  880. package/dist/commands/pkg/plugin.d.ts +1 -0
  881. package/dist/commands/pkg/plugin.js +1 -0
  882. package/dist/commands/pkg/shared.d.ts +13 -0
  883. package/dist/commands/pkg/shared.js +1 -0
  884. package/dist/commands/pkg.d.ts +2 -0
  885. package/dist/commands/pkg.js +1 -0
  886. package/dist/commands/profile/daemon-profiles.d.ts +13 -0
  887. package/dist/commands/profile/daemon-profiles.js +4 -0
  888. package/dist/commands/profile/default.d.ts +2 -0
  889. package/dist/commands/profile/default.js +2 -0
  890. package/dist/commands/profile/delete.d.ts +1 -0
  891. package/dist/commands/profile/delete.js +1 -0
  892. package/dist/commands/profile/env.d.ts +8 -0
  893. package/dist/commands/profile/env.js +3 -0
  894. package/dist/commands/profile/kind.d.ts +1 -0
  895. package/dist/commands/profile/kind.js +1 -0
  896. package/dist/commands/profile/list.d.ts +1 -0
  897. package/dist/commands/profile/list.js +1 -0
  898. package/dist/commands/profile/meta.d.ts +4 -0
  899. package/dist/commands/profile/meta.js +1 -0
  900. package/dist/commands/profile/new.d.ts +1 -0
  901. package/dist/commands/profile/new.js +1 -0
  902. package/dist/commands/profile/pause.d.ts +2 -0
  903. package/dist/commands/profile/pause.js +1 -0
  904. package/dist/commands/profile/project.d.ts +2 -0
  905. package/dist/commands/profile/project.js +1 -0
  906. package/dist/commands/profile/rename.d.ts +1 -0
  907. package/dist/commands/profile/rename.js +1 -0
  908. package/dist/commands/profile/show.d.ts +1 -0
  909. package/dist/commands/profile/show.js +1 -0
  910. package/dist/commands/profile.d.ts +2 -0
  911. package/dist/commands/profile.js +1 -0
  912. package/dist/commands/push.d.ts +2 -0
  913. package/dist/commands/push.js +9 -0
  914. package/dist/commands/revive.d.ts +2 -0
  915. package/dist/commands/revive.js +10 -0
  916. package/dist/commands/surface/node/cycle.d.ts +1 -0
  917. package/dist/commands/surface/node/cycle.js +1 -0
  918. package/dist/commands/surface/node/focus.d.ts +1 -0
  919. package/dist/commands/surface/node/focus.js +1 -0
  920. package/dist/commands/surface/node/id.d.ts +1 -0
  921. package/dist/commands/surface/node/id.js +1 -0
  922. package/dist/commands/surface/node/pin.d.ts +1 -0
  923. package/dist/commands/surface/node/pin.js +1 -0
  924. package/dist/commands/surface/node/placement.d.ts +30 -0
  925. package/dist/commands/surface/node/placement.js +1 -0
  926. package/dist/commands/surface-edit.d.ts +2 -0
  927. package/dist/commands/surface-edit.js +1 -0
  928. package/dist/commands/surface-inbox.d.ts +2 -0
  929. package/dist/commands/surface-inbox.js +1 -0
  930. package/dist/commands/surface-inspect.d.ts +2 -0
  931. package/dist/commands/surface-inspect.js +1 -0
  932. package/dist/commands/surface-node.d.ts +2 -0
  933. package/dist/commands/surface-node.js +1 -0
  934. package/dist/commands/surface-reload.d.ts +7 -0
  935. package/dist/commands/surface-reload.js +1 -0
  936. package/dist/commands/surface-tmux-spread.d.ts +2 -0
  937. package/dist/commands/surface-tmux-spread.js +1 -0
  938. package/dist/commands/surface.d.ts +2 -0
  939. package/dist/commands/surface.js +1 -0
  940. package/dist/commands/sys/branch.d.ts +2 -0
  941. package/dist/commands/sys/branch.js +1 -0
  942. package/dist/commands/sys/config.d.ts +1 -0
  943. package/dist/commands/sys/config.js +1 -0
  944. package/dist/commands/sys/connect.d.ts +1 -0
  945. package/dist/commands/sys/connect.js +3 -0
  946. package/dist/commands/sys/context/admin/actions.d.ts +23 -0
  947. package/dist/commands/sys/context/admin/actions.js +1 -0
  948. package/dist/commands/sys/context/admin/detail-panel.d.ts +73 -0
  949. package/dist/commands/sys/context/admin/detail-panel.js +2 -0
  950. package/dist/commands/sys/context/admin/docs-panel.d.ts +63 -0
  951. package/dist/commands/sys/context/admin/docs-panel.js +1 -0
  952. package/dist/commands/sys/context/admin/list-view.d.ts +62 -0
  953. package/dist/commands/sys/context/admin/list-view.js +1 -0
  954. package/dist/commands/sys/context/admin/model.d.ts +123 -0
  955. package/dist/commands/sys/context/admin/model.js +1 -0
  956. package/dist/commands/sys/context/admin/rail-panel.d.ts +84 -0
  957. package/dist/commands/sys/context/admin/rail-panel.js +1 -0
  958. package/dist/commands/sys/context/admin/read-view.d.ts +27 -0
  959. package/dist/commands/sys/context/admin/read-view.js +1 -0
  960. package/dist/commands/sys/context/admin/shell.d.ts +125 -0
  961. package/dist/commands/sys/context/admin/shell.js +1 -0
  962. package/dist/commands/sys/context/admin.d.ts +1 -0
  963. package/dist/commands/sys/context/admin.js +2 -0
  964. package/dist/commands/sys/context/doc.d.ts +1 -0
  965. package/dist/commands/sys/context/doc.js +2 -0
  966. package/dist/commands/sys/context/expose.d.ts +1 -0
  967. package/dist/commands/sys/context/expose.js +2 -0
  968. package/dist/commands/sys/context/prompt-review.d.ts +1 -0
  969. package/dist/commands/sys/context/prompt-review.js +11 -0
  970. package/dist/commands/sys/context/resolve.d.ts +115 -0
  971. package/dist/commands/sys/context/resolve.js +8 -0
  972. package/dist/commands/sys/context/sysprompt.d.ts +1 -0
  973. package/dist/commands/sys/context/sysprompt.js +5 -0
  974. package/dist/commands/sys/context.d.ts +2 -0
  975. package/dist/commands/sys/context.js +1 -0
  976. package/dist/commands/sys/daemon.d.ts +4 -0
  977. package/dist/commands/sys/daemon.js +1 -0
  978. package/dist/commands/sys/doctor.d.ts +36 -0
  979. package/dist/commands/sys/doctor.js +1 -0
  980. package/dist/commands/sys/env.d.ts +1 -0
  981. package/dist/commands/sys/env.js +1 -0
  982. package/dist/commands/sys/feedback.d.ts +1 -0
  983. package/dist/commands/sys/feedback.js +7 -0
  984. package/dist/commands/sys/join.d.ts +1 -0
  985. package/dist/commands/sys/join.js +1 -0
  986. package/dist/commands/sys/limits.d.ts +1 -0
  987. package/dist/commands/sys/limits.js +3 -0
  988. package/dist/commands/sys/logs.d.ts +1 -0
  989. package/dist/commands/sys/logs.js +3 -0
  990. package/dist/commands/sys/migrate.d.ts +1 -0
  991. package/dist/commands/sys/migrate.js +1 -0
  992. package/dist/commands/sys/panels/broker-limits-panel.d.ts +17 -0
  993. package/dist/commands/sys/panels/broker-limits-panel.js +2 -0
  994. package/dist/commands/sys/panels/dependencies-panel.d.ts +14 -0
  995. package/dist/commands/sys/panels/dependencies-panel.js +1 -0
  996. package/dist/commands/sys/panels/keybindings-panel.d.ts +56 -0
  997. package/dist/commands/sys/panels/keybindings-panel.js +1 -0
  998. package/dist/commands/sys/panels/models-panel.d.ts +100 -0
  999. package/dist/commands/sys/panels/models-panel.js +1 -0
  1000. package/dist/commands/sys/panels/plugin-env-panel.d.ts +19 -0
  1001. package/dist/commands/sys/panels/plugin-env-panel.js +2 -0
  1002. package/dist/commands/sys/panels/plugins-panel.d.ts +16 -0
  1003. package/dist/commands/sys/panels/plugins-panel.js +1 -0
  1004. package/dist/commands/sys/panels/prefs-panel.d.ts +21 -0
  1005. package/dist/commands/sys/panels/prefs-panel.js +1 -0
  1006. package/dist/commands/sys/panels/profiles-panel.d.ts +70 -0
  1007. package/dist/commands/sys/panels/profiles-panel.js +1 -0
  1008. package/dist/commands/sys/panels/provider-panel.d.ts +68 -0
  1009. package/dist/commands/sys/panels/provider-panel.js +1 -0
  1010. package/dist/commands/sys/panels/terminal-panel.d.ts +19 -0
  1011. package/dist/commands/sys/panels/terminal-panel.js +1 -0
  1012. package/dist/commands/sys/provider-login.d.ts +8 -0
  1013. package/dist/commands/sys/provider-login.js +9 -0
  1014. package/dist/commands/sys/retry-delivery.d.ts +1 -0
  1015. package/dist/commands/sys/retry-delivery.js +1 -0
  1016. package/dist/commands/sys/settings-shell.d.ts +54 -0
  1017. package/dist/commands/sys/settings-shell.js +1 -0
  1018. package/dist/commands/sys/settings.d.ts +2 -0
  1019. package/dist/commands/sys/settings.js +1 -0
  1020. package/dist/commands/sys/setup-core.d.ts +121 -0
  1021. package/dist/commands/sys/setup-core.js +9 -0
  1022. package/dist/commands/sys/setup-settings-runner.d.ts +13 -0
  1023. package/dist/commands/sys/setup-settings-runner.js +1 -0
  1024. package/dist/commands/sys/setup-wizard.d.ts +52 -0
  1025. package/dist/commands/sys/setup-wizard.js +1 -0
  1026. package/dist/commands/sys/setup.d.ts +6 -0
  1027. package/dist/commands/sys/setup.js +1 -0
  1028. package/dist/commands/sys/shared.d.ts +51 -0
  1029. package/dist/commands/sys/shared.js +1 -0
  1030. package/dist/commands/sys/spaces.d.ts +1 -0
  1031. package/dist/commands/sys/spaces.js +2 -0
  1032. package/dist/commands/sys/support/prepare.d.ts +13 -0
  1033. package/dist/commands/sys/support/prepare.js +3 -0
  1034. package/dist/commands/sys/support/submit.d.ts +19 -0
  1035. package/dist/commands/sys/support/submit.js +6 -0
  1036. package/dist/commands/sys/support.d.ts +2 -0
  1037. package/dist/commands/sys/support.js +1 -0
  1038. package/dist/commands/sys/sync-deps.d.ts +16 -0
  1039. package/dist/commands/sys/sync-deps.js +14 -0
  1040. package/dist/commands/sys/sync-project-guidance.d.ts +1 -0
  1041. package/dist/commands/sys/sync-project-guidance.js +5 -0
  1042. package/dist/commands/sys/sync-shared.d.ts +44 -0
  1043. package/dist/commands/sys/sync-shared.js +1 -0
  1044. package/dist/commands/sys/sync-skills.d.ts +1 -0
  1045. package/dist/commands/sys/sync-skills.js +2 -0
  1046. package/dist/commands/sys/sync.d.ts +2 -0
  1047. package/dist/commands/sys/sync.js +1 -0
  1048. package/dist/commands/sys/terminal-option.d.ts +112 -0
  1049. package/dist/commands/sys/terminal-option.js +15 -0
  1050. package/dist/commands/sys/tutorial/branch.d.ts +1 -0
  1051. package/dist/commands/sys/tutorial/branch.js +1 -0
  1052. package/dist/commands/sys/tutorial/lessons.d.ts +5 -0
  1053. package/dist/commands/sys/tutorial/lessons.js +8 -0
  1054. package/dist/commands/sys/tutorial/scenario.d.ts +1 -0
  1055. package/dist/commands/sys/tutorial/scenario.js +3 -0
  1056. package/dist/commands/sys/tutorial/tracks.d.ts +1 -0
  1057. package/dist/commands/sys/tutorial/tracks.js +4 -0
  1058. package/dist/commands/sys/update.d.ts +2 -0
  1059. package/dist/commands/sys/update.js +1 -0
  1060. package/dist/commands/sys/worktrees.d.ts +2 -0
  1061. package/dist/commands/sys/worktrees.js +5 -0
  1062. package/dist/commands/sys.d.ts +2 -0
  1063. package/dist/commands/sys.js +1 -0
  1064. package/dist/core/activity-signal.d.ts +7 -0
  1065. package/dist/core/activity-signal.js +2 -0
  1066. package/dist/core/asset-root.d.ts +7 -0
  1067. package/dist/core/asset-root.js +1 -0
  1068. package/dist/core/auth-file.d.ts +41 -0
  1069. package/dist/core/auth-file.js +2 -0
  1070. package/dist/core/auth-interaction.d.ts +19 -0
  1071. package/dist/core/auth-interaction.js +3 -0
  1072. package/dist/core/auto-update.d.ts +1 -0
  1073. package/dist/core/auto-update.js +4 -0
  1074. package/dist/core/bash-guard.d.ts +6 -0
  1075. package/dist/core/bash-guard.js +11 -0
  1076. package/dist/core/bash-job-supervisor.d.ts +5 -0
  1077. package/dist/core/bash-job-supervisor.js +4 -0
  1078. package/dist/core/bash-jobs.d.ts +180 -0
  1079. package/dist/core/bash-jobs.js +8 -0
  1080. package/dist/core/bootstrap.d.ts +1 -0
  1081. package/dist/core/bootstrap.js +2 -0
  1082. package/dist/core/broker-client/client.d.ts +89 -0
  1083. package/dist/core/broker-client/client.js +1 -0
  1084. package/dist/core/broker-client/index.d.ts +1 -0
  1085. package/dist/core/broker-client/index.js +1 -0
  1086. package/dist/core/broker-client/transport-relay.d.ts +47 -0
  1087. package/dist/core/broker-client/transport-relay.js +1 -0
  1088. package/dist/core/broker-client/transport-socket.d.ts +35 -0
  1089. package/dist/core/broker-client/transport-socket.js +1 -0
  1090. package/dist/core/broker-client/transport.d.ts +36 -0
  1091. package/dist/core/broker-client/transport.js +1 -0
  1092. package/dist/core/canvas/app-run.d.ts +3 -0
  1093. package/dist/core/canvas/app-run.js +1 -0
  1094. package/dist/core/canvas/attention.d.ts +18 -0
  1095. package/dist/core/canvas/attention.js +1 -0
  1096. package/dist/core/canvas/boot-id.d.ts +6 -0
  1097. package/dist/core/canvas/boot-id.js +1 -0
  1098. package/dist/core/canvas/boot.d.ts +92 -0
  1099. package/dist/core/canvas/boot.js +1 -0
  1100. package/dist/core/canvas/browse/app.d.ts +26 -0
  1101. package/dist/core/canvas/browse/app.js +3 -0
  1102. package/dist/core/canvas/browse/model.d.ts +172 -0
  1103. package/dist/core/canvas/browse/model.js +1 -0
  1104. package/dist/core/canvas/browse/pins.d.ts +4 -0
  1105. package/dist/core/canvas/browse/pins.js +1 -0
  1106. package/dist/core/canvas/browse/render.d.ts +98 -0
  1107. package/dist/core/canvas/browse/render.js +3 -0
  1108. package/dist/core/canvas/canvas.d.ts +397 -0
  1109. package/dist/core/canvas/canvas.js +65 -0
  1110. package/dist/core/canvas/context-strip.d.ts +20 -0
  1111. package/dist/core/canvas/context-strip.js +5 -0
  1112. package/dist/core/canvas/crons.d.ts +298 -0
  1113. package/dist/core/canvas/crons.js +36 -0
  1114. package/dist/core/canvas/daemon-actions.d.ts +45 -0
  1115. package/dist/core/canvas/daemon-actions.js +28 -0
  1116. package/dist/core/canvas/daemon-owner.d.ts +67 -0
  1117. package/dist/core/canvas/daemon-owner.js +6 -0
  1118. package/dist/core/canvas/db.d.ts +33 -0
  1119. package/dist/core/canvas/db.js +2 -0
  1120. package/dist/core/canvas/deliveries.d.ts +120 -0
  1121. package/dist/core/canvas/deliveries.js +102 -0
  1122. package/dist/core/canvas/delivery-contract.d.ts +37 -0
  1123. package/dist/core/canvas/delivery-contract.js +1 -0
  1124. package/dist/core/canvas/executions.d.ts +29 -0
  1125. package/dist/core/canvas/executions.js +1 -0
  1126. package/dist/core/canvas/extensions.d.ts +9 -0
  1127. package/dist/core/canvas/extensions.js +1 -0
  1128. package/dist/core/canvas/focuses.d.ts +22 -0
  1129. package/dist/core/canvas/focuses.js +1 -0
  1130. package/dist/core/canvas/history.d.ts +104 -0
  1131. package/dist/core/canvas/history.js +14 -0
  1132. package/dist/core/canvas/index.d.ts +14 -0
  1133. package/dist/core/canvas/index.js +1 -0
  1134. package/dist/core/canvas/install-id.d.ts +9 -0
  1135. package/dist/core/canvas/install-id.js +1 -0
  1136. package/dist/core/canvas/labels.d.ts +30 -0
  1137. package/dist/core/canvas/labels.js +1 -0
  1138. package/dist/core/canvas/managed-worktree-sweep-candidates.d.ts +4 -0
  1139. package/dist/core/canvas/managed-worktree-sweep-candidates.js +12 -0
  1140. package/dist/core/canvas/memory-reads.d.ts +24 -0
  1141. package/dist/core/canvas/memory-reads.js +1 -0
  1142. package/dist/core/canvas/meta-file.d.ts +20 -0
  1143. package/dist/core/canvas/meta-file.js +1 -0
  1144. package/dist/core/canvas/migrations.d.ts +16 -0
  1145. package/dist/core/canvas/migrations.js +989 -0
  1146. package/dist/core/canvas/nav-model.d.ts +44 -0
  1147. package/dist/core/canvas/nav-model.js +1 -0
  1148. package/dist/core/canvas/nav-render.d.ts +136 -0
  1149. package/dist/core/canvas/nav-render.js +1 -0
  1150. package/dist/core/canvas/node-agent-paths.d.ts +8 -0
  1151. package/dist/core/canvas/node-agent-paths.js +1 -0
  1152. package/dist/core/canvas/node-order.d.ts +24 -0
  1153. package/dist/core/canvas/node-order.js +1 -0
  1154. package/dist/core/canvas/node-recap.d.ts +23 -0
  1155. package/dist/core/canvas/node-recap.js +2 -0
  1156. package/dist/core/canvas/node-sql-migration.d.ts +4 -0
  1157. package/dist/core/canvas/node-sql-migration.js +80 -0
  1158. package/dist/core/canvas/node-tokens.d.ts +24 -0
  1159. package/dist/core/canvas/node-tokens.js +5 -0
  1160. package/dist/core/canvas/outcome-actions.d.ts +23 -0
  1161. package/dist/core/canvas/outcome-actions.js +6 -0
  1162. package/dist/core/canvas/paths.d.ts +72 -0
  1163. package/dist/core/canvas/paths.js +1 -0
  1164. package/dist/core/canvas/pid.d.ts +391 -0
  1165. package/dist/core/canvas/pid.js +5 -0
  1166. package/dist/core/canvas/recovery.d.ts +90 -0
  1167. package/dist/core/canvas/recovery.js +26 -0
  1168. package/dist/core/canvas/remote-canvas-source.d.ts +70 -0
  1169. package/dist/core/canvas/remote-canvas-source.js +1 -0
  1170. package/dist/core/canvas/remote-transport.d.ts +7 -0
  1171. package/dist/core/canvas/remote-transport.js +1 -0
  1172. package/dist/core/canvas/render-source.d.ts +193 -0
  1173. package/dist/core/canvas/render-source.js +7 -0
  1174. package/dist/core/canvas/sessions.d.ts +57 -0
  1175. package/dist/core/canvas/sessions.js +4 -0
  1176. package/dist/core/canvas/source.d.ts +48 -0
  1177. package/dist/core/canvas/source.js +1 -0
  1178. package/dist/core/canvas/status-glyph.d.ts +52 -0
  1179. package/dist/core/canvas/status-glyph.js +1 -0
  1180. package/dist/core/canvas/structured-requests.d.ts +69 -0
  1181. package/dist/core/canvas/structured-requests.js +15 -0
  1182. package/dist/core/canvas/telemetry.d.ts +14 -0
  1183. package/dist/core/canvas/telemetry.js +1 -0
  1184. package/dist/core/canvas/tree.d.ts +29 -0
  1185. package/dist/core/canvas/tree.js +12 -0
  1186. package/dist/core/canvas/types.d.ts +454 -0
  1187. package/dist/core/canvas/types.js +1 -0
  1188. package/dist/core/canvas/waits.d.ts +18 -0
  1189. package/dist/core/canvas/waits.js +6 -0
  1190. package/dist/core/canvas/worktrees.d.ts +41 -0
  1191. package/dist/core/canvas/worktrees.js +1 -0
  1192. package/dist/core/clipboard-text.d.ts +11 -0
  1193. package/dist/core/clipboard-text.js +1 -0
  1194. package/dist/core/command-hooks/artifact.d.ts +16 -0
  1195. package/dist/core/command-hooks/artifact.js +1 -0
  1196. package/dist/core/command-hooks/catalog.d.ts +14 -0
  1197. package/dist/core/command-hooks/catalog.js +1 -0
  1198. package/dist/core/command-hooks/compose.d.ts +15 -0
  1199. package/dist/core/command-hooks/compose.js +1 -0
  1200. package/dist/core/command-hooks/discovery.d.ts +133 -0
  1201. package/dist/core/command-hooks/discovery.js +1 -0
  1202. package/dist/core/command-hooks/help.d.ts +5 -0
  1203. package/dist/core/command-hooks/help.js +1 -0
  1204. package/dist/core/command-hooks/index.d.ts +7 -0
  1205. package/dist/core/command-hooks/index.js +1 -0
  1206. package/dist/core/command-hooks/lifecycle-catalog.d.ts +21 -0
  1207. package/dist/core/command-hooks/lifecycle-catalog.js +1 -0
  1208. package/dist/core/command-hooks/lifecycle-create.d.ts +4 -0
  1209. package/dist/core/command-hooks/lifecycle-create.js +1 -0
  1210. package/dist/core/command-hooks/report.d.ts +32 -0
  1211. package/dist/core/command-hooks/report.js +1 -0
  1212. package/dist/core/command-hooks/schema.d.ts +42 -0
  1213. package/dist/core/command-hooks/schema.js +1 -0
  1214. package/dist/core/command-hooks/transport/exec-invoke.d.ts +24 -0
  1215. package/dist/core/command-hooks/transport/exec-invoke.js +1 -0
  1216. package/dist/core/command-hooks/transport/exec-lifecycle.d.ts +23 -0
  1217. package/dist/core/command-hooks/transport/exec-lifecycle.js +1 -0
  1218. package/dist/core/command-hooks/transport/plan.d.ts +3 -0
  1219. package/dist/core/command-hooks/transport/plan.js +1 -0
  1220. package/dist/core/command-manifests/registry.d.ts +67 -0
  1221. package/dist/core/command-manifests/registry.js +1 -0
  1222. package/dist/core/command-plugins/bundle.d.ts +149 -0
  1223. package/dist/core/command-plugins/bundle.js +1 -0
  1224. package/dist/core/command-plugins/compose.d.ts +11 -0
  1225. package/dist/core/command-plugins/compose.js +1 -0
  1226. package/dist/core/command-plugins/discovery.d.ts +50 -0
  1227. package/dist/core/command-plugins/discovery.js +1 -0
  1228. package/dist/core/command-plugins/endpoint.d.ts +24 -0
  1229. package/dist/core/command-plugins/endpoint.js +1 -0
  1230. package/dist/core/command-plugins/extensions.d.ts +20 -0
  1231. package/dist/core/command-plugins/extensions.js +1 -0
  1232. package/dist/core/command-plugins/help-addenda.d.ts +25 -0
  1233. package/dist/core/command-plugins/help-addenda.js +1 -0
  1234. package/dist/core/command-plugins/presence.d.ts +2 -0
  1235. package/dist/core/command-plugins/presence.js +1 -0
  1236. package/dist/core/command-plugins/revalidate.d.ts +18 -0
  1237. package/dist/core/command-plugins/revalidate.js +2 -0
  1238. package/dist/core/command-plugins/transport/exec-invoke.d.ts +28 -0
  1239. package/dist/core/command-plugins/transport/exec-invoke.js +1 -0
  1240. package/dist/core/command-plugins/transport/http-fetch.d.ts +41 -0
  1241. package/dist/core/command-plugins/transport/http-fetch.js +1 -0
  1242. package/dist/core/command-plugins/transport/http-invoke.d.ts +15 -0
  1243. package/dist/core/command-plugins/transport/http-invoke.js +3 -0
  1244. package/dist/core/command-plugins/transport/http-plan.d.ts +68 -0
  1245. package/dist/core/command-plugins/transport/http-plan.js +1 -0
  1246. package/dist/core/command.d.ts +210 -0
  1247. package/dist/core/command.js +10 -0
  1248. package/dist/core/config.d.ts +233 -0
  1249. package/dist/core/config.js +1 -0
  1250. package/dist/core/conversation-store/client-worker.d.ts +1 -0
  1251. package/dist/core/conversation-store/client-worker.js +1 -0
  1252. package/dist/core/conversation-store/client.d.ts +2 -0
  1253. package/dist/core/conversation-store/client.js +2 -0
  1254. package/dist/core/conversation-store/file-store.d.ts +37 -0
  1255. package/dist/core/conversation-store/file-store.js +9 -0
  1256. package/dist/core/conversation-store/index.d.ts +60 -0
  1257. package/dist/core/conversation-store/index.js +1 -0
  1258. package/dist/core/conversation-store/listener.d.ts +4 -0
  1259. package/dist/core/conversation-store/listener.js +8 -0
  1260. package/dist/core/conversation-store/patch.d.ts +1 -0
  1261. package/dist/core/conversation-store/patch.js +1 -0
  1262. package/dist/core/directory/join.d.ts +27 -0
  1263. package/dist/core/directory/join.js +1 -0
  1264. package/dist/core/disk-usage.d.ts +4 -0
  1265. package/dist/core/disk-usage.js +1 -0
  1266. package/dist/core/document-lines.d.ts +4 -0
  1267. package/dist/core/document-lines.js +3 -0
  1268. package/dist/core/editor-resolver.d.ts +28 -0
  1269. package/dist/core/editor-resolver.js +4 -0
  1270. package/dist/core/env-name.d.ts +6 -0
  1271. package/dist/core/env-name.js +1 -0
  1272. package/dist/core/errors.d.ts +38 -0
  1273. package/dist/core/errors.js +1 -0
  1274. package/dist/core/events/emit.d.ts +6 -0
  1275. package/dist/core/events/emit.js +3 -0
  1276. package/dist/core/events/envelope.d.ts +2 -0
  1277. package/dist/core/events/envelope.js +1 -0
  1278. package/dist/core/events/errors.d.ts +4 -0
  1279. package/dist/core/events/errors.js +1 -0
  1280. package/dist/core/events/index.d.ts +5 -0
  1281. package/dist/core/events/index.js +1 -0
  1282. package/dist/core/events/operation-id.d.ts +4 -0
  1283. package/dist/core/events/operation-id.js +1 -0
  1284. package/dist/core/events/read.d.ts +40 -0
  1285. package/dist/core/events/read.js +1 -0
  1286. package/dist/core/events/serialize.d.ts +4 -0
  1287. package/dist/core/events/serialize.js +1 -0
  1288. package/dist/core/events/source.d.ts +16 -0
  1289. package/dist/core/events/source.js +1 -0
  1290. package/dist/core/events/types.d.ts +68 -0
  1291. package/dist/core/events/types.js +1 -0
  1292. package/dist/core/exclusive-lock.d.ts +34 -0
  1293. package/dist/core/exclusive-lock.js +1 -0
  1294. package/dist/core/fault-classifier.d.ts +34 -0
  1295. package/dist/core/fault-classifier.js +1 -0
  1296. package/dist/core/feed/feed.d.ts +63 -0
  1297. package/dist/core/feed/feed.js +4 -0
  1298. package/dist/core/feed/inbox-migrate.d.ts +11 -0
  1299. package/dist/core/feed/inbox-migrate.js +3 -0
  1300. package/dist/core/feed/inbox.d.ts +34 -0
  1301. package/dist/core/feed/inbox.js +1 -0
  1302. package/dist/core/feed/messages.d.ts +83 -0
  1303. package/dist/core/feed/messages.js +8 -0
  1304. package/dist/core/feed/reports.d.ts +10 -0
  1305. package/dist/core/feed/reports.js +2 -0
  1306. package/dist/core/frontmatter.d.ts +8 -0
  1307. package/dist/core/frontmatter.js +1 -0
  1308. package/dist/core/fs-utils.d.ts +44 -0
  1309. package/dist/core/fs-utils.js +3 -0
  1310. package/dist/core/git.d.ts +28 -0
  1311. package/dist/core/git.js +2 -0
  1312. package/dist/core/grants/local.d.ts +4 -0
  1313. package/dist/core/grants/local.js +1 -0
  1314. package/dist/core/grants/mirror.d.ts +76 -0
  1315. package/dist/core/grants/mirror.js +4 -0
  1316. package/dist/core/grants/on-sync.d.ts +22 -0
  1317. package/dist/core/grants/on-sync.js +1 -0
  1318. package/dist/core/grants/remove.d.ts +7 -0
  1319. package/dist/core/grants/remove.js +1 -0
  1320. package/dist/core/grants/sandboxes.d.ts +7 -0
  1321. package/dist/core/grants/sandboxes.js +1 -0
  1322. package/dist/core/grants/sync.d.ts +40 -0
  1323. package/dist/core/grants/sync.js +1 -0
  1324. package/dist/core/grants/watch.d.ts +14 -0
  1325. package/dist/core/grants/watch.js +1 -0
  1326. package/dist/core/graph/access.d.ts +28 -0
  1327. package/dist/core/graph/access.js +8 -0
  1328. package/dist/core/graph/bodies.d.ts +6 -0
  1329. package/dist/core/graph/bodies.js +1 -0
  1330. package/dist/core/graph/custom.d.ts +74 -0
  1331. package/dist/core/graph/custom.js +11 -0
  1332. package/dist/core/graph/deletion.d.ts +17 -0
  1333. package/dist/core/graph/deletion.js +6 -0
  1334. package/dist/core/graph/diff.d.ts +4 -0
  1335. package/dist/core/graph/diff.js +4 -0
  1336. package/dist/core/graph/documents.d.ts +167 -0
  1337. package/dist/core/graph/documents.js +10 -0
  1338. package/dist/core/graph/edges.d.ts +25 -0
  1339. package/dist/core/graph/edges.js +1 -0
  1340. package/dist/core/graph/events.d.ts +50 -0
  1341. package/dist/core/graph/events.js +11 -0
  1342. package/dist/core/graph/exposures.d.ts +53 -0
  1343. package/dist/core/graph/exposures.js +4 -0
  1344. package/dist/core/graph/jobs.d.ts +31 -0
  1345. package/dist/core/graph/jobs.js +2 -0
  1346. package/dist/core/graph/kinds/action.d.ts +3 -0
  1347. package/dist/core/graph/kinds/action.js +1 -0
  1348. package/dist/core/graph/kinds/custom.d.ts +7 -0
  1349. package/dist/core/graph/kinds/custom.js +7 -0
  1350. package/dist/core/graph/kinds/document.d.ts +19 -0
  1351. package/dist/core/graph/kinds/document.js +5 -0
  1352. package/dist/core/graph/kinds/dto.d.ts +5 -0
  1353. package/dist/core/graph/kinds/dto.js +1 -0
  1354. package/dist/core/graph/kinds/job.d.ts +2 -0
  1355. package/dist/core/graph/kinds/job.js +2 -0
  1356. package/dist/core/graph/kinds/kind.d.ts +66 -0
  1357. package/dist/core/graph/kinds/kind.js +1 -0
  1358. package/dist/core/graph/kinds/node.d.ts +12 -0
  1359. package/dist/core/graph/kinds/node.js +5 -0
  1360. package/dist/core/graph/kinds/owner.d.ts +2 -0
  1361. package/dist/core/graph/kinds/owner.js +2 -0
  1362. package/dist/core/graph/kinds/registry.d.ts +13 -0
  1363. package/dist/core/graph/kinds/registry.js +1 -0
  1364. package/dist/core/graph/kinds/render.d.ts +9 -0
  1365. package/dist/core/graph/kinds/render.js +1 -0
  1366. package/dist/core/graph/names.d.ts +35 -0
  1367. package/dist/core/graph/names.js +3 -0
  1368. package/dist/core/graph/objects.d.ts +62 -0
  1369. package/dist/core/graph/objects.js +11 -0
  1370. package/dist/core/graph/package-docs.d.ts +32 -0
  1371. package/dist/core/graph/package-docs.js +5 -0
  1372. package/dist/core/graph/package-files.d.ts +20 -0
  1373. package/dist/core/graph/package-files.js +2 -0
  1374. package/dist/core/graph/reader.d.ts +30 -0
  1375. package/dist/core/graph/reader.js +3 -0
  1376. package/dist/core/graph/receiver-url.d.ts +11 -0
  1377. package/dist/core/graph/receiver-url.js +1 -0
  1378. package/dist/core/graph/receivers.d.ts +26 -0
  1379. package/dist/core/graph/receivers.js +7 -0
  1380. package/dist/core/graph/repo-sync/exchange.d.ts +34 -0
  1381. package/dist/core/graph/repo-sync/exchange.js +2 -0
  1382. package/dist/core/graph/repo-sync/identity.d.ts +30 -0
  1383. package/dist/core/graph/repo-sync/identity.js +1 -0
  1384. package/dist/core/graph/repo-sync/index.d.ts +4 -0
  1385. package/dist/core/graph/repo-sync/index.js +1 -0
  1386. package/dist/core/graph/repo-sync/mirror.d.ts +30 -0
  1387. package/dist/core/graph/repo-sync/mirror.js +6 -0
  1388. package/dist/core/graph/repo-sync/ref-format.d.ts +76 -0
  1389. package/dist/core/graph/repo-sync/ref-format.js +2 -0
  1390. package/dist/core/graph/repo-sync/repos.d.ts +19 -0
  1391. package/dist/core/graph/repo-sync/repos.js +3 -0
  1392. package/dist/core/graph/repo-sync/sync.d.ts +42 -0
  1393. package/dist/core/graph/repo-sync/sync.js +2 -0
  1394. package/dist/core/graph/rules.d.ts +26 -0
  1395. package/dist/core/graph/rules.js +3 -0
  1396. package/dist/core/graph/spaces/app.d.ts +3 -0
  1397. package/dist/core/graph/spaces/app.js +1 -0
  1398. package/dist/core/graph/spaces/index.d.ts +19 -0
  1399. package/dist/core/graph/spaces/index.js +1 -0
  1400. package/dist/core/graph/spaces/person.d.ts +5 -0
  1401. package/dist/core/graph/spaces/person.js +3 -0
  1402. package/dist/core/graph/spaces/repo.d.ts +13 -0
  1403. package/dist/core/graph/spaces/repo.js +1 -0
  1404. package/dist/core/graph/types.d.ts +94 -0
  1405. package/dist/core/graph/types.js +1 -0
  1406. package/dist/core/graph/watches.d.ts +62 -0
  1407. package/dist/core/graph/watches.js +18 -0
  1408. package/dist/core/help.d.ts +309 -0
  1409. package/dist/core/help.js +9 -0
  1410. package/dist/core/host-exports/builtins.d.ts +50 -0
  1411. package/dist/core/host-exports/builtins.js +9 -0
  1412. package/dist/core/host-exports/export.d.ts +31 -0
  1413. package/dist/core/host-exports/export.js +3 -0
  1414. package/dist/core/human/action-binding.d.ts +23 -0
  1415. package/dist/core/human/action-binding.js +1 -0
  1416. package/dist/core/human/answer-text.d.ts +5 -0
  1417. package/dist/core/human/answer-text.js +5 -0
  1418. package/dist/core/human/answer.d.ts +53 -0
  1419. package/dist/core/human/answer.js +1 -0
  1420. package/dist/core/human/claim.d.ts +23 -0
  1421. package/dist/core/human/claim.js +3 -0
  1422. package/dist/core/human/completion.d.ts +38 -0
  1423. package/dist/core/human/completion.js +1 -0
  1424. package/dist/core/human/component-docs.d.ts +18 -0
  1425. package/dist/core/human/component-docs.js +248 -0
  1426. package/dist/core/human/convention.d.ts +31 -0
  1427. package/dist/core/human/convention.js +2 -0
  1428. package/dist/core/human/feedback-companion.d.ts +19 -0
  1429. package/dist/core/human/feedback-companion.js +1 -0
  1430. package/dist/core/human/feedback.d.ts +62 -0
  1431. package/dist/core/human/feedback.js +1 -0
  1432. package/dist/core/human/page-authoring.d.ts +30 -0
  1433. package/dist/core/human/page-authoring.js +1 -0
  1434. package/dist/core/human/page-catalog.d.ts +57 -0
  1435. package/dist/core/human/page-catalog.js +1 -0
  1436. package/dist/core/human/page-errors.d.ts +4 -0
  1437. package/dist/core/human/page-errors.js +1 -0
  1438. package/dist/core/human/page-eval.d.ts +25 -0
  1439. package/dist/core/human/page-eval.js +1 -0
  1440. package/dist/core/human/page-html-markdown.d.ts +8 -0
  1441. package/dist/core/human/page-html-markdown.js +8 -0
  1442. package/dist/core/human/page-markdown.d.ts +3 -0
  1443. package/dist/core/human/page-markdown.js +17 -0
  1444. package/dist/core/human/page-schema.d.ts +289 -0
  1445. package/dist/core/human/page-schema.js +1 -0
  1446. package/dist/core/human/page-synth.d.ts +7 -0
  1447. package/dist/core/human/page-synth.js +11 -0
  1448. package/dist/core/human/page.d.ts +16 -0
  1449. package/dist/core/human/page.js +1 -0
  1450. package/dist/core/human/requests.d.ts +146 -0
  1451. package/dist/core/human/requests.js +82 -0
  1452. package/dist/core/human/review-schema.d.ts +20 -0
  1453. package/dist/core/human/review-schema.js +1 -0
  1454. package/dist/core/human/root.d.ts +4 -0
  1455. package/dist/core/human/root.js +1 -0
  1456. package/dist/core/human/scan.d.ts +6 -0
  1457. package/dist/core/human/scan.js +1 -0
  1458. package/dist/core/human/summary.d.ts +3 -0
  1459. package/dist/core/human/summary.js +1 -0
  1460. package/dist/core/human/tickets.d.ts +68 -0
  1461. package/dist/core/human/tickets.js +1 -0
  1462. package/dist/core/human/types.d.ts +118 -0
  1463. package/dist/core/human/types.js +0 -0
  1464. package/dist/core/human/visible-paths.d.ts +9 -0
  1465. package/dist/core/human/visible-paths.js +1 -0
  1466. package/dist/core/human-actions.d.ts +25 -0
  1467. package/dist/core/human-actions.js +1 -0
  1468. package/dist/core/inspector/chrome.d.ts +6 -0
  1469. package/dist/core/inspector/chrome.js +1 -0
  1470. package/dist/core/inspector/contract.d.ts +105 -0
  1471. package/dist/core/inspector/contract.js +0 -0
  1472. package/dist/core/inspector/core.d.ts +39 -0
  1473. package/dist/core/inspector/core.js +2 -0
  1474. package/dist/core/inspector/host.d.ts +46 -0
  1475. package/dist/core/inspector/host.js +4 -0
  1476. package/dist/core/inspector/model.d.ts +88 -0
  1477. package/dist/core/inspector/model.js +2 -0
  1478. package/dist/core/inspector/text.d.ts +5 -0
  1479. package/dist/core/inspector/text.js +6 -0
  1480. package/dist/core/inspector/transport.d.ts +6 -0
  1481. package/dist/core/inspector/transport.js +1 -0
  1482. package/dist/core/inspector/tui.d.ts +3 -0
  1483. package/dist/core/inspector/tui.js +2 -0
  1484. package/dist/core/installed-plugins.d.ts +2 -0
  1485. package/dist/core/installed-plugins.js +1 -0
  1486. package/dist/core/io.d.ts +122 -0
  1487. package/dist/core/io.js +7 -0
  1488. package/dist/core/keybindings/attach-control.d.ts +49 -0
  1489. package/dist/core/keybindings/attach-control.js +1 -0
  1490. package/dist/core/keybindings/background-bash.d.ts +13 -0
  1491. package/dist/core/keybindings/background-bash.js +1 -0
  1492. package/dist/core/keybindings/catalog.d.ts +18 -0
  1493. package/dist/core/keybindings/catalog.js +1 -0
  1494. package/dist/core/keybindings/inbox.d.ts +18 -0
  1495. package/dist/core/keybindings/inbox.js +1 -0
  1496. package/dist/core/keybindings/index.d.ts +8 -0
  1497. package/dist/core/keybindings/index.js +1 -0
  1498. package/dist/core/keybindings/match.d.ts +44 -0
  1499. package/dist/core/keybindings/match.js +1 -0
  1500. package/dist/core/keybindings/persistence.d.ts +18 -0
  1501. package/dist/core/keybindings/persistence.js +1 -0
  1502. package/dist/core/keybindings/resolve.d.ts +28 -0
  1503. package/dist/core/keybindings/resolve.js +1 -0
  1504. package/dist/core/keybindings/types.d.ts +42 -0
  1505. package/dist/core/keybindings/types.js +0 -0
  1506. package/dist/core/layout-migrate/index.d.ts +38 -0
  1507. package/dist/core/layout-migrate/index.js +4 -0
  1508. package/dist/core/layout-migrate/loose-keys.d.ts +2 -0
  1509. package/dist/core/layout-migrate/loose-keys.js +1 -0
  1510. package/dist/core/layout-migrate/paths.d.ts +30 -0
  1511. package/dist/core/layout-migrate/paths.js +1 -0
  1512. package/dist/core/layout-migrate/stored-paths.d.ts +9 -0
  1513. package/dist/core/layout-migrate/stored-paths.js +11 -0
  1514. package/dist/core/layout-migrate/stores.d.ts +30 -0
  1515. package/dist/core/layout-migrate/stores.js +3 -0
  1516. package/dist/core/layout.d.ts +34 -0
  1517. package/dist/core/layout.js +2 -0
  1518. package/dist/core/llm/body-limits.d.ts +7 -0
  1519. package/dist/core/llm/body-limits.js +1 -0
  1520. package/dist/core/llm/refusal.d.ts +13 -0
  1521. package/dist/core/llm/refusal.js +1 -0
  1522. package/dist/core/llm/run.d.ts +60 -0
  1523. package/dist/core/llm/run.js +4 -0
  1524. package/dist/core/locked-file.d.ts +27 -0
  1525. package/dist/core/locked-file.js +1 -0
  1526. package/dist/core/log.d.ts +9 -0
  1527. package/dist/core/log.js +5 -0
  1528. package/dist/core/manifest-recovery.d.ts +15 -0
  1529. package/dist/core/manifest-recovery.js +1 -0
  1530. package/dist/core/manifest-stale.d.ts +18 -0
  1531. package/dist/core/manifest-stale.js +1 -0
  1532. package/dist/core/manifest.d.ts +5 -0
  1533. package/dist/core/manifest.js +1 -0
  1534. package/dist/core/model-auth/daemon-login.d.ts +13 -0
  1535. package/dist/core/model-auth/daemon-login.js +1 -0
  1536. package/dist/core/model-auth/flows.d.ts +50 -0
  1537. package/dist/core/model-auth/flows.js +1 -0
  1538. package/dist/core/model-auth/handoff-jti.d.ts +4 -0
  1539. package/dist/core/model-auth/handoff-jti.js +1 -0
  1540. package/dist/core/model-config.d.ts +20 -0
  1541. package/dist/core/model-config.js +1 -0
  1542. package/dist/core/model-routes.d.ts +90 -0
  1543. package/dist/core/model-routes.js +1 -0
  1544. package/dist/core/nvim-launch.d.ts +7 -0
  1545. package/dist/core/nvim-launch.js +1 -0
  1546. package/dist/core/output.d.ts +35 -0
  1547. package/dist/core/output.js +7 -0
  1548. package/dist/core/pagination.d.ts +35 -0
  1549. package/dist/core/pagination.js +1 -0
  1550. package/dist/core/plugin-env.d.ts +8 -0
  1551. package/dist/core/plugin-env.js +1 -0
  1552. package/dist/core/plugin-extensions.d.ts +29 -0
  1553. package/dist/core/plugin-extensions.js +1 -0
  1554. package/dist/core/plugin-swap-lock.d.ts +9 -0
  1555. package/dist/core/plugin-swap-lock.js +1 -0
  1556. package/dist/core/pool-credential-store.d.ts +34 -0
  1557. package/dist/core/pool-credential-store.js +1 -0
  1558. package/dist/core/predicate.d.ts +65 -0
  1559. package/dist/core/predicate.js +1 -0
  1560. package/dist/core/preview-registry.d.ts +59 -0
  1561. package/dist/core/preview-registry.js +3 -0
  1562. package/dist/core/preview-result-path.d.ts +4 -0
  1563. package/dist/core/preview-result-path.js +1 -0
  1564. package/dist/core/profiles/app-env-store.d.ts +4 -0
  1565. package/dist/core/profiles/app-env-store.js +2 -0
  1566. package/dist/core/profiles/default-binding.d.ts +15 -0
  1567. package/dist/core/profiles/default-binding.js +1 -0
  1568. package/dist/core/profiles/deletion-reservation.d.ts +12 -0
  1569. package/dist/core/profiles/deletion-reservation.js +1 -0
  1570. package/dist/core/profiles/env-store.d.ts +22 -0
  1571. package/dist/core/profiles/env-store.js +2 -0
  1572. package/dist/core/profiles/fuzzy-match.d.ts +19 -0
  1573. package/dist/core/profiles/fuzzy-match.js +1 -0
  1574. package/dist/core/profiles/manifest.d.ts +120 -0
  1575. package/dist/core/profiles/manifest.js +1 -0
  1576. package/dist/core/profiles/select.d.ts +46 -0
  1577. package/dist/core/profiles/select.js +35 -0
  1578. package/dist/core/provider-credential.d.ts +6 -0
  1579. package/dist/core/provider-credential.js +1 -0
  1580. package/dist/core/provider-error-recognition.d.ts +27 -0
  1581. package/dist/core/provider-error-recognition.js +1 -0
  1582. package/dist/core/provider-failure.d.ts +42 -0
  1583. package/dist/core/provider-failure.js +1 -0
  1584. package/dist/core/provider-management.d.ts +12 -0
  1585. package/dist/core/provider-management.js +1 -0
  1586. package/dist/core/providers/approval.d.ts +23 -0
  1587. package/dist/core/providers/approval.js +3 -0
  1588. package/dist/core/providers/audit.d.ts +28 -0
  1589. package/dist/core/providers/audit.js +4 -0
  1590. package/dist/core/providers/bundles.d.ts +68 -0
  1591. package/dist/core/providers/bundles.js +2 -0
  1592. package/dist/core/providers/call.d.ts +62 -0
  1593. package/dist/core/providers/call.js +1 -0
  1594. package/dist/core/providers/errors.d.ts +97 -0
  1595. package/dist/core/providers/errors.js +1 -0
  1596. package/dist/core/providers/files.d.ts +89 -0
  1597. package/dist/core/providers/files.js +1 -0
  1598. package/dist/core/providers/inflight.d.ts +13 -0
  1599. package/dist/core/providers/inflight.js +1 -0
  1600. package/dist/core/providers/mint.d.ts +27 -0
  1601. package/dist/core/providers/mint.js +1 -0
  1602. package/dist/core/providers/receipts.d.ts +9 -0
  1603. package/dist/core/providers/receipts.js +3 -0
  1604. package/dist/core/providers/request.d.ts +27 -0
  1605. package/dist/core/providers/request.js +1 -0
  1606. package/dist/core/providers/token-cache.d.ts +44 -0
  1607. package/dist/core/providers/token-cache.js +1 -0
  1608. package/dist/core/rate-limit-scope.d.ts +25 -0
  1609. package/dist/core/rate-limit-scope.js +1 -0
  1610. package/dist/core/remote-canvas-target.d.ts +4 -0
  1611. package/dist/core/remote-canvas-target.js +1 -0
  1612. package/dist/core/render.d.ts +12 -0
  1613. package/dist/core/render.js +18 -0
  1614. package/dist/core/resolver.d.ts +14 -0
  1615. package/dist/core/resolver.js +1 -0
  1616. package/dist/core/review/birth.d.ts +7 -0
  1617. package/dist/core/review/birth.js +1 -0
  1618. package/dist/core/review/comments.d.ts +69 -0
  1619. package/dist/core/review/comments.js +21 -0
  1620. package/dist/core/review/companion.d.ts +33 -0
  1621. package/dist/core/review/companion.js +1 -0
  1622. package/dist/core/review/document.d.ts +27 -0
  1623. package/dist/core/review/document.js +2 -0
  1624. package/dist/core/review/fork.d.ts +8 -0
  1625. package/dist/core/review/fork.js +5 -0
  1626. package/dist/core/review/project.d.ts +17 -0
  1627. package/dist/core/review/project.js +1 -0
  1628. package/dist/core/review/realize.d.ts +3 -0
  1629. package/dist/core/review/realize.js +1 -0
  1630. package/dist/core/review/remap.d.ts +24 -0
  1631. package/dist/core/review/remap.js +19 -0
  1632. package/dist/core/review/signal.d.ts +5 -0
  1633. package/dist/core/review/signal.js +1 -0
  1634. package/dist/core/review/stage.d.ts +38 -0
  1635. package/dist/core/review/stage.js +1 -0
  1636. package/dist/core/review/store.d.ts +44 -0
  1637. package/dist/core/review/store.js +1 -0
  1638. package/dist/core/review/types.d.ts +139 -0
  1639. package/dist/core/review/types.js +1 -0
  1640. package/dist/core/runs/activity.d.ts +11 -0
  1641. package/dist/core/runs/activity.js +6 -0
  1642. package/dist/core/runs/confinement.d.ts +23 -0
  1643. package/dist/core/runs/confinement.js +2 -0
  1644. package/dist/core/runs/events.d.ts +41 -0
  1645. package/dist/core/runs/events.js +7 -0
  1646. package/dist/core/runs/operations.d.ts +75 -0
  1647. package/dist/core/runs/operations.js +12 -0
  1648. package/dist/core/runs/questions.d.ts +73 -0
  1649. package/dist/core/runs/questions.js +4 -0
  1650. package/dist/core/runtime/advertised-command-invocation.d.ts +20 -0
  1651. package/dist/core/runtime/advertised-command-invocation.js +1 -0
  1652. package/dist/core/runtime/auth-reload.d.ts +7 -0
  1653. package/dist/core/runtime/auth-reload.js +1 -0
  1654. package/dist/core/runtime/banner.d.ts +15 -0
  1655. package/dist/core/runtime/banner.js +1 -0
  1656. package/dist/core/runtime/bearings-render.d.ts +62 -0
  1657. package/dist/core/runtime/bearings-render.js +18 -0
  1658. package/dist/core/runtime/bearings.d.ts +56 -0
  1659. package/dist/core/runtime/bearings.js +7 -0
  1660. package/dist/core/runtime/bin-contributions.d.ts +44 -0
  1661. package/dist/core/runtime/bin-contributions.js +2 -0
  1662. package/dist/core/runtime/boot-root.d.ts +34 -0
  1663. package/dist/core/runtime/boot-root.js +5 -0
  1664. package/dist/core/runtime/branded-host.d.ts +55 -0
  1665. package/dist/core/runtime/branded-host.js +2 -0
  1666. package/dist/core/runtime/broker/cli-relay.d.ts +5 -0
  1667. package/dist/core/runtime/broker/cli-relay.js +1 -0
  1668. package/dist/core/runtime/broker/client-registry.d.ts +36 -0
  1669. package/dist/core/runtime/broker/client-registry.js +1 -0
  1670. package/dist/core/runtime/broker/daemon-ops.d.ts +65 -0
  1671. package/dist/core/runtime/broker/daemon-ops.js +1 -0
  1672. package/dist/core/runtime/broker/engine-drive.d.ts +37 -0
  1673. package/dist/core/runtime/broker/engine-drive.js +1 -0
  1674. package/dist/core/runtime/broker/engine-routing.d.ts +143 -0
  1675. package/dist/core/runtime/broker/engine-routing.js +1 -0
  1676. package/dist/core/runtime/broker/event-projection.d.ts +43 -0
  1677. package/dist/core/runtime/broker/event-projection.js +1 -0
  1678. package/dist/core/runtime/broker/extension-abort.d.ts +15 -0
  1679. package/dist/core/runtime/broker/extension-abort.js +1 -0
  1680. package/dist/core/runtime/broker/fault-retry.d.ts +127 -0
  1681. package/dist/core/runtime/broker/fault-retry.js +1 -0
  1682. package/dist/core/runtime/broker/frame-client.d.ts +38 -0
  1683. package/dist/core/runtime/broker/frame-client.js +1 -0
  1684. package/dist/core/runtime/broker/frame-dispatch.d.ts +64 -0
  1685. package/dist/core/runtime/broker/frame-dispatch.js +1 -0
  1686. package/dist/core/runtime/broker/frame-engine-control.d.ts +21 -0
  1687. package/dist/core/runtime/broker/frame-engine-control.js +1 -0
  1688. package/dist/core/runtime/broker/frame-memory-refs.d.ts +25 -0
  1689. package/dist/core/runtime/broker/frame-memory-refs.js +1 -0
  1690. package/dist/core/runtime/broker/frame-model-query.d.ts +13 -0
  1691. package/dist/core/runtime/broker/frame-model-query.js +1 -0
  1692. package/dist/core/runtime/broker/frame-read.d.ts +19 -0
  1693. package/dist/core/runtime/broker/frame-read.js +1 -0
  1694. package/dist/core/runtime/broker/frame-replies.d.ts +24 -0
  1695. package/dist/core/runtime/broker/frame-replies.js +1 -0
  1696. package/dist/core/runtime/broker/frame-session.d.ts +34 -0
  1697. package/dist/core/runtime/broker/frame-session.js +4 -0
  1698. package/dist/core/runtime/broker/held-deferred-inbox.d.ts +15 -0
  1699. package/dist/core/runtime/broker/held-deferred-inbox.js +1 -0
  1700. package/dist/core/runtime/broker/inbox.d.ts +22 -0
  1701. package/dist/core/runtime/broker/inbox.js +1 -0
  1702. package/dist/core/runtime/broker/model-adapter.d.ts +24 -0
  1703. package/dist/core/runtime/broker/model-adapter.js +2 -0
  1704. package/dist/core/runtime/broker/node-named.d.ts +15 -0
  1705. package/dist/core/runtime/broker/node-named.js +1 -0
  1706. package/dist/core/runtime/broker/node-token.d.ts +3 -0
  1707. package/dist/core/runtime/broker/node-token.js +1 -0
  1708. package/dist/core/runtime/broker/read-ops.d.ts +27 -0
  1709. package/dist/core/runtime/broker/read-ops.js +1 -0
  1710. package/dist/core/runtime/broker/rebind.d.ts +78 -0
  1711. package/dist/core/runtime/broker/rebind.js +1 -0
  1712. package/dist/core/runtime/broker/retry-card-elision.d.ts +7 -0
  1713. package/dist/core/runtime/broker/retry-card-elision.js +1 -0
  1714. package/dist/core/runtime/broker/run-deferred-mail.d.ts +8 -0
  1715. package/dist/core/runtime/broker/run-deferred-mail.js +1 -0
  1716. package/dist/core/runtime/broker/run-turn-end.d.ts +38 -0
  1717. package/dist/core/runtime/broker/run-turn-end.js +1 -0
  1718. package/dist/core/runtime/broker/run-turn-queue.d.ts +48 -0
  1719. package/dist/core/runtime/broker/run-turn-queue.js +1 -0
  1720. package/dist/core/runtime/broker/signal-stream.d.ts +30 -0
  1721. package/dist/core/runtime/broker/signal-stream.js +1 -0
  1722. package/dist/core/runtime/broker/tool-groups.d.ts +39 -0
  1723. package/dist/core/runtime/broker/tool-groups.js +1 -0
  1724. package/dist/core/runtime/broker/turn-admission.d.ts +11 -0
  1725. package/dist/core/runtime/broker/turn-admission.js +1 -0
  1726. package/dist/core/runtime/broker/turn-ignition.d.ts +49 -0
  1727. package/dist/core/runtime/broker/turn-ignition.js +1 -0
  1728. package/dist/core/runtime/broker-cli.d.ts +1 -0
  1729. package/dist/core/runtime/broker-cli.js +3 -0
  1730. package/dist/core/runtime/broker-extension-render.d.ts +3 -0
  1731. package/dist/core/runtime/broker-extension-render.js +3 -0
  1732. package/dist/core/runtime/broker-inventory.d.ts +4 -0
  1733. package/dist/core/runtime/broker-inventory.js +1 -0
  1734. package/dist/core/runtime/broker-persona-guidance.d.ts +27 -0
  1735. package/dist/core/runtime/broker-persona-guidance.js +4 -0
  1736. package/dist/core/runtime/broker-protocol.d.ts +716 -0
  1737. package/dist/core/runtime/broker-protocol.js +3 -0
  1738. package/dist/core/runtime/broker-request.d.ts +37 -0
  1739. package/dist/core/runtime/broker-request.js +1 -0
  1740. package/dist/core/runtime/broker-sdk.d.ts +36 -0
  1741. package/dist/core/runtime/broker-sdk.js +1 -0
  1742. package/dist/core/runtime/broker.d.ts +73 -0
  1743. package/dist/core/runtime/broker.js +1 -0
  1744. package/dist/core/runtime/canvas-extensions.d.ts +34 -0
  1745. package/dist/core/runtime/canvas-extensions.js +1 -0
  1746. package/dist/core/runtime/chat-inventory-rows.d.ts +8 -0
  1747. package/dist/core/runtime/chat-inventory-rows.js +1 -0
  1748. package/dist/core/runtime/close.d.ts +46 -0
  1749. package/dist/core/runtime/close.js +1 -0
  1750. package/dist/core/runtime/come-back-note.d.ts +5 -0
  1751. package/dist/core/runtime/come-back-note.js +3 -0
  1752. package/dist/core/runtime/command-expansion.d.ts +19 -0
  1753. package/dist/core/runtime/command-expansion.js +9 -0
  1754. package/dist/core/runtime/command-surface.d.ts +38 -0
  1755. package/dist/core/runtime/command-surface.js +1 -0
  1756. package/dist/core/runtime/connectivity.d.ts +12 -0
  1757. package/dist/core/runtime/connectivity.js +1 -0
  1758. package/dist/core/runtime/crtr-theme.d.ts +12 -0
  1759. package/dist/core/runtime/crtr-theme.js +1 -0
  1760. package/dist/core/runtime/deliver-live.d.ts +38 -0
  1761. package/dist/core/runtime/deliver-live.js +1 -0
  1762. package/dist/core/runtime/fault-recovery.d.ts +23 -0
  1763. package/dist/core/runtime/fault-recovery.js +1 -0
  1764. package/dist/core/runtime/fault.d.ts +6 -0
  1765. package/dist/core/runtime/fault.js +1 -0
  1766. package/dist/core/runtime/first-run-offer.d.ts +11 -0
  1767. package/dist/core/runtime/first-run-offer.js +5 -0
  1768. package/dist/core/runtime/fleet.d.ts +93 -0
  1769. package/dist/core/runtime/fleet.js +1 -0
  1770. package/dist/core/runtime/focus-viewer.d.ts +39 -0
  1771. package/dist/core/runtime/focus-viewer.js +1 -0
  1772. package/dist/core/runtime/front-door-env.d.ts +5 -0
  1773. package/dist/core/runtime/front-door-env.js +1 -0
  1774. package/dist/core/runtime/front-door-login.d.ts +2 -0
  1775. package/dist/core/runtime/front-door-login.js +1 -0
  1776. package/dist/core/runtime/front-door.d.ts +26 -0
  1777. package/dist/core/runtime/front-door.js +11 -0
  1778. package/dist/core/runtime/headless-pi.d.ts +37 -0
  1779. package/dist/core/runtime/headless-pi.js +1 -0
  1780. package/dist/core/runtime/host.d.ts +59 -0
  1781. package/dist/core/runtime/host.js +3 -0
  1782. package/dist/core/runtime/interactive-deliver.d.ts +22 -0
  1783. package/dist/core/runtime/interactive-deliver.js +1 -0
  1784. package/dist/core/runtime/invocation.d.ts +9 -0
  1785. package/dist/core/runtime/invocation.js +0 -0
  1786. package/dist/core/runtime/kickoff.d.ts +49 -0
  1787. package/dist/core/runtime/kickoff.js +28 -0
  1788. package/dist/core/runtime/launch-config-worker.d.ts +1 -0
  1789. package/dist/core/runtime/launch-config-worker.js +1 -0
  1790. package/dist/core/runtime/launch-prompt.d.ts +8 -0
  1791. package/dist/core/runtime/launch-prompt.js +4 -0
  1792. package/dist/core/runtime/launch-target.d.ts +34 -0
  1793. package/dist/core/runtime/launch-target.js +1 -0
  1794. package/dist/core/runtime/launch.d.ts +194 -0
  1795. package/dist/core/runtime/launch.js +3 -0
  1796. package/dist/core/runtime/ledger.d.ts +10 -0
  1797. package/dist/core/runtime/ledger.js +3 -0
  1798. package/dist/core/runtime/lifecycle.d.ts +34 -0
  1799. package/dist/core/runtime/lifecycle.js +2 -0
  1800. package/dist/core/runtime/managed-provider-cooling.d.ts +24 -0
  1801. package/dist/core/runtime/managed-provider-cooling.js +1 -0
  1802. package/dist/core/runtime/model-registry.d.ts +3 -0
  1803. package/dist/core/runtime/model-registry.js +1 -0
  1804. package/dist/core/runtime/model-selection.d.ts +54 -0
  1805. package/dist/core/runtime/model-selection.js +1 -0
  1806. package/dist/core/runtime/model-swap.d.ts +26 -0
  1807. package/dist/core/runtime/model-swap.js +1 -0
  1808. package/dist/core/runtime/naming.d.ts +69 -0
  1809. package/dist/core/runtime/naming.js +14 -0
  1810. package/dist/core/runtime/nerd-font.d.ts +46 -0
  1811. package/dist/core/runtime/nerd-font.js +2 -0
  1812. package/dist/core/runtime/node-id-token.d.ts +6 -0
  1813. package/dist/core/runtime/node-id-token.js +1 -0
  1814. package/dist/core/runtime/node-read.d.ts +51 -0
  1815. package/dist/core/runtime/node-read.js +3 -0
  1816. package/dist/core/runtime/nodes.d.ts +138 -0
  1817. package/dist/core/runtime/nodes.js +1 -0
  1818. package/dist/core/runtime/outcome-document.d.ts +59 -0
  1819. package/dist/core/runtime/outcome-document.js +1 -0
  1820. package/dist/core/runtime/package-health.d.ts +34 -0
  1821. package/dist/core/runtime/package-health.js +4 -0
  1822. package/dist/core/runtime/persona.d.ts +21 -0
  1823. package/dist/core/runtime/persona.js +2 -0
  1824. package/dist/core/runtime/pi-cli.d.ts +8 -0
  1825. package/dist/core/runtime/pi-cli.js +1 -0
  1826. package/dist/core/runtime/pi-vendored.d.ts +28 -0
  1827. package/dist/core/runtime/pi-vendored.js +1 -0
  1828. package/dist/core/runtime/placement-tmux.d.ts +32 -0
  1829. package/dist/core/runtime/placement-tmux.js +1 -0
  1830. package/dist/core/runtime/placement.d.ts +100 -0
  1831. package/dist/core/runtime/placement.js +1 -0
  1832. package/dist/core/runtime/progress-bar.d.ts +13 -0
  1833. package/dist/core/runtime/progress-bar.js +2 -0
  1834. package/dist/core/runtime/promote.d.ts +76 -0
  1835. package/dist/core/runtime/promote.js +1 -0
  1836. package/dist/core/runtime/prospective-inventory-cli.d.ts +1 -0
  1837. package/dist/core/runtime/prospective-inventory-cli.js +3 -0
  1838. package/dist/core/runtime/prospective-inventory.d.ts +10 -0
  1839. package/dist/core/runtime/prospective-inventory.js +2 -0
  1840. package/dist/core/runtime/provider-credential-gate.d.ts +4 -0
  1841. package/dist/core/runtime/provider-credential-gate.js +2 -0
  1842. package/dist/core/runtime/recap.d.ts +3 -0
  1843. package/dist/core/runtime/recap.js +27 -0
  1844. package/dist/core/runtime/recovery-hold.d.ts +2 -0
  1845. package/dist/core/runtime/recovery-hold.js +1 -0
  1846. package/dist/core/runtime/recycle.d.ts +14 -0
  1847. package/dist/core/runtime/recycle.js +1 -0
  1848. package/dist/core/runtime/reopen.d.ts +38 -0
  1849. package/dist/core/runtime/reopen.js +1 -0
  1850. package/dist/core/runtime/reset.d.ts +68 -0
  1851. package/dist/core/runtime/reset.js +1 -0
  1852. package/dist/core/runtime/resume-root.d.ts +34 -0
  1853. package/dist/core/runtime/resume-root.js +11 -0
  1854. package/dist/core/runtime/revive-all.d.ts +57 -0
  1855. package/dist/core/runtime/revive-all.js +1 -0
  1856. package/dist/core/runtime/revive.d.ts +105 -0
  1857. package/dist/core/runtime/revive.js +3 -0
  1858. package/dist/core/runtime/roadmap.d.ts +24 -0
  1859. package/dist/core/runtime/roadmap.js +15 -0
  1860. package/dist/core/runtime/run-command.d.ts +36 -0
  1861. package/dist/core/runtime/run-command.js +1 -0
  1862. package/dist/core/runtime/session-branch.d.ts +7 -0
  1863. package/dist/core/runtime/session-branch.js +1 -0
  1864. package/dist/core/runtime/session-cycles.d.ts +45 -0
  1865. package/dist/core/runtime/session-cycles.js +1 -0
  1866. package/dist/core/runtime/session-list-cache.d.ts +37 -0
  1867. package/dist/core/runtime/session-list-cache.js +1 -0
  1868. package/dist/core/runtime/session-visibility.d.ts +37 -0
  1869. package/dist/core/runtime/session-visibility.js +1 -0
  1870. package/dist/core/runtime/setup-marker.d.ts +8 -0
  1871. package/dist/core/runtime/setup-marker.js +1 -0
  1872. package/dist/core/runtime/shell-expansion.d.ts +32 -0
  1873. package/dist/core/runtime/shell-expansion.js +9 -0
  1874. package/dist/core/runtime/situational-context.d.ts +19 -0
  1875. package/dist/core/runtime/situational-context.js +2 -0
  1876. package/dist/core/runtime/situational-live.d.ts +9 -0
  1877. package/dist/core/runtime/situational-live.js +1 -0
  1878. package/dist/core/runtime/spawn-env.d.ts +54 -0
  1879. package/dist/core/runtime/spawn-env.js +1 -0
  1880. package/dist/core/runtime/spawn.d.ts +155 -0
  1881. package/dist/core/runtime/spawn.js +3 -0
  1882. package/dist/core/runtime/stamp/channel.d.ts +20 -0
  1883. package/dist/core/runtime/stamp/channel.js +1 -0
  1884. package/dist/core/runtime/stamp/protocol.d.ts +90 -0
  1885. package/dist/core/runtime/stamp/protocol.js +1 -0
  1886. package/dist/core/runtime/stop-guard.d.ts +31 -0
  1887. package/dist/core/runtime/stop-guard.js +8 -0
  1888. package/dist/core/runtime/stop-signals.d.ts +16 -0
  1889. package/dist/core/runtime/stop-signals.js +1 -0
  1890. package/dist/core/runtime/stream-watchdog.d.ts +54 -0
  1891. package/dist/core/runtime/stream-watchdog.js +1 -0
  1892. package/dist/core/runtime/structured-output.d.ts +91 -0
  1893. package/dist/core/runtime/structured-output.js +5 -0
  1894. package/dist/core/runtime/surface-bg.d.ts +13 -0
  1895. package/dist/core/runtime/surface-bg.js +1 -0
  1896. package/dist/core/runtime/tmux-bindings.d.ts +30 -0
  1897. package/dist/core/runtime/tmux-bindings.js +4 -0
  1898. package/dist/core/runtime/tmux-chrome.d.ts +2 -0
  1899. package/dist/core/runtime/tmux-chrome.js +1 -0
  1900. package/dist/core/runtime/tmux-driver.d.ts +314 -0
  1901. package/dist/core/runtime/tmux-driver.js +6 -0
  1902. package/dist/core/runtime/tmux-handoff.d.ts +36 -0
  1903. package/dist/core/runtime/tmux-handoff.js +10 -0
  1904. package/dist/core/runtime/tool-group-summary.d.ts +19 -0
  1905. package/dist/core/runtime/tool-group-summary.js +6 -0
  1906. package/dist/core/runtime/turn-visibility.d.ts +10 -0
  1907. package/dist/core/runtime/turn-visibility.js +1 -0
  1908. package/dist/core/runtime/view-socket.d.ts +21 -0
  1909. package/dist/core/runtime/view-socket.js +1 -0
  1910. package/dist/core/runtime/warm-pool.d.ts +65 -0
  1911. package/dist/core/runtime/warm-pool.js +1 -0
  1912. package/dist/core/scope.d.ts +32 -0
  1913. package/dist/core/scope.js +1 -0
  1914. package/dist/core/scoped-state/db.d.ts +17 -0
  1915. package/dist/core/scoped-state/db.js +2 -0
  1916. package/dist/core/scoped-state/migrate.d.ts +8 -0
  1917. package/dist/core/scoped-state/migrate.js +3 -0
  1918. package/dist/core/scoped-state/paths.d.ts +9 -0
  1919. package/dist/core/scoped-state/paths.js +1 -0
  1920. package/dist/core/scoped-state/profiles.d.ts +27 -0
  1921. package/dist/core/scoped-state/profiles.js +1 -0
  1922. package/dist/core/scoped-state/providers.d.ts +24 -0
  1923. package/dist/core/scoped-state/providers.js +1 -0
  1924. package/dist/core/scoped-state/schema.d.ts +6 -0
  1925. package/dist/core/scoped-state/schema.js +16 -0
  1926. package/dist/core/scoped-state/settings.d.ts +28 -0
  1927. package/dist/core/scoped-state/settings.js +1 -0
  1928. package/dist/core/scopes.d.ts +17 -0
  1929. package/dist/core/scopes.js +1 -0
  1930. package/dist/core/secrets.d.ts +40 -0
  1931. package/dist/core/secrets.js +2 -0
  1932. package/dist/core/self-update.d.ts +27 -0
  1933. package/dist/core/self-update.js +1 -0
  1934. package/dist/core/session-model/session-state.d.ts +53 -0
  1935. package/dist/core/session-model/session-state.js +1 -0
  1936. package/dist/core/shell-segments.d.ts +42 -0
  1937. package/dist/core/shell-segments.js +4 -0
  1938. package/dist/core/spaces/cache-env.d.ts +2 -0
  1939. package/dist/core/spaces/cache-env.js +1 -0
  1940. package/dist/core/spaces/file-root.d.ts +23 -0
  1941. package/dist/core/spaces/file-root.js +1 -0
  1942. package/dist/core/spaces/mounts.d.ts +34 -0
  1943. package/dist/core/spaces/mounts.js +1 -0
  1944. package/dist/core/spaces/open-beneath.d.ts +71 -0
  1945. package/dist/core/spaces/open-beneath.js +1 -0
  1946. package/dist/core/spaces/permissions.d.ts +19 -0
  1947. package/dist/core/spaces/permissions.js +1 -0
  1948. package/dist/core/spaces/process.d.ts +41 -0
  1949. package/dist/core/spaces/process.js +1 -0
  1950. package/dist/core/spaces/runtime-home.d.ts +5 -0
  1951. package/dist/core/spaces/runtime-home.js +1 -0
  1952. package/dist/core/spaces/space.d.ts +8 -0
  1953. package/dist/core/spaces/space.js +2 -0
  1954. package/dist/core/spaces/stop.d.ts +21 -0
  1955. package/dist/core/spaces/stop.js +2 -0
  1956. package/dist/core/spaces/users.d.ts +19 -0
  1957. package/dist/core/spaces/users.js +1 -0
  1958. package/dist/core/spawn.d.ts +15 -0
  1959. package/dist/core/spawn.js +1 -0
  1960. package/dist/core/sqlite-statements.d.ts +4 -0
  1961. package/dist/core/sqlite-statements.js +1 -0
  1962. package/dist/core/stdout-errors.d.ts +3 -0
  1963. package/dist/core/stdout-errors.js +1 -0
  1964. package/dist/core/storage/attachments.d.ts +33 -0
  1965. package/dist/core/storage/attachments.js +1 -0
  1966. package/dist/core/storage/client.d.ts +109 -0
  1967. package/dist/core/storage/client.js +3 -0
  1968. package/dist/core/storage/download.d.ts +24 -0
  1969. package/dist/core/storage/download.js +1 -0
  1970. package/dist/core/storage/shares.d.ts +32 -0
  1971. package/dist/core/storage/shares.js +1 -0
  1972. package/dist/core/storage/tables.d.ts +63 -0
  1973. package/dist/core/storage/tables.js +3 -0
  1974. package/dist/core/subscription-state.d.ts +121 -0
  1975. package/dist/core/subscription-state.js +4 -0
  1976. package/dist/core/substrate/delivery/corpus.d.ts +27 -0
  1977. package/dist/core/substrate/delivery/corpus.js +3 -0
  1978. package/dist/core/substrate/delivery/deliver.d.ts +76 -0
  1979. package/dist/core/substrate/delivery/deliver.js +6 -0
  1980. package/dist/core/substrate/delivery/listings.d.ts +30 -0
  1981. package/dist/core/substrate/delivery/listings.js +7 -0
  1982. package/dist/core/substrate/delivery/match.d.ts +28 -0
  1983. package/dist/core/substrate/delivery/match.js +1 -0
  1984. package/dist/core/substrate/delivery/plan.d.ts +67 -0
  1985. package/dist/core/substrate/delivery/plan.js +3 -0
  1986. package/dist/core/substrate/delivery/render-boot.d.ts +20 -0
  1987. package/dist/core/substrate/delivery/render-boot.js +54 -0
  1988. package/dist/core/substrate/delivery/render-event.d.ts +54 -0
  1989. package/dist/core/substrate/delivery/render-event.js +8 -0
  1990. package/dist/core/substrate/delivery/sub-persona-menu.d.ts +2 -0
  1991. package/dist/core/substrate/delivery/sub-persona-menu.js +6 -0
  1992. package/dist/core/substrate/delivery/types.d.ts +30 -0
  1993. package/dist/core/substrate/delivery/types.js +0 -0
  1994. package/dist/core/substrate/gate-explain.d.ts +35 -0
  1995. package/dist/core/substrate/gate-explain.js +1 -0
  1996. package/dist/core/substrate/schema.d.ts +29 -0
  1997. package/dist/core/substrate/schema.js +1 -0
  1998. package/dist/core/substrate/subject-fields.d.ts +48 -0
  1999. package/dist/core/substrate/subject-fields.js +1 -0
  2000. package/dist/core/substrate/subject.d.ts +13 -0
  2001. package/dist/core/substrate/subject.js +1 -0
  2002. package/dist/core/termrender/code-doc.d.ts +12 -0
  2003. package/dist/core/termrender/code-doc.js +5 -0
  2004. package/dist/core/termrender/display.d.ts +16 -0
  2005. package/dist/core/termrender/display.js +2 -0
  2006. package/dist/core/termrender/termrender.d.ts +71 -0
  2007. package/dist/core/termrender/termrender.js +14 -0
  2008. package/dist/core/termrender/version.d.ts +1 -0
  2009. package/dist/core/termrender/version.js +1 -0
  2010. package/dist/core/timing.d.ts +11 -0
  2011. package/dist/core/timing.js +2 -0
  2012. package/dist/core/tui/draw.d.ts +103 -0
  2013. package/dist/core/tui/draw.js +2 -0
  2014. package/dist/core/tui/fuzzy.d.ts +9 -0
  2015. package/dist/core/tui/fuzzy.js +1 -0
  2016. package/dist/core/tui/markdown.d.ts +17 -0
  2017. package/dist/core/tui/markdown.js +3 -0
  2018. package/dist/core/tui/page-host.d.ts +31 -0
  2019. package/dist/core/tui/page-host.js +1 -0
  2020. package/dist/core/tui/panel.d.ts +45 -0
  2021. package/dist/core/tui/panel.js +1 -0
  2022. package/dist/core/tui/terminal.d.ts +23 -0
  2023. package/dist/core/tui/terminal.js +2 -0
  2024. package/dist/core/user-settings.d.ts +377 -0
  2025. package/dist/core/user-settings.js +1 -0
  2026. package/dist/core/wake.d.ts +89 -0
  2027. package/dist/core/wake.js +1 -0
  2028. package/dist/core/worktree-close.d.ts +4 -0
  2029. package/dist/core/worktree-close.js +6 -0
  2030. package/dist/core/worktree-containment.d.ts +14 -0
  2031. package/dist/core/worktree-containment.js +3 -0
  2032. package/dist/core/worktree-landing.d.ts +44 -0
  2033. package/dist/core/worktree-landing.js +4 -0
  2034. package/dist/core/worktree-mutation-async.d.ts +13 -0
  2035. package/dist/core/worktree-mutation-async.js +10 -0
  2036. package/dist/core/worktree-quarantine.d.ts +19 -0
  2037. package/dist/core/worktree-quarantine.js +1 -0
  2038. package/dist/core/worktree-remove.d.ts +15 -0
  2039. package/dist/core/worktree-remove.js +1 -0
  2040. package/dist/core/worktree-sweep.d.ts +60 -0
  2041. package/dist/core/worktree-sweep.js +6 -0
  2042. package/dist/core/worktree.d.ts +120 -0
  2043. package/dist/core/worktree.js +18 -0
  2044. package/dist/daemon/analytics/compute.d.ts +37 -0
  2045. package/dist/daemon/analytics/compute.js +1 -0
  2046. package/dist/daemon/analytics/scan-worker.d.ts +1 -0
  2047. package/dist/daemon/analytics/scan-worker.js +2 -0
  2048. package/dist/daemon/analytics/scan.d.ts +37 -0
  2049. package/dist/daemon/analytics/scan.js +1 -0
  2050. package/dist/daemon/api/app-listener.d.ts +22 -0
  2051. package/dist/daemon/api/app-listener.js +24 -0
  2052. package/dist/daemon/api/bridge.d.ts +63 -0
  2053. package/dist/daemon/api/bridge.js +8 -0
  2054. package/dist/daemon/api/deferred-head.d.ts +14 -0
  2055. package/dist/daemon/api/deferred-head.js +4 -0
  2056. package/dist/daemon/api/handlers/analytics.d.ts +2 -0
  2057. package/dist/daemon/api/handlers/analytics.js +1 -0
  2058. package/dist/daemon/api/handlers/app-profiles.d.ts +17 -0
  2059. package/dist/daemon/api/handlers/app-profiles.js +1 -0
  2060. package/dist/daemon/api/handlers/attach.d.ts +2 -0
  2061. package/dist/daemon/api/handlers/attach.js +1 -0
  2062. package/dist/daemon/api/handlers/bash-jobs.d.ts +2 -0
  2063. package/dist/daemon/api/handlers/bash-jobs.js +1 -0
  2064. package/dist/daemon/api/handlers/bash.d.ts +2 -0
  2065. package/dist/daemon/api/handlers/bash.js +1 -0
  2066. package/dist/daemon/api/handlers/broker-ops.d.ts +5 -0
  2067. package/dist/daemon/api/handlers/broker-ops.js +1 -0
  2068. package/dist/daemon/api/handlers/broker-recovery.d.ts +4 -0
  2069. package/dist/daemon/api/handlers/broker-recovery.js +1 -0
  2070. package/dist/daemon/api/handlers/broker-signals.d.ts +19 -0
  2071. package/dist/daemon/api/handlers/broker-signals.js +2 -0
  2072. package/dist/daemon/api/handlers/canvas.d.ts +7 -0
  2073. package/dist/daemon/api/handlers/canvas.js +6 -0
  2074. package/dist/daemon/api/handlers/chat-inventory.d.ts +2 -0
  2075. package/dist/daemon/api/handlers/chat-inventory.js +1 -0
  2076. package/dist/daemon/api/handlers/crons.d.ts +2 -0
  2077. package/dist/daemon/api/handlers/crons.js +1 -0
  2078. package/dist/daemon/api/handlers/custom-objects.d.ts +10 -0
  2079. package/dist/daemon/api/handlers/custom-objects.js +3 -0
  2080. package/dist/daemon/api/handlers/daemon.d.ts +2 -0
  2081. package/dist/daemon/api/handlers/daemon.js +1 -0
  2082. package/dist/daemon/api/handlers/delivery-retry.d.ts +2 -0
  2083. package/dist/daemon/api/handlers/delivery-retry.js +1 -0
  2084. package/dist/daemon/api/handlers/delivery.d.ts +2 -0
  2085. package/dist/daemon/api/handlers/delivery.js +1 -0
  2086. package/dist/daemon/api/handlers/docs.d.ts +2 -0
  2087. package/dist/daemon/api/handlers/docs.js +1 -0
  2088. package/dist/daemon/api/handlers/feedback-comments.d.ts +2 -0
  2089. package/dist/daemon/api/handlers/feedback-comments.js +3 -0
  2090. package/dist/daemon/api/handlers/files.d.ts +2 -0
  2091. package/dist/daemon/api/handlers/files.js +1 -0
  2092. package/dist/daemon/api/handlers/focus.d.ts +2 -0
  2093. package/dist/daemon/api/handlers/focus.js +1 -0
  2094. package/dist/daemon/api/handlers/health.d.ts +2 -0
  2095. package/dist/daemon/api/handlers/health.js +14 -0
  2096. package/dist/daemon/api/handlers/hook-exec.d.ts +2 -0
  2097. package/dist/daemon/api/handlers/hook-exec.js +1 -0
  2098. package/dist/daemon/api/handlers/human-requests.d.ts +2 -0
  2099. package/dist/daemon/api/handlers/human-requests.js +1 -0
  2100. package/dist/daemon/api/handlers/human.d.ts +2 -0
  2101. package/dist/daemon/api/handlers/human.js +1 -0
  2102. package/dist/daemon/api/handlers/inbox-page.d.ts +4 -0
  2103. package/dist/daemon/api/handlers/inbox-page.js +1 -0
  2104. package/dist/daemon/api/handlers/inbox.d.ts +12 -0
  2105. package/dist/daemon/api/handlers/inbox.js +1 -0
  2106. package/dist/daemon/api/handlers/limits.d.ts +2 -0
  2107. package/dist/daemon/api/handlers/limits.js +1 -0
  2108. package/dist/daemon/api/handlers/llm.d.ts +2 -0
  2109. package/dist/daemon/api/handlers/llm.js +3 -0
  2110. package/dist/daemon/api/handlers/memory-reads.d.ts +4 -0
  2111. package/dist/daemon/api/handlers/memory-reads.js +1 -0
  2112. package/dist/daemon/api/handlers/memory.d.ts +38 -0
  2113. package/dist/daemon/api/handlers/memory.js +8 -0
  2114. package/dist/daemon/api/handlers/messages.d.ts +4 -0
  2115. package/dist/daemon/api/handlers/messages.js +2 -0
  2116. package/dist/daemon/api/handlers/model-config.d.ts +2 -0
  2117. package/dist/daemon/api/handlers/model-config.js +1 -0
  2118. package/dist/daemon/api/handlers/modelauth.d.ts +5 -0
  2119. package/dist/daemon/api/handlers/modelauth.js +1 -0
  2120. package/dist/daemon/api/handlers/node-events.d.ts +44 -0
  2121. package/dist/daemon/api/handlers/node-events.js +6 -0
  2122. package/dist/daemon/api/handlers/node-outcomes.d.ts +2 -0
  2123. package/dist/daemon/api/handlers/node-outcomes.js +1 -0
  2124. package/dist/daemon/api/handlers/node-records.d.ts +2 -0
  2125. package/dist/daemon/api/handlers/node-records.js +3 -0
  2126. package/dist/daemon/api/handlers/nodes.d.ts +17 -0
  2127. package/dist/daemon/api/handlers/nodes.js +1 -0
  2128. package/dist/daemon/api/handlers/objects.d.ts +2 -0
  2129. package/dist/daemon/api/handlers/objects.js +2 -0
  2130. package/dist/daemon/api/handlers/package-docs.d.ts +2 -0
  2131. package/dist/daemon/api/handlers/package-docs.js +1 -0
  2132. package/dist/daemon/api/handlers/profiles.d.ts +11 -0
  2133. package/dist/daemon/api/handlers/profiles.js +1 -0
  2134. package/dist/daemon/api/handlers/prospective-chat-inventory.d.ts +2 -0
  2135. package/dist/daemon/api/handlers/prospective-chat-inventory.js +1 -0
  2136. package/dist/daemon/api/handlers/providers.d.ts +70 -0
  2137. package/dist/daemon/api/handlers/providers.js +1 -0
  2138. package/dist/daemon/api/handlers/questions.d.ts +7 -0
  2139. package/dist/daemon/api/handlers/questions.js +1 -0
  2140. package/dist/daemon/api/handlers/reports.d.ts +6 -0
  2141. package/dist/daemon/api/handlers/reports.js +18 -0
  2142. package/dist/daemon/api/handlers/review-comments.d.ts +2 -0
  2143. package/dist/daemon/api/handlers/review-comments.js +1 -0
  2144. package/dist/daemon/api/handlers/reviews.d.ts +5 -0
  2145. package/dist/daemon/api/handlers/reviews.js +1 -0
  2146. package/dist/daemon/api/handlers/run-routes.d.ts +2 -0
  2147. package/dist/daemon/api/handlers/run-routes.js +1 -0
  2148. package/dist/daemon/api/handlers/runs.d.ts +9 -0
  2149. package/dist/daemon/api/handlers/runs.js +1 -0
  2150. package/dist/daemon/api/handlers/structured-requests.d.ts +2 -0
  2151. package/dist/daemon/api/handlers/structured-requests.js +1 -0
  2152. package/dist/daemon/api/handlers/subscriptions.d.ts +2 -0
  2153. package/dist/daemon/api/handlers/subscriptions.js +1 -0
  2154. package/dist/daemon/api/handlers/telemetry-record.d.ts +4 -0
  2155. package/dist/daemon/api/handlers/telemetry-record.js +1 -0
  2156. package/dist/daemon/api/handlers/transfer.d.ts +15 -0
  2157. package/dist/daemon/api/handlers/transfer.js +1 -0
  2158. package/dist/daemon/api/handlers/validate.d.ts +23 -0
  2159. package/dist/daemon/api/handlers/validate.js +1 -0
  2160. package/dist/daemon/api/handlers/vendor-status.d.ts +8 -0
  2161. package/dist/daemon/api/handlers/vendor-status.js +1 -0
  2162. package/dist/daemon/api/handlers/worktree.d.ts +2 -0
  2163. package/dist/daemon/api/handlers/worktree.js +1 -0
  2164. package/dist/daemon/api/long-poll-wait.d.ts +3 -0
  2165. package/dist/daemon/api/long-poll-wait.js +1 -0
  2166. package/dist/daemon/api/map.d.ts +167 -0
  2167. package/dist/daemon/api/map.js +2 -0
  2168. package/dist/daemon/api/operations.d.ts +18 -0
  2169. package/dist/daemon/api/operations.js +1 -0
  2170. package/dist/daemon/api/principal.d.ts +71 -0
  2171. package/dist/daemon/api/principal.js +1 -0
  2172. package/dist/daemon/api/reader.d.ts +17 -0
  2173. package/dist/daemon/api/reader.js +1 -0
  2174. package/dist/daemon/api/router.d.ts +123 -0
  2175. package/dist/daemon/api/router.js +1 -0
  2176. package/dist/daemon/api/server.d.ts +28 -0
  2177. package/dist/daemon/api/server.js +1 -0
  2178. package/dist/daemon/api/vendor-signin.d.ts +7 -0
  2179. package/dist/daemon/api/vendor-signin.js +77 -0
  2180. package/dist/daemon/api/viewer-presence.d.ts +3 -0
  2181. package/dist/daemon/api/viewer-presence.js +1 -0
  2182. package/dist/daemon/boot-migrations.d.ts +14 -0
  2183. package/dist/daemon/boot-migrations.js +1 -0
  2184. package/dist/daemon/broker-signals/bus.d.ts +30 -0
  2185. package/dist/daemon/broker-signals/bus.js +10 -0
  2186. package/dist/daemon/companion-retire.d.ts +4 -0
  2187. package/dist/daemon/companion-retire.js +1 -0
  2188. package/dist/daemon/control.d.ts +40 -0
  2189. package/dist/daemon/control.js +1 -0
  2190. package/dist/daemon/cron/armed-context.d.ts +25 -0
  2191. package/dist/daemon/cron/armed-context.js +1 -0
  2192. package/dist/daemon/cron/capture.d.ts +22 -0
  2193. package/dist/daemon/cron/capture.js +2 -0
  2194. package/dist/daemon/cron/disposition.d.ts +21 -0
  2195. package/dist/daemon/cron/disposition.js +1 -0
  2196. package/dist/daemon/cron/escalation.d.ts +12 -0
  2197. package/dist/daemon/cron/escalation.js +3 -0
  2198. package/dist/daemon/cron/held.d.ts +4 -0
  2199. package/dist/daemon/cron/held.js +1 -0
  2200. package/dist/daemon/cron/lease-recovery.d.ts +3 -0
  2201. package/dist/daemon/cron/lease-recovery.js +1 -0
  2202. package/dist/daemon/cron/live-runs.d.ts +11 -0
  2203. package/dist/daemon/cron/live-runs.js +1 -0
  2204. package/dist/daemon/cron/passes.d.ts +6 -0
  2205. package/dist/daemon/cron/passes.js +1 -0
  2206. package/dist/daemon/cron/settle.d.ts +28 -0
  2207. package/dist/daemon/cron/settle.js +1 -0
  2208. package/dist/daemon/cron/sinks.d.ts +19 -0
  2209. package/dist/daemon/cron/sinks.js +2 -0
  2210. package/dist/daemon/cron-run.d.ts +31 -0
  2211. package/dist/daemon/cron-run.js +1 -0
  2212. package/dist/daemon/crtrd-cli.d.ts +1 -0
  2213. package/dist/daemon/crtrd-cli.js +1 -0
  2214. package/dist/daemon/crtrd.d.ts +28 -0
  2215. package/dist/daemon/crtrd.js +12 -0
  2216. package/dist/daemon/delivery/run-delivery.d.ts +34 -0
  2217. package/dist/daemon/delivery/run-delivery.js +1 -0
  2218. package/dist/daemon/due-sources.d.ts +15 -0
  2219. package/dist/daemon/due-sources.js +1 -0
  2220. package/dist/daemon/due.d.ts +14 -0
  2221. package/dist/daemon/due.js +11 -0
  2222. package/dist/daemon/fleet.d.ts +79 -0
  2223. package/dist/daemon/fleet.js +19 -0
  2224. package/dist/daemon/http-dispatcher.d.ts +1 -0
  2225. package/dist/daemon/http-dispatcher.js +1 -0
  2226. package/dist/daemon/human/finish.d.ts +24 -0
  2227. package/dist/daemon/human/finish.js +10 -0
  2228. package/dist/daemon/human/settle.d.ts +44 -0
  2229. package/dist/daemon/human/settle.js +1 -0
  2230. package/dist/daemon/human/sweep.d.ts +21 -0
  2231. package/dist/daemon/human/sweep.js +1 -0
  2232. package/dist/daemon/joined-owner.d.ts +5 -0
  2233. package/dist/daemon/joined-owner.js +1 -0
  2234. package/dist/daemon/launcher-events.d.ts +2 -0
  2235. package/dist/daemon/launcher-events.js +1 -0
  2236. package/dist/daemon/manage.d.ts +176 -0
  2237. package/dist/daemon/manage.js +2 -0
  2238. package/dist/daemon/messaging/node-message.d.ts +27 -0
  2239. package/dist/daemon/messaging/node-message.js +1 -0
  2240. package/dist/daemon/park-activity.d.ts +9 -0
  2241. package/dist/daemon/park-activity.js +1 -0
  2242. package/dist/daemon/park-pending.d.ts +18 -0
  2243. package/dist/daemon/park-pending.js +1 -0
  2244. package/dist/daemon/pidfile.d.ts +8 -0
  2245. package/dist/daemon/pidfile.js +1 -0
  2246. package/dist/daemon/profile-delete.d.ts +7 -0
  2247. package/dist/daemon/profile-delete.js +1 -0
  2248. package/dist/daemon/reconcilers/action-lane.d.ts +8 -0
  2249. package/dist/daemon/reconcilers/action-lane.js +1 -0
  2250. package/dist/daemon/reconcilers/bash-deadline.d.ts +27 -0
  2251. package/dist/daemon/reconcilers/bash-deadline.js +2 -0
  2252. package/dist/daemon/reconcilers/broker-supervision.d.ts +88 -0
  2253. package/dist/daemon/reconcilers/broker-supervision.js +4 -0
  2254. package/dist/daemon/reconcilers/controller-death.d.ts +7 -0
  2255. package/dist/daemon/reconcilers/controller-death.js +1 -0
  2256. package/dist/daemon/reconcilers/cron-lane.d.ts +7 -0
  2257. package/dist/daemon/reconcilers/cron-lane.js +1 -0
  2258. package/dist/daemon/reconcilers/delivery-lane.d.ts +9 -0
  2259. package/dist/daemon/reconcilers/delivery-lane.js +8 -0
  2260. package/dist/daemon/reconcilers/fault-retry-backstop.d.ts +41 -0
  2261. package/dist/daemon/reconcilers/fault-retry-backstop.js +1 -0
  2262. package/dist/daemon/reconcilers/grove-instance-sweep.d.ts +36 -0
  2263. package/dist/daemon/reconcilers/grove-instance-sweep.js +1 -0
  2264. package/dist/daemon/reconcilers/live-obligation.d.ts +65 -0
  2265. package/dist/daemon/reconcilers/live-obligation.js +1 -0
  2266. package/dist/daemon/reconcilers/managed-worktree-sweep.d.ts +24 -0
  2267. package/dist/daemon/reconcilers/managed-worktree-sweep.js +1 -0
  2268. package/dist/daemon/reconcilers/node-deadline.d.ts +7 -0
  2269. package/dist/daemon/reconcilers/node-deadline.js +1 -0
  2270. package/dist/daemon/reconcilers/node-lifecycle/freeze-lane.d.ts +48 -0
  2271. package/dist/daemon/reconcilers/node-lifecycle/freeze-lane.js +1 -0
  2272. package/dist/daemon/reconcilers/node-lifecycle/respawn-policy.d.ts +30 -0
  2273. package/dist/daemon/reconcilers/node-lifecycle/respawn-policy.js +1 -0
  2274. package/dist/daemon/reconcilers/node-lifecycle/terminating.d.ts +5 -0
  2275. package/dist/daemon/reconcilers/node-lifecycle/terminating.js +1 -0
  2276. package/dist/daemon/reconcilers/node-lifecycle/tick.d.ts +20 -0
  2277. package/dist/daemon/reconcilers/node-lifecycle/tick.js +1 -0
  2278. package/dist/daemon/reconcilers/node-lifecycle/wants-execution.d.ts +8 -0
  2279. package/dist/daemon/reconcilers/node-lifecycle/wants-execution.js +1 -0
  2280. package/dist/daemon/reconcilers/pending-review-submit.d.ts +7 -0
  2281. package/dist/daemon/reconcilers/pending-review-submit.js +1 -0
  2282. package/dist/daemon/reconcilers/storage-due-work.d.ts +32 -0
  2283. package/dist/daemon/reconcilers/storage-due-work.js +1 -0
  2284. package/dist/daemon/reconcilers/storage-maintenance.d.ts +69 -0
  2285. package/dist/daemon/reconcilers/storage-maintenance.js +8 -0
  2286. package/dist/daemon/reconcilers/structured-request-lane.d.ts +4 -0
  2287. package/dist/daemon/reconcilers/structured-request-lane.js +1 -0
  2288. package/dist/daemon/resume-detector.d.ts +12 -0
  2289. package/dist/daemon/resume-detector.js +1 -0
  2290. package/dist/daemon/review/comment-notify.d.ts +27 -0
  2291. package/dist/daemon/review/comment-notify.js +2 -0
  2292. package/dist/daemon/review/companion.d.ts +8 -0
  2293. package/dist/daemon/review/companion.js +1 -0
  2294. package/dist/daemon/review/deliver.d.ts +5 -0
  2295. package/dist/daemon/review/deliver.js +3 -0
  2296. package/dist/daemon/review/finish.d.ts +27 -0
  2297. package/dist/daemon/review/finish.js +1 -0
  2298. package/dist/daemon/review/sweep.d.ts +4 -0
  2299. package/dist/daemon/review/sweep.js +1 -0
  2300. package/dist/daemon/run-notices.d.ts +49 -0
  2301. package/dist/daemon/run-notices.js +1 -0
  2302. package/dist/daemon/runs/append-section.d.ts +6 -0
  2303. package/dist/daemon/runs/append-section.js +2 -0
  2304. package/dist/daemon/runs/observer.d.ts +14 -0
  2305. package/dist/daemon/runs/observer.js +4 -0
  2306. package/dist/daemon/startup-policy.d.ts +1 -0
  2307. package/dist/daemon/startup-policy.js +1 -0
  2308. package/dist/daemon/structured-requests/boot.d.ts +2 -0
  2309. package/dist/daemon/structured-requests/boot.js +1 -0
  2310. package/dist/daemon/structured-requests/effects.d.ts +4 -0
  2311. package/dist/daemon/structured-requests/effects.js +1 -0
  2312. package/dist/daemon/structured-requests/notifier.d.ts +2 -0
  2313. package/dist/daemon/structured-requests/notifier.js +1 -0
  2314. package/dist/daemon/structured-requests/sidecar.d.ts +3 -0
  2315. package/dist/daemon/structured-requests/sidecar.js +1 -0
  2316. package/dist/daemon/supervise-cadence.d.ts +1 -0
  2317. package/dist/daemon/supervise-cadence.js +1 -0
  2318. package/dist/hook-authoring.d.ts +130 -0
  2319. package/dist/hook-authoring.js +5 -0
  2320. package/dist/hook-process.d.ts +7 -0
  2321. package/dist/hook-process.js +1 -0
  2322. package/dist/index.d.ts +33 -0
  2323. package/dist/index.js +1 -0
  2324. package/dist/launcher/bwrap.d.ts +13 -0
  2325. package/dist/launcher/bwrap.js +2 -0
  2326. package/dist/launcher/client.d.ts +4 -0
  2327. package/dist/launcher/client.js +3 -0
  2328. package/dist/launcher/limits/cgroup.d.ts +28 -0
  2329. package/dist/launcher/limits/cgroup.js +2 -0
  2330. package/dist/launcher/limits/log.d.ts +3 -0
  2331. package/dist/launcher/limits/log.js +1 -0
  2332. package/dist/launcher/limits/manager.d.ts +82 -0
  2333. package/dist/launcher/limits/manager.js +1 -0
  2334. package/dist/launcher/limits/policy.d.ts +98 -0
  2335. package/dist/launcher/limits/policy.js +1 -0
  2336. package/dist/launcher/limits/purge-worker.d.ts +8 -0
  2337. package/dist/launcher/limits/purge-worker.js +2 -0
  2338. package/dist/launcher/limits/quota.d.ts +48 -0
  2339. package/dist/launcher/limits/quota.js +4 -0
  2340. package/dist/launcher/limits/settings.d.ts +19 -0
  2341. package/dist/launcher/limits/settings.js +2 -0
  2342. package/dist/launcher/main.d.ts +1 -0
  2343. package/dist/launcher/main.js +3 -0
  2344. package/dist/launcher/netrule.d.ts +1 -0
  2345. package/dist/launcher/netrule.js +1 -0
  2346. package/dist/launcher/scope-directories.d.ts +4 -0
  2347. package/dist/launcher/scope-directories.js +1 -0
  2348. package/dist/launcher/seccomp.d.ts +1 -0
  2349. package/dist/launcher/seccomp.js +1 -0
  2350. package/dist/launcher/spec.d.ts +149 -0
  2351. package/dist/launcher/spec.js +1 -0
  2352. package/dist/launcher/users.d.ts +23 -0
  2353. package/dist/launcher/users.js +7 -0
  2354. package/dist/launcher/validate.d.ts +22 -0
  2355. package/dist/launcher/validate.js +1 -0
  2356. package/dist/migrations/004-canvas-documents/apply.d.ts +10 -0
  2357. package/dist/migrations/004-canvas-documents/apply.js +1 -0
  2358. package/dist/migrations/004-canvas-documents/fields.d.ts +24 -0
  2359. package/dist/migrations/004-canvas-documents/fields.js +2 -0
  2360. package/dist/migrations/004-canvas-documents/index.d.ts +16 -0
  2361. package/dist/migrations/004-canvas-documents/index.js +2 -0
  2362. package/dist/migrations/004-canvas-documents/legacy/discover.d.ts +16 -0
  2363. package/dist/migrations/004-canvas-documents/legacy/discover.js +1 -0
  2364. package/dist/migrations/004-canvas-documents/legacy/history.d.ts +5 -0
  2365. package/dist/migrations/004-canvas-documents/legacy/history.js +2 -0
  2366. package/dist/migrations/004-canvas-documents/legacy/nested.d.ts +7 -0
  2367. package/dist/migrations/004-canvas-documents/legacy/nested.js +1 -0
  2368. package/dist/migrations/004-canvas-documents/legacy/parse.d.ts +14 -0
  2369. package/dist/migrations/004-canvas-documents/legacy/parse.js +1 -0
  2370. package/dist/migrations/004-canvas-documents/legacy/types.d.ts +91 -0
  2371. package/dist/migrations/004-canvas-documents/legacy/types.js +0 -0
  2372. package/dist/migrations/004-canvas-documents/legacy-edges.d.ts +6 -0
  2373. package/dist/migrations/004-canvas-documents/legacy-edges.js +18 -0
  2374. package/dist/migrations/004-canvas-documents/plan.d.ts +102 -0
  2375. package/dist/migrations/004-canvas-documents/plan.js +3 -0
  2376. package/dist/migrations/004-canvas-documents/pointers.d.ts +23 -0
  2377. package/dist/migrations/004-canvas-documents/pointers.js +4 -0
  2378. package/dist/migrations/activation.d.ts +17 -0
  2379. package/dist/migrations/activation.js +2 -0
  2380. package/dist/native/linux/arm64/addon.node +0 -0
  2381. package/dist/native/linux/x64/addon.node +0 -0
  2382. package/dist/native/linux.d.ts +29 -0
  2383. package/dist/native/linux.js +1 -0
  2384. package/dist/pi-extensions/broker-local.d.ts +19 -0
  2385. package/dist/pi-extensions/broker-local.js +2 -0
  2386. package/dist/pi-extensions/canvas-bash-valve.d.ts +23 -0
  2387. package/dist/pi-extensions/canvas-bash-valve.js +7 -0
  2388. package/dist/pi-extensions/canvas-context-intro.d.ts +55 -0
  2389. package/dist/pi-extensions/canvas-context-intro.js +2 -0
  2390. package/dist/pi-extensions/canvas-doc-substrate.d.ts +51 -0
  2391. package/dist/pi-extensions/canvas-doc-substrate.js +9 -0
  2392. package/dist/pi-extensions/canvas-elapsed.d.ts +21 -0
  2393. package/dist/pi-extensions/canvas-elapsed.js +2 -0
  2394. package/dist/pi-extensions/canvas-goal-capture.d.ts +21 -0
  2395. package/dist/pi-extensions/canvas-goal-capture.js +1 -0
  2396. package/dist/pi-extensions/canvas-inbox-watcher.d.ts +26 -0
  2397. package/dist/pi-extensions/canvas-inbox-watcher.js +2 -0
  2398. package/dist/pi-extensions/canvas-passive-context.d.ts +38 -0
  2399. package/dist/pi-extensions/canvas-passive-context.js +14 -0
  2400. package/dist/pi-extensions/canvas-preview-result.d.ts +22 -0
  2401. package/dist/pi-extensions/canvas-preview-result.js +4 -0
  2402. package/dist/pi-extensions/canvas-prompt-scrub.d.ts +13 -0
  2403. package/dist/pi-extensions/canvas-prompt-scrub.js +2 -0
  2404. package/dist/pi-extensions/canvas-recap.d.ts +54 -0
  2405. package/dist/pi-extensions/canvas-recap.js +11 -0
  2406. package/dist/pi-extensions/canvas-review-boundary.d.ts +42 -0
  2407. package/dist/pi-extensions/canvas-review-boundary.js +3 -0
  2408. package/dist/pi-extensions/canvas-stamp.d.ts +14 -0
  2409. package/dist/pi-extensions/canvas-stamp.js +2 -0
  2410. package/dist/pi-extensions/canvas-stophook.d.ts +48 -0
  2411. package/dist/pi-extensions/canvas-stophook.js +1 -0
  2412. package/dist/pi-extensions/canvas-structured-output.d.ts +49 -0
  2413. package/dist/pi-extensions/canvas-structured-output.js +19 -0
  2414. package/dist/pi-extensions/canvas-tool-guide.d.ts +14 -0
  2415. package/dist/pi-extensions/canvas-tool-guide.js +9 -0
  2416. package/dist/pi-extensions/envelope-merge.d.ts +13 -0
  2417. package/dist/pi-extensions/envelope-merge.js +8 -0
  2418. package/dist/pi-extensions/system-prompt-entry.d.ts +15 -0
  2419. package/dist/pi-extensions/system-prompt-entry.js +1 -0
  2420. package/dist/prompts/review.d.ts +2 -0
  2421. package/dist/prompts/review.js +110 -0
  2422. package/dist/shared/crtr-version.d.ts +2 -0
  2423. package/dist/shared/crtr-version.js +1 -0
  2424. package/dist/shared/env.d.ts +116 -0
  2425. package/dist/shared/env.js +2 -0
  2426. package/dist/shared/generated-context.d.ts +83 -0
  2427. package/dist/shared/generated-context.js +8 -0
  2428. package/dist/shared/inbox-entry-body.d.ts +22 -0
  2429. package/dist/shared/inbox-entry-body.js +10 -0
  2430. package/dist/shared/inline-ref-grammar.d.ts +53 -0
  2431. package/dist/shared/inline-ref-grammar.js +1 -0
  2432. package/dist/shared/inline-ref-guidance.d.ts +8 -0
  2433. package/dist/shared/inline-ref-guidance.js +2 -0
  2434. package/dist/shared/predicates.d.ts +2 -0
  2435. package/dist/shared/predicates.js +1 -0
  2436. package/dist/shared/shell-quote.d.ts +3 -0
  2437. package/dist/shared/shell-quote.js +1 -0
  2438. package/dist/shared/strip-cd-prefix.d.ts +1 -0
  2439. package/dist/shared/strip-cd-prefix.js +1 -0
  2440. package/dist/shared/tool-groups.d.ts +26 -0
  2441. package/dist/shared/tool-groups.js +1 -0
  2442. package/dist/shared/working-activity.d.ts +9 -0
  2443. package/dist/shared/working-activity.js +1 -0
  2444. package/dist/suppress-experimental-warnings.d.ts +1 -0
  2445. package/dist/suppress-experimental-warnings.js +1 -0
  2446. package/dist/types.d.ts +562 -0
  2447. package/dist/types.js +1 -0
  2448. package/docs/cli/README.md +17 -0
  2449. package/docs/cli/canvas-and-dashboard.md +56 -0
  2450. package/docs/cli/documents-and-preferences.md +52 -0
  2451. package/docs/cli/first-session.md +76 -0
  2452. package/docs/cli/human-inbox.md +34 -0
  2453. package/docs/cli/official-marketplace.md +75 -0
  2454. package/docs/cli/the-viewer.md +80 -0
  2455. package/docs/concepts/README.md +17 -0
  2456. package/docs/concepts/documents.md +52 -0
  2457. package/docs/concepts/lifecycle-and-wakes.md +26 -0
  2458. package/docs/concepts/nodes-and-the-canvas.md +29 -0
  2459. package/docs/concepts/profiles-kinds-and-modes.md +31 -0
  2460. package/docs/concepts/scopes-and-trust.md +39 -0
  2461. package/docs/concepts/why-a-daemon.md +29 -0
  2462. package/docs/plugin/README.md +20 -0
  2463. package/docs/plugin/bundles-and-memory.md +28 -0
  2464. package/docs/plugin/commands.md +22 -0
  2465. package/docs/plugin/deploying.md +34 -0
  2466. package/docs/plugin/errors.md +39 -0
  2467. package/docs/plugin/getting-started.md +23 -0
  2468. package/docs/plugin/output.md +51 -0
  2469. package/docs/plugin/parameters.md +29 -0
  2470. package/docs/public-api.md +75 -0
  2471. package/docs/release-local.md +8 -0
  2472. package/docs/sdk/README.md +90 -0
  2473. package/docs/sdk/bash.md +39 -0
  2474. package/docs/sdk/client.md +297 -0
  2475. package/docs/sdk/docker.md +68 -0
  2476. package/docs/sdk/error-envelope.md +36 -0
  2477. package/docs/sdk/errors.md +111 -0
  2478. package/docs/sdk/files.md +49 -0
  2479. package/docs/sdk/getting-started.md +224 -0
  2480. package/docs/sdk/guides/README.md +19 -0
  2481. package/docs/sdk/guides/apps-on-crouter-cloud.md +115 -0
  2482. package/docs/sdk/guides/apps-with-many-users.md +59 -0
  2483. package/docs/sdk/guides/event-driven-assistant.md +24 -0
  2484. package/docs/sdk/guides/fan-out-pipeline.md +24 -0
  2485. package/docs/sdk/guides/human-approval.md +24 -0
  2486. package/docs/sdk/guides/typed-extraction.md +24 -0
  2487. package/docs/sdk/memory.md +47 -0
  2488. package/docs/sdk/nodes.md +194 -0
  2489. package/docs/sdk/release-notes.md +207 -0
  2490. package/docs/sdk/resources.md +99 -0
  2491. package/docs/sdk/streaming.md +216 -0
  2492. package/docs/sdk/testing.md +163 -0
  2493. package/package.json +158 -4
  2494. package/packages/crouter-identity/dist/index.d.ts +107 -0
  2495. package/packages/crouter-identity/dist/index.js +226 -0
  2496. package/packages/crouter-identity/package.json +33 -0
  2497. package/runtime.lock.json +13864 -0
  2498. package/scripts/build-native-linux.mjs +35 -0
  2499. package/scripts/ensure-native-linux.mjs +72 -0
  2500. package/scripts/install-runtime.mjs +614 -0
  2501. package/scripts/lib/isolation-env.mjs +48 -0
  2502. package/scripts/lib/pack-args.mjs +19 -0
  2503. package/scripts/lib/runtime-deps-key.mjs +50 -0
  2504. package/scripts/lib/update-target.mjs +78 -0
  2505. package/scripts/pack-minify.mjs +114 -0
  2506. package/scripts/patch-pi-tree-root-ordering.mjs +57 -0
  2507. package/scripts/postinstall.mjs +55 -0
  2508. package/scripts/runtime-lock.mjs +26 -0
  2509. package/scripts/runtime-smoke.mjs +54 -0
  2510. package/scripts/self-update.mjs +45 -0
  2511. package/src/native/linux/addon.c +255 -0
@@ -0,0 +1,16 @@
1
+ export interface PageHelpText {
2
+ brief: string;
3
+ authoring: string;
4
+ componentSelection: readonly string[];
5
+ pageHint: string;
6
+ rootUseWhen: string;
7
+ /** `human send` surfaces. HTML is named only where an HTML page can be read. */
8
+ sendSummary: string;
9
+ sendWhenToUse: string;
10
+ pageFlagConstraint: string;
11
+ stdinConstraint: string;
12
+ dirConstraint: string;
13
+ }
14
+ /** The one page authoring model for `human -h`. */
15
+ export declare function pageHelpText(pageSurface?: boolean): PageHelpText;
16
+ export declare function resolveMaxPanes(): number;
@@ -0,0 +1 @@
1
+ var o=Object.defineProperty;var n=(e,t)=>o(e,"name",{value:t,configurable:!0});import{readConfig as s}from"../../core/config.js";import{CORE_COMPONENT_SELECTION_LINES as a}from"../../core/human/component-docs.js";const i="Write the page for where it is read. A page projected to the inbox is opened away from this conversation by someone who has not followed the work, so it stands alone; an inline page can lean on what the conversation already said. Title names what is being settled, not the topic it sits under. Subtitle is the single line shown beside the title in the inbox list before anything is opened, so it earns the open \u2014 your recommendation and what is at stake \u2014 rather than summarising the page. Content carries only what is needed to decide. Ask only what changes your next step, and offer only options you would actually take; mark the one you would take `recommended` (at most one per question), because a page whose single question is that picker can be answered straight from the inbox list without ever being opened, which is the cheapest answer you can ask for. The reader takes a page one step at a time, so hold each step \u2014 and a stepless page \u2014 to one question or request for action; several decisions means several `<Step>` children, never one long scroll of stacked context and asks. A page that asks nothing states what happened and what it changes.",r="Use inline pages as the default way to put structured or interactive content in front of the user; the environment renders rich components, so a page is not a special occasion.",d="Use inline pages as the default way to put a question or a decision in front of the user; the viewer draws them in the transcript and in the inbox, so a page is not a special occasion.",h="What costs the reader is being asked, not the page it arrives on: send one when their answer changes what you do next, carry everything else in your next report, and put several decisions in one page as separate steps rather than sending several pages.",l='Write one `.tsx` module to `$CRTR_CONTEXT_DIR/pages/<name>.tsx` that default-exports a component whose root element is `<Page title="\u2026" subtitle="\u2026">`; a multi-step page puts its content in `<Step>` children.',c="Or send a complete `.html` file with a nonempty `<title>`; HTML is delivered verbatim and collects no response.",p="Delivery is chosen by `human send` flags, never a Page prop. Registry components and React are already in scope, so the module contains no `import` and no `require`. Full JS is yours: state, expressions, `.map` over your data, event handlers, plain elements with Tailwind classes. `usePageHost` is a reserved hook whose product-supplied members are opaque here. Never render submit or dismiss chrome \u2014 the host owns it. Display-only pages are first-class: a page with no questions may be sent without inbox or reply delivery. The module is compiled when you submit it and a compile error rejects the submit; there is no pre-check.",u="Context can sit anywhere on the page \u2014 prose and display components around a question are rendered beside it \u2014 so a question's `body` carries what that question needs and the page carries the shared background.",m="Put the context a question needs in that question's own `body`: the reader is shown one question at a time, so page-level prose is not in front of them while they answer, and a question that leans on it cannot be answered.",g="This host draws the page from the components you declared rather than running your module, so layout, Tailwind classes, state, and click handlers never reach the reader \u2014 what survives is each component's `label`, its markdown `body`, and its options, rows, or cards. A chart renders as one line naming it, and a product-registered component cannot be answered here at all.",y="The shadcn display set \u2014 `Card`, `Badge`, `Button`, `Table`, `Tabs`, `Separator`, `Alert`, `Progress`, `Accordion` and their parts \u2014 is in scope too, for presentation only.";function v(e=!1){const t=[e?r:d,h,l,...e?[c]:[],p,e?u:m,...e?[]:[g]].join(" ");return{brief:i,authoring:t,componentSelection:[...a,y],pageHint:"Write the page module to `$CRTR_CONTEXT_DIR/pages/<name>.tsx`; pass that path.",rootUseWhen:e?"a person must decide something or receive structured content from you; use inline pages by default because the environment renders rich components.":"a person must decide, review a document with you, or receive a live display.",sendSummary:e?"send a durable TSX or HTML page":"send a durable TSX page",sendWhenToUse:e?"you need to put structured TSX or HTML content in a conversation and optionally project it to the inbox; a page carrying response-bearing components routes completion back to this node.":"you need to put structured TSX content in a conversation and optionally project it to the inbox; a page carrying response-bearing components routes completion back to this node.",pageFlagConstraint:e?"A .tsx file is JSX; .html/.htm is complete HTML. Provide exactly one of --page or stdin.":"Provide exactly one of --page or stdin.",stdinConstraint:e?"The page module source (TSX) on stdin. Provide exactly one of stdin or --page PATH. HTML is file-authored.":"The page module source (TSX) on stdin. Provide exactly one of stdin or --page PATH.",dirConstraint:e?"Interaction directory holding page.tsx or page.html, optional page.js, page.json, and response lifecycle files when delivery needs them.":"Interaction directory holding page.tsx, optional page.js, page.json, and response lifecycle files when delivery needs them."}}n(v,"pageHelpText");function f(){return s("user").max_panes_per_window}n(f,"resolveMaxPanes");export{v as pageHelpText,f as resolveMaxPanes};
@@ -0,0 +1,2 @@
1
+ import type { BranchDef } from '../core/command.js';
2
+ export declare function registerHuman(): BranchDef;
@@ -0,0 +1,4 @@
1
+ var s=Object.defineProperty;var r=(e,n)=>s(e,"name",{value:n,configurable:!0});import{defineBranch as i}from"../core/command.js";import{readConfig as m}from"../core/config.js";import{userScopeRoot as c}from"../core/scope.js";import{scopedStoreExists as h}from"../core/scoped-state/db.js";import{userStore as p}from"../core/scoped-state/paths.js";import{humanSend as u,humanShow as l}from"./human/prompts.js";import{humanList as d,humanResolve as f,humanCancel as w}from"./human/queue.js";import{humanReviewBranch as b}from"./human/review.js";import{humanFeedbackBranch as g}from"./human/feedback.js";import{humanComponents as v}from"./human/components.js";import{humanRequestBranch as k}from"./human/request.js";import{pageHelpText as x}from"./human/shared.js";function L(){const e=h(p(c()))&&m("user").page_surface,n=x(e),o=e?"human-in-the-loop decisions and structured pages":"human-in-the-loop decisions, document review, and live display",t="`request` publishes the same page with no bridge at all, for a caller that will have exited before the answer arrives: its outcome is read back or carried to a named local action.",a=e?`Tickets queue in the human inbox; nothing opens on screen. \`send\` routes completion back when the page carries response-bearing components, and publishes a standalone announcement when it does not. ${t}`:`Tickets queue in the human inbox; nothing opens on screen. \`send\` routes completion back when the page carries response-bearing components, and publishes a standalone announcement when it does not. ${t} \`review\` is for live document review with anchored comments; \`show\` is a passive tmux live-watch rather than a ticket.`;return i({name:"human",extensible:!0,rootEntry:{concept:o,desc:e?"send, components, feedback, cancel, list":"send, review new/comment, show, cancel, list",useWhen:n.rootUseWhen},help:{name:"human",summary:o,model:[a,n.brief,n.authoring,n.componentSelection.join(`
2
+ `),"Props, response contracts, and the full component catalog: `crtr human components`; select with `crtr human components list`, then read one with `crtr human components show <component>`."].join(`
3
+
4
+ `)},children:[v,u(e),...e?[]:[b],g,...e?[]:[l],k,w,d,f]})}r(L,"registerHuman");export{L as registerHuman};
@@ -0,0 +1 @@
1
+ export declare const nodeBash: import("../../core/command.js").BranchDef;
@@ -0,0 +1,5 @@
1
+ var w=Object.defineProperty;var r=(e,t)=>w(e,"name",{value:t,configurable:!0});import{envNodeId as _}from"../../shared/env.js";import{defineBranch as j,defineLeaf as c}from"../../core/command.js";import{InputError as s}from"../../core/io.js";import{existsSync as m}from"node:fs";import{activeBackgroundBashJobs as k,backgroundRunningBashJobs as y,bashJobCommandLine as x,bashJobPaths as v,clearJobDeadline as $,formatBashElapsed as g,isSafeBashJobId as f,jobStartedAtMs as I,readJobPgid as D,tailJobLog as T,writeJobDeadlineMs as M}from"../../core/bash-jobs.js";import{parseDurationMs as q}from"../../core/wake.js";import{cliClient as N,getNodeOrNull as h}from"../api-client.js";import{nodeInPane as E}from"../surface/node/placement.js";function u(e,t){const n=e.pane??process.env.TMUX_PANE;let o=e.node;if((o===void 0||o==="")&&(o=E(n)),(o===void 0||o==="")&&(o=_()),o===void 0||o==="")throw new s({error:"no_node",message:t,next:"Run from inside a node, pass --node <id>, or --pane <pane>."});return{id:o,pane:n}}r(u,"resolveBashTarget");const B=c({name:"background",description:"hand the focused node\u2019s running bash command to its background job system",whenToUse:"the tmux prefix menu invokes this when a foreground bash command should stop blocking the agent immediately but keep running as a file-backed background job",tier:"hidden",help:{name:"node bash background",summary:"hand every running foreground bash command for one node to its file-backed background job system",params:[{kind:"flag",name:"node",type:"string",required:!1,constraint:"Node whose running bash command to background. Defaults to the node in --pane, else the caller (CRTR_NODE_ID)."},{kind:"flag",name:"pane",type:"string",required:!1,constraint:"tmux pane showing the target node, when --node is omitted. Defaults to $TMUX_PANE. The prefix menu passes this for you."}],output:[{name:"node_id",type:"string",required:!0,constraint:"The target node."},{name:"jobs",type:"object[]",required:!0,constraint:"Per handed-off job {job_id, elapsed_ms} \u2014 the foreground elapsed time in milliseconds at the moment of handoff."}],outputKind:"object",effects:["Signals every foreground bash command currently running for the node to return from its tool call immediately while its detached supervisor keeps the command running.","Each handed-off command retains its log under the node context jobs directory and becomes a job object; when it exits, the job\u2019s watchers (its node by default) get an urgent `exited` push carrying the exit code and log path."]},run:r(async e=>{const{id:t}=u(e,"no node found for the bash handoff"),n=await h(t);if(n===null)throw new s({error:"not_found",message:`no node: ${t}`,next:"List nodes with `crtr node inspect list`."});const o=y(n.paths.context_dir),d=Date.now(),i=o.map(l=>({job_id:l.jobId,elapsed_ms:d-(I(l.jobId)??d)}));return{node_id:t,jobs:i}},"run"),render:r(e=>{const t=e.jobs;if(t.length===0)return`No foreground bash command is running for ${e.node_id}.`;const n=Math.max(...t.map(o=>o.elapsed_ms));return`Handed ${t.length} bash command(s) to the background job system for ${e.node_id} \xB7 ran ${g(n)} in the foreground.`},"render")}),R=c({name:"list",description:"list a node\u2019s live background bash jobs",whenToUse:"the Inspector\u2019s jobs section reads this to show what a node handed off to the background",tier:"hidden",help:{name:"node bash list",summary:"read every still-running background bash job owned by one node",params:[{kind:"flag",name:"node",type:"string",required:!1,constraint:"Node whose background jobs to list. Defaults to the node in --pane, else the caller (CRTR_NODE_ID)."},{kind:"flag",name:"pane",type:"string",required:!1,constraint:"tmux pane showing the target node, when --node is omitted. Defaults to $TMUX_PANE."},{kind:"flag",name:"tail",type:"int",required:!1,default:0,constraint:"Include this many trailing log lines per job (0 = none)."}],output:[{name:"node_id",type:"string",required:!0,constraint:"The target node."},{name:"jobs",type:"object[]",required:!0,constraint:"Oldest-first {job_id, command, purpose, started_at, elapsed_ms, deadline_at, log_path, pgid, log_tail} for every live background job; purpose is a human-readable label or null; deadline_at is the auto-cancel time or null for a job that runs to completion."}],outputKind:"object",effects:["Reads the node context jobs directory. Changes nothing."]},run:r(async e=>{const{id:t}=u(e,"no node found for the bash job list"),n=await h(t);if(n===null)throw new s({error:"not_found",message:`no node: ${t}`,next:"List nodes with `crtr node inspect list`."});const o=Date.now(),d=Math.max(0,Math.trunc(Number(e.tail??0))),i=n.paths.context_dir,l=k(i).map(a=>({job_id:a.jobId,command:a.command,purpose:a.purpose,started_at:new Date(a.startedAtMs).toISOString(),elapsed_ms:o-a.startedAtMs,deadline_at:a.deadlineAtMs===null?null:new Date(a.deadlineAtMs).toISOString(),log_path:a.logPath,pgid:D(i,a.jobId)??null,log_tail:T(a.logPath,d)}));return{node_id:n.node_id,jobs:l}},"run"),render:r(e=>{const t=e.jobs;return t.length===0?`No background bash jobs for ${e.node_id}.`:t.map(n=>`${n.job_id} \xB7 ${g(n.elapsed_ms)} \xB7 ${x(n.command)}${n.purpose===null?"":`
2
+ purpose: ${n.purpose}`}${n.deadline_at===null?"":`
3
+ cancels at: ${n.deadline_at}`}
4
+ log: ${n.log_path}`).join(`
5
+ `)},"render")}),S=c({name:"kill",description:"stop one of a node\u2019s background bash jobs",whenToUse:"the user watching the Inspector or the attach cockpit\u2019s bash row wants a long-running background job to stop now, or an agent is abandoning work it backgrounded",tier:"hidden",help:{name:"node bash kill",summary:"best-effort stop a background bash job and tell the owning node it was canceled",params:[{kind:"positional",name:"job",required:!0,constraint:"Job id, as reported by node bash list."},{kind:"flag",name:"node",type:"string",required:!1,constraint:"Node owning the job. Defaults to the node in --pane, else the caller (CRTR_NODE_ID)."},{kind:"flag",name:"pane",type:"string",required:!1,constraint:"tmux pane showing the target node, when --node is omitted. Defaults to $TMUX_PANE."}],output:[{name:"node_id",type:"string",required:!0,constraint:"The owning node."},{name:"signaled",type:"boolean",required:!0,constraint:"True when at least one observed supervisor-tree process received SIGTERM."}],outputKind:"object",effects:["Snapshots the supervisor\u2019s observable process tree, sends SIGTERM then SIGKILL to those processes, and cannot stop a descendant that detached and reparented before the snapshot.","Records the job\u2019s exit so it stops showing as live, and ends its job object as killed; the job\u2019s watchers (its node by default) get an urgent `killed` push."]},run:r(async e=>{const{id:t}=u(e,"no node found for the bash job"),n=await h(t);if(n===null)throw new s({error:"not_found",message:`no node: ${t}`,next:"List nodes with `crtr node inspect list`."});const o=e.job;if(!f(o))throw new s({error:"invalid_job_id",message:`invalid background job id: ${o}`,next:"Use a job id reported by `crtr node bash list`."});const d=await N().stopBashJob(n.node_id,o);return{node_id:n.node_id,signaled:d.signaled}},"run"),render:r(e=>`Canceled a background bash job for ${e.node_id}${e.signaled===!0?"":" (no observed job process was still running)"}.`,"render")}),L=c({name:"extend",description:"claim an auto-backgrounded bash job so the daemon does not cancel it at its deadline",whenToUse:"a command the valve auto-backgrounded is worth keeping past its cancel deadline \u2014 give it more time with --for, or let it run to completion with --keep",tier:"hidden",help:{name:"node bash extend",summary:"move or clear the auto-cancel deadline on one of a node\u2019s live background bash jobs",params:[{kind:"positional",name:"job",required:!0,constraint:"Job id, as reported by node bash list or the auto-background notice."},{kind:"flag",name:"for",type:"string",required:!1,constraint:"New window from now before the job is canceled, as a duration (e.g. 90s, 10m, 1h30m). Mutually exclusive with --keep; give exactly one."},{kind:"flag",name:"keep",type:"bool",required:!1,constraint:"Remove the deadline entirely so the job runs to completion. Mutually exclusive with --for; give exactly one."},{kind:"flag",name:"node",type:"string",required:!1,constraint:"Node owning the job. Defaults to the node in --pane, else the caller (CRTR_NODE_ID)."},{kind:"flag",name:"pane",type:"string",required:!1,constraint:"tmux pane showing the target node, when --node is omitted. Defaults to $TMUX_PANE."}],output:[{name:"node_id",type:"string",required:!0,constraint:"The owning node."},{name:"deadline_at",type:"string",required:!1,constraint:"The job\u2019s new auto-cancel time (ISO), or absent when --keep cleared the deadline so the job runs to completion."}],outputKind:"object",effects:["Rewrites or removes the job\u2019s deadline file. The daemon\u2019s deadline lane reads it on its next scan. Signals nothing."]},run:r(async e=>{const{id:t}=u(e,"no node found for the bash job"),n=await h(t);if(n===null)throw new s({error:"not_found",message:`no node: ${t}`,next:"List nodes with `crtr node inspect list`."});const o=e.job;if(!f(o))throw new s({error:"invalid_job_id",message:`invalid background job id: ${o}`,next:"Use a job id reported by `crtr node bash list`."});const d=e.for,i=e.keep===!0;if(i===(d!==void 0&&d!==""))throw new s({error:"invalid_args",message:"give exactly one of --for <duration> or --keep",next:"Extend by a window with --for 10m, or drop the deadline with --keep."});const l=n.paths.context_dir,a=v(l,o);if(!m(a.dir))throw new s({error:"not_found",message:`no background job ${o} for ${n.node_id}`,next:"List live jobs with `crtr node bash list`."});if(!m(a.jobBg)||m(a.jobExit))throw new s({error:"not_running",message:`background job ${o} for ${n.node_id} is no longer running`,next:`It finished or was stopped, so there is no deadline to change. Log: ${a.jobLog}`});if(i)return $(a),{node_id:n.node_id};const b=q(d);if(b===null||b<=0)throw new s({error:"invalid_duration",message:`not a duration: ${d}`,next:"Use a value like 90s, 10m, or 1h30m."});const p=Date.now()+b;return M(a,p),{node_id:n.node_id,deadline_at:new Date(p).toISOString()}},"run"),render:r(e=>e.deadline_at===void 0?`Cleared the deadline \u2014 the background job will run to completion for ${e.node_id}.`:`Background job for ${e.node_id} will be canceled at ${e.deadline_at} unless extended again.`,"render")}),H=j({name:"bash",description:"control file-backed bash jobs owned by a node",whenToUse:"a running bash command must be handed off, listed, stopped, or its auto-cancel deadline changed \u2014 the tmux prefix menu backgrounds, the Inspector\u2019s jobs section lists and cancels",tier:"hidden",help:{name:"node bash",summary:"control file-backed bash jobs owned by a node"},children:[B,R,S,L]});export{H as nodeBash};
@@ -0,0 +1,6 @@
1
+ /** Decision road sign for a managed (non-root) child. Normally STD_CHILD_FOLLOW_UP,
2
+ * but when the SPAWNER is an orchestrator whose context has already grown past
3
+ * YIELD_NUDGE_THRESHOLD, steer it to yield now and let its fresh revive handle
4
+ * the child's result. */
5
+ export declare function childFollowUp(spawnerId: string | undefined): Promise<string>;
6
+ export declare const nodeNew: import("../../core/command.js").LeafDef;
@@ -0,0 +1,2 @@
1
+ var K=Object.defineProperty;var a=(e,o)=>K(e,"name",{value:o,configurable:!0});import{envNodeId as Y}from"../../shared/env.js";import{defineLeaf as G}from"../../core/command.js";import{InputError as n}from"../../core/io.js";import{requireScope as V}from"../../core/errors.js";import{mark as q}from"../../core/timing.js";import{OUTPUT_SCHEMA_CONSTRAINTS as X,OUTPUT_SCHEMA_TRANSPORT as Q,parseOutputSchemaValue as Z}from"../../core/runtime/structured-output.js";import{MODEL_SPEC_FORMS as ee,MODEL_SPEC_NEXT as te}from"../../core/runtime/model-selection.js";import{parseDurationMs as oe}from"../../core/wake.js";import{kindsStateBlock as ne,profilesStateBlock as re,resolveProfileViaDaemon as ie}from"../profile/daemon-profiles.js";import{cliClient as F,getNodeOrNull as ae,rethrowAsCliError as L}from"../api-client.js";import{inTmux as $}from"../../core/runtime/placement-tmux.js";import{openSpawnViewer as se}from"../surface/node/placement.js";import{randomUUID as de}from"node:crypto";import{resolve as le}from"node:path";import{isDaemonTransportApiError as H}from"../../api/errors.js";import{ExitCode as ce}from"../../types.js";const ue=1e5,z='--output-schema writes the accepted result to the node\u2019s context/result.json and pushes it as the node\u2019s final report; a node that cannot honestly satisfy the schema declines with `crtr push result --decline "<reason>" --code <token>`, which finishes it with a failure outcome (reason `declined`) whose `declined` field carries { reason, code, retryable } and no result. Name the code tokens you accept in the prompt; crouter carries the code verbatim and you validate it.',W=["A resident is told never to push a final, so the spawner gets no report wake when the work is done.","If it stops mid-task, nothing prompts it to continue.","After 15 unattended minutes it is concluded with only a deferred update, which does not wake the spawner."],B="To re-task a terminal child after its final, use `crtr node message send --reopen`; to make an existing node resident later, use `crtr node config --lifecycle resident`.",N="Do not wait, poll, or duplicate this child's assignment in your own context \u2014 there is no result to await, stopping will not strand you, and duplicated work wastes the delegated context. You're auto-subscribed, so its finish wakes you on its own. Two moves only: do other independent work right now, or stop and end your turn \u2014 the wake brings you back.";async function he(e){if(e===void 0||e==="")return N;const o=await ae(e);if(o===null||o.mode!=="orchestrator")return N;const t=o.context_tokens??null;return t===null||t<ue?N:`Child spawned \u2014 you're auto-subscribed, so its finish wakes you on its own; never wait, poll, or duplicate the child's assignment in your own context. But you're an orchestrator already carrying ~${Math.round(t/1e3)}k of context: rather than hold this window open for the result, bring your document \`roadmap\` current (\`crtr doc edit roadmap\`) and \`crtr node yield\` now. Yielding ends this turn, and the child's completion then revives you fresh against your roadmap \u2014 let that clean revive absorb the result instead of this bloated context.`}a(he,"childFollowUp");function fe(e,o){throw H(e)||L(e),new n({error:"node_create_effect_unknown",message:`Node creation did not receive an acknowledgement after automatic recovery with request key ${o}; its effect is unknown.`,next:"Do not create a replacement node until the daemon is reachable and this request can be recovered."},ce.NETWORK)}a(fe,"createTransportFailure");function me(){return[{kind:"stdin",name:"prompt",required:!1,constraint:"First user message."},{kind:"flag",name:"kind",type:"string",required:!1,constraint:"Persona kind. Defaults to the profile's default kind; `general` when the profile has none. The <kinds> list below names every top-level installable kind."},{kind:"flag",name:"mode",type:"enum",choices:["base","orchestrator"],required:!1,default:"base",constraint:"Persona mode. base for one hands-on unit; orchestrator when the unit itself needs decomposition across children. When you hold several parallel units of one kind, spawn ONE orchestrator child of that kind to own the fan-out rather than spawning the units yourself \u2014 unless you are already an orchestrator of that kind, whose job is exactly that fan-out."},{kind:"flag",name:"cwd",type:"path",required:!1,constraint:"Pin the node to this directory. Without --worktree, defaults to the spawner\u2019s directory for a managed child and the invocation directory for a root. With --worktree, selects the repository used for creation, defaulting to the invocation directory; the child runs in the new checkout."},{kind:"flag",name:"name",type:"string",required:!1,constraint:"Display name."},{kind:"flag",name:"parent",type:"string",required:!1,constraint:"Parent node id. Defaults to the calling node."},{kind:"flag",name:"node-id",type:"string",required:!1,constraint:"Exact id for the new node; lowercase letters, digits, and hyphens only, at most 128 characters. Rejected if already present."},{kind:"flag",name:"root",type:"bool",required:!1,constraint:"Spawn an independent root with no parent or subscription. Mutually exclusive with --worktree."},{kind:"flag",name:"resident",type:"bool",required:!1,constraint:"Birth the node as resident, a conversation partner for a person rather than a worker. Omit unless the user explicitly asks for a node they can talk with back and forth.",focusedHelp:{whenToUse:"Pass it ONLY when the user explicitly asks for a node they can talk with back and forth. Never infer it from task size, from expecting the user to look at the node, or from wanting to follow up later. "+B,value:"Boolean. Roots default to resident, so with --root it changes nothing. Managed children default to terminal; for a managed child the command first refuses, explains the cost, and says how to confirm.",effects:[...W,"It ends by going dormant or by being closed."]}},{kind:"flag",name:"terminal",type:"bool",required:!1,constraint:"Birth the node as terminal: it finalizes when its work is done and leaves nothing wakeable behind. Only meaningful with --root, whose default is resident; managed children are already terminal. Pass it for bounded programmatic work no one will open a viewer on. Mutually exclusive with --resident."},{kind:"flag",name:"force",type:"bool",required:!1,default:!1,hidden:!0,constraint:"Confirm a resident managed child (--resident without --root) after the user explicitly asked for one."},{kind:"flag",name:"worktree",type:"string",required:!1,constraint:"Existing local base branch for this child\u2019s managed worktree. When invoking from a managed worktree, also pass --cwd pointing at the repository\u2019s primary checkout; keep --worktree set to the desired parent branch. Mutually exclusive with --root."},{kind:"flag",name:"fork-from",type:"string",required:!1,constraint:"Fork the new node from an existing node id, absolute session path, or partial pi session uuid."},{kind:"flag",name:"model",type:"string",required:!1,constraint:"Durable model override. Omit unless the task or governing guidance requires a specific model.",focusedHelp:{whenToUse:"Use only when the user, task, or governing agent guidance already requires a specific provider, model, capability tier, or family. Omit it for routine delegation: the selected persona kind and profile own normal model selection, and review personas may enforce a quality floor.",value:`Accepted forms: ${ee}. Concrete provider/id requests must be registered. Portable provider/tier, bare-tier, and family-alias requests resolve through the configured model ladders.`,effects:["The resolved concrete model is stored on the node and in its launch recipe.","A concrete provider/id runs exactly that model on every launch and revive. A portable provider/tier, bare tier, or family alias keeps its tier: when that model's provider is rate-limited or rejects its credential, the node moves to the next model in its route: another provider's model at the same tier first, then the configured fallback tier (strong by default).","A persona quality floor may raise a weaker request before its resolved model is stored."]}},{kind:"flag",name:"profile",type:"string",required:!1,constraint:"Profile override. Use only when the task needs different project purview, owned documents, or environment; otherwise omit for normal inheritance or selection.",focusedHelp:{whenToUse:"Use only when the work must run under a different profile because it needs that profile\u2019s project purview, owned documents, stored environment, or defaults. Do not use it merely to change the working directory, persona kind, model, or graph ownership; those have separate parameters.",value:"Pass a profile id or name from the <profiles> list below; a close-enough name resolves to the nearest profile and the choice is reported on stderr. Omit it inside a node to inherit the caller\u2019s profile; outside a node, omission runs normal cwd-based profile selection.",effects:["The selected profile id is stored on the node and supplies its profile-scoped config, documents, environment, and injected bearings.","It does not change the parent or subscription; --cwd separately pins the working directory."]}},{kind:"flag",name:"situational-context",type:"string",required:!1,constraint:"Hidden ambient context appended to injected bearings, never visible chat."},{kind:"flag",name:"no-kickoff",type:"bool",required:!1,hidden:!0,constraint:"With --root, start the broker and session idle without a first message or model turn. Mutually exclusive with a prompt and --mode orchestrator."},{kind:"flag",name:"deadline",type:"string",required:!1,constraint:"Positive, representable wall-clock duration from spawn. Grammar: one or more positive integer-unit parts; units: s, m, h, d; adjacent parts are summed. Omit for no deadline."},{kind:"flag",name:"outcome-action",type:"string",required:!1,constraint:"Declared human-action name that receives the node outcome. Grammar: 1\u2013128 ASCII letters, digits, dots, underscores, or hyphens; starts with a letter or digit. Omit when no external delivery target is needed."},{kind:"flag",name:"outcome-payload",type:"string",required:!1,constraint:"JSON value, serialized at most 64 KiB, frozen and echoed to --outcome-action. Requires --outcome-action."},{kind:"flag",name:"output-schema",type:"string",required:!1,constraint:"Replace prose completion with a schema-constrained final result. Use only when its consumer requires fixed fields.",focusedHelp:{whenToUse:"Use only when the node\u2019s consumer needs a machine-checkable final object with fixed fields. Omit it for ordinary delegation or when a prose report is enough; structured output replaces the completion protocol, and an over-constrained schema can force retries.",value:`Pass the JSON Schema the result must satisfy. ${Q} ${X}`,effects:["The node must answer with `crtr push result` and cannot finish until the result is accepted; a plain `crtr push final` is blocked while the request is pending.",z,"The managed parent wakes through its existing subscription when the final report arrives; an independent root has no subscriber to wake.","An accepted result, or a decline, removes the request and terminates the node."]}}]}a(me,"nodeNewParams");function pe(){return[{name:"node_id",type:"string",required:!0,constraint:"New node id."},{name:"name",type:"string",required:!0,constraint:"Display name."},{name:"frozen_at",type:"string",required:!1,constraint:"Present when a managed child exists but capacity deferred its broker start."},...$()?[{name:"window",type:"string",required:!1,constraint:"tmux window id when a viewer opens."},{name:"session",type:"string",required:!1,constraint:"tmux session when a viewer opens."}]:[],{name:"follow_up",type:"string",required:!0,constraint:"Managed child: continue unrelated work or stop; its final report wakes you. Root: hand it off; no report wakes you."}]}a(pe,"nodeNewOutput");function we(){return["Creates nodes/<id>/ in the canvas home, indexes the node in canvas.db, and starts its detached broker engine.","A managed child creates an active parent subscription; its pushes wake the parent. --root creates an independent node with spawned_by provenance and no parent subscription.","--worktree creates a managed worktree at ~/.crouter/canvas/worktrees/<node-id>/ on a new crtr/<node-id> branch.",z,"--deadline persists a wall-clock deadline from spawn; expiry cancels the node and records a failure outcome with reason deadline_exceeded.","--outcome-action registers one resolved local human-action target. When the node settles, crouter retries delivery of its outcome document until the target accepts it or permanently rejects it; --outcome-payload is frozen and echoed in that document.",...$()?["--root opens a viewer for the new node in the current tmux session."]:[]]}a(we,"nodeNewEffects");async function ke(e){V("crtr:act","crtr node new");const o=e.prompt??"",t=e.noKickoff===!0;if(!t&&o.trim()==="")throw new n({error:"empty_prompt",message:"a prompt is required (stdin or positional)",next:"Pipe a task on stdin or pass it as an argument, or pass --no-kickoff to spawn an idle node with none."});if(t&&o.trim()!=="")throw new n({error:"no_kickoff_with_prompt",message:"--no-kickoff cannot be combined with a prompt",field:"no-kickoff",next:"Drop --no-kickoff, or drop the prompt."});const l=e.kind,T=e.mode??"base",c=e.cwd?.trim(),u=c!==void 0&&c!==""?le(c):void 0,S=e.name,J=e.parent,r=e.root===!0,h=e.resident===!0,O=e.terminal===!0;if(h&&O)throw new n({error:"lifecycle_conflict",message:"--resident and --terminal cannot both be passed",field:"terminal",next:"Pass the one birth lifecycle you want, or neither to take the default (resident for --root, terminal for a managed child)."});if(h&&!r&&e.force!==!0)throw new n({error:"resident_child_requires_force",message:`--resident on a managed child makes it a conversation partner for a person, not a worker that reports back. ${W.join(" ")}`,field:"resident",next:`If the user did not explicitly ask for a node they can talk with back and forth, drop --resident; a terminal child's final report wakes you. ${B} If the user did explicitly ask for one, re-run with --force.`});const f=e.worktree;if(f!==void 0&&f.trim()==="")throw new n({error:"worktree_base_required",message:"--worktree requires a base branch",field:"worktree",next:"Pass an existing local branch that landing can fast-forward."});const m=f?.trim(),P=e.forkFrom,p=e.model?.trim();if(p==="")throw new n({error:"empty_spec",message:"a model spec is required",field:"model",next:`Run \`crtr node new --model -h\` and read the focused contract. ${te}`});const E=e.profile,D=E===void 0?void 0:(await ie(E)).id,w=e.situationalContext?.trim(),C=w!==void 0&&w!==""?w:void 0,A=Z(e.outputSchema),U=A!==null?JSON.stringify(A):null,d=e.deadline;if(d!==void 0){const s=oe(d),x=s===null?Number.NaN:new Date(Date.now()+s).getTime();if(s===null||!Number.isFinite(s)||s<=0||!Number.isFinite(x))throw new n({error:"invalid_deadline",message:"--deadline must be a positive representable duration",field:"deadline",next:"Pass positive integer-unit parts using s, m, h, or d."})}const k=e.outcomeAction,y=e.outcomePayload;if(y!==void 0&&k===void 0)throw new n({error:"outcome_payload_requires_action",message:"--outcome-payload requires --outcome-action",field:"outcome-payload",next:"Pass the declared delivery action with --outcome-action."});let g;if(y!==void 0)try{g=JSON.parse(y)}catch{throw new n({error:"invalid_outcome_payload",message:"--outcome-payload must be valid JSON",field:"outcome-payload",next:"Pass one valid JSON value."})}const v=e.nodeId?.trim();if(r&&m!==void 0)throw new n({error:"worktree_root_conflict",message:"--worktree is mutually exclusive with --root",field:"worktree",next:"Drop either --root or --worktree."});if(t&&!r)throw new n({error:"no_kickoff_requires_root",message:"--no-kickoff is only valid with --root",field:"no-kickoff",next:"Add --root, or drop --no-kickoff and provide a prompt."});if(t&&T==="orchestrator")throw new n({error:"no_kickoff_orchestrator_unsupported",message:"--no-kickoff cannot be combined with --mode orchestrator",field:"no-kickoff",next:"Drop --no-kickoff and provide a prompt, or spawn in base mode."});const b=Y(),I=J??b;q("node_new.create_start",{root:r});const R=de(),M={...l!==void 0?{kind:l}:{},mode:T,cwd:process.cwd(),...u!==void 0&&u!==""?{pin_cwd:u}:{},...S!==void 0?{name:S}:{},prompt:o,...r?{root:!0}:{parent:I??null},...b!==void 0?{creator:b}:{},...h?{root_lifecycle:"resident"}:{},...O?{root_lifecycle:"terminal"}:{},...m!==void 0?{worktree:m}:{},...P!==void 0?{fork_from:P}:{},...p!==void 0?{model:p}:{},...D!==void 0?{profile:D}:{},...C!==void 0?{situational_context:C}:{},...t?{no_kickoff:!0}:{},...U!==null?{output_schema:U}:{},...d!==void 0?{deadline:d}:{},...k!==void 0?{outcome_delivery:{action:k,...g===void 0?{}:{payload:g}}}:{},...v!==void 0&&v!==""?{node_id:v}:{},...r?{prefer_warm:!0}:{},request_key:R};let i;try{i=await F().createNode(M)}catch(s){H(s)||L(s);try{i=await F().createNode(M)}catch(x){fe(x,R)}}q("node_new.node_created",{node:i.node_id});let _={};r&&(_=se(i.node_id,i.cwd,i.name)),r&&q("node_new.viewer_window_opened");const j=!r&&i.frozen_at!==null;return{node_id:i.node_id,name:i.name,...j?{frozen_at:i.frozen_at}:{},window:_.window,session:_.session,follow_up:r?t?"Independent root spawned idle. No kickoff turn ran; hand it off or attach and prompt it. No report wakes you.":"Independent root spawned. You are not subscribed, so its finish does not wake you; hand it off and move on.":j?"Child row exists, but no broker started because capacity is full. It is frozen and will launch when a broker slot frees; its final report wakes you then.":await he(I)}}a(ke,"runNodeCreation");const Re=G({name:"new",description:"create and start a node immediately",whenToUse:"a unit of work is genuinely separable from what you are doing: a bounded subtask you would otherwise grind out inline, several independent units worth running in parallel (usually via one orchestrator child of the matching kind rather than a flat fan-out from you), a scouting pass over unfamiliar code, a change that wants its own git worktree, or an answer you need in a fixed shape rather than as prose",tier:"important",help:{name:"node new",summary:"create a node immediately and start its detached broker",guide:"The prompt is the child\u2019s entire brief: it wakes with this prompt, its persona, and ambient bearings \u2014 none of your conversation carries over. State the outcome and constraints. Pass an implementation plan only when it is already settled or necessary to preserve an approved decision; otherwise, let the child investigate and choose how. Give the reason along with the request: the larger goal this serves and what the child's output enables, so the child resolves ambiguity toward your intent instead of guessing. Point at every document the task depends on (a spec, an explore map, an earlier child's findings) as `[[<node-id>/<name>]]`, or `[[name]]` for a repo, profile or user document; the child reads each with `crtr canvas read` and receives nothing the prompt does not point at. When the report must carry something specific\u2014findings inline, or pointers to documents it wrote\u2014say so in the prompt.",params:me(),output:pe(),outputKind:"object",effects:we()},helpState:{leaf:ne,flags:{profile:re}},run:a(e=>ke(e),"run"),render:a(e=>{const o=e.window?` in window ${e.window}`:"",t=[`Spawned "${e.name}" (${e.node_id})${o}.`];return e.session&&t.push(`- session: ${e.session}`),t.push("",String(e.follow_up)),t.join(`
2
+ `)},"render")});export{he as childFollowUp,Re as nodeNew};
@@ -0,0 +1,2 @@
1
+ export declare const nodeFork: import("../../core/command.js").LeafDef;
2
+ export declare const nodeInspect: import("../../core/command.js").BranchDef;
@@ -0,0 +1,12 @@
1
+ var N=Object.defineProperty;var h=(n,e)=>N(n,"name",{value:e,configurable:!0});import{defineBranch as R,defineLeaf as b}from"../../core/command.js";import{InputError as y}from"../../core/io.js";import{requireScope as P}from"../../core/errors.js";import{isPidAlive as I}from"../../core/canvas/pid.js";import{fullName as k}from"../../core/canvas/labels.js";import{fuzzyMatch as O}from"../../core/tui/fuzzy.js";import{nodeSnapshotLeaf as F}from"../node-snapshot.js";import{nodeTranscriptLeaf as L}from"../node-transcript.js";import{nodeContextLeaf as A}from"../node-context.js";import{cliClient as $,cliCanvasSource as x,rethrowAsCliError as w}from"../api-client.js";import{RemoteCanvasSource as q}from"../../core/canvas/remote-canvas-source.js";import{kindsStateBlock as C,profilesStateBlock as U,resolveProfileViaDaemon as D}from"../profile/daemon-profiles.js";import{focusViewer as z,nodeInPane as E}from"../surface/node/placement.js";const B=b({name:"list",description:"list nodes on the canvas",whenToUse:"you want a flat roster of the nodes on the canvas, sliced by displayed name, status, kind, mode, lifecycle, profile, cwd, and graph scope (--under a node, for that node plus its subscription descendants). The filters AND together. Use `node inspect show` instead to drill into one node and its spine neighbors, `canvas dashboard` for the tree shape, and `canvas attention` to find nodes blocked on the user",help:{name:"node inspect list",summary:"list nodes on the canvas, filtered by any combination of attribute slices and a graph-scope (--under) that AND together",params:[{kind:"flag",name:"status",type:"string",required:!1,constraint:"Filter status (comma-separated for several; accepted values: active, idle, done, dead, canceled). NOTE: `active` means the engine process is live (never closed), NOT that the node is generating right now \u2014 an active node is usually dormant between turns. To tell working-vs-idle, check the pi session-file mtime or CPU, not status."},{kind:"flag",name:"kind",type:"string",required:!1,constraint:"Filter by persona kind (comma-separated for several). The <kinds> list below names every top-level installable kind; a registered sub-kind filters too by exact path even though it is not listed."},{kind:"flag",name:"mode",type:"string",required:!1,constraint:"Filter by mode (comma-separated for several; accepted values: base, orchestrator)."},{kind:"flag",name:"lifecycle",type:"string",required:!1,constraint:"Filter by lifecycle (comma-separated for several; accepted values: terminal, resident)."},{kind:"flag",name:"profile",type:"string",required:!1,constraint:"Filter by profile. On the local canvas, accepts a profile id or manifest name from the <profiles> list below, or a close-enough name that resolves to the nearest profile. Against a remote canvas, pass the exact profile id carried by its node rows."},{kind:"flag",name:"name",type:"string",required:!1,constraint:"Filter by the displayed node label (handle plus generated description) with the canvas browser\u2019s case-insensitive fuzzy subsequence match."},{kind:"flag",name:"cwd",type:"string",required:!1,constraint:"Filter to nodes pinned to this exact cwd (absolute path). Roster is canvas-wide (all cwds) by default."},{kind:"flag",name:"under",type:"string",required:!1,constraint:'Graph scope: restrict to this node and its subscription descendants (the sub-DAG reachable downward \u2014 its reports, theirs, \u2026). This is "one initiative / my subtree". ANDs with every attribute filter above, narrowing any of them to this subtree.'},{kind:"flag",name:"canvas",type:"string",required:!1,constraint:"Read from the named remote canvas target (see `crtr canvas config list`) instead of the local canvas. Overrides `crtr canvas use`."}],output:[{name:"nodes",type:"object[]",required:!0,constraint:"Rows include {node_id, name, kind, mode, lifecycle, status, cwd, profile_id, parent, created}. `name` is the displayed node label searched by --name and shown in canvas views. `profile_id` is the stable profile-directory id (null only for historical no-profile nodes)."}],outputKind:"object",effects:["Read-only: lists nodes through the daemon API."]},helpState:{leaf:h(async()=>(await Promise.all([C(),U()])).join(`
2
+ `),"leaf")},run:h(async n=>{const e=h(r=>{const g=n[r];return g!==void 0&&g!==""?g.split(",").map(v=>v.trim()).filter(v=>v!==""):void 0},"csv"),o=e("status"),s=e("kind"),u=e("mode"),d=e("lifecycle"),f=n.profile,c=n.name,l=n.cwd,i=n.under,p=x({canvasName:n.canvas}),a=p instanceof q?f:f===void 0?void 0:(await D(f)).id;let t;if(i!==void 0&&i!==""){if(await p.getNode(i).catch(w)===null)throw new y({error:"not_found",message:`no node: ${i}`,next:"List nodes with `crtr node inspect list`, then pass a real id to --under."});t=new Set([i,...await p.view(i)])}return{nodes:(await p.listNodes(o!==void 0?{status:o}:void 0).catch(w)).filter(r=>!(t!==void 0&&!t.has(r.node_id)||s!==void 0&&!s.includes(r.kind)||u!==void 0&&!u.includes(r.mode)||d!==void 0&&!d.includes(r.lifecycle)||a!==void 0&&r.profile_id!==a||l!==void 0&&l!==""&&r.cwd!==l)).map(r=>({...r,name:k(r)})).filter(r=>c===void 0||c===""||O(c,r.name))}},"run")}),S=new WeakSet;async function j(n,e){const o=await n.getNode(e.node_id).catch(w);return{node_id:e.node_id,name:o?k(o):"(missing)",kind:o?.kind??"?",status:o?o.intent?`${o.status}/${o.intent}`:o.status:"?",active:e.active}}h(j,"enrichNeighbor");const K=b({name:"show",description:"show a node + its spine neighbors and drill-in pointers",whenToUse:"you want one node in depth \u2014 the debugging entrypoint: a glanceable meta slice, named spine neighbors, a pending-cron count, and exact drill-in paths. Use `node inspect list` for the flat roster or `canvas dashboard` for the whole-tree shape",help:{name:"node inspect show",summary:"show a node in depth \u2014 meta slice, named neighbors, pending-cron count, and drill-in pointers",params:[{kind:"positional",name:"node",required:!0,constraint:"Node id."},{kind:"flag",name:"canvas",type:"string",required:!1,constraint:"Read from the named remote canvas target (see `crtr canvas config list`) instead of the local canvas. Overrides `crtr canvas use`."}],output:[{name:"node",type:"object",required:!0,constraint:"The full node meta (system prompt + every telemetry field). The render surfaces a glanceable slice; `--json` carries the complete dump."},{name:"fault",type:"object",required:!0,constraint:"The active runtime fault projection, or null: {link, kind, retry: {disposition}, since}."},{name:"reports",type:"object[]",required:!0,constraint:"Who this node subscribes to (its reports/down), each enriched with {node_id, name, kind, status, active} \u2014 these are typically its spawned children."},{name:"managers",type:"object[]",required:!0,constraint:"Who subscribes to this node (its managers/up), same enriched shape."},{name:"pending_crons",type:"number",required:!0,constraint:"How many pending crons were created by this node. Inspect with `crtr cron list`."},{name:"paths",type:"object",required:!0,constraint:"Resolved on-disk locations: {context_dir, session_file} \u2014 read these directly to debug. Reports are documents: `crtr canvas read <node>/reports/<name>`."},{name:"follow_up",type:"string",required:!0,constraint:"The concrete next commands to drill deeper."}],outputKind:"object",effects:["Read-only: reads the node, its edges, and pending crons through crtrd."],preview:{suppressOutput:!0}},run:h(async n=>{const e=n.node,o=n.canvas,s=x({canvasName:o});if(s instanceof q){const t=await s.rawShow(e);if(t===null)throw new y({error:"not_found",message:`no node: ${e}`,next:"List nodes with `crtr node inspect list --canvas <name>`."});const m={...t};return S.add(m),m}const u=await s.getNode(e).catch(t=>w(t,"List nodes with `crtr node inspect list`."));if(u===null)throw new y({error:"not_found",message:`no node: ${e}`,next:"List nodes with `crtr node inspect list`."});const d=u,f=$(),c=await Promise.all((await s.subscriptionsOf(e)).map(t=>j(s,t))),l=await Promise.all((await s.subscribersOf(e)).map(t=>j(s,t))),i=(await f.listCrons().catch(w)).filter(t=>t.created_by===e).length,p={context_dir:d.paths.context_dir,...d.pi_session_file!==void 0?{session_file:d.pi_session_file}:{}},a=[];return a.push(`List the documents it owns (reports, plans, notes): \`crtr canvas list --owner ${e}\`.`),a.push(`Browse its context dir (and its subscriptions') in nvim: \`crtr node inspect context ${e}\`.`),p.session_file&&a.push(`Read the raw conversation transcript: ${p.session_file}`),a.push(`On-disk context dir (ls/read directly): ${p.context_dir}`),i>0&&a.push(`It created ${i} pending cron(s): \`crtr cron list\`.`),c.length>0&&a.push(`Drill into a child/report: \`crtr node inspect show <node_id>\` (${c.map(t=>t.node_id).join(", ")}).`),a.push(`Full machine dump (system prompt + all telemetry): \`crtr --json node inspect show ${e}\`.`),{node:d,fault:d.fault??null,reports:c,managers:l,pending_crons:i,paths:p,follow_up:a.join(`
3
+ `)}},"run"),render:h(n=>{const e=n.node,o=String(e.node_id),s=e.pi_pid,d=S.has(n)?"remote (liveness not checked locally)":I(s)?"alive":"dead",f=e.intent?`/${String(e.intent)}`:"",c=n.fault,l=[];l.push(`# ${k(e)} (${o})`);const i=[`- kind/mode/lifecycle: ${e.kind} / ${e.mode} / ${e.lifecycle}`,`- status: ${e.status}${f}`,...c==null?[]:[`- fault: ${String(c.kind)} / ${String(c.retry?.disposition)} since ${String(c.since)}`],`- broker pid: ${s??"(none)"} \u2014 ${d}`,`- cwd: ${e.cwd}`,`- host: ${e.host_kind}`+(e.profile_id?` \xB7 profile ${e.profile_id}`:""),`- cycles: ${e.cycles} \xB7 created ${e.created}`];e.parent&&i.push(`- parent: ${e.parent}`),i.push(`- creator: ${e.creator??"an external process"}`),e.waiting_for&&i.push(`- waiting for message: ${e.waiting_for}`),l.push(i.join(`
4
+ `));const p=h((a,t)=>{if(t.length===0)return`${a}: none`;const m=["node_id","name","kind","status","active"],_=`| ${m.join(" | ")} |`,r=`| ${m.map(()=>"---").join(" | ")} |`,g=t.map(v=>`| ${m.map(T=>String(v[T]??"").replace(/\|/g,"\\|").replace(/\n/g," ")).join(" | ")} |`).join(`
5
+ `);return`${t.length} ${a}:
6
+
7
+ ${_}
8
+ ${r}
9
+ ${g}`},"table");return l.push(p("reports (down \u2014 subscriptions, usually children)",n.reports)),l.push(p("managers (up \u2014 subscribers)",n.managers)),l.push(`${n.pending_crons} pending cron(s)`),l.push(`Drill deeper:
10
+ ${String(n.follow_up)}`),l.join(`
11
+
12
+ `)},"render")}),oe=b({name:"fork",description:"fork a node into an independent idle root with the same conversation and durable context",whenToUse:"a conversation has already accumulated the context you want, and you want a new user-driven branch beside it without sending a prompt or inheriting any graph-management responsibility. This copies the conversation and durable context, then waits for the fork\u2019s first real user message to supply its mandate. Use `node new --fork-from` instead when spawning a managed worker with an immediate task",help:{name:"node fork",summary:"create an independent resident root from a node\u2019s conversation and durable context, with no kickoff prompt or model turn",params:[{kind:"flag",name:"node",type:"string",required:!1,constraint:"Source node id. Mutually exclusive with --pane; one of them is required."},{kind:"flag",name:"pane",type:"string",required:!1,constraint:"tmux pane showing the source node. Mutually exclusive with --node; one of them is required. The prefix menu passes this for you and the new viewer splits beside this pane."}],output:[{name:"node_id",type:"string",required:!0,constraint:"The new independent root id."},{name:"focused",type:"boolean",required:!0,constraint:"True when a new viewer pane opened beside the caller; false outside tmux."},{name:"session",type:"string",required:!1,constraint:"The tmux session containing the new viewer, when one opened."}],outputKind:"object",effects:["Creates a resident base-mode root with the source node\u2019s copied pi conversation, cwd, profile, kind, model override, and durable context files. Top-level initial-prompt.md, yield-message.md, result.json, and the jobs/ folder of background bash jobs are omitted.","Copies no parent, subscriptions, subscribers, children, crons, worktree, situational context, or lifecycle responsibility. Sends no prompt and consumes no model turn; the first real user message becomes the fork\u2019s mandate.","Inside tmux, opens and focuses a surface-attach viewer as an even-horizontal split in the source pane\u2019s window. Outside tmux, the root is still created but no interactive fallback opens."]},run:h(async n=>{P("crtr:act","crtr node fork");const e=n.pane,o=n.node;if(o!==void 0&&e!==void 0)throw new y({error:"conflicting_target",message:"--node and --pane are mutually exclusive",next:"Pass the source node id or its viewer pane, not both."});let s=o;if(s===void 0&&e!==void 0&&(s=E(e)),s===void 0||s==="")throw new y({error:"no_node",message:"no source node was provided or found in the pane",next:"Pass --node <id>, or --pane <pane-id> for a pane showing a node."});const u=await $().forkNode(s).catch(w),d=await z(u.node_id,{cwd:u.cwd,name:u.name,...e!==void 0?{pane:e}:{},newPane:!0});return{node_id:u.node_id,focused:d.focused,session:d.session}},"run"),render:h(n=>{const e=n.focused===!0?` Viewer opened beside the source${n.session?` in session ${n.session}`:""}.`:" No viewer opened because no tmux pane was available.";return`Forked independent idle root ${n.node_id}.${e} It will make no model call until its first real user message.`},"render")}),ie=R({name:"inspect",description:"read one node \u2014 its graph position, conversation, and context dir",whenToUse:"reading everything about ONE node you can name: enumerate the roster (`list`), inspect a node and its spine neighbors (`show`), or browse its on-disk context dir (`context`). The documents a node owns are `crtr canvas list --owner <id>`. Use `canvas dashboard` instead to render the whole tree SHAPE, or `canvas attention` to find which nodes are blocked on the user",help:{name:"node inspect",summary:"read one node (or the roster) \u2014 topology, conversation, and context dir",model:"Inspection is read-only and never revives a node. The roster is the selection surface; one-node metadata points to progressively heavier views: a parsed broker snapshot, rendered conversation, or context browser."},children:[B,K,F,L,A]});export{oe as nodeFork,ie as nodeInspect};
@@ -0,0 +1,4 @@
1
+ export declare const nodeConfig: import("../../core/command.js").LeafDef;
2
+ export declare const nodePromote: import("../../core/command.js").LeafDef;
3
+ export declare const nodeLifecycle: import("../../core/command.js").BranchDef;
4
+ export declare const nodeYield: import("../../core/command.js").LeafDef;
@@ -0,0 +1,4 @@
1
+ var B=Object.defineProperty;var u=(e,t)=>B(e,"name",{value:t,configurable:!0});import{readFileSync as W}from"node:fs";import{envNodeId as D}from"../../shared/env.js";import{defineBranch as H,defineLeaf as E}from"../../core/command.js";import{InputError as r}from"../../core/io.js";import{cliClient as w,getNodeOrNull as K,rethrowAsCliError as y}from"../api-client.js";import{DEFAULT_BASH_NICENESS as F,MAX_BASH_NICENESS as N,writeBashNiceness as X}from"../../core/bash-jobs.js";import{nodeReviveLeaf as Y}from"../node-lifecycle-revive.js";import{kindsStateBlock as C}from"../profile/daemon-profiles.js";import{MODEL_SPEC_FORMS as J}from"../../core/runtime/model-selection.js";import{closePane as z,paneExists as G,respawnPaneSync as V,viewerEnv as Q,viewerPaneOf as Z,nodeInPane as I}from"../surface/node/placement.js";const ee=E({name:"recycle",description:"finish the agent in your pane + recycle it into a fresh root",whenToUse:"you are at an agent's pane and done with it: finish it cleanly and recycle the pane in one move \u2014 push its last message as a final report to everyone waiting on it, mark it done, then boot a fresh crtr root in the same pane to keep working. The hands-on way to end an agent and immediately start over in place. Use `node lifecycle demote` instead to put it on a finishing track IN PLACE (flip terminal, keep it running) without ending it now, `node lifecycle close` to tear a node and its subtree down WITHOUT finishing (no report, revivable), and `push final` when the agent should finish ITSELF from inside its own turn",help:{name:"node lifecycle recycle",summary:"finish the agent in your current pane and recycle the pane \u2014 push its last message as a final report to everyone waiting on it, mark it done, then boot a fresh crtr root in the same pane",params:[{kind:"flag",name:"node",type:"string",required:!1,constraint:"Node to finish. Defaults to the node occupying --pane (or your current pane)."},{kind:"flag",name:"pane",type:"string",required:!1,constraint:"tmux pane id to recycle. Defaults to $TMUX_PANE / your current pane. The Alt+C menu passes this for you."}],output:[{name:"recycled",type:"boolean",required:!0,constraint:"True when the pane was recycled into a fresh root."},{name:"node_id",type:"string",required:!1,constraint:"The finished node."},{name:"new_root",type:"string",required:!1,constraint:"The fresh root node booted into the pane."}],outputKind:"object",effects:["Pushes a final report from the node (fans out to all subscribers) and marks it done.","Kills the agent's pi and respawns a fresh resident root in the same tmux pane."]},run:u(async e=>{const t=e.pane??process.env.TMUX_PANE;let n=e.node;if((n===void 0||n==="")&&(n=I(t)),n===void 0||n==="")throw new r({error:"no_node",message:"no node found in this pane to finish",next:"Pass --node <id>, or run from inside the agent's pane."});const i=await w().getNode(n).catch(f=>y(f,"List nodes with `crtr node inspect list`.")),o=(await w().recycleNode(n).catch(y)).node_id;let h=!1;return t!==void 0&&t!==""&&(h=V({pane:t,cwd:i.cwd,env:Q(),command:"crtr"})),{recycled:h,node_id:n,new_root:o}},"run"),render:u(e=>{if(e.recycled!==!0)return e.new_root?`Finished ${e.node_id} and spawned a fresh broker root (${e.new_root}), but its viewer did not attach \u2014 the new broker did not come up. Re-focus the root to view it.`:`Recycle failed for ${e.node_id??"?"} \u2014 not in tmux, or no agent in this pane.`;const t=[`Recycled the pane \u2014 finished ${e.node_id}.`];return e.new_root&&t.push(`- new root: ${e.new_root}`),t.join(`
2
+ `)},"render")}),ne=E({name:"close",description:"close a node + cascade-cancel its exclusive subtree",whenToUse:"you want to tear a node down WITHOUT finishing it, cascade-cancelling every descendant it exclusively owns: abandoning a line of work, killing a stuck or wrong-turn subtree, clearing a branch you no longer need. A node that never produced substantive assistant output is deleted and cannot be revived; streaming nodes and nodes with an open managed worktree are retained. Other closed nodes keep their pi session and can be revived later (`node lifecycle revive`). Use `node lifecycle recycle` instead to FINISH the agent in your pane with a final report, and `push final` when a worker should end its own work normally (Alt+C \u2192 x)",help:{name:"node lifecycle close",summary:"close a node and cascade-cancel its subtree \u2014 kill its tmux window plus those of every descendant it EXCLUSIVELY owns (down the subscription spine \u2014 the watches each manager holds on its children), mark retained nodes canceled, and leave them a notice they read on resume. A descendant still subscribed to by a manager outside the subtree is left running. A node that never produced substantive assistant output is deleted and cannot be revived; streaming nodes and nodes with an open managed worktree are retained. Other closed nodes keep their pi session and can be revived later (`crtr node lifecycle revive`)",params:[{kind:"flag",name:"node",type:"string",required:!1,constraint:"Node to close. Defaults to the node occupying --pane (or your current pane)."},{kind:"flag",name:"pane",type:"string",required:!1,constraint:"tmux pane id whose node to close. Defaults to $TMUX_PANE / your current pane. The Alt+C menu passes this for you."}],output:[{name:"node_id",type:"string",required:!1,constraint:"The node that was closed \u2014 the cascade root."},{name:"count",type:"number",required:!1,constraint:"How many nodes were closed (root + cascaded descendants)."},{name:"closed_ids",type:"string[]",required:!1,constraint:"All closed node ids, kill order (leaves first, root last)."},{name:"spared",type:"string[]",required:!1,constraint:"Descendants left alive because a manager outside the subtree still subscribes to them."}],outputKind:"object",effects:["Marks retained nodes and their exclusive descendants `canceled` and clears intent (the daemon never revives a canceled node).","Deletes a non-streaming node with no substantive assistant output unless it has an open managed worktree; a deleted node cannot be revived.","Kills each closed node's tmux window; retained nodes keep their pi sessions and canvas edges for a later revive.","Appends a cancellation notice to each retained node's inbox, surfaced on its next resume."]},run:u(async e=>{const t=e.pane??process.env.TMUX_PANE;let n=e.node;if((n===void 0||n==="")&&(n=I(t)),n===void 0||n==="")throw new r({error:"no_node",message:"no node found in this pane to close",next:"Pass --node <id>, or run from inside the agent's pane."});const i=await w().closeNode(n,process.ppid>0?{caller_pid:process.ppid}:{}).catch(d=>y(d,"List nodes with `crtr node inspect list`."));return{node_id:i.root,count:i.closed.length,closed_ids:i.closed,spared:i.spared}},"run"),render:u(e=>{const t=e.spared?.length??0;return`Closed ${e.node_id} and its exclusive subtree \u2014 ${e.count} node(s) closed${t>0?`, ${t} spared (still managed from outside the subtree)`:""}.`},"render")}),j="Model change first: a running broker, including one still starting right after `node new`, switches over its socket; a dormant node persists the durable model override and launch recipe for its next revive.",pe=E({name:"config",description:"reconfigure a node's settings headlessly \u2014 model, lifecycle (terminal/resident), kind, mode, name; repair a missing cwd",whenToUse:"you want to reconfigure a node's settings headlessly after spawn \u2014 swap its model/provider, flip it terminal\u2194resident (interactable), respecialize its kind, switch base\u2194orchestrator mode, or rename it \u2014 without opening its viewer. It also repairs a dormant node whose recorded cwd is gone, starting its next revive in a fresh conversation. The durable attribute setter; reuses the same recipes a revive reads. Use `node promote` for the opinionated self-promotion path, and `node lifecycle` for teardown actions (recycle/close/demote).",help:{name:"node config",summary:"reconfigure a node's settings headlessly \u2014 model, lifecycle, kind, mode, name; repair a missing cwd",params:[{kind:"flag",name:"node",type:"string",required:!1,repeatable:!0,constraint:"Target node id. Defaults to the node in --pane, else CRTR_NODE_ID. Repeat it, or use --nodes-from, to apply a --profile or --cwd change to many nodes; a bulk run reports each node and keeps going past a failure."},{kind:"flag",name:"nodes-from",type:"string",required:!1,constraint:"File of node ids, one per line (blank lines and #-comments ignored), or `-` for stdin. Bulk form of --node; only with --profile or --cwd."},{kind:"flag",name:"pane",type:"string",required:!1,constraint:"tmux pane id to resolve the node from. Defaults to $TMUX_PANE."},{kind:"flag",name:"model",type:"string",required:!1,constraint:"Durable model change. Omit unless the task or governing guidance requires a different model.",focusedHelp:{whenToUse:"Use only when intentionally changing this node\u2019s durable model because the user, task, or governing agent guidance requires a specific provider, model, capability tier, or family. Omit it to keep the current model; do not use it merely to inspect available models or experiment with a live node.",value:`Accepted durable forms: ${J}. A live broker also accepts a free-text substring matched against its loaded model registry; a dormant node cannot resolve a substring and requires a durable form.`,effects:[j,"A concrete provider/id runs exactly that model on every launch and revive. A portable provider/tier, bare tier, or family alias keeps its tier: when that model's provider is rate-limited or rejects its credential, the node moves to the next model in its route: another provider's model at the same tier first, then the configured fallback tier (strong by default)."]}},{kind:"flag",name:"lifecycle",type:"enum",choices:["terminal","resident"],required:!1,constraint:"Set lifecycle headlessly without closing the viewer. terminal owes a final and reaps when done; resident stays interactable while attached or awaiting something live."},{kind:"flag",name:"kind",type:"string",required:!1,constraint:"Persona kind. The <kinds> list below names every top-level installable kind and when to use each; a registered sub-kind is valid too by exact path but not listed here."},{kind:"flag",name:"mode",type:"enum",choices:["base","orchestrator"],required:!1,constraint:"Set persona mode headlessly. base is hands-on; orchestrator holds a roadmap and delegates. orchestrator creates your document `roadmap` if absent."},{kind:"flag",name:"name",type:"string",required:!1,constraint:"Rename the node; if the node has a live window, also rename that viewer window."},{kind:"flag",name:"nice",type:"int",required:!1,constraint:`Scheduler niceness every command this node's bash tool starts at, 0\u2013${N} (default ${F}). ${F} keeps the node's builds and test suites below the daemon, the brokers, the viewers, and the person's own shell; 0 lets them compete on equal terms with everything else on the host; ${N} makes them yield to it. Applies to the node's very next command, foreground and background alike.`},{kind:"flag",name:"listen",type:"string",required:!1,constraint:`The node's default listening configuration, as JSON mapping an event level ("1".."10") to how events at or above it reach the node: interrupt, steer, after-turn, or next-turn (e.g. '{"3":"next-turn"}' \u2014 events of level 3+ wait for its next turn and never wake it). Applies to every watch with no configuration of its own. Pass \`null\` to reset to the global default.`},{kind:"flag",name:"cwd",type:"string",required:!1,constraint:"Replacement launch directory (absolute, existing). Alone, or with --keep-session / --restart. Without --keep-session it is a repair: only a dormant, non-forked node with no open managed worktree whose recorded cwd is gone, and it clears the saved Pi session (next revive starts fresh). When the new path is the same directory as the recorded one (a symlink alias) it relocates and keeps the conversation automatically \u2014 see --keep-session."},{kind:"flag",name:"keep-session",type:"bool",required:!1,constraint:"With --cwd: assert the new path is the SAME directory as the recorded cwd and relocate WITHOUT clearing the Pi session. Needed only when the recorded path is already gone (e.g. the symlink was deleted); while it still exists the daemon verifies by realpath and refuses a different directory. Allowed for live, idle, dormant and finished nodes, forks included. Rewrites the recorded cwd and the cwd in the node's transcript header so a later resume finds it. Refused while the node owns an open managed worktree."},{kind:"flag",name:"rewrite-prefix",type:"string",required:!1,constraint:'Bulk cwd form, `OLD=NEW` (absolute paths): with several nodes, each node\'s recorded cwd that equals OLD or lies beneath it is relocated to the same place under NEW, keeping its session (as --keep-session); nodes whose cwd is elsewhere are reported as failed "not under OLD". Use instead of --cwd when the nodes sit in different subdirectories.'},{kind:"flag",name:"profile",type:"string",required:!1,constraint:"Reassign the node to this profile (id or exact name; must be an active profile of the node's app that defines the node's kind). Works for live, idle, dormant, finished and profile-less (detached) nodes. Used alone, or with --restart."},{kind:"flag",name:"restart",type:"bool",required:!1,constraint:"With --profile, or --cwd on a live node: after the change, SIGTERM the node's live broker so crtrd resumes it from the same transcript (continuing an interrupted turn) with the new profile/cwd. No effect on a node with no live broker."}],output:[{name:"node_id",type:"string",required:!1,constraint:"The reconfigured node, present for ordinary config changes."},{name:"model",type:"string",required:!1,constraint:"The resolved model, present only when --model changed it."},{name:"lifecycle",type:"string",required:!1,constraint:"The new lifecycle, present only when --lifecycle changed it."},{name:"kind",type:"string",required:!1,constraint:"The new kind, present only when --kind changed it."},{name:"mode",type:"string",required:!1,constraint:"The new mode, present only when --mode changed it."},{name:"name",type:"string",required:!1,constraint:"The new name, present only when --name changed it."},{name:"nice",type:"number",required:!1,constraint:"The new bash niceness, present only when --nice changed it."},{name:"listen",type:"object",required:!1,constraint:"The new default listening configuration (null = global default), present only when --listen changed it."},{name:"cwd",type:"string",required:!1,constraint:"The resolved replacement directory, present only after a cwd change."},{name:"session_kept",type:"boolean",required:!1,constraint:"With a cwd change: true when the node still has its Pi session bound (conversation preserved)."},{name:"profile",type:"string",required:!1,constraint:"The node's profile id after --profile."},{name:"bulk",type:"boolean",required:!1,constraint:"True for a multi-node run."},{name:"applied",type:"number",required:!1,constraint:"Bulk: nodes changed (or already in the requested state)."},{name:"failed",type:"number",required:!1,constraint:"Bulk: nodes that errored; the exit code is 1 when any did."},{name:"results",type:"array",required:!1,constraint:"Bulk: one {node_id, ok, error?} per node, in input order."}],outputKind:"object",effects:[j,"Kind, mode, and lifecycle changes rebuild the launch spec from the fresh node meta; setting mode to orchestrator creates your document `roadmap` if absent.","Name changes update the row and, when the node already has a live window, rename that viewer window to the new full name.","A cwd repair (gone recorded cwd, no --keep-session) writes only the lexically resolved cwd and clears saved Pi session pointers; the old transcript and durable node work remain untouched.","A session-keeping cwd relocation (--keep-session, or --cwd naming a symlink alias of the recorded directory) rewrites the recorded cwd and the cwd line in the header of each of the node's transcripts; the Pi session stays bound and the next revive resumes the same conversation. A LIVE broker keeps the old cwd string in its environment and tools until it restarts: it keeps working while the old path exists, so pass --restart (or revive it) BEFORE deleting an old symlink.","A profile reassignment rewrites the node's profile and rebuilds its launch recipe. Profile env, documents delivered at boot, purview and bearings are read at launch, so a LIVE broker keeps the old profile until it next restarts; --restart bounces it now. Dormant or finished nodes simply carry the new profile into their next revive. The node's deadlines and profile pause follow the new profile immediately.","A niceness change is stored with the node's own bash-job state, so it takes effect on the next command without a revive and survives one.","A listen change sets the node's default listening configuration; it never changes which watches it holds.","Every successful change publishes a `configured` event on the node (level 1) naming the changed settings, so its watchers can see it."]},helpState:{leaf:C},run:u(async e=>{const t=e.pane??process.env.TMUX_PANE,n=e.node,i=Array.isArray(n)?n:n===void 0?[]:[n],d=e.nodesFrom;if(d!==void 0){const a=d==="-"?W(0,"utf8"):W(d,"utf8");for(const A of a.split(`
3
+ `)){const b=A.replace(/#.*/,"").trim();b!==""&&i.push(b)}}const o=e.profile,h=e.cwd,f=e.rewritePrefix;if(i.length>1||d!==void 0||f!==void 0){if(i.length===0)throw new r({error:"no_nodes",message:"bulk config needs at least one node",next:"Pass --node ID (repeatable) or --nodes-from FILE|-."});if(o===void 0&&h===void 0&&f===void 0)throw new r({error:"bulk_unsupported",message:"several nodes are accepted only with --profile, --cwd or --rewrite-prefix",next:"Pass --profile <profile>, --cwd <dir> or --rewrite-prefix OLD=NEW with the node list."});let a;if(f!==void 0){const p=f.indexOf("="),c=p<0?"":f.slice(0,p).replace(/\/+$/,""),m=p<0?"":f.slice(p+1).replace(/\/+$/,"");if(!c.startsWith("/")||!m.startsWith("/"))throw new r({error:"bad_rewrite_prefix",message:`--rewrite-prefix must be OLD=NEW with absolute paths: ${f}`,field:"rewrite-prefix",next:"Pass e.g. --rewrite-prefix /Users/me/Code/northlight=/Users/me/Code/crouter-cloud."});a=[c,m]}const A=w(),b=[];for(const p of[...new Set(i)])try{const c=o!==void 0?{profile:o}:{cwd:h??""};if(a!==void 0){const m=(await A.getNode(p)).cwd;if(m!==a[0]&&!m.startsWith(`${a[0]}/`))throw new Error(`cwd ${m} is not under ${a[0]}`);c.cwd=a[1]+m.slice(a[0].length),c.keep_session=!0}e.keepSession===!0&&(c.keep_session=!0),e.restart===!0&&(c.restart=!0),await A.patchConfig(p,c),b.push({node_id:p,ok:!0})}catch(c){let m=c instanceof Error?c.message:String(c);try{y(c)}catch(U){U instanceof Error&&(m=U.message)}b.push({node_id:p,ok:!1,error:m})}const P=b.filter(p=>!p.ok).length;return P>0&&(process.exitCode=1),{bulk:!0,applied:b.length-P,failed:P,results:b}}const _=await M({...e,node:i[0]},t),x=h;if(x!==void 0&&["model","kind","lifecycle","mode","name","nice","listen","profile"].some(a=>e[a]!==void 0))throw new r({error:"cwd_not_exclusive",message:"cwd cannot be combined with another config flag except --keep-session and --restart",field:"cwd",next:"Pass --cwd alone (plus --keep-session / --restart)."});if(o!==void 0&&["model","kind","lifecycle","mode","name","nice","listen"].some(a=>e[a]!==void 0))throw new r({error:"profile_not_exclusive",message:"profile cannot be combined with another config flag except --restart",field:"profile",next:"Pass --profile alone (plus --restart)."});if(e.keepSession===!0&&x===void 0)throw new r({error:"keep_session_needs_cwd",message:"--keep-session only applies with --cwd",field:"keep-session",next:"Pass --cwd <dir> --keep-session."});if(e.restart===!0&&x===void 0&&o===void 0)throw new r({error:"restart_needs_change",message:"--restart only applies with --profile or --cwd",field:"restart",next:"Pass --profile <profile> or --cwd <dir> with --restart."});const S=e.model?.trim();if(S==="")throw new r({error:"empty_spec",message:"a model spec is required",field:"model",next:"Run `crtr node config --model -h` and read the focused contract before retrying."});const O=e.kind?.trim(),T=e.lifecycle?.trim(),q=e.mode?.trim(),L=e.name,v=e.nice,$=e.listen?.trim();let R;if($!==void 0)try{R=JSON.parse($)}catch{throw new r({error:"invalid_listen",message:`--listen is not JSON: ${$}`,field:"listen",next:`Pass a JSON object such as '{"3":"next-turn"}', or null.`})}if(v!==void 0&&(v<0||v>N))throw new r({error:"bad_nice",message:`niceness must be between 0 and ${N}: ${v}`,field:"nice",next:`A negative niceness needs root, so pass 0\u2013${N}.`});if(T!==void 0&&T.toLowerCase()!=="terminal"&&T.toLowerCase()!=="resident")throw new r({error:"bad_lifecycle",message:`invalid lifecycle: ${T}`,field:"lifecycle",next:"Pass `terminal` or `resident`."});if(q!==void 0&&q.toLowerCase()!=="base"&&q.toLowerCase()!=="orchestrator")throw new r({error:"bad_mode",message:`invalid mode: ${q}`,field:"mode",next:"Pass `base` or `orchestrator`."});const s=[],l={};if(S!==void 0&&(l.model=S,s.push("model")),O!==void 0&&(l.kind=O,s.push("kind")),T!==void 0&&(l.lifecycle=T.toLowerCase(),s.push("lifecycle")),q!==void 0&&(l.mode=q.toLowerCase(),s.push("mode")),L!==void 0&&(l.name=L,s.push("name")),x!==void 0&&(l.cwd=x,s.push("cwd"),e.keepSession===!0&&(l.keep_session=!0),e.restart===!0&&(l.restart=!0)),o!==void 0&&(l.profile=o,s.push("profile"),e.restart===!0&&(l.restart=!0)),$!==void 0&&(l.listen=R??null,s.push("listen")),v!==void 0){const a=await w().getNode(_).catch(A=>y(A));if(X(a.paths.context_dir,v),s.push("nice"),s.length===1)return{node_id:_,nice:v}}if(s.length===0)throw new r({error:"no_change",message:"no config changes requested",next:"Pass at least one of --model, --lifecycle, --kind, --mode, --name, --nice, --listen, --cwd."});const g=await w().patchConfig(_,l).catch(a=>y(a,"List nodes with `crtr node inspect list`."));if(x!==void 0)return{cwd:g.cwd,node_id:_,...l.keep_session===!0||g.pi_session_id!=null?{session_kept:g.pi_session_id!=null}:{}};if(o!==void 0)return{node_id:_,profile:g.profile_id??null};const k={node_id:_};return s.includes("model")&&(k.model=g.model_override??S),s.includes("lifecycle")&&(k.lifecycle=g.lifecycle),s.includes("kind")&&(k.kind=g.kind),s.includes("mode")&&(k.mode=g.mode),s.includes("name")&&(k.name=g.name),s.includes("nice")&&(k.nice=v),s.includes("listen")&&(k.listen=l.listen),k},"run"),render:u(e=>{if(e.bulk===!0){const n=e.results;return[`Applied to ${e.applied} node(s), ${e.failed} failed.`,...n.filter(i=>!i.ok).map(i=>` FAILED ${i.node_id}: ${i.error}`)].join(`
4
+ `)}if(e.cwd!==void 0)return`Set cwd of ${e.node_id}: ${e.cwd}${e.session_kept===!0?" (conversation kept)":""}.`;if(e.profile!==void 0)return`Reassigned ${e.node_id} to profile ${e.profile}.`;const t=[];return e.model!==void 0&&t.push(`model=${e.model}`),e.lifecycle!==void 0&&t.push(`lifecycle=${e.lifecycle}`),e.kind!==void 0&&t.push(`kind=${e.kind}`),e.mode!==void 0&&t.push(`mode=${e.mode}`),e.name!==void 0&&t.push(`name=${e.name}`),e.nice!==void 0&&t.push(`nice=${e.nice}`),e.listen!==void 0&&t.push(`listen=${JSON.stringify(e.listen)}`),`Configured ${e.node_id} \u2014 ${t.join(", ")}`},"render")}),me=E({name:"promote",description:"become an orchestrator of a chosen kind",whenToUse:"the remaining work contains independent units that can run in parallel, and the task is large enough that coordinating and integrating them will materially improve intelligence, productivity, or elapsed throughput. Become a long-lived, roadmap-holding orchestrator whose primary job is steering those children across refreshes (`node yield`). Keep sequential or tightly coupled work in base mode even when it spans phases or context windows; spawning one helper does not itself require promotion",tier:"important",help:{name:"node promote",summary:"promote yourself to an orchestrator when worthwhile parallel delegation should make coordination your primary job; task duration, sequential phases, or one helper do not qualify. Mode only \u2014 lifecycle stays as-is unless you pass --resident",params:[{kind:"flag",name:"kind",type:"string",required:!1,constraint:"Specialize as this kind of orchestrator. The <kinds> list below names every top-level installable kind and when to use each; a registered sub-kind is valid too by exact path but not listed here. For an exact composed persona list, use `crtr sys context prompt-review --list --kind <kind>` with the target kind. Defaults to your current kind. Promoting from a generic kind? CHOOSE a concrete one \u2014 it sets the orchestrator persona you revive into."},{kind:"flag",name:"resident",type:"bool",required:!1,constraint:"ALSO flip lifecycle\u2192resident: make the node interactable \u2014 it is never forced to submit a final, and unattended grace parks it after a summary turn instead, leaving it revivable fresh against its goal and roadmap. Omit to stay terminal/orchestrator (delegates + holds a roadmap, but still owes a final up the spine and reaps when done)."},{kind:"flag",name:"model",type:"enum",choices:["ultra","strong"],required:!1,constraint:"Change the model you run on, by capability tier: `ultra` (frontier \u2014 reserve for high-taste judgment or enormous work: speccing, planning something large, e2e-testing something hard to test) or `strong` (opus \u2014 regular dev work). Omit to keep your current model. An orchestrator steering work is never weaker than opus, so these are the only two choices; the change is durable across future revives."},{kind:"flag",name:"node",type:"string",required:!1,constraint:"Node to promote. Defaults to the caller (CRTR_NODE_ID)."}],output:[{name:"node_id",type:"string",required:!0,constraint:"The promoted node."},{name:"kind",type:"string",required:!0,constraint:"The kind it now orchestrates as."},{name:"model",type:"string",required:!1,constraint:"The model tier it now runs on, present only when you changed it with --model."},{name:"lifecycle",type:"string",required:!0,constraint:'"resident" if you passed --resident, else unchanged (typically "terminal").'},{name:"roadmap_written",type:"boolean",required:!0,constraint:"True if the `roadmap` document was created by this call."},{name:"roadmap_ref",type:"string",required:!0,constraint:"Your roadmap document (`<node>/roadmap`) \u2014 author your plan with `crtr doc edit roadmap`."},{name:"goal_path",type:"string",required:!0,constraint:"Absolute path to your goal doc (context/initial-prompt.md) \u2014 the mandate you were spawned with."}],outputKind:"object",effects:["Flips mode\u2192orchestrator + kind\u2192chosen (lifecycle unchanged unless --resident, which also flips lifecycle\u2192resident); --model durably sets the model; rewrites the launch spec to that kind's orchestrator persona; creates your document `roadmap` (rule `on: boot`, `deliver: content`) if absent.","The next model request is gated on appending and persisting your new-role guidance. If a fresh context starts first, its rebuilt baseline carries the new role."]},helpState:{leaf:C},run:u(async e=>{const t=e.node??D();if(t===void 0||t==="")throw new r({error:"no_node",message:"no node to promote (set CRTR_NODE_ID or pass --node)",next:"Run from inside a node, or pass --node <id>."});const n=e.kind,i=e.model,d=e.resident===!0,o=await w().promoteNode(t,{...n!==void 0?{kind:n}:{},...d?{resident:!0}:{},...i!==void 0?{model:i}:{}}).catch(h=>y(h));return{node_id:o.node_id,kind:o.kind,lifecycle:o.lifecycle,...i!==void 0&&o.model_override!=null?{model:o.model_override}:{},roadmap_written:o.roadmap_written??!1,roadmap_ref:o.roadmap_ref??"",goal_path:o.goal_path??""}},"run")});async function M(e,t){let n=e.node;if((n===void 0||n==="")&&(n=I(t)),(n===void 0||n==="")&&(n=D()),n===void 0||n==="")throw new r({error:"no_node",message:"no node (set CRTR_NODE_ID, pass --node, or run from the agent's pane)",next:"Run from inside a node, pass --node <id>, or --pane <pane>."});if(await K(n)===null)throw new r({error:"not_found",message:`no node: ${n}`,next:"List nodes with `crtr node inspect list`."});return n}u(M,"resolveLifecycleNode");const te=E({name:"demote",description:"demote a node to terminal in place; it stays focused and running but now owes a final; --detach also closes its viewer (broker keeps running off-screen)",whenToUse:"you are watching a resident/interactive node and want to put it on a finishing track WITHOUT disturbing it: flip it terminal IN PLACE \u2014 it keeps its viewer and your focus, keeps running, but now owes a final report up the spine and reaps when done. The friendly counterpart to `node promote`. You can also let go entirely and close its viewer so the agent finishes off-screen on its broker. Use `node lifecycle recycle` instead to FINISH it now and reboot a fresh root in its pane, and `node config --lifecycle` for the orthogonal low-level flip (incl. terminal\u2192resident)",help:{name:"node lifecycle demote",summary:"demote a node to terminal IN PLACE \u2014 it stays focused and running but now owes a final up the spine and reaps when done. Pairs with `node promote` (mode\u2191); `--detach` also closes its viewer (the broker engine keeps running off-screen)",params:[{kind:"flag",name:"node",type:"string",required:!1,constraint:"Node to demote. Defaults to the node in --pane, else the caller (CRTR_NODE_ID)."},{kind:"flag",name:"pane",type:"string",required:!1,constraint:"tmux pane id whose node to demote, when --node is omitted. Defaults to $TMUX_PANE. The Alt+C menu passes this for you."},{kind:"flag",name:"detach",type:"bool",required:!1,constraint:"After flipping terminal, stop foregrounding the agent by closing its viewer pane. The broker engine keeps generating off-screen and \u2014 now terminal \u2014 pushes a final up the spine when done; a later `focus` reattaches a viewer. The Alt+C \u2192 D move."}],output:[{name:"node_id",type:"string",required:!0,constraint:"The demoted node."},{name:"detached",type:"boolean",required:!1,constraint:"True when --detach closed the agent's viewer pane (broker keeps running)."}],outputKind:"object",effects:["Flips the node's lifecycle\u2192terminal and rebuilds its launch spec so a future revive boots terminal \u2014 it stays focused and running, now owing a final up the spine.","The next model request is gated on appending and persisting the role transition. If a fresh context starts first, its rebuilt baseline carries the new lifecycle.","With --detach: closes the agent's viewer pane WITHOUT touching the broker engine \u2014 it keeps generating off-screen, reconnectable by a later `focus`."]},run:u(async e=>{const t=e.pane??process.env.TMUX_PANE,n=await M(e,t),i=await w().patchConfig(n,{lifecycle:"terminal"}).catch(o=>y(o));let d=!1;if(e.detach===!0){const o=Z(n)??t;o!==void 0&&o!==""&&G(o)&&(d=z(o))}return{node_id:i.node_id,detached:d}},"run"),render:u(e=>`Demoted ${e.node_id} \u2014 lifecycle now terminal (in place)${e.detached===!0?", viewer closed (broker still running off-screen)":""}.`,"render")}),ge=H({name:"lifecycle",description:"lifecycle actions \u2014 recycle, close, demote, or revive a node",whenToUse:"you are ending, transitioning, or bringing back one node you can name: finish the agent in your pane and reboot a fresh root (`recycle`), tear a node + its exclusive subtree down without finishing (`close`), flip a node onto a finishing track in place (`demote`), or bring a dormant node back (`revive`). To merely SET the terminal/resident attribute headlessly use `node config --lifecycle`; to FINISH from inside a node's own turn use `crtr push final`; to mass-reconnect EVERY disconnected node at once use `canvas revive --all`.",help:{name:"node lifecycle",summary:"end, transition, or revive a node \u2014 recycle the pane, close + cascade-cancel a subtree, demote to terminal in place, or revive a dormant node",model:"Lifecycle actions preserve or replace an existing node identity. Finishing is permanent, closing is revivable, demotion changes the completion obligation in place, and revival relaunches a dormant broker. Teardown cascades only through descendants exclusively managed by the affected subtree."},children:[ee,ne,te,Y]}),we=E({name:"yield",description:"refresh your context, same mode, against your roadmap or goal",whenToUse:"your context is filling but the mandate remains; refresh in the same mode, or combine the refresh with promotion when meaningful independent work can run in parallel and coordinating it should become your primary job",help:{name:"node yield",summary:"request a fresh context window against your roadmap or original goal; mode stays unchanged unless --promote is passed",guide:"The yield aborts your turn the instant this command returns: no text or tool call you planned after it will run. So anything the user is owed \u2014 an answer, a status \u2014 must already be a visible message in the conversation before you call it; never plan to reply after yielding. Before invoking: (1) If you hold a document `roadmap`, bring it current (`crtr doc edit roadmap`). It, not the yield note, carries your task into the fresh window. It has four sections: Goal (its first line is also the roadmap\u2019s preview, so set it with `--preview` whenever the goal changes), Exit criteria, Where things stand, and Working set. Keep it at your own level of abstraction. Detail below your level belongs to the node or document that holds it: link to it, don\u2019t copy it. Where things stand is present tense; delete what is done instead of marking it. Name units by what they are and how they fit, never by child node id or status: your bearings already list your children with their status. Working set holds `[[links]]`. Their previews load with the roadmap, so write no note beside a link. When a unit lands, delete its links: its evidence belongs in its report. (2) Give content its own document when it lives on a different timescale from the roadmap (exploration that outlives the current work), goes to a different reader (a brief for a child), or matters only when something specific happens. Link each such document from the Working set. Anything you had to re-derive in this window that a future window will need again belongs in a document: one you own for this task, `--owner repo` for lessons that would help others in the repo. A document that only points at other documents is not worth the extra hop. (3) Actions waiting on one specific event (\u201Cwhen X reports, send Y first\u201D) go in the yield note, not the roadmap. They are spent once they fire. (4) Send any pending human question; asks already in flight survive the refresh.",params:[{kind:"flag",name:"promote",type:"bool",required:!1,constraint:"Also become an orchestrator as you refresh. Pass only when (1) the remaining work contains independent units that can run in parallel and (2) the task is large enough that parallel execution will materially improve intelligence, productivity, or elapsed throughput after coordination and synthesis. Task length, context exhaustion, sequential phases, or one helper are not enough; keep hands-on work in base mode and yield again as needed. Promote when coordinating and integrating children becomes your primary job. Already an orchestrator? This is not an error: your mode stays orchestrator and a missing roadmap is seeded."},{kind:"flag",name:"kind",type:"string",required:!1,constraint:"Respecialize as you refresh. The <kinds> list below names every top-level available kind and when to choose it; a registered sub-kind is valid too by exact path but not listed here. Defaults to your current kind. With --promote it sets the orchestrator kind you become; without --promote it changes the kind while preserving your current mode."},{kind:"flag",name:"model",type:"enum",choices:["ultra","strong"],required:!1,constraint:"Change the model your fresh revive runs on, by capability tier: `ultra` (frontier \u2014 reserve for high-taste judgment or enormous work: speccing, planning something large, e2e-testing something hard to test) or `strong` (opus \u2014 regular dev work). Omit to keep your current model. A node steering work is never weaker than opus, so these are the only two choices; the change is durable across future revives."},{kind:"stdin",name:"message",required:!0,constraint:"A note to your future self \u2014 what you just tried, where things stand, the first move on waking, and any action waiting on a specific event: enough to continue efficiently, no more. Never describe a reply as sent unless it is visible in the conversation above this call. Your task and its state belong in the roadmap. Surfaced as <yield-message> in the next revive. Pass as a positional or pipe via heredoc."}],output:[{name:"node_id",type:"string",required:!0,constraint:"The yielding node."},{name:"model",type:"string",required:!1,constraint:"The model tier your fresh revive will run on, present only when you changed it with --model."}],outputKind:"object",effects:["Aborts your current turn as soon as this command returns \u2014 nothing after it runs \u2014 then the daemon revives the node fresh.","--kind and/or --model durably reshape the node (kind respecialization, model change) before the refresh-revive; --promote additionally flips mode\u2192orchestrator and creates your document `roadmap` \u2014 mode is otherwise left exactly as it was."]},helpState:{leaf:C},run:u(async e=>{const t=D();if(t===void 0||t==="")throw new r({error:"no_node",message:"no node to yield (CRTR_NODE_ID unset)",next:"Run from inside a node."});const n=e.kind,i=e.model,d=e.promote===!0,o=typeof e.message=="string"?e.message.trim():"";if(o==="")throw new r({error:"empty_message",message:"a yield message is required (stdin or positional)",next:"Pass a note to your future self as an argument or pipe it on stdin."});const h=await w().yieldNode(t,{note:o,...n!==void 0?{kind:n}:{},...i!==void 0?{model:i}:{},...d?{promote:!0}:{}}).catch(f=>y(f));return{node_id:h.node_id,...i!==void 0&&h.model_override!=null?{model:h.model_override}:{}}},"run")});export{pe as nodeConfig,ge as nodeLifecycle,me as nodePromote,we as nodeYield};
@@ -0,0 +1 @@
1
+ export declare const nodeMessage: import("../../core/command.js").BranchDef;
@@ -0,0 +1 @@
1
+ var _=Object.defineProperty;var i=(e,n)=>_(e,"name",{value:n,configurable:!0});import{envNodeId as y}from"../../shared/env.js";import{defineBranch as C,defineLeaf as w}from"../../core/command.js";import{InputError as o}from"../../core/io.js";import{requireScope as N}from"../../core/errors.js";import{OUTPUT_SCHEMA_CONSTRAINTS as R,OUTPUT_SCHEMA_TRANSPORT as P,parseOutputSchemaValue as E}from"../../core/runtime/structured-output.js";import{cliClient as A,getNodeOrNull as O,rethrowAsCliError as $}from"../api-client.js";function D(e,n){const t=e[n];if(t!==void 0&&(typeof t!="string"||t.trim()==="")){const r=n.replace(/[A-Z]/g,a=>`-${a.toLowerCase()}`);throw new o({error:"empty_discriminant",message:`--${r} must contain non-whitespace text`,received:typeof t=="string"?t:String(t),field:r,next:`Pass a non-empty --${r} value, or omit the flag.`})}}i(D,"requireNonBlankDiscriminant");async function U(e,n){const t=e.to?.trim(),r=e.self===!0,a=t!==void 0&&t!=="";if(a===r)throw new o({error:"bad_target",message:a&&r?"--to and --self are mutually exclusive":n?"no target given \u2014 the message body is not a node id":"exactly one of --to or --self is required",field:a?void 0:"to",next:a?"Pass --to <node-id> or --self.":n?"Pass the node id with --to <node-id> and provide the message body as a positional argument or on stdin, or use --self.":"Pass --to <node-id> or --self."});if(r){const s=y();if(s===void 0||s==="")throw new o({error:"no_node",message:"no node to target with --self (CRTR_NODE_ID unset)",next:"Run from inside a node, or pass --to <node-id>."});return{targetId:s,isSelf:!0}}if(await O(t)===null)throw new o({error:"not_found",message:`no node: ${t}`,field:"to",next:"List nodes with `crtr node inspect list`."});return{targetId:t,isSelf:!1}}i(U,"resolveMsgTarget");function v(){return[{name:"revived",type:"boolean",required:!1,constraint:"True when this request synchronously revived the target; ordinary durable delivery to an active or idle dormant target queues lifecycle revival instead."},{name:"guidance",type:"string",required:!0,constraint:"Immediate action confirmation."}]}i(v,"messageOutput");function b(e){const n=e.to?.trim();if(!(n!==void 0&&n!==""||e.self===!0))return{message:"no target given \u2014 the positional argument is the message body, not a node id",field:"to",next:"Pass the node id with --to <node-id> and pipe the message body on stdin, or use --self."}}i(b,"missingMessageTargetForBody");function I(){return[{kind:"stdin",name:"body",required:!1,constraint:"Visible message body. Required unless --situational-context is supplied.",positionalStdinConflict:b},{kind:"flag",name:"to",type:"string",required:!1,constraint:"Target an existing node by id. Exactly one of --to or --self is required."},{kind:"flag",name:"self",type:"bool",required:!1,constraint:"Target the calling node. Exactly one of --to or --self is required."},{kind:"flag",name:"tier",type:"enum",choices:["critical","urgent","normal","deferred"],required:!1,default:"normal",constraint:"Delivery urgency. Deferred never wakes an idle node, except a terminal one, which has no later cycle to read it on and is raised to urgent."},{kind:"flag",name:"situational-context",type:"string",required:!1,constraint:"Non-empty hidden ambient context delivered beside the message, or alone."},{kind:"flag",name:"reopen",type:"bool",required:!1,constraint:"Re-task the target: commits it resident and clears any finalization latch before delivery. Valid for live, parked, and finalized targets."}]}i(I,"messageSendParams");function M(){return[{kind:"stdin",name:"body",required:!1,constraint:"Visible message body. The schema alone is a complete request.",positionalStdinConflict:b},{kind:"flag",name:"to",type:"string",required:!1,constraint:"Target an existing node by id. Exactly one of --to or --self is required."},{kind:"flag",name:"self",type:"bool",required:!1,constraint:"Target the calling node. Exactly one of --to or --self is required."},{kind:"flag",name:"tier",type:"enum",choices:["critical","urgent","normal"],required:!1,default:"normal",constraint:"Delivery urgency. Every accepted tier queues lifecycle revival for an active or idle dormant target because the request must be answered; deferred is rejected for that reason."},{kind:"flag",name:"output-schema",type:"string",required:!0,constraint:`JSON Schema the result must satisfy. ${P} The target answers with \`crtr push result\` (or declines with \`crtr push result --decline "<reason>" --code <token>\`), then keeps working. ${R}`},{kind:"flag",name:"situational-context",type:"string",required:!1,constraint:"Non-empty hidden ambient context delivered beside the message, or alone."},{kind:"flag",name:"reopen",type:"bool",required:!1,hidden:!0,constraint:"Clear a finalized target latch before delivery or fresh revive."}]}i(M,"messageRequestParams");async function x(e){N("crtr:act","crtr node message");const n=e.situationalContext!==void 0,t=e.situationalContext?.trim();if(n&&t==="")throw new o({error:"empty_situational_context",message:"--situational-context must contain non-whitespace text",field:"situational-context",next:"Pass non-whitespace text, or omit --situational-context."});const r=e.body,a=r!==void 0?r.trim():void 0,m=a!==void 0&&a!=="",{targetId:s}=await U(e,m),u=e.tier,q=u!==void 0&&u!=="",f=E(e.outputSchema),c=f!==null?JSON.stringify(f):null,g=t!==void 0&&t!=="",k=e.reopen===!0;if(c!==null&&u==="deferred")throw new o({error:"output_schema_deferred_tier",message:"--output-schema cannot combine with --tier deferred because the target must answer",field:"tier",next:"Use normal, urgent, or critical tier, or drop --output-schema."});const h=y(),T=A();if(!m&&!g&&c===null)throw new o({error:"empty_body",message:"a message body is required unless --output-schema or --situational-context is supplied",field:"body",next:"Pass the message on stdin, or supply one of the documented alternatives."});const p=q?u:"normal",d=await T.sendMessage(s,{body:a??"",tier:p,...k?{reopen:!0}:{},...g?{situational_context:t}:{},...c!==null?{output_schema:c}:{},...h!==void 0?{from:h}:{}}).catch($);if(d.wake_failed!==void 0){const l=d.wake_failed;return{revived:!1,guidance:`Accepted but NOT delivered to a running node \u2014 waking the target failed (${l.error}): ${l.message}${l.next===void 0?"":` ${l.next}`} The message is queued durably (${l.message_id}); do not resend it.`}}const S=d.revived?"Delivered \u2014 the dormant target was revived to receive it.":p!=="deferred"?"Delivered.":d.delivered_tier===void 0?"Delivered \u2014 held for the target's next natural cycle; not revived.":"Delivered \u2014 the target is terminal and takes no later cycle, so it was raised to urgent rather than held.";return{revived:d.revived,guidance:S}}i(x,"runMessageEngine");const j=w({name:"send",description:"deliver an inbox message to an existing node immediately",whenToUse:"a target chosen with `--to <node-id>` or `--self` should have information or new direction now \u2014 steering a worker mid-task, handing over a finding it needs, correcting a wrong turn, or waking a dormant node with fresh work. The target reads it and decides what to do with it. Use `node message request` instead when you need an answer back in a shape you specify, and `node subscription add` when the target should keep receiving this node\u2019s pushes rather than this one delivery",help:{name:"node message send",summary:"deliver an inbox message to an existing node immediately",params:I(),output:v(),outputKind:"object",effects:["Appends one inbox entry. Critical, urgent, and normal delivery queues lifecycle revival for an active or idle dormant target; deferred waits for its next natural cycle.","--reopen commits the target resident and clears any finalization latch before delivery, allowing it to take a new mandate; it is valid for live, parked, and finalized targets. Without it, a finalized target rejects delivery before an inbox entry is appended or a revive is attempted."]},run:i(e=>x(e),"run"),render:i(e=>String(e.guidance),"render")}),z=w({name:"request",description:"deliver an immediate typed-output request to an existing node",whenToUse:"a target chosen with `--to <node-id>` or `--self` must hand back one answer in a shape you fix \u2014 a choice among options, a structured extraction, a verdict your own logic will branch on \u2014 or must be held to answering at all before it goes quiet. Use `node message send` instead when prose in the target\u2019s own judgment is enough, and `node new --output-schema` when no node holds the context yet and the work needs a fresh agent",help:{name:"node message request",summary:"deliver an immediate typed-output request to an existing node",params:M(),output:v(),outputKind:"object",effects:["Installs the one-off output schema before appending the request."]},run:i(e=>(D(e,"outputSchema"),x(e)),"run"),render:i(e=>String(e.guidance),"render")}),G=C({name:"message",description:"deliver immediate inbox work to an existing node",whenToUse:"you need one immediate delivery: send ordinary information, or request one schema-constrained result",help:{name:"node message",summary:"deliver one immediate inbox entry to an existing node",model:"Both children append one inbox entry to a node that already exists, targeted with `--to <node-id>` or `--self`, and may revive it if it is dormant. They differ in what the delivery obligates. An ordinary message obligates nothing: the target reads it and acts however it judges best. A request installs a one-off output schema and holds the target awake and owing until it answers; the answer is validated against the schema, written to the target\u2019s result file, and pushed as an update report to the TARGET\u2019S subscribers, so subscribe to it first if the answer has to reach you. Neither child creates that standing relationship \u2014 a durable delivery edge is `node subscription`, and work that needs a fresh agent is `node new`."},children:[j,z]});export{G as nodeMessage};
@@ -0,0 +1,2 @@
1
+ export declare const nodeOutcomeDelivery: import("../../core/command.js").LeafDef;
2
+ export declare const nodeOutcome: import("../../core/command.js").BranchDef;
@@ -0,0 +1,4 @@
1
+ var l=Object.defineProperty;var n=(e,t)=>l(e,"name",{value:t,configurable:!0});import{isSafeNodeId as c}from"../../api/index.js";import{defineBranch as m,defineLeaf as a}from"../../core/command.js";import{InputError as i}from"../../core/io.js";import{cliClient as d,rethrowAsCliError as s}from"../api-client.js";function u(e){const t=typeof e.node=="string"?e.node.trim():"";if(!c(t))throw new i({error:"invalid_node",message:`invalid node id: ${t===""?"(empty)":t}`,field:"node",next:"Pass the exact node id returned when the node was created."});return t}n(u,"nodeId");function o(e){return e==null?"none":JSON.stringify(e)}n(o,"renderedJson");const p=a({name:"read",description:"read or briefly await a node\u2019s durable terminal outcome",whenToUse:"an external caller needs the durable result or failure reason for one node, optionally blocking for its terminal outcome without consuming or claiming it",help:{name:"node outcome read",summary:"read a node\u2019s durable outcome, optionally awaiting it for up to 25 seconds",params:[{kind:"positional",name:"node",required:!0,constraint:"Node id whose durable outcome to read."},{kind:"flag",name:"wait",type:"int",required:!1,default:0,constraint:"Whole seconds to await settlement: 0\u201325. Omit or use 0 to return the current pending/settled state immediately."}],output:[{name:"node_id",type:"string",required:!0,constraint:"The requested node id."},{name:"state",type:"string",required:!0,constraint:"`pending` while the node has no terminal outcome, otherwise `settled`."},{name:"outcome",type:"object",required:!0,constraint:"The durable result/failure record when settled \u2014 kind/reason, revision, settled time, report basename/path, structured result, failure detail, and `declined` ({ reason, code, retryable } for a failure with reason `declined`, else null) \u2014 otherwise null."},{name:"node_status",type:"string",required:!0,constraint:"The node status observed with the outcome."},{name:"deadline_at",type:"string",required:!0,constraint:"The absolute spawn deadline, or null when unbounded."}],outputKind:"object",effects:["Read-only: calls the daemon\u2019s replay-safe GET outcome route. With --wait, the daemon polls the durable row for no more than 25 seconds."]},run:n(async e=>{const t=u(e),r=e.wait;if(typeof r!="number"||!Number.isInteger(r)||r<0||r>25)throw new i({error:"invalid_wait",message:"--wait must be an integer between 0 and 25 seconds",field:"wait",received:r,next:"Pass a whole number from 0 through 25, or omit --wait to poll immediately."});return{...await d().getNodeOutcome(t,{waitSeconds:r}).catch(s)}},"run"),render:n(e=>{const t=e.outcome;return t===null?[`<outcome state="pending" node_id="${e.node_id}">`,`- node status: ${e.node_status}`,`- deadline: ${e.deadline_at??"none"}`,"</outcome>"].join(`
2
+ `):[`<outcome kind="${t.kind}" reason="${t.reason}" state="settled" node_id="${e.node_id}" revision="${t.revision}">`,`- final report: ${t.final_report===null||t.final_report===void 0?"none":`${t.final_report} (read with \`crtr canvas read ${t.final_report}\`)`}`,`- structured result: ${o(t.structured_result)}`,`- declined: ${o(t.declined)}`,`- failure detail: ${o(t.detail)}`,`- settled at: ${t.settled_at}`,`- node status: ${e.node_status}`,`- deadline: ${e.deadline_at??"none"}`,"</outcome>"].join(`
3
+ `)},"render")}),h=a({name:"delivery",description:"inspect a node outcome-delivery registration",whenToUse:"you need the durable state of the local action target registered to receive a node\u2019s outcome",help:{name:"node outcome delivery",summary:"inspect the registered outcome-delivery target for one node",params:[{kind:"positional",name:"node",required:!0,constraint:"Node id whose outcome-delivery registration to inspect."}],output:[{name:"node_id",type:"string",required:!0,constraint:"The node whose outcome is delivered."},{name:"state",type:"string",required:!0,constraint:"`armed`, `pending`, `running`, `accepted`, or `permanent_failed`."},{name:"action",type:"string",required:!0,constraint:"The resolved configured action name."},{name:"attempt",type:"number",required:!0,constraint:"How many delivery attempts have been claimed."},{name:"next_attempt_at",type:"string",required:!0,constraint:"ISO-8601 time of the next retry, or null before a retry is scheduled (including while armed)."},{name:"accepted_at",type:"string",required:!0,constraint:"When the target accepted the document, or null."},{name:"permanent_failed_at",type:"string",required:!0,constraint:"When the target permanently rejected the document, or null."},{name:"last_failure",type:"object",required:!0,constraint:"The most recent retryable or permanent delivery failure, or null."},{name:"created_at",type:"string",required:!0,constraint:"When this delivery registration was created."},{name:"updated_at",type:"string",required:!0,constraint:"When this delivery registration was last updated."}],outputKind:"object",effects:["Read-only: calls the daemon outcome-delivery inspection route."]},run:n(async e=>{const t=u(e);return{...await d().getOutcomeDelivery(t).catch(s)}},"run"),render:n(e=>[`<outcome-delivery state="${e.state}" node_id="${e.node_id}">`,`- attempt: ${e.attempt}`,`- next retry: ${e.next_attempt_at??"none"}`,`- last failure: ${o(e.last_failure)}`,`- action: ${e.action}`,`- accepted at: ${e.accepted_at??"none"}`,`- permanently failed at: ${e.permanent_failed_at??"none"}`,`- registered at: ${e.created_at}`,`- updated at: ${e.updated_at}`,"</outcome-delivery>"].join(`
4
+ `),"render")}),b=m({name:"outcome",description:"read a node\u2019s terminal outcome or its delivery state",whenToUse:"you need the durable terminal result/failure of one node, or the state of its registered outcome-delivery target",help:{name:"node outcome",summary:"read one node\u2019s durable terminal outcome or its delivery registration",model:"Outcome reads never consume the terminal record. Read returns the durable result or failure and can wait briefly for settlement; delivery inspects the separate action-registration attempt state."},children:[p,h]});export{b as nodeOutcome,h as nodeOutcomeDelivery};
@@ -0,0 +1,2 @@
1
+ import type { SlashSpec } from '../../core/command.js';
2
+ export declare const pyramidSlash: SlashSpec;
@@ -0,0 +1,2 @@
1
+ const e={name:"pyramid",description:"Explain a topic as a live-building Minto pyramid diagram, backed by parallel explore agents.",argumentHint:"<topic to explain>",body:["# Pyramid explanation","","Explain **$ARGUMENTS** as a *pyramid*: lead with the answer, support it with a few key pillars, ground each pillar in evidence. You build this as a LIVE termrender diagram that fills in as parallel research lands \u2014 the user watches the skeleton grow into a complete picture.","","## The pyramid (Minto principle)","- **Apex** \u2014 ONE crisp sentence: the single governing answer/claim, the thing worth remembering.","- **Pillars** \u2014 2\u20134 MECE supporting arguments that together prove the apex.","- **Base** \u2014 concrete evidence under each pillar (mechanisms, `file:line` refs, numbers, sources).","","Top-down: the reader gets the conclusion first, then descends for as much support as they want.","","## Workflow","","1. **Frame it.** Restate the topic in one line and commit to a *working* apex hypothesis (you will sharpen it). Name the 2\u20134 pillars you expect to need.","","2. **Scaffold the live diagram FIRST.** Write the termrender skeleton below to `./pyramid-<slug>.md` (apex = your hypothesis, pillars = titles, every base entry marked `[?]` pending). Then open it live so the user watches it build:"," ```bash"," termrender pane open ./pyramid-<slug>.md --watch # detached tmux side-pane; re-renders on every save"," ```"," Not in tmux? Tell the user to run `termrender doc watch ./pyramid-<slug>.md` in another terminal, then continue regardless.","","3. **Investigate in parallel \u2014 do not block.** Fan out ONE explore agent per pillar/unknown AND dig into what you can answer yourself, concurrently:"," ```bash",' crtr node new "Investigate: <focused question for this pillar>. Report findings with sources / file:line refs." --kind explore'," ```"," You auto-subscribe; each finish wakes you. Never poll or wait \u2014 kick them all off, then start filling in what you already know.","","4. **Live-update as findings land.** Every time you learn something \u2014 your own digging or an explore report \u2014 EDIT the diagram file: flip a `[?]` to `[x]` (or `[!]` for a caveat/risk), add evidence under the right pillar, sharpen or rewrite the apex, drop a pillar that did not hold. Each save re-renders the pane. The diagram visibly grows skeleton \u2192 complete.","","5. **Land it.** When the apex is one crisp sentence, the pillars are MECE, and the base is concrete, do a final pass for accuracy, then give the user a 3\u20134 sentence spoken summary that mirrors apex \u2192 pillars. Tell them the diagram file path.","","## termrender skeleton (write this verbatim, then keep editing it)","","Apex panel on top, a divider, then the pillars as a row of boxes below \u2014 a literal pyramid: 1 claim over N supports.","```markdown",':::panel{title="<TOPIC>" color="cyan"}',"**<one-line apex answer \u2014 your governing claim>**",":::","",':::divider{label="why"}',":::","","::::::columns",':::::col{width="33%"}','::::panel{title="Pillar 1 \u2014 <claim>" color="green"}',":::tree","evidence A [x]","evidence B [?]",":::","::::",":::::",':::::col{width="33%"}','::::panel{title="Pillar 2 \u2014 <claim>" color="green"}',":::tree","evidence C [?]",":::","::::",":::::",':::::col{width="34%"}','::::panel{title="Pillar 3 \u2014 <claim>" color="green"}',":::tree","evidence D [?]",":::","::::",":::::","::::::","```","","**Nesting rule (termrender will reject the file otherwise): an OUTER directive needs strictly MORE colons than the directive nested inside it.** Hence `::::::columns` (6) wraps `:::::col` (5) wraps `::::panel` (4) wraps `:::tree` (3). Every block closes with a bare run of its OWN colon count on its own line. Run `termrender doc check ./pyramid-<slug>.md` after each edit \u2014 if it errors, fix the colon counts before re-saving.","","Markers inside a tree: `[x]` \u2192 \u2714 confirmed, `[!]` \u2192 \u26A0 caveat/risk; `[?]` is not a marker and stays literal \u2014 use it for still-pending. Write structure only \u2014 termrender draws every box, border, and guide line; never hand-draw ASCII. Keep the apex to one sentence; push all detail into the base."].join(`
2
+ `)};export{e as pyramidSlash};
@@ -0,0 +1 @@
1
+ export declare const nodeSubscription: import("../../core/command.js").BranchDef;
@@ -0,0 +1 @@
1
+ var b=Object.defineProperty;var r=(e,s)=>b(e,"name",{value:s,configurable:!0});import{envNodeId as h}from"../../shared/env.js";import{defineBranch as p,defineLeaf as n}from"../../core/command.js";import{InputError as o}from"../../core/io.js";import{cliClient as a,rethrowAsCliError as u}from"../api-client.js";function c(e){const s=e.subscriber??h();if(s===void 0||s==="")throw new o({error:"no_subscriber",message:"no subscriber (set CRTR_NODE_ID or pass --subscriber)",field:"subscriber",next:"Run from inside a node, or pass --subscriber <id>."});return s}r(c,"resolveSubscriber");const l=n({name:"add",description:"make one node watch another, so it receives that node's pushes (active or --passive)",whenToUse:"you want to make one node receive another node\u2019s pushes, actively or passively. Managed-child creation already adds its active edge; use this for other subscriber-to-publisher pairs",help:{name:"node subscription add",summary:"make one node watch another so it receives that node's pushes \u2014 the subscriber can be you (default) or, with --subscriber, ANY node, to ANY publisher. Re-running flips an existing subscription's active/passive mode.",params:[{kind:"positional",name:"publisher",required:!0,constraint:"The node to subscribe TO \u2014 whose pushes get delivered to the subscriber."},{kind:"flag",name:"subscriber",type:"string",required:!1,constraint:"Who receives the pushes. Defaults to the calling node (CRTR_NODE_ID). Pass any node id to wire a third party."},{kind:"flag",name:"passive",type:"bool",required:!1,constraint:"Passive subscription: pushes ACCUMULATE without waking the subscriber, then auto-inject as timestamped XML pre-text on its next message. Omit for an active (wake-on-push) subscription."}],output:[],outputKind:"object",effects:["Records an ask watch from the subscriber on the publisher in canvas.db; --passive sets its listening configuration to deliver on the next turn only.","Passive subscriptions never wake the subscriber and do not hold it alive (excluded from the stop-guard)."]},run:r(async e=>{const s=e.publisher,i=c(e),t=e.passive===!0;if(i===s)throw new o({error:"self_subscribe",message:"a node cannot subscribe to itself",next:"Pick a different publisher."});return await a().subscribe(i,{target:s,active:!t}).catch(d=>u(d)),{}},"run"),render:r(()=>"Subscription added.","render")}),m=n({name:"remove",description:"stop one node watching another for pushes",whenToUse:"you want to stop one node receiving a publisher\u2019s pushes; removal is idempotent",help:{name:"node subscription remove",summary:"drop a subscription (a node watch) \u2014 the subscriber (you by default, or any node via --subscriber) stops receiving the publisher's pushes.",params:[{kind:"positional",name:"publisher",required:!0,constraint:"The node to stop subscribing to."},{kind:"flag",name:"subscriber",type:"string",required:!1,constraint:"Who to detach. Defaults to the calling node (CRTR_NODE_ID)."}],output:[],outputKind:"object",effects:["Removes the subscriber's subscription watch on the publisher from canvas.db; a watch from reading or messaging the same node survives."]},run:r(async e=>{const s=e.publisher,i=c(e);return await a().unsubscribe(i,s).catch(t=>u(t)),{}},"run"),render:r(()=>"Subscription removed.","render")}),k=p({name:"subscription",description:"manage push-delivery edges between nodes",whenToUse:"you need an ongoing active or passive subscriber-to-publisher delivery edge that spawn did not create, or need to remove one",help:{name:"node subscription",summary:"add or remove subscriber-to-publisher push-delivery edges",model:"Subscriptions point from a subscriber to a publisher and control future push delivery. A subscription is a watch the subscriber holds on the publisher (`crtr canvas edges <node> --type watches` lists every watch, including plain reads and messages; the subscribers of a node are the `managers` in `crtr node inspect show <node>`, and the nodes it subscribes to are its `reports`). Active subscriptions wake on each push; passive ones accumulate pushes for the subscriber\u2019s next turn. Removing either kind stops subsequent delivery without changing messages already received."},children:[l,m]});export{k as nodeSubscription};
@@ -0,0 +1 @@
1
+ export declare const nodeWaitBranch: import("../../core/command.js").BranchDef;
@@ -0,0 +1,7 @@
1
+ var p=Object.defineProperty;var o=(e,n)=>p(e,"name",{value:n,configurable:!0});import{envNodeId as m,envProfileId as g}from"../../shared/env.js";import{defineBranch as y,defineLeaf as u}from"../../core/command.js";import{InputError as i}from"../../core/io.js";import{requireScope as _}from"../../core/errors.js";import{parseWhen as b}from"../../core/wake.js";import{cliClient as h,getNodeOrNull as x,rethrowAsCliError as f}from"../api-client.js";import{shellQuote as v}from"../surface/node/placement.js";function k(){const e=m();if(e===void 0||e==="")throw new i({error:"no_node",message:"no node to anchor a deadline cron (CRTR_NODE_ID unset)",next:"Run from inside a node."});return e}o(k,"armerId");function I(e,n){return n!==void 0&&n.trim()!==""?{tz:n,now:e}:{now:e}}o(I,"parseOpts");function T(e){const n={wake_in_past:'Pick a future instant \u2014 a positive duration ("5m","2h") or an ISO time later than now.',bad_when:'Use a duration ("5m","1h30m"), a zoned ISO ("2026-06-07T09:00:00Z"), or a bare ISO ("2026-06-07T09:00").',bad_cadence:'Use a duration ("6h"), a 5-field cron ("0 9 * * *"), or an @alias ("@daily").',unknown_zone:'Pass --tz with an IANA zone name (e.g. "America/New_York").',cadence_too_fast:'Use a cadence of at least 60s (e.g. "1m","5m","1h").'};throw new i({error:e.code,message:e.message,received:e.received,next:n[e.code]??"Fix the time value and retry."})}o(T,"throwTimeError");function $(e,n){const t=new Date(e).getTime()-n.getTime();if(!Number.isFinite(t)||t<=0)return"";const r=Math.round(t/6e4);if(r<60)return` (~${r}m)`;const a=Math.round(t/36e5);return a<48?` (~${a}h)`:` (~${Math.round(t/864e5)}d)`}o($,"etaHint");function D(e,n){let t="CRTR_DEADLINE",r=0;const a=new Set(e.split(`
2
+ `));for(;a.has(t);)t=`CRTR_DEADLINE_${++r}`;return`crtr cron cancel "$CRTR_CRON_ID"
3
+ crtr node message send --to ${v(n)} --tier urgent <<'${t}'
4
+ ${e}
5
+ ${t}`}o(D,"deadlineHeredoc");const R=u({name:"deadline",description:"race this node\u2019s next wake against one urgent deadline cron",whenToUse:"you are waiting on an event nothing can push for, so a self-scheduled deadline must settle the wait",help:{name:"node wait deadline",summary:"arm one cancel-on-wake deadline cron for this node",params:[{kind:"stdin",name:"body",required:!0,constraint:"Policy delivered urgently to this node if the deadline fires first."},{kind:"flag",name:"until",type:"string",required:!0,constraint:"Future duration, zoned ISO timestamp, or bare ISO timestamp interpreted in --tz or host-local time."},{kind:"flag",name:"tz",type:"string",required:!1,constraint:"IANA timezone for a bare ISO --until value."}],output:[{name:"id",type:"string",required:!0,constraint:"The armed cron id."},{name:"name",type:"string",required:!0,constraint:"The cron label."},{name:"fires_at",type:"string",required:!0,constraint:"Absolute UTC deadline."},{name:"guidance",type:"string",required:!0,constraint:"How to inspect the cron and dorm."}],outputKind:"object",effects:["Arms one anchored cancel-on-wake cron. Any wake of this node cancels it; otherwise it urgently sends the body to this node at the deadline.","Re-arming replaces this node\u2019s pending deadline rather than stacking a second."]},run:o(async e=>{_("crtr:schedule","crtr node wait deadline");const n=k(),t=typeof e.body=="string"?e.body.trim():"";if(t==="")throw new i({error:"empty_body",message:"a deadline body is required",field:"body",next:"Pass the timeout policy on stdin."});const r=typeof e.until=="string"?e.until.trim():"";if(r==="")throw new i({error:"missing_until",message:"--until is required",field:"until",next:"Pass a future duration or timestamp."});const a=typeof e.tz=="string"&&e.tz.trim()!==""?e.tz:void 0,c=new Date,s=b(r,I(c,a));"error"in s&&T(s.error);const l=g(),d=await h().armCron({name:`deadline:${n}`,command:D(t,n),fire_at:s.fireAt,recur:null,tz:a??null,created_by:n,cwd:process.cwd(),profile:l!==void 0&&l!==""?l:null,scope:"profile",on_output:"on-failure",sink:null,tier:"normal",expires_at:null,anchor_node:n,cancel_on_wake:!0,run_timeout_s:300,overlap:"skip"}).catch(f),w=`Deadline cron armed for ${d.fire_at}${$(d.fire_at,c)}. End your turn to dorm; any earlier wake cancels it. Inspect pending schedules with \`crtr cron list\`.`;return{id:d.cron_id,name:d.name,fires_at:d.fire_at,guidance:w}},"run"),render:o(e=>`Deadline cron armed \u2014 ${e.name} (${e.id}), fires ${e.fires_at}.
6
+
7
+ ${e.guidance}`,"render")}),N=u({name:"controller",description:"wait durably for a named controller message",whenToUse:"you are a terminal node blocked on one specific live parent or controller and have no managed-child subscription whose report will wake you",help:{name:"node wait controller",summary:"declare that your next stop may dorm only until one live controller delivers an inbox message",params:[{kind:"positional",name:"controller",type:"string",required:!0,constraint:"Live node id expected to send the message. It may be your parent or another named controller, but cannot be yourself."}],output:[{name:"node_id",type:"string",required:!0,constraint:"The terminal node that declared the wait."}],outputKind:"object",effects:["Durably records the controller on this node. The stop guard permits dormancy only while that controller remains active or idle; its next inbox delivery clears the record before the delivery wakes this node."]},run:o(async e=>{const n=m();if(n===void 0||n==="")throw new i({error:"no_node",message:"no node to wait (CRTR_NODE_ID unset)",next:"Run from inside the terminal node that is blocked."});const t=await x(n);if(t===null)throw new i({error:"not_found",message:`no node: ${n}`,next:"Run from a live canvas node."});if(t.lifecycle!=="terminal")throw new i({error:"resident_node",message:`node ${n} is resident and may already dorm on its inbox`,next:"Use this only from a terminal node that needs the stop guard to recognize a controller dependency."});const r=String(e.controller).trim();if(r===n)throw new i({error:"self_controller",message:"a node cannot wait for its own message",field:"controller",next:"Name the parent or external controller expected to send the message."});return await h().waitNode(n,{controller:r}).catch(a=>f(a)),{node_id:n}},"run"),render:o(()=>"Waiting for the controller. End your turn to dorm; its next message wakes you and clears this wait.","render")}),P=y({name:"wait",description:"declare a durable controller or deadline wait",whenToUse:"a terminal node must dorm for one named controller, or race its inbox against a self-scheduled deadline",help:{name:"node wait",summary:"declare durable wait state; choose the event that settles it",model:"Both waits belong to the calling terminal node and settle on one future event. A controller wait records an existing node as the wake source; a deadline wait arms an urgent one-shot cron that races any earlier inbox delivery and is canceled when that delivery wins."},children:[N,R]});export{P as nodeWaitBranch};
@@ -0,0 +1,2 @@
1
+ import type { LeafDef } from '../core/command.js';
2
+ export declare const nodeContextLeaf: LeafDef;
@@ -0,0 +1,2 @@
1
+ var m=Object.defineProperty;var s=(o,t)=>m(o,"name",{value:t,configurable:!0});import{envNodeId as p}from"../shared/env.js";import{spawnSync as f}from"node:child_process";import{existsSync as u,mkdirSync as h,mkdtempSync as v,rmSync as x,symlinkSync as b}from"node:fs";import{tmpdir as y}from"node:os";import{dirname as g,join as d}from"node:path";import{defineLeaf as w}from"../core/command.js";import{InputError as a}from"../core/io.js";import{nvimArgs as T,nvimAvailable as S}from"../core/nvim-launch.js";import{cliClient as $,rethrowAsCliError as R}from"./api-client.js";function l(o){return o.replace(/[^A-Za-z0-9._-]+/g,"-").replace(/^-+|-+$/g,"")||"node"}s(l,"sanitize");async function _(o){const t=await $().getContext(o),n=[];for(const e of t.roots){const r=e.dir,i=e.node_id.slice(0,8),c=e.self?`self-${l(e.label)}`:`${l(e.label)}-${i}`;n.push({nodeId:e.node_id,label:c,dir:g(r),self:e.self,fileCount:e.files,contextDir:r})}return n}s(_,"resolveRoots");function C(o){const t=v(d(y(),"crtr-context-"));for(const n of o){const e=n.self?`0-${n.label}`:n.label,r=d(t,e);h(r,{recursive:!0});try{u(n.contextDir)&&b(n.contextDir,d(r,"context"),"dir")}catch{}}return t}s(C,"buildSymlinkTree");const P=w({name:"context",description:"browse this node + its subscriptions\u2019 context dirs in an nvim popup",whenToUse:"you want to SEE what the nodes you subscribe to have written \u2014 open a read-only nvim file explorer over this node\u2019s context dir and every subscribed node\u2019s context dir at once (reports are documents: `crtr canvas read <node>/reports/<name>`). The /context popup shells this. Piped it prints the roster instead",help:{name:"node inspect context",summary:"open a read-only nvim file explorer over this node\u2019s context dir and those of every node it subscribes to",params:[{kind:"flag",name:"node",type:"string",required:!1,constraint:"Node id to root on. Defaults to $CRTR_NODE_ID (the calling node)."}],output:[{name:"roots",type:"object[]",required:!0,constraint:"Resolved browse roots: {node_id, label, dir, self, files}. Returned on the piped/non-TTY path."}],outputKind:"object",effects:["TTY: builds a temp dir of labelled node dirs, symlinking each available `context` dir inside it, then execs `nvim -R` on the tree; the temp links are removed on exit (real dirs untouched).","Requires nvim on PATH (a crtr strong dependency). Missing nvim -> error with an install hint.","Non-TTY / piped: prints the resolved roster and exits 0; opens nothing."]},run:s(async o=>{const t=o.node?.trim()||p();if(t===void 0||t==="")throw new a({error:"no_node",message:"no current node: $CRTR_NODE_ID is unset and --node was not given",field:"node",next:"Run this from inside a canvas node (the /context popup does), or pass --node <id>."});let n;try{n=await _(t)}catch(i){R(i)}const e=n.map(i=>({node_id:i.nodeId,label:i.label,dir:i.dir,self:i.self,files:i.fileCount}));if(!process.stdout.isTTY)return{roots:e};if(!S())throw new a({error:"nvim_missing",message:"nvim is not on PATH \u2014 `crtr node inspect context` opens the context explorer in nvim",next:"Install Neovim (macOS: `brew install neovim`; Debian/Ubuntu: `apt install neovim`), then retry."});const r=C(n);try{f("nvim",[...T("readonly"),"."],{cwd:r,stdio:"inherit"})}finally{x(r,{recursive:!0,force:!0})}return{roots:e}},"run"),render:s(o=>{const t=o.roots??[];if(t.length===0)return"No node dirs to show (no subscriptions with written context or reports, and this node\u2019s own context dir is empty/absent).";const n=t.map(e=>{const r=e.self===!0?" (self)":"";return` ${String(e.label)}${r} ${String(e.files)} files ${String(e.dir)}`});return[`Context roots (${t.length}):`,...n].join(`
2
+ `)},"render")});export{P as nodeContextLeaf};
@@ -0,0 +1,12 @@
1
+ import type { LeafDef } from '../core/command.js';
2
+ import type { NodeFaultDTO } from '../api/dto/nodes.js';
3
+ /** --now eligibility for a live, non-busy fault: a daemon-owned AUTO retry
4
+ * (kick it early instead of waiting out the schedule), or any fault the
5
+ * canvas dashboard flags "needs you" (`faultNeedsYou`, status-glyph.ts) — the
6
+ * disposition that otherwise has NO sanctioned recovery verb.
7
+ * Both are scoped to `pi→provider`: refuses a client-owned auto retry
8
+ * (redialing) already in flight, and refuses any OTHER link — notably a
9
+ * `daemon→node` wedge fault, which --now can't clear (SIGTERM doesn't touch
10
+ * the runaway subprocess; see `wedged-child-on-runaway-bash`). */
11
+ export declare function isNowEligibleFault(fault: NodeFaultDTO | null): boolean;
12
+ export declare const nodeReviveLeaf: LeafDef;
@@ -0,0 +1 @@
1
+ var w=Object.defineProperty;var s=(e,r)=>w(e,"name",{value:r,configurable:!0});import{defineLeaf as g}from"../core/command.js";import{InputError as a}from"../core/io.js";import{requireScope as p}from"../core/errors.js";import{cliClient as y,rethrowAsCliError as u}from"./api-client.js";import{recordedPidLiveness as k}from"../core/canvas/pid.js";import{fullName as b}from"../core/canvas/labels.js";import{faultNeedsYou as x}from"../core/canvas/status-glyph.js";import{waitForViewSocketReady as R}from"../core/runtime/view-socket.js";function E(e){return e===null||e.link!=="pi\u2192provider"?!1:x(e)?!0:e.retry.by==="daemon"}s(E,"isNowEligibleFault");const C=g({name:"revive",description:"reopen a window for a done/idle/dead/canceled node",whenToUse:"you want to bring a dormant node back yourself \u2014 reopen a window for one that is done, idle, dead, or canceled: resume a node you closed with `node lifecycle close`, reopen a finished worker for a follow-up, or restart a crashed one now instead of waiting. It resumes the saved conversation by default, or can restart the node clean. You rarely need this for crashes \u2014 the daemon auto-revives those; reach for it to bring a node back on demand, to revive a canceled node the daemon will never touch on its own, or to kick a hanging one early (--now). To mass-reconnect EVERY disconnected node at once (after a reboot, a killed login/tmux session, or the daemon being down a while), use `canvas revive --all` instead",help:{name:"node lifecycle revive",summary:"relaunch a node's broker engine (resuming its saved conversation), or kick a hanging one (--now)",params:[{kind:"positional",name:"node",required:!0,constraint:"Node id to revive."},{kind:"flag",name:"fresh",type:"bool",required:!1,default:!1,constraint:"When set, do NOT do a true resume. If the node already has a session `.jsonl`, this instead CYCLES it in place \u2014 reuses that SAME file, resets the tree leaf, and roots a fresh `crtr-cycle` branch (a clean-context restart that still carries the file's history, output `resumed:false`). Only when no `.jsonl` exists yet does this start a genuinely brand-new session (also `resumed:false`). Default (no --fresh): a true resume \u2014 replays the existing `.jsonl` as-is (`resumed:true`)."},{kind:"flag",name:"now",type:"bool",required:!1,default:!1,constraint:'On-demand kick of an active-fault node (parked on a `pi\u2192provider` fault, broker still alive). Its broker pid is alive, so an ordinary revive no-ops (double-launch guard) \u2014 --now SIGTERMs the live broker instead, so the daemon\'s crash\u2192grace\u2192resume path brings it back in ~20s. Valid for a live `pi\u2192provider` fault that is either a daemon-owned auto retry (kicks it early), or ANY fault the canvas dashboard flags "needs you" (e.g. exhausted retries, an auth fault you just fixed) \u2014 that disposition otherwise has no recovery verb. Mutually exclusive with --fresh.'},{kind:"flag",name:"reopen",type:"bool",required:!1,default:!1,constraint:"Clear a latched node's finalization latch (final_report/finalized_at only \u2014 the old report file and every delivered feed event are untouched) before reviving it. Rejected against a node that is not finalized. Mutually exclusive with --now."}],output:[{name:"resumed",type:"boolean",required:!1,constraint:"True ONLY for a true resume (the existing `.jsonl` replayed as-is). False for a --fresh revive, whether that landed as an in-place CYCLE (an existing `.jsonl` reused with a fresh `crtr-cycle` branch \u2014 pi is still told --session, but this is not a resume) or a genuinely fresh launch (no `.jsonl` existed). Absent for a --now kick."},{name:"ready",type:"boolean",required:!1,constraint:"True when the revived broker's view.sock accepted a connection before return \u2014 the node is immediately attachable/drivable. Absent for a --now kick."},{name:"kicked",type:"boolean",required:!1,constraint:"True when --now SIGTERM'd the hanging node's live broker (the daemon resumes it on the saved session within ~20s). Absent for an ordinary revive."},{name:"message",type:"string",required:!1,constraint:"Kick confirmation naming the signalled node, pid, and the daemon's ~20s resume handoff. Present only for --now."}],outputKind:"object",effects:["Launches the node's detached headless broker engine (no tmux window).","Updates the node's canvas record: status=active, intent=null.","Blocks until the broker's view.sock accepts a connection (up to ~30s), so a caller can attach/dial immediately on return.","--now: SIGTERMs the live broker instead of launching anything (the daemon's own crash-grace path resumes it)."]},run:s(async e=>{p("crtr:act","crtr node lifecycle revive");const r=e.now??!1,n=e.node,l=e.fresh??!1,d=e.reopen??!1;if(r&&d)throw new a({error:"conflicting_args",message:"`--now` kicks a LIVE broker (nothing to reopen \u2014 a finalized node has no live broker); `--reopen` is meaningless there.",next:"Run `crtr node lifecycle revive <node> --now` on a hanging node, or `crtr node lifecycle revive <node> --reopen` (no --now) to re-task a finalized one."});if(r&&l)throw new a({error:"conflicting_args",message:"`--now` kicks a live hanging broker (SIGTERM \u2192 daemon resumes the SAVED session); `--fresh` is meaningless there.",next:"Run `crtr node lifecycle revive <node> --now` (resumes), or `crtr node lifecycle revive <node> --fresh` (no --now) to relaunch clean."});const c=y();if(r){let o;try{o=await c.getNode(n)}catch(v){u(v)}const t=o.pi_pid,m=o.fault??null;if(t==null||k(t,o.pi_pid_identity??null)!=="alive")throw new a({error:"not_hanging",message:`${n} has no live broker \u2014 nothing to kick. --now is for a HANGING node (live broker parked on an active fault).`,next:"Revive a dormant node with `crtr node lifecycle revive "+n+"` (no --now)."});if(!E(m))throw new a({error:"not_hanging",message:`${n} is live but has no pi\u2192provider fault eligible for --now (either healthy, or a client-owned retry / non-provider fault already being handled elsewhere) \u2014 --now refuses to SIGTERM a node that isn't stuck on a kickable provider fault.`,next:"Use --now only on a node the canvas shows as hanging (\u26A0) with a `pi\u2192provider` fault. For a routine relaunch, omit --now."});if(o.streaming===!0)throw new a({error:"busy",message:`${n} is mid-turn right now (busy) \u2014 --now refuses to SIGTERM a working engine; it has recovered on its own.`,next:"Re-check the canvas \u2014 if it's no longer marked hanging (\u26A0), nothing to do."});try{process.kill(t,"SIGTERM")}catch{}return{kicked:!0,message:`Sent SIGTERM to ${b(o)} (${n}, pid ${t}). The daemon will resume it on the saved session within ~20s (crash\u2192grace\u2192resume).`}}const i=process.env.CRTR_CRON_ID;let h;try{h=await c.reviveNode(n,{resume:!l,reopen:d,...i!==void 0&&i!==""?{cron_id:i}:{}})}catch(o){u(o)}const f=await R(n);return{resumed:h.resumed,ready:f}},"run")});export{E as isNowEligibleFault,C as nodeReviveLeaf};
@@ -0,0 +1,2 @@
1
+ import type { LeafDef } from '../core/command.js';
2
+ export declare const nodeSnapshotLeaf: LeafDef;
@@ -0,0 +1 @@
1
+ var o=Object.defineProperty;var n=(t,s)=>o(t,"name",{value:s,configurable:!0});import{defineLeaf as r}from"../core/command.js";import{cliClient as a,rethrowAsCliError as i}from"./api-client.js";const m=r({name:"snapshot",description:"read a dormant node session snapshot without launching its broker",whenToUse:"you need a read-only broker-compatible snapshot of a dormant node; it copies the session JSONL before parsing and never revives the node",tier:"hidden",help:{name:"node inspect snapshot",summary:"read-only dormant node snapshot in the broker welcome shape",params:[{kind:"positional",name:"id",type:"string",required:!0,constraint:"Canvas node id."}],output:[{name:"node_id",type:"string",required:!0,constraint:"The node id."},{name:"snapshot",type:"object",required:!0,constraint:"BrokerSnapshot-compatible {messages, stats, state, display}; `display` is always empty here \u2014 extension display state is live broker process state, not persisted."},{name:"commands",type:"object[]",required:!0,constraint:"Builtin slash commands only: {name,description,source:'builtin'}."}],outputKind:"object",effects:["Read-only: crtrd copies the session JSONL to a temp dir, parses the copy, then deletes the temp dir. Does not launch or revive brokers."],preview:{suppressOutput:!0}},run:n(async t=>{const s=t.id;try{const e=await a().getSnapshot(s);return{node_id:e.node_id,snapshot:e.snapshot,commands:e.commands}}catch(e){i(e)}},"run")});export{m as nodeSnapshotLeaf};
@@ -0,0 +1,2 @@
1
+ import type { LeafDef } from '../core/command.js';
2
+ export declare const nodeTranscriptLeaf: LeafDef;
@@ -0,0 +1 @@
1
+ var c=Object.defineProperty;var e=(r,t)=>c(r,"name",{value:t,configurable:!0});import{spawnSync as p}from"node:child_process";import{mkdtempSync as d,rmSync as m,writeFileSync as v}from"node:fs";import{tmpdir as u}from"node:os";import{join as s}from"node:path";import{defineLeaf as f}from"../core/command.js";import{InputError as l}from"../core/io.js";import{nvimArgs as h,nvimAvailable as y}from"../core/nvim-launch.js";import{cliClient as T,rethrowAsCliError as g}from"./api-client.js";const j=f({name:"transcript",description:"read a node\u2019s saved conversation without reviving it",whenToUse:"you have a node id and need to inspect its past conversation without changing its lifecycle or launching an agent",help:{name:"node inspect transcript",summary:"open a node\u2019s saved conversation read-only in nvim; never launches or revives its broker",params:[{kind:"positional",name:"node-id",required:!0,constraint:"The node whose saved conversation to inspect."}],output:[{name:"transcript",type:"string",required:!0,constraint:"Markdown transcript on the non-TTY path."}],outputKind:"object",effects:["TTY: opens a temporary read-only nvim buffer and deletes it after exit. Non-TTY: prints the transcript. Never changes node status or starts a broker."]},run:e(async r=>{const t=r.nodeId;let n;try{n=(await T().getTranscript(t)).markdown}catch(a){g(a)}if(!process.stdout.isTTY)return{transcript:n};if(!y())throw new l({error:"nvim_missing",message:"nvim is not on PATH \u2014 `crtr node inspect transcript` opens saved conversations in nvim",next:"Install Neovim, then retry."});const i=d(s(u(),"crtr-transcript-")),o=s(i,"transcript.md");try{v(o,n),p("nvim",[...h("readonly"),o],{stdio:"inherit"})}finally{m(i,{recursive:!0,force:!0})}return{transcript:n}},"run"),render:e(r=>String(r.transcript),"render")});export{j as nodeTranscriptLeaf};
@@ -0,0 +1,2 @@
1
+ import { type BranchDef } from '../core/command.js';
2
+ export declare const nodeWorktreeBranch: BranchDef;
@@ -0,0 +1 @@
1
+ var u=Object.defineProperty;var r=(e,t)=>u(e,"name",{value:t,configurable:!0});import{envNodeId as s}from"../shared/env.js";import{defineBranch as m,defineLeaf as d}from"../core/command.js";import{InputError as c}from"../core/io.js";import{ApiError as p}from"../api/index.js";import{cliClient as h}from"./api-client.js";function w(){const e=s();if(e===void 0||e.trim()==="")throw new c({error:"no_node_context",message:"CRTR_NODE_ID is not set \u2014 worktree commands run inside a canvas node.",next:"Run this command from a node process spawned by the runtime."});return e.trim()}r(w,"requireCallerNode");function l(e){if(e instanceof p){const t=e.details??{};throw new c({error:e.code,message:e.message,...typeof t.received=="string"?{received:t.received}:{},next:typeof t.next=="string"?t.next:"Inspect the error and adjust the call. See -h for the schema."})}throw e}r(l,"mapWorktreeApiError");const b=d({name:"abandon",description:"remove a node worktree and preserve any branch work",whenToUse:"a canceled, dead, or otherwise finished node holds work you will not land now: remove its checkout without reviving it, retain its branch work, and release its worktree ownership so finalization or deletion can continue",help:{name:"node worktree abandon",summary:"remove a node-managed checkout, retain its work, and commit dirty changes first",params:[{kind:"positional",name:"node",required:!0,constraint:"Node id whose open managed worktree to abandon. The node must be stopped, with no live broker process."}],output:[{name:"node_id",type:"string",required:!0,constraint:"The node whose worktree was abandoned."},{name:"branch",type:"string",required:!0,constraint:"The branch that retains abandoned work, or the deleted empty branch."},{name:"tip_sha",type:"string",required:!0,constraint:"The preserved work tip, or the deleted empty branch tip."},{name:"worktree_path",type:"string",required:!0,constraint:"The removed managed checkout path."},{name:"branch_deleted",type:"boolean",required:!0,constraint:"Whether the empty branch was deleted; false means the branch retains work or cleanup needs manual completion."}],outputKind:"object",effects:["Requires a stopped node with no live broker process; a running owner must not abandon its own checkout. Use `node worktree close` to land locally, or `push final` after making the checkout clean and pushing its current tip to origin. Removes the checkout. A clean zero-commit worktree deletes its empty branch. Otherwise commits all worktree state to the branch, retains that branch, records abandoned provenance, and repoints the node cwd to the repository root without changing lifecycle status."]},run:r(async e=>{const t=e.node;try{return{...await h().abandonWorktree(t,{by:s()??"human"})}}catch(a){l(a)}},"run"),render:r(e=>e.branch_deleted===!0?`Managed empty worktree abandoned \u2014 checkout and empty branch ${String(e.branch)} removed.`:`Managed worktree abandoned \u2014 checkout removed; branch ${String(e.branch)} kept at ${String(e.tip_sha)}.`,"render")}),k=d({name:"close",description:"land or safely close the current node-managed worktree",whenToUse:"you are inside the node that owns an open managed worktree and are ready to land its recorded branch into the local base, or to close a moved real branch whose already-delivered content can be safely preserved while its checkout is disposed later",help:{name:"node worktree close",summary:"land or safely close the current node-managed worktree",params:[],output:[{name:"node_id",type:"string",required:!0,constraint:"The caller node id whose managed worktree was closed."},{name:"branch",type:"string",required:!0,constraint:"The branch whose delivered content is retained: fast-forwarded into the recorded local base in an ordinary close, or preserved unchanged when a moved real branch is authorized for disposal."},{name:"landed_sha",type:"string",required:!0,constraint:"The retained branch tip: fast-forwarded into the local base in an ordinary close, or proven already contained in the local base or its upstream before a moved real branch is authorized for disposal."},{name:"worktree_path",type:"string",required:!0,constraint:"The managed worktree path whose cleanup is deferred until its caller exits."},{name:"worktree_removed",type:"boolean",required:!0,constraint:"Always false for an active caller: its checkout remains intact rather than being removed beneath the node."},{name:"worktree_remove_error",type:"string",required:!0,constraint:"The named deferred-cleanup state and safe manual follow-up after the caller exits."},{name:"branch_deleted",type:"boolean",required:!0,constraint:"False while the deferred-cleanup checkout still has this branch checked out."},{name:"branch_delete_error",type:"string",required:!0,constraint:"The safe branch-cleanup follow-up after the checkout is removed."},{name:"base_checkout_stash",type:"string",required:!1,constraint:"Present when conflicting base-checkout changes were retained in a stash; names the exact stash SHA and command required to recover them."}],outputKind:"object",effects:["Rebases the worktree onto its recorded local base branch and fast-forwards that base onto it (never pushes to origin), marking the node-managed worktree closed with cleanup pending and leaving the active caller checkout and branch intact. When the recorded branch is gone because ordinary work moved this checkout onto a real branch, and that branch's content is already contained in the recorded base, closes by authorizing the checkout's later removal instead of landing \u2014 preserving that branch rather than deleting it."]},run:r(async()=>{const e=w();try{return{...await h().closeWorktree(e)}}catch(t){l(t)}},"run"),render:r(e=>{const t=String(e.branch??""),a=String(e.landed_sha??""),i=String(e.worktree_path??"");let o=`Managed worktree closed \u2014 ${t} at ${a} is retained.`;const n=[];return e.worktree_removed===!1?n.push(String(e.worktree_remove_error??`worktree checkout at ${i} could not be removed automatically.`)):o+=` Worktree removed at ${i}.`,e.branch_deleted===!1&&n.push(String(e.branch_delete_error??`local branch ${t} could not be deleted automatically.`)),typeof e.base_checkout_stash=="string"&&n.push(`Warning: ${e.base_checkout_stash}`),n.length>0?`${o} Note: ${n.join(" ")}`:o},"render")}),T=m({name:"worktree",description:"manage a node-owned git worktree \u2014 land it or explicitly abandon it",whenToUse:"you need to dispose of a managed checkout: close lands the current node\u2019s work onto its base; abandon removes any node\u2019s checkout while retaining its work on the branch",help:{name:"node worktree",summary:"manage a node-owned git worktree \u2014 land it, or explicitly abandon its checkout while retaining work",model:"Close merges work into its recorded base. Abandon requires a stopped node and removes its checkout without changing lifecycle state; it retains work on the branch and deletes only a clean zero-commit branch."},children:[k,b]});export{T as nodeWorktreeBranch};
@@ -0,0 +1,2 @@
1
+ import { type BranchDef } from '../core/command.js';
2
+ export declare function registerNode(): BranchDef;
@@ -0,0 +1 @@
1
+ var t=Object.defineProperty;var e=(o,n)=>t(o,"name",{value:n,configurable:!0});import{defineBranch as a}from"../core/command.js";import{nodeNew as i}from"./node/create.js";import{nodeInspect as r,nodeFork as s}from"./node/inspect.js";import{nodeLifecycle as d,nodeConfig as c,nodePromote as m,nodeYield as h}from"./node/lifecycle.js";import{nodeMessage as p}from"./node/message.js";import{nodeWaitBranch as f}from"./node/wait.js";import{nodeSubscription as l}from"./node/subscription.js";import{nodeBash as g}from"./node/bash.js";import{pyramidSlash as u}from"./node/pyramid.js";import{nodeWorktreeBranch as w}from"./node-worktree.js";import{nodeOutcome as y}from"./node/outcome.js";function C(){return a({name:"node",slash:u,rootEntry:{concept:"a unit of the agent runtime \u2014 an agent on the canvas with its own context dir and pi vehicle. Spawning nodes is how work gets done here, not an optimization you reach for late",desc:"spawn, inspect, and navigate nodes on the canvas",useWhen:"delegating a genuinely independent subtask, or walking the subscription graph. Base nodes work hands-on; orchestrators fan out. Give each child a bounded outcome distinct from your whole assignment so delegation moves work toward completion instead of recursively passing it down. Once delegated, do not duplicate the child\u2019s work; its finish wakes you. Use the help surface for the exact node contract before invoking it."},help:{name:"node",summary:"create, inspect, message, and change canvas nodes",model:"A node is one agent on the canvas. Immediate actions, durable waits, subscriptions, lifecycle changes, and scheduled crons are separate intent families; choose the family by when the effect happens and what persistent state it changes."},children:[i,s,p,f,l,y,r,d,w,c,m,h,g]})}e(C,"registerNode");export{C as registerNode};
@@ -0,0 +1,7 @@
1
+ import type { ActionPresentation, ActionRequest, ActionOutcome } from './model.js';
2
+ /** How an action reads before it runs — and whether it needs confirming. */
3
+ export declare function presentAction(request: ActionRequest): ActionPresentation;
4
+ /** Actions available for a request's subject right now, in offer order. */
5
+ export declare function availableActions(request: Pick<ActionRequest, "entry" | "marketplace" | "scope">): ActionRequest[];
6
+ /** Run one action. Never throws: a failure comes back as `ok: false`. */
7
+ export declare function runAction(request: ActionRequest): Promise<ActionOutcome>;
@@ -0,0 +1 @@
1
+ var g=Object.defineProperty;var o=(e,n)=>g(e,"name",{value:n,configurable:!0});import{marketAdd as y,marketRemove as $,marketUpdate as b}from"../market-manage.js";import{pluginDisable as h,pluginEnable as v,pluginInstall as A,pluginRemove as R,pluginUpdate as C}from"../plugin-manage.js";import{listAllMarketplaces as w}from"../../../core/resolver.js";import{projectScopeRoot as U}from"../../../core/scope.js";function s(e){return e.entry?.name??"plugin"}o(s,"pluginName");function p(e){return e.marketplace??"marketplace"}o(p,"marketplaceName");function N(e){switch(e.kind){case"install":return{label:`Install into ${e.scope??"user"} scope`,progress:`Installing ${s(e)}\u2026`};case"remove":return{label:`Remove ${s(e)}`,progress:`Removing ${s(e)}\u2026`,confirm:`Remove ${s(e)} and delete its files?`};case"enable":return{label:`Enable ${s(e)}`,progress:`Enabling ${s(e)}\u2026`};case"disable":return{label:`Disable ${s(e)}`,progress:`Disabling ${s(e)}\u2026`};case"update":return{label:`Update ${s(e)}`,progress:`Updating ${s(e)}\u2026`};case"market-add":return{label:"Add marketplace",progress:`Adding ${e.url??"marketplace"}\u2026`};case"market-update":return{label:`Update ${p(e)}`,progress:`Updating ${p(e)}\u2026`};case"market-remove":return{label:`Remove ${p(e)}`,progress:`Removing ${p(e)}\u2026`,confirm:`Remove ${p(e)} and its sourced plugins?`}}return{label:"Run action",progress:"Running action\u2026"}}o(N,"presentAction");function L(e){if(e.entry!==void 0){const{entry:n}=e;if(n.install.kind==="absent")return[{kind:"install",entry:n,scope:"user"},...U()===null?[]:[{kind:"install",entry:n,scope:"project"}]];const a=[{kind:n.install.enabled?"disable":"enable",entry:n}];return n.install.scope!=="builtin"&&a.push({kind:"remove",entry:n}),n.install.updateAvailable&&a.push({kind:"update",entry:n}),a}if(e.marketplace!==void 0){const n=m(e.marketplace),a=n.length===1?n[0].scope:e.scope;return[...a===void 0?[]:[{kind:"market-update",marketplace:e.marketplace,scope:a}],...a===void 0?[]:[{kind:"market-remove",marketplace:e.marketplace,scope:a}]]}return[]}o(L,"availableActions");function m(e){try{return w().filter(n=>n.name===e)}catch{return[]}}o(m,"marketplacesNamed");function i(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:{}}o(i,"asRecord");function f(e){return Array.isArray(e)?e.filter(n=>typeof n=="string"):[]}o(f,"strings");function u(e){const n=i(e),a=f(n.mounts),l=Array.isArray(n.issues)?n.issues:[];return[...a.map(t=>`Mounted: crtr ${t}`),...l.map(t=>{const c=i(t).message;return`Command issue: ${typeof c=="string"?c:"invalid command manifest"}`})]}o(u,"commandDetail");function k(e,n){return(Array.isArray(i(e).updated)?i(e).updated:[]).flatMap(l=>{const t=i(l),d=typeof t.name=="string"?t.name:n.toLowerCase(),c=typeof t.sha=="string"&&t.sha!==""?` at ${t.sha.slice(0,12)}`:"";return[t.updated===!0?`${n} ${d} updated${c}.`:`${n} ${d} is already current${c}.`,...u(t.commands),...typeof t.error=="string"?[`${n} ${d}: ${t.error}`]:[]]})}o(k,"updateDetail");function r(e){return{ok:!1,message:e}}o(r,"missing");async function S(e){try{switch(e.kind){case"install":{if(e.entry===void 0)return r("Choose a plugin to install.");if(e.scope===void 0)return r("Choose an install scope.");if(e.entry.marketplace!==void 0&&m(e.entry.marketplace).length>1)return r(`Cannot safely install ${e.entry.name}: marketplace "${e.entry.marketplace}" exists in more than one scope.`);const n=await A.run({installRef:e.entry.ref,scope:e.scope}),a=i(n),l=typeof a.name=="string"?a.name:e.entry.name,t=typeof a.scope=="string"?a.scope:e.scope;return{ok:!0,message:`Installed ${l} in ${t} scope.`,detail:u(a.commands)}}case"remove":{if(e.entry===void 0||e.entry.install.kind!=="installed")return r("Choose an installed plugin to remove.");const n=i(await R.run({name:e.entry.name,scope:e.entry.install.scope})),a=f(n.scopes);return{ok:!0,message:`Removed ${e.entry.name}${a.length>0?` from ${a.join(", ")} scope${a.length===1?"":"s"}`:""}.`}}case"enable":{if(e.entry===void 0||e.entry.install.kind!=="installed")return r("Choose an installed plugin to enable.");const n=i(await v.run({name:e.entry.name,scope:e.entry.install.scope})),a=typeof n.scope=="string"?n.scope:e.entry.install.scope;return{ok:!0,message:`Enabled ${e.entry.name} in ${a} scope.`}}case"disable":{if(e.entry===void 0||e.entry.install.kind!=="installed")return r("Choose an installed plugin to disable.");const n=i(await h.run({name:e.entry.name,scope:e.entry.install.scope})),a=typeof n.scope=="string"?n.scope:e.entry.install.scope;return{ok:!0,message:`Disabled ${e.entry.name} in ${a} scope.`}}case"update":{if(e.entry===void 0||e.entry.install.kind!=="installed")return r("Choose an installed plugin to update.");const n=await C.run({name:e.entry.name,scope:e.entry.install.scope}),a=k(n,"Plugin");return{ok:!0,message:a[0]??`Updated ${e.entry.name}.`,detail:a}}case"market-add":{if(e.url===void 0||e.url==="")return r("Enter a marketplace git URL.");const n=i(await y.run({url:e.url,...e.ref!==void 0?{ref:e.ref}:{},...e.scope!==void 0?{scope:e.scope}:{}})),a=typeof n.name=="string"?n.name:e.url,l=typeof n.scope=="string"?n.scope:e.scope;return{ok:!0,message:`Added marketplace ${a}${l===void 0?"":` in ${l} scope`}.`}}case"market-update":{if(e.marketplace===void 0)return r("Choose a marketplace to update.");if(e.scope===void 0)return r("Choose a marketplace scope to update.");const n=await b.run({name:e.marketplace,scope:e.scope}),a=k(n,"Marketplace");return{ok:!0,message:a[0]??`Updated ${e.marketplace}.`,detail:a}}case"market-remove":return e.marketplace===void 0?r("Choose a marketplace to remove."):e.scope===void 0?r("Choose a marketplace scope to remove."):(await $.run({name:e.marketplace,scope:e.scope}),{ok:!0,message:`Removed marketplace ${e.marketplace}.`})}return r("Unsupported action.")}catch(n){return{ok:!1,message:n instanceof Error?n.message:String(n)}}}o(S,"runAction");export{L as availableActions,N as presentAction,S as runAction};