@north-light/crouter 0.3.317 → 0.3.319

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 (1305) hide show
  1. package/README.md +0 -3
  2. package/dist/api/client.d.ts +1 -1
  3. package/dist/api/client.js +2 -912
  4. package/dist/api/dto/attach.js +0 -13
  5. package/dist/api/dto/bash-jobs.js +1 -9
  6. package/dist/api/dto/broker-ops.js +0 -6
  7. package/dist/api/dto/broker.js +0 -20
  8. package/dist/api/dto/canvas.js +0 -2
  9. package/dist/api/dto/chat-inventory.js +0 -11
  10. package/dist/api/dto/common.js +1 -15
  11. package/dist/api/dto/config.js +0 -3
  12. package/dist/api/dto/crons.js +1 -10
  13. package/dist/api/dto/files.js +0 -7
  14. package/dist/api/dto/focus.js +0 -10
  15. package/dist/api/dto/health.js +0 -2
  16. package/dist/api/dto/human-requests.js +0 -4
  17. package/dist/api/dto/human.js +0 -4
  18. package/dist/api/dto/inbox.js +0 -4
  19. package/dist/api/dto/lifecycle.js +0 -3
  20. package/dist/api/dto/mail.js +0 -1
  21. package/dist/api/dto/memory.js +0 -6
  22. package/dist/api/dto/messages.js +0 -2
  23. package/dist/api/dto/model-config.js +0 -1
  24. package/dist/api/dto/modelauth.js +0 -4
  25. package/dist/api/dto/node-outcomes.js +0 -2
  26. package/dist/api/dto/nodes.js +0 -3
  27. package/dist/api/dto/profiles.js +1 -4
  28. package/dist/api/dto/recovery.js +0 -1
  29. package/dist/api/dto/reports.js +0 -2
  30. package/dist/api/dto/review-comments.js +0 -5
  31. package/dist/api/dto/reviews.js +0 -5
  32. package/dist/api/dto/subscriptions.js +0 -2
  33. package/dist/api/dto/worktree.js +0 -6
  34. package/dist/api/errors.js +1 -40
  35. package/dist/api/index.js +1 -33
  36. package/dist/api/plugin-manifest-schema.js +0 -23
  37. package/dist/api/routes.js +1 -147
  38. package/dist/build-root.js +1 -198
  39. package/dist/cli.js +3 -99
  40. package/dist/clients/attach/ansi-cells.js +1 -137
  41. package/dist/clients/attach/chrome/bash-jobs.js +1 -31
  42. package/dist/clients/attach/chrome/canvas-panels.js +1 -194
  43. package/dist/clients/attach/chrome/completion-bell.js +1 -89
  44. package/dist/clients/attach/chrome/cron-wait.js +1 -34
  45. package/dist/clients/attach/chrome/git-info.js +2 -44
  46. package/dist/clients/attach/chrome/header.js +1 -30
  47. package/dist/clients/attach/chrome/inbox-strip.js +1 -199
  48. package/dist/clients/attach/chrome/recap.js +1 -19
  49. package/dist/clients/attach/chrome/review-wait.js +1 -22
  50. package/dist/clients/attach/chrome/roster.js +4 -275
  51. package/dist/clients/attach/chrome/status-line.js +1 -117
  52. package/dist/clients/attach/chrome/ticket-panel.js +1 -280
  53. package/dist/clients/attach/chrome/widgets.js +1 -51
  54. package/dist/clients/attach/command.js +1 -107
  55. package/dist/clients/attach/config.js +1 -274
  56. package/dist/clients/attach/input/capabilities.js +1 -104
  57. package/dist/clients/attach/input/clipboard-image.js +3 -220
  58. package/dist/clients/attach/input/completion-frecency.js +1 -141
  59. package/dist/clients/attach/input/controller.js +7 -377
  60. package/dist/clients/attach/input/overlay-owner.js +1 -199
  61. package/dist/clients/attach/input/ref-autocomplete.js +2 -176
  62. package/dist/clients/attach/input/titled-editor.js +4 -859
  63. package/dist/clients/attach/overlays/auth.js +2 -271
  64. package/dist/clients/attach/overlays/dialogs.js +2 -102
  65. package/dist/clients/attach/overlays/file-review.js +2 -128
  66. package/dist/clients/attach/overlays/graph.js +1 -661
  67. package/dist/clients/attach/overlays/help.js +1 -211
  68. package/dist/clients/attach/overlays/mcp.js +1 -302
  69. package/dist/clients/attach/overlays/pickers.js +1 -163
  70. package/dist/clients/attach/render/activity-slot.js +1 -13
  71. package/dist/clients/attach/render/assistant-message.js +1 -56
  72. package/dist/clients/attach/render/card-presentation.js +5 -218
  73. package/dist/clients/attach/render/chat-view.js +5 -1708
  74. package/dist/clients/attach/render/condensed-history.js +1 -60
  75. package/dist/clients/attach/render/context-message.js +1 -63
  76. package/dist/clients/attach/render/crtr-output.js +17 -905
  77. package/dist/clients/attach/render/diagram.js +7 -111
  78. package/dist/clients/attach/render/edit-diff.js +5 -304
  79. package/dist/clients/attach/render/glyph-codepoints.js +1 -42
  80. package/dist/clients/attach/render/group-activity.js +2 -263
  81. package/dist/clients/attach/render/group-recap.js +1 -152
  82. package/dist/clients/attach/render/markdown-source.js +5 -266
  83. package/dist/clients/attach/render/measured-container.js +1 -322
  84. package/dist/clients/attach/render/page-block.js +1 -183
  85. package/dist/clients/attach/render/scroll-animation.js +1 -80
  86. package/dist/clients/attach/render/tool-calls.js +3 -361
  87. package/dist/clients/attach/render/transcript-copy.js +2 -81
  88. package/dist/clients/attach/render/transcript-search.js +1 -152
  89. package/dist/clients/attach/render/viewport.js +1 -184
  90. package/dist/clients/attach/session/banner.js +1 -29
  91. package/dist/clients/attach/session/bindings.js +1 -71
  92. package/dist/clients/attach/session/chrome-refresh.js +1 -94
  93. package/dist/clients/attach/session/connection.js +1 -186
  94. package/dist/clients/attach/session/context.js +0 -16
  95. package/dist/clients/attach/session/editor-frame.js +1 -142
  96. package/dist/clients/attach/session/editor-inventory.js +6 -160
  97. package/dist/clients/attach/session/file-links.js +1 -68
  98. package/dist/clients/attach/session/focus-events.js +1 -12
  99. package/dist/clients/attach/session/frame.js +1 -214
  100. package/dist/clients/attach/session/frames.js +1 -188
  101. package/dist/clients/attach/session/identity.js +1 -26
  102. package/dist/clients/attach/session/input-wiring.js +1 -140
  103. package/dist/clients/attach/session/invariant.js +1 -15
  104. package/dist/clients/attach/session/keys.js +1 -77
  105. package/dist/clients/attach/session/layout.js +1 -59
  106. package/dist/clients/attach/session/mouse.js +1 -78
  107. package/dist/clients/attach/session/pane-focus.js +1 -42
  108. package/dist/clients/attach/session/pane-tag.js +1 -112
  109. package/dist/clients/attach/session/pi-assets.js +1 -24
  110. package/dist/clients/attach/session/pi-oauth-flows.js +1 -21
  111. package/dist/clients/attach/session/profile-files.js +1 -228
  112. package/dist/clients/attach/session/reconnect.js +1 -175
  113. package/dist/clients/attach/session/selection.js +3 -108
  114. package/dist/clients/attach/session/state-sync.js +1 -67
  115. package/dist/clients/attach/session/surface-frame.js +1 -73
  116. package/dist/clients/attach/session/surface-host.js +1 -255
  117. package/dist/clients/attach/session/teardown.js +5 -94
  118. package/dist/clients/attach/session/transcript-search.js +3 -151
  119. package/dist/clients/attach/session/whip-achievements.js +2 -145
  120. package/dist/clients/attach/session/whip.js +1 -362
  121. package/dist/clients/attach/slash/dispatch.js +1 -706
  122. package/dist/clients/attach/slash/prompt-preview.js +1 -121
  123. package/dist/clients/attach/viewer.js +1 -1
  124. package/dist/clients/conversation/projection.js +1 -324
  125. package/dist/clients/conversation/submit.js +1 -51
  126. package/dist/clients/inbox/controller.js +1 -701
  127. package/dist/clients/inbox/dto-adapt.js +1 -93
  128. package/dist/clients/inbox/layout.js +1 -9
  129. package/dist/clients/inbox/page-adapter.js +1 -55
  130. package/dist/clients/inbox/resolve.js +1 -35
  131. package/dist/clients/inbox/review/anchors.js +1 -89
  132. package/dist/clients/inbox/review/comments-client.js +1 -98
  133. package/dist/clients/inbox/review/companion-pane.js +1 -82
  134. package/dist/clients/inbox/review/document-surface.js +2 -1188
  135. package/dist/clients/inbox/review/frame.js +1 -216
  136. package/dist/clients/inbox/review/keys.js +1 -123
  137. package/dist/clients/inbox/review/launch.js +1 -151
  138. package/dist/clients/inbox/review/live-source.js +1 -160
  139. package/dist/clients/inbox/review/nvim.js +1 -44
  140. package/dist/clients/inbox/review/remap.js +1 -157
  141. package/dist/clients/inbox/review/review-client.js +1 -123
  142. package/dist/clients/inbox/review/roundtrip.js +3 -36
  143. package/dist/clients/inbox/review/state.js +4 -315
  144. package/dist/clients/inbox/review-adapter.js +1 -43
  145. package/dist/clients/inbox/surface.js +1 -152
  146. package/dist/clients/inbox/tui/ansi.js +3 -321
  147. package/dist/clients/inbox/tui/input.js +5 -392
  148. package/dist/clients/inbox/tui/keys.js +1 -104
  149. package/dist/clients/inbox/tui/page-body.js +1 -66
  150. package/dist/clients/inbox/tui/panel.js +1 -84
  151. package/dist/clients/inbox/tui/render.js +2 -368
  152. package/dist/clients/inbox/tui/slots.js +3 -134
  153. package/dist/clients/inbox/tui/types.js +0 -1
  154. package/dist/clients/inbox/tui.js +1 -86
  155. package/dist/clients/surfaces/host.js +0 -1
  156. package/dist/commands/api-client.js +4 -290
  157. package/dist/commands/attention.js +1 -215
  158. package/dist/commands/canvas-browse.js +1 -70
  159. package/dist/commands/canvas-config.js +2 -192
  160. package/dist/commands/canvas-history/grep.js +7 -85
  161. package/dist/commands/canvas-history/read.js +3 -50
  162. package/dist/commands/canvas-history/search.js +10 -99
  163. package/dist/commands/canvas-history/shared.js +1 -139
  164. package/dist/commands/canvas-history/stats.js +6 -68
  165. package/dist/commands/canvas-history.js +1 -32
  166. package/dist/commands/canvas-issue.js +14 -149
  167. package/dist/commands/canvas-prune.js +1 -108
  168. package/dist/commands/canvas-roster.js +1 -69
  169. package/dist/commands/canvas-snapshot.js +1 -34
  170. package/dist/commands/canvas-use.js +1 -61
  171. package/dist/commands/canvas.js +1 -49
  172. package/dist/commands/chord.js +1 -241
  173. package/dist/commands/cron.js +11 -534
  174. package/dist/commands/dashboard.js +1 -85
  175. package/dist/commands/human/components.js +3 -77
  176. package/dist/commands/human/feedback.js +1 -112
  177. package/dist/commands/human/prompts.js +1 -331
  178. package/dist/commands/human/queue.js +1 -191
  179. package/dist/commands/human/request.js +1 -266
  180. package/dist/commands/human/review.js +1 -288
  181. package/dist/commands/human/shared.js +1 -67
  182. package/dist/commands/human.js +4 -60
  183. package/dist/commands/memory/delete.js +1 -100
  184. package/dist/commands/memory/edit.js +21 -219
  185. package/dist/commands/memory/find.js +2 -244
  186. package/dist/commands/memory/history.js +5 -199
  187. package/dist/commands/memory/lint.js +1 -107
  188. package/dist/commands/memory/list.js +1 -142
  189. package/dist/commands/memory/move.js +1 -223
  190. package/dist/commands/memory/origin.js +1 -130
  191. package/dist/commands/memory/read.js +6 -232
  192. package/dist/commands/memory/shared.js +12 -802
  193. package/dist/commands/memory/write.js +13 -235
  194. package/dist/commands/memory.js +1 -30
  195. package/dist/commands/node/bash.js +5 -245
  196. package/dist/commands/node/create.js +3 -332
  197. package/dist/commands/node/inspect.js +12 -300
  198. package/dist/commands/node/lifecycle.js +2 -453
  199. package/dist/commands/node/message.js +1 -161
  200. package/dist/commands/node/outcome.js +4 -134
  201. package/dist/commands/node/pyramid.js +2 -79
  202. package/dist/commands/node/subscription.js +1 -78
  203. package/dist/commands/node/wait.js +7 -163
  204. package/dist/commands/node-context.js +2 -159
  205. package/dist/commands/node-inspect-artifacts.js +8 -109
  206. package/dist/commands/node-lifecycle-revive.js +1 -217
  207. package/dist/commands/node-snapshot.js +1 -37
  208. package/dist/commands/node-transcript.js +1 -62
  209. package/dist/commands/node-worktree.js +1 -138
  210. package/dist/commands/node.js +1 -29
  211. package/dist/commands/pkg/browse/actions.js +1 -198
  212. package/dist/commands/pkg/browse/catalog.js +1 -466
  213. package/dist/commands/pkg/browse/command-view.js +1 -191
  214. package/dist/commands/pkg/browse/detail-panel.js +1 -402
  215. package/dist/commands/pkg/browse/doc-view.js +1 -89
  216. package/dist/commands/pkg/browse/list-panel.js +2 -168
  217. package/dist/commands/pkg/browse/model.js +1 -36
  218. package/dist/commands/pkg/browse/shell.js +1 -640
  219. package/dist/commands/pkg/browse.js +1 -27
  220. package/dist/commands/pkg/market-inspect.js +1 -141
  221. package/dist/commands/pkg/market-manage.js +1 -327
  222. package/dist/commands/pkg/market.js +1 -14
  223. package/dist/commands/pkg/plugin-inspect.js +1 -168
  224. package/dist/commands/pkg/plugin-manage.js +17 -1109
  225. package/dist/commands/pkg/plugin.js +1 -14
  226. package/dist/commands/pkg/shared.js +1 -62
  227. package/dist/commands/pkg.js +1 -21
  228. package/dist/commands/profile/default.js +1 -139
  229. package/dist/commands/profile/delete.js +1 -66
  230. package/dist/commands/profile/env.js +3 -188
  231. package/dist/commands/profile/kind.js +2 -35
  232. package/dist/commands/profile/list.js +1 -43
  233. package/dist/commands/profile/meta.js +1 -67
  234. package/dist/commands/profile/new.js +1 -115
  235. package/dist/commands/profile/pause.js +1 -59
  236. package/dist/commands/profile/project.js +1 -113
  237. package/dist/commands/profile/rename.js +1 -38
  238. package/dist/commands/profile/show.js +1 -52
  239. package/dist/commands/profile.js +1 -35
  240. package/dist/commands/push.js +9 -265
  241. package/dist/commands/revive.js +10 -181
  242. package/dist/commands/surface/node/cycle.js +1 -83
  243. package/dist/commands/surface/node/focus.js +1 -81
  244. package/dist/commands/surface/node/id.js +1 -38
  245. package/dist/commands/surface/node/pin.js +1 -42
  246. package/dist/commands/surface/node/placement.js +1 -134
  247. package/dist/commands/surface-edit.js +1 -157
  248. package/dist/commands/surface-inbox.js +1 -98
  249. package/dist/commands/surface-inspect.js +1 -39
  250. package/dist/commands/surface-node.js +1 -19
  251. package/dist/commands/surface-reload.js +2 -134
  252. package/dist/commands/surface-tmux-spread.js +1 -214
  253. package/dist/commands/surface.js +1 -28
  254. package/dist/commands/sys/branch.js +1 -19
  255. package/dist/commands/sys/config.js +1 -353
  256. package/dist/commands/sys/context/admin/actions.js +2 -246
  257. package/dist/commands/sys/context/admin/detail-panel.js +1 -247
  258. package/dist/commands/sys/context/admin/docs-panel.js +1 -191
  259. package/dist/commands/sys/context/admin/list-view.js +1 -183
  260. package/dist/commands/sys/context/admin/model.js +1 -229
  261. package/dist/commands/sys/context/admin/rail-panel.js +1 -227
  262. package/dist/commands/sys/context/admin/read-view.js +2 -194
  263. package/dist/commands/sys/context/admin/shell.js +1 -910
  264. package/dist/commands/sys/context/admin.js +2 -126
  265. package/dist/commands/sys/context/doc.js +3 -197
  266. package/dist/commands/sys/context/prompt-review.js +11 -291
  267. package/dist/commands/sys/context/resolve.js +10 -489
  268. package/dist/commands/sys/context/sysprompt.js +5 -96
  269. package/dist/commands/sys/context.js +1 -20
  270. package/dist/commands/sys/daemon.js +1 -313
  271. package/dist/commands/sys/doctor.js +1 -617
  272. package/dist/commands/sys/feedback.js +7 -228
  273. package/dist/commands/sys/logs.js +3 -129
  274. package/dist/commands/sys/migrate.js +1 -94
  275. package/dist/commands/sys/panels/broker-limits-panel.js +2 -110
  276. package/dist/commands/sys/panels/dependencies-panel.js +1 -80
  277. package/dist/commands/sys/panels/keybindings-panel.js +1 -703
  278. package/dist/commands/sys/panels/models-panel.js +1 -1133
  279. package/dist/commands/sys/panels/plugins-panel.js +1 -80
  280. package/dist/commands/sys/panels/prefs-panel.js +1 -85
  281. package/dist/commands/sys/panels/profiles-panel.js +1 -601
  282. package/dist/commands/sys/panels/provider-panel.js +1 -538
  283. package/dist/commands/sys/settings-shell.js +1 -400
  284. package/dist/commands/sys/settings.js +1 -46
  285. package/dist/commands/sys/setup-core.js +6 -579
  286. package/dist/commands/sys/setup-settings-runner.js +1 -16
  287. package/dist/commands/sys/setup-wizard.js +1 -279
  288. package/dist/commands/sys/setup.js +1 -34
  289. package/dist/commands/sys/shared.js +1 -81
  290. package/dist/commands/sys/support/prepare.js +3 -239
  291. package/dist/commands/sys/support/submit.js +6 -524
  292. package/dist/commands/sys/support.js +1 -18
  293. package/dist/commands/sys/sync-deps.js +15 -498
  294. package/dist/commands/sys/sync-project-guidance.js +4 -481
  295. package/dist/commands/sys/sync-shared.js +1 -49
  296. package/dist/commands/sys/sync-skills.js +2 -311
  297. package/dist/commands/sys/sync.js +1 -18
  298. package/dist/commands/sys/update.js +1 -147
  299. package/dist/commands/sys/worktrees.js +5 -53
  300. package/dist/commands/sys.js +1 -18
  301. package/dist/core/activity-signal.js +2 -38
  302. package/dist/core/asset-root.js +1 -18
  303. package/dist/core/auth-file.js +2 -179
  304. package/dist/core/auth-interaction.js +3 -94
  305. package/dist/core/auto-update.js +4 -94
  306. package/dist/core/bash-guard.js +11 -393
  307. package/dist/core/bash-jobs.js +7 -411
  308. package/dist/core/bootstrap.js +2 -53
  309. package/dist/core/broker-client/client.js +1 -184
  310. package/dist/core/broker-client/index.js +1 -13
  311. package/dist/core/broker-client/transport-relay.js +1 -157
  312. package/dist/core/broker-client/transport-socket.js +1 -179
  313. package/dist/core/broker-client/transport.js +1 -26
  314. package/dist/core/canvas/attention.js +1 -47
  315. package/dist/core/canvas/boot-id.js +1 -26
  316. package/dist/core/canvas/boot.js +1 -186
  317. package/dist/core/canvas/browse/app.js +3 -919
  318. package/dist/core/canvas/browse/model.js +1 -477
  319. package/dist/core/canvas/browse/pins.js +1 -29
  320. package/dist/core/canvas/browse/render.js +3 -1055
  321. package/dist/core/canvas/canvas.js +15 -922
  322. package/dist/core/canvas/crons.js +11 -481
  323. package/dist/core/canvas/daemon-owner.js +2 -146
  324. package/dist/core/canvas/db.js +2 -100
  325. package/dist/core/canvas/deliveries.js +22 -283
  326. package/dist/core/canvas/delivery-contract.js +1 -8
  327. package/dist/core/canvas/executions.js +1 -68
  328. package/dist/core/canvas/extensions.js +1 -83
  329. package/dist/core/canvas/focuses.js +1 -77
  330. package/dist/core/canvas/history.js +24 -860
  331. package/dist/core/canvas/index.js +1 -15
  332. package/dist/core/canvas/install-id.js +1 -84
  333. package/dist/core/canvas/labels.js +1 -43
  334. package/dist/core/canvas/meta-file.js +1 -89
  335. package/dist/core/canvas/migrations.js +41 -1150
  336. package/dist/core/canvas/nav-model.js +1 -231
  337. package/dist/core/canvas/nav-render.js +1 -260
  338. package/dist/core/canvas/node-order.js +1 -37
  339. package/dist/core/canvas/node-recap.js +2 -67
  340. package/dist/core/canvas/node-sql-migration.js +2 -209
  341. package/dist/core/canvas/paths.js +1 -153
  342. package/dist/core/canvas/pid.js +4 -683
  343. package/dist/core/canvas/recovery.js +3 -565
  344. package/dist/core/canvas/remote-canvas-source.js +1 -288
  345. package/dist/core/canvas/remote-transport.js +1 -57
  346. package/dist/core/canvas/render-source.js +10 -635
  347. package/dist/core/canvas/sessions.js +1 -78
  348. package/dist/core/canvas/source.js +1 -47
  349. package/dist/core/canvas/status-glyph.js +1 -132
  350. package/dist/core/canvas/telemetry.js +1 -35
  351. package/dist/core/canvas/types.js +1 -6
  352. package/dist/core/canvas/waits.js +4 -68
  353. package/dist/core/canvas/worktrees.js +1 -93
  354. package/dist/core/clipboard-text.js +1 -57
  355. package/dist/core/command-hooks/artifact.js +1 -145
  356. package/dist/core/command-hooks/catalog.js +1 -38
  357. package/dist/core/command-hooks/compose.js +1 -99
  358. package/dist/core/command-hooks/discovery.js +1 -228
  359. package/dist/core/command-hooks/help.js +1 -18
  360. package/dist/core/command-hooks/index.js +1 -7
  361. package/dist/core/command-hooks/lifecycle-catalog.js +1 -9
  362. package/dist/core/command-hooks/lifecycle-create.js +1 -51
  363. package/dist/core/command-hooks/report.js +1 -28
  364. package/dist/core/command-hooks/schema.js +1 -157
  365. package/dist/core/command-hooks/transport/exec-invoke.js +1 -276
  366. package/dist/core/command-hooks/transport/exec-lifecycle.js +1 -211
  367. package/dist/core/command-manifests/manifest.js +1 -324
  368. package/dist/core/command-manifests/registry.js +1 -118
  369. package/dist/core/command-manifests/schema.js +1 -736
  370. package/dist/core/command-plugins/bundle.js +1 -261
  371. package/dist/core/command-plugins/compose.js +1 -65
  372. package/dist/core/command-plugins/discovery.js +1 -245
  373. package/dist/core/command-plugins/endpoint.js +1 -48
  374. package/dist/core/command-plugins/extensions.js +1 -166
  375. package/dist/core/command-plugins/help-addenda.js +1 -44
  376. package/dist/core/command-plugins/presence.js +1 -17
  377. package/dist/core/command-plugins/revalidate.js +2 -152
  378. package/dist/core/command-plugins/transport/exec-invoke.js +1 -215
  379. package/dist/core/command-plugins/transport/http-fetch.js +1 -68
  380. package/dist/core/command-plugins/transport/http-invoke.js +3 -546
  381. package/dist/core/command.js +10 -739
  382. package/dist/core/config.js +1 -1059
  383. package/dist/core/document-lines.js +3 -6
  384. package/dist/core/env-name.js +1 -9
  385. package/dist/core/errors.js +1 -52
  386. package/dist/core/events/emit.js +1 -17
  387. package/dist/core/events/envelope.js +1 -84
  388. package/dist/core/events/errors.js +1 -69
  389. package/dist/core/events/index.js +1 -4
  390. package/dist/core/events/operation-id.js +1 -24
  391. package/dist/core/events/read.js +1 -623
  392. package/dist/core/events/serialize.js +1 -199
  393. package/dist/core/events/source.js +1 -31
  394. package/dist/core/events/types.js +1 -11
  395. package/dist/core/exclusive-lock.js +1 -197
  396. package/dist/core/fault-classifier.js +1 -96
  397. package/dist/core/feed/feed.js +7 -202
  398. package/dist/core/feed/inbox-migrate.js +3 -135
  399. package/dist/core/feed/inbox.js +10 -122
  400. package/dist/core/feed/messages.js +6 -212
  401. package/dist/core/frontmatter.js +1 -35
  402. package/dist/core/fs-utils.js +3 -202
  403. package/dist/core/git.js +2 -103
  404. package/dist/core/help.js +9 -310
  405. package/dist/core/host-exports/builtins.js +9 -68
  406. package/dist/core/host-exports/export.js +3 -124
  407. package/dist/core/human/action-binding.js +1 -40
  408. package/dist/core/human/answer-text.js +5 -100
  409. package/dist/core/human/answer.js +1 -119
  410. package/dist/core/human/claim.js +3 -67
  411. package/dist/core/human/completion.js +1 -27
  412. package/dist/core/human/component-docs.js +78 -272
  413. package/dist/core/human/convention.js +2 -82
  414. package/dist/core/human/feedback-companion.js +1 -106
  415. package/dist/core/human/feedback.js +1 -88
  416. package/dist/core/human/page-authoring.js +1 -19
  417. package/dist/core/human/page-catalog.js +1 -172
  418. package/dist/core/human/page-errors.js +1 -7
  419. package/dist/core/human/page-eval.js +1 -125
  420. package/dist/core/human/page-html-markdown.js +8 -260
  421. package/dist/core/human/page-markdown.js +17 -295
  422. package/dist/core/human/page-schema.js +1 -373
  423. package/dist/core/human/page-synth.js +8 -27
  424. package/dist/core/human/page.js +1 -198
  425. package/dist/core/human/requests.js +15 -466
  426. package/dist/core/human/review-schema.js +1 -34
  427. package/dist/core/human/root.js +1 -11
  428. package/dist/core/human/scan.js +1 -69
  429. package/dist/core/human/summary.js +1 -5
  430. package/dist/core/human/tickets.js +1 -171
  431. package/dist/core/human/types.js +0 -1
  432. package/dist/core/human/visible-paths.js +1 -77
  433. package/dist/core/human-actions.js +1 -101
  434. package/dist/core/inspector/chrome.js +1 -14
  435. package/dist/core/inspector/contract.js +0 -1
  436. package/dist/core/inspector/core.js +2 -295
  437. package/dist/core/inspector/host.js +4 -538
  438. package/dist/core/inspector/model.js +2 -226
  439. package/dist/core/inspector/text.js +6 -45
  440. package/dist/core/inspector/transport.js +1 -36
  441. package/dist/core/inspector/tui.js +2 -295
  442. package/dist/core/installed-plugins.js +1 -78
  443. package/dist/core/io.js +7 -356
  444. package/dist/core/keybindings/attach-control.js +1 -42
  445. package/dist/core/keybindings/background-bash.js +1 -33
  446. package/dist/core/keybindings/catalog.js +1 -256
  447. package/dist/core/keybindings/inbox.js +1 -25
  448. package/dist/core/keybindings/index.js +1 -7
  449. package/dist/core/keybindings/match.js +1 -127
  450. package/dist/core/keybindings/persistence.js +1 -49
  451. package/dist/core/keybindings/resolve.js +1 -348
  452. package/dist/core/keybindings/types.js +0 -1
  453. package/dist/core/locked-file.js +1 -118
  454. package/dist/core/log.js +3 -27
  455. package/dist/core/manifest-recovery.js +1 -72
  456. package/dist/core/manifest-stale.js +1 -39
  457. package/dist/core/manifest.js +1 -20
  458. package/dist/core/memory/doc-link-grammar.js +2 -109
  459. package/dist/core/memory/extensions.js +1 -221
  460. package/dist/core/memory/history.js +6 -268
  461. package/dist/core/memory/identity.js +1 -181
  462. package/dist/core/memory/inline-ref-grammar.js +1 -98
  463. package/dist/core/memory/inline-ref-guidance.js +2 -35
  464. package/dist/core/memory/inline-ref-inventory.js +1 -59
  465. package/dist/core/memory/lint.js +2 -671
  466. package/dist/core/memory/project-namespace.js +2 -85
  467. package/dist/core/memory/repository-association.js +1 -129
  468. package/dist/core/memory/tree.js +1 -93
  469. package/dist/core/memory-resolver.js +2 -611
  470. package/dist/core/model-config.js +1 -107
  471. package/dist/core/model-routes.js +1 -201
  472. package/dist/core/nested-stores.js +2 -166
  473. package/dist/core/output.js +7 -99
  474. package/dist/core/pagination.js +1 -88
  475. package/dist/core/plugin-swap-lock.js +1 -31
  476. package/dist/core/pool-credential-store.js +1 -116
  477. package/dist/core/predicate.js +1 -191
  478. package/dist/core/preview-registry.js +2 -411
  479. package/dist/core/preview-result-path.js +1 -26
  480. package/dist/core/profiles/default-binding.js +1 -24
  481. package/dist/core/profiles/deletion-reservation.js +1 -42
  482. package/dist/core/profiles/env-store.js +2 -162
  483. package/dist/core/profiles/fuzzy-match.js +1 -92
  484. package/dist/core/profiles/manifest.js +1 -574
  485. package/dist/core/profiles/select.js +35 -741
  486. package/dist/core/profiles/state-block.js +3 -17
  487. package/dist/core/provider-error-recognition.js +1 -74
  488. package/dist/core/provider-failure.js +1 -86
  489. package/dist/core/provider-management.js +1 -22
  490. package/dist/core/remote-canvas-target.js +1 -30
  491. package/dist/core/render.js +18 -138
  492. package/dist/core/resolver.js +1 -111
  493. package/dist/core/review/birth.js +1 -52
  494. package/dist/core/review/comments.js +5 -279
  495. package/dist/core/review/companion.js +1 -215
  496. package/dist/core/review/document.js +2 -138
  497. package/dist/core/review/project.js +1 -36
  498. package/dist/core/review/realize.js +1 -71
  499. package/dist/core/review/remap.js +4 -141
  500. package/dist/core/review/signal.js +1 -12
  501. package/dist/core/review/stage.js +1 -184
  502. package/dist/core/review/store.js +1 -168
  503. package/dist/core/review/types.js +1 -23
  504. package/dist/core/runtime/advertised-command-invocation.js +1 -233
  505. package/dist/core/runtime/auth-reload.js +1 -67
  506. package/dist/core/runtime/banner.js +1 -51
  507. package/dist/core/runtime/bearings-render.js +18 -250
  508. package/dist/core/runtime/bearings.js +7 -194
  509. package/dist/core/runtime/bin-contributions.js +2 -186
  510. package/dist/core/runtime/boot-root.js +1 -107
  511. package/dist/core/runtime/branded-host.js +2 -264
  512. package/dist/core/runtime/broker/auth-reload.js +1 -157
  513. package/dist/core/runtime/broker/client-registry.js +1 -179
  514. package/dist/core/runtime/broker/daemon-ops.js +1 -88
  515. package/dist/core/runtime/broker/engine-drive.js +1 -354
  516. package/dist/core/runtime/broker/engine-routing.js +1 -211
  517. package/dist/core/runtime/broker/event-projection.js +1 -193
  518. package/dist/core/runtime/broker/extension-abort.js +1 -36
  519. package/dist/core/runtime/broker/fault-retry.js +1 -588
  520. package/dist/core/runtime/broker/frame-client.js +1 -132
  521. package/dist/core/runtime/broker/frame-dispatch.js +1 -183
  522. package/dist/core/runtime/broker/frame-engine-control.js +1 -231
  523. package/dist/core/runtime/broker/frame-memory-refs.js +1 -41
  524. package/dist/core/runtime/broker/frame-model-query.js +1 -69
  525. package/dist/core/runtime/broker/frame-read.js +1 -116
  526. package/dist/core/runtime/broker/frame-replies.js +1 -64
  527. package/dist/core/runtime/broker/frame-session.js +4 -203
  528. package/dist/core/runtime/broker/held-deferred-inbox.js +1 -13
  529. package/dist/core/runtime/broker/inbox.js +13 -163
  530. package/dist/core/runtime/broker/node-named.js +1 -27
  531. package/dist/core/runtime/broker/read-ops.js +1 -171
  532. package/dist/core/runtime/broker/rebind.js +1 -318
  533. package/dist/core/runtime/broker/tool-groups.js +1 -246
  534. package/dist/core/runtime/broker/turn-admission.js +1 -31
  535. package/dist/core/runtime/broker/turn-ignition.js +1 -84
  536. package/dist/core/runtime/broker-cli.js +3 -81
  537. package/dist/core/runtime/broker-extension-render.js +5 -135
  538. package/dist/core/runtime/broker-inventory.js +1 -116
  539. package/dist/core/runtime/broker-persona-guidance.js +4 -154
  540. package/dist/core/runtime/broker-protocol.js +3 -152
  541. package/dist/core/runtime/broker-request.js +1 -85
  542. package/dist/core/runtime/broker-sdk.js +1 -129
  543. package/dist/core/runtime/broker.js +1 -1214
  544. package/dist/core/runtime/canvas-extensions.js +1 -96
  545. package/dist/core/runtime/chat-inventory-rows.js +1 -105
  546. package/dist/core/runtime/close.js +1 -265
  547. package/dist/core/runtime/command-expansion.js +9 -104
  548. package/dist/core/runtime/command-surface.js +1 -117
  549. package/dist/core/runtime/connectivity.js +1 -73
  550. package/dist/core/runtime/deliver-live.js +1 -88
  551. package/dist/core/runtime/fault-recovery.js +1 -83
  552. package/dist/core/runtime/fault.js +1 -17
  553. package/dist/core/runtime/fleet.js +1 -58
  554. package/dist/core/runtime/front-door-env.js +1 -16
  555. package/dist/core/runtime/front-door.js +7 -183
  556. package/dist/core/runtime/headless-pi.js +1 -161
  557. package/dist/core/runtime/host.js +1 -457
  558. package/dist/core/runtime/interactive-deliver.js +1 -51
  559. package/dist/core/runtime/invocation.js +0 -10
  560. package/dist/core/runtime/kickoff.js +30 -327
  561. package/dist/core/runtime/launch-config-worker.js +1 -12
  562. package/dist/core/runtime/launch-prompt.js +4 -13
  563. package/dist/core/runtime/launch-target.js +1 -55
  564. package/dist/core/runtime/launch.js +1 -483
  565. package/dist/core/runtime/lifecycle.js +2 -213
  566. package/dist/core/runtime/managed-provider-cooling.js +1 -62
  567. package/dist/core/runtime/memory.js +1 -17
  568. package/dist/core/runtime/model-registry.js +1 -13
  569. package/dist/core/runtime/model-selection.js +1 -135
  570. package/dist/core/runtime/model-swap.js +1 -86
  571. package/dist/core/runtime/naming.js +14 -298
  572. package/dist/core/runtime/nerd-font.js +2 -127
  573. package/dist/core/runtime/node-read.js +2 -386
  574. package/dist/core/runtime/nodes.js +1 -331
  575. package/dist/core/runtime/outcome-document.js +1 -97
  576. package/dist/core/runtime/package-health.js +4 -99
  577. package/dist/core/runtime/persona.js +2 -55
  578. package/dist/core/runtime/pi-cli.js +1 -65
  579. package/dist/core/runtime/pi-vendored.js +1 -66
  580. package/dist/core/runtime/placement-tmux.js +1 -81
  581. package/dist/core/runtime/placement.js +1 -386
  582. package/dist/core/runtime/promote.js +1 -174
  583. package/dist/core/runtime/prospective-inventory-cli.js +3 -61
  584. package/dist/core/runtime/prospective-inventory.js +2 -88
  585. package/dist/core/runtime/recap.js +27 -103
  586. package/dist/core/runtime/recycle.js +1 -190
  587. package/dist/core/runtime/reopen.js +1 -138
  588. package/dist/core/runtime/reset.js +1 -245
  589. package/dist/core/runtime/resume-root.js +10 -290
  590. package/dist/core/runtime/revive-all.js +1 -107
  591. package/dist/core/runtime/revive.js +4 -544
  592. package/dist/core/runtime/roadmap.js +4 -38
  593. package/dist/core/runtime/session-branch.js +1 -46
  594. package/dist/core/runtime/session-cycles.js +1 -110
  595. package/dist/core/runtime/session-list-cache.js +1 -406
  596. package/dist/core/runtime/session-visibility.js +1 -99
  597. package/dist/core/runtime/shell-expansion.js +9 -100
  598. package/dist/core/runtime/situational-context.js +2 -67
  599. package/dist/core/runtime/situational-live.js +1 -41
  600. package/dist/core/runtime/spawn-env.js +1 -255
  601. package/dist/core/runtime/spawn.js +3 -577
  602. package/dist/core/runtime/stamp/channel.js +1 -76
  603. package/dist/core/runtime/stamp/protocol.js +1 -113
  604. package/dist/core/runtime/stop-guard.js +7 -116
  605. package/dist/core/runtime/stop-signals.js +1 -46
  606. package/dist/core/runtime/stream-watchdog.js +1 -134
  607. package/dist/core/runtime/structured-output.js +4 -156
  608. package/dist/core/runtime/surface-bg.js +1 -85
  609. package/dist/core/runtime/tmux-bindings.js +4 -730
  610. package/dist/core/runtime/tmux-chrome.js +1 -5
  611. package/dist/core/runtime/tmux-driver.js +7 -637
  612. package/dist/core/runtime/tool-group-summary.js +6 -85
  613. package/dist/core/runtime/turn-visibility.js +1 -31
  614. package/dist/core/runtime/view-socket.js +1 -83
  615. package/dist/core/runtime/warm-pool.d.ts +3 -2
  616. package/dist/core/runtime/warm-pool.js +1 -385
  617. package/dist/core/scope.js +1 -254
  618. package/dist/core/scoped-state/db.js +1 -135
  619. package/dist/core/scoped-state/migrate.js +3 -181
  620. package/dist/core/scoped-state/paths.js +1 -27
  621. package/dist/core/scoped-state/profiles.js +1 -62
  622. package/dist/core/scoped-state/providers.js +1 -8
  623. package/dist/core/scoped-state/schema.js +3 -16
  624. package/dist/core/scoped-state/settings.js +1 -82
  625. package/dist/core/secrets.js +2 -55
  626. package/dist/core/self-update.js +1 -71
  627. package/dist/core/session-model/session-state.js +1 -180
  628. package/dist/core/shell-segments.js +4 -169
  629. package/dist/core/spawn.js +1 -26
  630. package/dist/core/stdout-errors.js +1 -14
  631. package/dist/core/subscription-state.js +3 -193
  632. package/dist/core/substrate/frontmatter-validation.js +1 -105
  633. package/dist/core/substrate/gate-explain.js +1 -424
  634. package/dist/core/substrate/gate.js +1 -26
  635. package/dist/core/substrate/index.js +1 -30
  636. package/dist/core/substrate/injected-store.js +1 -249
  637. package/dist/core/substrate/listings.js +1 -115
  638. package/dist/core/substrate/on-read-node.js +1 -36
  639. package/dist/core/substrate/on-read.js +9 -315
  640. package/dist/core/substrate/plan.js +1 -266
  641. package/dist/core/substrate/render-node.js +1 -30
  642. package/dist/core/substrate/render.js +65 -689
  643. package/dist/core/substrate/schema.js +1 -186
  644. package/dist/core/substrate/session-cache.js +1 -83
  645. package/dist/core/substrate/subject-fields.js +1 -35
  646. package/dist/core/substrate/subject.js +1 -47
  647. package/dist/core/substrate/surface-match.js +1 -242
  648. package/dist/core/termrender/code-doc.js +5 -92
  649. package/dist/core/termrender/display.js +2 -56
  650. package/dist/core/termrender/termrender.js +14 -719
  651. package/dist/core/termrender/version.js +1 -1
  652. package/dist/core/timing.js +2 -94
  653. package/dist/core/tui/draw.js +2 -378
  654. package/dist/core/tui/fuzzy.js +1 -38
  655. package/dist/core/tui/markdown.js +3 -407
  656. package/dist/core/tui/page-host.js +1 -74
  657. package/dist/core/tui/panel.js +1 -137
  658. package/dist/core/tui/terminal.js +2 -100
  659. package/dist/core/user-settings.js +1 -454
  660. package/dist/core/wake.js +1 -296
  661. package/dist/core/worktree-close.js +6 -228
  662. package/dist/core/worktree-containment.js +3 -48
  663. package/dist/core/worktree-landing.js +4 -56
  664. package/dist/core/worktree-mutation-async.js +10 -280
  665. package/dist/core/worktree-quarantine.js +1 -54
  666. package/dist/core/worktree-sweep.js +6 -453
  667. package/dist/core/worktree.js +18 -899
  668. package/dist/daemon/api/bridge.js +8 -418
  669. package/dist/daemon/api/handlers/attach.js +1 -65
  670. package/dist/daemon/api/handlers/bash-jobs.js +2 -91
  671. package/dist/daemon/api/handlers/broker-ops.js +1 -447
  672. package/dist/daemon/api/handlers/broker-recovery.js +1 -251
  673. package/dist/daemon/api/handlers/canvas.js +6 -490
  674. package/dist/daemon/api/handlers/chat-inventory.js +1 -25
  675. package/dist/daemon/api/handlers/crons.js +1 -373
  676. package/dist/daemon/api/handlers/daemon.js +1 -76
  677. package/dist/daemon/api/handlers/feedback-comments.js +3 -199
  678. package/dist/daemon/api/handlers/files.js +1 -63
  679. package/dist/daemon/api/handlers/focus.js +1 -92
  680. package/dist/daemon/api/handlers/health.js +1 -76
  681. package/dist/daemon/api/handlers/human-requests.js +1 -379
  682. package/dist/daemon/api/handlers/human.js +1 -3
  683. package/dist/daemon/api/handlers/inbox-page.js +1 -89
  684. package/dist/daemon/api/handlers/inbox.js +1 -301
  685. package/dist/daemon/api/handlers/memory.js +1 -50
  686. package/dist/daemon/api/handlers/messages.js +2 -506
  687. package/dist/daemon/api/handlers/model-config.js +1 -44
  688. package/dist/daemon/api/handlers/modelauth.js +1 -165
  689. package/dist/daemon/api/handlers/node-outcomes.js +1 -181
  690. package/dist/daemon/api/handlers/nodes.js +1 -943
  691. package/dist/daemon/api/handlers/profiles.js +1 -140
  692. package/dist/daemon/api/handlers/prospective-chat-inventory.js +1 -59
  693. package/dist/daemon/api/handlers/reports.js +16 -332
  694. package/dist/daemon/api/handlers/review-comments.js +1 -465
  695. package/dist/daemon/api/handlers/reviews.js +1 -200
  696. package/dist/daemon/api/handlers/subscriptions.js +1 -53
  697. package/dist/daemon/api/handlers/validate.js +1 -58
  698. package/dist/daemon/api/handlers/worktree.js +1 -39
  699. package/dist/daemon/api/map.js +2 -735
  700. package/dist/daemon/api/router.js +1 -190
  701. package/dist/daemon/api/server.js +11 -408
  702. package/dist/daemon/boot-migrations.js +1 -31
  703. package/dist/daemon/companion-retire.js +1 -34
  704. package/dist/daemon/control.js +1 -22
  705. package/dist/daemon/cron/armed-context.js +1 -100
  706. package/dist/daemon/cron/capture.js +2 -45
  707. package/dist/daemon/cron/disposition.js +1 -55
  708. package/dist/daemon/cron/escalation.js +3 -124
  709. package/dist/daemon/cron/held.js +1 -20
  710. package/dist/daemon/cron/lease-recovery.js +1 -119
  711. package/dist/daemon/cron/live-runs.js +1 -23
  712. package/dist/daemon/cron/passes.js +1 -58
  713. package/dist/daemon/cron/settle.js +1 -61
  714. package/dist/daemon/cron/sinks.js +2 -59
  715. package/dist/daemon/cron-run.js +1 -405
  716. package/dist/daemon/crtrd-cli.js +1 -23
  717. package/dist/daemon/crtrd.js +8 -854
  718. package/dist/daemon/delivery/run-delivery.js +1 -164
  719. package/dist/daemon/fleet.js +17 -475
  720. package/dist/daemon/human/finish.js +10 -179
  721. package/dist/daemon/human/settle.js +1 -89
  722. package/dist/daemon/human/sweep.js +1 -66
  723. package/dist/daemon/manage.js +2 -595
  724. package/dist/daemon/messaging/node-message.js +1 -99
  725. package/dist/daemon/park-activity.js +1 -30
  726. package/dist/daemon/park-pending.js +1 -52
  727. package/dist/daemon/pidfile.js +1 -37
  728. package/dist/daemon/profile-delete.js +1 -306
  729. package/dist/daemon/reconcilers/bash-deadline.js +1 -80
  730. package/dist/daemon/reconcilers/broker-supervision.js +4 -761
  731. package/dist/daemon/reconcilers/controller-death.js +1 -14
  732. package/dist/daemon/reconcilers/cron-lane.js +1 -29
  733. package/dist/daemon/reconcilers/delivery-lane.js +1 -130
  734. package/dist/daemon/reconcilers/live-obligation.js +1 -87
  735. package/dist/daemon/reconcilers/managed-worktree-sweep.js +1 -202
  736. package/dist/daemon/reconcilers/node-deadline.js +1 -82
  737. package/dist/daemon/reconcilers/node-lifecycle/freeze-lane.js +1 -172
  738. package/dist/daemon/reconcilers/node-lifecycle/respawn-policy.js +1 -59
  739. package/dist/daemon/reconcilers/node-lifecycle/terminating.js +1 -12
  740. package/dist/daemon/reconcilers/node-lifecycle/tick.js +1 -146
  741. package/dist/daemon/reconcilers/node-lifecycle/wants-execution.js +1 -11
  742. package/dist/daemon/reconcilers/pending-review-submit.js +1 -36
  743. package/dist/daemon/reconcilers/storage-maintenance.js +1 -207
  744. package/dist/daemon/review/comment-notify.js +2 -109
  745. package/dist/daemon/review/companion.js +1 -29
  746. package/dist/daemon/review/deliver.js +3 -8
  747. package/dist/daemon/review/finish.js +1 -122
  748. package/dist/daemon/review/sweep.js +1 -18
  749. package/dist/daemon/startup-policy.js +1 -1
  750. package/dist/daemon/supervise-cadence.js +1 -6
  751. package/dist/hook-authoring.js +5 -447
  752. package/dist/hook-process.js +1 -34
  753. package/dist/index.js +1 -52
  754. package/dist/migrations/001-surfaces-frontmatter.js +1 -161
  755. package/dist/migrations/002-profile-project-memory.js +1 -72
  756. package/dist/migrations/003-repository-root-memory-identity/front-door.js +11 -231
  757. package/dist/migrations/003-repository-root-memory-identity/index.js +5 -513
  758. package/dist/migrations/003-repository-root-memory-identity/references.js +5 -469
  759. package/dist/migrations/003-repository-root-memory-identity/repository-facts.js +3 -349
  760. package/dist/migrations/activation.js +2 -89
  761. package/dist/migrations/convergent.js +2 -82
  762. package/dist/migrations/corpus.js +3 -483
  763. package/dist/migrations/frontmatter-splice.js +8 -176
  764. package/dist/migrations/profile-manifests.js +2 -70
  765. package/dist/migrations/registry.js +1 -42
  766. package/dist/migrations/runner.js +1 -85
  767. package/dist/migrations/types.js +0 -24
  768. package/dist/pi-extensions/broker-local.js +2 -106
  769. package/dist/pi-extensions/canvas-bash-valve.js +7 -461
  770. package/dist/pi-extensions/canvas-context-intro.js +2 -113
  771. package/dist/pi-extensions/canvas-doc-substrate.js +9 -178
  772. package/dist/pi-extensions/canvas-goal-capture.js +1 -83
  773. package/dist/pi-extensions/canvas-inbox-watcher.js +1 -1010
  774. package/dist/pi-extensions/canvas-passive-context.js +14 -203
  775. package/dist/pi-extensions/canvas-preview-result.js +2 -72
  776. package/dist/pi-extensions/canvas-prompt-scrub.js +2 -54
  777. package/dist/pi-extensions/canvas-recap.js +11 -405
  778. package/dist/pi-extensions/canvas-review-boundary.js +3 -63
  779. package/dist/pi-extensions/canvas-stamp.js +2 -77
  780. package/dist/pi-extensions/canvas-stophook.js +1 -643
  781. package/dist/pi-extensions/canvas-structured-output.js +13 -35
  782. package/dist/pi-extensions/canvas-tool-guide.js +9 -78
  783. package/dist/pi-extensions/envelope-merge.js +8 -29
  784. package/dist/prompts/review.js +20 -42
  785. package/dist/shared/birth-announcement.js +1 -25
  786. package/dist/shared/crtr-version.js +1 -18
  787. package/dist/shared/env.js +1 -214
  788. package/dist/shared/generated-context.js +11 -226
  789. package/dist/shared/predicates.js +1 -4
  790. package/dist/shared/shell-quote.js +1 -5
  791. package/dist/shared/tool-groups.js +1 -64
  792. package/dist/shared/working-activity.js +1 -27
  793. package/dist/suppress-experimental-warnings.js +1 -15
  794. package/dist/types.js +1 -185
  795. package/docs/public-api.md +10 -9
  796. package/package.json +6 -5
  797. package/runtime.lock.json +5 -5
  798. package/dist/api/__tests__/integration/client.test.d.ts +0 -1
  799. package/dist/api/__tests__/integration/client.test.js +0 -163
  800. package/dist/builtin-pi-packages/pi-crtr-extensions/__tests__/insights-active-init.test.ts +0 -98
  801. package/dist/builtin-pi-packages/pi-crtr-extensions/extensions/__tests__/crtr-commands.test.ts +0 -93
  802. package/dist/builtin-pi-packages/pi-crtr-extensions/extensions/__tests__/integration/provider-rotation.test.ts +0 -2530
  803. package/dist/clients/__tests__/helpers/human-daemon.d.ts +0 -11
  804. package/dist/clients/__tests__/helpers/human-daemon.js +0 -60
  805. package/dist/clients/attach/__tests__/attach-remote-readonly.test.d.ts +0 -1
  806. package/dist/clients/attach/__tests__/attach-remote-readonly.test.js +0 -97
  807. package/dist/clients/attach/__tests__/bash-call-width.test.d.ts +0 -1
  808. package/dist/clients/attach/__tests__/bash-call-width.test.js +0 -38
  809. package/dist/clients/attach/__tests__/chat-view-snapshot-ordering.test.d.ts +0 -1
  810. package/dist/clients/attach/__tests__/chat-view-snapshot-ordering.test.js +0 -175
  811. package/dist/clients/attach/__tests__/completion-frecency.test.d.ts +0 -1
  812. package/dist/clients/attach/__tests__/completion-frecency.test.js +0 -35
  813. package/dist/clients/attach/__tests__/context-message.test.d.ts +0 -1
  814. package/dist/clients/attach/__tests__/context-message.test.js +0 -130
  815. package/dist/clients/attach/__tests__/crtr-output.test.d.ts +0 -1
  816. package/dist/clients/attach/__tests__/crtr-output.test.js +0 -68
  817. package/dist/clients/attach/__tests__/diagram.test.d.ts +0 -1
  818. package/dist/clients/attach/__tests__/diagram.test.js +0 -42
  819. package/dist/clients/attach/__tests__/edit-diff.test.d.ts +0 -1
  820. package/dist/clients/attach/__tests__/edit-diff.test.js +0 -31
  821. package/dist/clients/attach/__tests__/frame-selection.test.d.ts +0 -1
  822. package/dist/clients/attach/__tests__/frame-selection.test.js +0 -84
  823. package/dist/clients/attach/__tests__/group-activity.test.d.ts +0 -1
  824. package/dist/clients/attach/__tests__/group-activity.test.js +0 -165
  825. package/dist/clients/attach/__tests__/oauth-dialog-lifecycle.test.d.ts +0 -1
  826. package/dist/clients/attach/__tests__/oauth-dialog-lifecycle.test.js +0 -83
  827. package/dist/clients/attach/__tests__/pane-tag-successor.test.d.ts +0 -1
  828. package/dist/clients/attach/__tests__/pane-tag-successor.test.js +0 -56
  829. package/dist/clients/attach/__tests__/profile-files.test.d.ts +0 -1
  830. package/dist/clients/attach/__tests__/profile-files.test.js +0 -21
  831. package/dist/clients/attach/__tests__/prompt-preview.test.d.ts +0 -1
  832. package/dist/clients/attach/__tests__/prompt-preview.test.js +0 -21
  833. package/dist/clients/attach/__tests__/ref-autocomplete.test.d.ts +0 -1
  834. package/dist/clients/attach/__tests__/ref-autocomplete.test.js +0 -64
  835. package/dist/clients/attach/__tests__/titled-editor-paste.test.d.ts +0 -1
  836. package/dist/clients/attach/__tests__/titled-editor-paste.test.js +0 -114
  837. package/dist/clients/attach/__tests__/titled-editor-preview.test.d.ts +0 -1
  838. package/dist/clients/attach/__tests__/titled-editor-preview.test.js +0 -83
  839. package/dist/clients/inbox/__tests__/integration/inbox-controller.test.d.ts +0 -1
  840. package/dist/clients/inbox/__tests__/integration/inbox-controller.test.js +0 -81
  841. package/dist/clients/inbox/__tests__/integration/mount-panel.test.d.ts +0 -1
  842. package/dist/clients/inbox/__tests__/integration/mount-panel.test.js +0 -135
  843. package/dist/clients/inbox/__tests__/integration/stale-row-activation.test.d.ts +0 -1
  844. package/dist/clients/inbox/__tests__/integration/stale-row-activation.test.js +0 -66
  845. package/dist/clients/inbox/review/__tests__/editor-roundtrip.test.d.ts +0 -1
  846. package/dist/clients/inbox/review/__tests__/editor-roundtrip.test.js +0 -35
  847. package/dist/clients/inbox/review/__tests__/review-core.test.d.ts +0 -1
  848. package/dist/clients/inbox/review/__tests__/review-core.test.js +0 -52
  849. package/dist/clients/inbox/review/__tests__/teardown-notice.test.d.ts +0 -1
  850. package/dist/clients/inbox/review/__tests__/teardown-notice.test.js +0 -100
  851. package/dist/commands/__tests__/api-client-cold-start-diagnostic.test.d.ts +0 -1
  852. package/dist/commands/__tests__/api-client-cold-start-diagnostic.test.js +0 -69
  853. package/dist/commands/__tests__/human.test.d.ts +0 -1
  854. package/dist/commands/__tests__/human.test.js +0 -172
  855. package/dist/commands/__tests__/integration/dashboard-snapshot.test.d.ts +0 -1
  856. package/dist/commands/__tests__/integration/dashboard-snapshot.test.js +0 -237
  857. package/dist/commands/__tests__/integration/migrate.test.d.ts +0 -1
  858. package/dist/commands/__tests__/integration/migrate.test.js +0 -1330
  859. package/dist/commands/__tests__/node-message.test.d.ts +0 -1
  860. package/dist/commands/__tests__/node-message.test.js +0 -112
  861. package/dist/commands/__tests__/node-new.test.d.ts +0 -1
  862. package/dist/commands/__tests__/node-new.test.js +0 -58
  863. package/dist/commands/__tests__/revive-now-gate.test.d.ts +0 -1
  864. package/dist/commands/__tests__/revive-now-gate.test.js +0 -62
  865. package/dist/commands/__tests__/seam/daemon-status.test.d.ts +0 -1
  866. package/dist/commands/__tests__/seam/daemon-status.test.js +0 -29
  867. package/dist/commands/__tests__/surface-reload-target.test.d.ts +0 -1
  868. package/dist/commands/__tests__/surface-reload-target.test.js +0 -21
  869. package/dist/commands/memory/__tests__/command-selector-and-mutation-guards.test.d.ts +0 -1
  870. package/dist/commands/memory/__tests__/command-selector-and-mutation-guards.test.js +0 -379
  871. package/dist/commands/memory/__tests__/memory-list-and-lint-ignore.test.d.ts +0 -1
  872. package/dist/commands/memory/__tests__/memory-list-and-lint-ignore.test.js +0 -124
  873. package/dist/commands/memory/__tests__/repository-root-lint.test.d.ts +0 -1
  874. package/dist/commands/memory/__tests__/repository-root-lint.test.js +0 -148
  875. package/dist/commands/sys/__tests__/config-model-ladders.test.d.ts +0 -1
  876. package/dist/commands/sys/__tests__/config-model-ladders.test.js +0 -114
  877. package/dist/commands/sys/__tests__/setup-core.test.d.ts +0 -1
  878. package/dist/commands/sys/__tests__/setup-core.test.js +0 -45
  879. package/dist/commands/sys/__tests__/sync-project-guidance.test.d.ts +0 -1
  880. package/dist/commands/sys/__tests__/sync-project-guidance.test.js +0 -244
  881. package/dist/core/__tests__/bash-guard.test.d.ts +0 -1
  882. package/dist/core/__tests__/bash-guard.test.js +0 -190
  883. package/dist/core/__tests__/boot-fault-attempt.test.d.ts +0 -1
  884. package/dist/core/__tests__/boot-fault-attempt.test.js +0 -105
  885. package/dist/core/__tests__/boot.test.d.ts +0 -1
  886. package/dist/core/__tests__/boot.test.js +0 -274
  887. package/dist/core/__tests__/branded-host-concurrency.test.d.ts +0 -1
  888. package/dist/core/__tests__/branded-host-concurrency.test.js +0 -72
  889. package/dist/core/__tests__/broker-extension-canvas-db-boundary.test.d.ts +0 -1
  890. package/dist/core/__tests__/broker-extension-canvas-db-boundary.test.js +0 -75
  891. package/dist/core/__tests__/broker-launch-candidates.test.d.ts +0 -1
  892. package/dist/core/__tests__/broker-launch-candidates.test.js +0 -311
  893. package/dist/core/__tests__/broker-preflight.test.d.ts +0 -1
  894. package/dist/core/__tests__/broker-preflight.test.js +0 -95
  895. package/dist/core/__tests__/broker-stream-watchdog-floor.test.d.ts +0 -1
  896. package/dist/core/__tests__/broker-stream-watchdog-floor.test.js +0 -82
  897. package/dist/core/__tests__/broker-turn-admission.test.d.ts +0 -1
  898. package/dist/core/__tests__/broker-turn-admission.test.js +0 -44
  899. package/dist/core/__tests__/canvas-db-boundary.test.d.ts +0 -1
  900. package/dist/core/__tests__/canvas-db-boundary.test.js +0 -46
  901. package/dist/core/__tests__/canvas-inbox-watcher-hold.test.d.ts +0 -1
  902. package/dist/core/__tests__/canvas-inbox-watcher-hold.test.js +0 -710
  903. package/dist/core/__tests__/canvas-inbox-watcher-naming.test.d.ts +0 -1
  904. package/dist/core/__tests__/canvas-inbox-watcher-naming.test.js +0 -310
  905. package/dist/core/__tests__/canvas-inbox-watcher.test.d.ts +0 -1
  906. package/dist/core/__tests__/canvas-inbox-watcher.test.js +0 -397
  907. package/dist/core/__tests__/canvas.test.d.ts +0 -1
  908. package/dist/core/__tests__/canvas.test.js +0 -138
  909. package/dist/core/__tests__/child-death-wake.test.d.ts +0 -1
  910. package/dist/core/__tests__/child-death-wake.test.js +0 -153
  911. package/dist/core/__tests__/cli-help-contract.test.d.ts +0 -1
  912. package/dist/core/__tests__/cli-help-contract.test.js +0 -152
  913. package/dist/core/__tests__/close.test.d.ts +0 -1
  914. package/dist/core/__tests__/close.test.js +0 -284
  915. package/dist/core/__tests__/collectible.test.d.ts +0 -1
  916. package/dist/core/__tests__/collectible.test.js +0 -89
  917. package/dist/core/__tests__/config-change-delta.test.d.ts +0 -1
  918. package/dist/core/__tests__/config-change-delta.test.js +0 -108
  919. package/dist/core/__tests__/context-intro.test.d.ts +0 -1
  920. package/dist/core/__tests__/context-intro.test.js +0 -123
  921. package/dist/core/__tests__/cron-armed-context-failure.test.d.ts +0 -1
  922. package/dist/core/__tests__/cron-armed-context-failure.test.js +0 -150
  923. package/dist/core/__tests__/cron-held-settlement.test.d.ts +0 -1
  924. package/dist/core/__tests__/cron-held-settlement.test.js +0 -240
  925. package/dist/core/__tests__/cron-node-sink-parked-root.test.d.ts +0 -1
  926. package/dist/core/__tests__/cron-node-sink-parked-root.test.js +0 -166
  927. package/dist/core/__tests__/cron-self-cancel-delivery.test.d.ts +0 -1
  928. package/dist/core/__tests__/cron-self-cancel-delivery.test.js +0 -84
  929. package/dist/core/__tests__/cron-timeout-descendants.test.d.ts +0 -1
  930. package/dist/core/__tests__/cron-timeout-descendants.test.js +0 -114
  931. package/dist/core/__tests__/daemon-boot.test.d.ts +0 -1
  932. package/dist/core/__tests__/daemon-boot.test.js +0 -422
  933. package/dist/core/__tests__/daemon-wedge.test.d.ts +0 -1
  934. package/dist/core/__tests__/daemon-wedge.test.js +0 -106
  935. package/dist/core/__tests__/dead-node-policy-table.test.d.ts +0 -1
  936. package/dist/core/__tests__/dead-node-policy-table.test.js +0 -77
  937. package/dist/core/__tests__/events-contract.test.d.ts +0 -1
  938. package/dist/core/__tests__/events-contract.test.js +0 -76
  939. package/dist/core/__tests__/extension-abort.test.d.ts +0 -1
  940. package/dist/core/__tests__/extension-abort.test.js +0 -21
  941. package/dist/core/__tests__/fault-classifier.test.d.ts +0 -1
  942. package/dist/core/__tests__/fault-classifier.test.js +0 -138
  943. package/dist/core/__tests__/fixtures/api-server-host.d.ts +0 -1
  944. package/dist/core/__tests__/fixtures/api-server-host.js +0 -47
  945. package/dist/core/__tests__/fixtures/c3-custom-provider-ext.d.ts +0 -2
  946. package/dist/core/__tests__/fixtures/c3-custom-provider-ext.js +0 -34
  947. package/dist/core/__tests__/fixtures/c5-command-boundary-ext.d.ts +0 -2
  948. package/dist/core/__tests__/fixtures/c5-command-boundary-ext.js +0 -32
  949. package/dist/core/__tests__/fixtures/fake-engine.d.ts +0 -347
  950. package/dist/core/__tests__/fixtures/fake-engine.js +0 -1509
  951. package/dist/core/__tests__/fixtures/fake-pi-host.d.ts +0 -2
  952. package/dist/core/__tests__/fixtures/fake-pi-host.js +0 -311
  953. package/dist/core/__tests__/fixtures/memory-slash-live-probe.d.ts +0 -1
  954. package/dist/core/__tests__/fixtures/memory-slash-live-probe.js +0 -75
  955. package/dist/core/__tests__/fixtures/metadata-migration-race.d.ts +0 -1
  956. package/dist/core/__tests__/fixtures/metadata-migration-race.js +0 -49
  957. package/dist/core/__tests__/focuses.test.d.ts +0 -1
  958. package/dist/core/__tests__/focuses.test.js +0 -113
  959. package/dist/core/__tests__/fs-utils.test.d.ts +0 -1
  960. package/dist/core/__tests__/fs-utils.test.js +0 -50
  961. package/dist/core/__tests__/helpers/broker-clients.d.ts +0 -43
  962. package/dist/core/__tests__/helpers/broker-clients.js +0 -174
  963. package/dist/core/__tests__/helpers/fleet.d.ts +0 -12
  964. package/dist/core/__tests__/helpers/fleet.js +0 -50
  965. package/dist/core/__tests__/helpers/harness.d.ts +0 -124
  966. package/dist/core/__tests__/helpers/harness.js +0 -806
  967. package/dist/core/__tests__/helpers/viewer-panes.d.ts +0 -12
  968. package/dist/core/__tests__/helpers/viewer-panes.js +0 -133
  969. package/dist/core/__tests__/history-inbox.test.d.ts +0 -1
  970. package/dist/core/__tests__/history-inbox.test.js +0 -121
  971. package/dist/core/__tests__/human-action-delivery.test.d.ts +0 -1
  972. package/dist/core/__tests__/human-action-delivery.test.js +0 -162
  973. package/dist/core/__tests__/human-actions.test.d.ts +0 -1
  974. package/dist/core/__tests__/human-actions.test.js +0 -120
  975. package/dist/core/__tests__/inline-memory-refs.test.d.ts +0 -1
  976. package/dist/core/__tests__/inline-memory-refs.test.js +0 -225
  977. package/dist/core/__tests__/integration/broker-fork-seam.test.d.ts +0 -1
  978. package/dist/core/__tests__/integration/broker-fork-seam.test.js +0 -193
  979. package/dist/core/__tests__/integration/broker-sdk-wiring.test.d.ts +0 -1
  980. package/dist/core/__tests__/integration/broker-sdk-wiring.test.js +0 -750
  981. package/dist/core/__tests__/integration/broker-snapshot-history.test.d.ts +0 -1
  982. package/dist/core/__tests__/integration/broker-snapshot-history.test.js +0 -288
  983. package/dist/core/__tests__/integration/broker-wedge-supervision.test.d.ts +0 -1
  984. package/dist/core/__tests__/integration/broker-wedge-supervision.test.js +0 -103
  985. package/dist/core/__tests__/integration/command-plugins.test.d.ts +0 -1
  986. package/dist/core/__tests__/integration/command-plugins.test.js +0 -1200
  987. package/dist/core/__tests__/integration/deferred-no-wake.test.d.ts +0 -1
  988. package/dist/core/__tests__/integration/deferred-no-wake.test.js +0 -610
  989. package/dist/core/__tests__/integration/flagship-lifecycle.test.d.ts +0 -1
  990. package/dist/core/__tests__/integration/flagship-lifecycle.test.js +0 -264
  991. package/dist/core/__tests__/integration/fresh-home-commands.test.d.ts +0 -1
  992. package/dist/core/__tests__/integration/fresh-home-commands.test.js +0 -49
  993. package/dist/core/__tests__/integration/git-optional-locks.test.d.ts +0 -1
  994. package/dist/core/__tests__/integration/git-optional-locks.test.js +0 -81
  995. package/dist/core/__tests__/integration/host-teardown-process-group.test.d.ts +0 -1
  996. package/dist/core/__tests__/integration/host-teardown-process-group.test.js +0 -480
  997. package/dist/core/__tests__/integration/lifecycle-hooks.test.d.ts +0 -1
  998. package/dist/core/__tests__/integration/lifecycle-hooks.test.js +0 -498
  999. package/dist/core/__tests__/integration/live-mutation-verbs.test.d.ts +0 -1
  1000. package/dist/core/__tests__/integration/live-mutation-verbs.test.js +0 -180
  1001. package/dist/core/__tests__/integration/live-mutation.test.d.ts +0 -1
  1002. package/dist/core/__tests__/integration/live-mutation.test.js +0 -173
  1003. package/dist/core/__tests__/integration/plugin-revalidate.test.d.ts +0 -1
  1004. package/dist/core/__tests__/integration/plugin-revalidate.test.js +0 -359
  1005. package/dist/core/__tests__/integration/profile-pause.test.d.ts +0 -1
  1006. package/dist/core/__tests__/integration/profile-pause.test.js +0 -115
  1007. package/dist/core/__tests__/integration/refresh-stall-recycle.test.d.ts +0 -1
  1008. package/dist/core/__tests__/integration/refresh-stall-recycle.test.js +0 -151
  1009. package/dist/core/__tests__/integration/revive.test.d.ts +0 -1
  1010. package/dist/core/__tests__/integration/revive.test.js +0 -615
  1011. package/dist/core/__tests__/integration/spawn-root.test.d.ts +0 -1
  1012. package/dist/core/__tests__/integration/spawn-root.test.js +0 -536
  1013. package/dist/core/__tests__/integration/subscription-delivery.test.d.ts +0 -1
  1014. package/dist/core/__tests__/integration/subscription-delivery.test.js +0 -132
  1015. package/dist/core/__tests__/integration/tmux-surface.test.d.ts +0 -1
  1016. package/dist/core/__tests__/integration/tmux-surface.test.js +0 -330
  1017. package/dist/core/__tests__/integration/worktree-land.test.d.ts +0 -1
  1018. package/dist/core/__tests__/integration/worktree-land.test.js +0 -607
  1019. package/dist/core/__tests__/integration/worktree-reap.test.d.ts +0 -1
  1020. package/dist/core/__tests__/integration/worktree-reap.test.js +0 -842
  1021. package/dist/core/__tests__/kickoff.test.d.ts +0 -1
  1022. package/dist/core/__tests__/kickoff.test.js +0 -196
  1023. package/dist/core/__tests__/lifecycle-terminal-reasons.test.d.ts +0 -1
  1024. package/dist/core/__tests__/lifecycle-terminal-reasons.test.js +0 -62
  1025. package/dist/core/__tests__/lifecycle.test.d.ts +0 -1
  1026. package/dist/core/__tests__/lifecycle.test.js +0 -176
  1027. package/dist/core/__tests__/live-lifecycle-prompt.test.d.ts +0 -1
  1028. package/dist/core/__tests__/live-lifecycle-prompt.test.js +0 -63
  1029. package/dist/core/__tests__/memory-resolver-precedence.test.d.ts +0 -1
  1030. package/dist/core/__tests__/memory-resolver-precedence.test.js +0 -228
  1031. package/dist/core/__tests__/migration.test.d.ts +0 -1
  1032. package/dist/core/__tests__/migration.test.js +0 -946
  1033. package/dist/core/__tests__/model-pin-durability.test.d.ts +0 -1
  1034. package/dist/core/__tests__/model-pin-durability.test.js +0 -195
  1035. package/dist/core/__tests__/model-routes-config.test.d.ts +0 -1
  1036. package/dist/core/__tests__/model-routes-config.test.js +0 -150
  1037. package/dist/core/__tests__/nested-store-discovery.test.d.ts +0 -1
  1038. package/dist/core/__tests__/nested-store-discovery.test.js +0 -89
  1039. package/dist/core/__tests__/node-outcome.test.d.ts +0 -1
  1040. package/dist/core/__tests__/node-outcome.test.js +0 -246
  1041. package/dist/core/__tests__/on-read-crouter-home-fence.test.d.ts +0 -1
  1042. package/dist/core/__tests__/on-read-crouter-home-fence.test.js +0 -66
  1043. package/dist/core/__tests__/on-read-dedup-resume.test.d.ts +0 -1
  1044. package/dist/core/__tests__/on-read-dedup-resume.test.js +0 -132
  1045. package/dist/core/__tests__/on-read-nested-store.test.d.ts +0 -1
  1046. package/dist/core/__tests__/on-read-nested-store.test.js +0 -135
  1047. package/dist/core/__tests__/parse-argv-stdin-secret.test.d.ts +0 -1
  1048. package/dist/core/__tests__/parse-argv-stdin-secret.test.js +0 -68
  1049. package/dist/core/__tests__/passive-subscription.test.d.ts +0 -1
  1050. package/dist/core/__tests__/passive-subscription.test.js +0 -120
  1051. package/dist/core/__tests__/pid-identity-match.test.d.ts +0 -1
  1052. package/dist/core/__tests__/pid-identity-match.test.js +0 -145
  1053. package/dist/core/__tests__/pid-zombie.test.d.ts +0 -1
  1054. package/dist/core/__tests__/pid-zombie.test.js +0 -42
  1055. package/dist/core/__tests__/plugin-kinds.test.d.ts +0 -1
  1056. package/dist/core/__tests__/plugin-kinds.test.js +0 -182
  1057. package/dist/core/__tests__/plugin-link-symlinked-scope-root.test.d.ts +0 -1
  1058. package/dist/core/__tests__/plugin-link-symlinked-scope-root.test.js +0 -43
  1059. package/dist/core/__tests__/plugin-page-components.test.d.ts +0 -1
  1060. package/dist/core/__tests__/plugin-page-components.test.js +0 -159
  1061. package/dist/core/__tests__/preview-mirror-cap.test.d.ts +0 -1
  1062. package/dist/core/__tests__/preview-mirror-cap.test.js +0 -53
  1063. package/dist/core/__tests__/preview-registry-sync.test.d.ts +0 -1
  1064. package/dist/core/__tests__/preview-registry-sync.test.js +0 -107
  1065. package/dist/core/__tests__/profile-project-memory-delivery.test.d.ts +0 -1
  1066. package/dist/core/__tests__/profile-project-memory-delivery.test.js +0 -644
  1067. package/dist/core/__tests__/prospective-inventory-capability-parity.test.d.ts +0 -1
  1068. package/dist/core/__tests__/prospective-inventory-capability-parity.test.js +0 -91
  1069. package/dist/core/__tests__/prune.test.d.ts +0 -1
  1070. package/dist/core/__tests__/prune.test.js +0 -243
  1071. package/dist/core/__tests__/push-final-guard.test.d.ts +0 -1
  1072. package/dist/core/__tests__/push-final-guard.test.js +0 -191
  1073. package/dist/core/__tests__/relaunch-root.test.d.ts +0 -1
  1074. package/dist/core/__tests__/relaunch-root.test.js +0 -249
  1075. package/dist/core/__tests__/remote-canvas-target.test.d.ts +0 -1
  1076. package/dist/core/__tests__/remote-canvas-target.test.js +0 -93
  1077. package/dist/core/__tests__/repository-association.test.d.ts +0 -1
  1078. package/dist/core/__tests__/repository-association.test.js +0 -153
  1079. package/dist/core/__tests__/repository-root-identity.test.d.ts +0 -1
  1080. package/dist/core/__tests__/repository-root-identity.test.js +0 -223
  1081. package/dist/core/__tests__/respawn-throttle.test.d.ts +0 -1
  1082. package/dist/core/__tests__/respawn-throttle.test.js +0 -20
  1083. package/dist/core/__tests__/review-model-floor.test.d.ts +0 -1
  1084. package/dist/core/__tests__/review-model-floor.test.js +0 -83
  1085. package/dist/core/__tests__/revive-all.test.d.ts +0 -1
  1086. package/dist/core/__tests__/revive-all.test.js +0 -157
  1087. package/dist/core/__tests__/revive-capacity.test.d.ts +0 -1
  1088. package/dist/core/__tests__/revive-capacity.test.js +0 -184
  1089. package/dist/core/__tests__/revive-parked-fresh.test.d.ts +0 -1
  1090. package/dist/core/__tests__/revive-parked-fresh.test.js +0 -176
  1091. package/dist/core/__tests__/scope-crouter-home-fence.test.d.ts +0 -1
  1092. package/dist/core/__tests__/scope-crouter-home-fence.test.js +0 -55
  1093. package/dist/core/__tests__/seam/broker-attach-multiclient.test.d.ts +0 -1
  1094. package/dist/core/__tests__/seam/broker-attach-multiclient.test.js +0 -262
  1095. package/dist/core/__tests__/seam/broker-attach-stream.test.d.ts +0 -1
  1096. package/dist/core/__tests__/seam/broker-attach-stream.test.js +0 -176
  1097. package/dist/core/__tests__/seam/broker-cap-freeze.test.d.ts +0 -1
  1098. package/dist/core/__tests__/seam/broker-cap-freeze.test.js +0 -155
  1099. package/dist/core/__tests__/seam/broker-crash-teardown.test.d.ts +0 -1
  1100. package/dist/core/__tests__/seam/broker-crash-teardown.test.js +0 -131
  1101. package/dist/core/__tests__/seam/broker-pane-resolution.test.d.ts +0 -1
  1102. package/dist/core/__tests__/seam/broker-pane-resolution.test.js +0 -204
  1103. package/dist/core/__tests__/seam/broker-provider-retry.test.d.ts +0 -1
  1104. package/dist/core/__tests__/seam/broker-provider-retry.test.js +0 -686
  1105. package/dist/core/__tests__/seam/broker-startup-diagnostics.test.d.ts +0 -1
  1106. package/dist/core/__tests__/seam/broker-startup-diagnostics.test.js +0 -82
  1107. package/dist/core/__tests__/seam/broker-whip-interrupt.test.d.ts +0 -1
  1108. package/dist/core/__tests__/seam/broker-whip-interrupt.test.js +0 -50
  1109. package/dist/core/__tests__/seam/deadline-wake-delivery.test.d.ts +0 -1
  1110. package/dist/core/__tests__/seam/deadline-wake-delivery.test.js +0 -138
  1111. package/dist/core/__tests__/seam/dormancy-release.test.d.ts +0 -1
  1112. package/dist/core/__tests__/seam/dormancy-release.test.js +0 -516
  1113. package/dist/core/__tests__/seam/held-deferred-human-prompt.test.d.ts +0 -1
  1114. package/dist/core/__tests__/seam/held-deferred-human-prompt.test.js +0 -65
  1115. package/dist/core/__tests__/seam/inbox-reference-guidance.test.d.ts +0 -1
  1116. package/dist/core/__tests__/seam/inbox-reference-guidance.test.js +0 -84
  1117. package/dist/core/__tests__/seam/memory-slash-node-relative-inventory.test.d.ts +0 -1
  1118. package/dist/core/__tests__/seam/memory-slash-node-relative-inventory.test.js +0 -160
  1119. package/dist/core/__tests__/seam/node-outcome-delivery.test.d.ts +0 -1
  1120. package/dist/core/__tests__/seam/node-outcome-delivery.test.js +0 -177
  1121. package/dist/core/__tests__/seam/prospective-inventory-stdout.test.d.ts +0 -1
  1122. package/dist/core/__tests__/seam/prospective-inventory-stdout.test.js +0 -31
  1123. package/dist/core/__tests__/seam/reopen-invalidated-worktree.test.d.ts +0 -1
  1124. package/dist/core/__tests__/seam/reopen-invalidated-worktree.test.js +0 -60
  1125. package/dist/core/__tests__/seam/self-close-teardown.test.d.ts +0 -1
  1126. package/dist/core/__tests__/seam/self-close-teardown.test.js +0 -49
  1127. package/dist/core/__tests__/seam/yield-refresh-transaction.test.d.ts +0 -1
  1128. package/dist/core/__tests__/seam/yield-refresh-transaction.test.js +0 -100
  1129. package/dist/core/__tests__/secrets.test.d.ts +0 -1
  1130. package/dist/core/__tests__/secrets.test.js +0 -49
  1131. package/dist/core/__tests__/self-update.test.d.ts +0 -1
  1132. package/dist/core/__tests__/self-update.test.js +0 -46
  1133. package/dist/core/__tests__/session-branch.test.d.ts +0 -1
  1134. package/dist/core/__tests__/session-branch.test.js +0 -61
  1135. package/dist/core/__tests__/session-cycles.test.d.ts +0 -1
  1136. package/dist/core/__tests__/session-cycles.test.js +0 -133
  1137. package/dist/core/__tests__/session-model.test.d.ts +0 -1
  1138. package/dist/core/__tests__/session-model.test.js +0 -111
  1139. package/dist/core/__tests__/spawn-worktree-id-conflict.test.d.ts +0 -1
  1140. package/dist/core/__tests__/spawn-worktree-id-conflict.test.js +0 -71
  1141. package/dist/core/__tests__/stdin-body-no-discard.test.d.ts +0 -1
  1142. package/dist/core/__tests__/stdin-body-no-discard.test.js +0 -33
  1143. package/dist/core/__tests__/stdout-errors.test.d.ts +0 -1
  1144. package/dist/core/__tests__/stdout-errors.test.js +0 -16
  1145. package/dist/core/__tests__/stop-guard.test.d.ts +0 -1
  1146. package/dist/core/__tests__/stop-guard.test.js +0 -237
  1147. package/dist/core/__tests__/stream-watchdog.test.d.ts +0 -1
  1148. package/dist/core/__tests__/stream-watchdog.test.js +0 -154
  1149. package/dist/core/__tests__/subscription-pool-credential-guard.test.d.ts +0 -1
  1150. package/dist/core/__tests__/subscription-pool-credential-guard.test.js +0 -95
  1151. package/dist/core/__tests__/tmux-driver-boundary.test.d.ts +0 -1
  1152. package/dist/core/__tests__/tmux-driver-boundary.test.js +0 -50
  1153. package/dist/core/__tests__/warm-claim-preference-snapshot.test.d.ts +0 -1
  1154. package/dist/core/__tests__/warm-claim-preference-snapshot.test.js +0 -54
  1155. package/dist/core/__tests__/worktree-landing.test.d.ts +0 -1
  1156. package/dist/core/__tests__/worktree-landing.test.js +0 -11
  1157. package/dist/core/__tests__/yield-ensures-daemon.test.d.ts +0 -1
  1158. package/dist/core/__tests__/yield-ensures-daemon.test.js +0 -55
  1159. package/dist/core/broker-client/__tests__/transport-relay.test.d.ts +0 -1
  1160. package/dist/core/broker-client/__tests__/transport-relay.test.js +0 -214
  1161. package/dist/core/broker-client/__tests__/transport-socket.test.d.ts +0 -1
  1162. package/dist/core/broker-client/__tests__/transport-socket.test.js +0 -73
  1163. package/dist/core/canvas/__tests__/attention.test.d.ts +0 -1
  1164. package/dist/core/canvas/__tests__/attention.test.js +0 -83
  1165. package/dist/core/canvas/__tests__/history-transcript.test.d.ts +0 -1
  1166. package/dist/core/canvas/__tests__/history-transcript.test.js +0 -102
  1167. package/dist/core/canvas/__tests__/remote-canvas-source.test.d.ts +0 -1
  1168. package/dist/core/canvas/__tests__/remote-canvas-source.test.js +0 -328
  1169. package/dist/core/canvas/__tests__/remote-transport.test.d.ts +0 -1
  1170. package/dist/core/canvas/__tests__/remote-transport.test.js +0 -97
  1171. package/dist/core/canvas/__tests__/render-remote.test.d.ts +0 -1
  1172. package/dist/core/canvas/__tests__/render-remote.test.js +0 -243
  1173. package/dist/core/canvas/__tests__/session-window.test.d.ts +0 -1
  1174. package/dist/core/canvas/__tests__/session-window.test.js +0 -70
  1175. package/dist/core/feed/__tests__/inbox-migrate.test.d.ts +0 -1
  1176. package/dist/core/feed/__tests__/inbox-migrate.test.js +0 -49
  1177. package/dist/core/human/__tests__/page-catalog.test.d.ts +0 -1
  1178. package/dist/core/human/__tests__/page-catalog.test.js +0 -20
  1179. package/dist/core/human/__tests__/page-html-markdown.test.d.ts +0 -1
  1180. package/dist/core/human/__tests__/page-html-markdown.test.js +0 -48
  1181. package/dist/core/human/__tests__/page.test.d.ts +0 -1
  1182. package/dist/core/human/__tests__/page.test.js +0 -92
  1183. package/dist/core/keybindings/__tests__/resolve.test.d.ts +0 -1
  1184. package/dist/core/keybindings/__tests__/resolve.test.js +0 -171
  1185. package/dist/core/profiles/__tests__/env-store.test.d.ts +0 -1
  1186. package/dist/core/profiles/__tests__/env-store.test.js +0 -99
  1187. package/dist/core/profiles/__tests__/fuzzy-match.test.d.ts +0 -1
  1188. package/dist/core/profiles/__tests__/fuzzy-match.test.js +0 -51
  1189. package/dist/core/profiles/__tests__/root-profile.test.d.ts +0 -1
  1190. package/dist/core/profiles/__tests__/root-profile.test.js +0 -59
  1191. package/dist/core/review/__tests__/capture-origin.test.d.ts +0 -1
  1192. package/dist/core/review/__tests__/capture-origin.test.js +0 -150
  1193. package/dist/core/review/__tests__/comments.test.d.ts +0 -1
  1194. package/dist/core/review/__tests__/comments.test.js +0 -116
  1195. package/dist/core/review/__tests__/remap.test.d.ts +0 -1
  1196. package/dist/core/review/__tests__/remap.test.js +0 -177
  1197. package/dist/core/review/__tests__/stage-identity.test.d.ts +0 -1
  1198. package/dist/core/review/__tests__/stage-identity.test.js +0 -150
  1199. package/dist/core/runtime/__tests__/engine-route.test.d.ts +0 -1
  1200. package/dist/core/runtime/__tests__/engine-route.test.js +0 -36
  1201. package/dist/core/runtime/__tests__/install-id-cache-scoping.test.d.ts +0 -1
  1202. package/dist/core/runtime/__tests__/install-id-cache-scoping.test.js +0 -45
  1203. package/dist/core/runtime/__tests__/node-env.test.d.ts +0 -1
  1204. package/dist/core/runtime/__tests__/node-env.test.js +0 -73
  1205. package/dist/core/runtime/__tests__/spawn-env.test.d.ts +0 -1
  1206. package/dist/core/runtime/__tests__/spawn-env.test.js +0 -259
  1207. package/dist/core/substrate/__tests__/surface-match-command.test.d.ts +0 -1
  1208. package/dist/core/substrate/__tests__/surface-match-command.test.js +0 -89
  1209. package/dist/core/substrate/__tests__/surface-match-memory-read.test.d.ts +0 -1
  1210. package/dist/core/substrate/__tests__/surface-match-memory-read.test.js +0 -28
  1211. package/dist/core/substrate/__tests__/surface-match-pre-command.test.d.ts +0 -1
  1212. package/dist/core/substrate/__tests__/surface-match-pre-command.test.js +0 -92
  1213. package/dist/daemon/__tests__/autostart-storm.test.d.ts +0 -1
  1214. package/dist/daemon/__tests__/autostart-storm.test.js +0 -128
  1215. package/dist/daemon/__tests__/broker-ownership.test.d.ts +0 -1
  1216. package/dist/daemon/__tests__/broker-ownership.test.js +0 -25
  1217. package/dist/daemon/__tests__/daemon-ownership.test.d.ts +0 -1
  1218. package/dist/daemon/__tests__/daemon-ownership.test.js +0 -27
  1219. package/dist/daemon/__tests__/helpers/source-daemon.d.ts +0 -30
  1220. package/dist/daemon/__tests__/helpers/source-daemon.js +0 -176
  1221. package/dist/daemon/__tests__/integration/api-startup-readiness.test.d.ts +0 -1
  1222. package/dist/daemon/__tests__/integration/api-startup-readiness.test.js +0 -83
  1223. package/dist/daemon/__tests__/integration/migration-startup.test.d.ts +0 -1
  1224. package/dist/daemon/__tests__/integration/migration-startup.test.js +0 -127
  1225. package/dist/daemon/__tests__/node-deadline-lane.test.d.ts +0 -1
  1226. package/dist/daemon/__tests__/node-deadline-lane.test.js +0 -77
  1227. package/dist/daemon/__tests__/node-outcome-birth-invariants.test.d.ts +0 -1
  1228. package/dist/daemon/__tests__/node-outcome-birth-invariants.test.js +0 -146
  1229. package/dist/daemon/__tests__/node-outcome-delivery.test.d.ts +0 -1
  1230. package/dist/daemon/__tests__/node-outcome-delivery.test.js +0 -116
  1231. package/dist/daemon/__tests__/reconciler-signature.test.d.ts +0 -1
  1232. package/dist/daemon/__tests__/reconciler-signature.test.js +0 -37
  1233. package/dist/daemon/__tests__/subtree-filter-freshness.test.d.ts +0 -1
  1234. package/dist/daemon/__tests__/subtree-filter-freshness.test.js +0 -63
  1235. package/dist/daemon/__tests__/thaw-order.test.d.ts +0 -1
  1236. package/dist/daemon/__tests__/thaw-order.test.js +0 -55
  1237. package/dist/daemon/api/__tests__/bridge-heartbeat.test.d.ts +0 -1
  1238. package/dist/daemon/api/__tests__/bridge-heartbeat.test.js +0 -58
  1239. package/dist/daemon/api/__tests__/broker-settle-park.test.d.ts +0 -1
  1240. package/dist/daemon/api/__tests__/broker-settle-park.test.js +0 -175
  1241. package/dist/daemon/api/__tests__/canvas-snapshot-fields.test.d.ts +0 -1
  1242. package/dist/daemon/api/__tests__/canvas-snapshot-fields.test.js +0 -216
  1243. package/dist/daemon/api/__tests__/error-seam.test.d.ts +0 -1
  1244. package/dist/daemon/api/__tests__/error-seam.test.js +0 -83
  1245. package/dist/daemon/api/__tests__/model-config.test.d.ts +0 -1
  1246. package/dist/daemon/api/__tests__/model-config.test.js +0 -73
  1247. package/dist/daemon/api/__tests__/node-create-description.test.d.ts +0 -1
  1248. package/dist/daemon/api/__tests__/node-create-description.test.js +0 -107
  1249. package/dist/daemon/api/__tests__/node-model-validation.test.d.ts +0 -1
  1250. package/dist/daemon/api/__tests__/node-model-validation.test.js +0 -183
  1251. package/dist/daemon/api/__tests__/nodes-activity-query.test.d.ts +0 -1
  1252. package/dist/daemon/api/__tests__/nodes-activity-query.test.js +0 -99
  1253. package/dist/daemon/api/__tests__/profile-launch-gates.test.d.ts +0 -1
  1254. package/dist/daemon/api/__tests__/profile-launch-gates.test.js +0 -172
  1255. package/dist/daemon/api/__tests__/profile-metadata-route.test.d.ts +0 -1
  1256. package/dist/daemon/api/__tests__/profile-metadata-route.test.js +0 -95
  1257. package/dist/daemon/api/__tests__/reopen-delivery.test.d.ts +0 -1
  1258. package/dist/daemon/api/__tests__/reopen-delivery.test.js +0 -260
  1259. package/dist/daemon/api/__tests__/seam/api-server.test.d.ts +0 -1
  1260. package/dist/daemon/api/__tests__/seam/api-server.test.js +0 -442
  1261. package/dist/daemon/api/__tests__/seam/b10-attach-modelauth.test.d.ts +0 -1
  1262. package/dist/daemon/api/__tests__/seam/b10-attach-modelauth.test.js +0 -310
  1263. package/dist/daemon/api/__tests__/seam/leaf-api-parity.test.d.ts +0 -1
  1264. package/dist/daemon/api/__tests__/seam/leaf-api-parity.test.js +0 -351
  1265. package/dist/daemon/api/__tests__/seam/node-outcome-api.test.d.ts +0 -1
  1266. package/dist/daemon/api/__tests__/seam/node-outcome-api.test.js +0 -159
  1267. package/dist/daemon/api/__tests__/seam/profile-delete.test.d.ts +0 -1
  1268. package/dist/daemon/api/__tests__/seam/profile-delete.test.js +0 -372
  1269. package/dist/daemon/api/__tests__/submit-result.test.d.ts +0 -1
  1270. package/dist/daemon/api/__tests__/submit-result.test.js +0 -215
  1271. package/dist/migrations/__tests__/activation-concurrency.test.d.ts +0 -1
  1272. package/dist/migrations/__tests__/activation-concurrency.test.js +0 -146
  1273. package/dist/migrations/__tests__/activation.test.d.ts +0 -1
  1274. package/dist/migrations/__tests__/activation.test.js +0 -152
  1275. package/dist/migrations/__tests__/deletion-and-root-declaration.test.d.ts +0 -1
  1276. package/dist/migrations/__tests__/deletion-and-root-declaration.test.js +0 -149
  1277. package/dist/pi-extensions/__tests__/canvas-bash-valve.test.d.ts +0 -1
  1278. package/dist/pi-extensions/__tests__/canvas-bash-valve.test.js +0 -86
  1279. package/dist/pi-extensions/__tests__/canvas-context-intro.test.d.ts +0 -1
  1280. package/dist/pi-extensions/__tests__/canvas-context-intro.test.js +0 -364
  1281. package/dist/pi-extensions/__tests__/canvas-goal-capture-envelope.test.d.ts +0 -1
  1282. package/dist/pi-extensions/__tests__/canvas-goal-capture-envelope.test.js +0 -106
  1283. package/dist/pi-extensions/__tests__/canvas-recap.test.d.ts +0 -1
  1284. package/dist/pi-extensions/__tests__/canvas-recap.test.js +0 -62
  1285. package/dist/pi-extensions/__tests__/canvas-stophook-agentend.test.d.ts +0 -1
  1286. package/dist/pi-extensions/__tests__/canvas-stophook-agentend.test.js +0 -432
  1287. package/dist/pi-extensions/__tests__/canvas-stophook-context-nudge.test.d.ts +0 -1
  1288. package/dist/pi-extensions/__tests__/canvas-stophook-context-nudge.test.js +0 -152
  1289. package/dist/pi-extensions/__tests__/canvas-structured-output.test.d.ts +0 -1
  1290. package/dist/pi-extensions/__tests__/canvas-structured-output.test.js +0 -88
  1291. package/dist/pi-extensions/__tests__/canvas-tool-guide.test.d.ts +0 -1
  1292. package/dist/pi-extensions/__tests__/canvas-tool-guide.test.js +0 -96
  1293. package/dist/pi-extensions/__tests__/integration/canvas-bash-valve.test.d.ts +0 -1
  1294. package/dist/pi-extensions/__tests__/integration/canvas-bash-valve.test.js +0 -133
  1295. package/dist/pi-extensions/__tests__/pre-command-gate.test.d.ts +0 -1
  1296. package/dist/pi-extensions/__tests__/pre-command-gate.test.js +0 -232
  1297. package/dist/shared/__tests__/env-boundary.test.d.ts +0 -1
  1298. package/dist/shared/__tests__/env-boundary.test.js +0 -95
  1299. package/dist/shared/__tests__/generated-context-grammar.test.d.ts +0 -1
  1300. package/dist/shared/__tests__/generated-context-grammar.test.js +0 -80
  1301. package/docs/compat/hearth-crtr-v1.md +0 -179
  1302. package/docs/compat/hearth-crtr-v2.md +0 -177
  1303. package/docs/compat/hearth-crtr-v3.md +0 -176
  1304. package/docs/compat/hearth-crtr-v4.md +0 -182
  1305. package/docs/compat/hearth-crtr-v5.md +0 -169
@@ -1,489 +1,10 @@
1
- // `crtr sys context resolve` — the forward question: given a configuration
2
- // snapshot and one surface event, what does the memory substrate deliver, at
3
- // which rung, and why. Reads the same plan the live renderers deliver from
4
- // (`planDelivery`, src/core/substrate/plan.ts), so a reported delivery can
5
- // never differ from an actual one.
6
- //
7
- // The snapshot builders and record formatters here are shared with
8
- // `sys context doc`, the reverse half of the same read surface.
9
- import { existsSync } from 'node:fs';
10
- import { resolve as resolvePath } from 'node:path';
11
- import { defineLeaf } from '../../../core/command.js';
12
- import { InputError } from '../../../core/io.js';
13
- import { ApiError } from '../../../api/index.js';
14
- import { cliClient } from '../../api-client.js';
15
- import { envNodeId, envProfileId } from '../../../shared/env.js';
16
- import { realpathOrSelf } from '../../../core/fs-utils.js';
17
- import { ambientMemoryTarget, resolveMemoryDocForTarget, } from '../../../core/memory-resolver.js';
18
- import { planDelivery, } from '../../../core/substrate/plan.js';
19
- import { explainRecordGate, formatClause } from '../../../core/substrate/gate-explain.js';
20
- import { emptyContextExposureState, exposureTarget } from '../../../core/substrate/injected-store.js';
21
- import { renderPreferencesForSubject, renderKnowledgeForSubject } from '../../../core/substrate/render.js';
22
- import { deliveryAccounting, memoryReadDocBlocks, renderOnCommandDocsForSubject, renderOnReadDocsForSubject, renderPreCommandDocsForSubject, renderWorkspaceOpenDocsForSubject, } from '../../../core/substrate/on-read.js';
23
- import { clearSessionCache } from '../../../core/substrate/session-cache.js';
24
- import { parseSubstrateDoc, rungAtLeast, SURFACE_EVENTS, } from '../../../core/substrate/schema.js';
25
- import { scopeForCwd, profileNameFor } from '../../../core/substrate/subject-fields.js';
26
- import { resetScopeCache } from '../../../core/scope.js';
27
- import { getDefaultProfileId } from '../../../core/profiles/default-binding.js';
28
- export const resolveLeaf = defineLeaf({
29
- name: 'resolve',
30
- description: 'resolve what a configuration snapshot loads for one surface event',
31
- whenToUse: 'you are asking what a node (or a hypothetical configuration) actually receives — at boot, on opening a workspace, on reading a file, on a memory read, or around a command',
32
- help: {
33
- name: 'sys context resolve',
34
- summary: 'resolve the documents a configuration snapshot loads for one surface event',
35
- params: [
36
- { kind: 'flag', name: 'node', type: 'string', required: false, constraint: 'Resolve for this live node — derives kind, mode, lifecycle, has-manager, profile, and cwd from it. A node id that does not exist degrades to a synthetic subject and says so.' },
37
- { kind: 'flag', name: 'kind', type: 'string', required: false, constraint: 'Node kind of the synthetic subject. Defaults to the --node value, else `general`.' },
38
- { kind: 'flag', name: 'mode', type: 'enum', choices: ['base', 'orchestrator'], required: false, constraint: 'Node mode of the synthetic subject. Defaults to `base`.' },
39
- { kind: 'flag', name: 'lifecycle', type: 'enum', choices: ['terminal', 'resident'], required: false, constraint: 'Node lifecycle of the synthetic subject. Defaults to `terminal` for base, `resident` for orchestrator.' },
40
- { kind: 'flag', name: 'has-manager', type: 'enum', choices: ['true', 'false'], required: false, constraint: 'Treat the subject as having a manager (a subscriber above it). Defaults to the --node value, else true.' },
41
- { kind: 'flag', name: 'profile', type: 'string', required: false, constraint: 'Profile id whose memory store and project-memory caps apply. Defaults to the selected profile.' },
42
- { kind: 'flag', name: 'cwd', type: 'path', required: false, constraint: 'Directory the project stores resolve from. Defaults to the current directory.' },
43
- { kind: 'flag', name: 'event', type: 'enum', choices: [...SURFACE_EVENTS], required: false, constraint: 'The surface event to resolve. Defaults to `boot`. Ignored when --all-events is set.' },
44
- { kind: 'flag', name: 'all-events', type: 'bool', required: false, constraint: 'Resolve every surface event instead of one, and report each plan separately.' },
45
- { kind: 'flag', name: 'file', type: 'path', required: false, constraint: 'Payload for `--event read`: the file that was read. Without it, no read entry matches.' },
46
- { kind: 'flag', name: 'name', type: 'string', required: false, constraint: 'Payload for `--event memory-read`: the exact canonical name the read resolved to.' },
47
- { kind: 'flag', name: 'command', type: 'string', required: false, constraint: 'Payload for `--event command` / `--event pre-command`: the command string.' },
48
- { kind: 'flag', name: 'granularity', type: 'enum', choices: ['summary', 'docs', 'assembled'], required: false, constraint: '`summary` folds to per-rung counts; `docs` reports one row per document; `assembled` returns the real rendered text by calling the event\u2019s renderer. Defaults to `docs`. `--all` applies only at `docs` granularity; with `assembled` it is reported as ignored.' },
49
- { kind: 'flag', name: 'all', type: 'bool', required: false, constraint: 'At `docs` granularity, include every considered document, not just the ones that deliver — shadowed, gated-out, and capped-to-none documents with the reason each was excluded. Ignored at `summary` and `assembled` granularity.' },
50
- ],
51
- output: [
52
- { name: 'event', type: 'string', required: false, constraint: 'The resolved event. Absent with --all-events, where every entry in `plans` carries its own.' },
53
- { name: 'subject', type: 'object', required: true, constraint: 'The configuration snapshot used: kind, mode, lifecycle, hasManager, profile, scope.' },
54
- { name: 'target', type: 'object', required: true, constraint: 'Store resolution inputs: cwd, profileId, nodeId.' },
55
- { name: 'docs', type: 'array', required: false, constraint: 'One entry per document, at `docs`/`all` granularity: name, kind, scope, store_path, authored_rung, project_memory_cap, capped_rung, final_rung, winner, shadowed_by, doc_gate, entry_gate, matched_entry, delivery_cause when the renderer raised it through a content attachment, and excluded when --all includes a non-delivering document.' },
56
- { name: 'counts', type: 'object', required: false, constraint: 'At `summary` granularity: {considered, delivered: {content, preview, name}, delivered_total, excluded: {<reason>: count}}.' },
57
- { name: 'all_ignored', type: 'boolean', required: false, constraint: 'Present only when --all is supplied with --granularity assembled; true means assembled text is unchanged because --all applies only to docs granularity.' },
58
- { name: 'assembled', type: 'string', required: false, constraint: 'At `assembled` granularity: the exact text the node would receive for this event.' },
59
- { name: 'plans', type: 'array', required: false, constraint: 'With --all-events: one plan result per surface event, each shaped as above.' },
60
- { name: 'node_missing', type: 'boolean', required: false, constraint: 'Present when --node named a node that does not exist and a synthetic subject was used instead.' },
61
- ],
62
- outputKind: 'object',
63
- effects: ['None. Read-only.'],
64
- },
65
- run: async (input) => {
66
- const snapshot = await buildSnapshot(input);
67
- const granularity = input['granularity'] ?? 'docs';
68
- const includeAll = input['all'] === true;
69
- const events = input['allEvents'] === true
70
- ? [...SURFACE_EVENTS]
71
- : [input['event'] ?? 'boot'];
72
- const flags = {
73
- file: optionalString(input['file']),
74
- readName: optionalString(input['name']),
75
- command: optionalString(input['command']),
76
- };
77
- const sections = events.map((event) => planSection(snapshot, event, payloadFor(event, flags, snapshot.target), granularity, includeAll));
78
- const head = {
79
- subject: subjectSummary(snapshot.subject),
80
- target: snapshot.target,
81
- ...(snapshot.nodeMissing ? { node_missing: true } : {}),
82
- ...(granularity === 'assembled' && includeAll ? { all_ignored: true } : {}),
83
- };
84
- return events.length === 1 ? { ...head, ...sections[0] } : { ...head, plans: sections };
85
- },
86
- render: (result) => renderResolve(result),
87
- });
88
- /** Build the subject and store target from `--node` and the axis flags. A flag
89
- * always wins over the value derived from the node, so a live node is a
90
- * starting point an engineer can dial away from. */
91
- export async function buildSnapshot(input) {
92
- const nodeId = optionalString(input['node']);
93
- const node = await fetchNodeOrNull(nodeId);
94
- const derived = node === null ? null : await fetchSubjectOrNull(node.node_id);
95
- const mode = input['mode'] ?? derived?.mode ?? 'base';
96
- const lifecycle = input['lifecycle']
97
- ?? derived?.lifecycle
98
- ?? (mode === 'orchestrator' ? 'resident' : 'terminal');
99
- const cwd = resolveCwd(optionalString(input['cwd']) ?? derived?.cwd ?? process.cwd());
100
- const profileId = optionalString(input['profile'])
101
- ?? node?.profile_id
102
- ?? ambientMemoryTarget().profileId
103
- ?? getDefaultProfileId(cwd);
104
- const hasManagerFlag = optionalString(input['hasManager']);
105
- return {
106
- subject: {
107
- kind: optionalString(input['kind']) ?? derived?.kind ?? 'general',
108
- mode,
109
- lifecycle,
110
- hasManager: hasManagerFlag === null ? derived?.hasManager ?? true : hasManagerFlag === 'true',
111
- cwd,
112
- scope: scopeForCwd(cwd),
113
- orchestration: { depth: derived?.orchestration.depth ?? 0 },
114
- profile: profileNameFor(profileId),
115
- },
116
- target: { cwd, profileId, nodeId: node?.node_id ?? null },
117
- nodeMissing: nodeId !== null && node === null,
118
- };
119
- }
120
- /** The event's match payload from the flags that carry it. An event invoked
121
- * without its payload matches nothing — the planner's own contract. */
122
- export function payloadFor(event, flags, target) {
123
- if (event === 'read')
124
- return flags.file === null ? {} : { absoluteFile: resolvePath(flags.file) };
125
- if (event === 'memory-read') {
126
- if (flags.readName === null)
127
- return {};
128
- return {
129
- resolvedCanonicalName: flags.readName,
130
- resolvedDocPath: resolvedDocRealpath(flags.readName, target),
131
- };
132
- }
133
- if (event === 'command' || event === 'pre-command') {
134
- return flags.command === null ? {} : { command: flags.command };
135
- }
136
- return {};
137
- }
138
- export function subjectSummary(subject) {
139
- return {
140
- kind: subject.kind,
141
- mode: subject.mode,
142
- lifecycle: subject.lifecycle,
143
- hasManager: subject.hasManager,
144
- scope: subject.scope,
145
- profile: subject.profile,
146
- depth: subject.orchestration.depth,
147
- };
148
- }
149
- function resolveCwd(raw) {
150
- const abs = resolvePath(raw);
151
- if (!existsSync(abs)) {
152
- throw new InputError({
153
- error: 'invalid_field',
154
- message: `cwd does not exist: ${abs}`,
155
- field: 'cwd',
156
- next: 'Pass --cwd a directory that exists, or omit it to use the current directory.',
157
- });
158
- }
159
- return realpathOrSelf(abs);
160
- }
161
- export function optionalString(value) {
162
- return typeof value === 'string' && value.trim() !== '' ? value : null;
163
- }
164
- /** A 404 means the id names no node: `--node` degrades to a synthetic subject
165
- * rather than failing, the recovery `sys context prompt-review` also makes. */
166
- async function fetchNodeOrNull(nodeId) {
167
- if (nodeId === null)
168
- return null;
169
- try {
170
- return await cliClient().getNode(nodeId);
171
- }
172
- catch (err) {
173
- if (err instanceof ApiError && err.status === 404)
174
- return null;
175
- throw err;
176
- }
177
- }
178
- /** The authoritative subject the daemon gates against, so an inspection never
179
- * re-derives axes the runtime already resolves. */
180
- async function fetchSubjectOrNull(nodeId) {
181
- try {
182
- return await cliClient().nodeSubject(nodeId);
183
- }
184
- catch (err) {
185
- if (err instanceof ApiError && err.status === 404)
186
- return null;
187
- throw err;
188
- }
189
- }
190
- function planSection(snapshot, event, payload, granularity, includeAll) {
191
- const rendered = assembleEventAccounting(snapshot, event, payload);
192
- if (granularity === 'assembled')
193
- return { event, assembled: rendered.assembled };
194
- const plan = effectivePlan(planDelivery(snapshot.subject, snapshot.target, event, payload), rendered.accounting.deliveries, payload);
195
- if (granularity === 'summary')
196
- return { event, counts: countsOf(plan) };
197
- const docs = plan.docs.filter((r) => includeAll || delivers(r)).map((r) => docRow(r, includeAll, plan.subject));
198
- return { event, docs };
199
- }
200
- /** Overlay the production renderer's actual document deliveries onto direct
201
- * planner records. The plan still supplies gates, caps, and exclusion detail;
202
- * only an attachment that genuinely rendered may raise its final rung. */
203
- export function effectivePlan(plan, deliveries, payload = {}) {
204
- const seen = new Set();
205
- const docs = plan.docs.map((record) => {
206
- seen.add(realpathOrSelf(record.doc.path));
207
- const delivered = deliveries.get(realpathOrSelf(record.doc.path));
208
- if (delivered === undefined || !rungAtLeast(delivered.rung, record.finalRung))
209
- return record;
210
- const raised = delivered.rung !== record.finalRung;
211
- return {
212
- ...record,
213
- // A companion has its own memory-read winner set. If it is shadowed or
214
- // silent in the outer event plan but genuinely rendered through that
215
- // attachment, the rendered delivery is the truth this view reports.
216
- ...(raised ? { winner: true, shadowedBy: null } : {}),
217
- finalRung: delivered.rung,
218
- ...(raised && delivered.cause !== undefined ? { deliveryCause: delivered.cause } : {}),
219
- };
220
- });
221
- for (const delivered of deliveries.values()) {
222
- if (delivered.source === undefined || seen.has(realpathOrSelf(delivered.source.path)))
223
- continue;
224
- const doc = parseSubstrateDoc(delivered.source);
225
- if (doc === null)
226
- continue;
227
- // Workspace-open deliberately plans only project stores, while its real
228
- // listing/companion attachments answer from the full target view. Plan this
229
- // one rendered source solely to retain normal dossier metadata, then make
230
- // its renderer-recorded rung and cause authoritative.
231
- const record = planDelivery(plan.subject, plan.target, plan.event, payload, [{ doc, source: delivered.source }]).docs[0];
232
- if (record === undefined)
233
- continue;
234
- docs.push({
235
- ...record,
236
- winner: true,
237
- shadowedBy: null,
238
- finalRung: delivered.rung,
239
- ...(delivered.cause === undefined ? {} : { deliveryCause: delivered.cause }),
240
- });
241
- }
242
- return { ...plan, docs };
243
- }
244
- /** A document delivers when it won its canonical name AND resolved to a rung
245
- * above the no-delivery floor — boot keeps rung-`none` winners in the plan so
246
- * the catalog can still count them. */
247
- export function delivers(record) {
248
- return record.winner && rungAtLeast(record.finalRung, 'name');
249
- }
250
- export function docRow(record, includeAll, subject) {
251
- const row = {
252
- name: record.name,
253
- kind: record.kind,
254
- scope: record.scope,
255
- store_path: record.storePath,
256
- authored_rung: record.authoredRung,
257
- project_memory_cap: record.projectMemoryCap,
258
- capped_rung: record.cappedRung,
259
- final_rung: record.finalRung,
260
- winner: record.winner,
261
- shadowed_by: record.shadowedBy === null ? null : `${record.shadowedBy.scope}:${record.shadowedBy.path}`,
262
- doc_gate: gateText(record.docGate, explainRecordGate(record, 'doc', subject)),
263
- entry_gate: record.entryGate === null ? null : gateText(record.entryGate, explainRecordGate(record, 'entry', subject)),
264
- matched_entry: entryText(record.matchedEntry),
265
- ...(record.deliveryCause === undefined ? {} : { delivery_cause: record.deliveryCause }),
266
- };
267
- if (includeAll && !delivers(record))
268
- row.excluded = exclusionReason(record, subject);
269
- return row;
270
- }
271
- /** A gate verdict as one cell: `pass`, or `fail:` plus the clauses that failed
272
- * — the planner's generic sentence only when the explainer cannot decompose
273
- * the predicate. */
274
- export function gateText(gate, clauses) {
275
- return gate.pass ? 'pass' : `fail: ${gateReason(gate.reason, clauses)}`;
276
- }
277
- function gateReason(fallback, clauses) {
278
- return clauses.length === 0 ? fallback : clauses.map(formatClause).join('; ');
279
- }
280
- export function entryText(entry) {
281
- if (entry === null)
282
- return null;
283
- const parts = [`at=${entry.at}`];
284
- if (entry.match !== undefined)
285
- parts.push(`match=${entry.match.join(',')}`);
286
- if (entry.matchFrontmatter !== undefined)
287
- parts.push('match-frontmatter');
288
- if (entry.gate !== undefined)
289
- parts.push('gate');
290
- return parts.join(' ');
291
- }
292
- /** Why a considered document delivers nothing, in the order the planner applies
293
- * its checks — the first failing one is the answer an engineer acts on. */
294
- export function exclusionReason(record, subject) {
295
- if (!record.docGate.pass) {
296
- return 'document gate';
297
- }
298
- if (record.shadowedBy !== null)
299
- return `shadowed by ${record.shadowedBy.scope}:${record.shadowedBy.path}`;
300
- if (record.authoredEntries.length === 0)
301
- return 'no surface entry for this event';
302
- if (record.matchedEntry === null) {
303
- return record.entryGate !== null && !record.entryGate.pass
304
- ? `entry gate: ${gateReason(record.entryGate.reason, explainRecordGate(record, 'entry', subject))}`
305
- : 'no authored entry matched this event\u2019s payload';
306
- }
307
- if (record.cappedRung === 'none') {
308
- return `capped to none by the profile\u2019s project-memory setting (authored ${record.authoredRung})`;
309
- }
310
- return `resolved to rung none (authored ${record.authoredRung})`;
311
- }
312
- function countsOf(plan) {
313
- const delivered = { content: 0, preview: 0, name: 0 };
314
- const excluded = {};
315
- for (const record of plan.docs) {
316
- if (delivers(record)) {
317
- delivered[record.finalRung] = (delivered[record.finalRung] ?? 0) + 1;
318
- continue;
319
- }
320
- const bucket = exclusionBucket(record);
321
- excluded[bucket] = (excluded[bucket] ?? 0) + 1;
322
- }
323
- return {
324
- considered: plan.docs.length,
325
- delivered,
326
- delivered_total: delivered['content'] + delivered['preview'] + delivered['name'],
327
- excluded,
328
- };
329
- }
330
- function exclusionBucket(record) {
331
- if (!record.docGate.pass)
332
- return 'document_gate';
333
- if (record.shadowedBy !== null)
334
- return 'shadowed';
335
- if (record.authoredEntries.length === 0)
336
- return 'no_entry';
337
- if (record.matchedEntry === null) {
338
- return record.entryGate !== null && !record.entryGate.pass ? 'entry_gate' : 'no_match';
339
- }
340
- return record.cappedRung === 'none' ? 'capped' : 'rung_none';
341
- }
342
- /** Run the production renderer once and retain the structured document
343
- * deliveries it recorded. Context diagnostics and the admin viewer consume
344
- * this result rather than reconstructing attachment/companion fixpoints. */
345
- export function assembleEventAccounting(snapshot, event, payload) {
346
- const restore = {
347
- cwd: process.cwd(),
348
- profileId: envProfileId(),
349
- nodeId: envNodeId(),
350
- };
351
- const accounting = deliveryAccounting();
352
- clearSessionCache();
353
- resetScopeCache();
354
- try {
355
- process.chdir(snapshot.target.cwd);
356
- setEnv('CRTR_PROFILE_ID', snapshot.target.profileId ?? undefined);
357
- setEnv('CRTR_NODE_ID', snapshot.target.nodeId ?? undefined);
358
- return { assembled: renderEvent(snapshot, event, payload, accounting), accounting };
359
- }
360
- finally {
361
- process.chdir(restore.cwd);
362
- setEnv('CRTR_PROFILE_ID', restore.profileId);
363
- setEnv('CRTR_NODE_ID', restore.nodeId);
364
- clearSessionCache();
365
- resetScopeCache();
366
- }
367
- }
368
- function setEnv(name, value) {
369
- if (value === undefined)
370
- delete process.env[name];
371
- else
372
- process.env[name] = value;
373
- }
374
- function renderEvent(snapshot, event, payload, accounting) {
375
- const { subject, target } = snapshot;
376
- switch (event) {
377
- case 'boot': {
378
- const { block } = renderPreferencesForSubject(subject, undefined, accounting);
379
- const knowledge = target.nodeId === null ? '' : renderKnowledgeForSubject(subject, target.nodeId, undefined, accounting);
380
- return knowledge === '' ? block : `${block}\n\n${knowledge}`;
381
- }
382
- case 'workspace-open':
383
- return renderWorkspaceOpenDocsForSubject(subject, target.cwd, target.profileId, undefined, accounting);
384
- case 'read':
385
- return payload.absoluteFile === undefined ? '' : renderOnReadDocsForSubject(subject, payload.absoluteFile, undefined, accounting);
386
- case 'memory-read': {
387
- const name = payload.resolvedCanonicalName;
388
- if (name === undefined)
389
- return '';
390
- const blocks = memoryReadDocBlocks(payload.resolvedDocPath ?? '', name, {
391
- subject,
392
- target: exposureTarget(emptyContextExposureState(), 'transcript'),
393
- listings: 'blocks',
394
- accounting,
395
- });
396
- return blocks.length === 0 ? '' : `<auto-loaded-context>\n${blocks.join('\n')}\n</auto-loaded-context>`;
397
- }
398
- case 'command':
399
- return payload.command === undefined ? '' : renderOnCommandDocsForSubject(subject, payload.command, undefined, accounting);
400
- case 'pre-command':
401
- return payload.command === undefined ? '' : renderPreCommandDocsForSubject(subject, payload.command, undefined, accounting);
402
- }
403
- }
404
- /** The read document never delivers to itself, so the plan needs its physical
405
- * path. A name that resolves to nothing excludes nothing. */
406
- function resolvedDocRealpath(name, target) {
407
- try {
408
- return realpathOrSelf(resolveMemoryDocForTarget(name, target).path);
409
- }
410
- catch {
411
- return '';
412
- }
413
- }
414
- // Rendering — agent-ready markdown.
415
- function renderResolve(result) {
416
- const lines = [];
417
- if (result.node_missing === true) {
418
- lines.push('The id passed to --node names no node; a synthetic subject was used instead.', '');
419
- }
420
- lines.push(`subject: ${describeSubject(result.subject)}`);
421
- lines.push(`target: cwd=${result.target.cwd} profile=${result.target.profileId ?? '(none)'} node=${result.target.nodeId ?? '(none)'}`);
422
- if (result.all_ignored === true) {
423
- lines.push('Note: --all applies only at docs granularity and was ignored for assembled output.');
424
- }
425
- const sections = result.plans ?? [{
426
- event: result.event,
427
- docs: result.docs,
428
- counts: result.counts,
429
- assembled: result.assembled,
430
- }];
431
- for (const section of sections) {
432
- lines.push('', `## ${section.event}`, '', renderSection(section));
433
- }
434
- return lines.join('\n');
435
- }
436
- export function describeSubject(subject) {
437
- return ['kind', 'mode', 'lifecycle', 'hasManager', 'scope', 'profile', 'depth']
438
- .map((k) => `${k}=${String(subject[k])}`)
439
- .join(' ');
440
- }
441
- function renderSection(section) {
442
- if (section.assembled !== undefined) {
443
- return section.assembled === ''
444
- ? 'Nothing is delivered for this event.'
445
- : ['```', section.assembled, '```'].join('\n');
446
- }
447
- if (section.counts !== undefined)
448
- return renderCounts(section.counts);
449
- const docs = section.docs ?? [];
450
- if (docs.length === 0)
451
- return 'No document delivers for this event.';
452
- const showExcluded = docs.some((d) => d.excluded !== undefined);
453
- const showCause = docs.some((d) => d.delivery_cause !== undefined);
454
- const cols = ['document', 'scope', 'kind', 'authored', 'cap', 'final', 'matched', 'gate', ...(showCause ? ['cause'] : []), ...(showExcluded ? ['excluded'] : [])];
455
- const rows = docs.map((d) => [
456
- d.name,
457
- d.scope,
458
- d.kind,
459
- d.authored_rung,
460
- d.project_memory_cap ?? '—',
461
- d.final_rung,
462
- d.matched_entry ?? '—',
463
- d.doc_gate,
464
- ...(showCause ? [d.delivery_cause ?? ''] : []),
465
- ...(showExcluded ? [d.excluded ?? ''] : []),
466
- ]);
467
- return [
468
- `${docs.length} document${docs.length === 1 ? '' : 's'}:`,
469
- '',
470
- `| ${cols.join(' | ')} |`,
471
- `| ${cols.map(() => '---').join(' | ')} |`,
472
- ...rows.map((r) => `| ${r.map(cell).join(' | ')} |`),
473
- ].join('\n');
474
- }
475
- function renderCounts(counts) {
476
- const delivered = counts['delivered'];
477
- const excluded = counts['excluded'];
478
- const excludedText = Object.keys(excluded).length === 0
479
- ? 'none'
480
- : Object.entries(excluded).map(([k, v]) => `${k}=${v}`).join(' ');
481
- return [
482
- `- considered: ${String(counts['considered'])}`,
483
- `- delivered: ${String(counts['delivered_total'])} (content=${delivered['content']} preview=${delivered['preview']} name=${delivered['name']})`,
484
- `- excluded: ${excludedText}`,
485
- ].join('\n');
486
- }
487
- export function cell(v) {
488
- return String(v).replace(/\|/g, '\\|').replace(/\n/g, ' ');
489
- }
1
+ var R=Object.defineProperty;var d=(e,n)=>R(e,"name",{value:n,configurable:!0});import{existsSync as $}from"node:fs";import{resolve as h}from"node:path";import{defineLeaf as I}from"../../../core/command.js";import{InputError as S}from"../../../core/io.js";import{ApiError as g}from"../../../api/index.js";import{cliClient as y}from"../../api-client.js";import{envNodeId as D,envProfileId as q}from"../../../shared/env.js";import{realpathOrSelf as u}from"../../../core/fs-utils.js";import{ambientMemoryTarget as C,resolveMemoryDocForTarget as N}from"../../../core/memory-resolver.js";import{planDelivery as v}from"../../../core/substrate/plan.js";import{explainRecordGate as f,formatClause as E}from"../../../core/substrate/gate-explain.js";import{emptyContextExposureState as F,exposureTarget as P}from"../../../core/substrate/injected-store.js";import{renderPreferencesForSubject as T,renderKnowledgeForSubject as O}from"../../../core/substrate/render.js";import{deliveryAccounting as M,memoryReadDocBlocks as B,renderOnCommandDocsForSubject as G,renderOnReadDocsForSubject as A,renderPreCommandDocsForSubject as L,renderWorkspaceOpenDocsForSubject as W}from"../../../core/substrate/on-read.js";import{clearSessionCache as w}from"../../../core/substrate/session-cache.js";import{parseSubstrateDoc as K,rungAtLeast as b,SURFACE_EVENTS as _}from"../../../core/substrate/schema.js";import{scopeForCwd as U,profileNameFor as V}from"../../../core/substrate/subject-fields.js";import{resetScopeCache as x}from"../../../core/scope.js";import{getDefaultProfileId as z}from"../../../core/profiles/default-binding.js";const Pe=I({name:"resolve",description:"resolve what a configuration snapshot loads for one surface event",whenToUse:"you are asking what a node (or a hypothetical configuration) actually receives \u2014 at boot, on opening a workspace, on reading a file, on a memory read, or around a command",help:{name:"sys context resolve",summary:"resolve the documents a configuration snapshot loads for one surface event",params:[{kind:"flag",name:"node",type:"string",required:!1,constraint:"Resolve for this live node \u2014 derives kind, mode, lifecycle, has-manager, profile, and cwd from it. A node id that does not exist degrades to a synthetic subject and says so."},{kind:"flag",name:"kind",type:"string",required:!1,constraint:"Node kind of the synthetic subject. Defaults to the --node value, else `general`."},{kind:"flag",name:"mode",type:"enum",choices:["base","orchestrator"],required:!1,constraint:"Node mode of the synthetic subject. Defaults to `base`."},{kind:"flag",name:"lifecycle",type:"enum",choices:["terminal","resident"],required:!1,constraint:"Node lifecycle of the synthetic subject. Defaults to `terminal` for base, `resident` for orchestrator."},{kind:"flag",name:"has-manager",type:"enum",choices:["true","false"],required:!1,constraint:"Treat the subject as having a manager (a subscriber above it). Defaults to the --node value, else true."},{kind:"flag",name:"profile",type:"string",required:!1,constraint:"Profile id whose memory store and project-memory caps apply. Defaults to the selected profile."},{kind:"flag",name:"cwd",type:"path",required:!1,constraint:"Directory the project stores resolve from. Defaults to the current directory."},{kind:"flag",name:"event",type:"enum",choices:[..._],required:!1,constraint:"The surface event to resolve. Defaults to `boot`. Ignored when --all-events is set."},{kind:"flag",name:"all-events",type:"bool",required:!1,constraint:"Resolve every surface event instead of one, and report each plan separately."},{kind:"flag",name:"file",type:"path",required:!1,constraint:"Payload for `--event read`: the file that was read. Without it, no read entry matches."},{kind:"flag",name:"name",type:"string",required:!1,constraint:"Payload for `--event memory-read`: the exact canonical name the read resolved to."},{kind:"flag",name:"command",type:"string",required:!1,constraint:"Payload for `--event command` / `--event pre-command`: the command string."},{kind:"flag",name:"granularity",type:"enum",choices:["summary","docs","assembled"],required:!1,constraint:"`summary` folds to per-rung counts; `docs` reports one row per document; `assembled` returns the real rendered text by calling the event\u2019s renderer. Defaults to `docs`. `--all` applies only at `docs` granularity; with `assembled` it is reported as ignored."},{kind:"flag",name:"all",type:"bool",required:!1,constraint:"At `docs` granularity, include every considered document, not just the ones that deliver \u2014 shadowed, gated-out, and capped-to-none documents with the reason each was excluded. Ignored at `summary` and `assembled` granularity."}],output:[{name:"event",type:"string",required:!1,constraint:"The resolved event. Absent with --all-events, where every entry in `plans` carries its own."},{name:"subject",type:"object",required:!0,constraint:"The configuration snapshot used: kind, mode, lifecycle, hasManager, profile, scope."},{name:"target",type:"object",required:!0,constraint:"Store resolution inputs: cwd, profileId, nodeId."},{name:"docs",type:"array",required:!1,constraint:"One entry per document, at `docs`/`all` granularity: name, kind, scope, store_path, authored_rung, project_memory_cap, capped_rung, final_rung, winner, shadowed_by, doc_gate, entry_gate, matched_entry, delivery_cause when the renderer raised it through a content attachment, and excluded when --all includes a non-delivering document."},{name:"counts",type:"object",required:!1,constraint:"At `summary` granularity: {considered, delivered: {content, preview, name}, delivered_total, excluded: {<reason>: count}}."},{name:"all_ignored",type:"boolean",required:!1,constraint:"Present only when --all is supplied with --granularity assembled; true means assembled text is unchanged because --all applies only to docs granularity."},{name:"assembled",type:"string",required:!1,constraint:"At `assembled` granularity: the exact text the node would receive for this event."},{name:"plans",type:"array",required:!1,constraint:"With --all-events: one plan result per surface event, each shaped as above."},{name:"node_missing",type:"boolean",required:!1,constraint:"Present when --node named a node that does not exist and a synthetic subject was used instead."}],outputKind:"object",effects:["None. Read-only."]},run:d(async e=>{const n=await H(e),r=e.granularity??"docs",o=e.all===!0,a=e.allEvents===!0?[..._]:[e.event??"boot"],s={file:l(e.file),readName:l(e.name),command:l(e.command)},t=a.map(c=>ee(n,c,J(c,s,n.target),r,o)),i={subject:Q(n.subject),target:n.target,...n.nodeMissing?{node_missing:!0}:{},...r==="assembled"&&o?{all_ignored:!0}:{}};return a.length===1?{...i,...t[0]}:{...i,plans:t}},"run"),render:d(e=>le(e),"render")});async function H(e){const n=l(e.node),r=await Y(n),o=r===null?null:await Z(r.node_id),a=e.mode??o?.mode??"base",s=e.lifecycle??o?.lifecycle??(a==="orchestrator"?"resident":"terminal"),t=X(l(e.cwd)??o?.cwd??process.cwd()),i=l(e.profile)??r?.profile_id??C().profileId??z(t),c=l(e.hasManager);return{subject:{kind:l(e.kind)??o?.kind??"general",mode:a,lifecycle:s,hasManager:c===null?o?.hasManager??!0:c==="true",cwd:t,scope:U(t),orchestration:{depth:o?.orchestration.depth??0},profile:V(i)},target:{cwd:t,profileId:i,nodeId:r?.node_id??null},nodeMissing:n!==null&&r===null}}d(H,"buildSnapshot");function J(e,n,r){return e==="read"?n.file===null?{}:{absoluteFile:h(n.file)}:e==="memory-read"?n.readName===null?{}:{resolvedCanonicalName:n.readName,resolvedDocPath:ce(n.readName,r)}:e==="command"||e==="pre-command"?n.command===null?{}:{command:n.command}:{}}d(J,"payloadFor");function Q(e){return{kind:e.kind,mode:e.mode,lifecycle:e.lifecycle,hasManager:e.hasManager,scope:e.scope,profile:e.profile,depth:e.orchestration.depth}}d(Q,"subjectSummary");function X(e){const n=h(e);if(!$(n))throw new S({error:"invalid_field",message:`cwd does not exist: ${n}`,field:"cwd",next:"Pass --cwd a directory that exists, or omit it to use the current directory."});return u(n)}d(X,"resolveCwd");function l(e){return typeof e=="string"&&e.trim()!==""?e:null}d(l,"optionalString");async function Y(e){if(e===null)return null;try{return await y().getNode(e)}catch(n){if(n instanceof g&&n.status===404)return null;throw n}}d(Y,"fetchNodeOrNull");async function Z(e){try{return await y().nodeSubject(e)}catch(n){if(n instanceof g&&n.status===404)return null;throw n}}d(Z,"fetchSubjectOrNull");function ee(e,n,r,o,a){const s=de(e,n,r);if(o==="assembled")return{event:n,assembled:s.assembled};const t=ne(v(e.subject,e.target,n,r),s.accounting.deliveries,r);if(o==="summary")return{event:n,counts:ae(t)};const i=t.docs.filter(c=>a||p(c)).map(c=>te(c,a,t.subject));return{event:n,docs:i}}d(ee,"planSection");function ne(e,n,r={}){const o=new Set,a=e.docs.map(s=>{o.add(u(s.doc.path));const t=n.get(u(s.doc.path));if(t===void 0||!b(t.rung,s.finalRung))return s;const i=t.rung!==s.finalRung;return{...s,...i?{winner:!0,shadowedBy:null}:{},finalRung:t.rung,...i&&t.cause!==void 0?{deliveryCause:t.cause}:{}}});for(const s of n.values()){if(s.source===void 0||o.has(u(s.source.path)))continue;const t=K(s.source);if(t===null)continue;const i=v(e.subject,e.target,e.event,r,[{doc:t,source:s.source}]).docs[0];i!==void 0&&a.push({...i,winner:!0,shadowedBy:null,finalRung:s.rung,...s.cause===void 0?{}:{deliveryCause:s.cause}})}return{...e,docs:a}}d(ne,"effectivePlan");function p(e){return e.winner&&b(e.finalRung,"name")}d(p,"delivers");function te(e,n,r){const o={name:e.name,kind:e.kind,scope:e.scope,store_path:e.storePath,authored_rung:e.authoredRung,project_memory_cap:e.projectMemoryCap,capped_rung:e.cappedRung,final_rung:e.finalRung,winner:e.winner,shadowed_by:e.shadowedBy===null?null:`${e.shadowedBy.scope}:${e.shadowedBy.path}`,doc_gate:j(e.docGate,f(e,"doc",r)),entry_gate:e.entryGate===null?null:j(e.entryGate,f(e,"entry",r)),matched_entry:re(e.matchedEntry),...e.deliveryCause===void 0?{}:{delivery_cause:e.deliveryCause}};return n&&!p(e)&&(o.excluded=oe(e,r)),o}d(te,"docRow");function j(e,n){return e.pass?"pass":`fail: ${k(e.reason,n)}`}d(j,"gateText");function k(e,n){return n.length===0?e:n.map(E).join("; ")}d(k,"gateReason");function re(e){if(e===null)return null;const n=[`at=${e.at}`];return e.match!==void 0&&n.push(`match=${e.match.join(",")}`),e.matchFrontmatter!==void 0&&n.push("match-frontmatter"),e.gate!==void 0&&n.push("gate"),n.join(" ")}d(re,"entryText");function oe(e,n){return e.docGate.pass?e.shadowedBy!==null?`shadowed by ${e.shadowedBy.scope}:${e.shadowedBy.path}`:e.authoredEntries.length===0?"no surface entry for this event":e.matchedEntry===null?e.entryGate!==null&&!e.entryGate.pass?`entry gate: ${k(e.entryGate.reason,f(e,"entry",n))}`:"no authored entry matched this event\u2019s payload":e.cappedRung==="none"?`capped to none by the profile\u2019s project-memory setting (authored ${e.authoredRung})`:`resolved to rung none (authored ${e.authoredRung})`:"document gate"}d(oe,"exclusionReason");function ae(e){const n={content:0,preview:0,name:0},r={};for(const o of e.docs){if(p(o)){n[o.finalRung]=(n[o.finalRung]??0)+1;continue}const a=se(o);r[a]=(r[a]??0)+1}return{considered:e.docs.length,delivered:n,delivered_total:n.content+n.preview+n.name,excluded:r}}d(ae,"countsOf");function se(e){return e.docGate.pass?e.shadowedBy!==null?"shadowed":e.authoredEntries.length===0?"no_entry":e.matchedEntry===null?e.entryGate!==null&&!e.entryGate.pass?"entry_gate":"no_match":e.cappedRung==="none"?"capped":"rung_none":"document_gate"}d(se,"exclusionBucket");function de(e,n,r){const o={cwd:process.cwd(),profileId:q(),nodeId:D()},a=M();w(),x();try{return process.chdir(e.target.cwd),m("CRTR_PROFILE_ID",e.target.profileId??void 0),m("CRTR_NODE_ID",e.target.nodeId??void 0),{assembled:ie(e,n,r,a),accounting:a}}finally{process.chdir(o.cwd),m("CRTR_PROFILE_ID",o.profileId),m("CRTR_NODE_ID",o.nodeId),w(),x()}}d(de,"assembleEventAccounting");function m(e,n){n===void 0?delete process.env[e]:process.env[e]=n}d(m,"setEnv");function ie(e,n,r,o){const{subject:a,target:s}=e;switch(n){case"boot":{const{block:t}=T(a,void 0,o),i=s.nodeId===null?"":O(a,s.nodeId,void 0,o);return i===""?t:`${t}
2
+
3
+ ${i}`}case"workspace-open":return W(a,s.cwd,s.profileId,void 0,o);case"read":return r.absoluteFile===void 0?"":A(a,r.absoluteFile,void 0,o);case"memory-read":{const t=r.resolvedCanonicalName;if(t===void 0)return"";const i=B(r.resolvedDocPath??"",t,{subject:a,target:P(F(),"transcript"),listings:"blocks",accounting:o});return i.length===0?"":`<auto-loaded-context>
4
+ ${i.join(`
5
+ `)}
6
+ </auto-loaded-context>`}case"command":return r.command===void 0?"":G(a,r.command,void 0,o);case"pre-command":return r.command===void 0?"":L(a,r.command,void 0,o)}}d(ie,"renderEvent");function ce(e,n){try{return u(N(e,n).path)}catch{return""}}d(ce,"resolvedDocRealpath");function le(e){const n=[];e.node_missing===!0&&n.push("The id passed to --node names no node; a synthetic subject was used instead.",""),n.push(`subject: ${ue(e.subject)}`),n.push(`target: cwd=${e.target.cwd} profile=${e.target.profileId??"(none)"} node=${e.target.nodeId??"(none)"}`),e.all_ignored===!0&&n.push("Note: --all applies only at docs granularity and was ignored for assembled output.");const r=e.plans??[{event:e.event,docs:e.docs,counts:e.counts,assembled:e.assembled}];for(const o of r)n.push("",`## ${o.event}`,"",me(o));return n.join(`
7
+ `)}d(le,"renderResolve");function ue(e){return["kind","mode","lifecycle","hasManager","scope","profile","depth"].map(n=>`${n}=${String(e[n])}`).join(" ")}d(ue,"describeSubject");function me(e){if(e.assembled!==void 0)return e.assembled===""?"Nothing is delivered for this event.":["```",e.assembled,"```"].join(`
8
+ `);if(e.counts!==void 0)return fe(e.counts);const n=e.docs??[];if(n.length===0)return"No document delivers for this event.";const r=n.some(t=>t.excluded!==void 0),o=n.some(t=>t.delivery_cause!==void 0),a=["document","scope","kind","authored","cap","final","matched","gate",...o?["cause"]:[],...r?["excluded"]:[]],s=n.map(t=>[t.name,t.scope,t.kind,t.authored_rung,t.project_memory_cap??"\u2014",t.final_rung,t.matched_entry??"\u2014",t.doc_gate,...o?[t.delivery_cause??""]:[],...r?[t.excluded??""]:[]]);return[`${n.length} document${n.length===1?"":"s"}:`,"",`| ${a.join(" | ")} |`,`| ${a.map(()=>"---").join(" | ")} |`,...s.map(t=>`| ${t.map(pe).join(" | ")} |`)].join(`
9
+ `)}d(me,"renderSection");function fe(e){const n=e.delivered,r=e.excluded,o=Object.keys(r).length===0?"none":Object.entries(r).map(([a,s])=>`${a}=${s}`).join(" ");return[`- considered: ${String(e.considered)}`,`- delivered: ${String(e.delivered_total)} (content=${n.content} preview=${n.preview} name=${n.name})`,`- excluded: ${o}`].join(`
10
+ `)}d(fe,"renderCounts");function pe(e){return String(e).replace(/\|/g,"\\|").replace(/\n/g," ")}d(pe,"cell");export{de as assembleEventAccounting,H as buildSnapshot,pe as cell,p as delivers,ue as describeSubject,te as docRow,ne as effectivePlan,re as entryText,oe as exclusionReason,j as gateText,l as optionalString,J as payloadFor,Pe as resolveLeaf,Q as subjectSummary};
@@ -1,96 +1,5 @@
1
- import { envNodeId } from '../../../shared/env.js';
2
- import { existsSync, readFileSync, statSync, writeFileSync } from 'node:fs';
3
- import { tmpdir } from 'node:os';
4
- import { join } from 'node:path';
5
- import { defineLeaf } from '../../../core/command.js';
6
- import { InputError } from '../../../core/io.js';
7
- import { jobDir } from '../../../core/canvas/paths.js';
8
- import { openNodeWindow } from '../../../core/runtime/placement-tmux.js';
9
- import { ApiError } from '../../../api/index.js';
10
- import { cliClient } from '../../api-client.js';
11
- import { shellQuote } from '../../../shared/shell-quote.js';
12
- export const sysSyspromptLeaf = defineLeaf({
13
- name: 'sysprompt',
14
- description: 'print a node\'s assembled system prompt',
15
- whenToUse: 'you want to inspect a node\'s assembled system prompt headlessly, without paying conversation/context cost — the broker writes it to disk while live, and this command reads that artifact back as markdown.',
16
- help: {
17
- name: 'sys context sysprompt',
18
- summary: 'print a node\'s assembled system prompt',
19
- params: [
20
- { kind: 'positional', name: 'node', required: false, constraint: 'Node id. Defaults to the calling node (CRTR_NODE_ID).' },
21
- { kind: 'flag', name: 'window', type: 'bool', required: false, constraint: 'Open the assembled prompt in a NEW tmux window in the session currently showing that node instead of printing to stdout.' },
22
- ],
23
- output: [
24
- { name: 'node_id', type: 'string', required: true, constraint: 'The node whose prompt was read.' },
25
- { name: 'captured_at', type: 'string', required: true, constraint: 'File mtime in ISO-8601 UTC.' },
26
- { name: 'chars', type: 'number', required: true, constraint: 'Character count of the stored prompt.' },
27
- { name: 'prompt', type: 'string', required: true, constraint: 'The assembled system prompt, exactly as pi built it.' },
28
- { name: 'session', type: 'string', required: false, constraint: 'tmux session showing the node (only when --window is used).' },
29
- { name: 'window', type: 'string', required: false, constraint: 'tmux window opened for the prompt (only when --window is used).' },
30
- ],
31
- outputKind: 'object',
32
- effects: ['Read-only: reads the node\'s job/system-prompt.md artifact, or opens it in a tmux window.'],
33
- // Giant prompt dump / machine payload for an agent to inspect deliberately,
34
- // not to glance at inline — collapse it in the attach viewer by default.
35
- preview: { suppressOutput: true },
36
- },
37
- run: async (input) => {
38
- const nodeId = input['node']?.trim() || envNodeId();
39
- if (nodeId === undefined || nodeId === '') {
40
- throw new InputError({ error: 'empty_node', message: 'a node id is required', field: 'node', next: 'Pass a node id or run from inside a node.' });
41
- }
42
- try {
43
- await cliClient().getNode(nodeId);
44
- }
45
- catch (err) {
46
- if (err instanceof ApiError && err.status === 404) {
47
- throw new InputError({ error: 'not_found', message: `no node: ${nodeId}`, field: 'node', next: 'List nodes with `crtr node inspect list`.' });
48
- }
49
- throw err;
50
- }
51
- const path = join(jobDir(nodeId), 'system-prompt.md');
52
- if (!existsSync(path)) {
53
- throw new InputError({
54
- error: 'not_found',
55
- message: `system prompt not captured yet for ${nodeId}`,
56
- field: 'node',
57
- next: 'Focus or revive the node once while its broker is live, then rerun `crtr sys context sysprompt <node>`.',
58
- });
59
- }
60
- const prompt = readFileSync(path, 'utf8');
61
- const capturedAt = statSync(path).mtime.toISOString();
62
- if (input['window'] === true) {
63
- const focus = await cliClient().focusOf(nodeId);
64
- if (focus === null || focus.session === null || focus.session === '') {
65
- throw new InputError({
66
- error: 'not_focused',
67
- message: `node ${nodeId} is not currently shown in tmux`,
68
- field: 'node',
69
- next: `Focus the node first with \`crtr surface node focus ${nodeId}\`, then rerun \`crtr sys context sysprompt --window ${nodeId}\`.`,
70
- });
71
- }
72
- const tmpPath = join(tmpdir(), `crtr-sysprompt-${nodeId}.md`);
73
- writeFileSync(tmpPath, prompt, 'utf8');
74
- const q = shellQuote(tmpPath);
75
- // Syntax-highlight the prompt (markdown + its structural XML tags both stay visible).
76
- // bat pages by default; markdown RENDERERS (termrender, glow) are wrong here — they
77
- // silently swallow block-level XML tags, dropping most of the assembled prompt.
78
- // Fall back to `less -R` when bat is not installed.
79
- const command = `if command -v bat >/dev/null 2>&1; then bat --language=markdown --color=always --paging=always --style=plain ${q}; else less -R ${q}; fi`;
80
- const opened = openNodeWindow({ session: focus.session, name: `sysprompt:${nodeId}`, cwd: process.cwd(), env: {}, command });
81
- if (opened === null) {
82
- throw new InputError({
83
- error: 'window_open_failed',
84
- message: `tmux could not open a window for node ${nodeId}`,
85
- field: 'node',
86
- next: 'Check the tmux server is reachable, then retry.',
87
- });
88
- }
89
- return { node_id: nodeId, session: focus.session, window: opened.window };
90
- }
91
- return { node_id: nodeId, captured_at: capturedAt, chars: prompt.length, prompt };
92
- },
93
- render: (r) => ('window' in r)
94
- ? `Opened system prompt for node ${r['node_id']} in tmux session ${r['session']} — window ${r['window']}.`
95
- : `- node_id: ${r['node_id']}\n- captured_at: ${r['captured_at']}\n- chars: ${r['chars']}\n\n${r['prompt']}`,
96
- });
1
+ var l=Object.defineProperty;var i=(t,e)=>l(t,"name",{value:e,configurable:!0});import{envNodeId as f}from"../../../shared/env.js";import{existsSync as h,readFileSync as y,statSync as g,writeFileSync as x}from"node:fs";import{tmpdir as _}from"node:os";import{join as p}from"node:path";import{defineLeaf as b}from"../../../core/command.js";import{InputError as n}from"../../../core/io.js";import{jobDir as $}from"../../../core/canvas/paths.js";import{openNodeWindow as v}from"../../../core/runtime/placement-tmux.js";import{ApiError as q}from"../../../api/index.js";import{cliClient as c}from"../../api-client.js";import{shellQuote as k}from"../../../shared/shell-quote.js";const A=b({name:"sysprompt",description:"print a node's assembled system prompt",whenToUse:"you want to inspect a node's assembled system prompt headlessly, without paying conversation/context cost \u2014 the broker writes it to disk while live, and this command reads that artifact back as markdown.",help:{name:"sys context sysprompt",summary:"print a node's assembled system prompt",params:[{kind:"positional",name:"node",required:!1,constraint:"Node id. Defaults to the calling node (CRTR_NODE_ID)."},{kind:"flag",name:"window",type:"bool",required:!1,constraint:"Open the assembled prompt in a NEW tmux window in the session currently showing that node instead of printing to stdout."}],output:[{name:"node_id",type:"string",required:!0,constraint:"The node whose prompt was read."},{name:"captured_at",type:"string",required:!0,constraint:"File mtime in ISO-8601 UTC."},{name:"chars",type:"number",required:!0,constraint:"Character count of the stored prompt."},{name:"prompt",type:"string",required:!0,constraint:"The assembled system prompt, exactly as pi built it."},{name:"session",type:"string",required:!1,constraint:"tmux session showing the node (only when --window is used)."},{name:"window",type:"string",required:!1,constraint:"tmux window opened for the prompt (only when --window is used)."}],outputKind:"object",effects:["Read-only: reads the node's job/system-prompt.md artifact, or opens it in a tmux window."],preview:{suppressOutput:!0}},run:i(async t=>{const e=t.node?.trim()||f();if(e===void 0||e==="")throw new n({error:"empty_node",message:"a node id is required",field:"node",next:"Pass a node id or run from inside a node."});try{await c().getNode(e)}catch(o){throw o instanceof q&&o.status===404?new n({error:"not_found",message:`no node: ${e}`,field:"node",next:"List nodes with `crtr node inspect list`."}):o}const s=p($(e),"system-prompt.md");if(!h(s))throw new n({error:"not_found",message:`system prompt not captured yet for ${e}`,field:"node",next:"Focus or revive the node once while its broker is live, then rerun `crtr sys context sysprompt <node>`."});const r=y(s,"utf8"),u=g(s).mtime.toISOString();if(t.window===!0){const o=await c().focusOf(e);if(o===null||o.session===null||o.session==="")throw new n({error:"not_focused",message:`node ${e} is not currently shown in tmux`,field:"node",next:`Focus the node first with \`crtr surface node focus ${e}\`, then rerun \`crtr sys context sysprompt --window ${e}\`.`});const d=p(_(),`crtr-sysprompt-${e}.md`);x(d,r,"utf8");const a=k(d),w=`if command -v bat >/dev/null 2>&1; then bat --language=markdown --color=always --paging=always --style=plain ${a}; else less -R ${a}; fi`,m=v({session:o.session,name:`sysprompt:${e}`,cwd:process.cwd(),env:{},command:w});if(m===null)throw new n({error:"window_open_failed",message:`tmux could not open a window for node ${e}`,field:"node",next:"Check the tmux server is reachable, then retry."});return{node_id:e,session:o.session,window:m.window}}return{node_id:e,captured_at:u,chars:r.length,prompt:r}},"run"),render:i(t=>"window"in t?`Opened system prompt for node ${t.node_id} in tmux session ${t.session} \u2014 window ${t.window}.`:`- node_id: ${t.node_id}
2
+ - captured_at: ${t.captured_at}
3
+ - chars: ${t.chars}
4
+
5
+ ${t.prompt}`,"render")});export{A as sysSyspromptLeaf};