@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,62 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { openScopedStore, withScopedWrite } from './db.js';
|
|
3
|
-
function store(root) { return userStore(root); }
|
|
4
|
-
function rowToProfile(row, projects) {
|
|
5
|
-
return { profileId: row.id, manifest: { schema_version: 1, name: row.name, projects, home: row.home, paused_at: row.paused_at, ...(row.default_kind === null ? {} : { default_kind: row.default_kind }), ...(Object.keys(JSON.parse(row.metadata_json)).length === 0 ? {} : { metadata: JSON.parse(row.metadata_json) }), created_at: row.created_at, last_used_at: row.last_used_at } };
|
|
6
|
-
}
|
|
7
|
-
function get(db, id) {
|
|
8
|
-
const row = db.prepare('SELECT id, name, created_at, last_used_at, paused_at, home, default_kind, metadata_json FROM profiles WHERE id=?').get(id);
|
|
9
|
-
if (!row)
|
|
10
|
-
return null;
|
|
11
|
-
const projects = db.prepare('SELECT path, memory FROM profile_projects WHERE profile_id=? ORDER BY position').all(id);
|
|
12
|
-
return rowToProfile(row, projects);
|
|
13
|
-
}
|
|
14
|
-
export function listStoredProfiles(root) {
|
|
15
|
-
const db = openScopedStore(store(root));
|
|
16
|
-
const ids = db.prepare('SELECT id FROM profiles ORDER BY rowid').all();
|
|
17
|
-
return ids.map(({ id }) => get(db, id)).filter(Boolean);
|
|
18
|
-
}
|
|
19
|
-
export function getStoredProfile(root, id) { return get(openScopedStore(store(root)), id); }
|
|
20
|
-
export function insertStoredProfile(root, profile, profileRoot) {
|
|
21
|
-
withScopedWrite(store(root), (db) => {
|
|
22
|
-
db.prepare('INSERT INTO profiles(id,name,created_at,last_used_at,paused_at,home,default_kind,metadata_json) VALUES(?,?,?,?,?,?,?,?)').run(profile.profileId, profile.manifest.name, profile.manifest.created_at, profile.manifest.last_used_at, profile.manifest.paused_at, profile.manifest.home, profile.manifest.default_kind ?? null, JSON.stringify(profile.manifest.metadata ?? {}));
|
|
23
|
-
db.prepare('INSERT INTO scope_owners(owner_key,kind,root,profile_id) VALUES(?,?,?,?)').run(`profile:${profile.profileId}`, 'profile', canonicalRoot(profileRoot), profile.profileId);
|
|
24
|
-
const insert = db.prepare('INSERT INTO profile_projects(profile_id,path,position,memory) VALUES(?,?,?,?)');
|
|
25
|
-
profile.manifest.projects.forEach((project, position) => insert.run(profile.profileId, project.path, position, project.memory));
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
export function updateStoredProfile(root, id, mutate) {
|
|
29
|
-
return withScopedWrite(store(root), (db) => {
|
|
30
|
-
const current = get(db, id);
|
|
31
|
-
if (!current)
|
|
32
|
-
return null;
|
|
33
|
-
const next = mutate(current.manifest);
|
|
34
|
-
db.prepare('UPDATE profiles SET name=?, last_used_at=?, paused_at=?, home=?, default_kind=?, metadata_json=? WHERE id=?').run(next.name, next.last_used_at, next.paused_at, next.home, next.default_kind ?? null, JSON.stringify(next.metadata ?? {}), id);
|
|
35
|
-
db.prepare('DELETE FROM profile_projects WHERE profile_id=?').run(id);
|
|
36
|
-
const insert = db.prepare('INSERT INTO profile_projects(profile_id,path,position,memory) VALUES(?,?,?,?)');
|
|
37
|
-
next.projects.forEach((project, position) => insert.run(id, project.path, position, project.memory));
|
|
38
|
-
return { profileId: id, manifest: next };
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
export function deleteStoredProfile(root, id) {
|
|
42
|
-
return withScopedWrite(store(root), (db) => {
|
|
43
|
-
if (!get(db, id))
|
|
44
|
-
return false;
|
|
45
|
-
const owner = `profile:${id}`;
|
|
46
|
-
db.prepare('DELETE FROM scope_settings WHERE owner_key=?').run(owner);
|
|
47
|
-
db.prepare('DELETE FROM scope_bookkeeping WHERE owner_key=?').run(owner);
|
|
48
|
-
db.prepare('DELETE FROM scope_marketplaces WHERE owner_key=?').run(owner);
|
|
49
|
-
db.prepare('DELETE FROM scope_plugins WHERE owner_key=?').run(owner);
|
|
50
|
-
db.prepare('DELETE FROM scope_owners WHERE owner_key=?').run(owner);
|
|
51
|
-
db.prepare('DELETE FROM profiles WHERE id=?').run(id);
|
|
52
|
-
return true;
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
export function readStoredDefaults(root) {
|
|
56
|
-
const db = openScopedStore(store(root));
|
|
57
|
-
return Object.fromEntries(db.prepare('SELECT directory,profile_id FROM profile_defaults').all().map((row) => [row.directory, row.profile_id]));
|
|
58
|
-
}
|
|
59
|
-
export function mutateStoredDefaults(root, mutate) {
|
|
60
|
-
return withScopedWrite(store(root), (db) => { const current = Object.fromEntries(db.prepare('SELECT directory,profile_id FROM profile_defaults').all().map((row) => [row.directory, row.profile_id])); const next = mutate(current); db.prepare('DELETE FROM profile_defaults').run(); const insert = db.prepare('INSERT INTO profile_defaults(directory,profile_id) VALUES(?,?)'); for (const [directory, id] of Object.entries(next))
|
|
61
|
-
insert.run(directory, id); return next; });
|
|
62
|
-
}
|
|
1
|
+
var _=Object.defineProperty;var o=(r,e)=>_(r,"name",{value:e,configurable:!0});import{canonicalRoot as c,userStore as m}from"./paths.js";import{openScopedStore as d,withScopedWrite as f}from"./db.js";function s(r){return m(r)}o(s,"store");function R(r,e){return{profileId:r.id,manifest:{schema_version:1,name:r.name,projects:e,home:r.home,paused_at:r.paused_at,...r.default_kind===null?{}:{default_kind:r.default_kind},...Object.keys(JSON.parse(r.metadata_json)).length===0?{}:{metadata:JSON.parse(r.metadata_json)},created_at:r.created_at,last_used_at:r.last_used_at}}}o(R,"rowToProfile");function l(r,e){const t=r.prepare("SELECT id, name, created_at, last_used_at, paused_at, home, default_kind, metadata_json FROM profiles WHERE id=?").get(e);if(!t)return null;const a=r.prepare("SELECT path, memory FROM profile_projects WHERE profile_id=? ORDER BY position").all(e);return R(t,a)}o(l,"get");function y(r){const e=d(s(r));return e.prepare("SELECT id FROM profiles ORDER BY rowid").all().map(({id:a})=>l(e,a)).filter(Boolean)}o(y,"listStoredProfiles");function k(r,e){return l(d(s(r)),e)}o(k,"getStoredProfile");function L(r,e,t){f(s(r),a=>{a.prepare("INSERT INTO profiles(id,name,created_at,last_used_at,paused_at,home,default_kind,metadata_json) VALUES(?,?,?,?,?,?,?,?)").run(e.profileId,e.manifest.name,e.manifest.created_at,e.manifest.last_used_at,e.manifest.paused_at,e.manifest.home,e.manifest.default_kind??null,JSON.stringify(e.manifest.metadata??{})),a.prepare("INSERT INTO scope_owners(owner_key,kind,root,profile_id) VALUES(?,?,?,?)").run(`profile:${e.profileId}`,"profile",c(t),e.profileId);const p=a.prepare("INSERT INTO profile_projects(profile_id,path,position,memory) VALUES(?,?,?,?)");e.manifest.projects.forEach((n,i)=>p.run(e.profileId,n.path,i,n.memory))})}o(L,"insertStoredProfile");function h(r,e,t){return f(s(r),a=>{const p=l(a,e);if(!p)return null;const n=t(p.manifest);a.prepare("UPDATE profiles SET name=?, last_used_at=?, paused_at=?, home=?, default_kind=?, metadata_json=? WHERE id=?").run(n.name,n.last_used_at,n.paused_at,n.home,n.default_kind??null,JSON.stringify(n.metadata??{}),e),a.prepare("DELETE FROM profile_projects WHERE profile_id=?").run(e);const i=a.prepare("INSERT INTO profile_projects(profile_id,path,position,memory) VALUES(?,?,?,?)");return n.projects.forEach((u,E)=>i.run(e,u.path,E,u.memory)),{profileId:e,manifest:n}})}o(h,"updateStoredProfile");function I(r,e){return f(s(r),t=>{if(!l(t,e))return!1;const a=`profile:${e}`;return t.prepare("DELETE FROM scope_settings WHERE owner_key=?").run(a),t.prepare("DELETE FROM scope_bookkeeping WHERE owner_key=?").run(a),t.prepare("DELETE FROM scope_marketplaces WHERE owner_key=?").run(a),t.prepare("DELETE FROM scope_plugins WHERE owner_key=?").run(a),t.prepare("DELETE FROM scope_owners WHERE owner_key=?").run(a),t.prepare("DELETE FROM profiles WHERE id=?").run(e),!0})}o(I,"deleteStoredProfile");function j(r){const e=d(s(r));return Object.fromEntries(e.prepare("SELECT directory,profile_id FROM profile_defaults").all().map(t=>[t.directory,t.profile_id]))}o(j,"readStoredDefaults");function N(r,e){return f(s(r),t=>{const a=Object.fromEntries(t.prepare("SELECT directory,profile_id FROM profile_defaults").all().map(i=>[i.directory,i.profile_id])),p=e(a);t.prepare("DELETE FROM profile_defaults").run();const n=t.prepare("INSERT INTO profile_defaults(directory,profile_id) VALUES(?,?)");for(const[i,u]of Object.entries(p))n.run(i,u);return p})}o(N,"mutateStoredDefaults");export{I as deleteStoredProfile,k as getStoredProfile,L as insertStoredProfile,y as listStoredProfiles,N as mutateStoredDefaults,j as readStoredDefaults,h as updateStoredProfile};
|
|
@@ -1,8 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { providerStore } from './paths.js';
|
|
3
|
-
function map(row) { return { providerId: row.provider_id, id: row.id, label: row.label, labelKey: row.label_key, position: row.position, lastAttemptAt: row.last_attempt_at, lastRateLimitedAt: row.last_rate_limited_at, rateLimitedUntil: row.rate_limited_until, ...(row.auth_failure ? { authFailure: row.auth_failure } : {}) }; }
|
|
4
|
-
const ROW_COLUMNS = 'provider_id,id,label,label_key,position,last_attempt_at,last_rate_limited_at,rate_limited_until,auth_failure';
|
|
5
|
-
export function providerRows(agentDir, providerId) { const db = openScopedStore(providerStore(agentDir)); return db.prepare(`SELECT ${ROW_COLUMNS} FROM managed_accounts WHERE provider_id=? ORDER BY position`).all(providerId).map(map); }
|
|
6
|
-
export function providerRowByReference(db, providerId, ref) { const needle = ref.trim().toLowerCase(); const position = Number.parseInt(needle, 10); const row = (Number.isFinite(position) && String(position) === needle && position >= 1 ? db.prepare(`SELECT ${ROW_COLUMNS} FROM managed_accounts WHERE provider_id=? AND position=?`).get(providerId, position - 1) : db.prepare(`SELECT ${ROW_COLUMNS} FROM managed_accounts WHERE provider_id=? AND label_key=?`).get(providerId, needle)); return row ? map(row) : undefined; }
|
|
7
|
-
export function providerWrite(agentDir, run) { return withScopedWrite(providerStore(agentDir), (db) => { const value = run(db); db.prepare('UPDATE provider_revision SET revision=revision+1 WHERE singleton=1').run(); return value; }); }
|
|
8
|
-
export function providerRevision(agentDir) { const db = openScopedStore(providerStore(agentDir)); return db.prepare('SELECT revision FROM provider_revision WHERE singleton=1').get().revision; }
|
|
1
|
+
var _=Object.defineProperty;var i=(e,t)=>_(e,"name",{value:t,configurable:!0});import{openScopedStore as d,withScopedWrite as u}from"./db.js";import{providerStore as a}from"./paths.js";function s(e){return{providerId:e.provider_id,id:e.id,label:e.label,labelKey:e.label_key,position:e.position,lastAttemptAt:e.last_attempt_at,lastRateLimitedAt:e.last_rate_limited_at,rateLimitedUntil:e.rate_limited_until,...e.auth_failure?{authFailure:e.auth_failure}:{}}}i(s,"map");const p="provider_id,id,label,label_key,position,last_attempt_at,last_rate_limited_at,rate_limited_until,auth_failure";function v(e,t){return d(a(e)).prepare(`SELECT ${p} FROM managed_accounts WHERE provider_id=? ORDER BY position`).all(t).map(s)}i(v,"providerRows");function R(e,t,r){const n=r.trim().toLowerCase(),o=Number.parseInt(n,10),l=Number.isFinite(o)&&String(o)===n&&o>=1?e.prepare(`SELECT ${p} FROM managed_accounts WHERE provider_id=? AND position=?`).get(t,o-1):e.prepare(`SELECT ${p} FROM managed_accounts WHERE provider_id=? AND label_key=?`).get(t,n);return l?s(l):void 0}i(R,"providerRowByReference");function f(e,t){return u(a(e),r=>{const n=t(r);return r.prepare("UPDATE provider_revision SET revision=revision+1 WHERE singleton=1").run(),n})}i(f,"providerWrite");function b(e){return d(a(e)).prepare("SELECT revision FROM provider_revision WHERE singleton=1").get().revision}i(b,"providerRevision");export{b as providerRevision,R as providerRowByReference,v as providerRows,f as providerWrite};
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
const SCOPE_SCHEMA = `
|
|
1
|
+
var r=Object.defineProperty;var T=(E,e)=>r(E,"name",{value:e,configurable:!0});const n=1,_=`
|
|
3
2
|
CREATE TABLE scope_owners (owner_key TEXT PRIMARY KEY, kind TEXT NOT NULL CHECK(kind IN ('user','profile','project')), root TEXT NOT NULL UNIQUE, profile_id TEXT UNIQUE);
|
|
4
3
|
CREATE TABLE profiles (id TEXT PRIMARY KEY, name TEXT NOT NULL, created_at TEXT NOT NULL, last_used_at TEXT, paused_at TEXT, home TEXT, default_kind TEXT, metadata_json TEXT NOT NULL CHECK(json_valid(metadata_json)));
|
|
5
4
|
CREATE TABLE profile_projects (profile_id TEXT NOT NULL REFERENCES profiles(id) ON DELETE CASCADE, path TEXT NOT NULL, position INTEGER NOT NULL, memory TEXT NOT NULL CHECK(memory IN ('none','name','preview','content')), PRIMARY KEY(profile_id,path), UNIQUE(profile_id,position));
|
|
@@ -7,20 +6,8 @@ CREATE TABLE profile_defaults (directory TEXT PRIMARY KEY, profile_id TEXT NOT N
|
|
|
7
6
|
CREATE TABLE scope_settings (owner_key TEXT PRIMARY KEY REFERENCES scope_owners(owner_key), raw_json TEXT NOT NULL CHECK(json_valid(raw_json)));
|
|
8
7
|
CREATE TABLE scope_bookkeeping (owner_key TEXT PRIMARY KEY REFERENCES scope_owners(owner_key), last_self_check TEXT, active_canvas TEXT);
|
|
9
8
|
CREATE TABLE scope_marketplaces (owner_key TEXT NOT NULL REFERENCES scope_owners(owner_key), name TEXT NOT NULL, last_updated TEXT, PRIMARY KEY(owner_key,name));
|
|
10
|
-
CREATE TABLE scope_plugins (owner_key TEXT NOT NULL REFERENCES scope_owners(owner_key), name TEXT NOT NULL, last_updated TEXT, etag TEXT, checked_at TEXT, PRIMARY KEY(owner_key,name))
|
|
11
|
-
const PROVIDER_SCHEMA = `
|
|
9
|
+
CREATE TABLE scope_plugins (owner_key TEXT NOT NULL REFERENCES scope_owners(owner_key), name TEXT NOT NULL, last_updated TEXT, etag TEXT, checked_at TEXT, PRIMARY KEY(owner_key,name));`,i=`
|
|
12
10
|
CREATE TABLE managed_accounts (provider_id TEXT NOT NULL, id TEXT NOT NULL, label TEXT NOT NULL, label_key TEXT NOT NULL, position INTEGER NOT NULL, last_attempt_at INTEGER NOT NULL, last_rate_limited_at INTEGER NOT NULL, rate_limited_until INTEGER NOT NULL, auth_failure TEXT CHECK(auth_failure IS NULL OR auth_failure='invalid_grant'), PRIMARY KEY(provider_id,id), UNIQUE(provider_id,label_key));
|
|
13
11
|
CREATE INDEX managed_accounts_order ON managed_accounts(provider_id,position);
|
|
14
12
|
CREATE TABLE rotation_settings (singleton INTEGER PRIMARY KEY CHECK(singleton=1), default_fallback_strength TEXT, revert_when_available INTEGER CHECK(revert_when_available IN (0,1)));
|
|
15
|
-
CREATE TABLE provider_revision (singleton INTEGER PRIMARY KEY CHECK(singleton=1), revision INTEGER NOT NULL);`;
|
|
16
|
-
export function createScopedSchema(db, kind) {
|
|
17
|
-
db.exec(kind === 'provider' ? PROVIDER_SCHEMA : SCOPE_SCHEMA);
|
|
18
|
-
if (kind !== 'provider') {
|
|
19
|
-
const ownerKey = kind === 'user' ? 'user' : 'project';
|
|
20
|
-
db.prepare('INSERT INTO scope_owners(owner_key, kind, root, profile_id) VALUES (?, ?, ?, NULL)').run(ownerKey, kind, '');
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
db.prepare('INSERT INTO provider_revision(singleton, revision) VALUES (1, 0)').run();
|
|
24
|
-
}
|
|
25
|
-
db.exec(`PRAGMA user_version = ${SCOPED_SCHEMA_VERSION}`);
|
|
26
|
-
}
|
|
13
|
+
CREATE TABLE provider_revision (singleton INTEGER PRIMARY KEY CHECK(singleton=1), revision INTEGER NOT NULL);`;function a(E,e){if(E.exec(e==="provider"?i:_),e!=="provider"){const o=e==="user"?"user":"project";E.prepare("INSERT INTO scope_owners(owner_key, kind, root, profile_id) VALUES (?, ?, ?, NULL)").run(o,e,"")}else E.prepare("INSERT INTO provider_revision(singleton, revision) VALUES (1, 0)").run();E.exec("PRAGMA user_version = 1")}T(a,"createScopedSchema");export{n as SCOPED_SCHEMA_VERSION,a as createScopedSchema};
|
|
@@ -1,82 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { openScopedStore, withScopedWrite } from './db.js';
|
|
3
|
-
function ensureOwner(db, owner) {
|
|
4
|
-
const row = db.prepare('SELECT kind, root, profile_id FROM scope_owners WHERE owner_key = ?').get(owner.key);
|
|
5
|
-
if (!row)
|
|
6
|
-
throw new Error(`scoped SQL owner is missing: ${owner.key}`);
|
|
7
|
-
if (row.kind !== owner.kind || row.root !== owner.root || (owner.profileId ?? null) !== row.profile_id) {
|
|
8
|
-
throw new Error(`scoped SQL owner does not match its root: ${owner.key}`);
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
function revisionFor(row) {
|
|
12
|
-
return row === undefined ? 'absent' : createHash('sha256').update(row.raw_json).digest('hex');
|
|
13
|
-
}
|
|
14
|
-
function readRawSettingsRow(db, owner) {
|
|
15
|
-
return db.prepare('SELECT raw_json FROM scope_settings WHERE owner_key = ?').get(owner.key);
|
|
16
|
-
}
|
|
17
|
-
export class SettingsRevisionConflictError extends Error {
|
|
18
|
-
constructor() {
|
|
19
|
-
super('settings changed since the supplied revision');
|
|
20
|
-
this.name = 'SettingsRevisionConflictError';
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
export function readRawSettingsWithRevision(owner) {
|
|
24
|
-
const db = openScopedStore(owner.store);
|
|
25
|
-
ensureOwner(db, owner);
|
|
26
|
-
const row = readRawSettingsRow(db, owner);
|
|
27
|
-
return { revision: revisionFor(row), settings: row === undefined ? null : JSON.parse(row.raw_json) };
|
|
28
|
-
}
|
|
29
|
-
export function readRawSettings(owner) {
|
|
30
|
-
return readRawSettingsWithRevision(owner).settings;
|
|
31
|
-
}
|
|
32
|
-
export function replaceRawSettings(owner, next, ifRevision, validate) {
|
|
33
|
-
return withScopedWrite(owner.store, (db) => {
|
|
34
|
-
ensureOwner(db, owner);
|
|
35
|
-
const current = readRawSettingsRow(db, owner);
|
|
36
|
-
if (ifRevision !== revisionFor(current))
|
|
37
|
-
throw new SettingsRevisionConflictError();
|
|
38
|
-
validate(next);
|
|
39
|
-
const rawJson = JSON.stringify(next);
|
|
40
|
-
if (current?.raw_json === rawJson)
|
|
41
|
-
return { revision: revisionFor(current), changed: false };
|
|
42
|
-
db.prepare(`INSERT INTO scope_settings(owner_key, raw_json) VALUES (?, ?) ON CONFLICT(owner_key) DO UPDATE SET raw_json=excluded.raw_json`).run(owner.key, rawJson);
|
|
43
|
-
return { revision: revisionFor({ raw_json: rawJson }), changed: true };
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
export function writeRawSettings(owner, raw) {
|
|
47
|
-
withScopedWrite(owner.store, (db) => {
|
|
48
|
-
ensureOwner(db, owner);
|
|
49
|
-
db.prepare(`INSERT INTO scope_settings(owner_key, raw_json) VALUES (?, ?) ON CONFLICT(owner_key) DO UPDATE SET raw_json=excluded.raw_json`).run(owner.key, JSON.stringify(raw));
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
export function mutateRawSettings(owner, mutate) {
|
|
53
|
-
return withScopedWrite(owner.store, (db) => {
|
|
54
|
-
ensureOwner(db, owner);
|
|
55
|
-
const row = db.prepare('SELECT raw_json FROM scope_settings WHERE owner_key = ?').get(owner.key);
|
|
56
|
-
const result = mutate(row ? JSON.parse(row.raw_json) : {});
|
|
57
|
-
db.prepare(`INSERT INTO scope_settings(owner_key, raw_json) VALUES (?, ?) ON CONFLICT(owner_key) DO UPDATE SET raw_json=excluded.raw_json`).run(owner.key, JSON.stringify(result.next));
|
|
58
|
-
return result.value;
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
export function readBookkeeping(owner) {
|
|
62
|
-
const db = openScopedStore(owner.store);
|
|
63
|
-
ensureOwner(db, owner);
|
|
64
|
-
const bookkeeping = db.prepare('SELECT last_self_check, active_canvas FROM scope_bookkeeping WHERE owner_key = ?').get(owner.key);
|
|
65
|
-
const marketplaces = Object.fromEntries(db.prepare('SELECT name, last_updated FROM scope_marketplaces WHERE owner_key = ?').all(owner.key).map((row) => [row.name, row.last_updated === null ? {} : { last_updated: row.last_updated }]));
|
|
66
|
-
const plugins = Object.fromEntries(db.prepare('SELECT name, last_updated, etag, checked_at FROM scope_plugins WHERE owner_key = ?').all(owner.key).map((row) => [row.name, { ...(row.last_updated === null ? {} : { last_updated: row.last_updated }), ...(row.etag === null ? {} : { etag: row.etag }), ...(row.checked_at === null ? {} : { checked_at: row.checked_at }) }]));
|
|
67
|
-
return { marketplaces, plugins, ...(bookkeeping?.last_self_check === null || bookkeeping === undefined ? {} : { last_self_check: bookkeeping.last_self_check }), activeCanvas: bookkeeping?.active_canvas ?? null };
|
|
68
|
-
}
|
|
69
|
-
export function writeBookkeeping(owner, state) {
|
|
70
|
-
withScopedWrite(owner.store, (db) => {
|
|
71
|
-
ensureOwner(db, owner);
|
|
72
|
-
db.prepare(`INSERT INTO scope_bookkeeping(owner_key, last_self_check, active_canvas) VALUES (?, ?, ?) ON CONFLICT(owner_key) DO UPDATE SET last_self_check=excluded.last_self_check, active_canvas=excluded.active_canvas`).run(owner.key, state.last_self_check ?? null, state.activeCanvas ?? null);
|
|
73
|
-
db.prepare('DELETE FROM scope_marketplaces WHERE owner_key = ?').run(owner.key);
|
|
74
|
-
db.prepare('DELETE FROM scope_plugins WHERE owner_key = ?').run(owner.key);
|
|
75
|
-
const market = db.prepare('INSERT INTO scope_marketplaces(owner_key, name, last_updated) VALUES (?, ?, ?)');
|
|
76
|
-
for (const [name, value] of Object.entries(state.marketplaces))
|
|
77
|
-
market.run(owner.key, name, value.last_updated ?? null);
|
|
78
|
-
const plugin = db.prepare('INSERT INTO scope_plugins(owner_key, name, last_updated, etag, checked_at) VALUES (?, ?, ?, ?, ?)');
|
|
79
|
-
for (const [name, value] of Object.entries(state.plugins))
|
|
80
|
-
plugin.run(owner.key, name, value.last_updated ?? null, value.etag ?? null, value.checked_at ?? null);
|
|
81
|
-
});
|
|
82
|
-
}
|
|
1
|
+
var k=Object.defineProperty;var r=(e,t)=>k(e,"name",{value:t,configurable:!0});import{createHash as E}from"node:crypto";import{openScopedStore as _,withScopedWrite as p}from"./db.js";function i(e,t){const n=e.prepare("SELECT kind, root, profile_id FROM scope_owners WHERE owner_key = ?").get(t.key);if(!n)throw new Error(`scoped SQL owner is missing: ${t.key}`);if(n.kind!==t.kind||n.root!==t.root||(t.profileId??null)!==n.profile_id)throw new Error(`scoped SQL owner does not match its root: ${t.key}`)}r(i,"ensureOwner");function l(e){return e===void 0?"absent":E("sha256").update(e.raw_json).digest("hex")}r(l,"revisionFor");function u(e,t){return e.prepare("SELECT raw_json FROM scope_settings WHERE owner_key = ?").get(t.key)}r(u,"readRawSettingsRow");class d extends Error{static{r(this,"SettingsRevisionConflictError")}constructor(){super("settings changed since the supplied revision"),this.name="SettingsRevisionConflictError"}}function g(e){const t=_(e.store);i(t,e);const n=u(t,e);return{revision:l(n),settings:n===void 0?null:JSON.parse(n.raw_json)}}r(g,"readRawSettingsWithRevision");function O(e){return g(e).settings}r(O,"readRawSettings");function R(e,t,n,c){return p(e.store,a=>{i(a,e);const s=u(a,e);if(n!==l(s))throw new d;c(t);const o=JSON.stringify(t);return s?.raw_json===o?{revision:l(s),changed:!1}:(a.prepare("INSERT INTO scope_settings(owner_key, raw_json) VALUES (?, ?) ON CONFLICT(owner_key) DO UPDATE SET raw_json=excluded.raw_json").run(e.key,o),{revision:l({raw_json:o}),changed:!0})})}r(R,"replaceRawSettings");function T(e,t){p(e.store,n=>{i(n,e),n.prepare("INSERT INTO scope_settings(owner_key, raw_json) VALUES (?, ?) ON CONFLICT(owner_key) DO UPDATE SET raw_json=excluded.raw_json").run(e.key,JSON.stringify(t))})}r(T,"writeRawSettings");function h(e,t){return p(e.store,n=>{i(n,e);const c=n.prepare("SELECT raw_json FROM scope_settings WHERE owner_key = ?").get(e.key),a=t(c?JSON.parse(c.raw_json):{});return n.prepare("INSERT INTO scope_settings(owner_key, raw_json) VALUES (?, ?) ON CONFLICT(owner_key) DO UPDATE SET raw_json=excluded.raw_json").run(e.key,JSON.stringify(a.next)),a.value})}r(h,"mutateRawSettings");function m(e){const t=_(e.store);i(t,e);const n=t.prepare("SELECT last_self_check, active_canvas FROM scope_bookkeeping WHERE owner_key = ?").get(e.key),c=Object.fromEntries(t.prepare("SELECT name, last_updated FROM scope_marketplaces WHERE owner_key = ?").all(e.key).map(s=>[s.name,s.last_updated===null?{}:{last_updated:s.last_updated}])),a=Object.fromEntries(t.prepare("SELECT name, last_updated, etag, checked_at FROM scope_plugins WHERE owner_key = ?").all(e.key).map(s=>[s.name,{...s.last_updated===null?{}:{last_updated:s.last_updated},...s.etag===null?{}:{etag:s.etag},...s.checked_at===null?{}:{checked_at:s.checked_at}}]));return{marketplaces:c,plugins:a,...n?.last_self_check===null||n===void 0?{}:{last_self_check:n.last_self_check},activeCanvas:n?.active_canvas??null}}r(m,"readBookkeeping");function v(e,t){p(e.store,n=>{i(n,e),n.prepare("INSERT INTO scope_bookkeeping(owner_key, last_self_check, active_canvas) VALUES (?, ?, ?) ON CONFLICT(owner_key) DO UPDATE SET last_self_check=excluded.last_self_check, active_canvas=excluded.active_canvas").run(e.key,t.last_self_check??null,t.activeCanvas??null),n.prepare("DELETE FROM scope_marketplaces WHERE owner_key = ?").run(e.key),n.prepare("DELETE FROM scope_plugins WHERE owner_key = ?").run(e.key);const c=n.prepare("INSERT INTO scope_marketplaces(owner_key, name, last_updated) VALUES (?, ?, ?)");for(const[s,o]of Object.entries(t.marketplaces))c.run(e.key,s,o.last_updated??null);const a=n.prepare("INSERT INTO scope_plugins(owner_key, name, last_updated, etag, checked_at) VALUES (?, ?, ?, ?, ?)");for(const[s,o]of Object.entries(t.plugins))a.run(e.key,s,o.last_updated??null,o.etag??null,o.checked_at??null)})}r(v,"writeBookkeeping");export{d as SettingsRevisionConflictError,h as mutateRawSettings,m as readBookkeeping,O as readRawSettings,g as readRawSettingsWithRevision,R as replaceRawSettings,v as writeBookkeeping,T as writeRawSettings};
|
package/dist/core/secrets.js
CHANGED
|
@@ -1,55 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
import { join } from 'node:path';
|
|
4
|
-
import { scopeRoot, requireScopeRoot } from './scope.js';
|
|
5
|
-
import { ensureDir } from './fs-utils.js';
|
|
6
|
-
const SECRETS_FILE = 'secrets.json';
|
|
7
|
-
function secretsPathFor(root) {
|
|
8
|
-
return join(root, SECRETS_FILE);
|
|
9
|
-
}
|
|
10
|
-
export function readSecrets(scope) {
|
|
11
|
-
const root = scopeRoot(scope);
|
|
12
|
-
if (!root)
|
|
13
|
-
return { relayTokens: {} };
|
|
14
|
-
const p = secretsPathFor(root);
|
|
15
|
-
if (!existsSync(p))
|
|
16
|
-
return { relayTokens: {} };
|
|
17
|
-
try {
|
|
18
|
-
const parsed = JSON.parse(readFileSync(p, 'utf8'));
|
|
19
|
-
return { relayTokens: parsed.relayTokens ?? {} };
|
|
20
|
-
}
|
|
21
|
-
catch {
|
|
22
|
-
return { relayTokens: {} };
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
/** Writes secrets.json directly (never via `fs-utils.writeJson`, which has no
|
|
26
|
-
* mode control) so the file is created 0600 from the first byte, then
|
|
27
|
-
* `chmodSync`s belt-and-suspenders in case the file pre-existed with looser
|
|
28
|
-
* permissions (e.g. hand-copied from another machine). */
|
|
29
|
-
export function writeSecrets(scope, store) {
|
|
30
|
-
const root = requireScopeRoot(scope);
|
|
31
|
-
ensureDir(root);
|
|
32
|
-
const p = secretsPathFor(root);
|
|
33
|
-
writeFileSync(p, JSON.stringify(store, null, 2) + '\n', { mode: 0o600 });
|
|
34
|
-
chmodSync(p, 0o600);
|
|
35
|
-
}
|
|
36
|
-
export function getRelayToken(ref, scope) {
|
|
37
|
-
return readSecrets(scope).relayTokens[ref];
|
|
38
|
-
}
|
|
39
|
-
export function setRelayToken(ref, token, scope) {
|
|
40
|
-
const s = readSecrets(scope);
|
|
41
|
-
s.relayTokens[ref] = token;
|
|
42
|
-
writeSecrets(scope, s);
|
|
43
|
-
}
|
|
44
|
-
export function deleteRelayToken(ref, scope) {
|
|
45
|
-
const s = readSecrets(scope);
|
|
46
|
-
delete s.relayTokens[ref];
|
|
47
|
-
writeSecrets(scope, s);
|
|
48
|
-
}
|
|
49
|
-
/** A short, non-reversible display fingerprint of a raw token — safe to print
|
|
50
|
-
* in `canvas config list`/`show` output. NEVER derive this from anything
|
|
51
|
-
* that could round-trip back to the token, and never log/return the raw
|
|
52
|
-
* token itself alongside it. */
|
|
53
|
-
export function fingerprint(token) {
|
|
54
|
-
return createHash('sha256').update(token).digest('hex').slice(0, 12);
|
|
55
|
-
}
|
|
1
|
+
var a=Object.defineProperty;var t=(e,r)=>a(e,"name",{value:r,configurable:!0});import{createHash as u}from"node:crypto";import{existsSync as l,readFileSync as p,writeFileSync as f,chmodSync as y}from"node:fs";import{join as m}from"node:path";import{scopeRoot as T,requireScopeRoot as k}from"./scope.js";import{ensureDir as S}from"./fs-utils.js";const d="secrets.json";function c(e){return m(e,d)}t(c,"secretsPathFor");function s(e){const r=T(e);if(!r)return{relayTokens:{}};const o=c(r);if(!l(o))return{relayTokens:{}};try{return{relayTokens:JSON.parse(p(o,"utf8")).relayTokens??{}}}catch{return{relayTokens:{}}}}t(s,"readSecrets");function i(e,r){const o=k(e);S(o);const n=c(o);f(n,JSON.stringify(r,null,2)+`
|
|
2
|
+
`,{mode:384}),y(n,384)}t(i,"writeSecrets");function j(e,r){return s(r).relayTokens[e]}t(j,"getRelayToken");function w(e,r,o){const n=s(o);n.relayTokens[e]=r,i(o,n)}t(w,"setRelayToken");function J(e,r){const o=s(r);delete o.relayTokens[e],i(r,o)}t(J,"deleteRelayToken");function N(e){return u("sha256").update(e).digest("hex").slice(0,12)}t(N,"fingerprint");export{J as deleteRelayToken,N as fingerprint,j as getRelayToken,s as readSecrets,w as setRelayToken,i as writeSecrets};
|
package/dist/core/self-update.js
CHANGED
|
@@ -1,71 +1 @@
|
|
|
1
|
-
|
|
2
|
-
// (core) reaches them without importing commands/update.ts, which would invert
|
|
3
|
-
// the core→commands layering.
|
|
4
|
-
import { spawnSync } from 'node:child_process';
|
|
5
|
-
import { fileURLToPath } from 'node:url';
|
|
6
|
-
import { join, dirname } from 'node:path';
|
|
7
|
-
import { listAllPlugins, listAllMarketplaces } from './resolver.js';
|
|
8
|
-
import { crtrVersion } from '../shared/crtr-version.js';
|
|
9
|
-
import { fetch, currentSha, remoteSha } from './git.js';
|
|
10
|
-
import { general } from './errors.js';
|
|
11
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
12
|
-
const __dirname = dirname(__filename);
|
|
13
|
-
// src/core/self-update.ts → up to src/ → up to pkg root
|
|
14
|
-
const PKG_ROOT = join(__dirname, '..', '..');
|
|
15
|
-
export const SELF_UPDATE_SCRIPT = join(PKG_ROOT, 'scripts', 'self-update.mjs');
|
|
16
|
-
export function currentVersion() {
|
|
17
|
-
return crtrVersion();
|
|
18
|
-
}
|
|
19
|
-
export function selfUpdate() {
|
|
20
|
-
const res = spawnSync(process.execPath, [SELF_UPDATE_SCRIPT], { stdio: 'inherit' });
|
|
21
|
-
if (res.error)
|
|
22
|
-
throw general(`self-update failed: ${res.error.message}`);
|
|
23
|
-
if (res.status !== 0)
|
|
24
|
-
throw general(`self-update failed (${res.status ?? res.signal ?? 'unknown'})`);
|
|
25
|
-
}
|
|
26
|
-
/** Check whether a newer crtr version is available on npm.
|
|
27
|
-
* Warns to stderr if network unavailable; returns {current, latest} or null if unreachable. */
|
|
28
|
-
export function selfCheck() {
|
|
29
|
-
const res = spawnSync('npm', ['view', '@north-light/crouter', 'version'], { encoding: 'utf8' });
|
|
30
|
-
if (res.status !== 0) {
|
|
31
|
-
return null;
|
|
32
|
-
}
|
|
33
|
-
const latest = res.stdout.trim();
|
|
34
|
-
const current = currentVersion();
|
|
35
|
-
return { current, latest };
|
|
36
|
-
}
|
|
37
|
-
/** Check whether any marketplace/plugin has updates available.
|
|
38
|
-
* Returns per-item status without applying anything. */
|
|
39
|
-
export function contentCheck() {
|
|
40
|
-
const results = [];
|
|
41
|
-
const marketplaces = listAllMarketplaces();
|
|
42
|
-
for (const mkt of marketplaces) {
|
|
43
|
-
const fetchRes = fetch(mkt.root, mkt.ref);
|
|
44
|
-
if (fetchRes.status !== 0) {
|
|
45
|
-
results.push({ name: mkt.name, kind: 'marketplace', current: null, latest: null, up_to_date: true, unreachable: true });
|
|
46
|
-
continue;
|
|
47
|
-
}
|
|
48
|
-
const head = currentSha(mkt.root);
|
|
49
|
-
const remote = remoteSha(mkt.root, mkt.ref);
|
|
50
|
-
const up_to_date = head !== null && remote !== null ? head === remote : true;
|
|
51
|
-
results.push({ name: mkt.name, kind: 'marketplace', current: head, latest: remote, up_to_date, unreachable: false });
|
|
52
|
-
}
|
|
53
|
-
const plugins = listAllPlugins();
|
|
54
|
-
for (const plugin of plugins) {
|
|
55
|
-
if (!plugin.enabled)
|
|
56
|
-
continue;
|
|
57
|
-
if (plugin.sourceMarketplace)
|
|
58
|
-
continue;
|
|
59
|
-
const ref = 'main';
|
|
60
|
-
const fetchRes = fetch(plugin.root, ref);
|
|
61
|
-
if (fetchRes.status !== 0) {
|
|
62
|
-
results.push({ name: plugin.name, kind: 'plugin', current: null, latest: null, up_to_date: true, unreachable: true });
|
|
63
|
-
continue;
|
|
64
|
-
}
|
|
65
|
-
const head = currentSha(plugin.root);
|
|
66
|
-
const remote = remoteSha(plugin.root, ref);
|
|
67
|
-
const up_to_date = head !== null && remote !== null ? head === remote : true;
|
|
68
|
-
results.push({ name: plugin.name, kind: 'plugin', current: head, latest: remote, up_to_date, unreachable: false });
|
|
69
|
-
}
|
|
70
|
-
return results;
|
|
71
|
-
}
|
|
1
|
+
var _=Object.defineProperty;var s=(t,r)=>_(t,"name",{value:r,configurable:!0});import{spawnSync as l}from"node:child_process";import{fileURLToPath as k}from"node:url";import{join as i,dirname as g}from"node:path";import{listAllPlugins as R,listAllMarketplaces as x}from"./resolver.js";import{crtrVersion as P}from"../shared/crtr-version.js";import{fetch as f,currentSha as m,remoteSha as p}from"./git.js";import{general as h}from"./errors.js";const b=k(import.meta.url),w=g(b),S=i(w,"..",".."),T=i(S,"scripts","self-update.mjs");function A(){return P()}s(A,"currentVersion");function V(){const t=l(process.execPath,[T],{stdio:"inherit"});if(t.error)throw h(`self-update failed: ${t.error.message}`);if(t.status!==0)throw h(`self-update failed (${t.status??t.signal??"unknown"})`)}s(V,"selfUpdate");function $(){const t=l("npm",["view","@north-light/crouter","version"],{encoding:"utf8"});if(t.status!==0)return null;const r=t.stdout.trim();return{current:A(),latest:r}}s($,"selfCheck");function y(){const t=[],r=x();for(const e of r){if(f(e.root,e.ref).status!==0){t.push({name:e.name,kind:"marketplace",current:null,latest:null,up_to_date:!0,unreachable:!0});continue}const u=m(e.root),n=p(e.root,e.ref),o=u!==null&&n!==null?u===n:!0;t.push({name:e.name,kind:"marketplace",current:u,latest:n,up_to_date:o,unreachable:!1})}const c=R();for(const e of c){if(!e.enabled||e.sourceMarketplace)continue;const a="main";if(f(e.root,a).status!==0){t.push({name:e.name,kind:"plugin",current:null,latest:null,up_to_date:!0,unreachable:!0});continue}const n=m(e.root),o=p(e.root,a),d=n!==null&&o!==null?n===o:!0;t.push({name:e.name,kind:"plugin",current:n,latest:o,up_to_date:d,unreachable:!1})}return t}s(y,"contentCheck");export{T as SELF_UPDATE_SCRIPT,y as contentCheck,A as currentVersion,$ as selfCheck,V as selfUpdate};
|
|
@@ -1,180 +1 @@
|
|
|
1
|
-
|
|
2
|
-
//
|
|
3
|
-
// Terminal attach folds every broker-derived fact through this reducer instead
|
|
4
|
-
// of patching mutable state in individual frame handlers. One reducer keeps the
|
|
5
|
-
// protocol projection coherent across every terminal consumer.
|
|
6
|
-
//
|
|
7
|
-
// The cut line is mechanical:
|
|
8
|
-
//
|
|
9
|
-
// SESSION state = anything derived SOLELY from what the broker sent.
|
|
10
|
-
// VIEWER state = anything derived from local input or this terminal viewer.
|
|
11
|
-
//
|
|
12
|
-
// So `role` belongs here even though it differs per viewer (the broker fixes it
|
|
13
|
-
// from this viewer's `hello` and never changes it — "identical across viewers"
|
|
14
|
-
// would get it wrong), while a transient notice, a connection phase, a
|
|
15
|
-
// correlation id this viewer minted, and the transcript
|
|
16
|
-
// RENDERING all stay with the viewer. The transcript itself is deliberately out
|
|
17
|
-
// of scope because the terminal accumulates it into scrollback.
|
|
18
|
-
//
|
|
19
|
-
// `reduce` is pure and total over `BrokerToClient`: unknown/irrelevant frames
|
|
20
|
-
// return the SAME object reference, so a viewer can drive its repaints off
|
|
21
|
-
// slice-identity (`next.display !== prev.display`) instead of repainting
|
|
22
|
-
// everything on every frame.
|
|
23
|
-
const EMPTY_DISPLAY = { statuses: {}, widgets: {}, title: undefined };
|
|
24
|
-
export function initialSessionState(role = 'observer') {
|
|
25
|
-
return {
|
|
26
|
-
role,
|
|
27
|
-
agentDir: undefined,
|
|
28
|
-
engine: undefined,
|
|
29
|
-
contextTokens: undefined,
|
|
30
|
-
queued: [],
|
|
31
|
-
display: EMPTY_DISPLAY,
|
|
32
|
-
dialog: null,
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
/** The whole session state a `welcome` determines, in ONE step. This is why D1
|
|
36
|
-
* had to land first: before the broker carried its retained display levels in
|
|
37
|
-
* `snapshot.display`, catch-up was `welcome` plus N replayed edges and this
|
|
38
|
-
* function could not be total. */
|
|
39
|
-
export function applySnapshot(frame) {
|
|
40
|
-
const snapshot = frame.snapshot;
|
|
41
|
-
// A broker pinned to a pre-`display` runtime generation is still live and sends
|
|
42
|
-
// no `display` key. It replays nothing either, so the empty floor is correct
|
|
43
|
-
// for it — and a re-welcome must never leave a dead broker's keys behind.
|
|
44
|
-
const display = snapshot.display ?? EMPTY_DISPLAY;
|
|
45
|
-
const contextUsage = snapshot.stats.contextUsage;
|
|
46
|
-
return {
|
|
47
|
-
role: frame.role,
|
|
48
|
-
agentDir: frame.agentDir,
|
|
49
|
-
engine: snapshot.state,
|
|
50
|
-
contextTokens: contextUsage?.tokens ?? undefined,
|
|
51
|
-
queued: snapshotQueued(snapshot),
|
|
52
|
-
display: {
|
|
53
|
-
statuses: { ...display.statuses },
|
|
54
|
-
widgets: Object.fromEntries(Object.entries(display.widgets).map(([k, w]) => [k, { lines: [...w.lines], placement: w.placement }])),
|
|
55
|
-
title: display.title,
|
|
56
|
-
},
|
|
57
|
-
dialog: frame.pending_dialog ?? null,
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
/** Fold one broker frame into the session state. Pure and total: a frame that
|
|
61
|
-
* carries no session state returns `state` UNCHANGED (same reference). */
|
|
62
|
-
export function reduce(state, frame) {
|
|
63
|
-
switch (frame.type) {
|
|
64
|
-
case 'welcome':
|
|
65
|
-
return applySnapshot(frame);
|
|
66
|
-
case 'model_changed':
|
|
67
|
-
return patchEngine(state, { model: frame.model });
|
|
68
|
-
case 'extension_ui_request': {
|
|
69
|
-
// pi's uniform envelope: the three display METHODS are levels this model
|
|
70
|
-
// retains; every other method is a dialog (a new one supersedes any
|
|
71
|
-
// showing one).
|
|
72
|
-
switch (frame.method) {
|
|
73
|
-
case 'setStatus': {
|
|
74
|
-
const current = state.display.statuses[frame.statusKey];
|
|
75
|
-
if (frame.statusText === undefined ? current === undefined : current === frame.statusText)
|
|
76
|
-
return state;
|
|
77
|
-
const statuses = { ...state.display.statuses };
|
|
78
|
-
// Delete-then-set so an update moves the key to the end, matching the
|
|
79
|
-
// broker's (and pi's) insertion-ordered widget/status behavior.
|
|
80
|
-
delete statuses[frame.statusKey];
|
|
81
|
-
if (frame.statusText !== undefined)
|
|
82
|
-
statuses[frame.statusKey] = frame.statusText;
|
|
83
|
-
return { ...state, display: { ...state.display, statuses } };
|
|
84
|
-
}
|
|
85
|
-
case 'setWidget': {
|
|
86
|
-
const next = frame.widgetLines === undefined
|
|
87
|
-
? undefined
|
|
88
|
-
: { lines: [...frame.widgetLines], placement: frame.widgetPlacement ?? 'aboveEditor' };
|
|
89
|
-
if (widgetEqual(state.display.widgets[frame.widgetKey], next))
|
|
90
|
-
return state;
|
|
91
|
-
const widgets = { ...state.display.widgets };
|
|
92
|
-
delete widgets[frame.widgetKey];
|
|
93
|
-
if (next !== undefined)
|
|
94
|
-
widgets[frame.widgetKey] = next;
|
|
95
|
-
return { ...state, display: { ...state.display, widgets } };
|
|
96
|
-
}
|
|
97
|
-
case 'setTitle':
|
|
98
|
-
if (state.display.title === frame.title)
|
|
99
|
-
return state;
|
|
100
|
-
return { ...state, display: { ...state.display, title: frame.title } };
|
|
101
|
-
case 'notify':
|
|
102
|
-
// A notice line — viewer-local presentation, no session state, and
|
|
103
|
-
// emphatically NOT a dialog: it must never supersede a blocking
|
|
104
|
-
// request whose answer the broker is still waiting for.
|
|
105
|
-
return state;
|
|
106
|
-
default:
|
|
107
|
-
return { ...state, dialog: frame };
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
case 'extension_ui_dismiss':
|
|
111
|
-
// Correlated cleanup: the broker resolved this request itself. Clear ONLY
|
|
112
|
-
// the dialog whose id matches.
|
|
113
|
-
return state.dialog !== null && state.dialog.id === frame.id ? { ...state, dialog: null } : state;
|
|
114
|
-
case 'message_end':
|
|
115
|
-
// The most recent assistant turn's prompt tokens ARE the live context
|
|
116
|
-
// size — read straight off the relayed message, no broker round-trip.
|
|
117
|
-
if (frame.message.role !== 'assistant')
|
|
118
|
-
return state;
|
|
119
|
-
return patchContextTokens(state, frame.message.usage.input + frame.message.usage.cacheRead + frame.message.usage.cacheWrite);
|
|
120
|
-
case 'agent_start':
|
|
121
|
-
return patchEngine(state, { isStreaming: true });
|
|
122
|
-
// `agent_end` is the normal turn-over signal; `agent_settled` is the
|
|
123
|
-
// canonical WHOLE-RUN settle the broker always relays (and uses to clear its
|
|
124
|
-
// own busy marker). Clear on BOTH so an abnormal/missed agent_end cannot
|
|
125
|
-
// strand `isStreaming: true` — which is what kept a dormant, between-wakes
|
|
126
|
-
// orchestrator showing a frozen `Working…` spinner.
|
|
127
|
-
case 'agent_end':
|
|
128
|
-
case 'agent_settled':
|
|
129
|
-
return patchEngine(state, { isStreaming: false });
|
|
130
|
-
case 'session_info_changed':
|
|
131
|
-
return patchEngine(state, { sessionName: frame.name });
|
|
132
|
-
case 'thinking_level_changed':
|
|
133
|
-
return patchEngine(state, { thinkingLevel: frame.level });
|
|
134
|
-
case 'queue_update': {
|
|
135
|
-
const queued = [...frame.steering, ...frame.followUp].map((text) => ({ text }));
|
|
136
|
-
const next = patchEngine(state, { pendingMessageCount: queued.length });
|
|
137
|
-
return { ...next, queued };
|
|
138
|
-
}
|
|
139
|
-
default:
|
|
140
|
-
return state;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
/** The queue a `welcome` reports, composed exactly as `queue_update` composes
|
|
144
|
-
* it. Absent on a snapshot from a broker generation older than the field, and
|
|
145
|
-
* on an offline node (no engine, so no queue) — both mean nothing is waiting. */
|
|
146
|
-
function snapshotQueued(snapshot) {
|
|
147
|
-
const queued = snapshot.queued;
|
|
148
|
-
if (typeof queued !== 'object' || queued === null)
|
|
149
|
-
return [];
|
|
150
|
-
const { steering, followUp } = queued;
|
|
151
|
-
return [...texts(steering), ...texts(followUp)].map((text) => ({ text }));
|
|
152
|
-
}
|
|
153
|
-
function texts(value) {
|
|
154
|
-
return Array.isArray(value) ? value.filter((entry) => typeof entry === 'string') : [];
|
|
155
|
-
}
|
|
156
|
-
/** Apply a partial patch to pi's state, preserving reference identity when the
|
|
157
|
-
* patch changes nothing (and when no welcome has seeded `engine` yet). */
|
|
158
|
-
function patchEngine(state, patch) {
|
|
159
|
-
const engine = state.engine;
|
|
160
|
-
if (engine === undefined)
|
|
161
|
-
return state;
|
|
162
|
-
let changed = false;
|
|
163
|
-
for (const [k, v] of Object.entries(patch)) {
|
|
164
|
-
if (engine[k] !== v) {
|
|
165
|
-
changed = true;
|
|
166
|
-
break;
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
if (!changed)
|
|
170
|
-
return state;
|
|
171
|
-
return { ...state, engine: { ...engine, ...patch } };
|
|
172
|
-
}
|
|
173
|
-
function patchContextTokens(state, tokens) {
|
|
174
|
-
return state.contextTokens === tokens ? state : { ...state, contextTokens: tokens };
|
|
175
|
-
}
|
|
176
|
-
function widgetEqual(a, b) {
|
|
177
|
-
if (a === undefined || b === undefined)
|
|
178
|
-
return a === b;
|
|
179
|
-
return (a.placement === b.placement && a.lines.length === b.lines.length && a.lines.every((l, i) => l === b.lines[i]));
|
|
180
|
-
}
|
|
1
|
+
var r=Object.defineProperty;var s=(e,n)=>r(e,"name",{value:n,configurable:!0});const o={statuses:{},widgets:{},title:void 0};function h(e="observer"){return{role:e,agentDir:void 0,engine:void 0,contextTokens:void 0,queued:[],display:o,dialog:null}}s(h,"initialSessionState");function g(e){const n=e.snapshot,t=n.display??o,i=n.stats.contextUsage;return{role:e.role,agentDir:e.agentDir,engine:n.state,contextTokens:i?.tokens??void 0,queued:a(n),display:{statuses:{...t.statuses},widgets:Object.fromEntries(Object.entries(t.widgets).map(([u,l])=>[u,{lines:[...l.lines],placement:l.placement}])),title:t.title},dialog:e.pending_dialog??null}}s(g,"applySnapshot");function w(e,n){switch(n.type){case"welcome":return g(n);case"model_changed":return d(e,{model:n.model});case"extension_ui_request":switch(n.method){case"setStatus":{const t=e.display.statuses[n.statusKey];if(n.statusText===void 0?t===void 0:t===n.statusText)return e;const i={...e.display.statuses};return delete i[n.statusKey],n.statusText!==void 0&&(i[n.statusKey]=n.statusText),{...e,display:{...e.display,statuses:i}}}case"setWidget":{const t=n.widgetLines===void 0?void 0:{lines:[...n.widgetLines],placement:n.widgetPlacement??"aboveEditor"};if(y(e.display.widgets[n.widgetKey],t))return e;const i={...e.display.widgets};return delete i[n.widgetKey],t!==void 0&&(i[n.widgetKey]=t),{...e,display:{...e.display,widgets:i}}}case"setTitle":return e.display.title===n.title?e:{...e,display:{...e.display,title:n.title}};case"notify":return e;default:return{...e,dialog:n}}case"extension_ui_dismiss":return e.dialog!==null&&e.dialog.id===n.id?{...e,dialog:null}:e;case"message_end":return n.message.role!=="assistant"?e:p(e,n.message.usage.input+n.message.usage.cacheRead+n.message.usage.cacheWrite);case"agent_start":return d(e,{isStreaming:!0});case"agent_end":case"agent_settled":return d(e,{isStreaming:!1});case"session_info_changed":return d(e,{sessionName:n.name});case"thinking_level_changed":return d(e,{thinkingLevel:n.level});case"queue_update":{const t=[...n.steering,...n.followUp].map(u=>({text:u}));return{...d(e,{pendingMessageCount:t.length}),queued:t}}default:return e}}s(w,"reduce");function a(e){const n=e.queued;if(typeof n!="object"||n===null)return[];const{steering:t,followUp:i}=n;return[...c(t),...c(i)].map(u=>({text:u}))}s(a,"snapshotQueued");function c(e){return Array.isArray(e)?e.filter(n=>typeof n=="string"):[]}s(c,"texts");function d(e,n){const t=e.engine;if(t===void 0)return e;let i=!1;for(const[u,l]of Object.entries(n))if(t[u]!==l){i=!0;break}return i?{...e,engine:{...t,...n}}:e}s(d,"patchEngine");function p(e,n){return e.contextTokens===n?e:{...e,contextTokens:n}}s(p,"patchContextTokens");function y(e,n){return e===void 0||n===void 0?e===n:e.placement===n.placement&&e.lines.length===n.lines.length&&e.lines.every((t,i)=>t===n.lines[i])}s(y,"widgetEqual");export{g as applySnapshot,h as initialSessionState,w as reduce};
|