@north-light/crouter 0.3.318 → 0.3.320
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/README.md +0 -3
- package/dist/api/client.js +2 -912
- package/dist/api/dto/attach.js +0 -13
- package/dist/api/dto/bash-jobs.js +1 -9
- package/dist/api/dto/broker-ops.js +0 -6
- package/dist/api/dto/broker.js +0 -20
- package/dist/api/dto/canvas.js +0 -2
- package/dist/api/dto/chat-inventory.js +0 -11
- package/dist/api/dto/common.js +1 -15
- package/dist/api/dto/config.js +0 -3
- package/dist/api/dto/crons.js +1 -10
- package/dist/api/dto/files.js +0 -7
- package/dist/api/dto/focus.js +0 -10
- package/dist/api/dto/health.js +0 -2
- package/dist/api/dto/human-requests.js +0 -4
- package/dist/api/dto/human.js +0 -4
- package/dist/api/dto/inbox.js +0 -4
- package/dist/api/dto/lifecycle.js +0 -3
- package/dist/api/dto/mail.js +0 -1
- package/dist/api/dto/memory.js +0 -6
- package/dist/api/dto/messages.js +0 -2
- package/dist/api/dto/model-config.js +0 -1
- package/dist/api/dto/modelauth.js +0 -4
- package/dist/api/dto/node-outcomes.js +0 -2
- package/dist/api/dto/nodes.js +0 -3
- package/dist/api/dto/profiles.js +1 -4
- package/dist/api/dto/recovery.js +0 -1
- package/dist/api/dto/reports.js +0 -2
- package/dist/api/dto/review-comments.js +0 -5
- package/dist/api/dto/reviews.js +0 -5
- package/dist/api/dto/subscriptions.js +0 -2
- package/dist/api/dto/worktree.js +0 -6
- package/dist/api/errors.js +1 -40
- package/dist/api/index.js +1 -33
- package/dist/api/plugin-manifest-schema.js +0 -23
- package/dist/api/routes.js +1 -147
- package/dist/build-root.js +1 -198
- package/dist/cli.js +3 -99
- package/dist/clients/attach/ansi-cells.js +1 -137
- package/dist/clients/attach/chrome/bash-jobs.js +1 -31
- package/dist/clients/attach/chrome/canvas-panels.js +1 -194
- package/dist/clients/attach/chrome/completion-bell.js +1 -89
- package/dist/clients/attach/chrome/cron-wait.js +1 -34
- package/dist/clients/attach/chrome/git-info.js +2 -44
- package/dist/clients/attach/chrome/header.js +1 -30
- package/dist/clients/attach/chrome/inbox-strip.js +1 -199
- package/dist/clients/attach/chrome/recap.js +1 -19
- package/dist/clients/attach/chrome/review-wait.js +1 -22
- package/dist/clients/attach/chrome/roster.js +4 -275
- package/dist/clients/attach/chrome/status-line.js +1 -117
- package/dist/clients/attach/chrome/ticket-panel.js +1 -280
- package/dist/clients/attach/chrome/widgets.js +1 -51
- package/dist/clients/attach/command.js +1 -107
- package/dist/clients/attach/config.js +1 -274
- package/dist/clients/attach/input/capabilities.js +1 -104
- package/dist/clients/attach/input/clipboard-image.js +3 -220
- package/dist/clients/attach/input/completion-frecency.js +1 -141
- package/dist/clients/attach/input/controller.js +7 -377
- package/dist/clients/attach/input/overlay-owner.js +1 -199
- package/dist/clients/attach/input/ref-autocomplete.js +2 -176
- package/dist/clients/attach/input/titled-editor.js +4 -859
- package/dist/clients/attach/overlays/auth.js +2 -271
- package/dist/clients/attach/overlays/dialogs.js +2 -102
- package/dist/clients/attach/overlays/file-review.js +2 -128
- package/dist/clients/attach/overlays/graph.js +1 -661
- package/dist/clients/attach/overlays/help.js +1 -211
- package/dist/clients/attach/overlays/mcp.js +1 -302
- package/dist/clients/attach/overlays/pickers.js +1 -163
- package/dist/clients/attach/render/activity-slot.js +1 -13
- package/dist/clients/attach/render/assistant-message.js +1 -56
- package/dist/clients/attach/render/card-presentation.js +5 -218
- package/dist/clients/attach/render/chat-view.js +5 -1708
- package/dist/clients/attach/render/condensed-history.js +1 -60
- package/dist/clients/attach/render/context-message.js +1 -63
- package/dist/clients/attach/render/crtr-output.js +17 -905
- package/dist/clients/attach/render/diagram.js +7 -111
- package/dist/clients/attach/render/edit-diff.js +5 -304
- package/dist/clients/attach/render/glyph-codepoints.js +1 -42
- package/dist/clients/attach/render/group-activity.js +2 -263
- package/dist/clients/attach/render/group-recap.js +1 -152
- package/dist/clients/attach/render/markdown-source.js +5 -266
- package/dist/clients/attach/render/measured-container.js +1 -322
- package/dist/clients/attach/render/page-block.js +1 -183
- package/dist/clients/attach/render/scroll-animation.js +1 -80
- package/dist/clients/attach/render/tool-calls.js +3 -361
- package/dist/clients/attach/render/transcript-copy.js +2 -81
- package/dist/clients/attach/render/transcript-search.js +1 -152
- package/dist/clients/attach/render/viewport.js +1 -184
- package/dist/clients/attach/session/banner.js +1 -29
- package/dist/clients/attach/session/bindings.js +1 -71
- package/dist/clients/attach/session/chrome-refresh.js +1 -94
- package/dist/clients/attach/session/connection.js +1 -186
- package/dist/clients/attach/session/context.js +0 -16
- package/dist/clients/attach/session/editor-frame.js +1 -142
- package/dist/clients/attach/session/editor-inventory.js +6 -160
- package/dist/clients/attach/session/file-links.js +1 -68
- package/dist/clients/attach/session/focus-events.js +1 -12
- package/dist/clients/attach/session/frame.js +1 -214
- package/dist/clients/attach/session/frames.js +1 -188
- package/dist/clients/attach/session/identity.js +1 -26
- package/dist/clients/attach/session/input-wiring.js +1 -140
- package/dist/clients/attach/session/invariant.js +1 -15
- package/dist/clients/attach/session/keys.js +1 -77
- package/dist/clients/attach/session/layout.js +1 -59
- package/dist/clients/attach/session/mouse.js +1 -78
- package/dist/clients/attach/session/pane-focus.js +1 -42
- package/dist/clients/attach/session/pane-tag.js +1 -112
- package/dist/clients/attach/session/pi-assets.js +1 -24
- package/dist/clients/attach/session/pi-oauth-flows.js +1 -21
- package/dist/clients/attach/session/profile-files.js +1 -228
- package/dist/clients/attach/session/reconnect.js +1 -175
- package/dist/clients/attach/session/selection.js +3 -108
- package/dist/clients/attach/session/state-sync.js +1 -67
- package/dist/clients/attach/session/surface-frame.js +1 -73
- package/dist/clients/attach/session/surface-host.js +1 -255
- package/dist/clients/attach/session/teardown.js +5 -94
- package/dist/clients/attach/session/transcript-search.js +3 -151
- package/dist/clients/attach/session/whip-achievements.js +2 -145
- package/dist/clients/attach/session/whip.js +1 -362
- package/dist/clients/attach/slash/dispatch.js +1 -706
- package/dist/clients/attach/slash/prompt-preview.js +1 -121
- package/dist/clients/attach/viewer.js +441 -441
- package/dist/clients/conversation/projection.js +1 -324
- package/dist/clients/conversation/submit.js +1 -51
- package/dist/clients/inbox/controller.js +1 -701
- package/dist/clients/inbox/dto-adapt.js +1 -93
- package/dist/clients/inbox/layout.js +1 -9
- package/dist/clients/inbox/page-adapter.js +1 -55
- package/dist/clients/inbox/resolve.js +1 -35
- package/dist/clients/inbox/review/anchors.js +1 -89
- package/dist/clients/inbox/review/comments-client.js +1 -98
- package/dist/clients/inbox/review/companion-pane.js +1 -82
- package/dist/clients/inbox/review/document-surface.js +2 -1188
- package/dist/clients/inbox/review/frame.js +1 -216
- package/dist/clients/inbox/review/keys.js +1 -123
- package/dist/clients/inbox/review/launch.js +1 -151
- package/dist/clients/inbox/review/live-source.js +1 -160
- package/dist/clients/inbox/review/nvim.js +1 -44
- package/dist/clients/inbox/review/remap.js +1 -157
- package/dist/clients/inbox/review/review-client.js +1 -123
- package/dist/clients/inbox/review/roundtrip.js +3 -36
- package/dist/clients/inbox/review/state.js +4 -315
- package/dist/clients/inbox/review-adapter.js +1 -43
- package/dist/clients/inbox/surface.js +1 -152
- package/dist/clients/inbox/tui/ansi.js +3 -321
- package/dist/clients/inbox/tui/input.js +5 -392
- package/dist/clients/inbox/tui/keys.js +1 -104
- package/dist/clients/inbox/tui/page-body.js +1 -66
- package/dist/clients/inbox/tui/panel.js +1 -84
- package/dist/clients/inbox/tui/render.js +2 -368
- package/dist/clients/inbox/tui/slots.js +3 -134
- package/dist/clients/inbox/tui/types.js +0 -1
- package/dist/clients/inbox/tui.js +1 -86
- package/dist/clients/surfaces/host.js +0 -1
- package/dist/commands/api-client.js +4 -290
- package/dist/commands/attention.js +1 -215
- package/dist/commands/canvas-browse.js +1 -70
- package/dist/commands/canvas-config.js +2 -192
- package/dist/commands/canvas-history/grep.js +7 -85
- package/dist/commands/canvas-history/read.js +3 -50
- package/dist/commands/canvas-history/search.js +10 -99
- package/dist/commands/canvas-history/shared.js +1 -139
- package/dist/commands/canvas-history/stats.js +6 -68
- package/dist/commands/canvas-history.js +1 -32
- package/dist/commands/canvas-issue.js +14 -149
- package/dist/commands/canvas-prune.js +1 -108
- package/dist/commands/canvas-roster.js +1 -69
- package/dist/commands/canvas-snapshot.js +1 -34
- package/dist/commands/canvas-use.js +1 -61
- package/dist/commands/canvas.js +1 -49
- package/dist/commands/chord.js +1 -241
- package/dist/commands/cron.js +11 -534
- package/dist/commands/dashboard.js +1 -85
- package/dist/commands/human/components.js +3 -77
- package/dist/commands/human/feedback.js +1 -112
- package/dist/commands/human/prompts.js +1 -331
- package/dist/commands/human/queue.js +1 -191
- package/dist/commands/human/request.js +1 -266
- package/dist/commands/human/review.js +1 -288
- package/dist/commands/human/shared.js +1 -67
- package/dist/commands/human.js +4 -60
- package/dist/commands/memory/delete.js +1 -100
- package/dist/commands/memory/edit.js +21 -219
- package/dist/commands/memory/find.js +2 -244
- package/dist/commands/memory/history.js +5 -199
- package/dist/commands/memory/lint.js +1 -107
- package/dist/commands/memory/list.js +1 -142
- package/dist/commands/memory/move.js +1 -223
- package/dist/commands/memory/origin.js +1 -130
- package/dist/commands/memory/read.js +6 -232
- package/dist/commands/memory/shared.js +12 -802
- package/dist/commands/memory/write.js +13 -235
- package/dist/commands/memory.js +1 -30
- package/dist/commands/node/bash.js +5 -245
- package/dist/commands/node/create.js +3 -332
- package/dist/commands/node/inspect.js +12 -300
- package/dist/commands/node/lifecycle.js +2 -453
- package/dist/commands/node/message.js +1 -161
- package/dist/commands/node/outcome.js +4 -134
- package/dist/commands/node/pyramid.js +2 -79
- package/dist/commands/node/subscription.js +1 -78
- package/dist/commands/node/wait.js +7 -163
- package/dist/commands/node-context.js +2 -159
- package/dist/commands/node-inspect-artifacts.js +8 -109
- package/dist/commands/node-lifecycle-revive.js +1 -217
- package/dist/commands/node-snapshot.js +1 -37
- package/dist/commands/node-transcript.js +1 -62
- package/dist/commands/node-worktree.js +1 -138
- package/dist/commands/node.js +1 -29
- package/dist/commands/pkg/browse/actions.js +1 -198
- package/dist/commands/pkg/browse/catalog.js +1 -466
- package/dist/commands/pkg/browse/command-view.js +1 -191
- package/dist/commands/pkg/browse/detail-panel.js +1 -402
- package/dist/commands/pkg/browse/doc-view.js +1 -89
- package/dist/commands/pkg/browse/list-panel.js +2 -168
- package/dist/commands/pkg/browse/model.js +1 -36
- package/dist/commands/pkg/browse/shell.js +1 -640
- package/dist/commands/pkg/browse.js +1 -27
- package/dist/commands/pkg/market-inspect.js +1 -141
- package/dist/commands/pkg/market-manage.js +1 -327
- package/dist/commands/pkg/market.js +1 -14
- package/dist/commands/pkg/plugin-inspect.js +1 -168
- package/dist/commands/pkg/plugin-manage.js +17 -1109
- package/dist/commands/pkg/plugin.js +1 -14
- package/dist/commands/pkg/shared.js +1 -62
- package/dist/commands/pkg.js +1 -21
- package/dist/commands/profile/default.js +1 -139
- package/dist/commands/profile/delete.js +1 -66
- package/dist/commands/profile/env.js +3 -188
- package/dist/commands/profile/kind.js +2 -35
- package/dist/commands/profile/list.js +1 -43
- package/dist/commands/profile/meta.js +1 -67
- package/dist/commands/profile/new.js +1 -115
- package/dist/commands/profile/pause.js +1 -59
- package/dist/commands/profile/project.js +1 -113
- package/dist/commands/profile/rename.js +1 -38
- package/dist/commands/profile/show.js +1 -52
- package/dist/commands/profile.js +1 -35
- package/dist/commands/push.js +9 -265
- package/dist/commands/revive.js +10 -181
- package/dist/commands/surface/node/cycle.js +1 -83
- package/dist/commands/surface/node/focus.js +1 -81
- package/dist/commands/surface/node/id.js +1 -38
- package/dist/commands/surface/node/pin.js +1 -42
- package/dist/commands/surface/node/placement.js +1 -134
- package/dist/commands/surface-edit.js +1 -157
- package/dist/commands/surface-inbox.js +1 -98
- package/dist/commands/surface-inspect.js +1 -39
- package/dist/commands/surface-node.js +1 -19
- package/dist/commands/surface-reload.js +2 -134
- package/dist/commands/surface-tmux-spread.js +1 -214
- package/dist/commands/surface.js +1 -28
- package/dist/commands/sys/branch.js +1 -19
- package/dist/commands/sys/config.js +1 -353
- package/dist/commands/sys/context/admin/actions.js +2 -246
- package/dist/commands/sys/context/admin/detail-panel.js +1 -247
- package/dist/commands/sys/context/admin/docs-panel.js +1 -191
- package/dist/commands/sys/context/admin/list-view.js +1 -183
- package/dist/commands/sys/context/admin/model.js +1 -229
- package/dist/commands/sys/context/admin/rail-panel.js +1 -227
- package/dist/commands/sys/context/admin/read-view.js +2 -194
- package/dist/commands/sys/context/admin/shell.js +1 -910
- package/dist/commands/sys/context/admin.js +2 -126
- package/dist/commands/sys/context/doc.js +3 -197
- package/dist/commands/sys/context/prompt-review.js +11 -291
- package/dist/commands/sys/context/resolve.js +10 -489
- package/dist/commands/sys/context/sysprompt.js +5 -96
- package/dist/commands/sys/context.js +1 -20
- package/dist/commands/sys/daemon.js +1 -313
- package/dist/commands/sys/doctor.js +1 -617
- package/dist/commands/sys/feedback.js +7 -228
- package/dist/commands/sys/logs.js +3 -129
- package/dist/commands/sys/migrate.js +1 -94
- package/dist/commands/sys/panels/broker-limits-panel.js +2 -110
- package/dist/commands/sys/panels/dependencies-panel.js +1 -80
- package/dist/commands/sys/panels/keybindings-panel.js +1 -703
- package/dist/commands/sys/panels/models-panel.js +1 -1133
- package/dist/commands/sys/panels/plugins-panel.js +1 -80
- package/dist/commands/sys/panels/prefs-panel.js +1 -85
- package/dist/commands/sys/panels/profiles-panel.js +1 -601
- package/dist/commands/sys/panels/provider-panel.js +1 -538
- package/dist/commands/sys/settings-shell.js +1 -400
- package/dist/commands/sys/settings.js +1 -46
- package/dist/commands/sys/setup-core.js +6 -579
- package/dist/commands/sys/setup-settings-runner.js +1 -16
- package/dist/commands/sys/setup-wizard.js +1 -279
- package/dist/commands/sys/setup.js +1 -34
- package/dist/commands/sys/shared.js +1 -81
- package/dist/commands/sys/support/prepare.js +3 -239
- package/dist/commands/sys/support/submit.js +6 -524
- package/dist/commands/sys/support.js +1 -18
- package/dist/commands/sys/sync-deps.js +15 -498
- package/dist/commands/sys/sync-project-guidance.js +4 -481
- package/dist/commands/sys/sync-shared.js +1 -49
- package/dist/commands/sys/sync-skills.js +2 -311
- package/dist/commands/sys/sync.js +1 -18
- package/dist/commands/sys/update.js +1 -147
- package/dist/commands/sys/worktrees.js +5 -53
- package/dist/commands/sys.js +1 -18
- package/dist/core/activity-signal.js +2 -38
- package/dist/core/asset-root.js +1 -18
- package/dist/core/auth-file.js +2 -179
- package/dist/core/auth-interaction.js +3 -94
- package/dist/core/auto-update.js +4 -94
- package/dist/core/bash-guard.js +11 -393
- package/dist/core/bash-jobs.js +7 -411
- package/dist/core/bootstrap.js +2 -53
- package/dist/core/broker-client/client.js +1 -184
- package/dist/core/broker-client/index.js +1 -13
- package/dist/core/broker-client/transport-relay.js +1 -157
- package/dist/core/broker-client/transport-socket.js +1 -179
- package/dist/core/broker-client/transport.js +1 -26
- package/dist/core/canvas/attention.js +1 -47
- package/dist/core/canvas/boot-id.js +1 -26
- package/dist/core/canvas/boot.js +1 -186
- package/dist/core/canvas/browse/app.js +3 -919
- package/dist/core/canvas/browse/model.js +1 -477
- package/dist/core/canvas/browse/pins.js +1 -29
- package/dist/core/canvas/browse/render.js +3 -1055
- package/dist/core/canvas/canvas.js +15 -922
- package/dist/core/canvas/crons.js +11 -481
- package/dist/core/canvas/daemon-owner.js +2 -146
- package/dist/core/canvas/db.js +2 -100
- package/dist/core/canvas/deliveries.js +22 -283
- package/dist/core/canvas/delivery-contract.js +1 -8
- package/dist/core/canvas/executions.js +1 -68
- package/dist/core/canvas/extensions.js +1 -83
- package/dist/core/canvas/focuses.js +1 -77
- package/dist/core/canvas/history.js +24 -860
- package/dist/core/canvas/index.js +1 -15
- package/dist/core/canvas/install-id.js +1 -84
- package/dist/core/canvas/labels.js +1 -43
- package/dist/core/canvas/meta-file.js +1 -89
- package/dist/core/canvas/migrations.js +41 -1150
- package/dist/core/canvas/nav-model.js +1 -231
- package/dist/core/canvas/nav-render.js +1 -260
- package/dist/core/canvas/node-order.js +1 -37
- package/dist/core/canvas/node-recap.js +2 -67
- package/dist/core/canvas/node-sql-migration.js +2 -209
- package/dist/core/canvas/paths.js +1 -153
- package/dist/core/canvas/pid.js +4 -683
- package/dist/core/canvas/recovery.js +3 -565
- package/dist/core/canvas/remote-canvas-source.js +1 -288
- package/dist/core/canvas/remote-transport.js +1 -57
- package/dist/core/canvas/render-source.js +10 -635
- package/dist/core/canvas/sessions.js +1 -78
- package/dist/core/canvas/source.js +1 -47
- package/dist/core/canvas/status-glyph.js +1 -132
- package/dist/core/canvas/telemetry.js +1 -35
- package/dist/core/canvas/types.js +1 -6
- package/dist/core/canvas/waits.js +4 -68
- package/dist/core/canvas/worktrees.js +1 -93
- package/dist/core/clipboard-text.js +1 -57
- package/dist/core/command-hooks/artifact.js +1 -145
- package/dist/core/command-hooks/catalog.js +1 -38
- package/dist/core/command-hooks/compose.js +1 -99
- package/dist/core/command-hooks/discovery.js +1 -228
- package/dist/core/command-hooks/help.js +1 -18
- package/dist/core/command-hooks/index.js +1 -7
- package/dist/core/command-hooks/lifecycle-catalog.js +1 -9
- package/dist/core/command-hooks/lifecycle-create.js +1 -51
- package/dist/core/command-hooks/report.js +1 -28
- package/dist/core/command-hooks/schema.js +1 -157
- package/dist/core/command-hooks/transport/exec-invoke.js +1 -276
- package/dist/core/command-hooks/transport/exec-lifecycle.js +1 -211
- package/dist/core/command-manifests/manifest.js +1 -324
- package/dist/core/command-manifests/registry.js +1 -118
- package/dist/core/command-manifests/schema.js +1 -736
- package/dist/core/command-plugins/bundle.js +1 -261
- package/dist/core/command-plugins/compose.js +1 -65
- package/dist/core/command-plugins/discovery.js +1 -245
- package/dist/core/command-plugins/endpoint.js +1 -48
- package/dist/core/command-plugins/extensions.js +1 -166
- package/dist/core/command-plugins/help-addenda.js +1 -44
- package/dist/core/command-plugins/presence.js +1 -17
- package/dist/core/command-plugins/revalidate.js +2 -152
- package/dist/core/command-plugins/transport/exec-invoke.js +1 -215
- package/dist/core/command-plugins/transport/http-fetch.js +1 -68
- package/dist/core/command-plugins/transport/http-invoke.js +3 -546
- package/dist/core/command.js +10 -739
- package/dist/core/config.js +1 -1059
- package/dist/core/document-lines.js +3 -6
- package/dist/core/env-name.js +1 -9
- package/dist/core/errors.js +1 -52
- package/dist/core/events/emit.js +1 -17
- package/dist/core/events/envelope.js +1 -84
- package/dist/core/events/errors.js +1 -69
- package/dist/core/events/index.js +1 -4
- package/dist/core/events/operation-id.js +1 -24
- package/dist/core/events/read.js +1 -623
- package/dist/core/events/serialize.js +1 -199
- package/dist/core/events/source.js +1 -31
- package/dist/core/events/types.js +1 -11
- package/dist/core/exclusive-lock.js +1 -197
- package/dist/core/fault-classifier.js +1 -96
- package/dist/core/feed/feed.js +7 -202
- package/dist/core/feed/inbox-migrate.js +3 -135
- package/dist/core/feed/inbox.js +10 -122
- package/dist/core/feed/messages.js +6 -212
- package/dist/core/frontmatter.js +1 -35
- package/dist/core/fs-utils.js +3 -202
- package/dist/core/git.js +2 -103
- package/dist/core/help.js +9 -310
- package/dist/core/host-exports/builtins.js +9 -68
- package/dist/core/host-exports/export.js +3 -124
- package/dist/core/human/action-binding.js +1 -40
- package/dist/core/human/answer-text.js +5 -100
- package/dist/core/human/answer.js +1 -119
- package/dist/core/human/claim.js +3 -67
- package/dist/core/human/completion.js +1 -27
- package/dist/core/human/component-docs.js +78 -272
- package/dist/core/human/convention.js +2 -82
- package/dist/core/human/feedback-companion.js +1 -106
- package/dist/core/human/feedback.js +1 -88
- package/dist/core/human/page-authoring.js +1 -19
- package/dist/core/human/page-catalog.js +1 -172
- package/dist/core/human/page-errors.js +1 -7
- package/dist/core/human/page-eval.js +1 -125
- package/dist/core/human/page-html-markdown.js +8 -260
- package/dist/core/human/page-markdown.js +17 -295
- package/dist/core/human/page-schema.js +1 -373
- package/dist/core/human/page-synth.js +8 -27
- package/dist/core/human/page.js +1 -198
- package/dist/core/human/requests.js +15 -466
- package/dist/core/human/review-schema.js +1 -34
- package/dist/core/human/root.js +1 -11
- package/dist/core/human/scan.js +1 -69
- package/dist/core/human/summary.js +1 -5
- package/dist/core/human/tickets.js +1 -171
- package/dist/core/human/types.js +0 -1
- package/dist/core/human/visible-paths.js +1 -77
- package/dist/core/human-actions.js +1 -101
- package/dist/core/inspector/chrome.js +1 -14
- package/dist/core/inspector/contract.js +0 -1
- package/dist/core/inspector/core.js +2 -295
- package/dist/core/inspector/host.js +4 -538
- package/dist/core/inspector/model.js +2 -226
- package/dist/core/inspector/text.js +6 -45
- package/dist/core/inspector/transport.js +1 -36
- package/dist/core/inspector/tui.js +2 -295
- package/dist/core/installed-plugins.js +1 -78
- package/dist/core/io.js +7 -356
- package/dist/core/keybindings/attach-control.js +1 -42
- package/dist/core/keybindings/background-bash.js +1 -33
- package/dist/core/keybindings/catalog.js +1 -256
- package/dist/core/keybindings/inbox.js +1 -25
- package/dist/core/keybindings/index.js +1 -7
- package/dist/core/keybindings/match.js +1 -127
- package/dist/core/keybindings/persistence.js +1 -49
- package/dist/core/keybindings/resolve.js +1 -348
- package/dist/core/keybindings/types.js +0 -1
- package/dist/core/locked-file.js +1 -118
- package/dist/core/log.js +3 -27
- package/dist/core/manifest-recovery.js +1 -72
- package/dist/core/manifest-stale.js +1 -39
- package/dist/core/manifest.js +1 -20
- package/dist/core/memory/doc-link-grammar.js +2 -109
- package/dist/core/memory/extensions.js +1 -221
- package/dist/core/memory/history.js +6 -268
- package/dist/core/memory/identity.js +1 -181
- package/dist/core/memory/inline-ref-grammar.js +1 -98
- package/dist/core/memory/inline-ref-guidance.js +2 -35
- package/dist/core/memory/inline-ref-inventory.js +1 -59
- package/dist/core/memory/lint.js +2 -671
- package/dist/core/memory/project-namespace.js +2 -85
- package/dist/core/memory/repository-association.js +1 -129
- package/dist/core/memory/tree.js +1 -93
- package/dist/core/memory-resolver.js +2 -611
- package/dist/core/model-config.js +1 -107
- package/dist/core/model-routes.js +1 -201
- package/dist/core/nested-stores.js +2 -166
- package/dist/core/output.js +7 -99
- package/dist/core/pagination.js +1 -88
- package/dist/core/plugin-swap-lock.js +1 -31
- package/dist/core/pool-credential-store.js +1 -116
- package/dist/core/predicate.js +1 -191
- package/dist/core/preview-registry.js +2 -411
- package/dist/core/preview-result-path.js +1 -26
- package/dist/core/profiles/default-binding.js +1 -24
- package/dist/core/profiles/deletion-reservation.js +1 -42
- package/dist/core/profiles/env-store.js +2 -162
- package/dist/core/profiles/fuzzy-match.js +1 -92
- package/dist/core/profiles/manifest.js +1 -574
- package/dist/core/profiles/select.js +35 -741
- package/dist/core/profiles/state-block.js +3 -17
- package/dist/core/provider-error-recognition.js +1 -74
- package/dist/core/provider-failure.js +1 -86
- package/dist/core/provider-management.js +1 -22
- package/dist/core/remote-canvas-target.js +1 -30
- package/dist/core/render.js +18 -138
- package/dist/core/resolver.js +1 -111
- package/dist/core/review/birth.js +1 -52
- package/dist/core/review/comments.js +5 -279
- package/dist/core/review/companion.js +1 -215
- package/dist/core/review/document.js +2 -138
- package/dist/core/review/project.js +1 -36
- package/dist/core/review/realize.js +1 -71
- package/dist/core/review/remap.js +4 -141
- package/dist/core/review/signal.js +1 -12
- package/dist/core/review/stage.js +1 -184
- package/dist/core/review/store.js +1 -168
- package/dist/core/review/types.js +1 -23
- package/dist/core/runtime/advertised-command-invocation.js +1 -233
- package/dist/core/runtime/auth-reload.js +1 -67
- package/dist/core/runtime/banner.js +1 -51
- package/dist/core/runtime/bearings-render.js +18 -250
- package/dist/core/runtime/bearings.js +7 -194
- package/dist/core/runtime/bin-contributions.js +2 -186
- package/dist/core/runtime/boot-root.js +1 -107
- package/dist/core/runtime/branded-host.js +2 -264
- package/dist/core/runtime/broker/auth-reload.js +1 -157
- package/dist/core/runtime/broker/client-registry.js +1 -179
- package/dist/core/runtime/broker/daemon-ops.js +1 -88
- package/dist/core/runtime/broker/engine-drive.js +1 -354
- package/dist/core/runtime/broker/engine-routing.js +1 -211
- package/dist/core/runtime/broker/event-projection.js +1 -193
- package/dist/core/runtime/broker/extension-abort.js +1 -36
- package/dist/core/runtime/broker/fault-retry.js +1 -588
- package/dist/core/runtime/broker/frame-client.js +1 -132
- package/dist/core/runtime/broker/frame-dispatch.js +1 -183
- package/dist/core/runtime/broker/frame-engine-control.js +1 -231
- package/dist/core/runtime/broker/frame-memory-refs.js +1 -41
- package/dist/core/runtime/broker/frame-model-query.js +1 -69
- package/dist/core/runtime/broker/frame-read.js +1 -116
- package/dist/core/runtime/broker/frame-replies.js +1 -64
- package/dist/core/runtime/broker/frame-session.js +4 -203
- package/dist/core/runtime/broker/held-deferred-inbox.js +1 -13
- package/dist/core/runtime/broker/inbox.js +13 -163
- package/dist/core/runtime/broker/node-named.js +1 -27
- package/dist/core/runtime/broker/read-ops.js +1 -171
- package/dist/core/runtime/broker/rebind.js +1 -318
- package/dist/core/runtime/broker/tool-groups.js +1 -246
- package/dist/core/runtime/broker/turn-admission.js +1 -31
- package/dist/core/runtime/broker/turn-ignition.js +1 -84
- package/dist/core/runtime/broker-cli.js +3 -81
- package/dist/core/runtime/broker-extension-render.js +5 -135
- package/dist/core/runtime/broker-inventory.js +1 -116
- package/dist/core/runtime/broker-persona-guidance.js +4 -154
- package/dist/core/runtime/broker-protocol.js +3 -152
- package/dist/core/runtime/broker-request.js +1 -85
- package/dist/core/runtime/broker-sdk.js +1 -129
- package/dist/core/runtime/broker.js +1 -1214
- package/dist/core/runtime/canvas-extensions.js +1 -96
- package/dist/core/runtime/chat-inventory-rows.js +1 -105
- package/dist/core/runtime/close.js +1 -265
- package/dist/core/runtime/command-expansion.js +9 -104
- package/dist/core/runtime/command-surface.js +1 -117
- package/dist/core/runtime/connectivity.js +1 -73
- package/dist/core/runtime/deliver-live.js +1 -88
- package/dist/core/runtime/fault-recovery.js +1 -83
- package/dist/core/runtime/fault.js +1 -17
- package/dist/core/runtime/fleet.js +1 -58
- package/dist/core/runtime/front-door-env.js +1 -16
- package/dist/core/runtime/front-door.js +7 -183
- package/dist/core/runtime/headless-pi.js +1 -161
- package/dist/core/runtime/host.js +1 -457
- package/dist/core/runtime/interactive-deliver.js +1 -51
- package/dist/core/runtime/invocation.js +0 -10
- package/dist/core/runtime/kickoff.js +30 -327
- package/dist/core/runtime/launch-config-worker.js +1 -12
- package/dist/core/runtime/launch-prompt.js +4 -13
- package/dist/core/runtime/launch-target.js +1 -55
- package/dist/core/runtime/launch.js +1 -483
- package/dist/core/runtime/lifecycle.js +2 -213
- package/dist/core/runtime/managed-provider-cooling.js +1 -62
- package/dist/core/runtime/memory.js +1 -17
- package/dist/core/runtime/model-registry.js +1 -13
- package/dist/core/runtime/model-selection.js +1 -135
- package/dist/core/runtime/model-swap.js +1 -86
- package/dist/core/runtime/naming.js +14 -298
- package/dist/core/runtime/nerd-font.js +2 -127
- package/dist/core/runtime/node-read.js +2 -386
- package/dist/core/runtime/nodes.js +1 -331
- package/dist/core/runtime/outcome-document.js +1 -97
- package/dist/core/runtime/package-health.js +4 -99
- package/dist/core/runtime/persona.js +2 -55
- package/dist/core/runtime/pi-cli.js +1 -65
- package/dist/core/runtime/pi-vendored.js +1 -66
- package/dist/core/runtime/placement-tmux.js +1 -81
- package/dist/core/runtime/placement.js +1 -386
- package/dist/core/runtime/promote.js +1 -174
- package/dist/core/runtime/prospective-inventory-cli.js +3 -61
- package/dist/core/runtime/prospective-inventory.js +2 -88
- package/dist/core/runtime/recap.js +27 -103
- package/dist/core/runtime/recycle.js +1 -190
- package/dist/core/runtime/reopen.js +1 -138
- package/dist/core/runtime/reset.js +1 -245
- package/dist/core/runtime/resume-root.js +10 -290
- package/dist/core/runtime/revive-all.js +1 -107
- package/dist/core/runtime/revive.js +4 -544
- package/dist/core/runtime/roadmap.js +4 -38
- package/dist/core/runtime/session-branch.js +1 -46
- package/dist/core/runtime/session-cycles.js +1 -110
- package/dist/core/runtime/session-list-cache.js +1 -406
- package/dist/core/runtime/session-visibility.js +1 -99
- package/dist/core/runtime/shell-expansion.js +9 -100
- package/dist/core/runtime/situational-context.js +2 -67
- package/dist/core/runtime/situational-live.js +1 -41
- package/dist/core/runtime/spawn-env.js +1 -255
- package/dist/core/runtime/spawn.js +3 -577
- package/dist/core/runtime/stamp/channel.js +1 -76
- package/dist/core/runtime/stamp/protocol.js +1 -113
- package/dist/core/runtime/stop-guard.js +7 -116
- package/dist/core/runtime/stop-signals.js +1 -46
- package/dist/core/runtime/stream-watchdog.js +1 -134
- package/dist/core/runtime/structured-output.js +4 -156
- package/dist/core/runtime/surface-bg.js +1 -85
- package/dist/core/runtime/tmux-bindings.js +4 -730
- package/dist/core/runtime/tmux-chrome.js +1 -5
- package/dist/core/runtime/tmux-driver.js +7 -637
- package/dist/core/runtime/tool-group-summary.js +6 -85
- package/dist/core/runtime/turn-visibility.js +1 -31
- package/dist/core/runtime/view-socket.js +1 -83
- package/dist/core/runtime/warm-pool.js +1 -395
- package/dist/core/scope.js +1 -254
- package/dist/core/scoped-state/db.js +1 -135
- package/dist/core/scoped-state/migrate.js +3 -181
- package/dist/core/scoped-state/paths.js +1 -27
- package/dist/core/scoped-state/profiles.js +1 -62
- package/dist/core/scoped-state/providers.js +1 -8
- package/dist/core/scoped-state/schema.js +3 -16
- package/dist/core/scoped-state/settings.js +1 -82
- package/dist/core/secrets.js +2 -55
- package/dist/core/self-update.js +1 -71
- package/dist/core/session-model/session-state.js +1 -180
- package/dist/core/shell-segments.js +4 -169
- package/dist/core/spawn.js +1 -26
- package/dist/core/stdout-errors.js +1 -14
- package/dist/core/subscription-state.js +3 -193
- package/dist/core/substrate/frontmatter-validation.js +1 -105
- package/dist/core/substrate/gate-explain.js +1 -424
- package/dist/core/substrate/gate.js +1 -26
- package/dist/core/substrate/index.js +1 -30
- package/dist/core/substrate/injected-store.js +1 -249
- package/dist/core/substrate/listings.js +1 -115
- package/dist/core/substrate/on-read-node.js +1 -36
- package/dist/core/substrate/on-read.js +9 -315
- package/dist/core/substrate/plan.js +1 -266
- package/dist/core/substrate/render-node.js +1 -30
- package/dist/core/substrate/render.js +65 -689
- package/dist/core/substrate/schema.js +1 -186
- package/dist/core/substrate/session-cache.js +1 -83
- package/dist/core/substrate/subject-fields.js +1 -35
- package/dist/core/substrate/subject.js +1 -47
- package/dist/core/substrate/surface-match.js +1 -242
- package/dist/core/termrender/code-doc.js +5 -92
- package/dist/core/termrender/display.js +2 -56
- package/dist/core/termrender/termrender.js +14 -719
- package/dist/core/termrender/version.js +1 -1
- package/dist/core/timing.js +2 -94
- package/dist/core/tui/draw.js +2 -378
- package/dist/core/tui/fuzzy.js +1 -38
- package/dist/core/tui/markdown.js +3 -407
- package/dist/core/tui/page-host.js +1 -74
- package/dist/core/tui/panel.js +1 -137
- package/dist/core/tui/terminal.js +2 -100
- package/dist/core/user-settings.js +1 -454
- package/dist/core/wake.js +1 -296
- package/dist/core/worktree-close.js +6 -228
- package/dist/core/worktree-containment.js +3 -48
- package/dist/core/worktree-landing.js +4 -56
- package/dist/core/worktree-mutation-async.js +10 -280
- package/dist/core/worktree-quarantine.js +1 -54
- package/dist/core/worktree-sweep.js +6 -453
- package/dist/core/worktree.js +18 -899
- package/dist/daemon/api/bridge.js +8 -418
- package/dist/daemon/api/handlers/attach.js +1 -65
- package/dist/daemon/api/handlers/bash-jobs.js +2 -91
- package/dist/daemon/api/handlers/broker-ops.js +1 -447
- package/dist/daemon/api/handlers/broker-recovery.js +1 -251
- package/dist/daemon/api/handlers/canvas.js +6 -490
- package/dist/daemon/api/handlers/chat-inventory.js +1 -25
- package/dist/daemon/api/handlers/crons.js +1 -373
- package/dist/daemon/api/handlers/daemon.js +1 -76
- package/dist/daemon/api/handlers/feedback-comments.js +3 -199
- package/dist/daemon/api/handlers/files.js +1 -63
- package/dist/daemon/api/handlers/focus.js +1 -92
- package/dist/daemon/api/handlers/health.js +1 -76
- package/dist/daemon/api/handlers/human-requests.js +1 -379
- package/dist/daemon/api/handlers/human.js +1 -3
- package/dist/daemon/api/handlers/inbox-page.js +1 -89
- package/dist/daemon/api/handlers/inbox.js +1 -301
- package/dist/daemon/api/handlers/memory.js +1 -50
- package/dist/daemon/api/handlers/messages.js +2 -506
- package/dist/daemon/api/handlers/model-config.js +1 -44
- package/dist/daemon/api/handlers/modelauth.js +1 -165
- package/dist/daemon/api/handlers/node-outcomes.js +1 -181
- package/dist/daemon/api/handlers/nodes.js +1 -939
- package/dist/daemon/api/handlers/profiles.js +1 -140
- package/dist/daemon/api/handlers/prospective-chat-inventory.js +1 -59
- package/dist/daemon/api/handlers/reports.js +16 -332
- package/dist/daemon/api/handlers/review-comments.js +1 -465
- package/dist/daemon/api/handlers/reviews.js +1 -200
- package/dist/daemon/api/handlers/subscriptions.js +1 -53
- package/dist/daemon/api/handlers/validate.js +1 -58
- package/dist/daemon/api/handlers/worktree.js +1 -39
- package/dist/daemon/api/map.js +2 -735
- package/dist/daemon/api/router.js +1 -190
- package/dist/daemon/api/server.js +11 -408
- package/dist/daemon/boot-migrations.js +1 -31
- package/dist/daemon/companion-retire.js +1 -34
- package/dist/daemon/control.js +1 -22
- package/dist/daemon/cron/armed-context.js +1 -100
- package/dist/daemon/cron/capture.js +2 -45
- package/dist/daemon/cron/disposition.js +1 -55
- package/dist/daemon/cron/escalation.js +3 -124
- package/dist/daemon/cron/held.js +1 -20
- package/dist/daemon/cron/lease-recovery.js +1 -119
- package/dist/daemon/cron/live-runs.js +1 -23
- package/dist/daemon/cron/passes.js +1 -58
- package/dist/daemon/cron/settle.js +1 -61
- package/dist/daemon/cron/sinks.js +2 -59
- package/dist/daemon/cron-run.js +1 -405
- package/dist/daemon/crtrd-cli.js +1 -23
- package/dist/daemon/crtrd.js +8 -854
- package/dist/daemon/delivery/run-delivery.js +1 -164
- package/dist/daemon/fleet.js +17 -475
- package/dist/daemon/human/finish.js +10 -179
- package/dist/daemon/human/settle.js +1 -89
- package/dist/daemon/human/sweep.js +1 -66
- package/dist/daemon/manage.js +2 -595
- package/dist/daemon/messaging/node-message.js +1 -99
- package/dist/daemon/park-activity.js +1 -30
- package/dist/daemon/park-pending.js +1 -52
- package/dist/daemon/pidfile.js +1 -37
- package/dist/daemon/profile-delete.js +1 -306
- package/dist/daemon/reconcilers/bash-deadline.js +1 -80
- package/dist/daemon/reconcilers/broker-supervision.js +4 -761
- package/dist/daemon/reconcilers/controller-death.js +1 -14
- package/dist/daemon/reconcilers/cron-lane.js +1 -29
- package/dist/daemon/reconcilers/delivery-lane.js +1 -130
- package/dist/daemon/reconcilers/live-obligation.js +1 -87
- package/dist/daemon/reconcilers/managed-worktree-sweep.js +1 -202
- package/dist/daemon/reconcilers/node-deadline.js +1 -82
- package/dist/daemon/reconcilers/node-lifecycle/freeze-lane.js +1 -172
- package/dist/daemon/reconcilers/node-lifecycle/respawn-policy.js +1 -59
- package/dist/daemon/reconcilers/node-lifecycle/terminating.js +1 -12
- package/dist/daemon/reconcilers/node-lifecycle/tick.js +1 -146
- package/dist/daemon/reconcilers/node-lifecycle/wants-execution.js +1 -11
- package/dist/daemon/reconcilers/pending-review-submit.js +1 -36
- package/dist/daemon/reconcilers/storage-maintenance.js +1 -207
- package/dist/daemon/review/comment-notify.js +2 -109
- package/dist/daemon/review/companion.js +1 -29
- package/dist/daemon/review/deliver.js +3 -8
- package/dist/daemon/review/finish.js +1 -122
- package/dist/daemon/review/sweep.js +1 -18
- package/dist/daemon/startup-policy.js +1 -1
- package/dist/daemon/supervise-cadence.js +1 -6
- package/dist/hook-authoring.js +5 -447
- package/dist/hook-process.js +1 -34
- package/dist/index.js +1 -52
- package/dist/migrations/001-surfaces-frontmatter.js +1 -161
- package/dist/migrations/002-profile-project-memory.js +1 -72
- package/dist/migrations/003-repository-root-memory-identity/front-door.js +11 -231
- package/dist/migrations/003-repository-root-memory-identity/index.js +5 -513
- package/dist/migrations/003-repository-root-memory-identity/references.js +5 -469
- package/dist/migrations/003-repository-root-memory-identity/repository-facts.js +3 -349
- package/dist/migrations/activation.js +2 -89
- package/dist/migrations/convergent.js +2 -82
- package/dist/migrations/corpus.js +3 -483
- package/dist/migrations/frontmatter-splice.js +8 -176
- package/dist/migrations/profile-manifests.js +2 -70
- package/dist/migrations/registry.js +1 -42
- package/dist/migrations/runner.js +1 -85
- package/dist/migrations/types.js +0 -24
- package/dist/pi-extensions/broker-local.js +2 -106
- package/dist/pi-extensions/canvas-bash-valve.js +7 -461
- package/dist/pi-extensions/canvas-context-intro.js +2 -113
- package/dist/pi-extensions/canvas-doc-substrate.js +9 -178
- package/dist/pi-extensions/canvas-goal-capture.js +1 -83
- package/dist/pi-extensions/canvas-inbox-watcher.js +1 -1010
- package/dist/pi-extensions/canvas-passive-context.js +14 -203
- package/dist/pi-extensions/canvas-preview-result.js +2 -72
- package/dist/pi-extensions/canvas-prompt-scrub.js +2 -54
- package/dist/pi-extensions/canvas-recap.js +11 -405
- package/dist/pi-extensions/canvas-review-boundary.js +3 -63
- package/dist/pi-extensions/canvas-stamp.js +2 -77
- package/dist/pi-extensions/canvas-stophook.js +1 -643
- package/dist/pi-extensions/canvas-structured-output.js +13 -35
- package/dist/pi-extensions/canvas-tool-guide.js +9 -78
- package/dist/pi-extensions/envelope-merge.js +8 -29
- package/dist/prompts/review.js +20 -42
- package/dist/shared/birth-announcement.js +1 -25
- package/dist/shared/crtr-version.js +1 -18
- package/dist/shared/env.js +1 -214
- package/dist/shared/generated-context.js +11 -226
- package/dist/shared/predicates.js +1 -4
- package/dist/shared/shell-quote.js +1 -5
- package/dist/shared/tool-groups.js +1 -64
- package/dist/shared/working-activity.js +1 -27
- package/dist/suppress-experimental-warnings.js +1 -15
- package/dist/types.js +1 -185
- package/docs/public-api.md +10 -9
- package/package.json +6 -4
- package/runtime.lock.json +5 -5
- package/scripts/pack-minify.mjs +108 -0
- package/dist/api/__tests__/integration/client.test.d.ts +0 -1
- package/dist/api/__tests__/integration/client.test.js +0 -163
- package/dist/builtin-pi-packages/pi-crtr-extensions/__tests__/insights-active-init.test.ts +0 -98
- package/dist/builtin-pi-packages/pi-crtr-extensions/extensions/__tests__/crtr-commands.test.ts +0 -93
- package/dist/builtin-pi-packages/pi-crtr-extensions/extensions/__tests__/integration/provider-rotation.test.ts +0 -2530
- package/dist/clients/__tests__/helpers/human-daemon.d.ts +0 -11
- package/dist/clients/__tests__/helpers/human-daemon.js +0 -60
- package/dist/clients/attach/__tests__/attach-remote-readonly.test.d.ts +0 -1
- package/dist/clients/attach/__tests__/attach-remote-readonly.test.js +0 -97
- package/dist/clients/attach/__tests__/bash-call-width.test.d.ts +0 -1
- package/dist/clients/attach/__tests__/bash-call-width.test.js +0 -38
- package/dist/clients/attach/__tests__/chat-view-snapshot-ordering.test.d.ts +0 -1
- package/dist/clients/attach/__tests__/chat-view-snapshot-ordering.test.js +0 -175
- package/dist/clients/attach/__tests__/completion-frecency.test.d.ts +0 -1
- package/dist/clients/attach/__tests__/completion-frecency.test.js +0 -35
- package/dist/clients/attach/__tests__/context-message.test.d.ts +0 -1
- package/dist/clients/attach/__tests__/context-message.test.js +0 -130
- package/dist/clients/attach/__tests__/crtr-output.test.d.ts +0 -1
- package/dist/clients/attach/__tests__/crtr-output.test.js +0 -68
- package/dist/clients/attach/__tests__/diagram.test.d.ts +0 -1
- package/dist/clients/attach/__tests__/diagram.test.js +0 -42
- package/dist/clients/attach/__tests__/edit-diff.test.d.ts +0 -1
- package/dist/clients/attach/__tests__/edit-diff.test.js +0 -31
- package/dist/clients/attach/__tests__/frame-selection.test.d.ts +0 -1
- package/dist/clients/attach/__tests__/frame-selection.test.js +0 -84
- package/dist/clients/attach/__tests__/group-activity.test.d.ts +0 -1
- package/dist/clients/attach/__tests__/group-activity.test.js +0 -165
- package/dist/clients/attach/__tests__/oauth-dialog-lifecycle.test.d.ts +0 -1
- package/dist/clients/attach/__tests__/oauth-dialog-lifecycle.test.js +0 -83
- package/dist/clients/attach/__tests__/pane-tag-successor.test.d.ts +0 -1
- package/dist/clients/attach/__tests__/pane-tag-successor.test.js +0 -56
- package/dist/clients/attach/__tests__/profile-files.test.d.ts +0 -1
- package/dist/clients/attach/__tests__/profile-files.test.js +0 -21
- package/dist/clients/attach/__tests__/prompt-preview.test.d.ts +0 -1
- package/dist/clients/attach/__tests__/prompt-preview.test.js +0 -21
- package/dist/clients/attach/__tests__/ref-autocomplete.test.d.ts +0 -1
- package/dist/clients/attach/__tests__/ref-autocomplete.test.js +0 -64
- package/dist/clients/attach/__tests__/titled-editor-paste.test.d.ts +0 -1
- package/dist/clients/attach/__tests__/titled-editor-paste.test.js +0 -114
- package/dist/clients/attach/__tests__/titled-editor-preview.test.d.ts +0 -1
- package/dist/clients/attach/__tests__/titled-editor-preview.test.js +0 -83
- package/dist/clients/inbox/__tests__/integration/inbox-controller.test.d.ts +0 -1
- package/dist/clients/inbox/__tests__/integration/inbox-controller.test.js +0 -81
- package/dist/clients/inbox/__tests__/integration/mount-panel.test.d.ts +0 -1
- package/dist/clients/inbox/__tests__/integration/mount-panel.test.js +0 -135
- package/dist/clients/inbox/__tests__/integration/stale-row-activation.test.d.ts +0 -1
- package/dist/clients/inbox/__tests__/integration/stale-row-activation.test.js +0 -66
- package/dist/clients/inbox/review/__tests__/editor-roundtrip.test.d.ts +0 -1
- package/dist/clients/inbox/review/__tests__/editor-roundtrip.test.js +0 -35
- package/dist/clients/inbox/review/__tests__/review-core.test.d.ts +0 -1
- package/dist/clients/inbox/review/__tests__/review-core.test.js +0 -52
- package/dist/clients/inbox/review/__tests__/teardown-notice.test.d.ts +0 -1
- package/dist/clients/inbox/review/__tests__/teardown-notice.test.js +0 -100
- package/dist/commands/__tests__/api-client-cold-start-diagnostic.test.d.ts +0 -1
- package/dist/commands/__tests__/api-client-cold-start-diagnostic.test.js +0 -69
- package/dist/commands/__tests__/human.test.d.ts +0 -1
- package/dist/commands/__tests__/human.test.js +0 -172
- package/dist/commands/__tests__/integration/dashboard-snapshot.test.d.ts +0 -1
- package/dist/commands/__tests__/integration/dashboard-snapshot.test.js +0 -237
- package/dist/commands/__tests__/integration/migrate.test.d.ts +0 -1
- package/dist/commands/__tests__/integration/migrate.test.js +0 -1330
- package/dist/commands/__tests__/node-message.test.d.ts +0 -1
- package/dist/commands/__tests__/node-message.test.js +0 -112
- package/dist/commands/__tests__/node-new.test.d.ts +0 -1
- package/dist/commands/__tests__/node-new.test.js +0 -58
- package/dist/commands/__tests__/revive-now-gate.test.d.ts +0 -1
- package/dist/commands/__tests__/revive-now-gate.test.js +0 -62
- package/dist/commands/__tests__/seam/daemon-status.test.d.ts +0 -1
- package/dist/commands/__tests__/seam/daemon-status.test.js +0 -29
- package/dist/commands/__tests__/surface-reload-target.test.d.ts +0 -1
- package/dist/commands/__tests__/surface-reload-target.test.js +0 -21
- package/dist/commands/memory/__tests__/command-selector-and-mutation-guards.test.d.ts +0 -1
- package/dist/commands/memory/__tests__/command-selector-and-mutation-guards.test.js +0 -379
- package/dist/commands/memory/__tests__/memory-list-and-lint-ignore.test.d.ts +0 -1
- package/dist/commands/memory/__tests__/memory-list-and-lint-ignore.test.js +0 -124
- package/dist/commands/memory/__tests__/repository-root-lint.test.d.ts +0 -1
- package/dist/commands/memory/__tests__/repository-root-lint.test.js +0 -148
- package/dist/commands/sys/__tests__/config-model-ladders.test.d.ts +0 -1
- package/dist/commands/sys/__tests__/config-model-ladders.test.js +0 -114
- package/dist/commands/sys/__tests__/setup-core.test.d.ts +0 -1
- package/dist/commands/sys/__tests__/setup-core.test.js +0 -45
- package/dist/commands/sys/__tests__/sync-project-guidance.test.d.ts +0 -1
- package/dist/commands/sys/__tests__/sync-project-guidance.test.js +0 -244
- package/dist/core/__tests__/bash-guard.test.d.ts +0 -1
- package/dist/core/__tests__/bash-guard.test.js +0 -190
- package/dist/core/__tests__/boot-fault-attempt.test.d.ts +0 -1
- package/dist/core/__tests__/boot-fault-attempt.test.js +0 -105
- package/dist/core/__tests__/boot.test.d.ts +0 -1
- package/dist/core/__tests__/boot.test.js +0 -274
- package/dist/core/__tests__/branded-host-concurrency.test.d.ts +0 -1
- package/dist/core/__tests__/branded-host-concurrency.test.js +0 -72
- package/dist/core/__tests__/broker-extension-canvas-db-boundary.test.d.ts +0 -1
- package/dist/core/__tests__/broker-extension-canvas-db-boundary.test.js +0 -75
- package/dist/core/__tests__/broker-launch-candidates.test.d.ts +0 -1
- package/dist/core/__tests__/broker-launch-candidates.test.js +0 -311
- package/dist/core/__tests__/broker-preflight.test.d.ts +0 -1
- package/dist/core/__tests__/broker-preflight.test.js +0 -95
- package/dist/core/__tests__/broker-stream-watchdog-floor.test.d.ts +0 -1
- package/dist/core/__tests__/broker-stream-watchdog-floor.test.js +0 -82
- package/dist/core/__tests__/broker-turn-admission.test.d.ts +0 -1
- package/dist/core/__tests__/broker-turn-admission.test.js +0 -44
- package/dist/core/__tests__/canvas-db-boundary.test.d.ts +0 -1
- package/dist/core/__tests__/canvas-db-boundary.test.js +0 -46
- package/dist/core/__tests__/canvas-inbox-watcher-hold.test.d.ts +0 -1
- package/dist/core/__tests__/canvas-inbox-watcher-hold.test.js +0 -710
- package/dist/core/__tests__/canvas-inbox-watcher-naming.test.d.ts +0 -1
- package/dist/core/__tests__/canvas-inbox-watcher-naming.test.js +0 -310
- package/dist/core/__tests__/canvas-inbox-watcher.test.d.ts +0 -1
- package/dist/core/__tests__/canvas-inbox-watcher.test.js +0 -397
- package/dist/core/__tests__/canvas.test.d.ts +0 -1
- package/dist/core/__tests__/canvas.test.js +0 -138
- package/dist/core/__tests__/child-death-wake.test.d.ts +0 -1
- package/dist/core/__tests__/child-death-wake.test.js +0 -153
- package/dist/core/__tests__/cli-help-contract.test.d.ts +0 -1
- package/dist/core/__tests__/cli-help-contract.test.js +0 -152
- package/dist/core/__tests__/close.test.d.ts +0 -1
- package/dist/core/__tests__/close.test.js +0 -284
- package/dist/core/__tests__/collectible.test.d.ts +0 -1
- package/dist/core/__tests__/collectible.test.js +0 -89
- package/dist/core/__tests__/config-change-delta.test.d.ts +0 -1
- package/dist/core/__tests__/config-change-delta.test.js +0 -108
- package/dist/core/__tests__/context-intro.test.d.ts +0 -1
- package/dist/core/__tests__/context-intro.test.js +0 -123
- package/dist/core/__tests__/cron-armed-context-failure.test.d.ts +0 -1
- package/dist/core/__tests__/cron-armed-context-failure.test.js +0 -150
- package/dist/core/__tests__/cron-held-settlement.test.d.ts +0 -1
- package/dist/core/__tests__/cron-held-settlement.test.js +0 -240
- package/dist/core/__tests__/cron-node-sink-parked-root.test.d.ts +0 -1
- package/dist/core/__tests__/cron-node-sink-parked-root.test.js +0 -166
- package/dist/core/__tests__/cron-self-cancel-delivery.test.d.ts +0 -1
- package/dist/core/__tests__/cron-self-cancel-delivery.test.js +0 -84
- package/dist/core/__tests__/cron-timeout-descendants.test.d.ts +0 -1
- package/dist/core/__tests__/cron-timeout-descendants.test.js +0 -114
- package/dist/core/__tests__/daemon-boot.test.d.ts +0 -1
- package/dist/core/__tests__/daemon-boot.test.js +0 -422
- package/dist/core/__tests__/daemon-wedge.test.d.ts +0 -1
- package/dist/core/__tests__/daemon-wedge.test.js +0 -106
- package/dist/core/__tests__/dead-node-policy-table.test.d.ts +0 -1
- package/dist/core/__tests__/dead-node-policy-table.test.js +0 -77
- package/dist/core/__tests__/events-contract.test.d.ts +0 -1
- package/dist/core/__tests__/events-contract.test.js +0 -76
- package/dist/core/__tests__/extension-abort.test.d.ts +0 -1
- package/dist/core/__tests__/extension-abort.test.js +0 -21
- package/dist/core/__tests__/fault-classifier.test.d.ts +0 -1
- package/dist/core/__tests__/fault-classifier.test.js +0 -138
- package/dist/core/__tests__/fixtures/api-server-host.d.ts +0 -1
- package/dist/core/__tests__/fixtures/api-server-host.js +0 -47
- package/dist/core/__tests__/fixtures/c3-custom-provider-ext.d.ts +0 -2
- package/dist/core/__tests__/fixtures/c3-custom-provider-ext.js +0 -34
- package/dist/core/__tests__/fixtures/c5-command-boundary-ext.d.ts +0 -2
- package/dist/core/__tests__/fixtures/c5-command-boundary-ext.js +0 -32
- package/dist/core/__tests__/fixtures/fake-engine.d.ts +0 -347
- package/dist/core/__tests__/fixtures/fake-engine.js +0 -1509
- package/dist/core/__tests__/fixtures/fake-pi-host.d.ts +0 -2
- package/dist/core/__tests__/fixtures/fake-pi-host.js +0 -311
- package/dist/core/__tests__/fixtures/memory-slash-live-probe.d.ts +0 -1
- package/dist/core/__tests__/fixtures/memory-slash-live-probe.js +0 -75
- package/dist/core/__tests__/fixtures/metadata-migration-race.d.ts +0 -1
- package/dist/core/__tests__/fixtures/metadata-migration-race.js +0 -49
- package/dist/core/__tests__/focuses.test.d.ts +0 -1
- package/dist/core/__tests__/focuses.test.js +0 -113
- package/dist/core/__tests__/fs-utils.test.d.ts +0 -1
- package/dist/core/__tests__/fs-utils.test.js +0 -50
- package/dist/core/__tests__/helpers/broker-clients.d.ts +0 -43
- package/dist/core/__tests__/helpers/broker-clients.js +0 -174
- package/dist/core/__tests__/helpers/fleet.d.ts +0 -12
- package/dist/core/__tests__/helpers/fleet.js +0 -50
- package/dist/core/__tests__/helpers/harness.d.ts +0 -124
- package/dist/core/__tests__/helpers/harness.js +0 -806
- package/dist/core/__tests__/helpers/viewer-panes.d.ts +0 -12
- package/dist/core/__tests__/helpers/viewer-panes.js +0 -133
- package/dist/core/__tests__/history-inbox.test.d.ts +0 -1
- package/dist/core/__tests__/history-inbox.test.js +0 -121
- package/dist/core/__tests__/human-action-delivery.test.d.ts +0 -1
- package/dist/core/__tests__/human-action-delivery.test.js +0 -162
- package/dist/core/__tests__/human-actions.test.d.ts +0 -1
- package/dist/core/__tests__/human-actions.test.js +0 -120
- package/dist/core/__tests__/inline-memory-refs.test.d.ts +0 -1
- package/dist/core/__tests__/inline-memory-refs.test.js +0 -225
- package/dist/core/__tests__/integration/broker-fork-seam.test.d.ts +0 -1
- package/dist/core/__tests__/integration/broker-fork-seam.test.js +0 -193
- package/dist/core/__tests__/integration/broker-sdk-wiring.test.d.ts +0 -1
- package/dist/core/__tests__/integration/broker-sdk-wiring.test.js +0 -750
- package/dist/core/__tests__/integration/broker-snapshot-history.test.d.ts +0 -1
- package/dist/core/__tests__/integration/broker-snapshot-history.test.js +0 -288
- package/dist/core/__tests__/integration/broker-wedge-supervision.test.d.ts +0 -1
- package/dist/core/__tests__/integration/broker-wedge-supervision.test.js +0 -103
- package/dist/core/__tests__/integration/command-plugins.test.d.ts +0 -1
- package/dist/core/__tests__/integration/command-plugins.test.js +0 -1200
- package/dist/core/__tests__/integration/deferred-no-wake.test.d.ts +0 -1
- package/dist/core/__tests__/integration/deferred-no-wake.test.js +0 -610
- package/dist/core/__tests__/integration/flagship-lifecycle.test.d.ts +0 -1
- package/dist/core/__tests__/integration/flagship-lifecycle.test.js +0 -264
- package/dist/core/__tests__/integration/fresh-home-commands.test.d.ts +0 -1
- package/dist/core/__tests__/integration/fresh-home-commands.test.js +0 -49
- package/dist/core/__tests__/integration/git-optional-locks.test.d.ts +0 -1
- package/dist/core/__tests__/integration/git-optional-locks.test.js +0 -81
- package/dist/core/__tests__/integration/host-teardown-process-group.test.d.ts +0 -1
- package/dist/core/__tests__/integration/host-teardown-process-group.test.js +0 -480
- package/dist/core/__tests__/integration/lifecycle-hooks.test.d.ts +0 -1
- package/dist/core/__tests__/integration/lifecycle-hooks.test.js +0 -498
- package/dist/core/__tests__/integration/live-mutation-verbs.test.d.ts +0 -1
- package/dist/core/__tests__/integration/live-mutation-verbs.test.js +0 -180
- package/dist/core/__tests__/integration/live-mutation.test.d.ts +0 -1
- package/dist/core/__tests__/integration/live-mutation.test.js +0 -173
- package/dist/core/__tests__/integration/plugin-revalidate.test.d.ts +0 -1
- package/dist/core/__tests__/integration/plugin-revalidate.test.js +0 -359
- package/dist/core/__tests__/integration/profile-pause.test.d.ts +0 -1
- package/dist/core/__tests__/integration/profile-pause.test.js +0 -115
- package/dist/core/__tests__/integration/refresh-stall-recycle.test.d.ts +0 -1
- package/dist/core/__tests__/integration/refresh-stall-recycle.test.js +0 -151
- package/dist/core/__tests__/integration/revive.test.d.ts +0 -1
- package/dist/core/__tests__/integration/revive.test.js +0 -615
- package/dist/core/__tests__/integration/spawn-root.test.d.ts +0 -1
- package/dist/core/__tests__/integration/spawn-root.test.js +0 -536
- package/dist/core/__tests__/integration/subscription-delivery.test.d.ts +0 -1
- package/dist/core/__tests__/integration/subscription-delivery.test.js +0 -132
- package/dist/core/__tests__/integration/tmux-surface.test.d.ts +0 -1
- package/dist/core/__tests__/integration/tmux-surface.test.js +0 -330
- package/dist/core/__tests__/integration/worktree-land.test.d.ts +0 -1
- package/dist/core/__tests__/integration/worktree-land.test.js +0 -607
- package/dist/core/__tests__/integration/worktree-reap.test.d.ts +0 -1
- package/dist/core/__tests__/integration/worktree-reap.test.js +0 -842
- package/dist/core/__tests__/kickoff.test.d.ts +0 -1
- package/dist/core/__tests__/kickoff.test.js +0 -196
- package/dist/core/__tests__/lifecycle-terminal-reasons.test.d.ts +0 -1
- package/dist/core/__tests__/lifecycle-terminal-reasons.test.js +0 -62
- package/dist/core/__tests__/lifecycle.test.d.ts +0 -1
- package/dist/core/__tests__/lifecycle.test.js +0 -176
- package/dist/core/__tests__/live-lifecycle-prompt.test.d.ts +0 -1
- package/dist/core/__tests__/live-lifecycle-prompt.test.js +0 -63
- package/dist/core/__tests__/memory-resolver-precedence.test.d.ts +0 -1
- package/dist/core/__tests__/memory-resolver-precedence.test.js +0 -228
- package/dist/core/__tests__/migration.test.d.ts +0 -1
- package/dist/core/__tests__/migration.test.js +0 -946
- package/dist/core/__tests__/model-pin-durability.test.d.ts +0 -1
- package/dist/core/__tests__/model-pin-durability.test.js +0 -195
- package/dist/core/__tests__/model-routes-config.test.d.ts +0 -1
- package/dist/core/__tests__/model-routes-config.test.js +0 -150
- package/dist/core/__tests__/nested-store-discovery.test.d.ts +0 -1
- package/dist/core/__tests__/nested-store-discovery.test.js +0 -89
- package/dist/core/__tests__/node-outcome.test.d.ts +0 -1
- package/dist/core/__tests__/node-outcome.test.js +0 -246
- package/dist/core/__tests__/on-read-crouter-home-fence.test.d.ts +0 -1
- package/dist/core/__tests__/on-read-crouter-home-fence.test.js +0 -66
- package/dist/core/__tests__/on-read-dedup-resume.test.d.ts +0 -1
- package/dist/core/__tests__/on-read-dedup-resume.test.js +0 -132
- package/dist/core/__tests__/on-read-nested-store.test.d.ts +0 -1
- package/dist/core/__tests__/on-read-nested-store.test.js +0 -135
- package/dist/core/__tests__/parse-argv-stdin-secret.test.d.ts +0 -1
- package/dist/core/__tests__/parse-argv-stdin-secret.test.js +0 -68
- package/dist/core/__tests__/passive-subscription.test.d.ts +0 -1
- package/dist/core/__tests__/passive-subscription.test.js +0 -120
- package/dist/core/__tests__/pid-identity-match.test.d.ts +0 -1
- package/dist/core/__tests__/pid-identity-match.test.js +0 -145
- package/dist/core/__tests__/pid-zombie.test.d.ts +0 -1
- package/dist/core/__tests__/pid-zombie.test.js +0 -42
- package/dist/core/__tests__/plugin-kinds.test.d.ts +0 -1
- package/dist/core/__tests__/plugin-kinds.test.js +0 -182
- package/dist/core/__tests__/plugin-link-symlinked-scope-root.test.d.ts +0 -1
- package/dist/core/__tests__/plugin-link-symlinked-scope-root.test.js +0 -43
- package/dist/core/__tests__/plugin-page-components.test.d.ts +0 -1
- package/dist/core/__tests__/plugin-page-components.test.js +0 -159
- package/dist/core/__tests__/preview-mirror-cap.test.d.ts +0 -1
- package/dist/core/__tests__/preview-mirror-cap.test.js +0 -53
- package/dist/core/__tests__/preview-registry-sync.test.d.ts +0 -1
- package/dist/core/__tests__/preview-registry-sync.test.js +0 -107
- package/dist/core/__tests__/profile-project-memory-delivery.test.d.ts +0 -1
- package/dist/core/__tests__/profile-project-memory-delivery.test.js +0 -644
- package/dist/core/__tests__/prospective-inventory-capability-parity.test.d.ts +0 -1
- package/dist/core/__tests__/prospective-inventory-capability-parity.test.js +0 -91
- package/dist/core/__tests__/prune.test.d.ts +0 -1
- package/dist/core/__tests__/prune.test.js +0 -243
- package/dist/core/__tests__/push-final-guard.test.d.ts +0 -1
- package/dist/core/__tests__/push-final-guard.test.js +0 -191
- package/dist/core/__tests__/relaunch-root.test.d.ts +0 -1
- package/dist/core/__tests__/relaunch-root.test.js +0 -249
- package/dist/core/__tests__/remote-canvas-target.test.d.ts +0 -1
- package/dist/core/__tests__/remote-canvas-target.test.js +0 -93
- package/dist/core/__tests__/repository-association.test.d.ts +0 -1
- package/dist/core/__tests__/repository-association.test.js +0 -153
- package/dist/core/__tests__/repository-root-identity.test.d.ts +0 -1
- package/dist/core/__tests__/repository-root-identity.test.js +0 -223
- package/dist/core/__tests__/respawn-throttle.test.d.ts +0 -1
- package/dist/core/__tests__/respawn-throttle.test.js +0 -20
- package/dist/core/__tests__/review-model-floor.test.d.ts +0 -1
- package/dist/core/__tests__/review-model-floor.test.js +0 -83
- package/dist/core/__tests__/revive-all.test.d.ts +0 -1
- package/dist/core/__tests__/revive-all.test.js +0 -157
- package/dist/core/__tests__/revive-capacity.test.d.ts +0 -1
- package/dist/core/__tests__/revive-capacity.test.js +0 -184
- package/dist/core/__tests__/revive-parked-fresh.test.d.ts +0 -1
- package/dist/core/__tests__/revive-parked-fresh.test.js +0 -176
- package/dist/core/__tests__/scope-crouter-home-fence.test.d.ts +0 -1
- package/dist/core/__tests__/scope-crouter-home-fence.test.js +0 -55
- package/dist/core/__tests__/seam/broker-attach-multiclient.test.d.ts +0 -1
- package/dist/core/__tests__/seam/broker-attach-multiclient.test.js +0 -262
- package/dist/core/__tests__/seam/broker-attach-stream.test.d.ts +0 -1
- package/dist/core/__tests__/seam/broker-attach-stream.test.js +0 -176
- package/dist/core/__tests__/seam/broker-cap-freeze.test.d.ts +0 -1
- package/dist/core/__tests__/seam/broker-cap-freeze.test.js +0 -155
- package/dist/core/__tests__/seam/broker-crash-teardown.test.d.ts +0 -1
- package/dist/core/__tests__/seam/broker-crash-teardown.test.js +0 -131
- package/dist/core/__tests__/seam/broker-pane-resolution.test.d.ts +0 -1
- package/dist/core/__tests__/seam/broker-pane-resolution.test.js +0 -204
- package/dist/core/__tests__/seam/broker-provider-retry.test.d.ts +0 -1
- package/dist/core/__tests__/seam/broker-provider-retry.test.js +0 -686
- package/dist/core/__tests__/seam/broker-startup-diagnostics.test.d.ts +0 -1
- package/dist/core/__tests__/seam/broker-startup-diagnostics.test.js +0 -82
- package/dist/core/__tests__/seam/broker-whip-interrupt.test.d.ts +0 -1
- package/dist/core/__tests__/seam/broker-whip-interrupt.test.js +0 -50
- package/dist/core/__tests__/seam/deadline-wake-delivery.test.d.ts +0 -1
- package/dist/core/__tests__/seam/deadline-wake-delivery.test.js +0 -138
- package/dist/core/__tests__/seam/dormancy-release.test.d.ts +0 -1
- package/dist/core/__tests__/seam/dormancy-release.test.js +0 -516
- package/dist/core/__tests__/seam/held-deferred-human-prompt.test.d.ts +0 -1
- package/dist/core/__tests__/seam/held-deferred-human-prompt.test.js +0 -65
- package/dist/core/__tests__/seam/inbox-reference-guidance.test.d.ts +0 -1
- package/dist/core/__tests__/seam/inbox-reference-guidance.test.js +0 -84
- package/dist/core/__tests__/seam/memory-slash-node-relative-inventory.test.d.ts +0 -1
- package/dist/core/__tests__/seam/memory-slash-node-relative-inventory.test.js +0 -160
- package/dist/core/__tests__/seam/node-outcome-delivery.test.d.ts +0 -1
- package/dist/core/__tests__/seam/node-outcome-delivery.test.js +0 -177
- package/dist/core/__tests__/seam/prospective-inventory-stdout.test.d.ts +0 -1
- package/dist/core/__tests__/seam/prospective-inventory-stdout.test.js +0 -31
- package/dist/core/__tests__/seam/reopen-invalidated-worktree.test.d.ts +0 -1
- package/dist/core/__tests__/seam/reopen-invalidated-worktree.test.js +0 -60
- package/dist/core/__tests__/seam/self-close-teardown.test.d.ts +0 -1
- package/dist/core/__tests__/seam/self-close-teardown.test.js +0 -49
- package/dist/core/__tests__/seam/yield-refresh-transaction.test.d.ts +0 -1
- package/dist/core/__tests__/seam/yield-refresh-transaction.test.js +0 -100
- package/dist/core/__tests__/secrets.test.d.ts +0 -1
- package/dist/core/__tests__/secrets.test.js +0 -49
- package/dist/core/__tests__/self-update.test.d.ts +0 -1
- package/dist/core/__tests__/self-update.test.js +0 -46
- package/dist/core/__tests__/session-branch.test.d.ts +0 -1
- package/dist/core/__tests__/session-branch.test.js +0 -61
- package/dist/core/__tests__/session-cycles.test.d.ts +0 -1
- package/dist/core/__tests__/session-cycles.test.js +0 -133
- package/dist/core/__tests__/session-model.test.d.ts +0 -1
- package/dist/core/__tests__/session-model.test.js +0 -111
- package/dist/core/__tests__/spawn-worktree-id-conflict.test.d.ts +0 -1
- package/dist/core/__tests__/spawn-worktree-id-conflict.test.js +0 -71
- package/dist/core/__tests__/stdin-body-no-discard.test.d.ts +0 -1
- package/dist/core/__tests__/stdin-body-no-discard.test.js +0 -33
- package/dist/core/__tests__/stdout-errors.test.d.ts +0 -1
- package/dist/core/__tests__/stdout-errors.test.js +0 -16
- package/dist/core/__tests__/stop-guard.test.d.ts +0 -1
- package/dist/core/__tests__/stop-guard.test.js +0 -237
- package/dist/core/__tests__/stream-watchdog.test.d.ts +0 -1
- package/dist/core/__tests__/stream-watchdog.test.js +0 -154
- package/dist/core/__tests__/subscription-pool-credential-guard.test.d.ts +0 -1
- package/dist/core/__tests__/subscription-pool-credential-guard.test.js +0 -95
- package/dist/core/__tests__/tmux-driver-boundary.test.d.ts +0 -1
- package/dist/core/__tests__/tmux-driver-boundary.test.js +0 -50
- package/dist/core/__tests__/warm-claim-preference-snapshot.test.d.ts +0 -1
- package/dist/core/__tests__/warm-claim-preference-snapshot.test.js +0 -54
- package/dist/core/__tests__/worktree-landing.test.d.ts +0 -1
- package/dist/core/__tests__/worktree-landing.test.js +0 -11
- package/dist/core/__tests__/yield-ensures-daemon.test.d.ts +0 -1
- package/dist/core/__tests__/yield-ensures-daemon.test.js +0 -55
- package/dist/core/broker-client/__tests__/transport-relay.test.d.ts +0 -1
- package/dist/core/broker-client/__tests__/transport-relay.test.js +0 -214
- package/dist/core/broker-client/__tests__/transport-socket.test.d.ts +0 -1
- package/dist/core/broker-client/__tests__/transport-socket.test.js +0 -73
- package/dist/core/canvas/__tests__/attention.test.d.ts +0 -1
- package/dist/core/canvas/__tests__/attention.test.js +0 -83
- package/dist/core/canvas/__tests__/history-transcript.test.d.ts +0 -1
- package/dist/core/canvas/__tests__/history-transcript.test.js +0 -102
- package/dist/core/canvas/__tests__/remote-canvas-source.test.d.ts +0 -1
- package/dist/core/canvas/__tests__/remote-canvas-source.test.js +0 -328
- package/dist/core/canvas/__tests__/remote-transport.test.d.ts +0 -1
- package/dist/core/canvas/__tests__/remote-transport.test.js +0 -97
- package/dist/core/canvas/__tests__/render-remote.test.d.ts +0 -1
- package/dist/core/canvas/__tests__/render-remote.test.js +0 -243
- package/dist/core/canvas/__tests__/session-window.test.d.ts +0 -1
- package/dist/core/canvas/__tests__/session-window.test.js +0 -70
- package/dist/core/feed/__tests__/inbox-migrate.test.d.ts +0 -1
- package/dist/core/feed/__tests__/inbox-migrate.test.js +0 -49
- package/dist/core/human/__tests__/page-catalog.test.d.ts +0 -1
- package/dist/core/human/__tests__/page-catalog.test.js +0 -20
- package/dist/core/human/__tests__/page-html-markdown.test.d.ts +0 -1
- package/dist/core/human/__tests__/page-html-markdown.test.js +0 -48
- package/dist/core/human/__tests__/page.test.d.ts +0 -1
- package/dist/core/human/__tests__/page.test.js +0 -92
- package/dist/core/keybindings/__tests__/resolve.test.d.ts +0 -1
- package/dist/core/keybindings/__tests__/resolve.test.js +0 -171
- package/dist/core/profiles/__tests__/env-store.test.d.ts +0 -1
- package/dist/core/profiles/__tests__/env-store.test.js +0 -99
- package/dist/core/profiles/__tests__/fuzzy-match.test.d.ts +0 -1
- package/dist/core/profiles/__tests__/fuzzy-match.test.js +0 -51
- package/dist/core/profiles/__tests__/root-profile.test.d.ts +0 -1
- package/dist/core/profiles/__tests__/root-profile.test.js +0 -59
- package/dist/core/review/__tests__/capture-origin.test.d.ts +0 -1
- package/dist/core/review/__tests__/capture-origin.test.js +0 -150
- package/dist/core/review/__tests__/comments.test.d.ts +0 -1
- package/dist/core/review/__tests__/comments.test.js +0 -116
- package/dist/core/review/__tests__/remap.test.d.ts +0 -1
- package/dist/core/review/__tests__/remap.test.js +0 -177
- package/dist/core/review/__tests__/stage-identity.test.d.ts +0 -1
- package/dist/core/review/__tests__/stage-identity.test.js +0 -150
- package/dist/core/runtime/__tests__/engine-route.test.d.ts +0 -1
- package/dist/core/runtime/__tests__/engine-route.test.js +0 -36
- package/dist/core/runtime/__tests__/install-id-cache-scoping.test.d.ts +0 -1
- package/dist/core/runtime/__tests__/install-id-cache-scoping.test.js +0 -45
- package/dist/core/runtime/__tests__/node-env.test.d.ts +0 -1
- package/dist/core/runtime/__tests__/node-env.test.js +0 -73
- package/dist/core/runtime/__tests__/spawn-env.test.d.ts +0 -1
- package/dist/core/runtime/__tests__/spawn-env.test.js +0 -259
- package/dist/core/substrate/__tests__/surface-match-command.test.d.ts +0 -1
- package/dist/core/substrate/__tests__/surface-match-command.test.js +0 -89
- package/dist/core/substrate/__tests__/surface-match-memory-read.test.d.ts +0 -1
- package/dist/core/substrate/__tests__/surface-match-memory-read.test.js +0 -28
- package/dist/core/substrate/__tests__/surface-match-pre-command.test.d.ts +0 -1
- package/dist/core/substrate/__tests__/surface-match-pre-command.test.js +0 -92
- package/dist/daemon/__tests__/autostart-storm.test.d.ts +0 -1
- package/dist/daemon/__tests__/autostart-storm.test.js +0 -128
- package/dist/daemon/__tests__/broker-ownership.test.d.ts +0 -1
- package/dist/daemon/__tests__/broker-ownership.test.js +0 -25
- package/dist/daemon/__tests__/daemon-ownership.test.d.ts +0 -1
- package/dist/daemon/__tests__/daemon-ownership.test.js +0 -27
- package/dist/daemon/__tests__/helpers/source-daemon.d.ts +0 -30
- package/dist/daemon/__tests__/helpers/source-daemon.js +0 -176
- package/dist/daemon/__tests__/integration/api-startup-readiness.test.d.ts +0 -1
- package/dist/daemon/__tests__/integration/api-startup-readiness.test.js +0 -83
- package/dist/daemon/__tests__/integration/migration-startup.test.d.ts +0 -1
- package/dist/daemon/__tests__/integration/migration-startup.test.js +0 -127
- package/dist/daemon/__tests__/node-deadline-lane.test.d.ts +0 -1
- package/dist/daemon/__tests__/node-deadline-lane.test.js +0 -77
- package/dist/daemon/__tests__/node-outcome-birth-invariants.test.d.ts +0 -1
- package/dist/daemon/__tests__/node-outcome-birth-invariants.test.js +0 -146
- package/dist/daemon/__tests__/node-outcome-delivery.test.d.ts +0 -1
- package/dist/daemon/__tests__/node-outcome-delivery.test.js +0 -116
- package/dist/daemon/__tests__/reconciler-signature.test.d.ts +0 -1
- package/dist/daemon/__tests__/reconciler-signature.test.js +0 -37
- package/dist/daemon/__tests__/subtree-filter-freshness.test.d.ts +0 -1
- package/dist/daemon/__tests__/subtree-filter-freshness.test.js +0 -63
- package/dist/daemon/__tests__/thaw-order.test.d.ts +0 -1
- package/dist/daemon/__tests__/thaw-order.test.js +0 -55
- package/dist/daemon/api/__tests__/bridge-heartbeat.test.d.ts +0 -1
- package/dist/daemon/api/__tests__/bridge-heartbeat.test.js +0 -58
- package/dist/daemon/api/__tests__/broker-settle-park.test.d.ts +0 -1
- package/dist/daemon/api/__tests__/broker-settle-park.test.js +0 -175
- package/dist/daemon/api/__tests__/canvas-snapshot-fields.test.d.ts +0 -1
- package/dist/daemon/api/__tests__/canvas-snapshot-fields.test.js +0 -216
- package/dist/daemon/api/__tests__/error-seam.test.d.ts +0 -1
- package/dist/daemon/api/__tests__/error-seam.test.js +0 -83
- package/dist/daemon/api/__tests__/model-config.test.d.ts +0 -1
- package/dist/daemon/api/__tests__/model-config.test.js +0 -73
- package/dist/daemon/api/__tests__/node-create-description.test.d.ts +0 -1
- package/dist/daemon/api/__tests__/node-create-description.test.js +0 -127
- package/dist/daemon/api/__tests__/node-model-validation.test.d.ts +0 -1
- package/dist/daemon/api/__tests__/node-model-validation.test.js +0 -183
- package/dist/daemon/api/__tests__/nodes-activity-query.test.d.ts +0 -1
- package/dist/daemon/api/__tests__/nodes-activity-query.test.js +0 -99
- package/dist/daemon/api/__tests__/profile-launch-gates.test.d.ts +0 -1
- package/dist/daemon/api/__tests__/profile-launch-gates.test.js +0 -172
- package/dist/daemon/api/__tests__/profile-metadata-route.test.d.ts +0 -1
- package/dist/daemon/api/__tests__/profile-metadata-route.test.js +0 -95
- package/dist/daemon/api/__tests__/reopen-delivery.test.d.ts +0 -1
- package/dist/daemon/api/__tests__/reopen-delivery.test.js +0 -260
- package/dist/daemon/api/__tests__/seam/api-server.test.d.ts +0 -1
- package/dist/daemon/api/__tests__/seam/api-server.test.js +0 -442
- package/dist/daemon/api/__tests__/seam/b10-attach-modelauth.test.d.ts +0 -1
- package/dist/daemon/api/__tests__/seam/b10-attach-modelauth.test.js +0 -310
- package/dist/daemon/api/__tests__/seam/leaf-api-parity.test.d.ts +0 -1
- package/dist/daemon/api/__tests__/seam/leaf-api-parity.test.js +0 -351
- package/dist/daemon/api/__tests__/seam/node-outcome-api.test.d.ts +0 -1
- package/dist/daemon/api/__tests__/seam/node-outcome-api.test.js +0 -159
- package/dist/daemon/api/__tests__/seam/profile-delete.test.d.ts +0 -1
- package/dist/daemon/api/__tests__/seam/profile-delete.test.js +0 -372
- package/dist/daemon/api/__tests__/submit-result.test.d.ts +0 -1
- package/dist/daemon/api/__tests__/submit-result.test.js +0 -215
- package/dist/migrations/__tests__/activation-concurrency.test.d.ts +0 -1
- package/dist/migrations/__tests__/activation-concurrency.test.js +0 -146
- package/dist/migrations/__tests__/activation.test.d.ts +0 -1
- package/dist/migrations/__tests__/activation.test.js +0 -152
- package/dist/migrations/__tests__/deletion-and-root-declaration.test.d.ts +0 -1
- package/dist/migrations/__tests__/deletion-and-root-declaration.test.js +0 -149
- package/dist/pi-extensions/__tests__/canvas-bash-valve.test.d.ts +0 -1
- package/dist/pi-extensions/__tests__/canvas-bash-valve.test.js +0 -86
- package/dist/pi-extensions/__tests__/canvas-context-intro.test.d.ts +0 -1
- package/dist/pi-extensions/__tests__/canvas-context-intro.test.js +0 -364
- package/dist/pi-extensions/__tests__/canvas-goal-capture-envelope.test.d.ts +0 -1
- package/dist/pi-extensions/__tests__/canvas-goal-capture-envelope.test.js +0 -106
- package/dist/pi-extensions/__tests__/canvas-recap.test.d.ts +0 -1
- package/dist/pi-extensions/__tests__/canvas-recap.test.js +0 -62
- package/dist/pi-extensions/__tests__/canvas-stophook-agentend.test.d.ts +0 -1
- package/dist/pi-extensions/__tests__/canvas-stophook-agentend.test.js +0 -432
- package/dist/pi-extensions/__tests__/canvas-stophook-context-nudge.test.d.ts +0 -1
- package/dist/pi-extensions/__tests__/canvas-stophook-context-nudge.test.js +0 -152
- package/dist/pi-extensions/__tests__/canvas-structured-output.test.d.ts +0 -1
- package/dist/pi-extensions/__tests__/canvas-structured-output.test.js +0 -88
- package/dist/pi-extensions/__tests__/canvas-tool-guide.test.d.ts +0 -1
- package/dist/pi-extensions/__tests__/canvas-tool-guide.test.js +0 -96
- package/dist/pi-extensions/__tests__/integration/canvas-bash-valve.test.d.ts +0 -1
- package/dist/pi-extensions/__tests__/integration/canvas-bash-valve.test.js +0 -133
- package/dist/pi-extensions/__tests__/pre-command-gate.test.d.ts +0 -1
- package/dist/pi-extensions/__tests__/pre-command-gate.test.js +0 -232
- package/dist/shared/__tests__/env-boundary.test.d.ts +0 -1
- package/dist/shared/__tests__/env-boundary.test.js +0 -95
- package/dist/shared/__tests__/generated-context-grammar.test.d.ts +0 -1
- package/dist/shared/__tests__/generated-context-grammar.test.js +0 -80
- package/docs/compat/hearth-crtr-v1.md +0 -179
- package/docs/compat/hearth-crtr-v2.md +0 -177
- package/docs/compat/hearth-crtr-v3.md +0 -176
- package/docs/compat/hearth-crtr-v4.md +0 -182
- package/docs/compat/hearth-crtr-v5.md +0 -169
|
@@ -1,489 +1,10 @@
|
|
|
1
|
-
// `crtr sys context resolve` — the forward question: given a configuration
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
import { defineLeaf } from '../../../core/command.js';
|
|
12
|
-
import { InputError } from '../../../core/io.js';
|
|
13
|
-
import { ApiError } from '../../../api/index.js';
|
|
14
|
-
import { cliClient } from '../../api-client.js';
|
|
15
|
-
import { envNodeId, envProfileId } from '../../../shared/env.js';
|
|
16
|
-
import { realpathOrSelf } from '../../../core/fs-utils.js';
|
|
17
|
-
import { ambientMemoryTarget, resolveMemoryDocForTarget, } from '../../../core/memory-resolver.js';
|
|
18
|
-
import { planDelivery, } from '../../../core/substrate/plan.js';
|
|
19
|
-
import { explainRecordGate, formatClause } from '../../../core/substrate/gate-explain.js';
|
|
20
|
-
import { emptyContextExposureState, exposureTarget } from '../../../core/substrate/injected-store.js';
|
|
21
|
-
import { renderPreferencesForSubject, renderKnowledgeForSubject } from '../../../core/substrate/render.js';
|
|
22
|
-
import { deliveryAccounting, memoryReadDocBlocks, renderOnCommandDocsForSubject, renderOnReadDocsForSubject, renderPreCommandDocsForSubject, renderWorkspaceOpenDocsForSubject, } from '../../../core/substrate/on-read.js';
|
|
23
|
-
import { clearSessionCache } from '../../../core/substrate/session-cache.js';
|
|
24
|
-
import { parseSubstrateDoc, rungAtLeast, SURFACE_EVENTS, } from '../../../core/substrate/schema.js';
|
|
25
|
-
import { scopeForCwd, profileNameFor } from '../../../core/substrate/subject-fields.js';
|
|
26
|
-
import { resetScopeCache } from '../../../core/scope.js';
|
|
27
|
-
import { getDefaultProfileId } from '../../../core/profiles/default-binding.js';
|
|
28
|
-
export const resolveLeaf = defineLeaf({
|
|
29
|
-
name: 'resolve',
|
|
30
|
-
description: 'resolve what a configuration snapshot loads for one surface event',
|
|
31
|
-
whenToUse: 'you are asking what a node (or a hypothetical configuration) actually receives — at boot, on opening a workspace, on reading a file, on a memory read, or around a command',
|
|
32
|
-
help: {
|
|
33
|
-
name: 'sys context resolve',
|
|
34
|
-
summary: 'resolve the documents a configuration snapshot loads for one surface event',
|
|
35
|
-
params: [
|
|
36
|
-
{ kind: 'flag', name: 'node', type: 'string', required: false, constraint: 'Resolve for this live node — derives kind, mode, lifecycle, has-manager, profile, and cwd from it. A node id that does not exist degrades to a synthetic subject and says so.' },
|
|
37
|
-
{ kind: 'flag', name: 'kind', type: 'string', required: false, constraint: 'Node kind of the synthetic subject. Defaults to the --node value, else `general`.' },
|
|
38
|
-
{ kind: 'flag', name: 'mode', type: 'enum', choices: ['base', 'orchestrator'], required: false, constraint: 'Node mode of the synthetic subject. Defaults to `base`.' },
|
|
39
|
-
{ kind: 'flag', name: 'lifecycle', type: 'enum', choices: ['terminal', 'resident'], required: false, constraint: 'Node lifecycle of the synthetic subject. Defaults to `terminal` for base, `resident` for orchestrator.' },
|
|
40
|
-
{ kind: 'flag', name: 'has-manager', type: 'enum', choices: ['true', 'false'], required: false, constraint: 'Treat the subject as having a manager (a subscriber above it). Defaults to the --node value, else true.' },
|
|
41
|
-
{ kind: 'flag', name: 'profile', type: 'string', required: false, constraint: 'Profile id whose memory store and project-memory caps apply. Defaults to the selected profile.' },
|
|
42
|
-
{ kind: 'flag', name: 'cwd', type: 'path', required: false, constraint: 'Directory the project stores resolve from. Defaults to the current directory.' },
|
|
43
|
-
{ kind: 'flag', name: 'event', type: 'enum', choices: [...SURFACE_EVENTS], required: false, constraint: 'The surface event to resolve. Defaults to `boot`. Ignored when --all-events is set.' },
|
|
44
|
-
{ kind: 'flag', name: 'all-events', type: 'bool', required: false, constraint: 'Resolve every surface event instead of one, and report each plan separately.' },
|
|
45
|
-
{ kind: 'flag', name: 'file', type: 'path', required: false, constraint: 'Payload for `--event read`: the file that was read. Without it, no read entry matches.' },
|
|
46
|
-
{ kind: 'flag', name: 'name', type: 'string', required: false, constraint: 'Payload for `--event memory-read`: the exact canonical name the read resolved to.' },
|
|
47
|
-
{ kind: 'flag', name: 'command', type: 'string', required: false, constraint: 'Payload for `--event command` / `--event pre-command`: the command string.' },
|
|
48
|
-
{ kind: 'flag', name: 'granularity', type: 'enum', choices: ['summary', 'docs', 'assembled'], required: false, constraint: '`summary` folds to per-rung counts; `docs` reports one row per document; `assembled` returns the real rendered text by calling the event\u2019s renderer. Defaults to `docs`. `--all` applies only at `docs` granularity; with `assembled` it is reported as ignored.' },
|
|
49
|
-
{ kind: 'flag', name: 'all', type: 'bool', required: false, constraint: 'At `docs` granularity, include every considered document, not just the ones that deliver — shadowed, gated-out, and capped-to-none documents with the reason each was excluded. Ignored at `summary` and `assembled` granularity.' },
|
|
50
|
-
],
|
|
51
|
-
output: [
|
|
52
|
-
{ name: 'event', type: 'string', required: false, constraint: 'The resolved event. Absent with --all-events, where every entry in `plans` carries its own.' },
|
|
53
|
-
{ name: 'subject', type: 'object', required: true, constraint: 'The configuration snapshot used: kind, mode, lifecycle, hasManager, profile, scope.' },
|
|
54
|
-
{ name: 'target', type: 'object', required: true, constraint: 'Store resolution inputs: cwd, profileId, nodeId.' },
|
|
55
|
-
{ name: 'docs', type: 'array', required: false, constraint: 'One entry per document, at `docs`/`all` granularity: name, kind, scope, store_path, authored_rung, project_memory_cap, capped_rung, final_rung, winner, shadowed_by, doc_gate, entry_gate, matched_entry, delivery_cause when the renderer raised it through a content attachment, and excluded when --all includes a non-delivering document.' },
|
|
56
|
-
{ name: 'counts', type: 'object', required: false, constraint: 'At `summary` granularity: {considered, delivered: {content, preview, name}, delivered_total, excluded: {<reason>: count}}.' },
|
|
57
|
-
{ name: 'all_ignored', type: 'boolean', required: false, constraint: 'Present only when --all is supplied with --granularity assembled; true means assembled text is unchanged because --all applies only to docs granularity.' },
|
|
58
|
-
{ name: 'assembled', type: 'string', required: false, constraint: 'At `assembled` granularity: the exact text the node would receive for this event.' },
|
|
59
|
-
{ name: 'plans', type: 'array', required: false, constraint: 'With --all-events: one plan result per surface event, each shaped as above.' },
|
|
60
|
-
{ name: 'node_missing', type: 'boolean', required: false, constraint: 'Present when --node named a node that does not exist and a synthetic subject was used instead.' },
|
|
61
|
-
],
|
|
62
|
-
outputKind: 'object',
|
|
63
|
-
effects: ['None. Read-only.'],
|
|
64
|
-
},
|
|
65
|
-
run: async (input) => {
|
|
66
|
-
const snapshot = await buildSnapshot(input);
|
|
67
|
-
const granularity = input['granularity'] ?? 'docs';
|
|
68
|
-
const includeAll = input['all'] === true;
|
|
69
|
-
const events = input['allEvents'] === true
|
|
70
|
-
? [...SURFACE_EVENTS]
|
|
71
|
-
: [input['event'] ?? 'boot'];
|
|
72
|
-
const flags = {
|
|
73
|
-
file: optionalString(input['file']),
|
|
74
|
-
readName: optionalString(input['name']),
|
|
75
|
-
command: optionalString(input['command']),
|
|
76
|
-
};
|
|
77
|
-
const sections = events.map((event) => planSection(snapshot, event, payloadFor(event, flags, snapshot.target), granularity, includeAll));
|
|
78
|
-
const head = {
|
|
79
|
-
subject: subjectSummary(snapshot.subject),
|
|
80
|
-
target: snapshot.target,
|
|
81
|
-
...(snapshot.nodeMissing ? { node_missing: true } : {}),
|
|
82
|
-
...(granularity === 'assembled' && includeAll ? { all_ignored: true } : {}),
|
|
83
|
-
};
|
|
84
|
-
return events.length === 1 ? { ...head, ...sections[0] } : { ...head, plans: sections };
|
|
85
|
-
},
|
|
86
|
-
render: (result) => renderResolve(result),
|
|
87
|
-
});
|
|
88
|
-
/** Build the subject and store target from `--node` and the axis flags. A flag
|
|
89
|
-
* always wins over the value derived from the node, so a live node is a
|
|
90
|
-
* starting point an engineer can dial away from. */
|
|
91
|
-
export async function buildSnapshot(input) {
|
|
92
|
-
const nodeId = optionalString(input['node']);
|
|
93
|
-
const node = await fetchNodeOrNull(nodeId);
|
|
94
|
-
const derived = node === null ? null : await fetchSubjectOrNull(node.node_id);
|
|
95
|
-
const mode = input['mode'] ?? derived?.mode ?? 'base';
|
|
96
|
-
const lifecycle = input['lifecycle']
|
|
97
|
-
?? derived?.lifecycle
|
|
98
|
-
?? (mode === 'orchestrator' ? 'resident' : 'terminal');
|
|
99
|
-
const cwd = resolveCwd(optionalString(input['cwd']) ?? derived?.cwd ?? process.cwd());
|
|
100
|
-
const profileId = optionalString(input['profile'])
|
|
101
|
-
?? node?.profile_id
|
|
102
|
-
?? ambientMemoryTarget().profileId
|
|
103
|
-
?? getDefaultProfileId(cwd);
|
|
104
|
-
const hasManagerFlag = optionalString(input['hasManager']);
|
|
105
|
-
return {
|
|
106
|
-
subject: {
|
|
107
|
-
kind: optionalString(input['kind']) ?? derived?.kind ?? 'general',
|
|
108
|
-
mode,
|
|
109
|
-
lifecycle,
|
|
110
|
-
hasManager: hasManagerFlag === null ? derived?.hasManager ?? true : hasManagerFlag === 'true',
|
|
111
|
-
cwd,
|
|
112
|
-
scope: scopeForCwd(cwd),
|
|
113
|
-
orchestration: { depth: derived?.orchestration.depth ?? 0 },
|
|
114
|
-
profile: profileNameFor(profileId),
|
|
115
|
-
},
|
|
116
|
-
target: { cwd, profileId, nodeId: node?.node_id ?? null },
|
|
117
|
-
nodeMissing: nodeId !== null && node === null,
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
/** The event's match payload from the flags that carry it. An event invoked
|
|
121
|
-
* without its payload matches nothing — the planner's own contract. */
|
|
122
|
-
export function payloadFor(event, flags, target) {
|
|
123
|
-
if (event === 'read')
|
|
124
|
-
return flags.file === null ? {} : { absoluteFile: resolvePath(flags.file) };
|
|
125
|
-
if (event === 'memory-read') {
|
|
126
|
-
if (flags.readName === null)
|
|
127
|
-
return {};
|
|
128
|
-
return {
|
|
129
|
-
resolvedCanonicalName: flags.readName,
|
|
130
|
-
resolvedDocPath: resolvedDocRealpath(flags.readName, target),
|
|
131
|
-
};
|
|
132
|
-
}
|
|
133
|
-
if (event === 'command' || event === 'pre-command') {
|
|
134
|
-
return flags.command === null ? {} : { command: flags.command };
|
|
135
|
-
}
|
|
136
|
-
return {};
|
|
137
|
-
}
|
|
138
|
-
export function subjectSummary(subject) {
|
|
139
|
-
return {
|
|
140
|
-
kind: subject.kind,
|
|
141
|
-
mode: subject.mode,
|
|
142
|
-
lifecycle: subject.lifecycle,
|
|
143
|
-
hasManager: subject.hasManager,
|
|
144
|
-
scope: subject.scope,
|
|
145
|
-
profile: subject.profile,
|
|
146
|
-
depth: subject.orchestration.depth,
|
|
147
|
-
};
|
|
148
|
-
}
|
|
149
|
-
function resolveCwd(raw) {
|
|
150
|
-
const abs = resolvePath(raw);
|
|
151
|
-
if (!existsSync(abs)) {
|
|
152
|
-
throw new InputError({
|
|
153
|
-
error: 'invalid_field',
|
|
154
|
-
message: `cwd does not exist: ${abs}`,
|
|
155
|
-
field: 'cwd',
|
|
156
|
-
next: 'Pass --cwd a directory that exists, or omit it to use the current directory.',
|
|
157
|
-
});
|
|
158
|
-
}
|
|
159
|
-
return realpathOrSelf(abs);
|
|
160
|
-
}
|
|
161
|
-
export function optionalString(value) {
|
|
162
|
-
return typeof value === 'string' && value.trim() !== '' ? value : null;
|
|
163
|
-
}
|
|
164
|
-
/** A 404 means the id names no node: `--node` degrades to a synthetic subject
|
|
165
|
-
* rather than failing, the recovery `sys context prompt-review` also makes. */
|
|
166
|
-
async function fetchNodeOrNull(nodeId) {
|
|
167
|
-
if (nodeId === null)
|
|
168
|
-
return null;
|
|
169
|
-
try {
|
|
170
|
-
return await cliClient().getNode(nodeId);
|
|
171
|
-
}
|
|
172
|
-
catch (err) {
|
|
173
|
-
if (err instanceof ApiError && err.status === 404)
|
|
174
|
-
return null;
|
|
175
|
-
throw err;
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
/** The authoritative subject the daemon gates against, so an inspection never
|
|
179
|
-
* re-derives axes the runtime already resolves. */
|
|
180
|
-
async function fetchSubjectOrNull(nodeId) {
|
|
181
|
-
try {
|
|
182
|
-
return await cliClient().nodeSubject(nodeId);
|
|
183
|
-
}
|
|
184
|
-
catch (err) {
|
|
185
|
-
if (err instanceof ApiError && err.status === 404)
|
|
186
|
-
return null;
|
|
187
|
-
throw err;
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
function planSection(snapshot, event, payload, granularity, includeAll) {
|
|
191
|
-
const rendered = assembleEventAccounting(snapshot, event, payload);
|
|
192
|
-
if (granularity === 'assembled')
|
|
193
|
-
return { event, assembled: rendered.assembled };
|
|
194
|
-
const plan = effectivePlan(planDelivery(snapshot.subject, snapshot.target, event, payload), rendered.accounting.deliveries, payload);
|
|
195
|
-
if (granularity === 'summary')
|
|
196
|
-
return { event, counts: countsOf(plan) };
|
|
197
|
-
const docs = plan.docs.filter((r) => includeAll || delivers(r)).map((r) => docRow(r, includeAll, plan.subject));
|
|
198
|
-
return { event, docs };
|
|
199
|
-
}
|
|
200
|
-
/** Overlay the production renderer's actual document deliveries onto direct
|
|
201
|
-
* planner records. The plan still supplies gates, caps, and exclusion detail;
|
|
202
|
-
* only an attachment that genuinely rendered may raise its final rung. */
|
|
203
|
-
export function effectivePlan(plan, deliveries, payload = {}) {
|
|
204
|
-
const seen = new Set();
|
|
205
|
-
const docs = plan.docs.map((record) => {
|
|
206
|
-
seen.add(realpathOrSelf(record.doc.path));
|
|
207
|
-
const delivered = deliveries.get(realpathOrSelf(record.doc.path));
|
|
208
|
-
if (delivered === undefined || !rungAtLeast(delivered.rung, record.finalRung))
|
|
209
|
-
return record;
|
|
210
|
-
const raised = delivered.rung !== record.finalRung;
|
|
211
|
-
return {
|
|
212
|
-
...record,
|
|
213
|
-
// A companion has its own memory-read winner set. If it is shadowed or
|
|
214
|
-
// silent in the outer event plan but genuinely rendered through that
|
|
215
|
-
// attachment, the rendered delivery is the truth this view reports.
|
|
216
|
-
...(raised ? { winner: true, shadowedBy: null } : {}),
|
|
217
|
-
finalRung: delivered.rung,
|
|
218
|
-
...(raised && delivered.cause !== undefined ? { deliveryCause: delivered.cause } : {}),
|
|
219
|
-
};
|
|
220
|
-
});
|
|
221
|
-
for (const delivered of deliveries.values()) {
|
|
222
|
-
if (delivered.source === undefined || seen.has(realpathOrSelf(delivered.source.path)))
|
|
223
|
-
continue;
|
|
224
|
-
const doc = parseSubstrateDoc(delivered.source);
|
|
225
|
-
if (doc === null)
|
|
226
|
-
continue;
|
|
227
|
-
// Workspace-open deliberately plans only project stores, while its real
|
|
228
|
-
// listing/companion attachments answer from the full target view. Plan this
|
|
229
|
-
// one rendered source solely to retain normal dossier metadata, then make
|
|
230
|
-
// its renderer-recorded rung and cause authoritative.
|
|
231
|
-
const record = planDelivery(plan.subject, plan.target, plan.event, payload, [{ doc, source: delivered.source }]).docs[0];
|
|
232
|
-
if (record === undefined)
|
|
233
|
-
continue;
|
|
234
|
-
docs.push({
|
|
235
|
-
...record,
|
|
236
|
-
winner: true,
|
|
237
|
-
shadowedBy: null,
|
|
238
|
-
finalRung: delivered.rung,
|
|
239
|
-
...(delivered.cause === undefined ? {} : { deliveryCause: delivered.cause }),
|
|
240
|
-
});
|
|
241
|
-
}
|
|
242
|
-
return { ...plan, docs };
|
|
243
|
-
}
|
|
244
|
-
/** A document delivers when it won its canonical name AND resolved to a rung
|
|
245
|
-
* above the no-delivery floor — boot keeps rung-`none` winners in the plan so
|
|
246
|
-
* the catalog can still count them. */
|
|
247
|
-
export function delivers(record) {
|
|
248
|
-
return record.winner && rungAtLeast(record.finalRung, 'name');
|
|
249
|
-
}
|
|
250
|
-
export function docRow(record, includeAll, subject) {
|
|
251
|
-
const row = {
|
|
252
|
-
name: record.name,
|
|
253
|
-
kind: record.kind,
|
|
254
|
-
scope: record.scope,
|
|
255
|
-
store_path: record.storePath,
|
|
256
|
-
authored_rung: record.authoredRung,
|
|
257
|
-
project_memory_cap: record.projectMemoryCap,
|
|
258
|
-
capped_rung: record.cappedRung,
|
|
259
|
-
final_rung: record.finalRung,
|
|
260
|
-
winner: record.winner,
|
|
261
|
-
shadowed_by: record.shadowedBy === null ? null : `${record.shadowedBy.scope}:${record.shadowedBy.path}`,
|
|
262
|
-
doc_gate: gateText(record.docGate, explainRecordGate(record, 'doc', subject)),
|
|
263
|
-
entry_gate: record.entryGate === null ? null : gateText(record.entryGate, explainRecordGate(record, 'entry', subject)),
|
|
264
|
-
matched_entry: entryText(record.matchedEntry),
|
|
265
|
-
...(record.deliveryCause === undefined ? {} : { delivery_cause: record.deliveryCause }),
|
|
266
|
-
};
|
|
267
|
-
if (includeAll && !delivers(record))
|
|
268
|
-
row.excluded = exclusionReason(record, subject);
|
|
269
|
-
return row;
|
|
270
|
-
}
|
|
271
|
-
/** A gate verdict as one cell: `pass`, or `fail:` plus the clauses that failed
|
|
272
|
-
* — the planner's generic sentence only when the explainer cannot decompose
|
|
273
|
-
* the predicate. */
|
|
274
|
-
export function gateText(gate, clauses) {
|
|
275
|
-
return gate.pass ? 'pass' : `fail: ${gateReason(gate.reason, clauses)}`;
|
|
276
|
-
}
|
|
277
|
-
function gateReason(fallback, clauses) {
|
|
278
|
-
return clauses.length === 0 ? fallback : clauses.map(formatClause).join('; ');
|
|
279
|
-
}
|
|
280
|
-
export function entryText(entry) {
|
|
281
|
-
if (entry === null)
|
|
282
|
-
return null;
|
|
283
|
-
const parts = [`at=${entry.at}`];
|
|
284
|
-
if (entry.match !== undefined)
|
|
285
|
-
parts.push(`match=${entry.match.join(',')}`);
|
|
286
|
-
if (entry.matchFrontmatter !== undefined)
|
|
287
|
-
parts.push('match-frontmatter');
|
|
288
|
-
if (entry.gate !== undefined)
|
|
289
|
-
parts.push('gate');
|
|
290
|
-
return parts.join(' ');
|
|
291
|
-
}
|
|
292
|
-
/** Why a considered document delivers nothing, in the order the planner applies
|
|
293
|
-
* its checks — the first failing one is the answer an engineer acts on. */
|
|
294
|
-
export function exclusionReason(record, subject) {
|
|
295
|
-
if (!record.docGate.pass) {
|
|
296
|
-
return 'document gate';
|
|
297
|
-
}
|
|
298
|
-
if (record.shadowedBy !== null)
|
|
299
|
-
return `shadowed by ${record.shadowedBy.scope}:${record.shadowedBy.path}`;
|
|
300
|
-
if (record.authoredEntries.length === 0)
|
|
301
|
-
return 'no surface entry for this event';
|
|
302
|
-
if (record.matchedEntry === null) {
|
|
303
|
-
return record.entryGate !== null && !record.entryGate.pass
|
|
304
|
-
? `entry gate: ${gateReason(record.entryGate.reason, explainRecordGate(record, 'entry', subject))}`
|
|
305
|
-
: 'no authored entry matched this event\u2019s payload';
|
|
306
|
-
}
|
|
307
|
-
if (record.cappedRung === 'none') {
|
|
308
|
-
return `capped to none by the profile\u2019s project-memory setting (authored ${record.authoredRung})`;
|
|
309
|
-
}
|
|
310
|
-
return `resolved to rung none (authored ${record.authoredRung})`;
|
|
311
|
-
}
|
|
312
|
-
function countsOf(plan) {
|
|
313
|
-
const delivered = { content: 0, preview: 0, name: 0 };
|
|
314
|
-
const excluded = {};
|
|
315
|
-
for (const record of plan.docs) {
|
|
316
|
-
if (delivers(record)) {
|
|
317
|
-
delivered[record.finalRung] = (delivered[record.finalRung] ?? 0) + 1;
|
|
318
|
-
continue;
|
|
319
|
-
}
|
|
320
|
-
const bucket = exclusionBucket(record);
|
|
321
|
-
excluded[bucket] = (excluded[bucket] ?? 0) + 1;
|
|
322
|
-
}
|
|
323
|
-
return {
|
|
324
|
-
considered: plan.docs.length,
|
|
325
|
-
delivered,
|
|
326
|
-
delivered_total: delivered['content'] + delivered['preview'] + delivered['name'],
|
|
327
|
-
excluded,
|
|
328
|
-
};
|
|
329
|
-
}
|
|
330
|
-
function exclusionBucket(record) {
|
|
331
|
-
if (!record.docGate.pass)
|
|
332
|
-
return 'document_gate';
|
|
333
|
-
if (record.shadowedBy !== null)
|
|
334
|
-
return 'shadowed';
|
|
335
|
-
if (record.authoredEntries.length === 0)
|
|
336
|
-
return 'no_entry';
|
|
337
|
-
if (record.matchedEntry === null) {
|
|
338
|
-
return record.entryGate !== null && !record.entryGate.pass ? 'entry_gate' : 'no_match';
|
|
339
|
-
}
|
|
340
|
-
return record.cappedRung === 'none' ? 'capped' : 'rung_none';
|
|
341
|
-
}
|
|
342
|
-
/** Run the production renderer once and retain the structured document
|
|
343
|
-
* deliveries it recorded. Context diagnostics and the admin viewer consume
|
|
344
|
-
* this result rather than reconstructing attachment/companion fixpoints. */
|
|
345
|
-
export function assembleEventAccounting(snapshot, event, payload) {
|
|
346
|
-
const restore = {
|
|
347
|
-
cwd: process.cwd(),
|
|
348
|
-
profileId: envProfileId(),
|
|
349
|
-
nodeId: envNodeId(),
|
|
350
|
-
};
|
|
351
|
-
const accounting = deliveryAccounting();
|
|
352
|
-
clearSessionCache();
|
|
353
|
-
resetScopeCache();
|
|
354
|
-
try {
|
|
355
|
-
process.chdir(snapshot.target.cwd);
|
|
356
|
-
setEnv('CRTR_PROFILE_ID', snapshot.target.profileId ?? undefined);
|
|
357
|
-
setEnv('CRTR_NODE_ID', snapshot.target.nodeId ?? undefined);
|
|
358
|
-
return { assembled: renderEvent(snapshot, event, payload, accounting), accounting };
|
|
359
|
-
}
|
|
360
|
-
finally {
|
|
361
|
-
process.chdir(restore.cwd);
|
|
362
|
-
setEnv('CRTR_PROFILE_ID', restore.profileId);
|
|
363
|
-
setEnv('CRTR_NODE_ID', restore.nodeId);
|
|
364
|
-
clearSessionCache();
|
|
365
|
-
resetScopeCache();
|
|
366
|
-
}
|
|
367
|
-
}
|
|
368
|
-
function setEnv(name, value) {
|
|
369
|
-
if (value === undefined)
|
|
370
|
-
delete process.env[name];
|
|
371
|
-
else
|
|
372
|
-
process.env[name] = value;
|
|
373
|
-
}
|
|
374
|
-
function renderEvent(snapshot, event, payload, accounting) {
|
|
375
|
-
const { subject, target } = snapshot;
|
|
376
|
-
switch (event) {
|
|
377
|
-
case 'boot': {
|
|
378
|
-
const { block } = renderPreferencesForSubject(subject, undefined, accounting);
|
|
379
|
-
const knowledge = target.nodeId === null ? '' : renderKnowledgeForSubject(subject, target.nodeId, undefined, accounting);
|
|
380
|
-
return knowledge === '' ? block : `${block}\n\n${knowledge}`;
|
|
381
|
-
}
|
|
382
|
-
case 'workspace-open':
|
|
383
|
-
return renderWorkspaceOpenDocsForSubject(subject, target.cwd, target.profileId, undefined, accounting);
|
|
384
|
-
case 'read':
|
|
385
|
-
return payload.absoluteFile === undefined ? '' : renderOnReadDocsForSubject(subject, payload.absoluteFile, undefined, accounting);
|
|
386
|
-
case 'memory-read': {
|
|
387
|
-
const name = payload.resolvedCanonicalName;
|
|
388
|
-
if (name === undefined)
|
|
389
|
-
return '';
|
|
390
|
-
const blocks = memoryReadDocBlocks(payload.resolvedDocPath ?? '', name, {
|
|
391
|
-
subject,
|
|
392
|
-
target: exposureTarget(emptyContextExposureState(), 'transcript'),
|
|
393
|
-
listings: 'blocks',
|
|
394
|
-
accounting,
|
|
395
|
-
});
|
|
396
|
-
return blocks.length === 0 ? '' : `<auto-loaded-context>\n${blocks.join('\n')}\n</auto-loaded-context>`;
|
|
397
|
-
}
|
|
398
|
-
case 'command':
|
|
399
|
-
return payload.command === undefined ? '' : renderOnCommandDocsForSubject(subject, payload.command, undefined, accounting);
|
|
400
|
-
case 'pre-command':
|
|
401
|
-
return payload.command === undefined ? '' : renderPreCommandDocsForSubject(subject, payload.command, undefined, accounting);
|
|
402
|
-
}
|
|
403
|
-
}
|
|
404
|
-
/** The read document never delivers to itself, so the plan needs its physical
|
|
405
|
-
* path. A name that resolves to nothing excludes nothing. */
|
|
406
|
-
function resolvedDocRealpath(name, target) {
|
|
407
|
-
try {
|
|
408
|
-
return realpathOrSelf(resolveMemoryDocForTarget(name, target).path);
|
|
409
|
-
}
|
|
410
|
-
catch {
|
|
411
|
-
return '';
|
|
412
|
-
}
|
|
413
|
-
}
|
|
414
|
-
// Rendering — agent-ready markdown.
|
|
415
|
-
function renderResolve(result) {
|
|
416
|
-
const lines = [];
|
|
417
|
-
if (result.node_missing === true) {
|
|
418
|
-
lines.push('The id passed to --node names no node; a synthetic subject was used instead.', '');
|
|
419
|
-
}
|
|
420
|
-
lines.push(`subject: ${describeSubject(result.subject)}`);
|
|
421
|
-
lines.push(`target: cwd=${result.target.cwd} profile=${result.target.profileId ?? '(none)'} node=${result.target.nodeId ?? '(none)'}`);
|
|
422
|
-
if (result.all_ignored === true) {
|
|
423
|
-
lines.push('Note: --all applies only at docs granularity and was ignored for assembled output.');
|
|
424
|
-
}
|
|
425
|
-
const sections = result.plans ?? [{
|
|
426
|
-
event: result.event,
|
|
427
|
-
docs: result.docs,
|
|
428
|
-
counts: result.counts,
|
|
429
|
-
assembled: result.assembled,
|
|
430
|
-
}];
|
|
431
|
-
for (const section of sections) {
|
|
432
|
-
lines.push('', `## ${section.event}`, '', renderSection(section));
|
|
433
|
-
}
|
|
434
|
-
return lines.join('\n');
|
|
435
|
-
}
|
|
436
|
-
export function describeSubject(subject) {
|
|
437
|
-
return ['kind', 'mode', 'lifecycle', 'hasManager', 'scope', 'profile', 'depth']
|
|
438
|
-
.map((k) => `${k}=${String(subject[k])}`)
|
|
439
|
-
.join(' ');
|
|
440
|
-
}
|
|
441
|
-
function renderSection(section) {
|
|
442
|
-
if (section.assembled !== undefined) {
|
|
443
|
-
return section.assembled === ''
|
|
444
|
-
? 'Nothing is delivered for this event.'
|
|
445
|
-
: ['```', section.assembled, '```'].join('\n');
|
|
446
|
-
}
|
|
447
|
-
if (section.counts !== undefined)
|
|
448
|
-
return renderCounts(section.counts);
|
|
449
|
-
const docs = section.docs ?? [];
|
|
450
|
-
if (docs.length === 0)
|
|
451
|
-
return 'No document delivers for this event.';
|
|
452
|
-
const showExcluded = docs.some((d) => d.excluded !== undefined);
|
|
453
|
-
const showCause = docs.some((d) => d.delivery_cause !== undefined);
|
|
454
|
-
const cols = ['document', 'scope', 'kind', 'authored', 'cap', 'final', 'matched', 'gate', ...(showCause ? ['cause'] : []), ...(showExcluded ? ['excluded'] : [])];
|
|
455
|
-
const rows = docs.map((d) => [
|
|
456
|
-
d.name,
|
|
457
|
-
d.scope,
|
|
458
|
-
d.kind,
|
|
459
|
-
d.authored_rung,
|
|
460
|
-
d.project_memory_cap ?? '—',
|
|
461
|
-
d.final_rung,
|
|
462
|
-
d.matched_entry ?? '—',
|
|
463
|
-
d.doc_gate,
|
|
464
|
-
...(showCause ? [d.delivery_cause ?? ''] : []),
|
|
465
|
-
...(showExcluded ? [d.excluded ?? ''] : []),
|
|
466
|
-
]);
|
|
467
|
-
return [
|
|
468
|
-
`${docs.length} document${docs.length === 1 ? '' : 's'}:`,
|
|
469
|
-
'',
|
|
470
|
-
`| ${cols.join(' | ')} |`,
|
|
471
|
-
`| ${cols.map(() => '---').join(' | ')} |`,
|
|
472
|
-
...rows.map((r) => `| ${r.map(cell).join(' | ')} |`),
|
|
473
|
-
].join('\n');
|
|
474
|
-
}
|
|
475
|
-
function renderCounts(counts) {
|
|
476
|
-
const delivered = counts['delivered'];
|
|
477
|
-
const excluded = counts['excluded'];
|
|
478
|
-
const excludedText = Object.keys(excluded).length === 0
|
|
479
|
-
? 'none'
|
|
480
|
-
: Object.entries(excluded).map(([k, v]) => `${k}=${v}`).join(' ');
|
|
481
|
-
return [
|
|
482
|
-
`- considered: ${String(counts['considered'])}`,
|
|
483
|
-
`- delivered: ${String(counts['delivered_total'])} (content=${delivered['content']} preview=${delivered['preview']} name=${delivered['name']})`,
|
|
484
|
-
`- excluded: ${excludedText}`,
|
|
485
|
-
].join('\n');
|
|
486
|
-
}
|
|
487
|
-
export function cell(v) {
|
|
488
|
-
return String(v).replace(/\|/g, '\\|').replace(/\n/g, ' ');
|
|
489
|
-
}
|
|
1
|
+
var R=Object.defineProperty;var d=(e,n)=>R(e,"name",{value:n,configurable:!0});import{existsSync as $}from"node:fs";import{resolve as h}from"node:path";import{defineLeaf as I}from"../../../core/command.js";import{InputError as S}from"../../../core/io.js";import{ApiError as g}from"../../../api/index.js";import{cliClient as y}from"../../api-client.js";import{envNodeId as D,envProfileId as q}from"../../../shared/env.js";import{realpathOrSelf as u}from"../../../core/fs-utils.js";import{ambientMemoryTarget as C,resolveMemoryDocForTarget as N}from"../../../core/memory-resolver.js";import{planDelivery as v}from"../../../core/substrate/plan.js";import{explainRecordGate as f,formatClause as E}from"../../../core/substrate/gate-explain.js";import{emptyContextExposureState as F,exposureTarget as P}from"../../../core/substrate/injected-store.js";import{renderPreferencesForSubject as T,renderKnowledgeForSubject as O}from"../../../core/substrate/render.js";import{deliveryAccounting as M,memoryReadDocBlocks as B,renderOnCommandDocsForSubject as G,renderOnReadDocsForSubject as A,renderPreCommandDocsForSubject as L,renderWorkspaceOpenDocsForSubject as W}from"../../../core/substrate/on-read.js";import{clearSessionCache as w}from"../../../core/substrate/session-cache.js";import{parseSubstrateDoc as K,rungAtLeast as b,SURFACE_EVENTS as _}from"../../../core/substrate/schema.js";import{scopeForCwd as U,profileNameFor as V}from"../../../core/substrate/subject-fields.js";import{resetScopeCache as x}from"../../../core/scope.js";import{getDefaultProfileId as z}from"../../../core/profiles/default-binding.js";const Pe=I({name:"resolve",description:"resolve what a configuration snapshot loads for one surface event",whenToUse:"you are asking what a node (or a hypothetical configuration) actually receives \u2014 at boot, on opening a workspace, on reading a file, on a memory read, or around a command",help:{name:"sys context resolve",summary:"resolve the documents a configuration snapshot loads for one surface event",params:[{kind:"flag",name:"node",type:"string",required:!1,constraint:"Resolve for this live node \u2014 derives kind, mode, lifecycle, has-manager, profile, and cwd from it. A node id that does not exist degrades to a synthetic subject and says so."},{kind:"flag",name:"kind",type:"string",required:!1,constraint:"Node kind of the synthetic subject. Defaults to the --node value, else `general`."},{kind:"flag",name:"mode",type:"enum",choices:["base","orchestrator"],required:!1,constraint:"Node mode of the synthetic subject. Defaults to `base`."},{kind:"flag",name:"lifecycle",type:"enum",choices:["terminal","resident"],required:!1,constraint:"Node lifecycle of the synthetic subject. Defaults to `terminal` for base, `resident` for orchestrator."},{kind:"flag",name:"has-manager",type:"enum",choices:["true","false"],required:!1,constraint:"Treat the subject as having a manager (a subscriber above it). Defaults to the --node value, else true."},{kind:"flag",name:"profile",type:"string",required:!1,constraint:"Profile id whose memory store and project-memory caps apply. Defaults to the selected profile."},{kind:"flag",name:"cwd",type:"path",required:!1,constraint:"Directory the project stores resolve from. Defaults to the current directory."},{kind:"flag",name:"event",type:"enum",choices:[..._],required:!1,constraint:"The surface event to resolve. Defaults to `boot`. Ignored when --all-events is set."},{kind:"flag",name:"all-events",type:"bool",required:!1,constraint:"Resolve every surface event instead of one, and report each plan separately."},{kind:"flag",name:"file",type:"path",required:!1,constraint:"Payload for `--event read`: the file that was read. Without it, no read entry matches."},{kind:"flag",name:"name",type:"string",required:!1,constraint:"Payload for `--event memory-read`: the exact canonical name the read resolved to."},{kind:"flag",name:"command",type:"string",required:!1,constraint:"Payload for `--event command` / `--event pre-command`: the command string."},{kind:"flag",name:"granularity",type:"enum",choices:["summary","docs","assembled"],required:!1,constraint:"`summary` folds to per-rung counts; `docs` reports one row per document; `assembled` returns the real rendered text by calling the event\u2019s renderer. Defaults to `docs`. `--all` applies only at `docs` granularity; with `assembled` it is reported as ignored."},{kind:"flag",name:"all",type:"bool",required:!1,constraint:"At `docs` granularity, include every considered document, not just the ones that deliver \u2014 shadowed, gated-out, and capped-to-none documents with the reason each was excluded. Ignored at `summary` and `assembled` granularity."}],output:[{name:"event",type:"string",required:!1,constraint:"The resolved event. Absent with --all-events, where every entry in `plans` carries its own."},{name:"subject",type:"object",required:!0,constraint:"The configuration snapshot used: kind, mode, lifecycle, hasManager, profile, scope."},{name:"target",type:"object",required:!0,constraint:"Store resolution inputs: cwd, profileId, nodeId."},{name:"docs",type:"array",required:!1,constraint:"One entry per document, at `docs`/`all` granularity: name, kind, scope, store_path, authored_rung, project_memory_cap, capped_rung, final_rung, winner, shadowed_by, doc_gate, entry_gate, matched_entry, delivery_cause when the renderer raised it through a content attachment, and excluded when --all includes a non-delivering document."},{name:"counts",type:"object",required:!1,constraint:"At `summary` granularity: {considered, delivered: {content, preview, name}, delivered_total, excluded: {<reason>: count}}."},{name:"all_ignored",type:"boolean",required:!1,constraint:"Present only when --all is supplied with --granularity assembled; true means assembled text is unchanged because --all applies only to docs granularity."},{name:"assembled",type:"string",required:!1,constraint:"At `assembled` granularity: the exact text the node would receive for this event."},{name:"plans",type:"array",required:!1,constraint:"With --all-events: one plan result per surface event, each shaped as above."},{name:"node_missing",type:"boolean",required:!1,constraint:"Present when --node named a node that does not exist and a synthetic subject was used instead."}],outputKind:"object",effects:["None. Read-only."]},run:d(async e=>{const n=await H(e),r=e.granularity??"docs",o=e.all===!0,a=e.allEvents===!0?[..._]:[e.event??"boot"],s={file:l(e.file),readName:l(e.name),command:l(e.command)},t=a.map(c=>ee(n,c,J(c,s,n.target),r,o)),i={subject:Q(n.subject),target:n.target,...n.nodeMissing?{node_missing:!0}:{},...r==="assembled"&&o?{all_ignored:!0}:{}};return a.length===1?{...i,...t[0]}:{...i,plans:t}},"run"),render:d(e=>le(e),"render")});async function H(e){const n=l(e.node),r=await Y(n),o=r===null?null:await Z(r.node_id),a=e.mode??o?.mode??"base",s=e.lifecycle??o?.lifecycle??(a==="orchestrator"?"resident":"terminal"),t=X(l(e.cwd)??o?.cwd??process.cwd()),i=l(e.profile)??r?.profile_id??C().profileId??z(t),c=l(e.hasManager);return{subject:{kind:l(e.kind)??o?.kind??"general",mode:a,lifecycle:s,hasManager:c===null?o?.hasManager??!0:c==="true",cwd:t,scope:U(t),orchestration:{depth:o?.orchestration.depth??0},profile:V(i)},target:{cwd:t,profileId:i,nodeId:r?.node_id??null},nodeMissing:n!==null&&r===null}}d(H,"buildSnapshot");function J(e,n,r){return e==="read"?n.file===null?{}:{absoluteFile:h(n.file)}:e==="memory-read"?n.readName===null?{}:{resolvedCanonicalName:n.readName,resolvedDocPath:ce(n.readName,r)}:e==="command"||e==="pre-command"?n.command===null?{}:{command:n.command}:{}}d(J,"payloadFor");function Q(e){return{kind:e.kind,mode:e.mode,lifecycle:e.lifecycle,hasManager:e.hasManager,scope:e.scope,profile:e.profile,depth:e.orchestration.depth}}d(Q,"subjectSummary");function X(e){const n=h(e);if(!$(n))throw new S({error:"invalid_field",message:`cwd does not exist: ${n}`,field:"cwd",next:"Pass --cwd a directory that exists, or omit it to use the current directory."});return u(n)}d(X,"resolveCwd");function l(e){return typeof e=="string"&&e.trim()!==""?e:null}d(l,"optionalString");async function Y(e){if(e===null)return null;try{return await y().getNode(e)}catch(n){if(n instanceof g&&n.status===404)return null;throw n}}d(Y,"fetchNodeOrNull");async function Z(e){try{return await y().nodeSubject(e)}catch(n){if(n instanceof g&&n.status===404)return null;throw n}}d(Z,"fetchSubjectOrNull");function ee(e,n,r,o,a){const s=de(e,n,r);if(o==="assembled")return{event:n,assembled:s.assembled};const t=ne(v(e.subject,e.target,n,r),s.accounting.deliveries,r);if(o==="summary")return{event:n,counts:ae(t)};const i=t.docs.filter(c=>a||p(c)).map(c=>te(c,a,t.subject));return{event:n,docs:i}}d(ee,"planSection");function ne(e,n,r={}){const o=new Set,a=e.docs.map(s=>{o.add(u(s.doc.path));const t=n.get(u(s.doc.path));if(t===void 0||!b(t.rung,s.finalRung))return s;const i=t.rung!==s.finalRung;return{...s,...i?{winner:!0,shadowedBy:null}:{},finalRung:t.rung,...i&&t.cause!==void 0?{deliveryCause:t.cause}:{}}});for(const s of n.values()){if(s.source===void 0||o.has(u(s.source.path)))continue;const t=K(s.source);if(t===null)continue;const i=v(e.subject,e.target,e.event,r,[{doc:t,source:s.source}]).docs[0];i!==void 0&&a.push({...i,winner:!0,shadowedBy:null,finalRung:s.rung,...s.cause===void 0?{}:{deliveryCause:s.cause}})}return{...e,docs:a}}d(ne,"effectivePlan");function p(e){return e.winner&&b(e.finalRung,"name")}d(p,"delivers");function te(e,n,r){const o={name:e.name,kind:e.kind,scope:e.scope,store_path:e.storePath,authored_rung:e.authoredRung,project_memory_cap:e.projectMemoryCap,capped_rung:e.cappedRung,final_rung:e.finalRung,winner:e.winner,shadowed_by:e.shadowedBy===null?null:`${e.shadowedBy.scope}:${e.shadowedBy.path}`,doc_gate:j(e.docGate,f(e,"doc",r)),entry_gate:e.entryGate===null?null:j(e.entryGate,f(e,"entry",r)),matched_entry:re(e.matchedEntry),...e.deliveryCause===void 0?{}:{delivery_cause:e.deliveryCause}};return n&&!p(e)&&(o.excluded=oe(e,r)),o}d(te,"docRow");function j(e,n){return e.pass?"pass":`fail: ${k(e.reason,n)}`}d(j,"gateText");function k(e,n){return n.length===0?e:n.map(E).join("; ")}d(k,"gateReason");function re(e){if(e===null)return null;const n=[`at=${e.at}`];return e.match!==void 0&&n.push(`match=${e.match.join(",")}`),e.matchFrontmatter!==void 0&&n.push("match-frontmatter"),e.gate!==void 0&&n.push("gate"),n.join(" ")}d(re,"entryText");function oe(e,n){return e.docGate.pass?e.shadowedBy!==null?`shadowed by ${e.shadowedBy.scope}:${e.shadowedBy.path}`:e.authoredEntries.length===0?"no surface entry for this event":e.matchedEntry===null?e.entryGate!==null&&!e.entryGate.pass?`entry gate: ${k(e.entryGate.reason,f(e,"entry",n))}`:"no authored entry matched this event\u2019s payload":e.cappedRung==="none"?`capped to none by the profile\u2019s project-memory setting (authored ${e.authoredRung})`:`resolved to rung none (authored ${e.authoredRung})`:"document gate"}d(oe,"exclusionReason");function ae(e){const n={content:0,preview:0,name:0},r={};for(const o of e.docs){if(p(o)){n[o.finalRung]=(n[o.finalRung]??0)+1;continue}const a=se(o);r[a]=(r[a]??0)+1}return{considered:e.docs.length,delivered:n,delivered_total:n.content+n.preview+n.name,excluded:r}}d(ae,"countsOf");function se(e){return e.docGate.pass?e.shadowedBy!==null?"shadowed":e.authoredEntries.length===0?"no_entry":e.matchedEntry===null?e.entryGate!==null&&!e.entryGate.pass?"entry_gate":"no_match":e.cappedRung==="none"?"capped":"rung_none":"document_gate"}d(se,"exclusionBucket");function de(e,n,r){const o={cwd:process.cwd(),profileId:q(),nodeId:D()},a=M();w(),x();try{return process.chdir(e.target.cwd),m("CRTR_PROFILE_ID",e.target.profileId??void 0),m("CRTR_NODE_ID",e.target.nodeId??void 0),{assembled:ie(e,n,r,a),accounting:a}}finally{process.chdir(o.cwd),m("CRTR_PROFILE_ID",o.profileId),m("CRTR_NODE_ID",o.nodeId),w(),x()}}d(de,"assembleEventAccounting");function m(e,n){n===void 0?delete process.env[e]:process.env[e]=n}d(m,"setEnv");function ie(e,n,r,o){const{subject:a,target:s}=e;switch(n){case"boot":{const{block:t}=T(a,void 0,o),i=s.nodeId===null?"":O(a,s.nodeId,void 0,o);return i===""?t:`${t}
|
|
2
|
+
|
|
3
|
+
${i}`}case"workspace-open":return W(a,s.cwd,s.profileId,void 0,o);case"read":return r.absoluteFile===void 0?"":A(a,r.absoluteFile,void 0,o);case"memory-read":{const t=r.resolvedCanonicalName;if(t===void 0)return"";const i=B(r.resolvedDocPath??"",t,{subject:a,target:P(F(),"transcript"),listings:"blocks",accounting:o});return i.length===0?"":`<auto-loaded-context>
|
|
4
|
+
${i.join(`
|
|
5
|
+
`)}
|
|
6
|
+
</auto-loaded-context>`}case"command":return r.command===void 0?"":G(a,r.command,void 0,o);case"pre-command":return r.command===void 0?"":L(a,r.command,void 0,o)}}d(ie,"renderEvent");function ce(e,n){try{return u(N(e,n).path)}catch{return""}}d(ce,"resolvedDocRealpath");function le(e){const n=[];e.node_missing===!0&&n.push("The id passed to --node names no node; a synthetic subject was used instead.",""),n.push(`subject: ${ue(e.subject)}`),n.push(`target: cwd=${e.target.cwd} profile=${e.target.profileId??"(none)"} node=${e.target.nodeId??"(none)"}`),e.all_ignored===!0&&n.push("Note: --all applies only at docs granularity and was ignored for assembled output.");const r=e.plans??[{event:e.event,docs:e.docs,counts:e.counts,assembled:e.assembled}];for(const o of r)n.push("",`## ${o.event}`,"",me(o));return n.join(`
|
|
7
|
+
`)}d(le,"renderResolve");function ue(e){return["kind","mode","lifecycle","hasManager","scope","profile","depth"].map(n=>`${n}=${String(e[n])}`).join(" ")}d(ue,"describeSubject");function me(e){if(e.assembled!==void 0)return e.assembled===""?"Nothing is delivered for this event.":["```",e.assembled,"```"].join(`
|
|
8
|
+
`);if(e.counts!==void 0)return fe(e.counts);const n=e.docs??[];if(n.length===0)return"No document delivers for this event.";const r=n.some(t=>t.excluded!==void 0),o=n.some(t=>t.delivery_cause!==void 0),a=["document","scope","kind","authored","cap","final","matched","gate",...o?["cause"]:[],...r?["excluded"]:[]],s=n.map(t=>[t.name,t.scope,t.kind,t.authored_rung,t.project_memory_cap??"\u2014",t.final_rung,t.matched_entry??"\u2014",t.doc_gate,...o?[t.delivery_cause??""]:[],...r?[t.excluded??""]:[]]);return[`${n.length} document${n.length===1?"":"s"}:`,"",`| ${a.join(" | ")} |`,`| ${a.map(()=>"---").join(" | ")} |`,...s.map(t=>`| ${t.map(pe).join(" | ")} |`)].join(`
|
|
9
|
+
`)}d(me,"renderSection");function fe(e){const n=e.delivered,r=e.excluded,o=Object.keys(r).length===0?"none":Object.entries(r).map(([a,s])=>`${a}=${s}`).join(" ");return[`- considered: ${String(e.considered)}`,`- delivered: ${String(e.delivered_total)} (content=${n.content} preview=${n.preview} name=${n.name})`,`- excluded: ${o}`].join(`
|
|
10
|
+
`)}d(fe,"renderCounts");function pe(e){return String(e).replace(/\|/g,"\\|").replace(/\n/g," ")}d(pe,"cell");export{de as assembleEventAccounting,H as buildSnapshot,pe as cell,p as delivers,ue as describeSubject,te as docRow,ne as effectivePlan,re as entryText,oe as exclusionReason,j as gateText,l as optionalString,J as payloadFor,Pe as resolveLeaf,Q as subjectSummary};
|
|
@@ -1,96 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
import { InputError } from '../../../core/io.js';
|
|
7
|
-
import { jobDir } from '../../../core/canvas/paths.js';
|
|
8
|
-
import { openNodeWindow } from '../../../core/runtime/placement-tmux.js';
|
|
9
|
-
import { ApiError } from '../../../api/index.js';
|
|
10
|
-
import { cliClient } from '../../api-client.js';
|
|
11
|
-
import { shellQuote } from '../../../shared/shell-quote.js';
|
|
12
|
-
export const sysSyspromptLeaf = defineLeaf({
|
|
13
|
-
name: 'sysprompt',
|
|
14
|
-
description: 'print a node\'s assembled system prompt',
|
|
15
|
-
whenToUse: 'you want to inspect a node\'s assembled system prompt headlessly, without paying conversation/context cost — the broker writes it to disk while live, and this command reads that artifact back as markdown.',
|
|
16
|
-
help: {
|
|
17
|
-
name: 'sys context sysprompt',
|
|
18
|
-
summary: 'print a node\'s assembled system prompt',
|
|
19
|
-
params: [
|
|
20
|
-
{ kind: 'positional', name: 'node', required: false, constraint: 'Node id. Defaults to the calling node (CRTR_NODE_ID).' },
|
|
21
|
-
{ kind: 'flag', name: 'window', type: 'bool', required: false, constraint: 'Open the assembled prompt in a NEW tmux window in the session currently showing that node instead of printing to stdout.' },
|
|
22
|
-
],
|
|
23
|
-
output: [
|
|
24
|
-
{ name: 'node_id', type: 'string', required: true, constraint: 'The node whose prompt was read.' },
|
|
25
|
-
{ name: 'captured_at', type: 'string', required: true, constraint: 'File mtime in ISO-8601 UTC.' },
|
|
26
|
-
{ name: 'chars', type: 'number', required: true, constraint: 'Character count of the stored prompt.' },
|
|
27
|
-
{ name: 'prompt', type: 'string', required: true, constraint: 'The assembled system prompt, exactly as pi built it.' },
|
|
28
|
-
{ name: 'session', type: 'string', required: false, constraint: 'tmux session showing the node (only when --window is used).' },
|
|
29
|
-
{ name: 'window', type: 'string', required: false, constraint: 'tmux window opened for the prompt (only when --window is used).' },
|
|
30
|
-
],
|
|
31
|
-
outputKind: 'object',
|
|
32
|
-
effects: ['Read-only: reads the node\'s job/system-prompt.md artifact, or opens it in a tmux window.'],
|
|
33
|
-
// Giant prompt dump / machine payload for an agent to inspect deliberately,
|
|
34
|
-
// not to glance at inline — collapse it in the attach viewer by default.
|
|
35
|
-
preview: { suppressOutput: true },
|
|
36
|
-
},
|
|
37
|
-
run: async (input) => {
|
|
38
|
-
const nodeId = input['node']?.trim() || envNodeId();
|
|
39
|
-
if (nodeId === undefined || nodeId === '') {
|
|
40
|
-
throw new InputError({ error: 'empty_node', message: 'a node id is required', field: 'node', next: 'Pass a node id or run from inside a node.' });
|
|
41
|
-
}
|
|
42
|
-
try {
|
|
43
|
-
await cliClient().getNode(nodeId);
|
|
44
|
-
}
|
|
45
|
-
catch (err) {
|
|
46
|
-
if (err instanceof ApiError && err.status === 404) {
|
|
47
|
-
throw new InputError({ error: 'not_found', message: `no node: ${nodeId}`, field: 'node', next: 'List nodes with `crtr node inspect list`.' });
|
|
48
|
-
}
|
|
49
|
-
throw err;
|
|
50
|
-
}
|
|
51
|
-
const path = join(jobDir(nodeId), 'system-prompt.md');
|
|
52
|
-
if (!existsSync(path)) {
|
|
53
|
-
throw new InputError({
|
|
54
|
-
error: 'not_found',
|
|
55
|
-
message: `system prompt not captured yet for ${nodeId}`,
|
|
56
|
-
field: 'node',
|
|
57
|
-
next: 'Focus or revive the node once while its broker is live, then rerun `crtr sys context sysprompt <node>`.',
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
const prompt = readFileSync(path, 'utf8');
|
|
61
|
-
const capturedAt = statSync(path).mtime.toISOString();
|
|
62
|
-
if (input['window'] === true) {
|
|
63
|
-
const focus = await cliClient().focusOf(nodeId);
|
|
64
|
-
if (focus === null || focus.session === null || focus.session === '') {
|
|
65
|
-
throw new InputError({
|
|
66
|
-
error: 'not_focused',
|
|
67
|
-
message: `node ${nodeId} is not currently shown in tmux`,
|
|
68
|
-
field: 'node',
|
|
69
|
-
next: `Focus the node first with \`crtr surface node focus ${nodeId}\`, then rerun \`crtr sys context sysprompt --window ${nodeId}\`.`,
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
const tmpPath = join(tmpdir(), `crtr-sysprompt-${nodeId}.md`);
|
|
73
|
-
writeFileSync(tmpPath, prompt, 'utf8');
|
|
74
|
-
const q = shellQuote(tmpPath);
|
|
75
|
-
// Syntax-highlight the prompt (markdown + its structural XML tags both stay visible).
|
|
76
|
-
// bat pages by default; markdown RENDERERS (termrender, glow) are wrong here — they
|
|
77
|
-
// silently swallow block-level XML tags, dropping most of the assembled prompt.
|
|
78
|
-
// Fall back to `less -R` when bat is not installed.
|
|
79
|
-
const command = `if command -v bat >/dev/null 2>&1; then bat --language=markdown --color=always --paging=always --style=plain ${q}; else less -R ${q}; fi`;
|
|
80
|
-
const opened = openNodeWindow({ session: focus.session, name: `sysprompt:${nodeId}`, cwd: process.cwd(), env: {}, command });
|
|
81
|
-
if (opened === null) {
|
|
82
|
-
throw new InputError({
|
|
83
|
-
error: 'window_open_failed',
|
|
84
|
-
message: `tmux could not open a window for node ${nodeId}`,
|
|
85
|
-
field: 'node',
|
|
86
|
-
next: 'Check the tmux server is reachable, then retry.',
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
return { node_id: nodeId, session: focus.session, window: opened.window };
|
|
90
|
-
}
|
|
91
|
-
return { node_id: nodeId, captured_at: capturedAt, chars: prompt.length, prompt };
|
|
92
|
-
},
|
|
93
|
-
render: (r) => ('window' in r)
|
|
94
|
-
? `Opened system prompt for node ${r['node_id']} in tmux session ${r['session']} — window ${r['window']}.`
|
|
95
|
-
: `- node_id: ${r['node_id']}\n- captured_at: ${r['captured_at']}\n- chars: ${r['chars']}\n\n${r['prompt']}`,
|
|
96
|
-
});
|
|
1
|
+
var l=Object.defineProperty;var i=(t,e)=>l(t,"name",{value:e,configurable:!0});import{envNodeId as f}from"../../../shared/env.js";import{existsSync as h,readFileSync as y,statSync as g,writeFileSync as x}from"node:fs";import{tmpdir as _}from"node:os";import{join as p}from"node:path";import{defineLeaf as b}from"../../../core/command.js";import{InputError as n}from"../../../core/io.js";import{jobDir as $}from"../../../core/canvas/paths.js";import{openNodeWindow as v}from"../../../core/runtime/placement-tmux.js";import{ApiError as q}from"../../../api/index.js";import{cliClient as c}from"../../api-client.js";import{shellQuote as k}from"../../../shared/shell-quote.js";const A=b({name:"sysprompt",description:"print a node's assembled system prompt",whenToUse:"you want to inspect a node's assembled system prompt headlessly, without paying conversation/context cost \u2014 the broker writes it to disk while live, and this command reads that artifact back as markdown.",help:{name:"sys context sysprompt",summary:"print a node's assembled system prompt",params:[{kind:"positional",name:"node",required:!1,constraint:"Node id. Defaults to the calling node (CRTR_NODE_ID)."},{kind:"flag",name:"window",type:"bool",required:!1,constraint:"Open the assembled prompt in a NEW tmux window in the session currently showing that node instead of printing to stdout."}],output:[{name:"node_id",type:"string",required:!0,constraint:"The node whose prompt was read."},{name:"captured_at",type:"string",required:!0,constraint:"File mtime in ISO-8601 UTC."},{name:"chars",type:"number",required:!0,constraint:"Character count of the stored prompt."},{name:"prompt",type:"string",required:!0,constraint:"The assembled system prompt, exactly as pi built it."},{name:"session",type:"string",required:!1,constraint:"tmux session showing the node (only when --window is used)."},{name:"window",type:"string",required:!1,constraint:"tmux window opened for the prompt (only when --window is used)."}],outputKind:"object",effects:["Read-only: reads the node's job/system-prompt.md artifact, or opens it in a tmux window."],preview:{suppressOutput:!0}},run:i(async t=>{const e=t.node?.trim()||f();if(e===void 0||e==="")throw new n({error:"empty_node",message:"a node id is required",field:"node",next:"Pass a node id or run from inside a node."});try{await c().getNode(e)}catch(o){throw o instanceof q&&o.status===404?new n({error:"not_found",message:`no node: ${e}`,field:"node",next:"List nodes with `crtr node inspect list`."}):o}const s=p($(e),"system-prompt.md");if(!h(s))throw new n({error:"not_found",message:`system prompt not captured yet for ${e}`,field:"node",next:"Focus or revive the node once while its broker is live, then rerun `crtr sys context sysprompt <node>`."});const r=y(s,"utf8"),u=g(s).mtime.toISOString();if(t.window===!0){const o=await c().focusOf(e);if(o===null||o.session===null||o.session==="")throw new n({error:"not_focused",message:`node ${e} is not currently shown in tmux`,field:"node",next:`Focus the node first with \`crtr surface node focus ${e}\`, then rerun \`crtr sys context sysprompt --window ${e}\`.`});const d=p(_(),`crtr-sysprompt-${e}.md`);x(d,r,"utf8");const a=k(d),w=`if command -v bat >/dev/null 2>&1; then bat --language=markdown --color=always --paging=always --style=plain ${a}; else less -R ${a}; fi`,m=v({session:o.session,name:`sysprompt:${e}`,cwd:process.cwd(),env:{},command:w});if(m===null)throw new n({error:"window_open_failed",message:`tmux could not open a window for node ${e}`,field:"node",next:"Check the tmux server is reachable, then retry."});return{node_id:e,session:o.session,window:m.window}}return{node_id:e,captured_at:u,chars:r.length,prompt:r}},"run"),render:i(t=>"window"in t?`Opened system prompt for node ${t.node_id} in tmux session ${t.session} \u2014 window ${t.window}.`:`- node_id: ${t.node_id}
|
|
2
|
+
- captured_at: ${t.captured_at}
|
|
3
|
+
- chars: ${t.chars}
|
|
4
|
+
|
|
5
|
+
${t.prompt}`,"render")});export{A as sysSyspromptLeaf};
|