@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,873 @@
|
|
|
1
|
+
// viewer.ts — the orchestrator for `crtr surface attach`: build the session
|
|
2
|
+
// context, construct the collaborators that own each slice of it, wire them
|
|
3
|
+
// together, start. Every behavior lives in a module under session/ chrome/
|
|
4
|
+
// render/ input/ overlays/ — see src/clients/attach/.crouter/memory/INDEX.md
|
|
5
|
+
// for the layering, viewer role invariants, and why attach owns no engine.
|
|
6
|
+
//
|
|
7
|
+
// Side-effect imports: must precede any pi theme/asset access
|
|
8
|
+
// (session/pi-assets.ts) and any OAuth flow access (session/pi-oauth-flows.ts).
|
|
9
|
+
import { envHomeOverride } from '../../shared/env.js';
|
|
10
|
+
import './session/pi-assets.js';
|
|
11
|
+
import './session/pi-oauth-flows.js';
|
|
12
|
+
import { randomUUID } from 'node:crypto';
|
|
13
|
+
import { execFile } from 'node:child_process';
|
|
14
|
+
import { openReadonlyPopup } from './session/readonly-popup.js';
|
|
15
|
+
import { Container, ProcessTerminal, TuiMainScreen } from '@earendil-works/pi-tui';
|
|
16
|
+
import { croutonBannerLines } from '../../core/runtime/banner.js';
|
|
17
|
+
// tmux driver verbs only through placement (the §5.1 model-over-driver seam) —
|
|
18
|
+
// never `core/runtime/tmux.js` directly.
|
|
19
|
+
import { currentTmux, inTmux, installTmuxBindings, shellQuote } from '../../core/runtime/placement-tmux.js';
|
|
20
|
+
import { surfaceTmuxStyleArgs } from '../../core/runtime/surface-bg.js';
|
|
21
|
+
import { resolveUserKeybindingSettings } from '../../core/keybindings/index.js';
|
|
22
|
+
import { readConfig } from '../../core/config.js';
|
|
23
|
+
import { ChatView } from './render/chat-view.js';
|
|
24
|
+
import { createTranscriptViewport } from './render/viewport.js';
|
|
25
|
+
import { createTranscriptSearchModel } from './render/transcript-search.js';
|
|
26
|
+
import { createTranscriptSearch } from './session/transcript-search.js';
|
|
27
|
+
import { createScrollAnimator } from './render/scroll-animation.js';
|
|
28
|
+
import { createTranscriptCopy } from './render/transcript-copy.js';
|
|
29
|
+
import { ActivitySlot } from './render/activity-slot.js';
|
|
30
|
+
import { createInputController, createViewerCapabilitiesForInput } from './session/input-wiring.js';
|
|
31
|
+
import { createRoster } from './chrome/roster.js';
|
|
32
|
+
import { createInboxStrip } from './chrome/inbox-strip.js';
|
|
33
|
+
import { createTicketPanel } from './chrome/ticket-panel.js';
|
|
34
|
+
import { createPaneFocus } from './session/pane-focus.js';
|
|
35
|
+
import { createStatusLine } from './chrome/status-line.js';
|
|
36
|
+
import { createChromeWidgets } from './chrome/widgets.js';
|
|
37
|
+
import { createRecapHeader } from './chrome/header.js';
|
|
38
|
+
import { createChromeRefresh, isTransientDaemonFailure } from './session/chrome-refresh.js';
|
|
39
|
+
import { createTeardown } from './session/teardown.js';
|
|
40
|
+
import { reportInvariant } from './session/invariant.js';
|
|
41
|
+
import { createReconnect } from './session/reconnect.js';
|
|
42
|
+
import { createFrameHandler } from './session/frames.js';
|
|
43
|
+
import { installGlobalKeys } from './session/keys.js';
|
|
44
|
+
import { createMouseReporting } from './session/mouse.js';
|
|
45
|
+
import { createFrameSelection } from './session/selection.js';
|
|
46
|
+
import { extractFileOpenInput, openLinkedFileInPane } from './session/file-links.js';
|
|
47
|
+
import { createDocumentLinks } from './session/document-links.js';
|
|
48
|
+
import { FOCUS_REPORTING_ON } from './session/focus-events.js';
|
|
49
|
+
import { GraphOverlay } from './overlays/graph.js';
|
|
50
|
+
import { HelpOverlay } from './overlays/help.js';
|
|
51
|
+
import { applyTheme, attachPalette, createKeybindingsManager, mirrorKeybindingsToEditor, mirrorKittyProtocolToEditor, resolveFdPath, } from './config.js';
|
|
52
|
+
import { launchFileReview } from './overlays/file-review.js';
|
|
53
|
+
import { openReviewSurfaceById, takeStartupReviewId } from '../inbox/review/launch.js';
|
|
54
|
+
import { ViewerSurfaceHost } from './session/surface-host.js';
|
|
55
|
+
import { createInboxSurface } from '../inbox/surface.js';
|
|
56
|
+
import { loadProfileManifest } from '../../core/profiles/manifest.js';
|
|
57
|
+
import { watchInboxActivity } from '../../core/human/root.js';
|
|
58
|
+
import { byNewestFirst, inboxRowFromDTO } from '../inbox/dto-adapt.js';
|
|
59
|
+
import { cliClient } from '../../commands/api-client.js';
|
|
60
|
+
import { loadPersonSettingsViaApi } from '../../commands/person-settings.js';
|
|
61
|
+
import { buildBannerInfo } from './session/banner.js';
|
|
62
|
+
import { backgroundBashHint, detachBindingHint, detachHint, inboxOpenHint, refreshAttachBindingSnapshot } from './session/bindings.js';
|
|
63
|
+
import { connectToNode, resolveHelloRole } from './session/connection.js';
|
|
64
|
+
import { createEditorChrome } from './session/editor-frame.js';
|
|
65
|
+
import { createLayout } from './session/layout.js';
|
|
66
|
+
import { createEditorInventory } from './session/editor-inventory.js';
|
|
67
|
+
import { createFrecencyStore } from './input/completion-frecency.js';
|
|
68
|
+
import { createNodeIdentity } from './session/identity.js';
|
|
69
|
+
import { createPaneTag } from './session/pane-tag.js';
|
|
70
|
+
import { launchProfileFileSearch, relatedNodes } from './session/profile-files.js';
|
|
71
|
+
import { createSessionStateSync } from './session/state-sync.js';
|
|
72
|
+
import { WhipAnimation, randomWhipMessage, GO_FASTER_WHIP_MESSAGE } from './session/whip.js';
|
|
73
|
+
import { recordWhip } from './session/whip-achievements.js';
|
|
74
|
+
import { mark } from '../../core/timing.js';
|
|
75
|
+
/** Run the interactive attach session against `nodeId`. Resolves when the
|
|
76
|
+
* viewer detaches (ctrl+c/ctrl+d), the broker goes away, or a signal lands —
|
|
77
|
+
* always restoring the terminal first. `canvasName`, when set, attaches over
|
|
78
|
+
* a relayed WebSocket to that `remoteCanvas.targets.<name>` instead of the
|
|
79
|
+
* local unix socket — see the `--canvas` flag on `attachToLeaf`. */
|
|
80
|
+
export async function runAttach(nodeId, observer, canvasName, wakeParked = true) {
|
|
81
|
+
// The viewer is its own esbuild bundle with its own copy of the settings cache: read the person's settings before anything
|
|
82
|
+
// calls readConfig (theme, keybindings, ChatView's field initializers all do).
|
|
83
|
+
await loadPersonSettingsViaApi();
|
|
84
|
+
// 1. Get onto the broker before anything paints (session/connection.ts):
|
|
85
|
+
// resolve local-vs-relay, revive the node server-side if it is dormant,
|
|
86
|
+
// and win the connect race. A failure here is still a plain CLI error.
|
|
87
|
+
// `remote` is THE single remote fact (it selects the canvas and turns off local-host operations; `role` alone decides driving) for this whole session,
|
|
88
|
+
// derived once here and threaded via `AttachSession` — every local disk
|
|
89
|
+
// read, native slash command, pane tag and lifecycle action gates on it,
|
|
90
|
+
// and no collaborator may re-derive it.
|
|
91
|
+
mark('viewer.connect_start', { node: nodeId });
|
|
92
|
+
const connection = await connectToNode(nodeId, canvasName, wakeParked);
|
|
93
|
+
mark(connection.initialSnapshot === undefined ? 'viewer.socket_connected' : 'viewer.offline_snapshot_ready');
|
|
94
|
+
const { remote, canvasSource, meta, socket } = connection;
|
|
95
|
+
const role = resolveHelloRole(observer);
|
|
96
|
+
const clientId = randomUUID();
|
|
97
|
+
// 2. Theme + keybindings — pi's components throw "Theme not initialized"
|
|
98
|
+
// otherwise. One KeybindingsManager feeds BOTH editor and input; the
|
|
99
|
+
// editor may resolve a separate pi-tui instance, so mirror onto it (and
|
|
100
|
+
// await, so it never handles a key against stale defaults). `fd` powers
|
|
101
|
+
// the @-mention file picker; `null` just leaves @-mention file-less.
|
|
102
|
+
applyTheme({ cwd: meta.cwd });
|
|
103
|
+
const pal = attachPalette();
|
|
104
|
+
const km = createKeybindingsManager();
|
|
105
|
+
let crouterBindingSettings = resolveUserKeybindingSettings();
|
|
106
|
+
let crouterBindings = crouterBindingSettings.bindings;
|
|
107
|
+
await mirrorKeybindingsToEditor(km);
|
|
108
|
+
const fdPath = await resolveFdPath();
|
|
109
|
+
// 3. Build the transcript source before the frame that virtualizes it. The
|
|
110
|
+
// recap component is nested in layout's header container after it exists;
|
|
111
|
+
// its state getter is first called only after `sync` is constructed below.
|
|
112
|
+
const procTerminal = new ProcessTerminal();
|
|
113
|
+
const tui = new TuiMainScreen(procTerminal);
|
|
114
|
+
const chatContainer = new Container();
|
|
115
|
+
// This viewer-owned container is a fixed frame slot, not part of ChatView's
|
|
116
|
+
// virtualized transcript. ChatView signals each loader swap through this hook.
|
|
117
|
+
const activityContainer = new ActivitySlot();
|
|
118
|
+
const chatView = new ChatView(tui, chatContainer, {
|
|
119
|
+
cwd: meta.cwd,
|
|
120
|
+
palette: pal,
|
|
121
|
+
hideThinking: true,
|
|
122
|
+
banner: croutonBannerLines(buildBannerInfo(meta)),
|
|
123
|
+
// Local only: a remote attach cannot read this canvas's ticket dirs, so it
|
|
124
|
+
// has nothing to render a page block from.
|
|
125
|
+
inlinePageBlocks: !remote,
|
|
126
|
+
pageOpenHint: () => inboxOpenHint(crouterBindings),
|
|
127
|
+
// The backgrounding gesture, offered under a bash call that has been
|
|
128
|
+
// running a while. Local and in-tmux only: the job files belong to the node
|
|
129
|
+
// host, and the gesture is a tmux menu pair, so anywhere else the row would
|
|
130
|
+
// name something the person cannot press.
|
|
131
|
+
backgroundBashHint: () => (remote || !inTmux() ? null : backgroundBashHint(crouterBindings)),
|
|
132
|
+
onActivityChange: (loader) => {
|
|
133
|
+
activityContainer.clear();
|
|
134
|
+
if (loader)
|
|
135
|
+
activityContainer.addChild(loader);
|
|
136
|
+
},
|
|
137
|
+
});
|
|
138
|
+
const transcriptSource = chatView.transcriptSource();
|
|
139
|
+
// Search paints its hits as the viewport draws each row, so it decorates the
|
|
140
|
+
// slice rather than the composed frame — the viewport is the only thing that
|
|
141
|
+
// knows which absolute content line a physical row is showing.
|
|
142
|
+
const searchModel = createTranscriptSearchModel(transcriptSource);
|
|
143
|
+
const viewport = createTranscriptViewport(transcriptSource, searchModel.decorate);
|
|
144
|
+
const transcriptCopy = createTranscriptCopy(chatView, viewport, transcriptSource);
|
|
145
|
+
let sync;
|
|
146
|
+
const recapHeader = createRecapHeader({ tui, pal }, () => sync.state());
|
|
147
|
+
const search = createTranscriptSearch(tui, pal, viewport, searchModel, {
|
|
148
|
+
bindings: () => crouterBindings,
|
|
149
|
+
setNotice: (message) => setNotice(message),
|
|
150
|
+
});
|
|
151
|
+
const layout = createLayout(procTerminal, tui, chatContainer, activityContainer, pal, km, viewport, search.component);
|
|
152
|
+
const { containers, editor } = layout;
|
|
153
|
+
const whipAnimation = new WhipAnimation(tui, pal);
|
|
154
|
+
containers.header.addChild(whipAnimation);
|
|
155
|
+
containers.header.addChild(recapHeader.component);
|
|
156
|
+
const ctx = { nodeId, remote, role, meta, canvasSource, socket, tui, pal, editor, containers };
|
|
157
|
+
// The pending-request strip below the recap goal line. Its hooks close over
|
|
158
|
+
// collaborators built later (paneFocus, roster, inbox, setNotice) — all are
|
|
159
|
+
// constructed before any key or refresh can invoke them.
|
|
160
|
+
const strip = createInboxStrip(ctx, {
|
|
161
|
+
syncCursor: () => paneFocus.sync(),
|
|
162
|
+
exitRoster: () => roster.exit(),
|
|
163
|
+
openTicket: (ticket) => { void ticketPanel.open(ticket); },
|
|
164
|
+
suppressed: () => ticketPanel.active(),
|
|
165
|
+
setNotice: (msg) => setNotice(msg),
|
|
166
|
+
onRefreshFailure: (cause) => chromeRefresh.reportFailure('inbox strip refresh', cause),
|
|
167
|
+
});
|
|
168
|
+
containers.header.addChild(strip.component);
|
|
169
|
+
const userConfig = readConfig('user');
|
|
170
|
+
const initialWhip = process.env['CRTR_ATTACH_INITIAL_WHIP'] === '1';
|
|
171
|
+
delete process.env['CRTR_ATTACH_INITIAL_WHIP'];
|
|
172
|
+
const startupReviewId = takeStartupReviewId();
|
|
173
|
+
const startupTicketId = process.env['CRTR_ATTACH_OPEN_TICKET'];
|
|
174
|
+
if (startupTicketId !== undefined)
|
|
175
|
+
delete process.env['CRTR_ATTACH_OPEN_TICKET'];
|
|
176
|
+
const mouse = createMouseReporting((data) => process.stdout.write(data), userConfig.mouse_mode_default);
|
|
177
|
+
// Mouse reporting takes drag-select away from the terminal, so the viewer
|
|
178
|
+
// owns it: the highlight paints over the composed frame, and the text copied
|
|
179
|
+
// is read from the same physical rows.
|
|
180
|
+
const selection = createFrameSelection({
|
|
181
|
+
frame: () => layout.frame.lastRenderedFrame(),
|
|
182
|
+
width: () => tui.terminal.columns,
|
|
183
|
+
});
|
|
184
|
+
layout.frame.setOverlay((frame) => selection.apply(frame));
|
|
185
|
+
// 4. The collaborators. Built in dependency order so that ONLY the status
|
|
186
|
+
// line — first out of the gate, and read by everything — needs forward
|
|
187
|
+
// references; every module after it passes its collaborators directly, so
|
|
188
|
+
// a lazy `() => x.y()` below marks a genuine construction cycle rather
|
|
189
|
+
// than mere ordering.
|
|
190
|
+
// Footer/status line — role, live state, transient notices. `setNotice` and
|
|
191
|
+
// `renderFooter` are aliased: they are by far the most-called verbs in the
|
|
192
|
+
// viewer (26 and 8 call sites), and read better as verbs than as reaches.
|
|
193
|
+
const statusLine = createStatusLine(ctx, {
|
|
194
|
+
state: () => sync.state(),
|
|
195
|
+
bashMode: () => editorChrome.bashMode(),
|
|
196
|
+
asks: () => chromeRefresh.asks(),
|
|
197
|
+
bindings: () => crouterBindings,
|
|
198
|
+
// Only meaningful for a LOCAL in-tmux attach: a remote attach's local inbox
|
|
199
|
+
// registry cannot open the remote canvas's filesystem tickets.
|
|
200
|
+
inboxAffordance: !remote && inTmux(),
|
|
201
|
+
mouseEnabled: () => mouse.enabled(),
|
|
202
|
+
});
|
|
203
|
+
const surfaceHost = new ViewerSurfaceHost({
|
|
204
|
+
tui,
|
|
205
|
+
mouse,
|
|
206
|
+
rows: () => tui.terminal.rows,
|
|
207
|
+
statusNotice: statusLine.setNotice,
|
|
208
|
+
formatNotice: (text) => pal.warning(`⚠ ${text}`),
|
|
209
|
+
noticeMs: 3_000,
|
|
210
|
+
capabilities: {
|
|
211
|
+
remote,
|
|
212
|
+
canFocusNode: !remote && process.env['TMUX_PANE'] !== undefined,
|
|
213
|
+
},
|
|
214
|
+
selfPane: process.env['TMUX_PANE'],
|
|
215
|
+
});
|
|
216
|
+
// The inbox is a session-long owner, unlike transient argument-bearing review
|
|
217
|
+
// surfaces. Keep its explicit viewer hook for the key and slash entry points.
|
|
218
|
+
// A no-inbox page carries no badge and never appears in `scanInbox()`, but a
|
|
219
|
+
// reply-bearing one raised by THIS node still has to be answerable from the
|
|
220
|
+
// viewer its transcript block sits in — so the local scan merges the two.
|
|
221
|
+
// The inbox opens on this node's own profile. The id is the identity that
|
|
222
|
+
// decides membership; the name only labels the heading, so a profile whose
|
|
223
|
+
// manifest will not load is still filtered on, under its id.
|
|
224
|
+
const inboxProfile = (() => {
|
|
225
|
+
const id = meta.profile_id;
|
|
226
|
+
if (!id)
|
|
227
|
+
return undefined;
|
|
228
|
+
try {
|
|
229
|
+
return { id, label: loadProfileManifest(id).manifest.name };
|
|
230
|
+
}
|
|
231
|
+
catch {
|
|
232
|
+
return { id, label: id };
|
|
233
|
+
}
|
|
234
|
+
})();
|
|
235
|
+
const inbox = createInboxSurface({
|
|
236
|
+
host: surfaceHost,
|
|
237
|
+
...(inboxProfile === undefined ? {} : { profile: inboxProfile }),
|
|
238
|
+
...(remote ? {} : { scan: async () => {
|
|
239
|
+
const client = cliClient();
|
|
240
|
+
const [inbox, history] = await Promise.all([client.listHumanInbox(), client.getInboxHistory(nodeId, { state: 'pending' })]);
|
|
241
|
+
const merged = new Map();
|
|
242
|
+
for (const item of inbox.tickets) {
|
|
243
|
+
const row = inboxRowFromDTO(item);
|
|
244
|
+
merged.set(row.dir, row);
|
|
245
|
+
}
|
|
246
|
+
for (const item of history.tickets) {
|
|
247
|
+
const page = inboxRowFromDTO(item);
|
|
248
|
+
if (page.kind !== 'page' || page.state !== 'pending' || !page.awaitsResponse || page.inbox)
|
|
249
|
+
continue;
|
|
250
|
+
if (!merged.has(page.dir))
|
|
251
|
+
merged.set(page.dir, page);
|
|
252
|
+
}
|
|
253
|
+
// Subtree tickets the strip already scanned, so an Enter-opened child
|
|
254
|
+
// ticket is present in the surface it seats.
|
|
255
|
+
for (const ticket of strip.pendingTickets()) {
|
|
256
|
+
if (!merged.has(ticket.dir))
|
|
257
|
+
merged.set(ticket.dir, ticket);
|
|
258
|
+
}
|
|
259
|
+
return [...merged.values()].sort(byNewestFirst);
|
|
260
|
+
} }),
|
|
261
|
+
});
|
|
262
|
+
// Page mutations (publish, --replace, answer, cancel) touch the activity file
|
|
263
|
+
// whether or not the page went to the inbox, so transcript blocks refresh live.
|
|
264
|
+
const stopPageWatch = remote ? () => { } : watchInboxActivity(() => {
|
|
265
|
+
void chatView.refreshPageBlocks();
|
|
266
|
+
void strip.refresh();
|
|
267
|
+
});
|
|
268
|
+
// The inline ticket page under the editor — what Enter on a strip row opens.
|
|
269
|
+
// Review tickets and unreadable pages fall back to the full-pane inbox.
|
|
270
|
+
const ticketPanel = createTicketPanel(ctx, {
|
|
271
|
+
syncCursor: () => paneFocus.sync(),
|
|
272
|
+
refreshStrip: () => { void strip.refresh(); },
|
|
273
|
+
setNotice: (msg) => setNotice(msg),
|
|
274
|
+
openInbox: (dir) => inbox.open(dir),
|
|
275
|
+
suspendForChild: () => surfaceHost.suspendForChild(),
|
|
276
|
+
});
|
|
277
|
+
containers.ticketPanel.addChild(ticketPanel.component);
|
|
278
|
+
const viewerHooks = { toggleInbox: () => {
|
|
279
|
+
// Escalate an open inline ticket to the full inbox surface, seated on it.
|
|
280
|
+
const dir = ticketPanel.currentDir();
|
|
281
|
+
if (dir !== undefined) {
|
|
282
|
+
ticketPanel.close();
|
|
283
|
+
inbox.open(dir);
|
|
284
|
+
return;
|
|
285
|
+
}
|
|
286
|
+
inbox.toggle();
|
|
287
|
+
} };
|
|
288
|
+
// A full-pane surface covers every base row, so a notice painted into the
|
|
289
|
+
// status line while one is mounted is painted underneath it and never seen.
|
|
290
|
+
// The host owns the visible channel and delegates straight back to the status
|
|
291
|
+
// line when nothing is mounted, so this is the one notice verb either way.
|
|
292
|
+
const setNotice = (msg, opts) => {
|
|
293
|
+
if (surfaceHost.hasFullPaneSurface())
|
|
294
|
+
surfaceHost.notice(msg, opts);
|
|
295
|
+
else
|
|
296
|
+
statusLine.setNotice(msg, opts);
|
|
297
|
+
};
|
|
298
|
+
const renderFooter = statusLine.render;
|
|
299
|
+
const copyTarget = (target) => {
|
|
300
|
+
setNotice(transcriptCopy.copy(target));
|
|
301
|
+
};
|
|
302
|
+
const scrollAnimator = createScrollAnimator(viewport, () => tui.requestRender());
|
|
303
|
+
const viewportActions = {
|
|
304
|
+
'crtr.attach.scroll.up': () => { scrollAnimator.cancel(); if (viewport.scrollBy(-1))
|
|
305
|
+
tui.requestRender(); },
|
|
306
|
+
'crtr.attach.scroll.down': () => { scrollAnimator.cancel(); if (viewport.scrollBy(1))
|
|
307
|
+
tui.requestRender(); },
|
|
308
|
+
'crtr.attach.scroll.page-up': () => { scrollAnimator.page('up'); },
|
|
309
|
+
'crtr.attach.scroll.page-down': () => { scrollAnimator.page('down'); },
|
|
310
|
+
'crtr.attach.scroll.live': () => { scrollAnimator.cancel(); viewport.goLive(); tui.requestRender(); },
|
|
311
|
+
'crtr.attach.mouse.toggle': () => {
|
|
312
|
+
const on = mouse.toggle();
|
|
313
|
+
if (!on && selection.clear())
|
|
314
|
+
tui.requestRender();
|
|
315
|
+
setNotice(on ? 'Mouse: wheel scrolling on, drag to select and copy' : 'Mouse: off — tmux drag-select and copy-mode restored');
|
|
316
|
+
},
|
|
317
|
+
'crtr.attach.copy.message': () => copyTarget('message'),
|
|
318
|
+
};
|
|
319
|
+
let reconnect;
|
|
320
|
+
const capabilities = createViewerCapabilitiesForInput(ctx, () => reconnect === undefined ? connection.initialSnapshot !== undefined : reconnect.isDormant());
|
|
321
|
+
// Per-user completion frecency (usage bias), shared by the editor inventory
|
|
322
|
+
// that RANKS completions and the input controller that RECORDS uses. One
|
|
323
|
+
// store per viewer session; persists to the user scope root.
|
|
324
|
+
const frecency = createFrecencyStore();
|
|
325
|
+
// Everything the editor completes against — slash commands, the loaded-
|
|
326
|
+
// command preview, the memory-ref inventory — has ONE owner.
|
|
327
|
+
const inventory = createEditorInventory(ctx, capabilities, { setNotice, bindings: () => crouterBindings, fdPath, frecency });
|
|
328
|
+
// Canvas identity (kind/mode/lifecycle) behind the context badge. A remote
|
|
329
|
+
// attach starts without one, so load it as soon as the viewer exists.
|
|
330
|
+
const identity = createNodeIdentity(ctx, connection.nodeIdentity, {
|
|
331
|
+
isTornDown: () => lifecycle.isTornDown(),
|
|
332
|
+
onChanged: () => {
|
|
333
|
+
editorChrome.syncContextBadge();
|
|
334
|
+
const engine = sync.state().engine;
|
|
335
|
+
if (engine !== undefined)
|
|
336
|
+
editorChrome.setTitle(engine.sessionName);
|
|
337
|
+
tui.requestRender();
|
|
338
|
+
},
|
|
339
|
+
});
|
|
340
|
+
if (remote)
|
|
341
|
+
identity.refresh();
|
|
342
|
+
// Editor chrome: owns bashMode and the `/color` chip override, paints the
|
|
343
|
+
// border/title/badge/git adornments, and installs `editor.onChange`.
|
|
344
|
+
const editorChrome = createEditorChrome(ctx, {
|
|
345
|
+
nodeIdentity: identity.current,
|
|
346
|
+
thinkingLevel: () => sync.state().engine?.thinkingLevel,
|
|
347
|
+
renderFooter,
|
|
348
|
+
onTextChange: inventory.syncCommandPreview,
|
|
349
|
+
});
|
|
350
|
+
editorChrome.syncContextBadge();
|
|
351
|
+
// The two broker-fed container painters: extension widgets in their cockpit
|
|
352
|
+
// slots, and the queued-steering panel.
|
|
353
|
+
const { renderExtensionWidgets, renderQueued } = createChromeWidgets(ctx, () => sync.state());
|
|
354
|
+
// The OWNER of the folded SessionState and of what each delta repaints.
|
|
355
|
+
sync = createSessionStateSync(role, {
|
|
356
|
+
setEngineState: (engine) => input.setState(engine),
|
|
357
|
+
setEditorTitle: editorChrome.setTitle,
|
|
358
|
+
paintEditorFrame: editorChrome.paintFrame,
|
|
359
|
+
renderExtensionWidgets: () => {
|
|
360
|
+
recapHeader.render();
|
|
361
|
+
renderExtensionWidgets();
|
|
362
|
+
},
|
|
363
|
+
renderQueued,
|
|
364
|
+
renderFooter,
|
|
365
|
+
setTerminalTitle: (title) => procTerminal.setTitle(title),
|
|
366
|
+
refreshChrome: () => chromeRefresh.refresh(),
|
|
367
|
+
});
|
|
368
|
+
// The Inspector is an earned takeover (rich, self-contained, its own keys) but
|
|
369
|
+
// NOT a place you leave open beside your work — so it rides a display-popup that
|
|
370
|
+
// closes back onto this pane rather than claiming a persistent window. The popup
|
|
371
|
+
// is a real TTY, so `surface
|
|
372
|
+
// inspect` hosts in-place inside it.
|
|
373
|
+
const openInspector = (section) => {
|
|
374
|
+
if (!inTmux()) {
|
|
375
|
+
setNotice('Inspector requires tmux');
|
|
376
|
+
return;
|
|
377
|
+
}
|
|
378
|
+
setNotice(`Opening Inspector (${section})…`);
|
|
379
|
+
const home = envHomeOverride();
|
|
380
|
+
const prefix = home === undefined ? '' : `CRTR_HOME=${shellQuote(home)} `;
|
|
381
|
+
const cmd = `${prefix}crtr surface inspect ${shellQuote(nodeId)} --section ${section}`;
|
|
382
|
+
execFile('tmux', ['display-popup', '-E', '-T', ` inspector · ${section} `, '-w', '90%', '-h', '85%', ...surfaceTmuxStyleArgs(), cmd], () => {
|
|
383
|
+
chromeRefresh.refresh();
|
|
384
|
+
});
|
|
385
|
+
};
|
|
386
|
+
// A watched object the node waits on (a workflow run, a pull request) has one
|
|
387
|
+
// read surface every kind shares: `crtr canvas read`. Its output is a page of
|
|
388
|
+
// markdown, so it rides the same read-only nvim popup as a loaded command
|
|
389
|
+
// rather than a bare command popup that would close the instant it printed.
|
|
390
|
+
const openObject = (objectId) => {
|
|
391
|
+
if (!inTmux()) {
|
|
392
|
+
setNotice('Object details require tmux');
|
|
393
|
+
return;
|
|
394
|
+
}
|
|
395
|
+
setNotice('Opening object…');
|
|
396
|
+
const home = envHomeOverride();
|
|
397
|
+
const prefix = home === undefined ? '' : `CRTR_HOME=${shellQuote(home)} `;
|
|
398
|
+
openReadonlyPopup({
|
|
399
|
+
name: objectId,
|
|
400
|
+
produce: (page) => `${prefix}crtr canvas read ${shellQuote(objectId)} > ${page} 2>&1`,
|
|
401
|
+
title: `object · ${objectId}`,
|
|
402
|
+
noNvim: 'nvim is required to view the object. Install Neovim and retry.',
|
|
403
|
+
onClose: () => chromeRefresh.refresh(),
|
|
404
|
+
});
|
|
405
|
+
};
|
|
406
|
+
// The inline subagent scroll+swap roster below the editor. It owns the two
|
|
407
|
+
// editor couplings the list needs (`onCursorDownAtBottom`, `paneFocused`), so
|
|
408
|
+
// the pane-focus events feed it rather than poking the editor directly.
|
|
409
|
+
const roster = createRoster(ctx, {
|
|
410
|
+
asks: () => chromeRefresh.asks(),
|
|
411
|
+
setNotice,
|
|
412
|
+
requestChromeRefresh: () => chromeRefresh.refresh(),
|
|
413
|
+
openInspector,
|
|
414
|
+
openObject,
|
|
415
|
+
syncCursor: () => paneFocus.sync(),
|
|
416
|
+
});
|
|
417
|
+
// The one hollow-cursor owner: pane focus AND neither list holding the highlight.
|
|
418
|
+
const paneFocus = createPaneFocus(editor, [roster.active, strip.active, ticketPanel.active]);
|
|
419
|
+
// The GRAPH overlay — a bounded, centered modal navigator over the same
|
|
420
|
+
// nav-model graph, reading the live ask counts.
|
|
421
|
+
const graphOverlay = new GraphOverlay(tui, nodeId, () => chromeRefresh.asks(), pal, crouterBindings, canvasSource, role, (cause) => chromeRefresh.reportFailure('canvas graph refresh', cause), setNotice);
|
|
422
|
+
const helpOverlay = new HelpOverlay(tui, pal);
|
|
423
|
+
helpOverlay.setBindings(crouterBindings);
|
|
424
|
+
// The canvas-chrome refresh/poll engine: owns the ask-count map, the
|
|
425
|
+
// coalescing refresh loop, and the 5s chrome poll.
|
|
426
|
+
const chromeRefresh = createChromeRefresh(ctx, {
|
|
427
|
+
isTornDown: () => lifecycle.isTornDown(),
|
|
428
|
+
setNotice,
|
|
429
|
+
refreshRoster: async () => {
|
|
430
|
+
await roster.refresh();
|
|
431
|
+
await strip.refresh();
|
|
432
|
+
},
|
|
433
|
+
refreshGraph: () => graphOverlay.refresh(),
|
|
434
|
+
refreshIdentity: () => identity.refresh(),
|
|
435
|
+
renderFooter,
|
|
436
|
+
renderExtensionWidgets,
|
|
437
|
+
refreshInFlightTools: () => chatView.refreshInFlightTools(),
|
|
438
|
+
pollGit: editorChrome.pollGit,
|
|
439
|
+
});
|
|
440
|
+
// Input layer — session/input-wiring.ts answers every hook InputController
|
|
441
|
+
// takes (socket sinks, slash context, pickers, auth, dormant submit).
|
|
442
|
+
const input = createInputController(ctx, km, capabilities, {
|
|
443
|
+
setNotice,
|
|
444
|
+
agentDir: () => sync.state().agentDir,
|
|
445
|
+
openNodeMetadata: () => openInspector('overview'),
|
|
446
|
+
isDormant: () => reconnect.isDormant(),
|
|
447
|
+
copyTarget,
|
|
448
|
+
toggleToolsExpanded: () => chatView.toggleToolsExpanded(),
|
|
449
|
+
toggleFoldTools: () => chatView.toggleFoldSettledTools(),
|
|
450
|
+
toggleShowWorking: () => chatView.toggleShowWorking(),
|
|
451
|
+
toggleThinking: () => chatView.toggleThinking(),
|
|
452
|
+
toggleGraph: () => graphOverlay.toggle(),
|
|
453
|
+
toggleInbox: viewerHooks.toggleInbox,
|
|
454
|
+
toggleHelp: () => helpOverlay.toggle(),
|
|
455
|
+
toggleMouse: () => mouse.toggle(),
|
|
456
|
+
quit: () => teardown('detach'),
|
|
457
|
+
setChipColor: editorChrome.setChipColor,
|
|
458
|
+
onPromptSent: () => {
|
|
459
|
+
if (userConfig.whip_mode)
|
|
460
|
+
whipAnimation.play();
|
|
461
|
+
},
|
|
462
|
+
frecency,
|
|
463
|
+
});
|
|
464
|
+
const whip = () => {
|
|
465
|
+
if (surfaceHost.hasFullPaneSurface()) {
|
|
466
|
+
setNotice('Close the active surface before whipping the agent');
|
|
467
|
+
return;
|
|
468
|
+
}
|
|
469
|
+
// `whip_message_mode` chooses what the one whip action says: the random
|
|
470
|
+
// rotation, or the plain fixed line.
|
|
471
|
+
const message = userConfig.whip_message_mode === 'go-faster'
|
|
472
|
+
? GO_FASTER_WHIP_MESSAGE
|
|
473
|
+
: randomWhipMessage(userConfig.whip_messages);
|
|
474
|
+
if (!input.sendInterrupting(message))
|
|
475
|
+
return;
|
|
476
|
+
whipAnimation.play();
|
|
477
|
+
recordWhip(pal);
|
|
478
|
+
setNotice(`Whipped agent — ${message}`);
|
|
479
|
+
};
|
|
480
|
+
// `[[…]]` document links: readable names and local browser URLs.
|
|
481
|
+
const documentLinks = createDocumentLinks({
|
|
482
|
+
selfNodeId: nodeId,
|
|
483
|
+
remote,
|
|
484
|
+
canvasSource,
|
|
485
|
+
port: userConfig.document_port,
|
|
486
|
+
fetchSecret: async () => (await cliClient().documents.browserAccess()).secret,
|
|
487
|
+
onSecretError: (err) => setNotice(`Document links are unavailable: ${err instanceof Error ? err.message : String(err)}`),
|
|
488
|
+
refresh: () => chatView.refreshMarkdown(),
|
|
489
|
+
});
|
|
490
|
+
const openFileReview = () => {
|
|
491
|
+
if (ticketPanel.active()) {
|
|
492
|
+
setNotice('Close the open request first (Esc)');
|
|
493
|
+
return;
|
|
494
|
+
}
|
|
495
|
+
// Documents referenced as `[[…]]` sit beside file paths; the picker and
|
|
496
|
+
// launcher tell them apart by their brackets.
|
|
497
|
+
const candidates = [
|
|
498
|
+
...chatView.getTranscriptDocRefsNewestFirst().map((ref) => `[[${ref}]]`),
|
|
499
|
+
...chatView.getTranscriptFilePathsNewestFirst(),
|
|
500
|
+
];
|
|
501
|
+
const review = (file) => {
|
|
502
|
+
void launchFileReview(surfaceHost, file, {
|
|
503
|
+
originNodeId: nodeId,
|
|
504
|
+
onNotice: setNotice,
|
|
505
|
+
});
|
|
506
|
+
};
|
|
507
|
+
// The cockpit's picker slot lives in the base frame, which a full-pane
|
|
508
|
+
// surface covers while owning input — so mount the picker on the host's
|
|
509
|
+
// own stack before opening the selected review in its window.
|
|
510
|
+
if (surfaceHost.hasFullPaneSurface()) {
|
|
511
|
+
void surfaceHost
|
|
512
|
+
.pickReviewFile({ candidates, cwd: meta.cwd, title: 'Review a file or document named in this transcript' })
|
|
513
|
+
.then((file) => {
|
|
514
|
+
if (file !== null)
|
|
515
|
+
review(file);
|
|
516
|
+
});
|
|
517
|
+
return;
|
|
518
|
+
}
|
|
519
|
+
input.openFileReviewPicker(candidates, meta.cwd, review);
|
|
520
|
+
};
|
|
521
|
+
const openProfileFiles = () => {
|
|
522
|
+
if (remote) {
|
|
523
|
+
setNotice('Profile file search is unavailable on remote canvases');
|
|
524
|
+
return;
|
|
525
|
+
}
|
|
526
|
+
if (!inTmux()) {
|
|
527
|
+
setNotice('Profile file search requires tmux');
|
|
528
|
+
return;
|
|
529
|
+
}
|
|
530
|
+
void canvasSource.listNodes()
|
|
531
|
+
.then((nodes) => {
|
|
532
|
+
const family = relatedNodes(nodes, nodeId);
|
|
533
|
+
launchProfileFileSearch({
|
|
534
|
+
cwd: meta.cwd,
|
|
535
|
+
nodeDirs: family.map((node) => node.cwd),
|
|
536
|
+
nodes: family,
|
|
537
|
+
profileId: meta.profile_id ?? null,
|
|
538
|
+
fdPath,
|
|
539
|
+
onNotice: setNotice,
|
|
540
|
+
});
|
|
541
|
+
})
|
|
542
|
+
.catch((error) => {
|
|
543
|
+
const detail = error instanceof Error ? error.message : String(error);
|
|
544
|
+
setNotice(`Could not load related node directories: ${detail}`);
|
|
545
|
+
});
|
|
546
|
+
};
|
|
547
|
+
// Every broker frame into both layers. The SHARED reducer owns every fact the
|
|
548
|
+
// broker told us (that is `sync.fold`); the handler owns only local effects.
|
|
549
|
+
let bindingInstallTimer;
|
|
550
|
+
const scheduleTmuxBindingInstall = () => {
|
|
551
|
+
if (bindingInstallTimer !== undefined)
|
|
552
|
+
clearTimeout(bindingInstallTimer);
|
|
553
|
+
bindingInstallTimer = setTimeout(() => {
|
|
554
|
+
bindingInstallTimer = undefined;
|
|
555
|
+
refreshAttachBindingSnapshot(() => crouterBindingSettings, () => { }, inTmux, installTmuxBindings);
|
|
556
|
+
}, 1000);
|
|
557
|
+
bindingInstallTimer.unref();
|
|
558
|
+
};
|
|
559
|
+
const handleBrokerFrame = createFrameHandler(ctx, {
|
|
560
|
+
foldState: sync.fold,
|
|
561
|
+
chat: chatView,
|
|
562
|
+
setNotice,
|
|
563
|
+
renderFooter,
|
|
564
|
+
setEditorText: (text) => {
|
|
565
|
+
editor.setText(text);
|
|
566
|
+
tui.requestRender();
|
|
567
|
+
},
|
|
568
|
+
attachDialog: (req) => input.attachDialog(req),
|
|
569
|
+
dismissDialog: (id) => input.dismissDialog(id),
|
|
570
|
+
refreshNodeIdentity: identity.refresh,
|
|
571
|
+
setCommands: inventory.setCommands,
|
|
572
|
+
resetMemoryRefs: inventory.resetMemoryRefs,
|
|
573
|
+
reloadBindings: () => {
|
|
574
|
+
crouterBindingSettings = refreshAttachBindingSnapshot(resolveUserKeybindingSettings, (bindings) => {
|
|
575
|
+
graphOverlay.setBindings(bindings);
|
|
576
|
+
helpOverlay.setBindings(bindings);
|
|
577
|
+
}, inTmux, installTmuxBindings);
|
|
578
|
+
crouterBindings = crouterBindingSettings.bindings;
|
|
579
|
+
},
|
|
580
|
+
modelThinkingLabel: sync.modelThinkingLabel,
|
|
581
|
+
onWelcome: () => scheduleTmuxBindingInstall(),
|
|
582
|
+
});
|
|
583
|
+
// Last resort for a background daemon call that escaped its owner's catch.
|
|
584
|
+
// Node's default for an unhandled rejection is to exit, and this process IS
|
|
585
|
+
// the person's pane: one stray promise from a fire-and-forget refresh closed
|
|
586
|
+
// every open viewer at once when crtrd stalled. Every background read keeps
|
|
587
|
+
// its own catch; this only decides what an escaped one costs. A failure that
|
|
588
|
+
// reached here is recorded to the viewer's invariant log (never the terminal,
|
|
589
|
+
// which would paint over the frame) and the session keeps running on its
|
|
590
|
+
// last rendered state. A broken broker socket still ends the session through
|
|
591
|
+
// the reconnect path, which does not depend on this.
|
|
592
|
+
const onUnhandledRejection = (reason) => {
|
|
593
|
+
const detail = reason instanceof Error ? `${reason.name}: ${reason.message}` : String(reason);
|
|
594
|
+
reportInvariant('attach.unhandled_rejection', detail);
|
|
595
|
+
if (isTransientDaemonFailure(reason))
|
|
596
|
+
chromeRefresh.reportFailure('background daemon call', reason);
|
|
597
|
+
};
|
|
598
|
+
process.on('unhandledRejection', onUnhandledRejection);
|
|
599
|
+
const removeRejectionGuard = () => { process.off('unhandledRejection', onUnhandledRejection); };
|
|
600
|
+
// The `@crtr_node` pane tag, claimed after the startup checkpoint below.
|
|
601
|
+
const paneTag = createPaneTag(remote, nodeId);
|
|
602
|
+
// Lifecycle / teardown — always restore the terminal, exactly once
|
|
603
|
+
// (session/teardown.ts owns the ordering rules and the four end reasons).
|
|
604
|
+
// `stopLocal` is this viewer's own shutdown: every collaborator it built
|
|
605
|
+
// stops here, BEFORE the socket is told anything.
|
|
606
|
+
const lifecycle = createTeardown(ctx, {
|
|
607
|
+
stopLocal: () => {
|
|
608
|
+
if (bindingInstallTimer !== undefined)
|
|
609
|
+
clearTimeout(bindingInstallTimer);
|
|
610
|
+
surfaceHost.closeAll();
|
|
611
|
+
scrollAnimator.cancel();
|
|
612
|
+
mouse.disable();
|
|
613
|
+
chromeRefresh.stop();
|
|
614
|
+
ticketPanel.close();
|
|
615
|
+
statusLine.dispose();
|
|
616
|
+
graphOverlay.close();
|
|
617
|
+
helpOverlay.close();
|
|
618
|
+
search.close();
|
|
619
|
+
whipAnimation.dispose();
|
|
620
|
+
paneTag.clear();
|
|
621
|
+
removeKeyListener();
|
|
622
|
+
removeSelectionClear();
|
|
623
|
+
removeFileOpenListener();
|
|
624
|
+
removeRejectionGuard();
|
|
625
|
+
documentLinks.dispose();
|
|
626
|
+
stopPageWatch();
|
|
627
|
+
try {
|
|
628
|
+
chatView.dispose();
|
|
629
|
+
}
|
|
630
|
+
catch {
|
|
631
|
+
/* ignore */
|
|
632
|
+
}
|
|
633
|
+
},
|
|
634
|
+
// Reached lazily: reconnect is built after teardown (it needs `isTornDown`),
|
|
635
|
+
// and this is only ever read once teardown actually runs.
|
|
636
|
+
lastSocketError: () => reconnect.lastSocketError(),
|
|
637
|
+
tagPane: paneTag.pane,
|
|
638
|
+
});
|
|
639
|
+
const teardown = lifecycle.teardown;
|
|
640
|
+
// The reconnect supervisor: the hello handshake, the permanent socket
|
|
641
|
+
// handlers, and the redial policy that decides whether a closed socket means
|
|
642
|
+
// "hold the pane, the broker is coming back" or "this node is genuinely gone".
|
|
643
|
+
reconnect = createReconnect(ctx, {
|
|
644
|
+
role,
|
|
645
|
+
remote,
|
|
646
|
+
initialDormant: connection.initialSnapshot !== undefined,
|
|
647
|
+
clientId,
|
|
648
|
+
onFrame: handleBrokerFrame,
|
|
649
|
+
setNotice,
|
|
650
|
+
isTornDown: () => lifecycle.isTornDown(),
|
|
651
|
+
teardown,
|
|
652
|
+
// An idle-released broker has settled its turn and will not relay a final
|
|
653
|
+
// session event to this viewer. Clear its live-only display locally.
|
|
654
|
+
onEnterDormancy: () => {
|
|
655
|
+
scheduleTmuxBindingInstall();
|
|
656
|
+
chatView.settleRun();
|
|
657
|
+
sync.patchLocal({ isStreaming: false });
|
|
658
|
+
},
|
|
659
|
+
});
|
|
660
|
+
// 5. The startup checkpoint. A relay's post-upgrade "no node"/"no running
|
|
661
|
+
// broker" close may have arrived any time during the synchronous setup
|
|
662
|
+
// above; connection.ts's never-removed error listener is how it survives
|
|
663
|
+
// that gap. Surface it BEFORE the reconnect supervisor takes over (which
|
|
664
|
+
// would misclassify a genuinely-gone target as a live session that
|
|
665
|
+
// dropped) and before the pane tag is claimed (so a failed attach never
|
|
666
|
+
// leaves a stale tag behind).
|
|
667
|
+
connection.assertConnected();
|
|
668
|
+
paneTag.set();
|
|
669
|
+
reconnect.install();
|
|
670
|
+
// 6. Lay out, paint, start, then handshake — starting before the handshake
|
|
671
|
+
// means the welcome's applySnapshot renders into a live TUI.
|
|
672
|
+
layout.mount();
|
|
673
|
+
tui.start();
|
|
674
|
+
if (connection.initialSnapshot !== undefined) {
|
|
675
|
+
// Seed the same state/transcript owners a broker welcome feeds. No socket
|
|
676
|
+
// frame is fabricated: the first real welcome remains authoritative and
|
|
677
|
+
// ChatView's generation guard replaces this saved reconstruction cleanly.
|
|
678
|
+
sync.fold({ type: 'welcome', snapshot: connection.initialSnapshot, role });
|
|
679
|
+
void chatView.applySnapshot(connection.initialSnapshot);
|
|
680
|
+
inventory.setCommands(connection.initialCommands);
|
|
681
|
+
// A parked conversation has no broker, so the attach bridge never sees it shown.
|
|
682
|
+
if (!remote)
|
|
683
|
+
void cliClient().markNodeRead(nodeId).catch(() => undefined);
|
|
684
|
+
}
|
|
685
|
+
if (userConfig.whip_mode && initialWhip)
|
|
686
|
+
whipAnimation.play();
|
|
687
|
+
mouse.reassert();
|
|
688
|
+
let fileLinkOpening = false;
|
|
689
|
+
const openFile = (file) => {
|
|
690
|
+
if (fileLinkOpening)
|
|
691
|
+
return;
|
|
692
|
+
if (remote) {
|
|
693
|
+
setNotice('Opening a file is unavailable in a remote attach');
|
|
694
|
+
return;
|
|
695
|
+
}
|
|
696
|
+
const tmux = currentTmux();
|
|
697
|
+
if (tmux === null)
|
|
698
|
+
return;
|
|
699
|
+
const result = openLinkedFileInPane({
|
|
700
|
+
file,
|
|
701
|
+
pane: tmux.pane,
|
|
702
|
+
cwd: meta.cwd,
|
|
703
|
+
nodeId,
|
|
704
|
+
observer,
|
|
705
|
+
beforeRespawn: paneTag.clear,
|
|
706
|
+
});
|
|
707
|
+
if (result === 'opened') {
|
|
708
|
+
fileLinkOpening = true;
|
|
709
|
+
return;
|
|
710
|
+
}
|
|
711
|
+
// A queued respawn did not land, so this pane is still a viewer and must
|
|
712
|
+
// regain the identity that `beforeRespawn` just cleared.
|
|
713
|
+
if (result === 'failed')
|
|
714
|
+
paneTag.set();
|
|
715
|
+
if (result === 'missing')
|
|
716
|
+
setNotice('File no longer exists');
|
|
717
|
+
if (result === 'no_nvim')
|
|
718
|
+
setNotice('Neovim is required to open files — install it (brew install neovim / apt install neovim) and retry');
|
|
719
|
+
if (result === 'failed')
|
|
720
|
+
setNotice('Could not open file in Neovim');
|
|
721
|
+
};
|
|
722
|
+
mouse.install(tui, {
|
|
723
|
+
onWheel: (direction, lines) => {
|
|
724
|
+
if (selection.clear())
|
|
725
|
+
tui.requestRender();
|
|
726
|
+
if (surfaceHost.handleWheel(direction, lines))
|
|
727
|
+
return;
|
|
728
|
+
scrollAnimator.cancel();
|
|
729
|
+
if (viewport.scrollBy(direction === 'up' ? -lines : lines))
|
|
730
|
+
tui.requestRender();
|
|
731
|
+
},
|
|
732
|
+
onPrimaryPress: (column, row) => {
|
|
733
|
+
// Full-pane surfaces own the visible screen while mounted; neither a
|
|
734
|
+
// file-link click nor a selection may reach the base frame beneath one.
|
|
735
|
+
if (surfaceHost.hasFullPaneSurface())
|
|
736
|
+
return;
|
|
737
|
+
if (selection.clear())
|
|
738
|
+
tui.requestRender();
|
|
739
|
+
selection.begin(column, row);
|
|
740
|
+
},
|
|
741
|
+
onPrimaryDrag: (column, row) => {
|
|
742
|
+
if (surfaceHost.hasFullPaneSurface())
|
|
743
|
+
return;
|
|
744
|
+
if (selection.extend(column, row))
|
|
745
|
+
tui.requestRender();
|
|
746
|
+
},
|
|
747
|
+
onPrimaryRelease: () => {
|
|
748
|
+
const released = selection.release();
|
|
749
|
+
if (released?.kind !== 'selection')
|
|
750
|
+
return;
|
|
751
|
+
setNotice(released.notice);
|
|
752
|
+
tui.requestRender();
|
|
753
|
+
},
|
|
754
|
+
});
|
|
755
|
+
// iTerm Semantic History sends this private control after Command-clicking a
|
|
756
|
+
// rendered local Markdown path. It is not editor text.
|
|
757
|
+
const removeFileOpenListener = tui.addInputListener((data) => {
|
|
758
|
+
const input = extractFileOpenInput(data);
|
|
759
|
+
if (input === undefined)
|
|
760
|
+
return undefined;
|
|
761
|
+
const file = input.file;
|
|
762
|
+
if (file === undefined)
|
|
763
|
+
setNotice('Could not open file link');
|
|
764
|
+
else
|
|
765
|
+
openFile(file);
|
|
766
|
+
return input.remaining.length > 0 ? { data: input.remaining } : { consume: true };
|
|
767
|
+
});
|
|
768
|
+
// Registered after the mouse listener, which consumes mouse sequences, so
|
|
769
|
+
// this sees keyboard input only: any keystroke retires the highlight the way
|
|
770
|
+
// it retires a terminal's own selection.
|
|
771
|
+
const removeSelectionClear = tui.addInputListener(() => {
|
|
772
|
+
if (selection.clear())
|
|
773
|
+
tui.requestRender();
|
|
774
|
+
return undefined;
|
|
775
|
+
});
|
|
776
|
+
// The global key listener — fires before the focused component, so it must
|
|
777
|
+
// hand back everything it does not claim (session/keys.ts). Mouse reporting
|
|
778
|
+
// registers first so terminal mouse sequences are consumed before key input.
|
|
779
|
+
const removeKeyListener = installGlobalKeys(ctx, {
|
|
780
|
+
bindings: () => crouterBindings,
|
|
781
|
+
detachHint: () => detachHint(crouterBindings),
|
|
782
|
+
hasExclusiveSurface: () => surfaceHost.hasFullPaneSurface(),
|
|
783
|
+
setPaneFocused: (focused) => {
|
|
784
|
+
if (focused)
|
|
785
|
+
paneTag.stamp();
|
|
786
|
+
paneFocus.setPaneFocused(focused);
|
|
787
|
+
tui.requestRender();
|
|
788
|
+
},
|
|
789
|
+
viewportActions: () => viewportActions,
|
|
790
|
+
searchHandleKey: search.handleKey,
|
|
791
|
+
panelHandleKey: ticketPanel.handleKey,
|
|
792
|
+
stripHandleKey: strip.handleKey,
|
|
793
|
+
rosterHandleKey: roster.handleKey,
|
|
794
|
+
setNotice,
|
|
795
|
+
detach: () => teardown('detach'),
|
|
796
|
+
cancelTurn: () => {
|
|
797
|
+
if (input.abortTurn())
|
|
798
|
+
setNotice('Canceling the agent…');
|
|
799
|
+
else
|
|
800
|
+
setNotice(`Nothing running to cancel — press ${detachBindingHint(crouterBindings) ?? 'ctrl+d'} to detach`);
|
|
801
|
+
},
|
|
802
|
+
toggleGraph: () => graphOverlay.toggle(),
|
|
803
|
+
toggleHelp: () => helpOverlay.toggle(),
|
|
804
|
+
toggleInbox: viewerHooks.toggleInbox,
|
|
805
|
+
toggleInboxStrip: () => {
|
|
806
|
+
if (surfaceHost.hasFullPaneSurface()) {
|
|
807
|
+
setNotice('Close the active surface before opening the request strip');
|
|
808
|
+
return;
|
|
809
|
+
}
|
|
810
|
+
// From an open inline ticket, the strip binding steps back up to the list.
|
|
811
|
+
if (ticketPanel.active())
|
|
812
|
+
ticketPanel.close();
|
|
813
|
+
strip.toggle();
|
|
814
|
+
},
|
|
815
|
+
// Through the input layer, not straight to the socket: the ladder is a
|
|
816
|
+
// mutating frame and must ride the same capability gate as every other one.
|
|
817
|
+
cycleModelLadder: (direction) => input.cycleLadder(direction),
|
|
818
|
+
inspectLoadedCommand: inventory.inspectLoadedCommand,
|
|
819
|
+
openFileReview,
|
|
820
|
+
openProfileFiles,
|
|
821
|
+
openSearch: () => {
|
|
822
|
+
if (surfaceHost.hasFullPaneSurface() || ticketPanel.active()) {
|
|
823
|
+
setNotice('Close the active surface before searching the transcript');
|
|
824
|
+
return;
|
|
825
|
+
}
|
|
826
|
+
search.open();
|
|
827
|
+
},
|
|
828
|
+
whip,
|
|
829
|
+
});
|
|
830
|
+
// Registered only now: every collaborator `stopLocal` touches (the key
|
|
831
|
+
// listener included) finally exists, so a signal cannot race a half-built
|
|
832
|
+
// session.
|
|
833
|
+
lifecycle.installSignalHandlers();
|
|
834
|
+
renderFooter();
|
|
835
|
+
chromeRefresh.refresh();
|
|
836
|
+
renderQueued();
|
|
837
|
+
editorChrome.pollGit();
|
|
838
|
+
mark('viewer.first_paint');
|
|
839
|
+
// Ask the terminal (tmux pane) to report focus in/out; Restore() turns it off.
|
|
840
|
+
process.stdout.write(FOCUS_REPORTING_ON);
|
|
841
|
+
// ProcessTerminal negotiated the keyboard protocol on OUR pi-tui instance; the
|
|
842
|
+
// editor reads the flag from its own (possibly separate) instance.
|
|
843
|
+
void mirrorKittyProtocolToEditor(procTerminal.kittyProtocolActive);
|
|
844
|
+
// A live viewer waits for welcome so the synchronous tmux sweep cannot block
|
|
845
|
+
// that frame. If the broker vanishes before welcome, reconnect's dormancy
|
|
846
|
+
// callback schedules the same install. A dormant viewer schedules it directly.
|
|
847
|
+
if (connection.initialSnapshot !== undefined)
|
|
848
|
+
scheduleTmuxBindingInstall();
|
|
849
|
+
if (connection.initialSnapshot === undefined) {
|
|
850
|
+
mark('viewer.hello_sent');
|
|
851
|
+
reconnect.sendHello();
|
|
852
|
+
}
|
|
853
|
+
else {
|
|
854
|
+
reconnect.startDormant();
|
|
855
|
+
}
|
|
856
|
+
chromeRefresh.start();
|
|
857
|
+
if (startupReviewId !== undefined)
|
|
858
|
+
void openReviewSurfaceById(surfaceHost, startupReviewId);
|
|
859
|
+
if (startupTicketId !== undefined && startupTicketId !== '' && !remote) {
|
|
860
|
+
// The dashboard opened this conversation for its oldest pending ask: show the ask first.
|
|
861
|
+
// Resolve it from the same two reads the inbox strip makes (listed tickets, plus pending unlisted pages).
|
|
862
|
+
void (async () => {
|
|
863
|
+
const client = cliClient();
|
|
864
|
+
const [listed, history] = await Promise.all([client.listHumanInbox(), client.getInboxHistory(undefined, { state: 'pending' })]);
|
|
865
|
+
const row = [...listed.tickets, ...history.tickets].map(inboxRowFromDTO).find((r) => r.inboxTicketId === startupTicketId && (r.kind !== 'page' || r.state === 'pending'));
|
|
866
|
+
if (row === undefined)
|
|
867
|
+
setNotice('ask already answered');
|
|
868
|
+
else
|
|
869
|
+
void ticketPanel.open(row);
|
|
870
|
+
})().catch((err) => setNotice(`could not open the ask: ${String(err?.message ?? err)}`));
|
|
871
|
+
}
|
|
872
|
+
await lifecycle.done;
|
|
873
|
+
}
|