@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,213 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
// ONE place defines which (status, intent) moves are legal and enacts them.
|
|
4
|
-
// The legal transition TABLE is the definition, and `transition(id, event)` is
|
|
5
|
-
// the single writer of status+intent for every caller (reset, close, revive,
|
|
6
|
-
// feed, daemon, stophook, queue, promote): it validates the from-status, then
|
|
7
|
-
// writes both fields in ONE atomic statement (on the WAL'd row setters) so the
|
|
8
|
-
// two can never disagree.
|
|
9
|
-
//
|
|
10
|
-
// Persona modules own context framing; this file owns which status/intent move
|
|
11
|
-
// is legal. The two state machines stay independent.
|
|
12
|
-
//
|
|
13
|
-
// Crash-safety invariant: flip status to a non-supervised value + clear intent
|
|
14
|
-
// BEFORE killing the host (tmux pane or headless broker) — the daemon only ever
|
|
15
|
-
// revives active|idle nodes, so a teardown must leave the node done/canceled
|
|
16
|
-
// first to close the revive race. That invariant is the DEFINITION of the
|
|
17
|
-
// `cancel` event: callers flip via transition() and only THEN tear the host down.
|
|
18
|
-
//
|
|
19
|
-
// An externally-reaped node — torn down because the user moved on (close
|
|
20
|
-
// cascade) OR because a root relaunch superseded its workers — ends `canceled`,
|
|
21
|
-
// NOT `done`. `done` is reserved for a node that finished its OWN work (finish)
|
|
22
|
-
// — including a relaunched root, which is parked `done` as history, not
|
|
23
|
-
// canceled. There is no separate reap event: it would be identical to `cancel`
|
|
24
|
-
// in every field and side effect, so reset.ts's reapDescendants routes through
|
|
25
|
-
// `cancel`.
|
|
26
|
-
//
|
|
27
|
-
// Layering note: lifecycle.ts is runtime, but it is the canvas write surface's
|
|
28
|
-
// `transition` verb (the only writer of status+intent), so it drives the
|
|
29
|
-
// atomic status+intent write through canvas.ts's `transitionStatusIntent`
|
|
30
|
-
// (its own decision logic — the legality table below, and the
|
|
31
|
-
// unknown-node/illegal-move/already-finalized-cancel branching — stays here;
|
|
32
|
-
// only the raw conditional UPDATE lives in canvas.ts, keeping every `.prepare(`
|
|
33
|
-
// inside `core/canvas/`).
|
|
34
|
-
import { getNode, cancelCronsOnWake, transitionStatusIntent } from '../canvas/index.js';
|
|
35
|
-
import { readExternalActionDelivery } from '../canvas/deliveries.js';
|
|
36
|
-
import { composeNodeOutcomeDocument } from './outcome-document.js';
|
|
37
|
-
const ANY = '*';
|
|
38
|
-
const TERMINAL_REASONS = {
|
|
39
|
-
finish: 'finished',
|
|
40
|
-
park: 'parked',
|
|
41
|
-
cancel: 'stranded',
|
|
42
|
-
crash: 'crashed',
|
|
43
|
-
'refresh-launch': null,
|
|
44
|
-
revive: null,
|
|
45
|
-
};
|
|
46
|
-
/** The supervised statuses — a live node the daemon watches. */
|
|
47
|
-
const LIVE = ['active', 'idle'];
|
|
48
|
-
/** The legal transition table — derived directly from the (status, intent) pairs
|
|
49
|
-
* the runtime actually wrote at its audited call sites, so behavior is preserved
|
|
50
|
-
* by construction. Each entry's comment names its writer(s). */
|
|
51
|
-
const TRANSITIONS = {
|
|
52
|
-
// markCleanExitDone (clean quit) · queue cancellation · relaunchRoot park-old.
|
|
53
|
-
finish: { status: 'done', intent: 'done', from: LIVE },
|
|
54
|
-
// The unattended park: a node whose conversation went idle with nothing left
|
|
55
|
-
// to wake it. `intent='parked'` IS the durable park marker — it qualifies the
|
|
56
|
-
// `done` it is written with, and `revive` clears it. Read it through
|
|
57
|
-
// `isParked` below, never by comparing the string at a call site.
|
|
58
|
-
park: { status: 'done', intent: 'parked', from: LIVE },
|
|
59
|
-
// closeNode cascade · reapDescendants. Forced teardown of a node that did NOT
|
|
60
|
-
// finish its own work → canceled, intent cleared. (A5: done is reserved for
|
|
61
|
-
// finish; every external reap unifies on canceled.)
|
|
62
|
-
cancel: { status: 'canceled', intent: null, from: ANY },
|
|
63
|
-
// daemon superviseTick: engine container gone (tmux pane or broker process)
|
|
64
|
-
// with no yield/release intent. Intent KEPT (the dead log line still reports it).
|
|
65
|
-
crash: { status: 'dead', from: LIVE },
|
|
66
|
-
// requestYield · relaunchRoot new-node safety net. Status KEPT (already active).
|
|
67
|
-
yield: { intent: 'refresh', from: LIVE },
|
|
68
|
-
// Free the host, stay woken by the inbox. A parked resident can also drain
|
|
69
|
-
// here after a capacity freeze without spending a slot.
|
|
70
|
-
release: { status: 'idle', intent: 'idle-release', from: [...LIVE, 'done'] },
|
|
71
|
-
// reviveNode provisional refresh launch: activate without committing the
|
|
72
|
-
// refresh until session_start proves the engine booted.
|
|
73
|
-
'refresh-launch': { status: 'active', intent: 'refresh', from: ANY },
|
|
74
|
-
// reviveNode ordinary launch · resetRoot · stophook boot confirmation.
|
|
75
|
-
revive: { status: 'active', intent: null, from: ANY },
|
|
76
|
-
};
|
|
77
|
-
function firstLineAtMost(value, maxBytes) {
|
|
78
|
-
const line = value.split('\n')[0] ?? '';
|
|
79
|
-
let bytes = 0;
|
|
80
|
-
let result = '';
|
|
81
|
-
for (const character of line) {
|
|
82
|
-
const next = Buffer.byteLength(character, 'utf8');
|
|
83
|
-
if (bytes + next > maxBytes)
|
|
84
|
-
break;
|
|
85
|
-
bytes += next;
|
|
86
|
-
result += character;
|
|
87
|
-
}
|
|
88
|
-
return result;
|
|
89
|
-
}
|
|
90
|
-
function detailJson(detail) {
|
|
91
|
-
if (detail === undefined)
|
|
92
|
-
return null;
|
|
93
|
-
const message = detail.message === undefined ? undefined : firstLineAtMost(detail.message, 500);
|
|
94
|
-
const bounded = { ...detail, ...(message === undefined ? {} : { message }) };
|
|
95
|
-
const serialized = JSON.stringify(bounded);
|
|
96
|
-
if (Buffer.byteLength(serialized, 'utf8') <= 4 * 1024)
|
|
97
|
-
return serialized;
|
|
98
|
-
return JSON.stringify({ schema: 'crtr.node-outcome-detail/v1', truncated: true, ...(message === undefined ? {} : { message }) });
|
|
99
|
-
}
|
|
100
|
-
function armedOutcomeAction(nodeId) {
|
|
101
|
-
const delivery = readExternalActionDelivery(`node-outcome:${nodeId}`);
|
|
102
|
-
if (delivery === null || delivery.state !== 'armed')
|
|
103
|
-
return null;
|
|
104
|
-
const adapter = delivery.adapter;
|
|
105
|
-
if (adapter?.adapter !== 'subprocess' || !Array.isArray(adapter.argv) || !adapter.argv.every((entry) => typeof entry === 'string') || typeof adapter.cwd !== 'string') {
|
|
106
|
-
throw new Error(`outcome delivery ${delivery.deliveryId} has an invalid subprocess adapter`);
|
|
107
|
-
}
|
|
108
|
-
return { name: delivery.destinationId, payload: adapter.payload ?? null };
|
|
109
|
-
}
|
|
110
|
-
function nodeAtOutcome(node, reason) {
|
|
111
|
-
let status;
|
|
112
|
-
let intent;
|
|
113
|
-
if (reason === 'finished' || reason === 'declined') {
|
|
114
|
-
status = 'done';
|
|
115
|
-
intent = 'done';
|
|
116
|
-
}
|
|
117
|
-
else if (reason === 'parked') {
|
|
118
|
-
status = 'done';
|
|
119
|
-
intent = 'parked';
|
|
120
|
-
}
|
|
121
|
-
else if (reason === 'closed' || reason === 'retired' || reason === 'stranded' || reason === 'deadline_exceeded') {
|
|
122
|
-
status = 'canceled';
|
|
123
|
-
intent = null;
|
|
124
|
-
}
|
|
125
|
-
else {
|
|
126
|
-
status = 'dead';
|
|
127
|
-
intent = null;
|
|
128
|
-
}
|
|
129
|
-
return { ...node, status, intent, terminal_reason: reason };
|
|
130
|
-
}
|
|
131
|
-
/** Enact a lifecycle event on a node: validate the from-status against the
|
|
132
|
-
* table, then write status+intent in ONE atomic statement (so they can never
|
|
133
|
-
* disagree). Returns the hydrated node view after the write.
|
|
134
|
-
*
|
|
135
|
-
* Throws on an unknown node or an illegal move. The conditional update makes
|
|
136
|
-
* legality authoritative at SQLite write time rather than at a stale read. */
|
|
137
|
-
export function transition(nodeId, event, opts) {
|
|
138
|
-
const spec = TRANSITIONS[event];
|
|
139
|
-
const writeStatus = Object.prototype.hasOwnProperty.call(spec, 'status');
|
|
140
|
-
const writeIntent = Object.prototype.hasOwnProperty.call(spec, 'intent');
|
|
141
|
-
const reason = opts?.reason ?? TERMINAL_REASONS[event];
|
|
142
|
-
const fields = {};
|
|
143
|
-
if (writeStatus)
|
|
144
|
-
fields.status = spec.status;
|
|
145
|
-
if (writeIntent)
|
|
146
|
-
fields.intent = spec.intent ?? null;
|
|
147
|
-
if (reason !== undefined)
|
|
148
|
-
fields.terminal_reason = reason;
|
|
149
|
-
const terminal = event === 'finish' || event === 'park' || event === 'cancel' || event === 'crash';
|
|
150
|
-
const current = terminal ? getNode(nodeId) : null;
|
|
151
|
-
const recordsOutcome = terminal && current?.kind !== 'human';
|
|
152
|
-
const outcomeReason = reason;
|
|
153
|
-
const outcomeAt = terminal ? new Date().toISOString() : null;
|
|
154
|
-
const outcomeDetailJson = detailJson(opts?.outcome?.detail);
|
|
155
|
-
let documentJson;
|
|
156
|
-
if (recordsOutcome && current !== null && current.outcome_at === null) {
|
|
157
|
-
const action = armedOutcomeAction(nodeId);
|
|
158
|
-
if (action !== null) {
|
|
159
|
-
documentJson = JSON.stringify(composeNodeOutcomeDocument({
|
|
160
|
-
node: nodeAtOutcome(current, outcomeReason),
|
|
161
|
-
outcome: { kind: 'failure', reason: outcomeReason, at: outcomeAt, revision: (current.outcome_revision ?? 0) + 1, detailJson: outcomeDetailJson },
|
|
162
|
-
action,
|
|
163
|
-
}));
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
// A committed canonical result is protected from a concurrent close.
|
|
167
|
-
const changes = transitionStatusIntent(nodeId, fields, {
|
|
168
|
-
fromStatuses: spec.from === ANY ? undefined : spec.from,
|
|
169
|
-
requireNoFinalReport: event === 'cancel',
|
|
170
|
-
...(recordsOutcome ? {
|
|
171
|
-
outcome: {
|
|
172
|
-
kind: 'failure',
|
|
173
|
-
reason: outcomeReason,
|
|
174
|
-
detailJson: outcomeDetailJson,
|
|
175
|
-
at: outcomeAt,
|
|
176
|
-
...(documentJson === undefined ? {} : { documentJson }),
|
|
177
|
-
},
|
|
178
|
-
} : {}),
|
|
179
|
-
});
|
|
180
|
-
if (changes === 0) {
|
|
181
|
-
const cur = getNode(nodeId);
|
|
182
|
-
if (cur === null)
|
|
183
|
-
throw new Error(`transition: unknown node ${nodeId}`);
|
|
184
|
-
if (event === 'cancel' && cur.final_report !== null && cur.final_report !== undefined)
|
|
185
|
-
return cur;
|
|
186
|
-
throw new Error(`illegal lifecycle transition: '${event}' from status='${cur.status}' (node ${nodeId})`);
|
|
187
|
-
}
|
|
188
|
-
// Wait-cron cleanup — writes a DIFFERENT table (crons) AFTER the atomic
|
|
189
|
-
// status/intent write above, so the single-(status,intent)-writer rule holds.
|
|
190
|
-
// Event-gated; exactly ONE delegated crons helper, never inline cron SQL here:
|
|
191
|
-
// finish · park · cancel → cancelCronsOnWake: delete the cancel-on-wake crons
|
|
192
|
-
// ANCHORED to this node — the deadlines it armed to bound a wait. Ending
|
|
193
|
-
// the wait deliberately (finish) or having it ended for you (close cascade
|
|
194
|
-
// · reapDescendants) settles that race, so the deadline must not fire
|
|
195
|
-
// afterwards: on a finished node its urgent self-message hits
|
|
196
|
-
// `assertNotFinalized`, fails, and escalates a spurious agent; on a closed
|
|
197
|
-
// node it succeeds and revives a node the user deliberately shut. Only
|
|
198
|
-
// cancel-on-wake rows go — a standing declarative cron (anchored or not)
|
|
199
|
-
// SURVIVES a node ending.
|
|
200
|
-
// crash → NOTHING. A fault is not a deliberate end-of-waiting; a pending
|
|
201
|
-
// deadline MUST survive instance death so the wait still settles.
|
|
202
|
-
if (event === 'finish' || event === 'park' || event === 'cancel')
|
|
203
|
-
cancelCronsOnWake(nodeId);
|
|
204
|
-
return getNode(nodeId);
|
|
205
|
-
}
|
|
206
|
-
/** Whether this row is a PARKED node — terminalized by the unattended clock
|
|
207
|
-
* rather than by finishing its own work. The one read of the park marker:
|
|
208
|
-
* `done` qualified by `intent='parked'`, both written in the same atomic
|
|
209
|
-
* statement by the `park` event above. Revival clears it (`revive` writes
|
|
210
|
-
* `intent: null`), so a reopened node is an ordinary node again. */
|
|
211
|
-
export function isParked(node) {
|
|
212
|
-
return node.status === 'done' && node.intent === 'parked';
|
|
213
|
-
}
|
|
1
|
+
var w=Object.defineProperty;var i=(t,e)=>w(t,"name",{value:e,configurable:!0});import{getNode as y,cancelCronsOnWake as S,transitionStatusIntent as A}from"../canvas/index.js";import{readExternalActionDelivery as N}from"../canvas/deliveries.js";import{composeNodeOutcomeDocument as b}from"./outcome-document.js";const f="*",J={finish:"finished",park:"parked",cancel:"stranded",crash:"crashed","refresh-launch":null,revive:null},c=["active","idle"],_={finish:{status:"done",intent:"done",from:c},park:{status:"done",intent:"parked",from:c},cancel:{status:"canceled",intent:null,from:f},crash:{status:"dead",from:c},yield:{intent:"refresh",from:c},release:{status:"idle",intent:"idle-release",from:[...c,"done"]},"refresh-launch":{status:"active",intent:"refresh",from:f},revive:{status:"active",intent:null,from:f}};function v(t,e){const r=t.split(`
|
|
2
|
+
`)[0]??"";let n=0,l="";for(const u of r){const s=Buffer.byteLength(u,"utf8");if(n+s>e)break;n+=s,l+=u}return l}i(v,"firstLineAtMost");function E(t){if(t===void 0)return null;const e=t.message===void 0?void 0:v(t.message,500),r={...t,...e===void 0?{}:{message:e}},n=JSON.stringify(r);return Buffer.byteLength(n,"utf8")<=4*1024?n:JSON.stringify({schema:"crtr.node-outcome-detail/v1",truncated:!0,...e===void 0?{}:{message:e}})}i(E,"detailJson");function $(t){const e=N(`node-outcome:${t}`);if(e===null||e.state!=="armed")return null;const r=e.adapter;if(r?.adapter!=="subprocess"||!Array.isArray(r.argv)||!r.argv.every(n=>typeof n=="string")||typeof r.cwd!="string")throw new Error(`outcome delivery ${e.deliveryId} has an invalid subprocess adapter`);return{name:e.destinationId,payload:r.payload??null}}i($,"armedOutcomeAction");function x(t,e){let r,n;return e==="finished"||e==="declined"?(r="done",n="done"):e==="parked"?(r="done",n="parked"):e==="closed"||e==="retired"||e==="stranded"||e==="deadline_exceeded"?(r="canceled",n=null):(r="dead",n=null),{...t,status:r,intent:n,terminal_reason:e}}i(x,"nodeAtOutcome");function j(t,e,r){const n=_[e],l=Object.prototype.hasOwnProperty.call(n,"status"),u=Object.prototype.hasOwnProperty.call(n,"intent"),s=r?.reason??J[e],d={};l&&(d.status=n.status),u&&(d.intent=n.intent??null),s!==void 0&&(d.terminal_reason=s);const m=e==="finish"||e==="park"||e==="cancel"||e==="crash",a=m?y(t):null,g=m&&a?.kind!=="human",p=s,k=m?new Date().toISOString():null,O=E(r?.outcome?.detail);let h;if(g&&a!==null&&a.outcome_at===null){const o=$(t);o!==null&&(h=JSON.stringify(b({node:x(a,p),outcome:{kind:"failure",reason:p,at:k,revision:(a.outcome_revision??0)+1,detailJson:O},action:o})))}if(A(t,d,{fromStatuses:n.from===f?void 0:n.from,requireNoFinalReport:e==="cancel",...g?{outcome:{kind:"failure",reason:p,detailJson:O,at:k,...h===void 0?{}:{documentJson:h}}}:{}})===0){const o=y(t);if(o===null)throw new Error(`transition: unknown node ${t}`);if(e==="cancel"&&o.final_report!==null&&o.final_report!==void 0)return o;throw new Error(`illegal lifecycle transition: '${e}' from status='${o.status}' (node ${t})`)}return(e==="finish"||e==="park"||e==="cancel")&&S(t),y(t)}i(j,"transition");function B(t){return t.status==="done"&&t.intent==="parked"}i(B,"isParked");export{B as isParked,j as transition};
|
|
@@ -1,62 +1 @@
|
|
|
1
|
-
|
|
2
|
-
// pool tried this turn is temporarily cooling down".
|
|
3
|
-
//
|
|
4
|
-
// runManagedProvider (provider-rotation.ts) raises this once every attempted
|
|
5
|
-
// managed-pool credential is rate-limited with at least one finite future
|
|
6
|
-
// deadline. The error converts to an AssistantMessageDiagnostic that survives
|
|
7
|
-
// verbatim into the terminal error message and therefore into agent_end.messages
|
|
8
|
-
// (pi-ai's AssistantMessageEventStream.result() returns the exact error message
|
|
9
|
-
// object). The canvas-stophook reads the earliest deadline back off that message
|
|
10
|
-
// and stamps it onto the pi→provider fault's retry.nextAt, so the broker's
|
|
11
|
-
// existing auto-retry re-drives the pre-content turn exactly when the soonest
|
|
12
|
-
// pool frees up — turning a transient pool cooldown into an auto (not fatal)
|
|
13
|
-
// fault instead of a permanent one.
|
|
14
|
-
/** Diagnostic `type` tag carrying the cooling deadline; also the wire contract the
|
|
15
|
-
* stophook matches on. */
|
|
16
|
-
export const MANAGED_PROVIDER_COOLING_DIAGNOSTIC = "crtr:managed-provider-cooling";
|
|
17
|
-
/** Stable error code so a caller can recognize the typed error without message parsing. */
|
|
18
|
-
export const MANAGED_PROVIDER_COOLING_CODE = "managed_provider_cooling";
|
|
19
|
-
/** Every managed provider pool tried this turn is cooling; `rateLimitedUntil` is
|
|
20
|
-
* the earliest future deadline (epoch ms) across those pools. */
|
|
21
|
-
export class ManagedProviderCoolingError extends Error {
|
|
22
|
-
code = MANAGED_PROVIDER_COOLING_CODE;
|
|
23
|
-
rateLimitedUntil;
|
|
24
|
-
constructor(message, rateLimitedUntil) {
|
|
25
|
-
super(message);
|
|
26
|
-
this.name = "ManagedProviderCoolingError";
|
|
27
|
-
this.rateLimitedUntil = rateLimitedUntil;
|
|
28
|
-
}
|
|
29
|
-
/** The diagnostic to attach to the terminal assistant error so the deadline
|
|
30
|
-
* reaches the stophook without regex-parsing the message. Built inline (not via
|
|
31
|
-
* pi-ai's `createAssistantMessageDiagnostic`) to keep this module's runtime
|
|
32
|
-
* import graph pi-free — the shape matches `AssistantMessageDiagnostic`. */
|
|
33
|
-
toDiagnostic() {
|
|
34
|
-
return {
|
|
35
|
-
type: MANAGED_PROVIDER_COOLING_DIAGNOSTIC,
|
|
36
|
-
timestamp: Date.now(),
|
|
37
|
-
details: { rateLimitedUntil: this.rateLimitedUntil },
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
/** Strictly read the managed-cooling deadline (epoch ms) off an assistant
|
|
42
|
-
* message's diagnostics. Returns the finite, strictly-positive `rateLimitedUntil`
|
|
43
|
-
* from the first cooling diagnostic, or undefined when the message carries none
|
|
44
|
-
* (or a malformed one). */
|
|
45
|
-
export function hasManagedProviderCoolingDiagnostic(message) {
|
|
46
|
-
const diagnostics = message?.diagnostics;
|
|
47
|
-
return Array.isArray(diagnostics) && diagnostics.some((diagnostic) => diagnostic?.type === MANAGED_PROVIDER_COOLING_DIAGNOSTIC);
|
|
48
|
-
}
|
|
49
|
-
export function extractCoolingDeadline(message) {
|
|
50
|
-
const diagnostics = message?.diagnostics;
|
|
51
|
-
if (!Array.isArray(diagnostics))
|
|
52
|
-
return undefined;
|
|
53
|
-
for (const diagnostic of diagnostics) {
|
|
54
|
-
if (diagnostic?.type !== MANAGED_PROVIDER_COOLING_DIAGNOSTIC)
|
|
55
|
-
continue;
|
|
56
|
-
const raw = diagnostic?.details?.rateLimitedUntil;
|
|
57
|
-
const value = typeof raw === "number" ? raw : Number(raw);
|
|
58
|
-
if (Number.isFinite(value) && value > 0)
|
|
59
|
-
return value;
|
|
60
|
-
}
|
|
61
|
-
return undefined;
|
|
62
|
-
}
|
|
1
|
+
var s=Object.defineProperty;var e=(i,t)=>s(i,"name",{value:t,configurable:!0});const a="crtr:managed-provider-cooling",d="managed_provider_cooling";class g extends Error{static{e(this,"ManagedProviderCoolingError")}code=d;rateLimitedUntil;constructor(t,r){super(t),this.name="ManagedProviderCoolingError",this.rateLimitedUntil=r}toDiagnostic(){return{type:a,timestamp:Date.now(),details:{rateLimitedUntil:this.rateLimitedUntil}}}}function l(i){const t=i?.diagnostics;return Array.isArray(t)&&t.some(r=>r?.type===a)}e(l,"hasManagedProviderCoolingDiagnostic");function u(i){const t=i?.diagnostics;if(Array.isArray(t))for(const r of t){if(r?.type!==a)continue;const n=r?.details?.rateLimitedUntil,o=typeof n=="number"?n:Number(n);if(Number.isFinite(o)&&o>0)return o}}e(u,"extractCoolingDeadline");export{d as MANAGED_PROVIDER_COOLING_CODE,a as MANAGED_PROVIDER_COOLING_DIAGNOSTIC,g as ManagedProviderCoolingError,u as extractCoolingDeadline,l as hasManagedProviderCoolingDiagnostic};
|
|
@@ -1,17 +1 @@
|
|
|
1
|
-
|
|
2
|
-
//
|
|
3
|
-
// One scope lives here: node-local memory, a `memory/` directory of substrate
|
|
4
|
-
// documents (.md files with typed frontmatter — kind, when-and-why-to-read,
|
|
5
|
-
// surfaces, gate) inside a node's context dir; it dies with the node. User-global and project memory are scope-resolved stores — see
|
|
6
|
-
// `scopeMemoryDir` in core/scope.ts.
|
|
7
|
-
import { join } from 'node:path';
|
|
8
|
-
// Import the pure path helper from paths.ts directly, NOT the canvas/index.js
|
|
9
|
-
// barrel: the barrel re-exports `openDb`/canvas.ts accessors, so pulling it here
|
|
10
|
-
// would drag canvas.db into the runtime graph of every pure-client CLI leaf that
|
|
11
|
-
// resolves memory docs (e.g. `memory origin`, `sys context prompt-review`). Stage B-9.
|
|
12
|
-
import { contextDir } from '../canvas/paths.js';
|
|
13
|
-
/** The node-local memory directory in a node's context dir — holds substrate
|
|
14
|
-
* docs (.md files with kind/when/why frontmatter). */
|
|
15
|
-
export function memoryDir(nodeId) {
|
|
16
|
-
return join(contextDir(nodeId), 'memory');
|
|
17
|
-
}
|
|
1
|
+
var t=Object.defineProperty;var o=(r,m)=>t(r,"name",{value:m,configurable:!0});import{join as i}from"node:path";import{contextDir as e}from"../canvas/paths.js";function c(r){return i(e(r),"memory")}o(c,"memoryDir");export{c as memoryDir};
|
|
@@ -1,13 +1 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ModelRegistry, ModelRuntime } from '@earendil-works/pi-coding-agent';
|
|
3
|
-
import { PoolCredentialStore } from '../pool-credential-store.js';
|
|
4
|
-
import { piAgentDir } from './package-health.js';
|
|
5
|
-
/** Open pi's credential-backed model registry for runtime model resolution. */
|
|
6
|
-
export async function openModelRegistry() {
|
|
7
|
-
const agentDir = piAgentDir();
|
|
8
|
-
const runtime = await ModelRuntime.create({
|
|
9
|
-
credentials: new PoolCredentialStore(join(agentDir, 'auth.json')),
|
|
10
|
-
modelsPath: join(agentDir, 'models.json'),
|
|
11
|
-
});
|
|
12
|
-
return new ModelRegistry(runtime);
|
|
13
|
-
}
|
|
1
|
+
var n=Object.defineProperty;var t=(o,e)=>n(o,"name",{value:e,configurable:!0});import{join as r}from"node:path";import{ModelRegistry as i,ModelRuntime as m}from"@earendil-works/pi-coding-agent";import{PoolCredentialStore as s}from"../pool-credential-store.js";import{piAgentDir as a}from"./package-health.js";async function u(){const o=a(),e=await m.create({credentials:new s(r(o,"auth.json")),modelsPath:r(o,"models.json")});return new i(e)}t(u,"openModelRegistry");export{u as openModelRegistry};
|
|
@@ -1,135 +1 @@
|
|
|
1
|
-
|
|
2
|
-
// recipe's model logic (provider × strength → concrete `model:thinking`).
|
|
3
|
-
//
|
|
4
|
-
// Split out of `launch.ts` so the CLI-side model wizard (`sys setup`) and other
|
|
5
|
-
// pure consumers can resolve/normalize a provider×strength selection WITHOUT
|
|
6
|
-
// dragging in `launch.ts`'s full revive-recipe module graph, which reaches
|
|
7
|
-
// `core/canvas/index.js` (→ `openDb`) via `editorLabel`/`nodeEnv`. Everything
|
|
8
|
-
// here depends only on `readMergedLaunchConfig` (fs/config, openDb-free) and the
|
|
9
|
-
// static `types.ts` shapes, so its transitive runtime import graph is
|
|
10
|
-
// canvas-state-store-free (spec §10 / Stage-C import checker). `launch.ts`
|
|
11
|
-
// imports these back for its own resolution/fallback/picker logic.
|
|
12
|
-
import { readMergedLaunchConfig } from '../config.js';
|
|
13
|
-
/** Model-ladder resolution goes through `readMergedLaunchConfig` — the SAME
|
|
14
|
-
* project-stack > profile > user > builtin precedence `resolveKindConfig`
|
|
15
|
-
* already uses for `kinds` — so a project/profile override of `modelLadders`
|
|
16
|
-
* is honored identically to a kind override, instead of this file reading
|
|
17
|
-
* only user config. */
|
|
18
|
-
export function modelLadders() {
|
|
19
|
-
return readMergedLaunchConfig().modelLadders;
|
|
20
|
-
}
|
|
21
|
-
/** Env var naming the DEFAULT provider for an UNqualified bare strength only.
|
|
22
|
-
* `CRTR_MODEL_PROVIDER=openai` (case-insensitive) makes a bare `strong` resolve
|
|
23
|
-
* on the OpenAI ladder; anything else defaults to Anthropic. A configured
|
|
24
|
-
* defaultProvider in config.json wins over this env. */
|
|
25
|
-
export const OPENAI_PROVIDER_ENV = 'CRTR_MODEL_PROVIDER';
|
|
26
|
-
export function defaultProvider(ladders = modelLadders()) {
|
|
27
|
-
const cfgProvider = ladders.defaultProvider;
|
|
28
|
-
if (cfgProvider === 'anthropic' || cfgProvider === 'openai')
|
|
29
|
-
return cfgProvider;
|
|
30
|
-
return (process.env[OPENAI_PROVIDER_ENV] ?? '').toLowerCase() === 'openai' ? 'openai' : 'anthropic';
|
|
31
|
-
}
|
|
32
|
-
/** Strength synonyms accepted from personas/callers. */
|
|
33
|
-
export const STRENGTH_ALIASES = {
|
|
34
|
-
ultra: 'ultra',
|
|
35
|
-
strong: 'strong',
|
|
36
|
-
medium: 'medium',
|
|
37
|
-
light: 'light',
|
|
38
|
-
normal: 'medium',
|
|
39
|
-
weak: 'light',
|
|
40
|
-
};
|
|
41
|
-
// Every ladder provider — walked for resolution, strength-matching, the model
|
|
42
|
-
// picker, and the Alt+M cycle. Both participate in automatic turn-time fallback.
|
|
43
|
-
export const MODEL_PROVIDER_KEYS = ['anthropic', 'openai'];
|
|
44
|
-
export const MODEL_STRENGTHS = ['ultra', 'strong', 'medium', 'light'];
|
|
45
|
-
/** Canonical user-facing grammar for a durable model override. Help and
|
|
46
|
-
* recovery paths compose from this one phrase so accepted forms cannot drift. */
|
|
47
|
-
export const MODEL_SPEC_FORMS = `an exact registered provider/id; provider/tier where provider is ${MODEL_PROVIDER_KEYS.join('|')} and tier is ${MODEL_STRENGTHS.join('|')}; ` +
|
|
48
|
-
`a bare tier (${MODEL_STRENGTHS.join('|')}); or a family alias (opus|sonnet|haiku)`;
|
|
49
|
-
export const MODEL_SPEC_NEXT = `Pass ${MODEL_SPEC_FORMS}.`;
|
|
50
|
-
/** The ladder providers a picker/cycle should OFFER: a provider column is kept
|
|
51
|
-
* only when at least one of its ladder cells names a runtime provider the
|
|
52
|
-
* caller reports as signed in (`isConfigured` — e.g. pool occupancy or
|
|
53
|
-
* `registry.getProviderAuthStatus(id).configured`). A user who never logged
|
|
54
|
-
* into Codex sees no openai column in settings and no openai rungs on Alt+M.
|
|
55
|
-
* When NO column qualifies (a fresh install before any login), every provider
|
|
56
|
-
* is returned: the model surfaces must stay reachable so the user can still
|
|
57
|
-
* inspect config and go sign in. Resolution (`normalizeModel` etc.) is
|
|
58
|
-
* deliberately NOT gated — an explicit `openai/strong` request still resolves
|
|
59
|
-
* and then fails/falls back through the normal auth-aware launch policy. */
|
|
60
|
-
export function configuredLadderProviders(isConfigured, ladders = modelLadders()) {
|
|
61
|
-
const kept = MODEL_PROVIDER_KEYS.filter((provider) => MODEL_STRENGTHS.some((strength) => {
|
|
62
|
-
const cell = ladders[provider][strength];
|
|
63
|
-
const slash = cell.indexOf('/');
|
|
64
|
-
return slash > 0 && isConfigured(cell.slice(0, slash));
|
|
65
|
-
}));
|
|
66
|
-
return kept.length > 0 ? kept : [...MODEL_PROVIDER_KEYS];
|
|
67
|
-
}
|
|
68
|
-
export const THINKING_SUFFIXES = new Set(['off', 'minimal', 'low', 'medium', 'high', 'xhigh', 'max']);
|
|
69
|
-
export function parseModelSpec(spec) {
|
|
70
|
-
const i = spec.lastIndexOf(':');
|
|
71
|
-
if (i <= 0)
|
|
72
|
-
return { modelSpec: spec };
|
|
73
|
-
const suffix = spec.slice(i + 1);
|
|
74
|
-
if (!THINKING_SUFFIXES.has(suffix))
|
|
75
|
-
return { modelSpec: spec };
|
|
76
|
-
return { modelSpec: spec.slice(0, i), thinkingLevel: suffix };
|
|
77
|
-
}
|
|
78
|
-
export function isUnknownModel(model) {
|
|
79
|
-
return model?.provider === 'unknown' && model.id === 'unknown' && model.api === 'unknown';
|
|
80
|
-
}
|
|
81
|
-
export function stripThinkingSuffix(spec) {
|
|
82
|
-
const i = spec.lastIndexOf(':');
|
|
83
|
-
if (i <= 0)
|
|
84
|
-
return spec;
|
|
85
|
-
return THINKING_SUFFIXES.has(spec.slice(i + 1)) ? spec.slice(0, i) : spec;
|
|
86
|
-
}
|
|
87
|
-
/** Choose the provider×strength option an editor should highlight for an
|
|
88
|
-
* existing model value. Portable tokens follow the exact provider rules used
|
|
89
|
-
* by `normalizeModel`; concrete ladder refs map back to their configured cell,
|
|
90
|
-
* ignoring a thinking suffix only after an exact match. An off-ladder concrete
|
|
91
|
-
* ref retains a recognizable provider and starts at `ultra`; an unrecognized
|
|
92
|
-
* value starts at `ultra` on the effective default provider. */
|
|
93
|
-
export function inferPortableModelSelection(model, ladders = modelLadders()) {
|
|
94
|
-
const value = model?.trim() ?? '';
|
|
95
|
-
if (value !== '') {
|
|
96
|
-
const slash = value.indexOf('/');
|
|
97
|
-
if (slash > 0) {
|
|
98
|
-
const provider = value.slice(0, slash);
|
|
99
|
-
const strength = STRENGTH_ALIASES[value.slice(slash + 1)];
|
|
100
|
-
if ((provider === 'anthropic' || provider === 'openai') && strength !== undefined) {
|
|
101
|
-
return { provider, strength };
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
else {
|
|
105
|
-
const strength = STRENGTH_ALIASES[value];
|
|
106
|
-
if (strength !== undefined)
|
|
107
|
-
return { provider: defaultProvider(ladders), strength };
|
|
108
|
-
if (value === 'opus')
|
|
109
|
-
return { provider: 'anthropic', strength: 'strong' };
|
|
110
|
-
if (value === 'sonnet')
|
|
111
|
-
return { provider: 'anthropic', strength: 'medium' };
|
|
112
|
-
if (value === 'haiku')
|
|
113
|
-
return { provider: 'anthropic', strength: 'light' };
|
|
114
|
-
}
|
|
115
|
-
for (const provider of MODEL_PROVIDER_KEYS) {
|
|
116
|
-
for (const strength of MODEL_STRENGTHS) {
|
|
117
|
-
if (ladders[provider][strength] === value)
|
|
118
|
-
return { provider, strength };
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
const comparable = stripThinkingSuffix(value);
|
|
122
|
-
for (const provider of MODEL_PROVIDER_KEYS) {
|
|
123
|
-
for (const strength of MODEL_STRENGTHS) {
|
|
124
|
-
if (stripThinkingSuffix(ladders[provider][strength]) === comparable)
|
|
125
|
-
return { provider, strength };
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
const providerId = slash > 0 ? value.slice(0, slash) : '';
|
|
129
|
-
if (providerId === 'anthropic')
|
|
130
|
-
return { provider: 'anthropic', strength: 'ultra' };
|
|
131
|
-
if (providerId === 'openai' || providerId === 'openai-codex')
|
|
132
|
-
return { provider: 'openai', strength: 'ultra' };
|
|
133
|
-
}
|
|
134
|
-
return { provider: defaultProvider(ladders), strength: 'ultra' };
|
|
135
|
-
}
|
|
1
|
+
var m=Object.defineProperty;var i=(r,e)=>m(r,"name",{value:e,configurable:!0});import{readMergedLaunchConfig as x}from"../config.js";function p(){return x().modelLadders}i(p,"modelLadders");const v="CRTR_MODEL_PROVIDER";function d(r=p()){const e=r.defaultProvider;return e==="anthropic"||e==="openai"?e:(process.env[v]??"").toLowerCase()==="openai"?"openai":"anthropic"}i(d,"defaultProvider");const l={ultra:"ultra",strong:"strong",medium:"medium",light:"light",normal:"medium",weak:"light"},u=["anthropic","openai"],c=["ultra","strong","medium","light"],E=`an exact registered provider/id; provider/tier where provider is ${u.join("|")} and tier is ${c.join("|")}; a bare tier (${c.join("|")}); or a family alias (opus|sonnet|haiku)`,_=`Pass ${E}.`;function L(r,e=p()){const n=u.filter(s=>c.some(f=>{const a=e[s][f],t=a.indexOf("/");return t>0&&r(a.slice(0,t))}));return n.length>0?n:[...u]}i(L,"configuredLadderProviders");const h=new Set(["off","minimal","low","medium","high","xhigh","max"]);function P(r){const e=r.lastIndexOf(":");if(e<=0)return{modelSpec:r};const n=r.slice(e+1);return h.has(n)?{modelSpec:r.slice(0,e),thinkingLevel:n}:{modelSpec:r}}i(P,"parseModelSpec");function I(r){return r?.provider==="unknown"&&r.id==="unknown"&&r.api==="unknown"}i(I,"isUnknownModel");function g(r){const e=r.lastIndexOf(":");return e<=0?r:h.has(r.slice(e+1))?r.slice(0,e):r}i(g,"stripThinkingSuffix");function R(r,e=p()){const n=r?.trim()??"";if(n!==""){const s=n.indexOf("/");if(s>0){const t=n.slice(0,s),o=l[n.slice(s+1)];if((t==="anthropic"||t==="openai")&&o!==void 0)return{provider:t,strength:o}}else{const t=l[n];if(t!==void 0)return{provider:d(e),strength:t};if(n==="opus")return{provider:"anthropic",strength:"strong"};if(n==="sonnet")return{provider:"anthropic",strength:"medium"};if(n==="haiku")return{provider:"anthropic",strength:"light"}}for(const t of u)for(const o of c)if(e[t][o]===n)return{provider:t,strength:o};const f=g(n);for(const t of u)for(const o of c)if(g(e[t][o])===f)return{provider:t,strength:o};const a=s>0?n.slice(0,s):"";if(a==="anthropic")return{provider:"anthropic",strength:"ultra"};if(a==="openai"||a==="openai-codex")return{provider:"openai",strength:"ultra"}}return{provider:d(e),strength:"ultra"}}i(R,"inferPortableModelSelection");export{u as MODEL_PROVIDER_KEYS,E as MODEL_SPEC_FORMS,_ as MODEL_SPEC_NEXT,c as MODEL_STRENGTHS,v as OPENAI_PROVIDER_ENV,l as STRENGTH_ALIASES,h as THINKING_SUFFIXES,L as configuredLadderProviders,d as defaultProvider,R as inferPortableModelSelection,I as isUnknownModel,p as modelLadders,P as parseModelSpec,g as stripThinkingSuffix};
|
|
@@ -1,86 +1 @@
|
|
|
1
|
-
|
|
2
|
-
// (and thus its provider) WITHOUT attaching a viewer, persisting the choice so
|
|
3
|
-
// it survives revives. Two paths, chosen on broker liveness:
|
|
4
|
-
//
|
|
5
|
-
// LIVE — the node's broker is up (recorded pi_pid alive AND view.sock
|
|
6
|
-
// present): connect to view.sock as a controller, send `set_model`,
|
|
7
|
-
// await the ack. The broker commits model_override + launch.model
|
|
8
|
-
// through crtrd before broadcasting the resolved durable spec, so this
|
|
9
|
-
// path never writes or rereads the canvas row itself.
|
|
10
|
-
// DORMANT — no live broker: write the durable recipe directly (mirroring exactly
|
|
11
|
-
// the canonical recipe update) so the next revive picks it up.
|
|
12
|
-
//
|
|
13
|
-
// This complements the in-viewer `/model` slash command for the headless case.
|
|
14
|
-
import { existsSync } from 'node:fs';
|
|
15
|
-
import { getNode, updateNode } from '../canvas/index.js';
|
|
16
|
-
import { viewSocketPath } from '../canvas/paths.js';
|
|
17
|
-
import { isPidAlive } from '../canvas/pid.js';
|
|
18
|
-
import { oneShotControllerRequest } from './broker-request.js';
|
|
19
|
-
/** True when the node's broker engine is reachable: its recorded pid is alive
|
|
20
|
-
* AND its view.sock exists. Both are required — a dead pid with a stale socket,
|
|
21
|
-
* or a live pid mid-boot before it binds the socket, is NOT a live broker. */
|
|
22
|
-
export function isBrokerLive(node) {
|
|
23
|
-
return isPidAlive(node.pi_pid) && existsSync(viewSocketPath(node.node_id));
|
|
24
|
-
}
|
|
25
|
-
/** Swap a LIVE node's model over its view.sock. Connects as a controller,
|
|
26
|
-
* sends `set_model`, and resolves with the broker-resolved durable spec from its
|
|
27
|
-
* `model_changed` frame. Rejects with the broker's message on an `error` frame (e.g.
|
|
28
|
-
* `no model matching '<spec>' in the registry`), on connect failure, or timeout.
|
|
29
|
-
* `pinned` is the durable-pin decision for this change, made by the CALLER from
|
|
30
|
-
* the RAW pre-normalize token (`spec` here is already normalizeModel-resolved,
|
|
31
|
-
* so deriving the pin from `spec`'s shape would wrongly re-pin a deliberately
|
|
32
|
-
* chosen bare tier that happens to byte-equal a ladder cell) — sent explicitly
|
|
33
|
-
* on the frame so the broker persists that decision rather than re-inferring it
|
|
34
|
-
* from the resolved spec. */
|
|
35
|
-
export function setModelLive(nodeId, spec, pinned) {
|
|
36
|
-
// `set_model` carries no frame id, so the ack is matched on `for` alone.
|
|
37
|
-
let resolvedSpec;
|
|
38
|
-
return oneShotControllerRequest({
|
|
39
|
-
nodeId,
|
|
40
|
-
what: 'the model switch',
|
|
41
|
-
ackFor: 'set_model',
|
|
42
|
-
frame: () => ({ type: 'set_model', model: spec, pinned }),
|
|
43
|
-
observe: (frame) => {
|
|
44
|
-
if (frame.type === 'model_changed' && frame.spec !== null)
|
|
45
|
-
resolvedSpec = frame.spec;
|
|
46
|
-
},
|
|
47
|
-
result: () => resolvedSpec ?? spec,
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
/** Persist a model choice into a DORMANT node's durable recipe — mirrors exactly
|
|
51
|
-
* what the broker's persistModelChoice writes on a live switch: `model_override`
|
|
52
|
-
* (so polymorphs preserve it via buildLaunchSpec), `launch.model`, and its
|
|
53
|
-
* exact-consult marker (the recipe buildPiArgv replays on revive). `spec` must
|
|
54
|
-
* already be a concrete `provider/id` (normalizeModel maps tiers/aliases; a bare
|
|
55
|
-
* substring cannot resolve offline).
|
|
56
|
-
* `pinned` is the durable-pin decision for this change — decided by the CALLER
|
|
57
|
-
* from the RAW pre-normalize token, never re-derived here from `spec`'s shape
|
|
58
|
-
* (a concrete `spec` always reads as "pinned", which would wrongly re-pin a
|
|
59
|
-
* deliberately chosen bare tier that happens to byte-equal a ladder cell). */
|
|
60
|
-
export function updateModelRecipe(meta, spec, pinnedOverride, userSelected) {
|
|
61
|
-
const launch = meta.launch === undefined
|
|
62
|
-
? undefined
|
|
63
|
-
: userSelected
|
|
64
|
-
? (() => {
|
|
65
|
-
const { modelIntent: _modelIntent, env, ...rest } = meta.launch;
|
|
66
|
-
const { CRTR_MODEL_INTENT: _intentEnv, ...remainingEnv } = env;
|
|
67
|
-
return {
|
|
68
|
-
...rest,
|
|
69
|
-
model: spec,
|
|
70
|
-
modelExact: true,
|
|
71
|
-
...(pinnedOverride !== undefined ? { modelProviderPinned: pinnedOverride } : {}),
|
|
72
|
-
env: remainingEnv,
|
|
73
|
-
};
|
|
74
|
-
})()
|
|
75
|
-
: {
|
|
76
|
-
...meta.launch,
|
|
77
|
-
model: spec,
|
|
78
|
-
...(pinnedOverride !== undefined ? { modelProviderPinned: pinnedOverride } : {}),
|
|
79
|
-
};
|
|
80
|
-
return updateNode(meta.node_id, { model_override: spec, ...(launch !== undefined ? { launch } : {}) });
|
|
81
|
-
}
|
|
82
|
-
export function persistDormantModel(nodeId, spec, pinned) {
|
|
83
|
-
const meta = getNode(nodeId);
|
|
84
|
-
if (meta !== null)
|
|
85
|
-
updateModelRecipe(meta, spec, pinned, true);
|
|
86
|
-
}
|
|
1
|
+
var m=Object.defineProperty;var n=(e,o)=>m(e,"name",{value:o,configurable:!0});import{existsSync as c}from"node:fs";import{getNode as s,updateNode as f}from"../canvas/index.js";import{viewSocketPath as p}from"../canvas/paths.js";import{isPidAlive as _}from"../canvas/pid.js";import{oneShotControllerRequest as a}from"./broker-request.js";function g(e){return _(e.pi_pid)&&c(p(e.node_id))}n(g,"isBrokerLive");function k(e,o,t){let d;return a({nodeId:e,what:"the model switch",ackFor:"set_model",frame:n(()=>({type:"set_model",model:o,pinned:t}),"frame"),observe:n(r=>{r.type==="model_changed"&&r.spec!==null&&(d=r.spec)},"observe"),result:n(()=>d??o,"result")})}n(k,"setModelLive");function h(e,o,t,d){const r=e.launch===void 0?void 0:d?(()=>{const{modelIntent:v,env:i,...l}=e.launch,{CRTR_MODEL_INTENT:x,...u}=i;return{...l,model:o,modelExact:!0,...t!==void 0?{modelProviderPinned:t}:{},env:u}})():{...e.launch,model:o,...t!==void 0?{modelProviderPinned:t}:{}};return f(e.node_id,{model_override:o,...r!==void 0?{launch:r}:{}})}n(h,"updateModelRecipe");function w(e,o,t){const d=s(e);d!==null&&h(d,o,t,!0)}n(w,"persistDormantModel");export{g as isBrokerLive,w as persistDormantModel,k as setModelLive,h as updateModelRecipe};
|