@north-light/api 0.3.579 → 0.3.587
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/client.d.ts +9 -2
- package/dist/api/client.js +22 -0
- package/dist/api/contract.d.ts +1 -1
- package/dist/api/contract.js +1 -1
- package/dist/api/dto/bash-jobs.d.ts +17 -0
- package/dist/api/dto/bash-jobs.js +2 -0
- package/dist/api/dto/execution-start.d.ts +14 -0
- package/dist/api/dto/health.d.ts +22 -0
- package/dist/api/dto/imports.d.ts +142 -0
- package/dist/api/dto/imports.js +2 -0
- package/dist/api/error-codes.d.ts +5 -0
- package/dist/api/error-codes.js +2 -0
- package/dist/api/errors.js +2 -1
- package/dist/api/index.d.ts +1 -0
- package/dist/api/index.js +1 -0
- package/dist/api/routes.d.ts +3 -0
- package/dist/api/routes.js +3 -0
- package/dist/build-root.d.ts +66 -0
- package/dist/build-root.js +401 -0
- package/dist/clients/attach/ansi-cells.d.ts +44 -0
- package/dist/clients/attach/ansi-cells.js +137 -0
- package/dist/clients/attach/chrome/bash-jobs.d.ts +16 -0
- package/dist/clients/attach/chrome/bash-jobs.js +34 -0
- package/dist/clients/attach/chrome/canvas-panels.d.ts +43 -0
- package/dist/clients/attach/chrome/canvas-panels.js +227 -0
- package/dist/clients/attach/chrome/completion-bell.d.ts +10 -0
- package/dist/clients/attach/chrome/completion-bell.js +89 -0
- package/dist/clients/attach/chrome/cron-wait.d.ts +3 -0
- package/dist/clients/attach/chrome/cron-wait.js +34 -0
- package/dist/clients/attach/chrome/git-info.d.ts +20 -0
- package/dist/clients/attach/chrome/git-info.js +44 -0
- package/dist/clients/attach/chrome/header.d.ts +10 -0
- package/dist/clients/attach/chrome/header.js +30 -0
- package/dist/clients/attach/chrome/inbox-strip.d.ts +36 -0
- package/dist/clients/attach/chrome/inbox-strip.js +219 -0
- package/dist/clients/attach/chrome/key-hint.d.ts +9 -0
- package/dist/clients/attach/chrome/key-hint.js +16 -0
- package/dist/clients/attach/chrome/object-wait.d.ts +4 -0
- package/dist/clients/attach/chrome/object-wait.js +24 -0
- package/dist/clients/attach/chrome/recap.d.ts +7 -0
- package/dist/clients/attach/chrome/recap.js +19 -0
- package/dist/clients/attach/chrome/review-wait.d.ts +6 -0
- package/dist/clients/attach/chrome/review-wait.js +22 -0
- package/dist/clients/attach/chrome/roster.d.ts +39 -0
- package/dist/clients/attach/chrome/roster.js +294 -0
- package/dist/clients/attach/chrome/status-line.d.ts +38 -0
- package/dist/clients/attach/chrome/status-line.js +127 -0
- package/dist/clients/attach/chrome/ticket-panel.d.ts +29 -0
- package/dist/clients/attach/chrome/ticket-panel.js +280 -0
- package/dist/clients/attach/chrome/widgets.d.ts +9 -0
- package/dist/clients/attach/chrome/widgets.js +51 -0
- package/dist/clients/attach/command.d.ts +3 -0
- package/dist/clients/attach/command.js +107 -0
- package/dist/clients/attach/config.d.ts +95 -0
- package/dist/clients/attach/config.js +275 -0
- package/dist/clients/attach/input/capabilities.d.ts +30 -0
- package/dist/clients/attach/input/capabilities.js +112 -0
- package/dist/clients/attach/input/clipboard-image.d.ts +55 -0
- package/dist/clients/attach/input/clipboard-image.js +237 -0
- package/dist/clients/attach/input/completion-frecency.d.ts +45 -0
- package/dist/clients/attach/input/completion-frecency.js +141 -0
- package/dist/clients/attach/input/controller.d.ts +92 -0
- package/dist/clients/attach/input/controller.js +383 -0
- package/dist/clients/attach/input/overlay-owner.d.ts +41 -0
- package/dist/clients/attach/input/overlay-owner.js +199 -0
- package/dist/clients/attach/input/ref-autocomplete.d.ts +77 -0
- package/dist/clients/attach/input/ref-autocomplete.js +176 -0
- package/dist/clients/attach/input/titled-editor.d.ts +225 -0
- package/dist/clients/attach/input/titled-editor.js +859 -0
- package/dist/clients/attach/overlays/auth.d.ts +13 -0
- package/dist/clients/attach/overlays/auth.js +247 -0
- package/dist/clients/attach/overlays/dialogs.d.ts +27 -0
- package/dist/clients/attach/overlays/dialogs.js +102 -0
- package/dist/clients/attach/overlays/file-review.d.ts +10 -0
- package/dist/clients/attach/overlays/file-review.js +146 -0
- package/dist/clients/attach/overlays/graph.d.ts +83 -0
- package/dist/clients/attach/overlays/graph.js +725 -0
- package/dist/clients/attach/overlays/help.d.ts +33 -0
- package/dist/clients/attach/overlays/help.js +214 -0
- package/dist/clients/attach/overlays/mcp.d.ts +32 -0
- package/dist/clients/attach/overlays/mcp.js +302 -0
- package/dist/clients/attach/overlays/pickers.d.ts +56 -0
- package/dist/clients/attach/overlays/pickers.js +163 -0
- package/dist/clients/attach/render/activity-slot.d.ts +4 -0
- package/dist/clients/attach/render/activity-slot.js +13 -0
- package/dist/clients/attach/render/assistant-message.d.ts +13 -0
- package/dist/clients/attach/render/assistant-message.js +56 -0
- package/dist/clients/attach/render/card-presentation.d.ts +36 -0
- package/dist/clients/attach/render/card-presentation.js +222 -0
- package/dist/clients/attach/render/chat-view.d.ts +409 -0
- package/dist/clients/attach/render/chat-view.js +2108 -0
- package/dist/clients/attach/render/condensed-history.d.ts +21 -0
- package/dist/clients/attach/render/condensed-history.js +60 -0
- package/dist/clients/attach/render/context-message.d.ts +22 -0
- package/dist/clients/attach/render/context-message.js +63 -0
- package/dist/clients/attach/render/crtr-output.d.ts +52 -0
- package/dist/clients/attach/render/crtr-output.js +721 -0
- package/dist/clients/attach/render/diagram.d.ts +4 -0
- package/dist/clients/attach/render/diagram.js +111 -0
- package/dist/clients/attach/render/doc-links.d.ts +36 -0
- package/dist/clients/attach/render/doc-links.js +78 -0
- package/dist/clients/attach/render/edit-diff.d.ts +12 -0
- package/dist/clients/attach/render/edit-diff.js +304 -0
- package/dist/clients/attach/render/glyph-codepoints.d.ts +3 -0
- package/dist/clients/attach/render/glyph-codepoints.js +42 -0
- package/dist/clients/attach/render/group-activity.d.ts +84 -0
- package/dist/clients/attach/render/group-activity.js +276 -0
- package/dist/clients/attach/render/group-recap.d.ts +13 -0
- package/dist/clients/attach/render/group-recap.js +146 -0
- package/dist/clients/attach/render/markdown-source.d.ts +21 -0
- package/dist/clients/attach/render/markdown-source.js +279 -0
- package/dist/clients/attach/render/measured-container.d.ts +96 -0
- package/dist/clients/attach/render/measured-container.js +322 -0
- package/dist/clients/attach/render/page-block.d.ts +39 -0
- package/dist/clients/attach/render/page-block.js +187 -0
- package/dist/clients/attach/render/scroll-animation.d.ts +8 -0
- package/dist/clients/attach/render/scroll-animation.js +80 -0
- package/dist/clients/attach/render/tool-calls.d.ts +53 -0
- package/dist/clients/attach/render/tool-calls.js +350 -0
- package/dist/clients/attach/render/transcript-copy.d.ts +9 -0
- package/dist/clients/attach/render/transcript-copy.js +81 -0
- package/dist/clients/attach/render/transcript-search.d.ts +28 -0
- package/dist/clients/attach/render/transcript-search.js +152 -0
- package/dist/clients/attach/render/viewport.d.ts +38 -0
- package/dist/clients/attach/render/viewport.js +184 -0
- package/dist/clients/attach/session/banner.d.ts +13 -0
- package/dist/clients/attach/session/banner.js +33 -0
- package/dist/clients/attach/session/bindings.d.ts +20 -0
- package/dist/clients/attach/session/bindings.js +71 -0
- package/dist/clients/attach/session/chrome-refresh.d.ts +49 -0
- package/dist/clients/attach/session/chrome-refresh.js +154 -0
- package/dist/clients/attach/session/connection.d.ts +54 -0
- package/dist/clients/attach/session/connection.js +204 -0
- package/dist/clients/attach/session/context.d.ts +59 -0
- package/dist/clients/attach/session/context.js +16 -0
- package/dist/clients/attach/session/document-links.d.ts +12 -0
- package/dist/clients/attach/session/document-links.js +43 -0
- package/dist/clients/attach/session/editor-frame.d.ts +47 -0
- package/dist/clients/attach/session/editor-frame.js +142 -0
- package/dist/clients/attach/session/editor-inventory.d.ts +63 -0
- package/dist/clients/attach/session/editor-inventory.js +156 -0
- package/dist/clients/attach/session/file-links.d.ts +22 -0
- package/dist/clients/attach/session/file-links.js +73 -0
- package/dist/clients/attach/session/focus-events.d.ts +4 -0
- package/dist/clients/attach/session/focus-events.js +12 -0
- package/dist/clients/attach/session/frame.d.ts +46 -0
- package/dist/clients/attach/session/frame.js +214 -0
- package/dist/clients/attach/session/frames.d.ts +51 -0
- package/dist/clients/attach/session/frames.js +203 -0
- package/dist/clients/attach/session/identity.d.ts +16 -0
- package/dist/clients/attach/session/identity.js +26 -0
- package/dist/clients/attach/session/input-wiring.d.ts +53 -0
- package/dist/clients/attach/session/input-wiring.js +146 -0
- package/dist/clients/attach/session/invariant.d.ts +9 -0
- package/dist/clients/attach/session/invariant.js +15 -0
- package/dist/clients/attach/session/keys.d.ts +46 -0
- package/dist/clients/attach/session/keys.js +77 -0
- package/dist/clients/attach/session/layout.d.ts +22 -0
- package/dist/clients/attach/session/layout.js +59 -0
- package/dist/clients/attach/session/mouse.d.ts +27 -0
- package/dist/clients/attach/session/mouse.js +78 -0
- package/dist/clients/attach/session/pane-focus.d.ts +8 -0
- package/dist/clients/attach/session/pane-focus.js +42 -0
- package/dist/clients/attach/session/pane-tag.d.ts +44 -0
- package/dist/clients/attach/session/pane-tag.js +112 -0
- package/dist/clients/attach/session/pi-assets.d.ts +1 -0
- package/dist/clients/attach/session/pi-assets.js +24 -0
- package/dist/clients/attach/session/pi-oauth-flows.d.ts +1 -0
- package/dist/clients/attach/session/pi-oauth-flows.js +21 -0
- package/dist/clients/attach/session/profile-files.d.ts +17 -0
- package/dist/clients/attach/session/profile-files.js +207 -0
- package/dist/clients/attach/session/readonly-popup.d.ts +15 -0
- package/dist/clients/attach/session/readonly-popup.js +25 -0
- package/dist/clients/attach/session/reconnect.d.ts +46 -0
- package/dist/clients/attach/session/reconnect.js +195 -0
- package/dist/clients/attach/session/selection.d.ts +28 -0
- package/dist/clients/attach/session/selection.js +108 -0
- package/dist/clients/attach/session/state-sync.d.ts +38 -0
- package/dist/clients/attach/session/state-sync.js +67 -0
- package/dist/clients/attach/session/surface-frame.d.ts +20 -0
- package/dist/clients/attach/session/surface-frame.js +73 -0
- package/dist/clients/attach/session/surface-host.d.ts +65 -0
- package/dist/clients/attach/session/surface-host.js +256 -0
- package/dist/clients/attach/session/teardown.d.ts +30 -0
- package/dist/clients/attach/session/teardown.js +94 -0
- package/dist/clients/attach/session/transcript-search.d.ts +20 -0
- package/dist/clients/attach/session/transcript-search.js +151 -0
- package/dist/clients/attach/session/whip-achievements.d.ts +4 -0
- package/dist/clients/attach/session/whip-achievements.js +145 -0
- package/dist/clients/attach/session/whip.d.ts +20 -0
- package/dist/clients/attach/session/whip.js +362 -0
- package/dist/clients/attach/slash/dispatch.d.ts +120 -0
- package/dist/clients/attach/slash/dispatch.js +748 -0
- package/dist/clients/attach/slash/prompt-preview.d.ts +30 -0
- package/dist/clients/attach/slash/prompt-preview.js +121 -0
- package/dist/clients/attach/viewer.d.ts +8 -0
- package/dist/clients/attach/viewer.js +873 -0
- package/dist/clients/conversation/projection.d.ts +79 -0
- package/dist/clients/conversation/projection.js +324 -0
- package/dist/clients/conversation/submit.d.ts +38 -0
- package/dist/clients/conversation/submit.js +51 -0
- package/dist/clients/dashboard/app.d.ts +7 -0
- package/dist/clients/dashboard/app.js +438 -0
- package/dist/clients/dashboard/model.d.ts +39 -0
- package/dist/clients/dashboard/model.js +77 -0
- package/dist/clients/dashboard/render.d.ts +29 -0
- package/dist/clients/dashboard/render.js +148 -0
- package/dist/clients/inbox/controller.d.ts +174 -0
- package/dist/clients/inbox/controller.js +816 -0
- package/dist/clients/inbox/dto-adapt.d.ts +28 -0
- package/dist/clients/inbox/dto-adapt.js +93 -0
- package/dist/clients/inbox/layout.d.ts +8 -0
- package/dist/clients/inbox/layout.js +9 -0
- package/dist/clients/inbox/page-adapter.d.ts +33 -0
- package/dist/clients/inbox/page-adapter.js +55 -0
- package/dist/clients/inbox/resolve.d.ts +16 -0
- package/dist/clients/inbox/resolve.js +35 -0
- package/dist/clients/inbox/review/anchors.d.ts +41 -0
- package/dist/clients/inbox/review/anchors.js +89 -0
- package/dist/clients/inbox/review/comments-client.d.ts +74 -0
- package/dist/clients/inbox/review/comments-client.js +103 -0
- package/dist/clients/inbox/review/companion-pane.d.ts +47 -0
- package/dist/clients/inbox/review/companion-pane.js +109 -0
- package/dist/clients/inbox/review/document-surface.d.ts +212 -0
- package/dist/clients/inbox/review/document-surface.js +1268 -0
- package/dist/clients/inbox/review/frame.d.ts +57 -0
- package/dist/clients/inbox/review/frame.js +309 -0
- package/dist/clients/inbox/review/keys.d.ts +69 -0
- package/dist/clients/inbox/review/keys.js +133 -0
- package/dist/clients/inbox/review/launch.d.ts +16 -0
- package/dist/clients/inbox/review/launch.js +170 -0
- package/dist/clients/inbox/review/live-source.d.ts +24 -0
- package/dist/clients/inbox/review/live-source.js +160 -0
- package/dist/clients/inbox/review/nvim.d.ts +15 -0
- package/dist/clients/inbox/review/nvim.js +43 -0
- package/dist/clients/inbox/review/remap.d.ts +51 -0
- package/dist/clients/inbox/review/remap.js +157 -0
- package/dist/clients/inbox/review/review-client.d.ts +43 -0
- package/dist/clients/inbox/review/review-client.js +123 -0
- package/dist/clients/inbox/review/roundtrip.d.ts +5 -0
- package/dist/clients/inbox/review/roundtrip.js +41 -0
- package/dist/clients/inbox/review/state.d.ts +153 -0
- package/dist/clients/inbox/review/state.js +315 -0
- package/dist/clients/inbox/review-adapter.d.ts +17 -0
- package/dist/clients/inbox/review-adapter.js +43 -0
- package/dist/clients/inbox/surface.d.ts +25 -0
- package/dist/clients/inbox/surface.js +190 -0
- package/dist/clients/inbox/tui/ansi.d.ts +68 -0
- package/dist/clients/inbox/tui/ansi.js +321 -0
- package/dist/clients/inbox/tui/input.d.ts +5 -0
- package/dist/clients/inbox/tui/input.js +392 -0
- package/dist/clients/inbox/tui/keys.d.ts +28 -0
- package/dist/clients/inbox/tui/keys.js +104 -0
- package/dist/clients/inbox/tui/page-body.d.ts +10 -0
- package/dist/clients/inbox/tui/page-body.js +69 -0
- package/dist/clients/inbox/tui/panel.d.ts +4 -0
- package/dist/clients/inbox/tui/panel.js +84 -0
- package/dist/clients/inbox/tui/render.d.ts +23 -0
- package/dist/clients/inbox/tui/render.js +378 -0
- package/dist/clients/inbox/tui/slots.d.ts +33 -0
- package/dist/clients/inbox/tui/slots.js +134 -0
- package/dist/clients/inbox/tui/types.d.ts +73 -0
- package/dist/clients/inbox/tui/types.js +1 -0
- package/dist/clients/inbox/tui.d.ts +17 -0
- package/dist/clients/inbox/tui.js +92 -0
- package/dist/clients/surfaces/host.d.ts +74 -0
- package/dist/clients/surfaces/host.js +1 -0
- package/dist/commands/api-client.d.ts +113 -0
- package/dist/commands/api-client.js +427 -0
- package/dist/commands/attention.d.ts +2 -0
- package/dist/commands/attention.js +215 -0
- package/dist/commands/canvas/edges.d.ts +2 -0
- package/dist/commands/canvas/edges.js +41 -0
- package/dist/commands/canvas/list.d.ts +4 -0
- package/dist/commands/canvas/list.js +79 -0
- package/dist/commands/canvas/read.d.ts +14 -0
- package/dist/commands/canvas/read.js +95 -0
- package/dist/commands/canvas/search.d.ts +2 -0
- package/dist/commands/canvas/search.js +49 -0
- package/dist/commands/canvas/share.d.ts +2 -0
- package/dist/commands/canvas/share.js +80 -0
- package/dist/commands/canvas/unwatch.d.ts +2 -0
- package/dist/commands/canvas/unwatch.js +42 -0
- package/dist/commands/canvas/watch.d.ts +3 -0
- package/dist/commands/canvas/watch.js +63 -0
- package/dist/commands/canvas-analytics/chart.d.ts +52 -0
- package/dist/commands/canvas-analytics/chart.js +124 -0
- package/dist/commands/canvas-analytics/drilldown.d.ts +34 -0
- package/dist/commands/canvas-analytics/drilldown.js +96 -0
- package/dist/commands/canvas-analytics/format.d.ts +29 -0
- package/dist/commands/canvas-analytics/format.js +106 -0
- package/dist/commands/canvas-analytics/graph-detail.d.ts +2 -0
- package/dist/commands/canvas-analytics/graph-detail.js +307 -0
- package/dist/commands/canvas-analytics/graphs.d.ts +9 -0
- package/dist/commands/canvas-analytics/graphs.js +365 -0
- package/dist/commands/canvas-analytics/memory.d.ts +2 -0
- package/dist/commands/canvas-analytics/memory.js +211 -0
- package/dist/commands/canvas-analytics/overview.d.ts +2 -0
- package/dist/commands/canvas-analytics/overview.js +189 -0
- package/dist/commands/canvas-analytics/shell.d.ts +60 -0
- package/dist/commands/canvas-analytics/shell.js +416 -0
- package/dist/commands/canvas-analytics/time.d.ts +2 -0
- package/dist/commands/canvas-analytics/time.js +228 -0
- package/dist/commands/canvas-analytics/usage.d.ts +2 -0
- package/dist/commands/canvas-analytics/usage.js +305 -0
- package/dist/commands/canvas-analytics/view.d.ts +85 -0
- package/dist/commands/canvas-analytics/view.js +102 -0
- package/dist/commands/canvas-analytics.d.ts +2 -0
- package/dist/commands/canvas-analytics.js +28 -0
- package/dist/commands/canvas-browse.d.ts +2 -0
- package/dist/commands/canvas-browse.js +71 -0
- package/dist/commands/canvas-config.d.ts +2 -0
- package/dist/commands/canvas-config.js +192 -0
- package/dist/commands/canvas-history/grep.d.ts +1 -0
- package/dist/commands/canvas-history/grep.js +85 -0
- package/dist/commands/canvas-history/read.d.ts +1 -0
- package/dist/commands/canvas-history/read.js +48 -0
- package/dist/commands/canvas-history/search.d.ts +1 -0
- package/dist/commands/canvas-history/search.js +99 -0
- package/dist/commands/canvas-history/shared.d.ts +34 -0
- package/dist/commands/canvas-history/shared.js +135 -0
- package/dist/commands/canvas-history/stats.d.ts +1 -0
- package/dist/commands/canvas-history/stats.js +68 -0
- package/dist/commands/canvas-history.d.ts +2 -0
- package/dist/commands/canvas-history.js +29 -0
- package/dist/commands/canvas-issue.d.ts +2 -0
- package/dist/commands/canvas-issue.js +148 -0
- package/dist/commands/canvas-prune.d.ts +2 -0
- package/dist/commands/canvas-prune.js +111 -0
- package/dist/commands/canvas-roster.d.ts +2 -0
- package/dist/commands/canvas-roster.js +69 -0
- package/dist/commands/canvas-snapshot.d.ts +2 -0
- package/dist/commands/canvas-snapshot.js +34 -0
- package/dist/commands/canvas-use.d.ts +1 -0
- package/dist/commands/canvas-use.js +61 -0
- package/dist/commands/canvas.d.ts +3 -0
- package/dist/commands/canvas.js +57 -0
- package/dist/commands/chord.d.ts +2 -0
- package/dist/commands/chord.js +241 -0
- package/dist/commands/cron.d.ts +2 -0
- package/dist/commands/cron.js +541 -0
- package/dist/commands/custom-object/ack.d.ts +2 -0
- package/dist/commands/custom-object/ack.js +30 -0
- package/dist/commands/custom-object/publish.d.ts +2 -0
- package/dist/commands/custom-object/publish.js +39 -0
- package/dist/commands/custom-object/receive.d.ts +2 -0
- package/dist/commands/custom-object/receive.js +69 -0
- package/dist/commands/custom-object/register.d.ts +2 -0
- package/dist/commands/custom-object/register.js +69 -0
- package/dist/commands/custom-object/shared.d.ts +5 -0
- package/dist/commands/custom-object/shared.js +14 -0
- package/dist/commands/custom-object/unregister.d.ts +2 -0
- package/dist/commands/custom-object/unregister.js +26 -0
- package/dist/commands/custom-object.d.ts +2 -0
- package/dist/commands/custom-object.js +21 -0
- package/dist/commands/dashboard.d.ts +2 -0
- package/dist/commands/dashboard.js +86 -0
- package/dist/commands/doc/delete.d.ts +2 -0
- package/dist/commands/doc/delete.js +30 -0
- package/dist/commands/doc/edit.d.ts +2 -0
- package/dist/commands/doc/edit.js +82 -0
- package/dist/commands/doc/history.d.ts +2 -0
- package/dist/commands/doc/history.js +38 -0
- package/dist/commands/doc/lint.d.ts +2 -0
- package/dist/commands/doc/lint.js +36 -0
- package/dist/commands/doc/list.d.ts +2 -0
- package/dist/commands/doc/list.js +19 -0
- package/dist/commands/doc/move.d.ts +2 -0
- package/dist/commands/doc/move.js +37 -0
- package/dist/commands/doc/read.d.ts +2 -0
- package/dist/commands/doc/read.js +19 -0
- package/dist/commands/doc/replace-blocks.d.ts +6 -0
- package/dist/commands/doc/replace-blocks.js +40 -0
- package/dist/commands/doc/shared.d.ts +25 -0
- package/dist/commands/doc/shared.js +160 -0
- package/dist/commands/doc/write.d.ts +2 -0
- package/dist/commands/doc/write.js +52 -0
- package/dist/commands/doc.d.ts +2 -0
- package/dist/commands/doc.js +27 -0
- package/dist/commands/human/components.d.ts +4 -0
- package/dist/commands/human/components.js +78 -0
- package/dist/commands/human/feedback.d.ts +2 -0
- package/dist/commands/human/feedback.js +112 -0
- package/dist/commands/human/prompts.d.ts +21 -0
- package/dist/commands/human/prompts.js +326 -0
- package/dist/commands/human/queue.d.ts +3 -0
- package/dist/commands/human/queue.js +191 -0
- package/dist/commands/human/request.d.ts +2 -0
- package/dist/commands/human/request.js +266 -0
- package/dist/commands/human/review.d.ts +2 -0
- package/dist/commands/human/review.js +288 -0
- package/dist/commands/human/shared.d.ts +16 -0
- package/dist/commands/human/shared.js +67 -0
- package/dist/commands/human.d.ts +2 -0
- package/dist/commands/human.js +63 -0
- package/dist/commands/node/bash.d.ts +1 -0
- package/dist/commands/node/bash.js +390 -0
- package/dist/commands/node/create.d.ts +6 -0
- package/dist/commands/node/create.js +363 -0
- package/dist/commands/node/inspect.d.ts +2 -0
- package/dist/commands/node/inspect.js +288 -0
- package/dist/commands/node/lifecycle.d.ts +4 -0
- package/dist/commands/node/lifecycle.js +577 -0
- package/dist/commands/node/message.d.ts +1 -0
- package/dist/commands/node/message.js +170 -0
- package/dist/commands/node/outcome.d.ts +2 -0
- package/dist/commands/node/outcome.js +133 -0
- package/dist/commands/node/pyramid.d.ts +2 -0
- package/dist/commands/node/pyramid.js +79 -0
- package/dist/commands/node/subscription.d.ts +1 -0
- package/dist/commands/node/subscription.js +78 -0
- package/dist/commands/node/wait.d.ts +1 -0
- package/dist/commands/node/wait.js +165 -0
- package/dist/commands/node-context.d.ts +2 -0
- package/dist/commands/node-context.js +145 -0
- package/dist/commands/node-lifecycle-revive.d.ts +12 -0
- package/dist/commands/node-lifecycle-revive.js +217 -0
- package/dist/commands/node-snapshot.d.ts +2 -0
- package/dist/commands/node-snapshot.js +37 -0
- package/dist/commands/node-transcript.d.ts +2 -0
- package/dist/commands/node-transcript.js +59 -0
- package/dist/commands/node-worktree.d.ts +2 -0
- package/dist/commands/node-worktree.js +138 -0
- package/dist/commands/node.d.ts +2 -0
- package/dist/commands/node.js +29 -0
- package/dist/commands/person-settings.d.ts +1 -0
- package/dist/commands/person-settings.js +23 -0
- package/dist/commands/pkg/browse/actions.d.ts +7 -0
- package/dist/commands/pkg/browse/actions.js +198 -0
- package/dist/commands/pkg/browse/catalog.d.ts +9 -0
- package/dist/commands/pkg/browse/catalog.js +461 -0
- package/dist/commands/pkg/browse/command-view.d.ts +3 -0
- package/dist/commands/pkg/browse/command-view.js +217 -0
- package/dist/commands/pkg/browse/detail-panel.d.ts +66 -0
- package/dist/commands/pkg/browse/detail-panel.js +402 -0
- package/dist/commands/pkg/browse/doc-view.d.ts +3 -0
- package/dist/commands/pkg/browse/doc-view.js +84 -0
- package/dist/commands/pkg/browse/list-panel.d.ts +28 -0
- package/dist/commands/pkg/browse/list-panel.js +168 -0
- package/dist/commands/pkg/browse/model.d.ts +223 -0
- package/dist/commands/pkg/browse/model.js +36 -0
- package/dist/commands/pkg/browse/shell.d.ts +93 -0
- package/dist/commands/pkg/browse/shell.js +640 -0
- package/dist/commands/pkg/browse.d.ts +2 -0
- package/dist/commands/pkg/browse.js +27 -0
- package/dist/commands/pkg/market-inspect.d.ts +2 -0
- package/dist/commands/pkg/market-inspect.js +141 -0
- package/dist/commands/pkg/market-manage.d.ts +16 -0
- package/dist/commands/pkg/market-manage.js +327 -0
- package/dist/commands/pkg/market.d.ts +1 -0
- package/dist/commands/pkg/market.js +14 -0
- package/dist/commands/pkg/plugin-env.d.ts +3 -0
- package/dist/commands/pkg/plugin-env.js +65 -0
- package/dist/commands/pkg/plugin-inspect.d.ts +2 -0
- package/dist/commands/pkg/plugin-inspect.js +168 -0
- package/dist/commands/pkg/plugin-manage.d.ts +98 -0
- package/dist/commands/pkg/plugin-manage.js +1024 -0
- package/dist/commands/pkg/plugin.d.ts +1 -0
- package/dist/commands/pkg/plugin.js +14 -0
- package/dist/commands/pkg/shared.d.ts +13 -0
- package/dist/commands/pkg/shared.js +62 -0
- package/dist/commands/pkg.d.ts +2 -0
- package/dist/commands/pkg.js +21 -0
- package/dist/commands/profile/daemon-profiles.d.ts +13 -0
- package/dist/commands/profile/daemon-profiles.js +38 -0
- package/dist/commands/profile/default.d.ts +2 -0
- package/dist/commands/profile/default.js +183 -0
- package/dist/commands/profile/delete.d.ts +1 -0
- package/dist/commands/profile/delete.js +66 -0
- package/dist/commands/profile/env.d.ts +8 -0
- package/dist/commands/profile/env.js +188 -0
- package/dist/commands/profile/kind.d.ts +1 -0
- package/dist/commands/profile/kind.js +27 -0
- package/dist/commands/profile/list.d.ts +1 -0
- package/dist/commands/profile/list.js +45 -0
- package/dist/commands/profile/meta.d.ts +4 -0
- package/dist/commands/profile/meta.js +65 -0
- package/dist/commands/profile/new.d.ts +1 -0
- package/dist/commands/profile/new.js +95 -0
- package/dist/commands/profile/pause.d.ts +2 -0
- package/dist/commands/profile/pause.js +59 -0
- package/dist/commands/profile/project.d.ts +2 -0
- package/dist/commands/profile/project.js +134 -0
- package/dist/commands/profile/rename.d.ts +1 -0
- package/dist/commands/profile/rename.js +41 -0
- package/dist/commands/profile/show.d.ts +1 -0
- package/dist/commands/profile/show.js +55 -0
- package/dist/commands/profile.d.ts +2 -0
- package/dist/commands/profile.js +35 -0
- package/dist/commands/push.d.ts +2 -0
- package/dist/commands/push.js +263 -0
- package/dist/commands/revive.d.ts +2 -0
- package/dist/commands/revive.js +183 -0
- package/dist/commands/surface/node/cycle.d.ts +1 -0
- package/dist/commands/surface/node/cycle.js +83 -0
- package/dist/commands/surface/node/focus.d.ts +1 -0
- package/dist/commands/surface/node/focus.js +60 -0
- package/dist/commands/surface/node/id.d.ts +1 -0
- package/dist/commands/surface/node/id.js +38 -0
- package/dist/commands/surface/node/pin.d.ts +1 -0
- package/dist/commands/surface/node/pin.js +42 -0
- package/dist/commands/surface/node/placement.d.ts +30 -0
- package/dist/commands/surface/node/placement.js +49 -0
- package/dist/commands/surface-dashboard.d.ts +2 -0
- package/dist/commands/surface-dashboard.js +138 -0
- package/dist/commands/surface-edit.d.ts +2 -0
- package/dist/commands/surface-edit.js +157 -0
- package/dist/commands/surface-inbox.d.ts +2 -0
- package/dist/commands/surface-inbox.js +98 -0
- package/dist/commands/surface-inspect.d.ts +2 -0
- package/dist/commands/surface-inspect.js +41 -0
- package/dist/commands/surface-node.d.ts +2 -0
- package/dist/commands/surface-node.js +19 -0
- package/dist/commands/surface-reload.d.ts +7 -0
- package/dist/commands/surface-reload.js +129 -0
- package/dist/commands/surface-tmux-spread.d.ts +2 -0
- package/dist/commands/surface-tmux-spread.js +214 -0
- package/dist/commands/surface.d.ts +2 -0
- package/dist/commands/surface.js +29 -0
- package/dist/commands/sys/branch.d.ts +2 -0
- package/dist/commands/sys/branch.js +19 -0
- package/dist/commands/sys/config.d.ts +1 -0
- package/dist/commands/sys/config.js +353 -0
- package/dist/commands/sys/connect.d.ts +1 -0
- package/dist/commands/sys/connect.js +185 -0
- package/dist/commands/sys/context/admin/actions.d.ts +23 -0
- package/dist/commands/sys/context/admin/actions.js +89 -0
- package/dist/commands/sys/context/admin/detail-panel.d.ts +73 -0
- package/dist/commands/sys/context/admin/detail-panel.js +233 -0
- package/dist/commands/sys/context/admin/docs-panel.d.ts +63 -0
- package/dist/commands/sys/context/admin/docs-panel.js +185 -0
- package/dist/commands/sys/context/admin/list-view.d.ts +62 -0
- package/dist/commands/sys/context/admin/list-view.js +170 -0
- package/dist/commands/sys/context/admin/model.d.ts +123 -0
- package/dist/commands/sys/context/admin/model.js +179 -0
- package/dist/commands/sys/context/admin/rail-panel.d.ts +84 -0
- package/dist/commands/sys/context/admin/rail-panel.js +229 -0
- package/dist/commands/sys/context/admin/read-view.d.ts +27 -0
- package/dist/commands/sys/context/admin/read-view.js +172 -0
- package/dist/commands/sys/context/admin/shell.d.ts +125 -0
- package/dist/commands/sys/context/admin/shell.js +870 -0
- package/dist/commands/sys/context/admin.d.ts +1 -0
- package/dist/commands/sys/context/admin.js +148 -0
- package/dist/commands/sys/context/doc.d.ts +1 -0
- package/dist/commands/sys/context/doc.js +126 -0
- package/dist/commands/sys/context/expose.d.ts +1 -0
- package/dist/commands/sys/context/expose.js +66 -0
- package/dist/commands/sys/context/prompt-review.d.ts +1 -0
- package/dist/commands/sys/context/prompt-review.js +244 -0
- package/dist/commands/sys/context/resolve.d.ts +115 -0
- package/dist/commands/sys/context/resolve.js +326 -0
- package/dist/commands/sys/context/sysprompt.d.ts +1 -0
- package/dist/commands/sys/context/sysprompt.js +95 -0
- package/dist/commands/sys/context.d.ts +2 -0
- package/dist/commands/sys/context.js +21 -0
- package/dist/commands/sys/daemon.d.ts +4 -0
- package/dist/commands/sys/daemon.js +334 -0
- package/dist/commands/sys/db.d.ts +1 -0
- package/dist/commands/sys/db.js +69 -0
- package/dist/commands/sys/desktop.d.ts +5 -0
- package/dist/commands/sys/desktop.js +201 -0
- package/dist/commands/sys/doctor.d.ts +36 -0
- package/dist/commands/sys/doctor.js +633 -0
- package/dist/commands/sys/env.d.ts +1 -0
- package/dist/commands/sys/env.js +39 -0
- package/dist/commands/sys/feedback.d.ts +1 -0
- package/dist/commands/sys/feedback.js +228 -0
- package/dist/commands/sys/import/move.d.ts +55 -0
- package/dist/commands/sys/import/move.js +391 -0
- package/dist/commands/sys/import/resume.d.ts +1 -0
- package/dist/commands/sys/import/resume.js +23 -0
- package/dist/commands/sys/import/start.d.ts +4 -0
- package/dist/commands/sys/import/start.js +92 -0
- package/dist/commands/sys/join.d.ts +3 -0
- package/dist/commands/sys/join.js +85 -0
- package/dist/commands/sys/limits.d.ts +1 -0
- package/dist/commands/sys/limits.js +133 -0
- package/dist/commands/sys/logs.d.ts +1 -0
- package/dist/commands/sys/logs.js +129 -0
- package/dist/commands/sys/machine/rotate.d.ts +1 -0
- package/dist/commands/sys/machine/rotate.js +49 -0
- package/dist/commands/sys/migrate.d.ts +1 -0
- package/dist/commands/sys/migrate.js +79 -0
- package/dist/commands/sys/panels/broker-limits-panel.d.ts +17 -0
- package/dist/commands/sys/panels/broker-limits-panel.js +110 -0
- package/dist/commands/sys/panels/dependencies-panel.d.ts +14 -0
- package/dist/commands/sys/panels/dependencies-panel.js +80 -0
- package/dist/commands/sys/panels/keybindings-panel.d.ts +56 -0
- package/dist/commands/sys/panels/keybindings-panel.js +703 -0
- package/dist/commands/sys/panels/models-panel.d.ts +106 -0
- package/dist/commands/sys/panels/models-panel.js +1160 -0
- package/dist/commands/sys/panels/plugin-env-panel.d.ts +19 -0
- package/dist/commands/sys/panels/plugin-env-panel.js +70 -0
- package/dist/commands/sys/panels/plugins-panel.d.ts +16 -0
- package/dist/commands/sys/panels/plugins-panel.js +87 -0
- package/dist/commands/sys/panels/prefs-panel.d.ts +22 -0
- package/dist/commands/sys/panels/prefs-panel.js +97 -0
- package/dist/commands/sys/panels/profiles-panel.d.ts +70 -0
- package/dist/commands/sys/panels/profiles-panel.js +655 -0
- package/dist/commands/sys/panels/provider-panel.d.ts +74 -0
- package/dist/commands/sys/panels/provider-panel.js +534 -0
- package/dist/commands/sys/panels/terminal-panel.d.ts +19 -0
- package/dist/commands/sys/panels/terminal-panel.js +67 -0
- package/dist/commands/sys/provider-login.d.ts +8 -0
- package/dist/commands/sys/provider-login.js +99 -0
- package/dist/commands/sys/retry-delivery.d.ts +1 -0
- package/dist/commands/sys/retry-delivery.js +33 -0
- package/dist/commands/sys/settings-shell.d.ts +54 -0
- package/dist/commands/sys/settings-shell.js +400 -0
- package/dist/commands/sys/settings.d.ts +2 -0
- package/dist/commands/sys/settings.js +46 -0
- package/dist/commands/sys/setup-core.d.ts +121 -0
- package/dist/commands/sys/setup-core.js +890 -0
- package/dist/commands/sys/setup-settings-runner.d.ts +13 -0
- package/dist/commands/sys/setup-settings-runner.js +15 -0
- package/dist/commands/sys/setup-wizard.d.ts +52 -0
- package/dist/commands/sys/setup-wizard.js +351 -0
- package/dist/commands/sys/setup.d.ts +6 -0
- package/dist/commands/sys/setup.js +41 -0
- package/dist/commands/sys/shared.d.ts +51 -0
- package/dist/commands/sys/shared.js +81 -0
- package/dist/commands/sys/signin.d.ts +7 -0
- package/dist/commands/sys/signin.js +149 -0
- package/dist/commands/sys/spaces.d.ts +1 -0
- package/dist/commands/sys/spaces.js +22 -0
- package/dist/commands/sys/spend.d.ts +1 -0
- package/dist/commands/sys/spend.js +144 -0
- package/dist/commands/sys/support/prepare.d.ts +13 -0
- package/dist/commands/sys/support/prepare.js +239 -0
- package/dist/commands/sys/support/submit.d.ts +19 -0
- package/dist/commands/sys/support/submit.js +524 -0
- package/dist/commands/sys/support.d.ts +2 -0
- package/dist/commands/sys/support.js +18 -0
- package/dist/commands/sys/sync-deps.d.ts +16 -0
- package/dist/commands/sys/sync-deps.js +445 -0
- package/dist/commands/sys/sync-project-guidance.d.ts +1 -0
- package/dist/commands/sys/sync-project-guidance.js +319 -0
- package/dist/commands/sys/sync-shared.d.ts +44 -0
- package/dist/commands/sys/sync-shared.js +139 -0
- package/dist/commands/sys/sync-skills.d.ts +1 -0
- package/dist/commands/sys/sync-skills.js +297 -0
- package/dist/commands/sys/sync.d.ts +2 -0
- package/dist/commands/sys/sync.js +17 -0
- package/dist/commands/sys/terminal-option.d.ts +112 -0
- package/dist/commands/sys/terminal-option.js +542 -0
- package/dist/commands/sys/tutorial/branch.d.ts +1 -0
- package/dist/commands/sys/tutorial/branch.js +15 -0
- package/dist/commands/sys/tutorial/lessons.d.ts +5 -0
- package/dist/commands/sys/tutorial/lessons.js +107 -0
- package/dist/commands/sys/tutorial/scenario.d.ts +1 -0
- package/dist/commands/sys/tutorial/scenario.js +431 -0
- package/dist/commands/sys/tutorial/tracks.d.ts +1 -0
- package/dist/commands/sys/tutorial/tracks.js +96 -0
- package/dist/commands/sys/update.d.ts +2 -0
- package/dist/commands/sys/update.js +157 -0
- package/dist/commands/sys/worktrees.d.ts +2 -0
- package/dist/commands/sys/worktrees.js +53 -0
- package/dist/commands/sys.d.ts +2 -0
- package/dist/commands/sys.js +31 -0
- package/dist/core/activity-signal.d.ts +7 -0
- package/dist/core/activity-signal.js +38 -0
- package/dist/core/async-array.d.ts +7 -0
- package/dist/core/async-array.js +48 -0
- package/dist/core/auth-file.d.ts +35 -0
- package/dist/core/auth-file.js +161 -0
- package/dist/core/auth-interaction.d.ts +19 -0
- package/dist/core/auth-interaction.js +94 -0
- package/dist/core/bash-guard.d.ts +6 -0
- package/dist/core/bash-guard.js +527 -0
- package/dist/core/bash-job-supervisor.d.ts +5 -0
- package/dist/core/bash-job-supervisor.js +144 -0
- package/dist/core/bash-jobs.d.ts +168 -0
- package/dist/core/bash-jobs.js +455 -0
- package/dist/core/blobs/directory.d.ts +11 -0
- package/dist/core/blobs/directory.js +216 -0
- package/dist/core/blobs/fault.d.ts +3 -0
- package/dist/core/blobs/fault.js +6 -0
- package/dist/core/blobs/index.d.ts +21 -0
- package/dist/core/blobs/index.js +30 -0
- package/dist/core/blobs/r2.d.ts +13 -0
- package/dist/core/blobs/r2.js +104 -0
- package/dist/core/broker-client/client.d.ts +89 -0
- package/dist/core/broker-client/client.js +184 -0
- package/dist/core/broker-client/index.d.ts +2 -0
- package/dist/core/broker-client/index.js +14 -0
- package/dist/core/broker-client/transport-relay.d.ts +47 -0
- package/dist/core/broker-client/transport-relay.js +165 -0
- package/dist/core/broker-client/transport-socket.d.ts +35 -0
- package/dist/core/broker-client/transport-socket.js +187 -0
- package/dist/core/broker-client/transport.d.ts +46 -0
- package/dist/core/broker-client/transport.js +40 -0
- package/dist/core/canvas/app-run.d.ts +3 -0
- package/dist/core/canvas/app-run.js +4 -0
- package/dist/core/canvas/attention.d.ts +18 -0
- package/dist/core/canvas/attention.js +47 -0
- package/dist/core/canvas/browse/app.d.ts +29 -0
- package/dist/core/canvas/browse/app.js +1050 -0
- package/dist/core/canvas/browse/model.d.ts +176 -0
- package/dist/core/canvas/browse/model.js +477 -0
- package/dist/core/canvas/browse/pins.d.ts +4 -0
- package/dist/core/canvas/browse/pins.js +29 -0
- package/dist/core/canvas/browse/render.d.ts +103 -0
- package/dist/core/canvas/browse/render.js +1058 -0
- package/dist/core/canvas/canvas.d.ts +409 -0
- package/dist/core/canvas/canvas.js +1206 -0
- package/dist/core/canvas/crons.d.ts +322 -0
- package/dist/core/canvas/crons.js +541 -0
- package/dist/core/canvas/daemon-actions.d.ts +42 -0
- package/dist/core/canvas/daemon-actions.js +98 -0
- package/dist/core/canvas/db.d.ts +60 -0
- package/dist/core/canvas/db.js +426 -0
- package/dist/core/canvas/deliveries.d.ts +125 -0
- package/dist/core/canvas/deliveries.js +393 -0
- package/dist/core/canvas/delivery-contract.d.ts +37 -0
- package/dist/core/canvas/delivery-contract.js +30 -0
- package/dist/core/canvas/executions.d.ts +125 -0
- package/dist/core/canvas/executions.js +279 -0
- package/dist/core/canvas/extensions.d.ts +9 -0
- package/dist/core/canvas/extensions.js +90 -0
- package/dist/core/canvas/focuses.d.ts +26 -0
- package/dist/core/canvas/focuses.js +82 -0
- package/dist/core/canvas/history.d.ts +104 -0
- package/dist/core/canvas/history.js +480 -0
- package/dist/core/canvas/index.d.ts +14 -0
- package/dist/core/canvas/index.js +16 -0
- package/dist/core/canvas/install-id.d.ts +9 -0
- package/dist/core/canvas/install-id.js +64 -0
- package/dist/core/canvas/labels.d.ts +30 -0
- package/dist/core/canvas/labels.js +43 -0
- package/dist/core/canvas/legacy-person.d.ts +4 -0
- package/dist/core/canvas/legacy-person.js +4 -0
- package/dist/core/canvas/memory-reads.d.ts +24 -0
- package/dist/core/canvas/memory-reads.js +36 -0
- package/dist/core/canvas/meta-file.d.ts +20 -0
- package/dist/core/canvas/meta-file.js +89 -0
- package/dist/core/canvas/nav-render.d.ts +136 -0
- package/dist/core/canvas/nav-render.js +224 -0
- package/dist/core/canvas/node-agent-paths.d.ts +8 -0
- package/dist/core/canvas/node-agent-paths.js +30 -0
- package/dist/core/canvas/node-order.d.ts +24 -0
- package/dist/core/canvas/node-order.js +37 -0
- package/dist/core/canvas/node-recap.d.ts +23 -0
- package/dist/core/canvas/node-recap.js +62 -0
- package/dist/core/canvas/node-tokens.d.ts +19 -0
- package/dist/core/canvas/node-tokens.js +53 -0
- package/dist/core/canvas/outcome-actions.d.ts +23 -0
- package/dist/core/canvas/outcome-actions.js +71 -0
- package/dist/core/canvas/person.d.ts +32 -0
- package/dist/core/canvas/person.js +244 -0
- package/dist/core/canvas/pid.d.ts +6 -0
- package/dist/core/canvas/pid.js +20 -10
- package/dist/core/canvas/reconciler-leases.d.ts +12 -0
- package/dist/core/canvas/reconciler-leases.js +40 -0
- package/dist/core/canvas/recovery.d.ts +127 -0
- package/dist/core/canvas/recovery.js +713 -0
- package/dist/core/canvas/remote-canvas-source.d.ts +71 -0
- package/dist/core/canvas/remote-canvas-source.js +290 -0
- package/dist/core/canvas/remote-transport.d.ts +7 -0
- package/dist/core/canvas/remote-transport.js +57 -0
- package/dist/core/canvas/render-source.d.ts +193 -0
- package/dist/core/canvas/render-source.js +518 -0
- package/dist/core/canvas/schema-chain.d.ts +33 -0
- package/dist/core/canvas/schema-chain.js +110 -0
- package/dist/core/canvas/schema-version.d.ts +30 -0
- package/dist/core/canvas/schema-version.js +58 -0
- package/dist/core/canvas/sessions.d.ts +54 -0
- package/dist/core/canvas/sessions.js +128 -0
- package/dist/core/canvas/source.d.ts +52 -0
- package/dist/core/canvas/source.js +57 -0
- package/dist/core/canvas/status-glyph.d.ts +52 -0
- package/dist/core/canvas/status-glyph.js +132 -0
- package/dist/core/canvas/structured-requests.d.ts +69 -0
- package/dist/core/canvas/structured-requests.js +176 -0
- package/dist/core/canvas/telemetry.d.ts +14 -0
- package/dist/core/canvas/telemetry.js +35 -0
- package/dist/core/canvas/tree.d.ts +33 -0
- package/dist/core/canvas/tree.js +128 -0
- package/dist/core/canvas/types.d.ts +461 -0
- package/dist/core/canvas/types.js +6 -0
- package/dist/core/canvas/waits.d.ts +39 -0
- package/dist/core/canvas/waits.js +104 -0
- package/dist/core/canvas/worktrees.d.ts +41 -0
- package/dist/core/canvas/worktrees.js +97 -0
- package/dist/core/clipboard-text.d.ts +11 -0
- package/dist/core/clipboard-text.js +57 -0
- package/dist/core/command-hooks/artifact.d.ts +16 -0
- package/dist/core/command-hooks/artifact.js +145 -0
- package/dist/core/command-hooks/catalog.d.ts +14 -0
- package/dist/core/command-hooks/catalog.js +38 -0
- package/dist/core/command-hooks/compose.d.ts +15 -0
- package/dist/core/command-hooks/compose.js +101 -0
- package/dist/core/command-hooks/discovery.d.ts +133 -0
- package/dist/core/command-hooks/discovery.js +246 -0
- package/dist/core/command-hooks/help.d.ts +5 -0
- package/dist/core/command-hooks/help.js +18 -0
- package/dist/core/command-hooks/lifecycle-catalog.d.ts +21 -0
- package/dist/core/command-hooks/lifecycle-catalog.js +9 -0
- package/dist/core/command-hooks/lifecycle-create.d.ts +4 -0
- package/dist/core/command-hooks/lifecycle-create.js +51 -0
- package/dist/core/command-hooks/report.d.ts +32 -0
- package/dist/core/command-hooks/report.js +28 -0
- package/dist/core/command-hooks/schema.d.ts +42 -0
- package/dist/core/command-hooks/schema.js +157 -0
- package/dist/core/command-hooks/transport/exec-invoke.d.ts +24 -0
- package/dist/core/command-hooks/transport/exec-invoke.js +315 -0
- package/dist/core/command-hooks/transport/exec-lifecycle.d.ts +23 -0
- package/dist/core/command-hooks/transport/exec-lifecycle.js +248 -0
- package/dist/core/command-hooks/transport/plan.d.ts +3 -0
- package/dist/core/command-hooks/transport/plan.js +30 -0
- package/dist/core/command-manifests/registry.d.ts +68 -0
- package/dist/core/command-manifests/registry.js +118 -0
- package/dist/core/command-plugins/caller-header.d.ts +10 -0
- package/dist/core/command-plugins/caller-header.js +15 -0
- package/dist/core/command-plugins/compose.d.ts +11 -0
- package/dist/core/command-plugins/compose.js +241 -0
- package/dist/core/command-plugins/discovery.d.ts +49 -0
- package/dist/core/command-plugins/discovery.js +240 -0
- package/dist/core/command-plugins/extensions.d.ts +20 -0
- package/dist/core/command-plugins/extensions.js +166 -0
- package/dist/core/command-plugins/help-addenda.d.ts +25 -0
- package/dist/core/command-plugins/help-addenda.js +55 -0
- package/dist/core/command-plugins/presence.d.ts +4 -0
- package/dist/core/command-plugins/presence.js +36 -0
- package/dist/core/command-plugins/transport/exec-invoke.d.ts +42 -0
- package/dist/core/command-plugins/transport/exec-invoke.js +138 -0
- package/dist/core/command-plugins/transport/http-fetch.d.ts +41 -0
- package/dist/core/command-plugins/transport/http-fetch.js +68 -0
- package/dist/core/command-plugins/transport/http-invoke.d.ts +22 -0
- package/dist/core/command-plugins/transport/http-invoke.js +333 -0
- package/dist/core/command-plugins/transport/http-plan.d.ts +75 -0
- package/dist/core/command-plugins/transport/http-plan.js +349 -0
- package/dist/core/command-plugins/transport/sign.d.ts +55 -0
- package/dist/core/command-plugins/transport/sign.js +115 -0
- package/dist/core/command.d.ts +238 -0
- package/dist/core/command.js +848 -0
- package/dist/core/conversation-store/row-store.d.ts +14 -0
- package/dist/core/conversation-store/row-store.js +337 -0
- package/dist/core/directory/issuer.d.ts +8 -0
- package/dist/core/directory/issuer.js +15 -0
- package/dist/core/directory/join.d.ts +57 -0
- package/dist/core/directory/join.js +218 -0
- package/dist/core/directory/person-credential.d.ts +61 -0
- package/dist/core/directory/person-credential.js +220 -0
- package/dist/core/directory/reach.d.ts +3 -0
- package/dist/core/directory/reach.js +19 -0
- package/dist/core/document-lines.d.ts +4 -0
- package/dist/core/document-lines.js +6 -0
- package/dist/core/editor-resolver.d.ts +28 -0
- package/dist/core/editor-resolver.js +77 -0
- package/dist/core/environments.d.ts +21 -0
- package/dist/core/environments.js +56 -0
- package/dist/core/events/outbound.d.ts +21 -0
- package/dist/core/events/outbound.js +92 -0
- package/dist/core/events/read.d.ts +40 -0
- package/dist/core/events/read.js +625 -0
- package/dist/core/fault-classifier.d.ts +36 -0
- package/dist/core/fault-classifier.js +101 -0
- package/dist/core/feed/feed.d.ts +63 -0
- package/dist/core/feed/feed.js +190 -0
- package/dist/core/feed/inbox.d.ts +34 -0
- package/dist/core/feed/inbox.js +93 -0
- package/dist/core/feed/messages.d.ts +88 -0
- package/dist/core/feed/messages.js +206 -0
- package/dist/core/feed/reports.d.ts +10 -0
- package/dist/core/feed/reports.js +58 -0
- package/dist/core/frontmatter.d.ts +8 -0
- package/dist/core/frontmatter.js +35 -0
- package/dist/core/grants/cover.d.ts +14 -0
- package/dist/core/grants/cover.js +66 -0
- package/dist/core/grants/local.d.ts +4 -0
- package/dist/core/grants/local.js +26 -0
- package/dist/core/grants/mirror.d.ts +155 -0
- package/dist/core/grants/mirror.js +379 -0
- package/dist/core/grants/on-sync.d.ts +26 -0
- package/dist/core/grants/on-sync.js +161 -0
- package/dist/core/grants/sandboxes.d.ts +7 -0
- package/dist/core/grants/sandboxes.js +24 -0
- package/dist/core/grants/sync.d.ts +46 -0
- package/dist/core/grants/sync.js +195 -0
- package/dist/core/grants/terminal.d.ts +10 -0
- package/dist/core/grants/terminal.js +25 -0
- package/dist/core/graph/access.d.ts +13 -0
- package/dist/core/graph/access.js +37 -0
- package/dist/core/graph/bodies.d.ts +22 -0
- package/dist/core/graph/bodies.js +68 -0
- package/dist/core/graph/custom.d.ts +98 -0
- package/dist/core/graph/custom.js +298 -0
- package/dist/core/graph/deletion.d.ts +16 -0
- package/dist/core/graph/deletion.js +104 -0
- package/dist/core/graph/documents.d.ts +181 -0
- package/dist/core/graph/documents.js +653 -0
- package/dist/core/graph/edges.d.ts +41 -0
- package/dist/core/graph/edges.js +83 -0
- package/dist/core/graph/events.d.ts +49 -0
- package/dist/core/graph/events.js +315 -0
- package/dist/core/graph/exposures.d.ts +53 -0
- package/dist/core/graph/exposures.js +152 -0
- package/dist/core/graph/jobs.d.ts +107 -0
- package/dist/core/graph/jobs.js +184 -0
- package/dist/core/graph/kinds/action.d.ts +3 -0
- package/dist/core/graph/kinds/action.js +20 -0
- package/dist/core/graph/kinds/custom.d.ts +8 -0
- package/dist/core/graph/kinds/custom.js +25 -0
- package/dist/core/graph/kinds/document.d.ts +20 -0
- package/dist/core/graph/kinds/document.js +133 -0
- package/dist/core/graph/kinds/dto.d.ts +5 -0
- package/dist/core/graph/kinds/dto.js +11 -0
- package/dist/core/graph/kinds/environment.d.ts +2 -0
- package/dist/core/graph/kinds/environment.js +21 -0
- package/dist/core/graph/kinds/job.d.ts +2 -0
- package/dist/core/graph/kinds/job.js +24 -0
- package/dist/core/graph/kinds/kind.d.ts +67 -0
- package/dist/core/graph/kinds/kind.js +15 -0
- package/dist/core/graph/kinds/live-read.d.ts +5 -0
- package/dist/core/graph/kinds/live-read.js +11 -0
- package/dist/core/graph/kinds/node.d.ts +12 -0
- package/dist/core/graph/kinds/node.js +87 -0
- package/dist/core/graph/kinds/owner.d.ts +2 -0
- package/dist/core/graph/kinds/owner.js +26 -0
- package/dist/core/graph/kinds/registry.d.ts +10 -0
- package/dist/core/graph/kinds/registry.js +58 -0
- package/dist/core/graph/kinds/render.d.ts +9 -0
- package/dist/core/graph/kinds/render.js +17 -0
- package/dist/core/graph/names.d.ts +57 -0
- package/dist/core/graph/names.js +183 -0
- package/dist/core/graph/objects.d.ts +88 -0
- package/dist/core/graph/objects.js +273 -0
- package/dist/core/graph/package-docs.d.ts +41 -0
- package/dist/core/graph/package-docs.js +198 -0
- package/dist/core/graph/package-files.d.ts +20 -0
- package/dist/core/graph/package-files.js +146 -0
- package/dist/core/graph/package-kinds.d.ts +22 -0
- package/dist/core/graph/package-kinds.js +49 -0
- package/dist/core/graph/package-reconcile.d.ts +17 -0
- package/dist/core/graph/package-reconcile.js +31 -0
- package/dist/core/graph/reader.d.ts +45 -0
- package/dist/core/graph/reader.js +218 -0
- package/dist/core/graph/receiver-url.d.ts +11 -0
- package/dist/core/graph/receiver-url.js +83 -0
- package/dist/core/graph/receivers.d.ts +28 -0
- package/dist/core/graph/receivers.js +66 -0
- package/dist/core/graph/repo-sync/exchange.d.ts +36 -0
- package/dist/core/graph/repo-sync/exchange.js +422 -0
- package/dist/core/graph/repo-sync/identity.d.ts +32 -0
- package/dist/core/graph/repo-sync/identity.js +147 -0
- package/dist/core/graph/repo-sync/index.d.ts +4 -0
- package/dist/core/graph/repo-sync/index.js +2 -0
- package/dist/core/graph/repo-sync/mirror.d.ts +30 -0
- package/dist/core/graph/repo-sync/mirror.js +170 -0
- package/dist/core/graph/repo-sync/ref-format.d.ts +80 -0
- package/dist/core/graph/repo-sync/ref-format.js +215 -0
- package/dist/core/graph/repo-sync/repos.d.ts +21 -0
- package/dist/core/graph/repo-sync/repos.js +57 -0
- package/dist/core/graph/repo-sync/sync.d.ts +40 -0
- package/dist/core/graph/repo-sync/sync.js +322 -0
- package/dist/core/graph/rules.d.ts +27 -0
- package/dist/core/graph/rules.js +134 -0
- package/dist/core/graph/types.d.ts +131 -0
- package/dist/core/graph/types.js +10 -0
- package/dist/core/graph/watches.d.ts +66 -0
- package/dist/core/graph/watches.js +177 -0
- package/dist/core/human/action-binding.d.ts +23 -0
- package/dist/core/human/action-binding.js +41 -0
- package/dist/core/human/answer-text.d.ts +5 -0
- package/dist/core/human/answer-text.js +100 -0
- package/dist/core/human/answer.d.ts +53 -0
- package/dist/core/human/answer.js +119 -0
- package/dist/core/human/claim.d.ts +23 -0
- package/dist/core/human/claim.js +67 -0
- package/dist/core/human/completion.d.ts +38 -0
- package/dist/core/human/completion.js +27 -0
- package/dist/core/human/component-docs.d.ts +18 -0
- package/dist/core/human/component-docs.js +442 -0
- package/dist/core/human/convention.d.ts +31 -0
- package/dist/core/human/convention.js +82 -0
- package/dist/core/human/feedback-companion.d.ts +19 -0
- package/dist/core/human/feedback-companion.js +92 -0
- package/dist/core/human/feedback.d.ts +62 -0
- package/dist/core/human/feedback.js +88 -0
- package/dist/core/human/page-authoring.d.ts +30 -0
- package/dist/core/human/page-authoring.js +19 -0
- package/dist/core/human/page-errors.d.ts +8 -0
- package/dist/core/human/page-errors.js +14 -0
- package/dist/core/human/page-eval.d.ts +25 -0
- package/dist/core/human/page-eval.js +125 -0
- package/dist/core/human/page-html-markdown.d.ts +8 -0
- package/dist/core/human/page-html-markdown.js +260 -0
- package/dist/core/human/page-markdown.d.ts +3 -0
- package/dist/core/human/page-markdown.js +295 -0
- package/dist/core/human/page-schema.d.ts +291 -0
- package/dist/core/human/page-schema.js +381 -0
- package/dist/core/human/page.d.ts +21 -0
- package/dist/core/human/page.js +251 -0
- package/dist/core/human/request-files.d.ts +14 -0
- package/dist/core/human/request-files.js +54 -0
- package/dist/core/human/requests.d.ts +156 -0
- package/dist/core/human/requests.js +619 -0
- package/dist/core/human/root.d.ts +4 -0
- package/dist/core/human/root.js +11 -0
- package/dist/core/human/summary.d.ts +3 -0
- package/dist/core/human/summary.js +5 -0
- package/dist/core/human/tickets.d.ts +68 -0
- package/dist/core/human/tickets.js +175 -0
- package/dist/core/human/types.d.ts +118 -0
- package/dist/core/human/types.js +1 -0
- package/dist/core/human/visible-paths.d.ts +16 -0
- package/dist/core/human/visible-paths.js +74 -0
- package/dist/core/human-actions.d.ts +25 -0
- package/dist/core/human-actions.js +101 -0
- package/dist/core/import/bundle/blob-keys.d.ts +10 -0
- package/dist/core/import/bundle/blob-keys.js +23 -0
- package/dist/core/import/bundle/layout.d.ts +90 -0
- package/dist/core/import/bundle/layout.js +117 -0
- package/dist/core/import/export/archive.d.ts +11 -0
- package/dist/core/import/export/archive.js +22 -0
- package/dist/core/import/export/cloud.d.ts +23 -0
- package/dist/core/import/export/cloud.js +47 -0
- package/dist/core/import/export/dump.d.ts +34 -0
- package/dist/core/import/export/dump.js +235 -0
- package/dist/core/import/export/files.d.ts +22 -0
- package/dist/core/import/export/files.js +107 -0
- package/dist/core/import/export/inline.d.ts +3 -0
- package/dist/core/import/export/inline.js +15 -0
- package/dist/core/import/export/source.d.ts +2 -0
- package/dist/core/import/export/source.js +5 -0
- package/dist/core/import/export/stores.d.ts +9 -0
- package/dist/core/import/export/stores.js +69 -0
- package/dist/core/inspector/chrome.d.ts +6 -0
- package/dist/core/inspector/chrome.js +14 -0
- package/dist/core/inspector/contract.d.ts +105 -0
- package/dist/core/inspector/contract.js +1 -0
- package/dist/core/inspector/core.d.ts +39 -0
- package/dist/core/inspector/core.js +296 -0
- package/dist/core/inspector/host.d.ts +46 -0
- package/dist/core/inspector/host.js +538 -0
- package/dist/core/inspector/model.d.ts +88 -0
- package/dist/core/inspector/model.js +225 -0
- package/dist/core/inspector/text.d.ts +5 -0
- package/dist/core/inspector/text.js +45 -0
- package/dist/core/inspector/transport.d.ts +6 -0
- package/dist/core/inspector/transport.js +36 -0
- package/dist/core/inspector/tui.d.ts +3 -0
- package/dist/core/inspector/tui.js +295 -0
- package/dist/core/io.js +7 -0
- package/dist/core/keybindings/background-bash.d.ts +13 -0
- package/dist/core/keybindings/background-bash.js +33 -0
- package/dist/core/keybindings/catalog.d.ts +1 -1
- package/dist/core/keybindings/inbox.d.ts +18 -0
- package/dist/core/keybindings/inbox.js +25 -0
- package/dist/core/keybindings/index.d.ts +8 -0
- package/dist/core/keybindings/index.js +7 -0
- package/dist/core/keybindings/match.d.ts +44 -0
- package/dist/core/keybindings/match.js +146 -0
- package/dist/core/keybindings/persistence.d.ts +18 -0
- package/dist/core/keybindings/persistence.js +49 -0
- package/dist/core/keybindings/resolve.d.ts +28 -0
- package/dist/core/keybindings/resolve.js +348 -0
- package/dist/core/layout-migrate/index.d.ts +38 -0
- package/dist/core/layout-migrate/index.js +523 -0
- package/dist/core/layout-migrate/paths.d.ts +30 -0
- package/dist/core/layout-migrate/paths.js +118 -0
- package/dist/core/layout-migrate/stored-paths.d.ts +9 -0
- package/dist/core/layout-migrate/stored-paths.js +424 -0
- package/dist/core/layout-migrate/stores.d.ts +30 -0
- package/dist/core/layout-migrate/stores.js +543 -0
- package/dist/core/ledger/account.d.ts +12 -0
- package/dist/core/ledger/account.js +13 -0
- package/dist/core/ledger/charges.d.ts +16 -0
- package/dist/core/ledger/charges.js +43 -0
- package/dist/core/ledger/check.d.ts +48 -0
- package/dist/core/ledger/check.js +38 -0
- package/dist/core/ledger/chunks.d.ts +8 -0
- package/dist/core/ledger/chunks.js +43 -0
- package/dist/core/ledger/index.d.ts +9 -0
- package/dist/core/ledger/index.js +10 -0
- package/dist/core/ledger/infra-allowance.d.ts +7 -0
- package/dist/core/ledger/infra-allowance.js +31 -0
- package/dist/core/ledger/limits.d.ts +10 -0
- package/dist/core/ledger/limits.js +35 -0
- package/dist/core/ledger/months.d.ts +6 -0
- package/dist/core/ledger/months.js +19 -0
- package/dist/core/ledger/payer.d.ts +34 -0
- package/dist/core/ledger/payer.js +14 -0
- package/dist/core/ledger/read.d.ts +57 -0
- package/dist/core/ledger/read.js +194 -0
- package/dist/core/ledger/totals.d.ts +10 -0
- package/dist/core/ledger/totals.js +34 -0
- package/dist/core/ledger/types.d.ts +75 -0
- package/dist/core/ledger/types.js +2 -0
- package/dist/core/llm/app-rungs.d.ts +16 -0
- package/dist/core/llm/app-rungs.js +59 -0
- package/dist/core/llm/body-limits.d.ts +7 -0
- package/dist/core/llm/body-limits.js +7 -0
- package/dist/core/llm/refusal.d.ts +14 -0
- package/dist/core/llm/refusal.js +22 -0
- package/dist/core/locked-file.d.ts +27 -0
- package/dist/core/locked-file.js +121 -0
- package/dist/core/log.d.ts +2 -0
- package/dist/core/log.js +5 -3
- package/dist/core/manifest-stale.d.ts +18 -0
- package/dist/core/manifest-stale.js +39 -0
- package/dist/core/model-auth/api-credential-store.d.ts +10 -0
- package/dist/core/model-auth/api-credential-store.js +40 -0
- package/dist/core/model-auth/daemon-login.d.ts +13 -0
- package/dist/core/model-auth/daemon-login.js +156 -0
- package/dist/core/model-auth/readiness.d.ts +12 -0
- package/dist/core/model-auth/readiness.js +48 -0
- package/dist/core/model-routes-pool.d.ts +14 -0
- package/dist/core/model-routes-pool.js +50 -0
- package/dist/core/model-routes.d.ts +98 -0
- package/dist/core/model-routes.js +190 -0
- package/dist/core/northlight/previews.d.ts +22 -0
- package/dist/core/northlight/previews.js +87 -0
- package/dist/core/nvim-launch.d.ts +7 -0
- package/dist/core/nvim-launch.js +45 -0
- package/dist/core/output.d.ts +35 -0
- package/dist/core/output.js +99 -0
- package/dist/core/pagination.d.ts +35 -0
- package/dist/core/pagination.js +88 -0
- package/dist/core/peer/client.d.ts +61 -0
- package/dist/core/peer/client.js +167 -0
- package/dist/core/peer/directory.d.ts +71 -0
- package/dist/core/peer/directory.js +167 -0
- package/dist/core/peer/envelope.d.ts +46 -0
- package/dist/core/peer/envelope.js +98 -0
- package/dist/core/peer/names.d.ts +5 -0
- package/dist/core/peer/names.js +8 -0
- package/dist/core/peer/outbox-store.d.ts +76 -0
- package/dist/core/peer/outbox-store.js +84 -0
- package/dist/core/peer/receiver.d.ts +8 -0
- package/dist/core/peer/receiver.js +54 -0
- package/dist/core/peer/stubs.d.ts +90 -0
- package/dist/core/peer/stubs.js +208 -0
- package/dist/core/peer/token.d.ts +13 -0
- package/dist/core/peer/token.js +29 -0
- package/dist/core/peer/version.d.ts +16 -0
- package/dist/core/peer/version.js +23 -0
- package/dist/core/permissions/builtin.d.ts +8 -0
- package/dist/core/permissions/builtin.js +27 -0
- package/dist/core/permissions/ceiling.d.ts +57 -0
- package/dist/core/permissions/ceiling.js +319 -0
- package/dist/core/permissions/compile.d.ts +14 -0
- package/dist/core/permissions/compile.js +175 -0
- package/dist/core/permissions/errors.d.ts +7 -0
- package/dist/core/permissions/errors.js +13 -0
- package/dist/core/permissions/evaluator.d.ts +33 -0
- package/dist/core/permissions/evaluator.js +96 -0
- package/dist/core/permissions/facts.d.ts +56 -0
- package/dist/core/permissions/facts.js +102 -0
- package/dist/core/permissions/schema-parser.d.ts +29 -0
- package/dist/core/permissions/schema-parser.js +151 -0
- package/dist/core/permissions/schemas.d.ts +21 -0
- package/dist/core/permissions/schemas.js +83 -0
- package/dist/core/permissions/sql.d.ts +16 -0
- package/dist/core/permissions/sql.js +31 -0
- package/dist/core/plugin-app.d.ts +31 -0
- package/dist/core/plugin-app.js +58 -0
- package/dist/core/plugin-quarantine.d.ts +16 -0
- package/dist/core/plugin-quarantine.js +70 -0
- package/dist/core/pool-credential-store.d.ts +31 -0
- package/dist/core/pool-credential-store.js +116 -0
- package/dist/core/predicate.d.ts +65 -0
- package/dist/core/predicate.js +191 -0
- package/dist/core/preview-registry.d.ts +59 -0
- package/dist/core/preview-registry.js +403 -0
- package/dist/core/profiles/default-binding.d.ts +15 -0
- package/dist/core/profiles/default-binding.js +29 -0
- package/dist/core/profiles/deletion-reservation.d.ts +12 -0
- package/dist/core/profiles/deletion-reservation.js +42 -0
- package/dist/core/profiles/select.d.ts +46 -0
- package/dist/core/profiles/select.js +738 -0
- package/dist/core/provider-credential.d.ts +6 -0
- package/dist/core/provider-credential.js +17 -0
- package/dist/core/provider-error-recognition.d.ts +30 -0
- package/dist/core/provider-error-recognition.js +82 -0
- package/dist/core/provider-failure.d.ts +42 -0
- package/dist/core/provider-failure.js +145 -0
- package/dist/core/provider-management.d.ts +11 -0
- package/dist/core/provider-management.js +9 -0
- package/dist/core/providers/approval.d.ts +23 -0
- package/dist/core/providers/approval.js +146 -0
- package/dist/core/providers/audit.d.ts +30 -0
- package/dist/core/providers/audit.js +52 -0
- package/dist/core/providers/bundles.d.ts +66 -0
- package/dist/core/providers/bundles.js +638 -0
- package/dist/core/providers/call.d.ts +51 -0
- package/dist/core/providers/call.js +480 -0
- package/dist/core/providers/description.d.ts +34 -0
- package/dist/core/providers/description.js +1 -0
- package/dist/core/providers/device-libs.d.ts +71 -0
- package/dist/core/providers/device-libs.js +202 -0
- package/dist/core/providers/device.d.ts +42 -0
- package/dist/core/providers/device.js +95 -0
- package/dist/core/providers/errors.d.ts +99 -0
- package/dist/core/providers/errors.js +136 -0
- package/dist/core/providers/files.d.ts +90 -0
- package/dist/core/providers/files.js +389 -0
- package/dist/core/providers/inflight.d.ts +13 -0
- package/dist/core/providers/inflight.js +14 -0
- package/dist/core/providers/mint.d.ts +29 -0
- package/dist/core/providers/mint.js +219 -0
- package/dist/core/providers/receipts.d.ts +26 -0
- package/dist/core/providers/receipts.js +61 -0
- package/dist/core/providers/request.d.ts +27 -0
- package/dist/core/providers/request.js +173 -0
- package/dist/core/providers/roots.d.ts +23 -0
- package/dist/core/providers/roots.js +118 -0
- package/dist/core/providers/token-cache.d.ts +54 -0
- package/dist/core/providers/token-cache.js +203 -0
- package/dist/core/remote-canvas-target.d.ts +4 -0
- package/dist/core/remote-canvas-target.js +30 -0
- package/dist/core/review/comments.d.ts +69 -0
- package/dist/core/review/comments.js +296 -0
- package/dist/core/review/companion.d.ts +33 -0
- package/dist/core/review/companion.js +208 -0
- package/dist/core/review/signal.d.ts +5 -0
- package/dist/core/review/signal.js +12 -0
- package/dist/core/review/store.d.ts +44 -0
- package/dist/core/review/store.js +178 -0
- package/dist/core/review/types.d.ts +139 -0
- package/dist/core/review/types.js +23 -0
- package/dist/core/runs/activity.d.ts +11 -0
- package/dist/core/runs/activity.js +57 -0
- package/dist/core/runs/events.d.ts +41 -0
- package/dist/core/runs/events.js +179 -0
- package/dist/core/runs/operations.d.ts +85 -0
- package/dist/core/runs/operations.js +741 -0
- package/dist/core/runs/questions.d.ts +80 -0
- package/dist/core/runs/questions.js +151 -0
- package/dist/core/runtime/banner.d.ts +15 -0
- package/dist/core/runtime/banner.js +53 -0
- package/dist/core/runtime/bearings-render.d.ts +62 -0
- package/dist/core/runtime/bearings-render.js +272 -0
- package/dist/core/runtime/bearings.d.ts +56 -0
- package/dist/core/runtime/bearings.js +199 -0
- package/dist/core/runtime/bin-contributions.d.ts +44 -0
- package/dist/core/runtime/bin-contributions.js +186 -0
- package/dist/core/runtime/blaxel-environment.d.ts +2 -0
- package/dist/core/runtime/blaxel-environment.js +8 -0
- package/dist/core/runtime/broker/bash-job-launch.d.ts +12 -0
- package/dist/core/runtime/broker/bash-job-launch.js +50 -0
- package/dist/core/runtime/broker/model-adapter.d.ts +27 -0
- package/dist/core/runtime/broker/model-adapter.js +413 -0
- package/dist/core/runtime/broker/read-ops.d.ts +27 -0
- package/dist/core/runtime/broker/read-ops.js +172 -0
- package/dist/core/runtime/broker/turn-cause.d.ts +7 -0
- package/dist/core/runtime/broker/turn-cause.js +30 -0
- package/dist/core/runtime/broker-protocol.d.ts +727 -0
- package/dist/core/runtime/broker-protocol.js +152 -0
- package/dist/core/runtime/broker-request.d.ts +37 -0
- package/dist/core/runtime/broker-request.js +86 -0
- package/dist/core/runtime/broker-sdk.d.ts +36 -0
- package/dist/core/runtime/broker-sdk.js +130 -0
- package/dist/core/runtime/canvas-extensions.d.ts +34 -0
- package/dist/core/runtime/canvas-extensions.js +100 -0
- package/dist/core/runtime/close.d.ts +49 -0
- package/dist/core/runtime/close.js +266 -0
- package/dist/core/runtime/command-expansion.d.ts +19 -0
- package/dist/core/runtime/command-expansion.js +104 -0
- package/dist/core/runtime/command-surface.d.ts +38 -0
- package/dist/core/runtime/command-surface.js +117 -0
- package/dist/core/runtime/crtr-theme.d.ts +12 -0
- package/dist/core/runtime/crtr-theme.js +146 -0
- package/dist/core/runtime/deliver-live.d.ts +38 -0
- package/dist/core/runtime/deliver-live.js +87 -0
- package/dist/core/runtime/fault-recovery.d.ts +23 -0
- package/dist/core/runtime/fault-recovery.js +83 -0
- package/dist/core/runtime/fault.d.ts +6 -0
- package/dist/core/runtime/fault.js +17 -0
- package/dist/core/runtime/fleet.d.ts +106 -0
- package/dist/core/runtime/fleet.js +75 -0
- package/dist/core/runtime/focus-viewer.d.ts +45 -0
- package/dist/core/runtime/focus-viewer.js +151 -0
- package/dist/core/runtime/front-door-env.d.ts +5 -0
- package/dist/core/runtime/front-door-env.js +16 -0
- package/dist/core/runtime/headless-pi.d.ts +37 -0
- package/dist/core/runtime/headless-pi.js +173 -0
- package/dist/core/runtime/host.d.ts +74 -0
- package/dist/core/runtime/host.js +695 -0
- package/dist/core/runtime/interactive-deliver.d.ts +22 -0
- package/dist/core/runtime/interactive-deliver.js +51 -0
- package/dist/core/runtime/invocation.d.ts +15 -0
- package/dist/core/runtime/invocation.js +10 -0
- package/dist/core/runtime/kickoff.d.ts +37 -0
- package/dist/core/runtime/kickoff.js +263 -0
- package/dist/core/runtime/launch-prompt.d.ts +8 -0
- package/dist/core/runtime/launch-prompt.js +13 -0
- package/dist/core/runtime/launch-target.d.ts +43 -0
- package/dist/core/runtime/launch-target.js +83 -0
- package/dist/core/runtime/launch.d.ts +206 -0
- package/dist/core/runtime/launch.js +498 -0
- package/dist/core/runtime/ledger.d.ts +10 -0
- package/dist/core/runtime/ledger.js +55 -0
- package/dist/core/runtime/lifecycle.d.ts +47 -0
- package/dist/core/runtime/lifecycle.js +283 -0
- package/dist/core/runtime/managed-provider-cooling.d.ts +24 -0
- package/dist/core/runtime/managed-provider-cooling.js +62 -0
- package/dist/core/runtime/memory-admission.d.ts +38 -0
- package/dist/core/runtime/memory-admission.js +68 -0
- package/dist/core/runtime/model-registry.d.ts +3 -0
- package/dist/core/runtime/model-registry.js +13 -0
- package/dist/core/runtime/model-selection.d.ts +54 -0
- package/dist/core/runtime/model-selection.js +135 -0
- package/dist/core/runtime/model-swap.d.ts +26 -0
- package/dist/core/runtime/model-swap.js +75 -0
- package/dist/core/runtime/naming.d.ts +69 -0
- package/dist/core/runtime/naming.js +298 -0
- package/dist/core/runtime/nerd-font.d.ts +46 -0
- package/dist/core/runtime/nerd-font.js +162 -0
- package/dist/core/runtime/nodes.d.ts +140 -0
- package/dist/core/runtime/nodes.js +506 -0
- package/dist/core/runtime/outcome-document.d.ts +58 -0
- package/dist/core/runtime/outcome-document.js +86 -0
- package/dist/core/runtime/output-result.d.ts +15 -0
- package/dist/core/runtime/output-result.js +32 -0
- package/dist/core/runtime/output-schema-refs.d.ts +3 -0
- package/dist/core/runtime/output-schema-refs.js +100 -0
- package/dist/core/runtime/package-health.d.ts +34 -0
- package/dist/core/runtime/package-health.js +100 -0
- package/dist/core/runtime/persona.d.ts +21 -0
- package/dist/core/runtime/persona.js +54 -0
- package/dist/core/runtime/pi-cli.d.ts +8 -0
- package/dist/core/runtime/pi-cli.js +65 -0
- package/dist/core/runtime/pi-vendored.d.ts +28 -0
- package/dist/core/runtime/pi-vendored.js +63 -0
- package/dist/core/runtime/placement-tmux.d.ts +32 -0
- package/dist/core/runtime/placement-tmux.js +81 -0
- package/dist/core/runtime/placement.d.ts +116 -0
- package/dist/core/runtime/placement.js +418 -0
- package/dist/core/runtime/progress-bar.d.ts +13 -0
- package/dist/core/runtime/progress-bar.js +50 -0
- package/dist/core/runtime/provider-credential-gate.d.ts +8 -0
- package/dist/core/runtime/provider-credential-gate.js +33 -0
- package/dist/core/runtime/recovery-hold.d.ts +21 -0
- package/dist/core/runtime/recovery-hold.js +46 -0
- package/dist/core/runtime/reopen.d.ts +49 -0
- package/dist/core/runtime/reopen.js +160 -0
- package/dist/core/runtime/revive.d.ts +114 -0
- package/dist/core/runtime/revive.js +739 -0
- package/dist/core/runtime/roadmap.d.ts +24 -0
- package/dist/core/runtime/roadmap.js +86 -0
- package/dist/core/runtime/runner/blaxel/client.d.ts +83 -0
- package/dist/core/runtime/runner/blaxel/client.js +140 -0
- package/dist/core/runtime/runner/blaxel/image-build.d.ts +74 -0
- package/dist/core/runtime/runner/blaxel/image-build.js +209 -0
- package/dist/core/runtime/runner/index.d.ts +9 -0
- package/dist/core/runtime/runner/index.js +37 -0
- package/dist/core/runtime/runner/machine/call.d.ts +8 -0
- package/dist/core/runtime/runner/machine/call.js +67 -0
- package/dist/core/runtime/runner/machine/environment.d.ts +1 -0
- package/dist/core/runtime/runner/machine/environment.js +7 -0
- package/dist/core/runtime/runner/machine/ops.d.ts +127 -0
- package/dist/core/runtime/runner/machine/ops.js +41 -0
- package/dist/core/runtime/runner/machine/runner.d.ts +12 -0
- package/dist/core/runtime/runner/machine/runner.js +90 -0
- package/dist/core/runtime/runner/process.d.ts +11 -0
- package/dist/core/runtime/runner/process.js +70 -0
- package/dist/core/runtime/runner/types.d.ts +101 -0
- package/dist/core/runtime/runner/types.js +16 -0
- package/dist/core/runtime/session-branch.d.ts +7 -0
- package/dist/core/runtime/session-branch.js +16 -0
- package/dist/core/runtime/session-cycles.d.ts +45 -0
- package/dist/core/runtime/session-cycles.js +110 -0
- package/dist/core/runtime/session-list-cache.d.ts +37 -0
- package/dist/core/runtime/session-list-cache.js +302 -0
- package/dist/core/runtime/session-visibility.d.ts +37 -0
- package/dist/core/runtime/session-visibility.js +99 -0
- package/dist/core/runtime/setup-marker.d.ts +8 -0
- package/dist/core/runtime/setup-marker.js +46 -0
- package/dist/core/runtime/situational-context.d.ts +16 -0
- package/dist/core/runtime/situational-context.js +54 -0
- package/dist/core/runtime/situational-live.d.ts +9 -0
- package/dist/core/runtime/situational-live.js +41 -0
- package/dist/core/runtime/spawn-env-rows.d.ts +5 -0
- package/dist/core/runtime/spawn-env-rows.js +15 -0
- package/dist/core/runtime/spawn-env.d.ts +40 -0
- package/dist/core/runtime/spawn-env.js +260 -0
- package/dist/core/runtime/spawn.d.ts +160 -0
- package/dist/core/runtime/spawn.js +699 -0
- package/dist/core/runtime/stamp/protocol.d.ts +90 -0
- package/dist/core/runtime/stamp/protocol.js +113 -0
- package/dist/core/runtime/start-check.d.ts +15 -0
- package/dist/core/runtime/start-check.js +31 -0
- package/dist/core/runtime/stop-guard.d.ts +31 -0
- package/dist/core/runtime/stop-guard.js +150 -0
- package/dist/core/runtime/structured-output.d.ts +36 -0
- package/dist/core/runtime/structured-output.js +112 -0
- package/dist/core/runtime/surface-bg.d.ts +13 -0
- package/dist/core/runtime/surface-bg.js +85 -0
- package/dist/core/runtime/tmux-bindings.d.ts +30 -0
- package/dist/core/runtime/tmux-bindings.js +743 -0
- package/dist/core/runtime/tmux-chrome.d.ts +2 -0
- package/dist/core/runtime/tmux-chrome.js +5 -0
- package/dist/core/runtime/tmux-driver.d.ts +328 -0
- package/dist/core/runtime/tmux-driver.js +713 -0
- package/dist/core/runtime/unsandboxed.d.ts +3 -0
- package/dist/core/runtime/unsandboxed.js +16 -0
- package/dist/core/runtime/view-socket.d.ts +61 -0
- package/dist/core/runtime/view-socket.js +194 -0
- package/dist/core/runtime/warm-pool.d.ts +79 -0
- package/dist/core/runtime/warm-pool.js +473 -0
- package/dist/core/scoped-state/db.d.ts +17 -0
- package/dist/core/scoped-state/db.js +261 -0
- package/dist/core/scoped-state/legacy-profiles.d.ts +11 -0
- package/dist/core/scoped-state/legacy-profiles.js +61 -0
- package/dist/core/scoped-state/migrate.d.ts +15 -0
- package/dist/core/scoped-state/migrate.js +332 -0
- package/dist/core/scoped-state/person-rows.d.ts +10 -0
- package/dist/core/scoped-state/person-rows.js +173 -0
- package/dist/core/scoped-state/schema.d.ts +10 -0
- package/dist/core/scoped-state/schema.js +47 -0
- package/dist/core/scopes.d.ts +20 -0
- package/dist/core/scopes.js +48 -0
- package/dist/core/secrets/env-rows.d.ts +18 -0
- package/dist/core/secrets/env-rows.js +40 -0
- package/dist/core/secrets/environment-owner.d.ts +8 -0
- package/dist/core/secrets/environment-owner.js +31 -0
- package/dist/core/secrets/environment-secrets.d.ts +14 -0
- package/dist/core/secrets/environment-secrets.js +14 -0
- package/dist/core/secrets/index.d.ts +2 -0
- package/dist/core/secrets/index.js +2 -0
- package/dist/core/secrets/key.d.ts +3 -0
- package/dist/core/secrets/key.js +33 -0
- package/dist/core/secrets/seal.d.ts +18 -0
- package/dist/core/secrets/seal.js +43 -0
- package/dist/core/secrets.d.ts +50 -0
- package/dist/core/secrets.js +147 -0
- package/dist/core/self-update.d.ts +27 -0
- package/dist/core/self-update.js +77 -0
- package/dist/core/session-model/session-state.d.ts +53 -0
- package/dist/core/session-model/session-state.js +180 -0
- package/dist/core/shell-segments.d.ts +42 -0
- package/dist/core/shell-segments.js +169 -0
- package/dist/core/spaces/cache-env.d.ts +2 -0
- package/dist/core/spaces/cache-env.js +15 -0
- package/dist/core/spaces/file-root.d.ts +23 -0
- package/dist/core/spaces/file-root.js +68 -0
- package/dist/core/spaces/mounts.d.ts +41 -0
- package/dist/core/spaces/mounts.js +126 -0
- package/dist/core/spaces/permissions.d.ts +19 -0
- package/dist/core/spaces/permissions.js +77 -0
- package/dist/core/spaces/process.d.ts +61 -0
- package/dist/core/spaces/process.js +172 -0
- package/dist/core/spaces/runtime-home.d.ts +5 -0
- package/dist/core/spaces/runtime-home.js +8 -0
- package/dist/core/spaces/space.d.ts +9 -0
- package/dist/core/spaces/space.js +58 -0
- package/dist/core/spaces/stop.d.ts +24 -0
- package/dist/core/spaces/stop.js +138 -0
- package/dist/core/spaces/users.d.ts +20 -0
- package/dist/core/spaces/users.js +43 -0
- package/dist/core/sqlite-statements.d.ts +4 -0
- package/dist/core/sqlite-statements.js +17 -0
- package/dist/core/statements.d.ts +17 -0
- package/dist/core/statements.js +81 -0
- package/dist/core/storage/attachments.d.ts +36 -0
- package/dist/core/storage/attachments.js +135 -0
- package/dist/core/storage/client.d.ts +109 -0
- package/dist/core/storage/client.js +231 -0
- package/dist/core/storage/download.d.ts +24 -0
- package/dist/core/storage/download.js +184 -0
- package/dist/core/storage/purge.d.ts +6 -0
- package/dist/core/storage/purge.js +52 -0
- package/dist/core/storage/tables.d.ts +67 -0
- package/dist/core/storage/tables.js +109 -0
- package/dist/core/subscription-state.d.ts +96 -0
- package/dist/core/subscription-state.js +438 -0
- package/dist/core/substrate/delivery/corpus.d.ts +26 -0
- package/dist/core/substrate/delivery/corpus.js +138 -0
- package/dist/core/substrate/delivery/deliver.d.ts +71 -0
- package/dist/core/substrate/delivery/deliver.js +333 -0
- package/dist/core/substrate/delivery/listings.d.ts +30 -0
- package/dist/core/substrate/delivery/listings.js +75 -0
- package/dist/core/substrate/delivery/match.d.ts +28 -0
- package/dist/core/substrate/delivery/match.js +146 -0
- package/dist/core/substrate/delivery/plan.d.ts +57 -0
- package/dist/core/substrate/delivery/plan.js +126 -0
- package/dist/core/substrate/delivery/render-boot.d.ts +20 -0
- package/dist/core/substrate/delivery/render-boot.js +329 -0
- package/dist/core/substrate/delivery/render-event.d.ts +47 -0
- package/dist/core/substrate/delivery/render-event.js +160 -0
- package/dist/core/substrate/delivery/sub-persona-menu.d.ts +2 -0
- package/dist/core/substrate/delivery/sub-persona-menu.js +24 -0
- package/dist/core/substrate/delivery/types.d.ts +30 -0
- package/dist/core/substrate/delivery/types.js +1 -0
- package/dist/core/substrate/gate-explain.d.ts +35 -0
- package/dist/core/substrate/gate-explain.js +397 -0
- package/dist/core/substrate/schema.d.ts +29 -0
- package/dist/core/substrate/schema.js +81 -0
- package/dist/core/substrate/subject-fields.d.ts +52 -0
- package/dist/core/substrate/subject-fields.js +39 -0
- package/dist/core/substrate/subject.d.ts +13 -0
- package/dist/core/substrate/subject.js +60 -0
- package/dist/core/termrender/code-doc.d.ts +12 -0
- package/dist/core/termrender/code-doc.js +92 -0
- package/dist/core/termrender/display.d.ts +16 -0
- package/dist/core/termrender/display.js +56 -0
- package/dist/core/termrender/termrender.d.ts +71 -0
- package/dist/core/termrender/termrender.js +719 -0
- package/dist/core/termrender/version.d.ts +1 -0
- package/dist/core/termrender/version.js +1 -0
- package/dist/core/timing.d.ts +11 -0
- package/dist/core/timing.js +94 -0
- package/dist/core/tui/draw.d.ts +103 -0
- package/dist/core/tui/draw.js +378 -0
- package/dist/core/tui/fuzzy.d.ts +9 -0
- package/dist/core/tui/fuzzy.js +38 -0
- package/dist/core/tui/markdown.d.ts +17 -0
- package/dist/core/tui/markdown.js +407 -0
- package/dist/core/tui/page-host.d.ts +31 -0
- package/dist/core/tui/page-host.js +74 -0
- package/dist/core/tui/panel.d.ts +45 -0
- package/dist/core/tui/panel.js +142 -0
- package/dist/core/tui/terminal.d.ts +23 -0
- package/dist/core/tui/terminal.js +100 -0
- package/dist/core/wake.d.ts +89 -0
- package/dist/core/wake.js +296 -0
- package/dist/core/worktree-containment.d.ts +14 -0
- package/dist/core/worktree-containment.js +48 -0
- package/dist/core/worktree-landing.d.ts +44 -0
- package/dist/core/worktree-landing.js +56 -0
- package/dist/core/worktree-mutation-async.d.ts +23 -0
- package/dist/core/worktree-mutation-async.js +335 -0
- package/dist/core/worktree-remove.d.ts +15 -0
- package/dist/core/worktree-remove.js +84 -0
- package/dist/core/worktree.d.ts +121 -0
- package/dist/core/worktree.js +909 -0
- package/dist/daemon/api/deferred-head.d.ts +14 -0
- package/dist/daemon/api/deferred-head.js +117 -0
- package/dist/daemon/api/environment-of.d.ts +18 -0
- package/dist/daemon/api/environment-of.js +40 -0
- package/dist/daemon/api/handlers/git-credential.d.ts +11 -0
- package/dist/daemon/api/handlers/git-credential.js +64 -0
- package/dist/daemon/api/handlers/providers.d.ts +83 -0
- package/dist/daemon/api/handlers/providers.js +283 -0
- package/dist/daemon/api/handlers/validate.d.ts +23 -0
- package/dist/daemon/api/handlers/validate.js +58 -0
- package/dist/daemon/api/map.d.ts +167 -0
- package/dist/daemon/api/map.js +764 -0
- package/dist/daemon/api/operations.d.ts +18 -0
- package/dist/daemon/api/operations.js +306 -0
- package/dist/daemon/api/principal.d.ts +65 -0
- package/dist/daemon/api/principal.js +143 -0
- package/dist/daemon/api/reader.d.ts +24 -0
- package/dist/daemon/api/reader.js +123 -0
- package/dist/daemon/api/router.d.ts +193 -0
- package/dist/daemon/api/router.js +536 -0
- package/dist/daemon/api/sync-notice.d.ts +17 -0
- package/dist/daemon/api/sync-notice.js +46 -0
- package/dist/daemon/api/viewer-presence.d.ts +20 -0
- package/dist/daemon/api/viewer-presence.js +100 -0
- package/dist/daemon/broker-signals/bus.d.ts +3 -2
- package/dist/daemon/broker-signals/bus.js +3 -2
- package/dist/daemon/companion-retire.d.ts +4 -0
- package/dist/daemon/companion-retire.js +44 -0
- package/dist/daemon/control.d.ts +40 -0
- package/dist/daemon/control.js +22 -0
- package/dist/daemon/cron/authority.d.ts +38 -0
- package/dist/daemon/cron/authority.js +90 -0
- package/dist/daemon/cron/live-runs.d.ts +54 -0
- package/dist/daemon/cron/live-runs.js +66 -0
- package/dist/daemon/cron/run-socket.d.ts +30 -0
- package/dist/daemon/cron/run-socket.js +170 -0
- package/dist/daemon/drain.d.ts +25 -0
- package/dist/daemon/drain.js +76 -0
- package/dist/daemon/human/finish.d.ts +24 -0
- package/dist/daemon/human/finish.js +178 -0
- package/dist/daemon/human/settle.d.ts +44 -0
- package/dist/daemon/human/settle.js +103 -0
- package/dist/daemon/machine-link/config.d.ts +45 -0
- package/dist/daemon/machine-link/config.js +63 -0
- package/dist/daemon/machine-link/credential.d.ts +7 -0
- package/dist/daemon/machine-link/credential.js +24 -0
- package/dist/daemon/machine-link/forward.d.ts +16 -0
- package/dist/daemon/machine-link/forward.js +181 -0
- package/dist/daemon/machine-link/frames.d.ts +49 -0
- package/dist/daemon/machine-link/frames.js +25 -0
- package/dist/daemon/machine-link/holder.d.ts +73 -0
- package/dist/daemon/machine-link/holder.js +272 -0
- package/dist/daemon/machine-link/move-notify.d.ts +4 -0
- package/dist/daemon/machine-link/move-notify.js +15 -0
- package/dist/daemon/manage.d.ts +19 -3
- package/dist/daemon/manage.js +21 -6
- package/dist/daemon/park-activity.d.ts +10 -0
- package/dist/daemon/park-activity.js +33 -0
- package/dist/daemon/park-pending.d.ts +25 -0
- package/dist/daemon/park-pending.js +76 -0
- package/dist/daemon/postgres/binary.d.ts +17 -0
- package/dist/daemon/postgres/binary.js +193 -0
- package/dist/daemon/postgres/cluster.d.ts +37 -0
- package/dist/daemon/postgres/cluster.js +111 -0
- package/dist/daemon/postgres/pins.d.ts +7 -0
- package/dist/daemon/postgres/pins.js +16 -0
- package/dist/daemon/postgres/supervisor.d.ts +95 -0
- package/dist/daemon/postgres/supervisor.js +177 -0
- package/dist/daemon/readiness.d.ts +11 -0
- package/dist/daemon/readiness.js +37 -0
- package/dist/daemon/reconcilers/broker-supervision.d.ts +112 -0
- package/dist/daemon/reconcilers/broker-supervision.js +842 -0
- package/dist/daemon/reconcilers/ledger-sandbox.d.ts +54 -0
- package/dist/daemon/reconcilers/ledger-sandbox.js +249 -0
- package/dist/daemon/reconcilers/live-obligation.d.ts +77 -0
- package/dist/daemon/reconcilers/live-obligation.js +114 -0
- package/dist/daemon/reconcilers/node-lifecycle/launch-failure.d.ts +1 -0
- package/dist/daemon/reconcilers/node-lifecycle/launch-failure.js +8 -0
- package/dist/daemon/reconcilers/node-lifecycle/node-person.d.ts +9 -0
- package/dist/daemon/reconcilers/node-lifecycle/node-person.js +40 -0
- package/dist/daemon/reconcilers/node-lifecycle/remote-wake.d.ts +32 -0
- package/dist/daemon/reconcilers/node-lifecycle/remote-wake.js +124 -0
- package/dist/daemon/reconcilers/recipe-image.d.ts +49 -0
- package/dist/daemon/reconcilers/recipe-image.js +145 -0
- package/dist/daemon/reconcilers/throttled-lane.d.ts +11 -0
- package/dist/daemon/reconcilers/throttled-lane.js +63 -0
- package/dist/daemon/runs/append-section.d.ts +9 -0
- package/dist/daemon/runs/append-section.js +135 -0
- package/dist/daemon/runs/observer.d.ts +17 -0
- package/dist/daemon/runs/observer.js +441 -0
- package/dist/daemon/runs/view-transport.d.ts +19 -0
- package/dist/daemon/runs/view-transport.js +81 -0
- package/dist/daemon/structured-requests/sidecar.d.ts +4 -0
- package/dist/daemon/structured-requests/sidecar.js +5 -0
- package/dist/hook-authoring.d.ts +130 -0
- package/dist/hook-authoring.js +447 -0
- package/dist/hook-process.d.ts +7 -0
- package/dist/hook-process.js +34 -0
- package/dist/launcher/client.d.ts +6 -0
- package/dist/launcher/client.js +52 -0
- package/dist/launcher/limits/policy.d.ts +141 -0
- package/dist/launcher/limits/policy.js +142 -0
- package/dist/launcher/limits/settings.d.ts +19 -0
- package/dist/launcher/limits/settings.js +94 -0
- package/dist/launcher/spec.d.ts +181 -0
- package/dist/launcher/spec.js +10 -0
- package/dist/migrations/004-canvas-documents/apply.d.ts +8 -0
- package/dist/migrations/004-canvas-documents/apply.js +113 -0
- package/dist/migrations/004-canvas-documents/fields.d.ts +24 -0
- package/dist/migrations/004-canvas-documents/fields.js +52 -0
- package/dist/migrations/004-canvas-documents/index.d.ts +16 -0
- package/dist/migrations/004-canvas-documents/index.js +88 -0
- package/dist/migrations/004-canvas-documents/legacy/discover.d.ts +16 -0
- package/dist/migrations/004-canvas-documents/legacy/discover.js +251 -0
- package/dist/migrations/004-canvas-documents/legacy/history.d.ts +5 -0
- package/dist/migrations/004-canvas-documents/legacy/history.js +37 -0
- package/dist/migrations/004-canvas-documents/legacy/nested.d.ts +7 -0
- package/dist/migrations/004-canvas-documents/legacy/nested.js +37 -0
- package/dist/migrations/004-canvas-documents/legacy/parse.d.ts +14 -0
- package/dist/migrations/004-canvas-documents/legacy/parse.js +24 -0
- package/dist/migrations/004-canvas-documents/legacy/types.d.ts +91 -0
- package/dist/migrations/004-canvas-documents/legacy/types.js +3 -0
- package/dist/migrations/004-canvas-documents/plan.d.ts +102 -0
- package/dist/migrations/004-canvas-documents/plan.js +410 -0
- package/dist/migrations/004-canvas-documents/pointers.d.ts +23 -0
- package/dist/migrations/004-canvas-documents/pointers.js +95 -0
- package/dist/migrations/activation.d.ts +17 -0
- package/dist/migrations/activation.js +46 -0
- package/dist/shared/crtr-version.d.ts +2 -0
- package/dist/shared/crtr-version.js +18 -0
- package/dist/shared/inbox-entry-body.js +6 -2
- package/dist/shared/inline-ref-grammar.d.ts +53 -0
- package/dist/shared/inline-ref-grammar.js +99 -0
- package/dist/shared/shell-quote.d.ts +3 -0
- package/dist/shared/shell-quote.js +5 -0
- package/dist/shared/strip-cd-prefix.d.ts +1 -0
- package/dist/shared/strip-cd-prefix.js +13 -0
- package/dist/shared/tool-groups.d.ts +26 -0
- package/dist/shared/tool-groups.js +64 -0
- package/dist/shared/traceparent.d.ts +6 -0
- package/dist/shared/traceparent.js +28 -0
- package/dist/shared/turn-replies.d.ts +27 -0
- package/dist/shared/turn-replies.js +71 -0
- package/package.json +1 -1
|
@@ -0,0 +1,699 @@
|
|
|
1
|
+
// The spawn orchestration — the one place that turns "I want a node here" into
|
|
2
|
+
// a running pi process on the canvas. Composes canvas (birth + spine), persona
|
|
3
|
+
// (resolve), launch (pi argv), and tmux (placement).
|
|
4
|
+
//
|
|
5
|
+
// spawnChild — a node spawned by a live node (`crtr node new`). A managed,
|
|
6
|
+
// terminal background worker by default; with `root`, an
|
|
7
|
+
// INDEPENDENT root (no subscription back to the spawner,
|
|
8
|
+
// provenance via spawned_by) — resident and brought forefront for
|
|
9
|
+
// direct driving, or, with `rootLifecycle: 'terminal'`, an
|
|
10
|
+
// unattended parentless worker that still owes a final (so it
|
|
11
|
+
// reaps) and is never placed on screen.
|
|
12
|
+
import { accessSync, constants } from 'node:fs';
|
|
13
|
+
import { isAbsolute, resolve, join } from 'node:path';
|
|
14
|
+
import { appSpace } from '../layout.js';
|
|
15
|
+
import { ApiError } from '../../api/errors.js';
|
|
16
|
+
import { spawnNode, forkSourceNode, currentNodeContext, rootOfSpine, newNodeId, preflightNodeId } from './nodes.js';
|
|
17
|
+
import { resolveProfileOperand } from '../profiles/manifest.js';
|
|
18
|
+
import { selectProfileForCwd, selectProfileForCwdReadOnly } from '../profiles/select.js';
|
|
19
|
+
import { buildLaunchSpecAsync, buildPiArgv } from './launch.js';
|
|
20
|
+
import { runsOnBlaxel, sandboxWorktreeRequest } from '../../daemon/api/environment-of.js';
|
|
21
|
+
import { createManagedWorktreeAsync, rollbackManagedWorktreeAsync } from '../worktree-mutation-async.js';
|
|
22
|
+
import { usage, brokerLaunchFailed } from '../errors.js';
|
|
23
|
+
import { writeGoal } from './kickoff.js';
|
|
24
|
+
import { appendSituationalContext, formatSituationalProse } from './situational-context.js';
|
|
25
|
+
import { ensureRoadmap } from './roadmap.js';
|
|
26
|
+
import { buildWakeBearings } from './bearings.js';
|
|
27
|
+
import { encodeKickoffOrigin, KICKOFF_ORIGIN_ENV } from './stamp/protocol.js';
|
|
28
|
+
import { ExecutionCapReached, beginExecution, crtrHome, getNode, fullName, jobDir, recordExecutionPid, abortExecution, setFrozen } from '../canvas/index.js';
|
|
29
|
+
import { contextDir, nodeAgentDir } from '../canvas/node-agent-paths.js';
|
|
30
|
+
import { copyTreeBeneath } from '../spaces/open-beneath.js';
|
|
31
|
+
import { conversationIdFromPath, conversationStore } from '../conversation-store/index.js';
|
|
32
|
+
import { appMemoryTooSmall, boundFleet, brokerThresholdsForDaemon } from './fleet.js';
|
|
33
|
+
import { admitBrokerMemory } from './memory-admission.js';
|
|
34
|
+
import { emitEvent } from '../events/emit.js';
|
|
35
|
+
import { blaxelEnvironmentOf } from './blaxel-environment.js';
|
|
36
|
+
import { openViewerWindow, focusOf, windowOfPane, } from './placement.js';
|
|
37
|
+
import { awaitBrokerViewSocket } from './view-socket.js';
|
|
38
|
+
import { readLogSnapshot } from '../events/read.js';
|
|
39
|
+
import { transition } from './lifecycle.js';
|
|
40
|
+
import { beginBootFaultAttempt } from '../canvas/recovery.js';
|
|
41
|
+
import { headlessBrokerHost } from './host.js';
|
|
42
|
+
import { ensureDaemon } from '../../daemon/manage.js';
|
|
43
|
+
import { readConfig } from '../config.js';
|
|
44
|
+
import { modelRequestFromConfig, unregisteredConcreteModel, unroutableConcreteModel } from '../model-routes.js';
|
|
45
|
+
import { openModelRegistry } from './model-registry.js';
|
|
46
|
+
import { MODEL_SPEC_NEXT } from './model-selection.js';
|
|
47
|
+
import { forkNodeLedger } from './ledger.js';
|
|
48
|
+
import { appRungForGrant } from '../llm/app-rungs.js';
|
|
49
|
+
import { APP_FAMILY } from '../model-routes.js';
|
|
50
|
+
import { discoverLifecycleHookRegistry } from '../command-hooks/discovery.js';
|
|
51
|
+
import { invokeLifecycleHooks } from '../command-hooks/transport/exec-lifecycle.js';
|
|
52
|
+
import { someAsync } from '../async-array.js';
|
|
53
|
+
import { checkStart } from './start-check.js';
|
|
54
|
+
// Shared broker-launch wrapper — catch launch/preflight failures at the call
|
|
55
|
+
// site, mark the node crashed, then rethrow a clear error.
|
|
56
|
+
function launchFailureOutcome(error) {
|
|
57
|
+
return {
|
|
58
|
+
detail: {
|
|
59
|
+
schema: 'crtr.node-outcome-detail/v1',
|
|
60
|
+
message: error instanceof Error ? error.message : String(error),
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
async function launchBrokerOrCrash(nodeId, inv, opts) {
|
|
65
|
+
try {
|
|
66
|
+
return await headlessBrokerHost.launch(nodeId, inv, opts);
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
try {
|
|
70
|
+
await transition(nodeId, 'crash', { reason: 'launch_failed', outcome: launchFailureOutcome(error) });
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
/* best-effort cleanup */
|
|
74
|
+
}
|
|
75
|
+
// A named error (not a bare `new Error`): this is the ONLY signal the
|
|
76
|
+
// preflight cause (bad engine resolve, missing session file, extension
|
|
77
|
+
// rejection) has to travel up. Left as a plain Error it collapses to a
|
|
78
|
+
// causeless 500 `internal` across crtrd; named, it surfaces verbatim.
|
|
79
|
+
// The underlying messages (from host.ts preflight) already carry the
|
|
80
|
+
// `[broker] refusing to launch <id>:` lead, so re-surface them as-is
|
|
81
|
+
// rather than double-prefixing the now caller-visible text.
|
|
82
|
+
const cause = error.message;
|
|
83
|
+
throw brokerLaunchFailed(cause.startsWith('[broker]') ? cause : `[broker] refusing to launch ${nodeId}: ${cause}`, 'Inspect the cause above, fix the launch recipe or environment, then retry.');
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/** The last `broker.startup.*` step a freshly created root broker logged, or null when it logged none (it never got
|
|
87
|
+
* as far as binding its event source). */
|
|
88
|
+
function lastStartupStep(nodeId) {
|
|
89
|
+
const steps = readLogSnapshot({ nodeId, component: 'broker', pattern: 'broker.startup.' }, false).items
|
|
90
|
+
.flatMap((item) => item.kind === 'event' && item.envelope.event.startsWith('broker.startup.') && item.envelope.event !== 'broker.startup.warning'
|
|
91
|
+
? [item.envelope.event.slice('broker.startup.'.length)]
|
|
92
|
+
: []);
|
|
93
|
+
return steps.at(-1) ?? null;
|
|
94
|
+
}
|
|
95
|
+
/** Say how a root broker's readiness wait ended: who ended it (the broker's own exit, or the launcher's deadline) and
|
|
96
|
+
* the last startup step the broker logged before that. */
|
|
97
|
+
function notReadyDescription(nodeId, wait) {
|
|
98
|
+
const step = lastStartupStep(nodeId);
|
|
99
|
+
const reached = step === null ? 'it had logged no startup step' : `the last startup step it logged was \`${step}\``;
|
|
100
|
+
if (wait.reason === 'exited') {
|
|
101
|
+
const { code, signal } = wait.status;
|
|
102
|
+
return {
|
|
103
|
+
text: `exited (code ${code ?? 'null'}, signal ${signal ?? 'null'}) before binding its view socket; ${reached}`,
|
|
104
|
+
fields: { reason: 'exited', code, signal, last_startup_step: step },
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
return {
|
|
108
|
+
text: `was still starting after ${Math.round(wait.waitedMs / 1000)} s without binding its view socket, so the launcher stopped it; ${reached}`,
|
|
109
|
+
fields: { reason: 'timeout', waited_ms: wait.waitedMs, last_startup_step: step },
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
/** A readiness failure must never leave a broker able to bind behind a dead row. */
|
|
113
|
+
async function crashAndTearDown(nodeId, error) {
|
|
114
|
+
try {
|
|
115
|
+
// Mark dead before touching the process so daemon supervision cannot revive it.
|
|
116
|
+
await transition(nodeId, 'crash', { reason: 'launch_failed', outcome: launchFailureOutcome(error) });
|
|
117
|
+
}
|
|
118
|
+
catch {
|
|
119
|
+
/* preserve teardown even if lifecycle reconciliation already happened */
|
|
120
|
+
}
|
|
121
|
+
try {
|
|
122
|
+
void headlessBrokerHost.teardown(nodeId);
|
|
123
|
+
}
|
|
124
|
+
catch {
|
|
125
|
+
/* host teardown is best-effort; the launch failure remains authoritative */
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
/** Resolve a bare/partial pi session uuid to its ABSOLUTE `.jsonl` path by
|
|
129
|
+
* scanning pi's sessions store the way pi's own CLI does (exact id, else a
|
|
130
|
+
* unique prefix). The broker fork seam (`SessionManager.forkFrom`) loads a FILE
|
|
131
|
+
* and does NOT resolve a uuid, so a bare id must be resolved here or the fork
|
|
132
|
+
* throws at boot. Session files are `<sessions>/<project>/<ts>_<id>.jsonl`. */
|
|
133
|
+
async function resolveSessionUuid(uuid) {
|
|
134
|
+
const matches = (await conversationStore().list()).map(({ conversation_id, path }) => ({ id: conversation_id, path }));
|
|
135
|
+
const exact = matches.filter((m) => m.id === uuid);
|
|
136
|
+
const hit = exact.length > 0 ? exact : matches.filter((m) => m.id.startsWith(uuid));
|
|
137
|
+
if (hit.length === 0) {
|
|
138
|
+
throw usage(`--fork-from '${uuid}': no pi session with that id found.`, {
|
|
139
|
+
next: 'Pass a live node id, a real session uuid/prefix, or an absolute .jsonl session path.',
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
if (hit.length > 1) {
|
|
143
|
+
throw usage(`--fork-from '${uuid}': ambiguous — ${hit.length} sessions match that id prefix; pass the full id or the .jsonl path.`, {
|
|
144
|
+
next: 'Pass the full session uuid or an absolute .jsonl path to disambiguate.',
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
return hit[0].path;
|
|
148
|
+
}
|
|
149
|
+
/** Resolve a `--fork-from` value to an ABSOLUTE `.jsonl` source path for the
|
|
150
|
+
* broker fork (`SessionManager.forkFrom`, which loads a file — never a bare id).
|
|
151
|
+
* A live node id resolves to its captured session FILE (absolute, cwd-immune); a
|
|
152
|
+
* relative path is made absolute; a bare/partial uuid is resolved against pi's
|
|
153
|
+
* sessions store. Throws when a known node has no captured session file, or when
|
|
154
|
+
* a uuid resolves to zero or multiple sessions. */
|
|
155
|
+
export async function resolveForkSource(value) {
|
|
156
|
+
const v = value.trim();
|
|
157
|
+
if (v === '')
|
|
158
|
+
throw usage('--fork-from requires a node id, session file, or session uuid.', { next: 'Pass a live node id, an absolute .jsonl session path, or a session uuid/prefix.' });
|
|
159
|
+
// A path (contains `/` or ends `.jsonl`) is a session file — ensure it is
|
|
160
|
+
// ABSOLUTE so the broker, launched in a different cwd, still resolves it.
|
|
161
|
+
if (v.includes('/') || v.endsWith('.jsonl')) {
|
|
162
|
+
const id = conversationIdFromPath(isAbsolute(v) ? v : resolve(process.cwd(), v));
|
|
163
|
+
if (id === null)
|
|
164
|
+
throw usage(`--fork-from '${v}': invalid conversation path.`, { next: 'Pass a conversation file path or id.' });
|
|
165
|
+
return (await conversationStore().header(id)).path;
|
|
166
|
+
}
|
|
167
|
+
// A live node id — fork from the conversation it has accumulated. Its captured
|
|
168
|
+
// session FILE is absolute; the broker cannot fork a bare session id.
|
|
169
|
+
const n = await getNode(v);
|
|
170
|
+
if (n !== null) {
|
|
171
|
+
const src = n.pi_session_file;
|
|
172
|
+
if (src === undefined || src === null || src === '') {
|
|
173
|
+
throw usage(`node ${v} has no pi session yet — it has not captured a session FILE to fork from (the broker forks a .jsonl path, not a bare id).`, {
|
|
174
|
+
next: 'Pick a node that has captured a session, or drop --fork-from.',
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
const id = conversationIdFromPath(src);
|
|
178
|
+
if (id === null)
|
|
179
|
+
throw usage(`node ${v} has no valid conversation id.`, { next: 'Pick a node with a captured conversation.' });
|
|
180
|
+
return (await conversationStore().header(id)).path;
|
|
181
|
+
}
|
|
182
|
+
// Not a known node — a bare/partial pi session uuid; resolve it to an absolute
|
|
183
|
+
// .jsonl (the broker fork won't resolve a uuid).
|
|
184
|
+
return await resolveSessionUuid(v);
|
|
185
|
+
}
|
|
186
|
+
/** Resolve the profile a spawned child runs under: an explicit `--profile`
|
|
187
|
+
* operand (id, name, or closest match) resolved through `resolveProfileOperand`, else INHERIT
|
|
188
|
+
* the spawner's current `profile_id` (null when the spawner has none). `--root`
|
|
189
|
+
* never resets this to null on its own; only an explicit override does. When
|
|
190
|
+
* there is NO spawner at all — `crtr node new --root` run directly from a
|
|
191
|
+
* shell, not from inside a node — there is no profile to inherit, so this runs
|
|
192
|
+
* the same startup selector the front door uses (MRU covering `cwd`, else the
|
|
193
|
+
* root-profile prompt/default). */
|
|
194
|
+
export async function resolveProfileId(explicit, spawner, cwd, options = {}) {
|
|
195
|
+
if (explicit === null)
|
|
196
|
+
return null;
|
|
197
|
+
if (explicit !== undefined && explicit !== '') {
|
|
198
|
+
// `explicit` originates as a user-typed `--profile`, so tolerate a near
|
|
199
|
+
// miss. The CLI normally resolves it to an id first; this covers callers
|
|
200
|
+
// that reach the daemon with a name.
|
|
201
|
+
return resolveProfileOperand(explicit).profileId;
|
|
202
|
+
}
|
|
203
|
+
if (spawner !== null)
|
|
204
|
+
return (await getNode(spawner))?.profile_id ?? null;
|
|
205
|
+
return options.readOnlySelection === true
|
|
206
|
+
? selectProfileForCwdReadOnly(cwd)
|
|
207
|
+
: selectProfileForCwd(cwd);
|
|
208
|
+
}
|
|
209
|
+
function requestFromLaunch(launch) {
|
|
210
|
+
const intent = launch.modelIntent === undefined
|
|
211
|
+
? undefined
|
|
212
|
+
: `${launch.modelIntent.family}/${launch.modelIntent.strength}`;
|
|
213
|
+
return modelRequestFromConfig(launch.model, intent, launch.modelExact === true);
|
|
214
|
+
}
|
|
215
|
+
/** Under an app-paid grant (RT-RTE-24) the node's model is the app rung resolver's choice, never the owner's ladder: the
|
|
216
|
+
* recipe records the rung's catalog model and the intent `app/<strength>`. A user-paid grant leaves the recipe as built. */
|
|
217
|
+
export async function appPaidLaunch(launch, grantId, requested) {
|
|
218
|
+
const ask = requested ?? (launch.modelIntent ? `${launch.modelIntent.family}/${launch.modelIntent.strength}` : launch.model);
|
|
219
|
+
const rung = await appRungForGrant(grantId, ask, launch.modelExact === true);
|
|
220
|
+
if (rung === null)
|
|
221
|
+
return launch;
|
|
222
|
+
const { CRTR_MODEL_INTENT: _owner, ...env } = launch.env ?? {};
|
|
223
|
+
return { ...launch, model: rung.model, modelIntent: { family: APP_FAMILY, strength: rung.strength }, modelExact: undefined, env: { ...env, CRTR_MODEL_INTENT: `${APP_FAMILY}/${rung.strength}` } };
|
|
224
|
+
}
|
|
225
|
+
/** Reject a permanently invalid launch recipe against the registry that will
|
|
226
|
+
* serve it. Registered-but-unauthenticated/cooling requests intentionally pass
|
|
227
|
+
* this authoring check so broker policy for transient availability is unchanged. */
|
|
228
|
+
export async function assertLaunchModelRegistered(request, options, registry) {
|
|
229
|
+
if (request === undefined)
|
|
230
|
+
return;
|
|
231
|
+
// An app-paid recipe is logical (`app/<strength>`) but names a catalog model: the catalog entry is the whole check.
|
|
232
|
+
if (request.kind === 'logical' && request.family !== APP_FAMILY)
|
|
233
|
+
return;
|
|
234
|
+
const unknown = await unregisteredConcreteModel(request.kind === 'logical' ? { kind: 'concrete', spec: request.spec } : request, registry ?? await openModelRegistry(), options);
|
|
235
|
+
if (unknown !== undefined) {
|
|
236
|
+
throw usage(`model '${unknown.request.spec}' is not registered in this daemon.`, {
|
|
237
|
+
received: unknown.request.spec,
|
|
238
|
+
next: MODEL_SPEC_NEXT,
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
const unroutable = await unroutableConcreteModel(request, options);
|
|
242
|
+
if (unroutable !== undefined) {
|
|
243
|
+
throw usage(`model '${unroutable.spec}' is registered but no configured model route offers it, so no turn could be served.`, {
|
|
244
|
+
received: unroutable.spec,
|
|
245
|
+
next: `Pick a model from your configured routes (\`crtr sys config get modelLadders\`), or add this one to a ladder or route.`,
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
/** Resolve who a spawn is attributed to. A managed child needs a spine parent
|
|
250
|
+
* (explicit `--parent` or the calling node's CRTR_NODE_ID). A --root spawn
|
|
251
|
+
* does not: it is top-level by definition and the spawner identity is
|
|
252
|
+
* provenance only — a human shell with no CRTR_NODE_ID is a legitimate root
|
|
253
|
+
* spawner, so `crtr node new --root` from outside a node must not throw. */
|
|
254
|
+
export function resolveSpawner(parent, ctxNodeId, root) {
|
|
255
|
+
const spawner = parent ?? ctxNodeId ?? null;
|
|
256
|
+
if (!root && spawner === null) {
|
|
257
|
+
throw new Error('spawnChild requires a calling node (CRTR_NODE_ID) or an explicit parent');
|
|
258
|
+
}
|
|
259
|
+
return spawner;
|
|
260
|
+
}
|
|
261
|
+
export async function spawnChildPrepared(opts, beforeBrokerLaunch, afterNodeCreated) {
|
|
262
|
+
try {
|
|
263
|
+
ensureDaemon();
|
|
264
|
+
}
|
|
265
|
+
catch { /* daemon is best-effort */ }
|
|
266
|
+
const ctx = currentNodeContext();
|
|
267
|
+
const root = opts.root === true;
|
|
268
|
+
const spawner = resolveSpawner(opts.parent, ctx.nodeId ?? null, root);
|
|
269
|
+
const mode = opts.mode ?? 'base';
|
|
270
|
+
// Roots are resident by default; managed children are terminal workers by
|
|
271
|
+
// default. The one lifecycle option deliberately applies to both shapes so a
|
|
272
|
+
// child can be born as a standing, wakeable conversation too.
|
|
273
|
+
const lifecycle = opts.rootLifecycle ?? (root ? 'resident' : 'terminal');
|
|
274
|
+
const attendedRoot = root && lifecycle === 'resident';
|
|
275
|
+
// Born WITHOUT a name — the canvas-goal-capture extension names it async from
|
|
276
|
+
// its first message (the kickoff task) inside its own pi process, so spawn
|
|
277
|
+
// never blocks on the LLM naming round-trip (a 2-3s freeze).
|
|
278
|
+
const spawnerNode = spawner === null ? null : await getNode(spawner);
|
|
279
|
+
const creatorNode = opts.creator === undefined || opts.creator === null ? null : await getNode(opts.creator);
|
|
280
|
+
if (opts.nodeId !== undefined)
|
|
281
|
+
await preflightNodeId(opts.nodeId);
|
|
282
|
+
const forkFrom = opts.forkFrom !== undefined ? await resolveForkSource(opts.forkFrom) : undefined;
|
|
283
|
+
const forkSourceMeta = forkFrom === undefined ? null : await forkSourceNode(forkFrom);
|
|
284
|
+
const isolatedAncestor = (await someAsync([spawnerNode, creatorNode, forkSourceMeta], async (source) => source?.isolated === true ||
|
|
285
|
+
(source?.run_id != null && (await getNode(source.run_id))?.isolated === true)));
|
|
286
|
+
if (isolatedAncestor && opts.isolated === false) {
|
|
287
|
+
throw new ApiError(403, 'isolated_run', 'isolation cannot be turned off under an isolated run', { param: 'isolated' });
|
|
288
|
+
}
|
|
289
|
+
const isolated = isolatedAncestor || opts.isolated === true;
|
|
290
|
+
if (isolated && opts.worktree === true) {
|
|
291
|
+
throw new ApiError(400, 'invalid_request', 'isolated nodes cannot use a worktree', { param: 'worktree' });
|
|
292
|
+
}
|
|
293
|
+
const wantsWorktree = opts.worktree === true;
|
|
294
|
+
const nodeId = isolated || wantsWorktree ? (opts.nodeId ?? await newNodeId()) : opts.nodeId;
|
|
295
|
+
// Isolation pins each node to its own folder before resolving the launch
|
|
296
|
+
// recipe; the application files directory must never become its cwd.
|
|
297
|
+
const birthCwd = isolated
|
|
298
|
+
? (opts.run !== undefined && root && !isolatedAncestor ? opts.cwd : join(appSpace(opts.run?.grantee ?? spawnerNode?.grantee ?? 'app:terminal').nodes, nodeId))
|
|
299
|
+
: opts.cwd;
|
|
300
|
+
// Preflight: resolve every fallible input BEFORE creating the worktree or the
|
|
301
|
+
// node. `--fork-from <bad>` (resolveForkSource), an invalid `--profile`
|
|
302
|
+
// (resolveProfileId), and an unregistered concrete `--model` must fail HERE,
|
|
303
|
+
// before anything exists to clean up or
|
|
304
|
+
// strand — catching them later (after the worktree/node are created) is what
|
|
305
|
+
// let `--worktree --fork-from <bad>` leave an active node pinned to a deleted
|
|
306
|
+
// cwd with an open managed_worktree. A caller-supplied `--node-id` joins this
|
|
307
|
+
// preflight for the same reason: a malformed or already-taken id must fail
|
|
308
|
+
// BEFORE createManagedWorktree runs below, or a duplicate/bad id leaks a
|
|
309
|
+
// registered worktree that the failure catch below then can't clean up
|
|
310
|
+
// (getNode(nodeId) already resolves non-null for the pre-existing conflicting
|
|
311
|
+
// node, which the catch's cleanup guard reads as "keep it"). This is a
|
|
312
|
+
// best-effort check only — spawnNode's synchronous check-then-create right
|
|
313
|
+
// before node creation remains the sole authoritative race decider.
|
|
314
|
+
const profileId = await resolveProfileId(opts.profile, spawner, birthCwd);
|
|
315
|
+
const launchGrant = opts.run?.grant_id ?? spawnerNode?.grant_id ?? null;
|
|
316
|
+
const preflightLaunch = await appPaidLaunch((await buildLaunchSpecAsync(opts.kind, mode, {
|
|
317
|
+
lifecycle, hasManager: !root, model: opts.model, modelOverride: opts.model !== undefined, cwd: birthCwd, profileId,
|
|
318
|
+
})).launch, launchGrant, opts.model);
|
|
319
|
+
await assertLaunchModelRegistered(requestFromLaunch(preflightLaunch), { cwd: birthCwd, profileId });
|
|
320
|
+
// The start check, before any worktree or node row exists: a refusal leaves nothing behind. The payer is the identity the
|
|
321
|
+
// node will carry (a run's own, else its creator's or spawner's, else the terminal person).
|
|
322
|
+
const payerSource = opts.run ?? creatorNode ?? spawnerNode ?? forkSourceMeta;
|
|
323
|
+
await checkStart({ grantee: payerSource?.grantee ?? 'app:terminal', sub: payerSource?.sub, grant_id: payerSource?.grant_id });
|
|
324
|
+
const forkSourceNodeId = forkSourceMeta?.node_id ?? null;
|
|
325
|
+
let managedWorktree;
|
|
326
|
+
let spawnCwd = birthCwd;
|
|
327
|
+
// On Blaxel the node's sandbox is its worktree (D102): the request rides in the launch recipe and no checkout is made here.
|
|
328
|
+
const sandboxWorktree = wantsWorktree && await runsOnBlaxel(profileId) ? await sandboxWorktreeRequest(profileId, opts.worktreeCwd ?? opts.cwd, nodeId, opts.worktreeBase) : undefined;
|
|
329
|
+
try {
|
|
330
|
+
if (wantsWorktree && sandboxWorktree === undefined) {
|
|
331
|
+
managedWorktree = await createManagedWorktreeAsync(opts.worktreeCwd ?? opts.cwd, nodeId, opts.worktreeBase);
|
|
332
|
+
spawnCwd = managedWorktree.path;
|
|
333
|
+
}
|
|
334
|
+
// Spine: a managed child reports up to its spawner (has a manager); an
|
|
335
|
+
// independent root sits top-of-spine with nobody to push to. Mirrors the
|
|
336
|
+
// `parent` set below (root ? null : spawner), so hasManager === parent!==null.
|
|
337
|
+
// Built HERE — after profile + worktree cwd are resolved — so the kind's
|
|
338
|
+
// model/tools resolve against the CHILD's own profile + project stack, not
|
|
339
|
+
// this process's ambient scope (a front-door shell has no CRTR_PROFILE_ID,
|
|
340
|
+
// which silently hid every profile-scope kind override).
|
|
341
|
+
const launch = wantsWorktree
|
|
342
|
+
? await appPaidLaunch((await buildLaunchSpecAsync(opts.kind, mode, {
|
|
343
|
+
lifecycle, hasManager: !root, model: opts.model, modelOverride: opts.model !== undefined, cwd: spawnCwd, profileId,
|
|
344
|
+
})).launch, launchGrant, opts.model)
|
|
345
|
+
: preflightLaunch;
|
|
346
|
+
if (sandboxWorktree !== undefined)
|
|
347
|
+
launch.worktree = sandboxWorktree;
|
|
348
|
+
if (wantsWorktree) {
|
|
349
|
+
await assertLaunchModelRegistered(requestFromLaunch(launch), { cwd: spawnCwd, profileId });
|
|
350
|
+
}
|
|
351
|
+
const meta = await spawnNode({
|
|
352
|
+
kind: opts.kind,
|
|
353
|
+
mode,
|
|
354
|
+
lifecycle,
|
|
355
|
+
cwd: spawnCwd,
|
|
356
|
+
name: opts.name ?? opts.kind,
|
|
357
|
+
description: opts.description,
|
|
358
|
+
// A root has no spine parent (top-level, nobody subscribes); it still
|
|
359
|
+
// records spawned_by=spawner when a node (not a human shell) spawned it.
|
|
360
|
+
// A child's parent IS its manager.
|
|
361
|
+
parent: root ? null : spawner,
|
|
362
|
+
creator: opts.creator,
|
|
363
|
+
...(opts.actor === undefined ? {} : { actor: opts.actor }),
|
|
364
|
+
forkSourceNode: forkSourceNodeId,
|
|
365
|
+
spawnedBy: root ? (spawner ?? undefined) : undefined,
|
|
366
|
+
profile_id: profileId,
|
|
367
|
+
...(opts.scopes === undefined ? {} : { scopes: opts.scopes }),
|
|
368
|
+
isolated,
|
|
369
|
+
...(opts.run === undefined ? {} : { run: opts.run }),
|
|
370
|
+
...(opts.causedBy === undefined ? {} : { causedBy: opts.causedBy }),
|
|
371
|
+
...(opts.withinCreate === undefined ? {} : { withinCreate: opts.withinCreate }),
|
|
372
|
+
forkFrom: opts.forkFrom,
|
|
373
|
+
forkSourceFile: forkFrom,
|
|
374
|
+
modelOverride: opts.model === undefined ? undefined : launch.model,
|
|
375
|
+
...(managedWorktree !== undefined ? { managedWorktree } : {}),
|
|
376
|
+
...(nodeId !== undefined ? { nodeId } : {}),
|
|
377
|
+
...(opts.reviewBinding === undefined ? {} : { reviewBinding: opts.reviewBinding }),
|
|
378
|
+
...(opts.deadlineAt === undefined ? {} : { deadlineAt: opts.deadlineAt }),
|
|
379
|
+
...(opts.outcomeDelivery === undefined ? {} : { outcomeDelivery: opts.outcomeDelivery }),
|
|
380
|
+
launch,
|
|
381
|
+
});
|
|
382
|
+
afterNodeCreated?.(meta.node_id);
|
|
383
|
+
if (opts.forkFrom !== undefined) {
|
|
384
|
+
try {
|
|
385
|
+
await forkNodeLedger(meta.node_id, forkSourceNodeId ?? null);
|
|
386
|
+
}
|
|
387
|
+
catch (error) {
|
|
388
|
+
await transition(meta.node_id, 'crash', { reason: 'launch_failed', outcome: launchFailureOutcome(error) });
|
|
389
|
+
throw error;
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
// Persist the task as the child's goal for a fresh revive to re-read.
|
|
393
|
+
await writeGoal(meta.node_id, opts.prompt);
|
|
394
|
+
// Hidden ambient context, written BEFORE the engine launches so canvas-
|
|
395
|
+
// context-intro's session_start bearings carry it from the first turn.
|
|
396
|
+
if (opts.situationalContext !== undefined) {
|
|
397
|
+
await appendSituationalContext(meta.node_id, formatSituationalProse(opts.situationalContext));
|
|
398
|
+
}
|
|
399
|
+
// Compound births such as `node fork` may need durable state in place after
|
|
400
|
+
// the row and context directory exist but before the broker can observe it.
|
|
401
|
+
// A preparation failure leaves the row crashed and never launches a partial
|
|
402
|
+
// node.
|
|
403
|
+
if (beforeBrokerLaunch !== undefined) {
|
|
404
|
+
try {
|
|
405
|
+
beforeBrokerLaunch(meta.node_id);
|
|
406
|
+
}
|
|
407
|
+
catch (error) {
|
|
408
|
+
await transition(meta.node_id, 'crash', { reason: 'launch_failed', outcome: launchFailureOutcome(error) });
|
|
409
|
+
throw error;
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
// A scheduled birth prepends its clock provenance to the real task. Fork
|
|
413
|
+
// identity is owned exclusively by the session-start bearings message, which
|
|
414
|
+
// lands after copied history and before this prompt. An empty prompt starts
|
|
415
|
+
// the broker idle and carries neither a task nor wake provenance.
|
|
416
|
+
const hasKickoff = opts.prompt !== '';
|
|
417
|
+
const wakeBlock = hasKickoff && opts.wakeOrigin !== undefined ? `${buildWakeBearings(opts.wakeOrigin)}\n\n` : '';
|
|
418
|
+
const kickoff = `${wakeBlock}${opts.prompt}`;
|
|
419
|
+
// A child created DIRECTLY as an orchestrator (mode='orchestrator') boots
|
|
420
|
+
// with the orchestrator persona but bypasses promote(), which is where a
|
|
421
|
+
// roadmap scaffold would normally be seeded. Lay one down here (goal
|
|
422
|
+
// pre-filled from the task) so the orchestrator has its roadmap from
|
|
423
|
+
// birth, instead of waking without one. Guarded so it never clobbers.
|
|
424
|
+
if (mode === 'orchestrator')
|
|
425
|
+
await ensureRoadmap(meta.node_id, { goal: opts.prompt.trim() });
|
|
426
|
+
await invokeBirthLifecycleHooks(meta);
|
|
427
|
+
// The daemon owns both conversations at birth. Fork before launch so the
|
|
428
|
+
// new broker resumes its own copy instead of opening the source node's
|
|
429
|
+
// conversation through the node-only store socket.
|
|
430
|
+
let forkSessionPath;
|
|
431
|
+
if (forkFrom !== undefined) {
|
|
432
|
+
try {
|
|
433
|
+
const sourceId = conversationIdFromPath(forkFrom);
|
|
434
|
+
if (sourceId === null)
|
|
435
|
+
throw new Error(`invalid fork source ${forkFrom}`);
|
|
436
|
+
const forkId = await conversationStore().fork(sourceId, meta.node_id);
|
|
437
|
+
forkSessionPath = (await conversationStore().header(forkId)).path;
|
|
438
|
+
}
|
|
439
|
+
catch (error) {
|
|
440
|
+
await transition(meta.node_id, 'crash', { reason: 'launch_failed', outcome: launchFailureOutcome(error) });
|
|
441
|
+
throw error;
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
const inv = buildPiArgv(meta, { prompt: kickoff, resumeSessionPath: forkSessionPath });
|
|
445
|
+
// CRTR_SUBTREE (the spine root) rides the detached broker's env so it can group
|
|
446
|
+
// the subtree; the host sets CRTR_FRONT_DOOR itself.
|
|
447
|
+
inv.env = { ...inv.env, CRTR_SUBTREE: await rootOfSpine(meta.node_id) };
|
|
448
|
+
// The kickoff's provenance rides the same env: it is composed here but sent
|
|
449
|
+
// by the broker process, which stamps it against the message pi persists.
|
|
450
|
+
if (hasKickoff) {
|
|
451
|
+
const kickoffOrigin = opts.wakeOrigin !== undefined
|
|
452
|
+
? { type: 'runtime', kind: 'wake', wake: opts.wakeOrigin }
|
|
453
|
+
: {
|
|
454
|
+
type: 'runtime',
|
|
455
|
+
kind: 'kickoff',
|
|
456
|
+
...(meta.spawned_by != null && meta.spawned_by !== '' ? { spawnedBy: meta.spawned_by } : {}),
|
|
457
|
+
};
|
|
458
|
+
inv.env[KICKOFF_ORIGIN_ENV] = encodeKickoffOrigin(kickoffOrigin);
|
|
459
|
+
}
|
|
460
|
+
// Snapshot the boot-fault attempt the instant before launch — see
|
|
461
|
+
// beginBootFaultAttempt — so a later diagnostic read (root+await only, below)
|
|
462
|
+
// can only ever surface a fault THIS launch recorded, never a stale one.
|
|
463
|
+
// Claim the slot BEFORE the launch: `launchBrokerOrCrash` turns any launch
|
|
464
|
+
// failure — including the ledger's refusal — into a crashed row, and a birth
|
|
465
|
+
// that merely has to wait for capacity must not be crashed. Consulting the
|
|
466
|
+
// ledger here keeps the freeze decision ahead of that conversion. The
|
|
467
|
+
// reservation is consumed by the fleet's own `register` on a successful
|
|
468
|
+
// launch, so the release below is a no-op then and a give-back on any path
|
|
469
|
+
// that never registered a handle.
|
|
470
|
+
const fleet = boundFleet();
|
|
471
|
+
// A node whose profile points at a Blaxel environment is never launched here: it is born dormant with its goal kept, and the
|
|
472
|
+
// node-lifecycle lane wakes it through `reviveNode`, the one launch path that chooses the Blaxel runner and runs the bill check.
|
|
473
|
+
if (await blaxelEnvironmentOf(meta.profile_id ?? null) !== null) {
|
|
474
|
+
await setFrozen(meta.node_id, new Date().toISOString());
|
|
475
|
+
emitEvent({ level: 'info', event: 'broker.frozen', node_id: meta.node_id, fields: { reason: 'remote_environment' } });
|
|
476
|
+
return { node: await getNode(meta.node_id), frozen: true, window: null, session: null };
|
|
477
|
+
}
|
|
478
|
+
const slot = await fleet.reserveSlot(meta.node_id);
|
|
479
|
+
// The slot is held while the launcher measures the app's memory; a denial gives it back before freezing.
|
|
480
|
+
const memory = slot ? await admitBrokerMemory(meta.node_id) : null;
|
|
481
|
+
if (memory?.verdict === 'too_small') {
|
|
482
|
+
fleet.releaseReservation(meta.node_id);
|
|
483
|
+
const error = appMemoryTooSmall(memory);
|
|
484
|
+
await transition(meta.node_id, 'crash', { reason: 'launch_failed', outcome: launchFailureOutcome(error) });
|
|
485
|
+
throw error;
|
|
486
|
+
}
|
|
487
|
+
if (!slot || memory?.verdict === 'denied') {
|
|
488
|
+
if (memory?.verdict === 'denied')
|
|
489
|
+
fleet.releaseReservation(meta.node_id);
|
|
490
|
+
// Freezing is durable and once-per-episode; a birth is by definition the
|
|
491
|
+
// first, so the mark and its announcement always land here.
|
|
492
|
+
await setFrozen(meta.node_id, new Date().toISOString());
|
|
493
|
+
emitEvent({
|
|
494
|
+
level: 'info',
|
|
495
|
+
event: 'broker.frozen',
|
|
496
|
+
node_id: meta.node_id,
|
|
497
|
+
fields: memory?.verdict === 'denied'
|
|
498
|
+
? { reason: 'app_memory', free_bytes: memory.free_bytes, needed_bytes: memory.needed_bytes }
|
|
499
|
+
: { reason: 'broker_cap', live_count: await fleet.occupancy(), hard_cap: brokerThresholdsForDaemon().automaticReviveCap },
|
|
500
|
+
});
|
|
501
|
+
// No engine, so no readiness to wait for and no viewer to place.
|
|
502
|
+
return { node: await getNode(meta.node_id), frozen: true, window: null, session: null };
|
|
503
|
+
}
|
|
504
|
+
const bootFault = await beginBootFaultAttempt(meta.node_id);
|
|
505
|
+
const { automaticReviveCap } = brokerThresholdsForDaemon();
|
|
506
|
+
let executionId;
|
|
507
|
+
try {
|
|
508
|
+
executionId = await beginExecution(meta.node_id, { daemonEpoch: fleet.epoch(), cap: automaticReviveCap });
|
|
509
|
+
}
|
|
510
|
+
catch (error) {
|
|
511
|
+
if (!(error instanceof ExecutionCapReached))
|
|
512
|
+
throw error;
|
|
513
|
+
// Another daemon process took the last slot between the in-process check and the row insert.
|
|
514
|
+
fleet.releaseReservation(meta.node_id);
|
|
515
|
+
await setFrozen(meta.node_id, new Date().toISOString());
|
|
516
|
+
emitEvent({ level: 'info', event: 'broker.frozen', node_id: meta.node_id, fields: { reason: 'broker_cap', live_count: error.live, hard_cap: error.cap } });
|
|
517
|
+
return { node: await getNode(meta.node_id), frozen: true, window: null, session: null };
|
|
518
|
+
}
|
|
519
|
+
inv.env = { ...inv.env, CRTR_EXECUTION_ID: executionId };
|
|
520
|
+
// Broker is the only host: launch the detached broker ENGINE. A managed child
|
|
521
|
+
// gets NO viewer — spawning it returns once the engine is launched and a human
|
|
522
|
+
// opens a viewer on demand via `crtr surface node focus` / surface attach. A --root gets
|
|
523
|
+
// a foreground viewer below.
|
|
524
|
+
let placed;
|
|
525
|
+
try {
|
|
526
|
+
placed = await launchBrokerOrCrash(meta.node_id, inv, {
|
|
527
|
+
cwd: meta.cwd,
|
|
528
|
+
name: fullName(meta),
|
|
529
|
+
resuming: false,
|
|
530
|
+
});
|
|
531
|
+
}
|
|
532
|
+
catch (error) {
|
|
533
|
+
await abortExecution(executionId, { reason: 'launch_failed' });
|
|
534
|
+
throw error;
|
|
535
|
+
}
|
|
536
|
+
finally {
|
|
537
|
+
fleet.releaseReservation(meta.node_id);
|
|
538
|
+
}
|
|
539
|
+
// Definitive failure: no broker pid ⇒ the node has no engine. Crash it (so the
|
|
540
|
+
// daemon doesn't watch a zombie 'active') and throw so `crtr node new` exits
|
|
541
|
+
// non-zero. transition('crash') is a legal from-LIVE move (still 'active' from
|
|
542
|
+
// spawnNode). Mirrors the old window===null crash.
|
|
543
|
+
if (placed.pid === null) {
|
|
544
|
+
const error = new Error(`broker host returned no pid for ${meta.node_id}`);
|
|
545
|
+
await abortExecution(executionId, { reason: 'launch_failed' });
|
|
546
|
+
await transition(meta.node_id, 'crash', { reason: 'launch_failed', outcome: launchFailureOutcome(error) });
|
|
547
|
+
throw brokerLaunchFailed(`failed to launch the broker engine for ${meta.node_id} (${meta.name}) — the node was not started.`, `Inspect canonical event diagnostics with \`crtr sys logs --node ${meta.node_id}\`, then verify the pi engine can start in this environment.`);
|
|
548
|
+
}
|
|
549
|
+
if (await recordExecutionPid(executionId, meta.node_id, placed.pid) === 'shutdown') {
|
|
550
|
+
await abortExecution(executionId, { reason: 'superseded' });
|
|
551
|
+
void headlessBrokerHost.teardown(meta.node_id);
|
|
552
|
+
throw brokerLaunchFailed(`broker execution was superseded for ${meta.node_id}`, 'Retry spawning the node.');
|
|
553
|
+
}
|
|
554
|
+
// A root created through `node new --root` must accept viewers before the
|
|
555
|
+
// command returns because its caller may attach immediately. Only that root
|
|
556
|
+
// waits — a managed child (and every cron-launched
|
|
557
|
+
// birth) stays launch-immediate so the daemon never blocks its serialized
|
|
558
|
+
// supervision loop on a birth, no matter what forwards the readiness field.
|
|
559
|
+
if (attendedRoot && opts.readiness === 'await') {
|
|
560
|
+
const wait = await awaitBrokerViewSocket(meta.node_id, placed.exited);
|
|
561
|
+
if (!wait.ready) {
|
|
562
|
+
// Stop a slow but still-live launch before it can bind behind a dead row.
|
|
563
|
+
const failure = notReadyDescription(meta.node_id, wait);
|
|
564
|
+
emitEvent({ level: 'error', event: 'broker.launch.not_ready', node_id: meta.node_id, fields: failure.fields });
|
|
565
|
+
const why = await bootFault.explanation();
|
|
566
|
+
await crashAndTearDown(meta.node_id, new Error(why ?? failure.text));
|
|
567
|
+
throw brokerLaunchFailed(why !== null
|
|
568
|
+
? `the root broker ${meta.node_id} could not start — ${why}`
|
|
569
|
+
: `the root broker ${meta.node_id} ${failure.text} — it was not started.`, why !== null
|
|
570
|
+
? 'Resolve the cause named above, then retry.'
|
|
571
|
+
: `Inspect canonical event diagnostics with \`crtr sys logs --node ${meta.node_id}\`, then retry.`);
|
|
572
|
+
}
|
|
573
|
+
}
|
|
574
|
+
// A --root opens NO viewer from here. spawnChild runs daemon-side only, and
|
|
575
|
+
// the daemon is paneless by construction (manage.ts strips TMUX/TMUX_PANE
|
|
576
|
+
// from its env precisely so this code cannot resolve someone else's pane),
|
|
577
|
+
// so a root's foreground viewer is placed by whoever asked for it — the
|
|
578
|
+
// front door, or `node new`'s own openSpawnViewer in the CLI process. Only a
|
|
579
|
+
// managed child is placed here, and placement stays non-fatal after the
|
|
580
|
+
// readiness proof.
|
|
581
|
+
let window = null;
|
|
582
|
+
let session = null;
|
|
583
|
+
if (!root && spawner !== null && readConfig('user').auto_open_child_viewers) {
|
|
584
|
+
// When enabled, a managed child opens beside a HUMAN actively watching
|
|
585
|
+
// its spawner. Turning the setting off leaves every child headless until
|
|
586
|
+
// someone explicitly focuses or attaches it. The broker is headless
|
|
587
|
+
// (TMUX stripped in broker.ts), so we can't read $TMUX — instead we find
|
|
588
|
+
// the spawner's live viewer pane from the focus registry (focusOf prunes
|
|
589
|
+
// a dead pane and returns null) and split beside it. No viewer ⇒ nobody is
|
|
590
|
+
// watching ⇒ stay headless. Best-effort: never fail a spawn on placement.
|
|
591
|
+
try {
|
|
592
|
+
const parentViewer = await focusOf(spawner);
|
|
593
|
+
if (parentViewer !== null && parentViewer.pane !== null && parentViewer.pane !== '') {
|
|
594
|
+
// The child broker was JUST launched (readiness:'launch') and may not
|
|
595
|
+
// have bound view.sock yet. Hand the attach pane CRTR_ATTACH_WAIT_MS so
|
|
596
|
+
// it self-polls the socket until it accepts instead of connecting once,
|
|
597
|
+
// finding a cold socket, and closing the pane instantly — the exact
|
|
598
|
+
// mechanism bootRoot uses. A child with a kickoff prompt marks its
|
|
599
|
+
// initial viewer for whip_mode; ordinary focus/attach paths stay
|
|
600
|
+
// silent. No pre-wait in this CLI subprocess.
|
|
601
|
+
const viewer = await openViewerWindow(meta.node_id, parentViewer.session ?? '', {
|
|
602
|
+
name: fullName(meta),
|
|
603
|
+
cwd: opts.cwd,
|
|
604
|
+
besidePane: parentViewer.pane,
|
|
605
|
+
waitForBroker: true,
|
|
606
|
+
initialWhip: hasKickoff,
|
|
607
|
+
});
|
|
608
|
+
if (viewer !== null && viewer.pane !== null && viewer.pane !== '') {
|
|
609
|
+
session = viewer.session;
|
|
610
|
+
window = windowOfPane(viewer.pane);
|
|
611
|
+
}
|
|
612
|
+
}
|
|
613
|
+
}
|
|
614
|
+
catch { /* best-effort — a headless spawn must never fail on viewer placement */ }
|
|
615
|
+
}
|
|
616
|
+
const saved = await getNode(meta.node_id);
|
|
617
|
+
return { node: saved, frozen: false, window, session };
|
|
618
|
+
}
|
|
619
|
+
catch (err) {
|
|
620
|
+
// Cleanup scope: a managed worktree is only removed on failure while NO
|
|
621
|
+
// persisted node identity exists yet. spawnNode() persists the node row
|
|
622
|
+
// (and its meta files) BEFORE the later fallible steps in this try block
|
|
623
|
+
// (writeGoal, roadmap seeding, launch, viewer placement) — so a flag set
|
|
624
|
+
// after spawnNode() merely returns would still read false if one of THOSE
|
|
625
|
+
// later steps threw, and this catch would then delete the worktree out
|
|
626
|
+
// from under an already-persisted node whose cwd points at it. Check the
|
|
627
|
+
// canvas directly instead: once any node row exists for this id, keep the
|
|
628
|
+
// worktree — the node stays alive (crashed, if the launch itself failed)
|
|
629
|
+
// with its worktree intact rather than pinned to a deleted path.
|
|
630
|
+
if (managedWorktree !== undefined && nodeId !== undefined && await getNode(nodeId) === null) {
|
|
631
|
+
await rollbackManagedWorktreeAsync(managedWorktree);
|
|
632
|
+
}
|
|
633
|
+
throw err;
|
|
634
|
+
}
|
|
635
|
+
}
|
|
636
|
+
export async function spawnChild(opts) {
|
|
637
|
+
return spawnChildPrepared(opts);
|
|
638
|
+
}
|
|
639
|
+
/** Invoke the best-effort node-start plan before any cold broker launch. */
|
|
640
|
+
export async function invokeBirthLifecycleHooks(meta) {
|
|
641
|
+
const lifecycleHooks = discoverLifecycleHookRegistry(meta.cwd, meta.profile_id).plans.get('node:start') ?? [];
|
|
642
|
+
await invokeLifecycleHooks(lifecycleHooks, {
|
|
643
|
+
node: {
|
|
644
|
+
id: meta.node_id,
|
|
645
|
+
name: meta.name,
|
|
646
|
+
kind: meta.kind,
|
|
647
|
+
mode: meta.mode,
|
|
648
|
+
lifecycle: meta.lifecycle,
|
|
649
|
+
cwd: meta.cwd,
|
|
650
|
+
nodeDir: await nodeAgentDir(meta.node_id),
|
|
651
|
+
contextDir: await contextDir(meta.node_id),
|
|
652
|
+
jobDir: jobDir(meta.node_id),
|
|
653
|
+
},
|
|
654
|
+
runtime: {
|
|
655
|
+
isBirth: true,
|
|
656
|
+
canvasHome: crtrHome(),
|
|
657
|
+
profile: meta.profile_id ?? null,
|
|
658
|
+
},
|
|
659
|
+
});
|
|
660
|
+
}
|
|
661
|
+
const FORK_CONTEXT_EXCLUDES = new Set(['initial-prompt.md', 'yield-message.md', 'result.json', 'jobs']);
|
|
662
|
+
/** Create an independent, idle root from a node's conversation and durable
|
|
663
|
+
* context. Runtime/graph state is intentionally not inherited. */
|
|
664
|
+
/** Fork `sourceId` into a fresh root. `scopes` is the fork's allow-list; omit
|
|
665
|
+
* for a root with no ceiling. */
|
|
666
|
+
export async function forkNode(sourceId, scopes, forker) {
|
|
667
|
+
const source = await getNode(sourceId);
|
|
668
|
+
if (source === null) {
|
|
669
|
+
throw usage(`unknown node: ${sourceId}`, {
|
|
670
|
+
received: sourceId,
|
|
671
|
+
next: 'List nodes and pass the id of a node with a captured pi session.',
|
|
672
|
+
});
|
|
673
|
+
}
|
|
674
|
+
const sessionFile = await resolveForkSource(sourceId);
|
|
675
|
+
const sourceContext = await contextDir(sourceId);
|
|
676
|
+
try {
|
|
677
|
+
await conversationStore().header(conversationIdFromPath(sessionFile));
|
|
678
|
+
accessSync(sourceContext, constants.R_OK);
|
|
679
|
+
}
|
|
680
|
+
catch (error) {
|
|
681
|
+
throw new Error(`cannot fork ${sourceId}: its conversation or context is unreadable — ${error.message}`);
|
|
682
|
+
}
|
|
683
|
+
return spawnChildPrepared({
|
|
684
|
+
kind: source.kind,
|
|
685
|
+
mode: 'base',
|
|
686
|
+
cwd: source.cwd,
|
|
687
|
+
prompt: '',
|
|
688
|
+
root: true,
|
|
689
|
+
readiness: 'await',
|
|
690
|
+
forkFrom: sourceId,
|
|
691
|
+
...(forker === undefined ? {} : { actor: forker }),
|
|
692
|
+
profile: source.profile_id,
|
|
693
|
+
model: source.model_override ?? undefined,
|
|
694
|
+
...(scopes === undefined ? {} : { scopes }),
|
|
695
|
+
}, async (destinationId) => {
|
|
696
|
+
const destinationContext = await contextDir(destinationId);
|
|
697
|
+
copyTreeBeneath(await nodeAgentDir(sourceId), sourceContext, await nodeAgentDir(destinationId), destinationContext, FORK_CONTEXT_EXCLUDES);
|
|
698
|
+
});
|
|
699
|
+
}
|