@north-light/crouter 0.3.318 → 0.3.319
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +5 -4
- package/runtime.lock.json +5 -5
- 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,186 +1 @@
|
|
|
1
|
-
|
|
2
|
-
// visibility ladder, and the parse/validate function that turns a resolved
|
|
3
|
-
// MemoryDoc into a fully-typed SubstrateDoc. This is the keystone every
|
|
4
|
-
// downstream track (CLI verbs, boot render, on-read render, migrator) builds
|
|
5
|
-
// against — pure and side-effect free. See design-substrate.md §4 (schema).
|
|
6
|
-
//
|
|
7
|
-
// The runtime parser is tolerant by contract (it maps over many docs and must
|
|
8
|
-
// never throw): invalid `surfaces` entries are dropped rather than crashing a
|
|
9
|
-
// render, and `crtr memory lint` owns strict authoring-time enforcement.
|
|
10
|
-
import { PROFILE_PROJECT_MEMORY_VALUES } from '../../api/dto/profiles.js';
|
|
11
|
-
// Kinds — the two semantic kinds (design §3): `knowledge` (consult — procedural
|
|
12
|
-
// playbooks + factual references merged) vs `preference` (behave — standing
|
|
13
|
-
// directives). `kind` is a load-bearing binary, not a content taxonomy.
|
|
14
|
-
export const KINDS = ['knowledge', 'preference'];
|
|
15
|
-
/** Is `v` one of the two valid document kinds? */
|
|
16
|
-
export function isDocKind(v) {
|
|
17
|
-
return typeof v === 'string' && KINDS.includes(v);
|
|
18
|
-
}
|
|
19
|
-
// The 4-rung visibility ladder (design §4). A strict, monotone ordering where
|
|
20
|
-
// each rung is a superset of disclosure over the one before:
|
|
21
|
-
// none < name < preview < content
|
|
22
|
-
// The ladder is ONE union, owned by the public API DTO (`ProfileProjectMemory`)
|
|
23
|
-
// so a profile relationship's cap and a doc's authored rung are the same values
|
|
24
|
-
// and clamp against each other without a conversion.
|
|
25
|
-
export const RUNGS = PROFILE_PROJECT_MEMORY_VALUES;
|
|
26
|
-
/** Ordinal of a rung on the ladder (none=0 … content=3). */
|
|
27
|
-
export function rungRank(r) {
|
|
28
|
-
return RUNGS.indexOf(r);
|
|
29
|
-
}
|
|
30
|
-
/** Does rung `r` disclose at least as much as `min`? */
|
|
31
|
-
export function rungAtLeast(r, min) {
|
|
32
|
-
return rungRank(r) >= rungRank(min);
|
|
33
|
-
}
|
|
34
|
-
/** The lower of two rungs — the clamp automatic delivery applies to an
|
|
35
|
-
* authored rung against its project relationship's cap. */
|
|
36
|
-
export function minRung(a, b) {
|
|
37
|
-
return rungRank(a) <= rungRank(b) ? a : b;
|
|
38
|
-
}
|
|
39
|
-
// Identity — owned entirely by core/memory/identity.ts (ordering-prefix
|
|
40
|
-
// normalization, INDEX collapse, explicit-name-then-path local identity,
|
|
41
|
-
// namespace composition). Re-exported here so document parsing and identity
|
|
42
|
-
// derivation stay one rule with one implementation.
|
|
43
|
-
export { normalizeNameSegment, normalizeDocName, resolveLocalName as resolveDocName } from '../memory/identity.js';
|
|
44
|
-
// Surfaces — explicit event routing (design: surfaces-design.md). A doc
|
|
45
|
-
// declares WHEN it delivers as (event, match, rung) entries; matches are
|
|
46
|
-
// always globs, always absolute in the event's namespace, with `./` as the
|
|
47
|
-
// one relative spelling (anchoring to the doc's own container). A doc with
|
|
48
|
-
// no `surfaces` at all does exactly one thing: appears in its directory's
|
|
49
|
-
// listing.
|
|
50
|
-
export const SURFACE_EVENTS = ['boot', 'workspace-open', 'read', 'memory-read', 'command', 'pre-command'];
|
|
51
|
-
/** The rungs an entry may deliver at. There is no `none` — silence is the
|
|
52
|
-
* absence of an entry. (`Rung`'s `none` survives only as the internal
|
|
53
|
-
* ranking floor — the planner's verdict for a doc that delivers nothing.) */
|
|
54
|
-
export const SURFACE_RUNGS = ['name', 'preview', 'content'];
|
|
55
|
-
// Parse / validate.
|
|
56
|
-
/** Parse a raw frontmatter record (from `parseFrontmatterGeneric`, via the
|
|
57
|
-
* resolver) into a typed schema with defaults applied. Returns `null` when the
|
|
58
|
-
* record is absent or carries no valid `kind` — i.e. it is not a substrate
|
|
59
|
-
* document and cannot be classified. Tolerant of every other imperfection (a
|
|
60
|
-
* missing `when-and-why-to-read` defaults to '', a missing/bad rung falls back
|
|
61
|
-
* to the neutral floor `none`), so a renderer mapping over many docs never
|
|
62
|
-
* throws. Authoring-time enforcement of these fields lives in `crtr memory
|
|
63
|
-
* write` (on create) and `crtr memory lint`. */
|
|
64
|
-
export function parseSubstrateFrontmatter(fm) {
|
|
65
|
-
if (fm === null)
|
|
66
|
-
return null;
|
|
67
|
-
if (!isDocKind(fm.kind))
|
|
68
|
-
return null;
|
|
69
|
-
const kind = fm.kind;
|
|
70
|
-
return {
|
|
71
|
-
kind,
|
|
72
|
-
whenAndWhyToRead: strField(fm['when-and-why-to-read']),
|
|
73
|
-
shortForm: strField(fm['short-form']),
|
|
74
|
-
unlisted: fm['unlisted'] === true,
|
|
75
|
-
surfaces: parseSurfaces(fm['surfaces']),
|
|
76
|
-
gate: parseGate(fm.gate),
|
|
77
|
-
slash: fm.slash === true,
|
|
78
|
-
rationale: parseRationale(fm['rationale']),
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
/** Parse a resolved MemoryDoc into a fully-typed SubstrateDoc (schema + the
|
|
82
|
-
* resolver's name/scope/path/body). Returns `null` for a non-substrate doc
|
|
83
|
-
* (no valid `kind`), so callers can `docs.map(parseSubstrateDoc).filter(...)`. */
|
|
84
|
-
export function parseSubstrateDoc(doc) {
|
|
85
|
-
const schema = parseSubstrateFrontmatter(doc.frontmatter);
|
|
86
|
-
if (schema === null)
|
|
87
|
-
return null;
|
|
88
|
-
return { ...schema, name: doc.name, scope: doc.scope, plugin: doc.plugin, path: doc.path, body: doc.body, projectMemory: doc.projectMemory };
|
|
89
|
-
}
|
|
90
|
-
/** The kind a doc resolves to for `--kind` filtering/matching: the substrate
|
|
91
|
-
* kind when the frontmatter parses as a valid substrate doc, else the raw
|
|
92
|
-
* frontmatter `kind` string when present (even if not one of the two valid
|
|
93
|
-
* kinds — an authoring error, not grounds to silently reclassify it), else
|
|
94
|
-
* the legacy default `knowledge` for a frontmatter-less/kindless doc. The
|
|
95
|
-
* single coercion `memory read`'s resolution and result display share, so a
|
|
96
|
-
* `--kind` filter and the displayed `kind` field never disagree. */
|
|
97
|
-
export function effectiveDocKind(doc) {
|
|
98
|
-
const sub = parseSubstrateDoc(doc);
|
|
99
|
-
if (sub !== null)
|
|
100
|
-
return sub.kind;
|
|
101
|
-
const raw = doc.frontmatter?.['kind'];
|
|
102
|
-
return typeof raw === 'string' ? raw : 'knowledge';
|
|
103
|
-
}
|
|
104
|
-
/** The `preview`-rung routing line (design §4): the `when-and-why-to-read`
|
|
105
|
-
* field rendered essentially verbatim — it is already authored as the complete
|
|
106
|
-
* routing sentence ("When …, this <kind> should be read …"), so there is no
|
|
107
|
-
* template to compose. Both boot and on-read render this identical line, so it
|
|
108
|
-
* lives once here to prevent drift. Light cleanup normalizes the trailing
|
|
109
|
-
* period. */
|
|
110
|
-
export function previewLine(doc) {
|
|
111
|
-
const line = doc.whenAndWhyToRead.trim().replace(/\.+$/, '');
|
|
112
|
-
return line === '' ? '' : `${line}.`;
|
|
113
|
-
}
|
|
114
|
-
// Field coercion helpers (private).
|
|
115
|
-
function strField(v) {
|
|
116
|
-
return typeof v === 'string' ? v : '';
|
|
117
|
-
}
|
|
118
|
-
/** Resolve an optional `rationale` field: a non-empty string is carried as-is
|
|
119
|
-
* (multi-line YAML block scalars parse to a plain string, so no special
|
|
120
|
-
* handling is needed); anything else (absent, blank, non-string) yields
|
|
121
|
-
* `undefined` — the doc simply carries no rationale. */
|
|
122
|
-
function parseRationale(v) {
|
|
123
|
-
return typeof v === 'string' && v.trim() !== '' ? v : undefined;
|
|
124
|
-
}
|
|
125
|
-
/** A gate is engaged only when frontmatter carries a non-null, non-array object
|
|
126
|
-
* (the predicate vocabulary's field→matcher map). Anything else (absent, null,
|
|
127
|
-
* scalar, array) ⇒ no gate ⇒ always eligible — the safe default that never
|
|
128
|
-
* silently hides a doc. An empty `{}` IS carried (and is inert per design §4). */
|
|
129
|
-
function parseGate(v) {
|
|
130
|
-
return v !== null && typeof v === 'object' && !Array.isArray(v)
|
|
131
|
-
? v
|
|
132
|
-
: undefined;
|
|
133
|
-
}
|
|
134
|
-
/** Tolerant `surfaces` parse: a non-array yields `[]`; invalid entries are
|
|
135
|
-
* dropped (bad `on`, bad `at`, a read/memory-read/command/pre-command entry
|
|
136
|
-
* left with neither `match` nor — read only — `match-frontmatter`). `match-frontmatter`
|
|
137
|
-
* on a non-read event is dropped from the entry, which survives iff it still
|
|
138
|
-
* carries a `match`; an invalid entry `gate` is dropped. Lint owns strict
|
|
139
|
-
* enforcement; the runtime parser maps over many docs and must never throw. */
|
|
140
|
-
export function parseSurfaces(v) {
|
|
141
|
-
if (!Array.isArray(v))
|
|
142
|
-
return [];
|
|
143
|
-
const out = [];
|
|
144
|
-
for (const raw of v) {
|
|
145
|
-
if (raw === null || typeof raw !== 'object' || Array.isArray(raw))
|
|
146
|
-
continue;
|
|
147
|
-
const rec = raw;
|
|
148
|
-
const on = rec['on'];
|
|
149
|
-
if (typeof on !== 'string' || !SURFACE_EVENTS.includes(on))
|
|
150
|
-
continue;
|
|
151
|
-
const at = rec['at'];
|
|
152
|
-
if (typeof at !== 'string' || !SURFACE_RUNGS.includes(at))
|
|
153
|
-
continue;
|
|
154
|
-
const match = parseMatchGlobs(rec['match']);
|
|
155
|
-
const matchFrontmatter = on === 'read' ? parseGate(rec['match-frontmatter']) : undefined;
|
|
156
|
-
const gate = parseGate(rec['gate']);
|
|
157
|
-
if ((on === 'read' || on === 'memory-read' || on === 'command' || on === 'pre-command') &&
|
|
158
|
-
match === undefined &&
|
|
159
|
-
matchFrontmatter === undefined) {
|
|
160
|
-
continue;
|
|
161
|
-
}
|
|
162
|
-
out.push({
|
|
163
|
-
on: on,
|
|
164
|
-
at: at,
|
|
165
|
-
...(match !== undefined ? { match } : {}),
|
|
166
|
-
...(matchFrontmatter !== undefined ? { matchFrontmatter } : {}),
|
|
167
|
-
...(gate !== undefined ? { gate } : {}),
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
return out;
|
|
171
|
-
}
|
|
172
|
-
/** Normalize an entry's `match` to a non-empty glob list, or undefined.
|
|
173
|
-
* Accepts a string or an array of strings; blanks are dropped. */
|
|
174
|
-
function parseMatchGlobs(v) {
|
|
175
|
-
if (typeof v === 'string') {
|
|
176
|
-
const t = v.trim();
|
|
177
|
-
return t === '' ? undefined : [t];
|
|
178
|
-
}
|
|
179
|
-
if (Array.isArray(v)) {
|
|
180
|
-
const globs = v
|
|
181
|
-
.filter((g) => typeof g === 'string' && g.trim() !== '')
|
|
182
|
-
.map((g) => g.trim());
|
|
183
|
-
return globs.length > 0 ? globs : undefined;
|
|
184
|
-
}
|
|
185
|
-
return undefined;
|
|
186
|
-
}
|
|
1
|
+
var l=Object.defineProperty;var t=(e,n)=>l(e,"name",{value:n,configurable:!0});import{PROFILE_PROJECT_MEMORY_VALUES as m}from"../../api/dto/profiles.js";const y=["knowledge","preference"];function g(e){return typeof e=="string"&&y.includes(e)}t(g,"isDocKind");const h=m;function a(e){return h.indexOf(e)}t(a,"rungRank");function F(e,n){return a(e)>=a(n)}t(F,"rungAtLeast");function D(e,n){return a(e)<=a(n)?e:n}t(D,"minRung");import{normalizeNameSegment as j,normalizeDocName as G,resolveLocalName as O}from"../memory/identity.js";const x=["boot","workspace-open","read","memory-read","command","pre-command"],A=["name","preview","content"];function R(e){return e===null||!g(e.kind)?null:{kind:e.kind,whenAndWhyToRead:p(e["when-and-why-to-read"]),shortForm:p(e["short-form"]),unlisted:e.unlisted===!0,surfaces:k(e.surfaces),gate:f(e.gate),slash:e.slash===!0,rationale:S(e.rationale)}}t(R,"parseSubstrateFrontmatter");function w(e){const n=R(e.frontmatter);return n===null?null:{...n,name:e.name,scope:e.scope,plugin:e.plugin,path:e.path,body:e.body,projectMemory:e.projectMemory}}t(w,"parseSubstrateDoc");function L(e){const n=w(e);if(n!==null)return n.kind;const r=e.frontmatter?.kind;return typeof r=="string"?r:"knowledge"}t(L,"effectiveDocKind");function M(e){const n=e.whenAndWhyToRead.trim().replace(/\.+$/,"");return n===""?"":`${n}.`}t(M,"previewLine");function p(e){return typeof e=="string"?e:""}t(p,"strField");function S(e){return typeof e=="string"&&e.trim()!==""?e:void 0}t(S,"parseRationale");function f(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:void 0}t(f,"parseGate");function k(e){if(!Array.isArray(e))return[];const n=[];for(const r of e){if(r===null||typeof r!="object"||Array.isArray(r))continue;const i=r,o=i.on;if(typeof o!="string"||!x.includes(o))continue;const u=i.at;if(typeof u!="string"||!A.includes(u))continue;const s=b(i.match),c=o==="read"?f(i["match-frontmatter"]):void 0,d=f(i.gate);(o==="read"||o==="memory-read"||o==="command"||o==="pre-command")&&s===void 0&&c===void 0||n.push({on:o,at:u,...s!==void 0?{match:s}:{},...c!==void 0?{matchFrontmatter:c}:{},...d!==void 0?{gate:d}:{}})}return n}t(k,"parseSurfaces");function b(e){if(typeof e=="string"){const n=e.trim();return n===""?void 0:[n]}if(Array.isArray(e)){const n=e.filter(r=>typeof r=="string"&&r.trim()!=="").map(r=>r.trim());return n.length>0?n:void 0}}t(b,"parseMatchGlobs");export{y as KINDS,h as RUNGS,x as SURFACE_EVENTS,A as SURFACE_RUNGS,L as effectiveDocKind,g as isDocKind,D as minRung,G as normalizeDocName,j as normalizeNameSegment,w as parseSubstrateDoc,R as parseSubstrateFrontmatter,k as parseSurfaces,M as previewLine,O as resolveDocName,F as rungAtLeast,a as rungRank};
|
|
@@ -1,83 +1 @@
|
|
|
1
|
-
|
|
2
|
-
//
|
|
3
|
-
// Both substrate hooks (boot render in render.ts, on-read in on-read.ts) re-walk
|
|
4
|
-
// and re-YAML-parse the full corpus on every invocation without memoization. At
|
|
5
|
-
// the two highest-frequency hook sites this is O(reads × corpus) and O(turns ×
|
|
6
|
-
// corpus) respectively. This module provides a single session-scoped cache that
|
|
7
|
-
// the hooks read from, so the corpus is scanned and parsed AT MOST ONCE per
|
|
8
|
-
// session turn/read burst.
|
|
9
|
-
//
|
|
10
|
-
// Lifecycle:
|
|
11
|
-
// • clearSessionCache() — called on every `session_start` by canvas-doc-
|
|
12
|
-
// substrate.ts. It does NOT need to be called before the first use: a
|
|
13
|
-
// cold cache (null) triggers a fresh scan on the next read.
|
|
14
|
-
// • All getters lazily populate on first call after a clear.
|
|
15
|
-
// • The cache is a module-level singleton (one JS module instance per pi
|
|
16
|
-
// process, and each pi process hosts exactly one canvas node session).
|
|
17
|
-
//
|
|
18
|
-
// Cached entries:
|
|
19
|
-
// • allMemoryDocsInclusive — the full listAllMemoryDocs() corpus, UNFILTERED
|
|
20
|
-
// (includes node scope). This is the ONE underlying
|
|
21
|
-
// filesystem scan the whole module performs per session;
|
|
22
|
-
// every other entry below derives from it by
|
|
23
|
-
// filtering/mapping, never by calling listFn() again.
|
|
24
|
-
// • eventCorpusInclusive — allMemoryDocsInclusive parsed once, each surviving
|
|
25
|
-
// SubstrateDoc paired with the resolver descriptor it
|
|
26
|
-
// parsed from. The ONE parse pass every delivery plan
|
|
27
|
-
// reads from. The pairs matter: `./` memory-read globs
|
|
28
|
-
// anchor on the descriptor's canonical routing anchor,
|
|
29
|
-
// and the boot tree orders by its physical path. Boot
|
|
30
|
-
// filters node scope out of it and loads the node's own
|
|
31
|
-
// store separately (render.ts), so a node doc never
|
|
32
|
-
// double-surfaces there.
|
|
33
|
-
// • substrateDocsInclusive — the parsed docs alone, still including node
|
|
34
|
-
// scope. Consumers that need every referenceable doc
|
|
35
|
-
// (e.g. the inline memory-reference inventory) use this
|
|
36
|
-
// pair with allMemoryDocsInclusive.
|
|
37
|
-
// Node subjects are deliberately NOT cached: lifecycle, mode, kind, and other
|
|
38
|
-
// gate inputs can change while a resident broker/session remains live. Rendering
|
|
39
|
-
// must always gate against the current persisted node metadata.
|
|
40
|
-
const _cache = {
|
|
41
|
-
allMemoryDocsInclusive: null,
|
|
42
|
-
eventCorpusInclusive: null,
|
|
43
|
-
substrateDocsInclusive: null,
|
|
44
|
-
};
|
|
45
|
-
/** Called by canvas-doc-substrate.ts on every `session_start`.
|
|
46
|
-
* Resets all cached values so the next access triggers a fresh scan. */
|
|
47
|
-
export function clearSessionCache() {
|
|
48
|
-
_cache.allMemoryDocsInclusive = null;
|
|
49
|
-
_cache.eventCorpusInclusive = null;
|
|
50
|
-
_cache.substrateDocsInclusive = null;
|
|
51
|
-
}
|
|
52
|
-
/** The FULL corpus (listAllMemoryDocs()), INCLUDING node scope, scanned at
|
|
53
|
-
* most once per session. `listFn` is injected by the caller to avoid
|
|
54
|
-
* circular imports at module init. This is the single filesystem walk the
|
|
55
|
-
* whole module performs — every other entry derives from this result rather
|
|
56
|
-
* than re-scanning. */
|
|
57
|
-
export function cachedAllMemoryDocsInclusive(listFn) {
|
|
58
|
-
if (_cache.allMemoryDocsInclusive === null) {
|
|
59
|
-
_cache.allMemoryDocsInclusive = listFn();
|
|
60
|
-
}
|
|
61
|
-
return _cache.allMemoryDocsInclusive;
|
|
62
|
-
}
|
|
63
|
-
/** allMemoryDocsInclusive parsed and paired with its descriptors, INCLUDING
|
|
64
|
-
* node scope — the event corpus, and the module's only parse pass. */
|
|
65
|
-
export function cachedEventCorpusInclusive(listFn, parseFn) {
|
|
66
|
-
if (_cache.eventCorpusInclusive === null) {
|
|
67
|
-
const out = [];
|
|
68
|
-
for (const source of cachedAllMemoryDocsInclusive(listFn)) {
|
|
69
|
-
const doc = parseFn(source);
|
|
70
|
-
if (doc !== null)
|
|
71
|
-
out.push({ doc, source });
|
|
72
|
-
}
|
|
73
|
-
_cache.eventCorpusInclusive = out;
|
|
74
|
-
}
|
|
75
|
-
return _cache.eventCorpusInclusive;
|
|
76
|
-
}
|
|
77
|
-
/** The parsed docs of the inclusive event corpus, without their descriptors. */
|
|
78
|
-
export function cachedSubstrateDocsInclusive(listFn, parseFn) {
|
|
79
|
-
if (_cache.substrateDocsInclusive === null) {
|
|
80
|
-
_cache.substrateDocsInclusive = cachedEventCorpusInclusive(listFn, parseFn).map((e) => e.doc);
|
|
81
|
-
}
|
|
82
|
-
return _cache.substrateDocsInclusive;
|
|
83
|
-
}
|
|
1
|
+
var t=Object.defineProperty;var l=(s,c)=>t(s,"name",{value:c,configurable:!0});const e={allMemoryDocsInclusive:null,eventCorpusInclusive:null,substrateDocsInclusive:null};function a(){e.allMemoryDocsInclusive=null,e.eventCorpusInclusive=null,e.substrateDocsInclusive=null}l(a,"clearSessionCache");function r(s){return e.allMemoryDocsInclusive===null&&(e.allMemoryDocsInclusive=s()),e.allMemoryDocsInclusive}l(r,"cachedAllMemoryDocsInclusive");function i(s,c){if(e.eventCorpusInclusive===null){const n=[];for(const u of r(s)){const o=c(u);o!==null&&n.push({doc:o,source:u})}e.eventCorpusInclusive=n}return e.eventCorpusInclusive}l(i,"cachedEventCorpusInclusive");function I(s,c){return e.substrateDocsInclusive===null&&(e.substrateDocsInclusive=i(s,c).map(n=>n.doc)),e.substrateDocsInclusive}l(I,"cachedSubstrateDocsInclusive");export{r as cachedAllMemoryDocsInclusive,i as cachedEventCorpusInclusive,I as cachedSubstrateDocsInclusive,a as clearSessionCache};
|
|
@@ -1,35 +1 @@
|
|
|
1
|
-
|
|
2
|
-
// shape plus the two derived-field resolvers (`scopeForCwd`, `profileNameFor`)
|
|
3
|
-
// that read scope/profile config but NEVER the canvas-db. Split out of
|
|
4
|
-
// subject.ts so CLI consumers (`sys context prompt-review`) can build a subject from an
|
|
5
|
-
// API-fetched node without pulling subject.ts's canvas-db reach (getNode/getRow).
|
|
6
|
-
// The canvas-db assembler (`assembleNodeSubject`, `spineDepth`) stays in
|
|
7
|
-
// subject.ts for broker/daemon-side callers.
|
|
8
|
-
import { projectScopeRoot } from '../scope.js';
|
|
9
|
-
import { loadProfileManifest } from '../profiles/manifest.js';
|
|
10
|
-
import { CrtrError } from '../errors.js';
|
|
11
|
-
/** The scope a cwd resolves into: `project` when scope.ts finds a
|
|
12
|
-
* nearest-ancestor `.crouter/` at/above it, else `user`. Reuses the existing
|
|
13
|
-
* resolver (`projectScopeRoot`). */
|
|
14
|
-
export function scopeForCwd(cwd) {
|
|
15
|
-
return projectScopeRoot(cwd) !== null ? 'project' : 'user';
|
|
16
|
-
}
|
|
17
|
-
/** Resolve `profile_id` to the manifest's mutable `name` for the gate subject.
|
|
18
|
-
* NEVER throws: a missing/deleted profile resolves to `null` silently (the
|
|
19
|
-
* ordinary lifecycle of a node whose profile was deleted out from under it);
|
|
20
|
-
* any OTHER failure (e.g. an unreadable/corrupt manifest slipping past
|
|
21
|
-
* `loadProfileManifest`'s own tolerance) is logged and still resolves to
|
|
22
|
-
* `null` rather than throwing — this runs on every gated-doc render. */
|
|
23
|
-
export function profileNameFor(profileId) {
|
|
24
|
-
if (profileId === undefined || profileId === null || profileId === '')
|
|
25
|
-
return null;
|
|
26
|
-
try {
|
|
27
|
-
return loadProfileManifest(profileId).manifest.name;
|
|
28
|
-
}
|
|
29
|
-
catch (err) {
|
|
30
|
-
if (err instanceof CrtrError && err.code === 'not_found')
|
|
31
|
-
return null;
|
|
32
|
-
console.warn(`[subject] profile "${profileId}" failed to resolve for node subject assembly: ${err.message}`);
|
|
33
|
-
return null;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
1
|
+
var n=Object.defineProperty;var o=(r,e)=>n(r,"name",{value:e,configurable:!0});import{projectScopeRoot as t}from"../scope.js";import{loadProfileManifest as u}from"../profiles/manifest.js";import{CrtrError as l}from"../errors.js";function i(r){return t(r)!==null?"project":"user"}o(i,"scopeForCwd");function m(r){if(r==null||r==="")return null;try{return u(r).manifest.name}catch(e){return e instanceof l&&e.code==="not_found"||console.warn(`[subject] profile "${r}" failed to resolve for node subject assembly: ${e.message}`),null}}o(m,"profileNameFor");export{m as profileNameFor,i as scopeForCwd};
|
|
@@ -1,47 +1 @@
|
|
|
1
|
-
|
|
2
|
-
// (reads NodeMeta rows) and `spineDepth` (walks the parent chain). The PURE
|
|
3
|
-
// derived-field resolvers and the NodeConfigSubject shape live in
|
|
4
|
-
// subject-fields.ts (re-exported here); a CLI consumer that must stay off the
|
|
5
|
-
// canvas-db imports those from subject-fields.ts directly. See design-substrate.md
|
|
6
|
-
// §4 + plan-substrate.md §2.
|
|
7
|
-
import { getNode, getRow } from '../canvas/index.js';
|
|
8
|
-
import { scopeForCwd, profileNameFor } from './subject-fields.js';
|
|
9
|
-
export { scopeForCwd, profileNameFor } from './subject-fields.js';
|
|
10
|
-
/** Spine distance from `nodeId` up to its root orchestrator: count the hops
|
|
11
|
-
* walking the `parent` chain (canvas-db rows) until a row with no parent (the
|
|
12
|
-
* root). The root is depth 0. Cycle-guarded (parents must not cycle, but never
|
|
13
|
-
* loop forever) — mirrors `rootOfSpine` in runtime/placement.ts. */
|
|
14
|
-
export function spineDepth(nodeId) {
|
|
15
|
-
let cur = nodeId;
|
|
16
|
-
const seen = new Set();
|
|
17
|
-
let hops = 0;
|
|
18
|
-
for (;;) {
|
|
19
|
-
if (seen.has(cur))
|
|
20
|
-
break;
|
|
21
|
-
seen.add(cur);
|
|
22
|
-
const row = getRow(cur);
|
|
23
|
-
if (row === null || row.parent == null)
|
|
24
|
-
break;
|
|
25
|
-
cur = row.parent;
|
|
26
|
-
hops++;
|
|
27
|
-
}
|
|
28
|
-
return hops;
|
|
29
|
-
}
|
|
30
|
-
/** Assemble the node-config subject for `nodeId` from its `NodeMeta` + the
|
|
31
|
-
* derived fields. Returns `null` when the node has no canvas-db row (an
|
|
32
|
-
* unknown id). Pure aside from the canvas-db + profile-manifest reads. */
|
|
33
|
-
export function assembleNodeSubject(nodeId) {
|
|
34
|
-
const meta = getNode(nodeId);
|
|
35
|
-
if (meta === null)
|
|
36
|
-
return null;
|
|
37
|
-
return {
|
|
38
|
-
kind: meta.kind,
|
|
39
|
-
mode: meta.mode,
|
|
40
|
-
lifecycle: meta.lifecycle,
|
|
41
|
-
hasManager: (meta.parent ?? null) !== null,
|
|
42
|
-
cwd: meta.cwd,
|
|
43
|
-
scope: scopeForCwd(meta.cwd),
|
|
44
|
-
orchestration: { depth: spineDepth(nodeId) },
|
|
45
|
-
profile: profileNameFor(meta.profile_id),
|
|
46
|
-
};
|
|
47
|
-
}
|
|
1
|
+
var p=Object.defineProperty;var t=(o,e)=>p(o,"name",{value:e,configurable:!0});import{getNode as c,getRow as i}from"../canvas/index.js";import{scopeForCwd as a,profileNameFor as f}from"./subject-fields.js";import{scopeForCwd as k,profileNameFor as F}from"./subject-fields.js";function s(o){let e=o;const n=new Set;let l=0;for(;!n.has(e);){n.add(e);const r=i(e);if(r===null||r.parent==null)break;e=r.parent,l++}return l}t(s,"spineDepth");function w(o){const e=c(o);return e===null?null:{kind:e.kind,mode:e.mode,lifecycle:e.lifecycle,hasManager:(e.parent??null)!==null,cwd:e.cwd,scope:a(e.cwd),orchestration:{depth:s(o)},profile:f(e.profile_id)}}t(w,"assembleNodeSubject");export{w as assembleNodeSubject,F as profileNameFor,k as scopeForCwd,s as spineDepth};
|
|
@@ -1,242 +1 @@
|
|
|
1
|
-
|
|
2
|
-
// owning-root helpers they anchor on. Pure: every function takes its subject
|
|
3
|
-
// explicitly (the read file, the resolved doc name, the command string) and
|
|
4
|
-
// touches no store discovery.
|
|
5
|
-
//
|
|
6
|
-
// Match semantics (design: surfaces-design.md): constraints within one entry
|
|
7
|
-
// AND together — each present constraint must fit, a `match` list is satisfied
|
|
8
|
-
// by any one glob — and multiple entries per event OR together. The `./`
|
|
9
|
-
// prefix is the one relative spelling: it anchors a glob to the doc's own
|
|
10
|
-
// container (its owning repo dir for `read`, its canonical routing anchor for
|
|
11
|
-
// `memory-read`).
|
|
12
|
-
import { basename, isAbsolute, matchesGlob, relative, sep } from 'node:path';
|
|
13
|
-
import { commandSegments, stripHeredocs } from '../shell-segments.js';
|
|
14
|
-
import { CRTR_DIR_NAME } from '../../types.js';
|
|
15
|
-
import { realpathOrSelf } from '../fs-utils.js';
|
|
16
|
-
import { evalCondition } from '../predicate.js';
|
|
17
|
-
import { surfaceEntryGatePasses } from './gate.js';
|
|
18
|
-
import { rungRank } from './schema.js';
|
|
19
|
-
/** The project directory owning a doc's store: the path segment stack above
|
|
20
|
-
* the doc's `.crouter` dir. `null` when the doc's path carries no `.crouter`
|
|
21
|
-
* segment (builtin docs). */
|
|
22
|
-
export function owningRootOf(doc) {
|
|
23
|
-
const parts = doc.path.split(sep);
|
|
24
|
-
const idx = parts.lastIndexOf(CRTR_DIR_NAME);
|
|
25
|
-
if (idx <= 0)
|
|
26
|
-
return null;
|
|
27
|
-
return parts.slice(0, idx).join(sep) || sep;
|
|
28
|
-
}
|
|
29
|
-
/** True when the (already-realpathed) file sits beneath the doc's store's
|
|
30
|
-
* owning directory. Callers additionally guard on `doc.scope === 'project'`:
|
|
31
|
-
* a profile store's path computes an owning root of `~`, and user/builtin/
|
|
32
|
-
* node docs likewise have no project-owning dir, so a `./`-anchored glob
|
|
33
|
-
* outside a project store must never match. */
|
|
34
|
-
export function underOwningRoot(doc, absFile) {
|
|
35
|
-
const root = owningRootOf(doc);
|
|
36
|
-
if (root === null)
|
|
37
|
-
return false;
|
|
38
|
-
const rel = relative(realpathOrSelf(root), absFile);
|
|
39
|
-
return rel !== '' && !rel.startsWith('..') && !isAbsolute(rel);
|
|
40
|
-
}
|
|
41
|
-
function safeGlob(target, glob) {
|
|
42
|
-
try {
|
|
43
|
-
return matchesGlob(target, glob);
|
|
44
|
-
}
|
|
45
|
-
catch {
|
|
46
|
-
return false;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
/** One read-event glob vs the read file: plain globs match the absolute path
|
|
50
|
-
* and the basename; a `./`-anchored glob matches the path relative to the
|
|
51
|
-
* doc's store's owning repo dir (project-store docs only). */
|
|
52
|
-
function readGlobMatches(glob, doc, absReadFile) {
|
|
53
|
-
if (glob.startsWith('./')) {
|
|
54
|
-
if (doc.scope !== 'project' || !underOwningRoot(doc, absReadFile))
|
|
55
|
-
return false;
|
|
56
|
-
const root = owningRootOf(doc);
|
|
57
|
-
if (root === null)
|
|
58
|
-
return false;
|
|
59
|
-
return safeGlob(relative(realpathOrSelf(root), absReadFile), glob.slice(2));
|
|
60
|
-
}
|
|
61
|
-
return safeGlob(absReadFile, glob) || safeGlob(basename(absReadFile), glob);
|
|
62
|
-
}
|
|
63
|
-
/** Does a `read` entry fit the read file? `absReadFile` must already be
|
|
64
|
-
* realpathed. `readFrontmatter` is the read file's own parsed YAML (empty
|
|
65
|
-
* for non-markdown files); an empty record never satisfies
|
|
66
|
-
* `matchFrontmatter`. */
|
|
67
|
-
export function matchesReadEntry(entry, doc, subject, absReadFile, readFrontmatter) {
|
|
68
|
-
if (entry.on !== 'read' || !surfaceEntryGatePasses(entry, subject))
|
|
69
|
-
return false;
|
|
70
|
-
if (entry.match !== undefined && !entry.match.some((g) => readGlobMatches(g, doc, absReadFile))) {
|
|
71
|
-
return false;
|
|
72
|
-
}
|
|
73
|
-
if (entry.matchFrontmatter !== undefined) {
|
|
74
|
-
if (Object.keys(readFrontmatter).length === 0)
|
|
75
|
-
return false;
|
|
76
|
-
if (!evalCondition(entry.matchFrontmatter, readFrontmatter))
|
|
77
|
-
return false;
|
|
78
|
-
}
|
|
79
|
-
return entry.match !== undefined || entry.matchFrontmatter !== undefined;
|
|
80
|
-
}
|
|
81
|
-
/** One memory-read glob vs the resolved doc's exact canonical name: plain
|
|
82
|
-
* globs match that name only — no mount-stripped or other alias, per the
|
|
83
|
-
* hard-cut canonical-only routing contract; a `./`-anchored glob matches
|
|
84
|
-
* the name relative to the CARRIER's routing anchor — its own canonical
|
|
85
|
-
* name when the carrier fronts a directory, its canonical parent when it is
|
|
86
|
-
* an ordinary leaf. Names are slash-separated, so path globbing applies
|
|
87
|
-
* segment-wise. */
|
|
88
|
-
function memoryReadGlobMatches(glob, routingAnchor, name) {
|
|
89
|
-
if (glob.startsWith('./')) {
|
|
90
|
-
const stripped = glob.slice(2);
|
|
91
|
-
if (routingAnchor === '')
|
|
92
|
-
return safeGlob(name, stripped);
|
|
93
|
-
if (!name.startsWith(routingAnchor + '/'))
|
|
94
|
-
return false;
|
|
95
|
-
return safeGlob(name.slice(routingAnchor.length + 1), stripped);
|
|
96
|
-
}
|
|
97
|
-
return safeGlob(name, glob);
|
|
98
|
-
}
|
|
99
|
-
/** Does a `memory-read` entry on a carrier anchored at `routingAnchor` fit a
|
|
100
|
-
* resolved read of the doc known by its exact canonical `name`? */
|
|
101
|
-
export function matchesMemoryReadEntry(entry, routingAnchor, subject, name) {
|
|
102
|
-
if (entry.on !== 'memory-read' || entry.match === undefined || !surfaceEntryGatePasses(entry, subject))
|
|
103
|
-
return false;
|
|
104
|
-
return entry.match.some((g) => memoryReadGlobMatches(g, routingAnchor, name));
|
|
105
|
-
}
|
|
106
|
-
function commandGlobPattern(glob) {
|
|
107
|
-
const words = glob.trim().split(/\s+/);
|
|
108
|
-
if (words.length === 1 && words[0] === '')
|
|
109
|
-
return null;
|
|
110
|
-
const pattern = [];
|
|
111
|
-
for (const word of words) {
|
|
112
|
-
const parts = word.split('*');
|
|
113
|
-
for (let i = 0; i < parts.length; i += 1) {
|
|
114
|
-
if (parts[i] !== '')
|
|
115
|
-
pattern.push({ kind: 'literal', text: parts[i] });
|
|
116
|
-
if (i < parts.length - 1)
|
|
117
|
-
pattern.push({ kind: 'any' });
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
return pattern;
|
|
121
|
-
}
|
|
122
|
-
function tokenMatches(pattern, token) {
|
|
123
|
-
const rx = pattern
|
|
124
|
-
.split('')
|
|
125
|
-
.map((ch) => (ch === '?' ? '[\\s\\S]' : ch.replace(/[.+^${}()|[\]\\]/g, '\\$&')))
|
|
126
|
-
.join('');
|
|
127
|
-
return new RegExp(`^${rx}$`).test(token);
|
|
128
|
-
}
|
|
129
|
-
function segmentMatches(pattern, tokens) {
|
|
130
|
-
const memo = new Map();
|
|
131
|
-
const match = (patternIndex, tokenIndex) => {
|
|
132
|
-
const key = `${patternIndex}:${tokenIndex}`;
|
|
133
|
-
const cached = memo.get(key);
|
|
134
|
-
if (cached !== undefined)
|
|
135
|
-
return cached;
|
|
136
|
-
let result;
|
|
137
|
-
if (patternIndex === pattern.length) {
|
|
138
|
-
result = tokenIndex === tokens.length;
|
|
139
|
-
}
|
|
140
|
-
else if (pattern[patternIndex].kind === 'any') {
|
|
141
|
-
result = match(patternIndex + 1, tokenIndex) || (tokenIndex < tokens.length && match(patternIndex, tokenIndex + 1));
|
|
142
|
-
}
|
|
143
|
-
else {
|
|
144
|
-
const token = tokens[tokenIndex];
|
|
145
|
-
result = token !== undefined && !token.opaque && tokenMatches(pattern[patternIndex].text, token.text) && match(patternIndex + 1, tokenIndex + 1);
|
|
146
|
-
}
|
|
147
|
-
memo.set(key, result);
|
|
148
|
-
return result;
|
|
149
|
-
};
|
|
150
|
-
return match(0, 0);
|
|
151
|
-
}
|
|
152
|
-
function commandGlobMatches(glob, command) {
|
|
153
|
-
const pattern = commandGlobPattern(glob);
|
|
154
|
-
if (pattern === null)
|
|
155
|
-
return false;
|
|
156
|
-
return commandSegments(command)
|
|
157
|
-
.filter(({ tokens }) => tokens.length > 0)
|
|
158
|
-
.some(({ tokens }) => segmentMatches(pattern, tokens));
|
|
159
|
-
}
|
|
160
|
-
/** Does a `command` entry's parsed command pattern fit, without evaluating its
|
|
161
|
-
* node-config gate? Callers use this only to determine whether resolving a
|
|
162
|
-
* subject could be necessary; delivery must still use `matchesCommandEntry`. */
|
|
163
|
-
export function commandEntryMatches(entry, command) {
|
|
164
|
-
return entry.on === 'command' && entry.match !== undefined && entry.match.some((g) => commandGlobMatches(g, command));
|
|
165
|
-
}
|
|
166
|
-
/** Does a `command` entry fit the executed command string? */
|
|
167
|
-
export function matchesCommandEntry(entry, subject, command) {
|
|
168
|
-
return commandEntryMatches(entry, command) && surfaceEntryGatePasses(entry, subject);
|
|
169
|
-
}
|
|
170
|
-
/** Does a `pre-command` entry's parsed command pattern fit, without evaluating
|
|
171
|
-
* its node-config gate? Callers use this only to determine whether resolving a
|
|
172
|
-
* subject could be necessary; delivery must still use `matchesPreCommandEntry`. */
|
|
173
|
-
export function preCommandEntryMatches(entry, command) {
|
|
174
|
-
if (entry.on !== 'pre-command' || entry.match === undefined)
|
|
175
|
-
return false;
|
|
176
|
-
return entry.match.some((g) => commandGlobMatches(g, stripHeredocs(command)));
|
|
177
|
-
}
|
|
178
|
-
/** Does a `pre-command` entry fit a command that is ABOUT to run? The same
|
|
179
|
-
* glob machinery `command` uses — one matcher, one semantics — applied to the
|
|
180
|
-
* command with its heredoc bodies stripped. Subshell parentheses, backticks,
|
|
181
|
-
* and path-prefixed binaries stay unhandled: this is a guardrail against the
|
|
182
|
-
* faithful-but-uninformed action, not an enforcement boundary. */
|
|
183
|
-
export function matchesPreCommandEntry(entry, subject, command) {
|
|
184
|
-
return preCommandEntryMatches(entry, command) && surfaceEntryGatePasses(entry, subject);
|
|
185
|
-
}
|
|
186
|
-
/** Does ONE entry of `event` fit this occurrence — constraints and the entry's
|
|
187
|
-
* own gate together? */
|
|
188
|
-
export function surfaceEntryParticipates(entry, doc, subject, event, payload) {
|
|
189
|
-
if (entry.on !== event)
|
|
190
|
-
return false;
|
|
191
|
-
switch (event) {
|
|
192
|
-
// Presence of the entry is the match; callers scope the corpus.
|
|
193
|
-
case 'boot':
|
|
194
|
-
case 'workspace-open':
|
|
195
|
-
return surfaceEntryGatePasses(entry, subject);
|
|
196
|
-
case 'read':
|
|
197
|
-
if (payload.absoluteFile === undefined || doc.path === undefined || doc.scope === undefined)
|
|
198
|
-
return false;
|
|
199
|
-
return matchesReadEntry(entry, { path: doc.path, scope: doc.scope }, subject, payload.absoluteFile, payload.readFrontmatter ?? {});
|
|
200
|
-
case 'memory-read':
|
|
201
|
-
if (payload.resolvedCanonicalName === undefined)
|
|
202
|
-
return false;
|
|
203
|
-
return matchesMemoryReadEntry(entry, payload.routingAnchor ?? '', subject, payload.resolvedCanonicalName);
|
|
204
|
-
case 'command':
|
|
205
|
-
return payload.command !== undefined && matchesCommandEntry(entry, subject, payload.command);
|
|
206
|
-
case 'pre-command':
|
|
207
|
-
return payload.command !== undefined && matchesPreCommandEntry(entry, subject, payload.command);
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
/** The entry that decides this doc's delivery for one event occurrence: the
|
|
211
|
-
* highest-rung participating entry, or null when none participates. */
|
|
212
|
-
export function matchingSurfaceEntry(doc, subject, event, payload) {
|
|
213
|
-
let best = null;
|
|
214
|
-
for (const entry of doc.surfaces) {
|
|
215
|
-
if (!surfaceEntryParticipates(entry, doc, subject, event, payload))
|
|
216
|
-
continue;
|
|
217
|
-
if (best === null || rungRank(entry.at) > rungRank(best.at))
|
|
218
|
-
best = entry;
|
|
219
|
-
}
|
|
220
|
-
return best;
|
|
221
|
-
}
|
|
222
|
-
/** The doc's delivery rung for a read of `absReadFile` (already realpathed). */
|
|
223
|
-
export function readDeliveryRung(doc, subject, absReadFile, readFrontmatter) {
|
|
224
|
-
return matchingSurfaceEntry(doc, subject, 'read', { absoluteFile: absReadFile, readFrontmatter })?.at ?? 'none';
|
|
225
|
-
}
|
|
226
|
-
/** The doc's workspace-open rung. */
|
|
227
|
-
export function workspaceOpenRung(doc, subject) {
|
|
228
|
-
return matchingSurfaceEntry(doc, subject, 'workspace-open', {})?.at ?? 'none';
|
|
229
|
-
}
|
|
230
|
-
/** The doc's delivery rung for a `crtr memory read` that resolved a doc known
|
|
231
|
-
* by its exact canonical `name` — no mount-stripped or other alias. */
|
|
232
|
-
export function memoryReadDeliveryRung(doc, routingAnchor, subject, name) {
|
|
233
|
-
return matchingSurfaceEntry(doc, subject, 'memory-read', { routingAnchor, resolvedCanonicalName: name })?.at ?? 'none';
|
|
234
|
-
}
|
|
235
|
-
/** The doc's delivery rung for an executed command string. */
|
|
236
|
-
export function commandDeliveryRung(doc, subject, command) {
|
|
237
|
-
return matchingSurfaceEntry(doc, subject, 'command', { command })?.at ?? 'none';
|
|
238
|
-
}
|
|
239
|
-
/** The doc's delivery rung for a command about to run. */
|
|
240
|
-
export function preCommandDeliveryRung(doc, subject, command) {
|
|
241
|
-
return matchingSurfaceEntry(doc, subject, 'pre-command', { command })?.at ?? 'none';
|
|
242
|
-
}
|
|
1
|
+
var x=Object.defineProperty;var i=(e,t)=>x(e,"name",{value:t,configurable:!0});import{basename as M,isAbsolute as C,matchesGlob as v,relative as p,sep as l}from"node:path";import{commandSegments as G,stripHeredocs as O}from"../shell-segments.js";import{CRTR_DIR_NAME as $}from"../../types.js";import{realpathOrSelf as g}from"../fs-utils.js";import{evalCondition as D}from"../predicate.js";import{surfaceEntryGatePasses as c}from"./gate.js";import{rungRank as R}from"./schema.js";function E(e){const t=e.path.split(l),n=t.lastIndexOf($);return n<=0?null:t.slice(0,n).join(l)||l}i(E,"owningRootOf");function N(e,t){const n=E(e);if(n===null)return!1;const r=p(g(n),t);return r!==""&&!r.startsWith("..")&&!C(r)}i(N,"underOwningRoot");function a(e,t){try{return v(e,t)}catch{return!1}}i(a,"safeGlob");function P(e,t,n){if(e.startsWith("./")){if(t.scope!=="project"||!N(t,n))return!1;const r=E(t);return r===null?!1:a(p(g(r),n),e.slice(2))}return a(n,e)||a(M(n),e)}i(P,"readGlobMatches");function S(e,t,n,r,o){return e.on!=="read"||!c(e,n)||e.match!==void 0&&!e.match.some(s=>P(s,t,r))||e.matchFrontmatter!==void 0&&(Object.keys(o).length===0||!D(e.matchFrontmatter,o))?!1:e.match!==void 0||e.matchFrontmatter!==void 0}i(S,"matchesReadEntry");function W(e,t,n){if(e.startsWith("./")){const r=e.slice(2);return t===""?a(n,r):n.startsWith(t+"/")?a(n.slice(t.length+1),r):!1}return a(n,e)}i(W,"memoryReadGlobMatches");function k(e,t,n,r){return e.on!=="memory-read"||e.match===void 0||!c(e,n)?!1:e.match.some(o=>W(o,t,r))}i(k,"matchesMemoryReadEntry");function F(e){const t=e.trim().split(/\s+/);if(t.length===1&&t[0]==="")return null;const n=[];for(const r of t){const o=r.split("*");for(let s=0;s<o.length;s+=1)o[s]!==""&&n.push({kind:"literal",text:o[s]}),s<o.length-1&&n.push({kind:"any"})}return n}i(F,"commandGlobPattern");function b(e,t){const n=e.split("").map(r=>r==="?"?"[\\s\\S]":r.replace(/[.+^${}()|[\]\\]/g,"\\$&")).join("");return new RegExp(`^${n}$`).test(t)}i(b,"tokenMatches");function _(e,t){const n=new Map,r=i((o,s)=>{const h=`${o}:${s}`,d=n.get(h);if(d!==void 0)return d;let u;if(o===e.length)u=s===t.length;else if(e[o].kind==="any")u=r(o+1,s)||s<t.length&&r(o,s+1);else{const m=t[s];u=m!==void 0&&!m.opaque&&b(e[o].text,m.text)&&r(o+1,s+1)}return n.set(h,u),u},"match");return r(0,0)}i(_,"segmentMatches");function w(e,t){const n=F(e);return n===null?!1:G(t).filter(({tokens:r})=>r.length>0).some(({tokens:r})=>_(n,r))}i(w,"commandGlobMatches");function q(e,t){return e.on==="command"&&e.match!==void 0&&e.match.some(n=>w(n,t))}i(q,"commandEntryMatches");function A(e,t,n){return q(e,n)&&c(e,t)}i(A,"matchesCommandEntry");function H(e,t){return e.on!=="pre-command"||e.match===void 0?!1:e.match.some(n=>w(n,O(t)))}i(H,"preCommandEntryMatches");function T(e,t,n){return H(e,n)&&c(e,t)}i(T,"matchesPreCommandEntry");function j(e,t,n,r,o){if(e.on!==r)return!1;switch(r){case"boot":case"workspace-open":return c(e,n);case"read":return o.absoluteFile===void 0||t.path===void 0||t.scope===void 0?!1:S(e,{path:t.path,scope:t.scope},n,o.absoluteFile,o.readFrontmatter??{});case"memory-read":return o.resolvedCanonicalName===void 0?!1:k(e,o.routingAnchor??"",n,o.resolvedCanonicalName);case"command":return o.command!==void 0&&A(e,n,o.command);case"pre-command":return o.command!==void 0&&T(e,n,o.command)}}i(j,"surfaceEntryParticipates");function f(e,t,n,r){let o=null;for(const s of e.surfaces)j(s,e,t,n,r)&&(o===null||R(s.at)>R(o.at))&&(o=s);return o}i(f,"matchingSurfaceEntry");function X(e,t,n,r){return f(e,t,"read",{absoluteFile:n,readFrontmatter:r})?.at??"none"}i(X,"readDeliveryRung");function Y(e,t){return f(e,t,"workspace-open",{})?.at??"none"}i(Y,"workspaceOpenRung");function Z(e,t,n,r){return f(e,n,"memory-read",{routingAnchor:t,resolvedCanonicalName:r})?.at??"none"}i(Z,"memoryReadDeliveryRung");function y(e,t,n){return f(e,t,"command",{command:n})?.at??"none"}i(y,"commandDeliveryRung");function I(e,t,n){return f(e,t,"pre-command",{command:n})?.at??"none"}i(I,"preCommandDeliveryRung");export{y as commandDeliveryRung,q as commandEntryMatches,A as matchesCommandEntry,k as matchesMemoryReadEntry,T as matchesPreCommandEntry,S as matchesReadEntry,f as matchingSurfaceEntry,Z as memoryReadDeliveryRung,E as owningRootOf,I as preCommandDeliveryRung,H as preCommandEntryMatches,X as readDeliveryRung,j as surfaceEntryParticipates,N as underOwningRoot,Y as workspaceOpenRung};
|