@north-light/crouter 0.3.311 → 0.3.313
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/client.d.ts +27 -30
- package/dist/api/client.js +80 -67
- package/dist/api/dto/broker-ops.d.ts +10 -20
- package/dist/api/dto/canvas.d.ts +1 -10
- package/dist/api/dto/health.d.ts +113 -0
- package/dist/api/dto/human-requests.d.ts +14 -3
- package/dist/api/dto/human.d.ts +2 -48
- package/dist/api/dto/human.js +3 -2
- package/dist/api/dto/inbox.d.ts +14 -0
- package/dist/api/dto/mail.d.ts +43 -0
- package/dist/api/dto/nodes.d.ts +11 -8
- package/dist/api/dto/recovery.d.ts +96 -0
- package/dist/api/dto/reviews.d.ts +2 -2
- package/dist/api/routes.d.ts +9 -6
- package/dist/api/routes.js +11 -11
- package/dist/build-root.d.ts +4 -0
- package/dist/build-root.js +11 -1
- package/dist/builtin-pi-packages/pi-crtr-extensions/extensions/__tests__/integration/provider-rotation.test.ts +35 -47
- package/dist/builtin-pi-packages/pi-crtr-extensions/extensions/provider-rotation.d.ts +1 -1
- package/dist/builtin-pi-packages/pi-crtr-extensions/extensions/provider-rotation.js +12 -5
- package/dist/builtin-pi-packages/pi-crtr-extensions/extensions/provider-rotation.ts +12 -5
- package/dist/cli.js +10 -1
- package/dist/clients/__tests__/helpers/human-daemon.d.ts +11 -0
- package/dist/clients/__tests__/helpers/human-daemon.js +60 -0
- package/dist/clients/attach/chrome/canvas-panels.js +1 -1
- package/dist/clients/attach/chrome/inbox-strip.d.ts +3 -3
- package/dist/clients/attach/chrome/inbox-strip.js +17 -9
- package/dist/clients/attach/chrome/ticket-panel.d.ts +2 -2
- package/dist/clients/attach/chrome/ticket-panel.js +77 -46
- package/dist/clients/attach/overlays/graph.js +6 -9
- package/dist/clients/attach/render/chat-view.d.ts +5 -4
- package/dist/clients/attach/render/chat-view.js +22 -13
- package/dist/clients/attach/render/page-block.d.ts +11 -7
- package/dist/clients/attach/render/page-block.js +64 -55
- package/dist/clients/attach/viewer.js +746 -735
- package/dist/clients/inbox/__tests__/integration/inbox-controller.test.js +56 -56
- package/dist/clients/inbox/__tests__/integration/stale-row-activation.test.js +45 -32
- package/dist/clients/inbox/controller.d.ts +42 -14
- package/dist/clients/inbox/controller.js +240 -124
- package/dist/clients/inbox/dto-adapt.d.ts +28 -0
- package/dist/clients/inbox/dto-adapt.js +93 -0
- package/dist/clients/inbox/page-adapter.d.ts +5 -4
- package/dist/clients/inbox/page-adapter.js +12 -12
- package/dist/clients/inbox/resolve.d.ts +10 -5
- package/dist/clients/inbox/resolve.js +13 -12
- package/dist/clients/inbox/review/review-client.d.ts +0 -1
- package/dist/clients/inbox/review/review-client.js +0 -4
- package/dist/clients/inbox/review-adapter.d.ts +2 -1
- package/dist/clients/inbox/review-adapter.js +3 -5
- package/dist/clients/inbox/surface.d.ts +2 -2
- package/dist/clients/inbox/surface.js +19 -8
- package/dist/clients/inbox/tui.d.ts +3 -3
- package/dist/commands/__tests__/human.test.js +31 -15
- package/dist/commands/__tests__/integration/dashboard-snapshot.test.js +36 -11
- package/dist/commands/{sys/__tests__ → __tests__/integration}/migrate.test.js +142 -36
- package/dist/commands/__tests__/revive-now-gate.test.js +2 -0
- package/dist/commands/api-client.d.ts +5 -4
- package/dist/commands/api-client.js +13 -7
- package/dist/commands/canvas-history/shared.js +1 -1
- package/dist/commands/canvas-history.js +1 -1
- package/dist/commands/canvas-roster.js +1 -1
- package/dist/commands/canvas.js +1 -2
- package/dist/commands/human/feedback.js +20 -17
- package/dist/commands/human/prompts.js +45 -36
- package/dist/commands/human/queue.js +73 -123
- package/dist/commands/human/review.js +6 -16
- package/dist/commands/memory/__tests__/command-selector-and-mutation-guards.test.js +2 -0
- package/dist/commands/memory/__tests__/memory-list-and-lint-ignore.test.js +2 -0
- package/dist/commands/memory/__tests__/repository-root-lint.test.js +2 -0
- package/dist/commands/node-inspect-artifacts.js +1 -1
- package/dist/commands/node-lifecycle-revive.d.ts +2 -2
- package/dist/commands/node-lifecycle-revive.js +9 -19
- package/dist/commands/pkg/plugin-manage.js +0 -1
- package/dist/commands/profile/show.js +4 -12
- package/dist/commands/surface-tmux-spread.js +1 -5
- package/dist/commands/sys/__tests__/config-model-ladders.test.js +23 -30
- package/dist/commands/sys/__tests__/sync-project-guidance.test.js +37 -11
- package/dist/commands/sys/branch.d.ts +2 -0
- package/dist/commands/sys/branch.js +19 -0
- package/dist/commands/sys/config.js +106 -33
- package/dist/commands/sys/daemon.d.ts +2 -0
- package/dist/commands/sys/daemon.js +130 -7
- package/dist/commands/sys/doctor.js +5 -15
- package/dist/commands/sys/migrate.js +21 -92
- package/dist/commands/sys/setup-settings-runner.js +4 -2
- package/dist/commands/sys.js +2 -15
- package/dist/core/__tests__/boot-fault-attempt.test.js +23 -1
- package/dist/core/__tests__/boot.test.js +32 -25
- package/dist/core/__tests__/broker-launch-candidates.test.js +49 -0
- package/dist/core/__tests__/canvas-inbox-watcher-hold.test.js +149 -176
- package/dist/core/__tests__/canvas-inbox-watcher-naming.test.js +59 -10
- package/dist/core/__tests__/canvas-inbox-watcher.test.js +76 -20
- package/dist/core/__tests__/canvas.test.js +18 -47
- package/dist/core/__tests__/child-death-wake.test.js +29 -7
- package/dist/core/__tests__/cli-help-contract.test.js +2 -0
- package/dist/core/__tests__/close.test.js +29 -10
- package/dist/core/__tests__/collectible.test.js +2 -1
- package/dist/core/__tests__/config-change-delta.test.js +2 -0
- package/dist/core/__tests__/context-intro.test.js +17 -5
- package/dist/core/__tests__/cron-armed-context-failure.test.js +17 -12
- package/dist/core/__tests__/cron-held-settlement.test.js +21 -3
- package/dist/core/__tests__/cron-node-sink-parked-root.test.js +29 -10
- package/dist/core/__tests__/cron-self-cancel-delivery.test.js +14 -2
- package/dist/core/__tests__/cron-timeout-descendants.test.js +13 -1
- package/dist/core/__tests__/daemon-boot.test.js +51 -14
- package/dist/core/__tests__/fixtures/fake-engine.d.ts +1 -1
- package/dist/core/__tests__/fixtures/fake-engine.js +8 -3
- package/dist/core/__tests__/focuses.test.js +10 -5
- package/dist/core/__tests__/helpers/harness.js +50 -18
- package/dist/core/__tests__/history-inbox.test.js +12 -16
- package/dist/core/__tests__/human-action-delivery.test.js +48 -28
- package/dist/core/__tests__/human-actions.test.js +7 -3
- package/dist/core/__tests__/inline-memory-refs.test.js +7 -2
- package/dist/core/__tests__/integration/broker-fork-seam.test.js +37 -10
- package/dist/core/__tests__/integration/broker-sdk-wiring.test.js +42 -0
- package/dist/core/__tests__/integration/broker-snapshot-history.test.js +42 -29
- package/dist/core/__tests__/integration/broker-wedge-supervision.test.js +36 -35
- package/dist/core/__tests__/integration/command-plugins.test.js +15 -6
- package/dist/core/__tests__/integration/deferred-no-wake.test.js +113 -92
- package/dist/core/__tests__/integration/host-teardown-process-group.test.js +9 -5
- package/dist/core/__tests__/integration/lifecycle-hooks.test.js +312 -1
- package/dist/core/__tests__/integration/plugin-revalidate.test.js +4 -0
- package/dist/core/__tests__/integration/profile-pause.test.js +4 -4
- package/dist/core/__tests__/integration/refresh-stall-recycle.test.js +9 -12
- package/dist/core/__tests__/integration/revive.test.js +67 -21
- package/dist/core/__tests__/integration/spawn-root.test.js +62 -19
- package/dist/core/__tests__/integration/subscription-delivery.test.js +33 -21
- package/dist/core/__tests__/integration/worktree-land.test.js +5 -2
- package/dist/core/__tests__/integration/worktree-reap.test.js +15 -1
- package/dist/core/__tests__/kickoff.test.js +36 -39
- package/dist/core/__tests__/lifecycle-terminal-reasons.test.js +2 -1
- package/dist/core/__tests__/lifecycle.test.js +2 -1
- package/dist/core/__tests__/live-lifecycle-prompt.test.js +13 -1
- package/dist/core/__tests__/memory-resolver-precedence.test.js +2 -0
- package/dist/core/__tests__/migration.test.js +145 -31
- package/dist/core/__tests__/model-pin-durability.test.js +4 -1
- package/dist/core/__tests__/model-routes-config.test.js +13 -5
- package/dist/core/__tests__/node-outcome.test.js +93 -26
- package/dist/core/__tests__/on-read-crouter-home-fence.test.js +4 -3
- package/dist/core/__tests__/on-read-dedup-resume.test.js +8 -7
- package/dist/core/__tests__/on-read-nested-store.test.js +8 -7
- package/dist/core/__tests__/passive-subscription.test.js +50 -157
- package/dist/core/__tests__/plugin-kinds.test.js +6 -4
- package/dist/core/__tests__/plugin-link-symlinked-scope-root.test.js +6 -1
- package/dist/core/__tests__/plugin-page-components.test.js +6 -4
- package/dist/core/__tests__/preview-registry-sync.test.js +2 -0
- package/dist/core/__tests__/profile-project-memory-delivery.test.js +35 -32
- package/dist/core/__tests__/prune.test.js +11 -5
- package/dist/core/__tests__/push-final-guard.test.js +14 -7
- package/dist/core/__tests__/relaunch-root.test.js +30 -2
- package/dist/core/__tests__/remote-canvas-target.test.js +7 -1
- package/dist/core/__tests__/repository-root-identity.test.js +4 -0
- package/dist/core/__tests__/review-model-floor.test.js +6 -3
- package/dist/core/__tests__/revive-all.test.js +13 -3
- package/dist/core/__tests__/revive-capacity.test.js +26 -4
- package/dist/core/__tests__/revive-parked-fresh.test.js +31 -8
- package/dist/core/__tests__/seam/broker-attach-stream.test.js +1 -1
- package/dist/core/__tests__/seam/broker-cap-freeze.test.js +4 -3
- package/dist/core/__tests__/seam/broker-crash-teardown.test.js +11 -14
- package/dist/core/__tests__/seam/broker-provider-retry.test.js +85 -71
- package/dist/core/__tests__/seam/dormancy-release.test.js +33 -19
- package/dist/core/__tests__/seam/held-deferred-human-prompt.test.js +7 -5
- package/dist/core/__tests__/seam/inbox-reference-guidance.test.js +20 -6
- package/dist/core/__tests__/seam/node-outcome-delivery.test.js +27 -3
- package/dist/core/__tests__/spawn-worktree-id-conflict.test.js +5 -4
- package/dist/core/__tests__/stop-guard.test.js +2 -1
- package/dist/core/__tests__/subscription-pool-credential-guard.test.js +4 -3
- package/dist/core/__tests__/warm-claim-preference-snapshot.test.js +19 -5
- package/dist/core/__tests__/yield-ensures-daemon.test.js +2 -1
- package/dist/core/bootstrap.js +2 -0
- package/dist/core/broker-client/__tests__/transport-socket.test.js +51 -6
- package/dist/core/broker-client/transport-socket.d.ts +1 -0
- package/dist/core/broker-client/transport-socket.js +13 -5
- package/dist/core/canvas/__tests__/attention.test.js +29 -35
- package/dist/core/canvas/__tests__/history-transcript.test.js +6 -6
- package/dist/core/canvas/__tests__/render-remote.test.js +25 -9
- package/dist/core/canvas/attention.d.ts +2 -5
- package/dist/core/canvas/attention.js +15 -64
- package/dist/core/canvas/boot.d.ts +6 -7
- package/dist/core/canvas/boot.js +5 -9
- package/dist/core/canvas/canvas.d.ts +13 -109
- package/dist/core/canvas/canvas.js +140 -401
- package/dist/core/canvas/crons.d.ts +2 -0
- package/dist/core/canvas/crons.js +16 -15
- package/dist/core/canvas/daemon-owner.js +10 -0
- package/dist/core/canvas/db.d.ts +2 -2
- package/dist/core/canvas/db.js +2 -18
- package/dist/core/canvas/deliveries.d.ts +104 -0
- package/dist/core/canvas/deliveries.js +354 -0
- package/dist/core/canvas/executions.d.ts +29 -0
- package/dist/core/canvas/executions.js +68 -0
- package/dist/core/canvas/history.js +35 -35
- package/dist/core/canvas/index.d.ts +3 -1
- package/dist/core/canvas/index.js +3 -1
- package/dist/core/canvas/migrations.js +20 -12
- package/dist/core/canvas/nav-model.js +1 -3
- package/dist/core/canvas/nav-render.d.ts +4 -4
- package/dist/core/canvas/nav-render.js +11 -21
- package/dist/core/canvas/node-sql-migration.d.ts +3 -0
- package/dist/core/canvas/node-sql-migration.js +261 -0
- package/dist/core/canvas/paths.d.ts +2 -16
- package/dist/core/canvas/paths.js +2 -31
- package/dist/core/canvas/recovery.d.ts +76 -0
- package/dist/core/canvas/recovery.js +588 -0
- package/dist/core/canvas/remote-canvas-source.js +4 -0
- package/dist/core/canvas/render-source.d.ts +16 -27
- package/dist/core/canvas/render-source.js +16 -45
- package/dist/core/canvas/sessions.d.ts +33 -0
- package/dist/core/canvas/sessions.js +78 -0
- package/dist/core/canvas/types.d.ts +33 -33
- package/dist/core/canvas/types.js +2 -5
- package/dist/core/canvas/waits.d.ts +18 -0
- package/dist/core/canvas/waits.js +70 -0
- package/dist/core/canvas/worktrees.d.ts +40 -0
- package/dist/core/canvas/worktrees.js +93 -0
- package/dist/core/command-hooks/artifact.d.ts +6 -0
- package/dist/core/command-hooks/artifact.js +22 -6
- package/dist/core/command-hooks/discovery.d.ts +2 -0
- package/dist/core/command-hooks/discovery.js +2 -0
- package/dist/core/command-hooks/lifecycle-catalog.d.ts +20 -2
- package/dist/core/command-hooks/lifecycle-catalog.js +7 -2
- package/dist/core/command-hooks/lifecycle-create.d.ts +4 -0
- package/dist/core/command-hooks/lifecycle-create.js +51 -0
- package/dist/core/command-hooks/schema.d.ts +2 -2
- package/dist/core/command-hooks/schema.js +5 -4
- package/dist/core/command-hooks/transport/exec-invoke.js +3 -1
- package/dist/core/command-hooks/transport/exec-lifecycle.d.ts +18 -8
- package/dist/core/command-hooks/transport/exec-lifecycle.js +89 -30
- package/dist/core/config.d.ts +17 -12
- package/dist/core/config.js +106 -155
- package/dist/core/errors.d.ts +1 -0
- package/dist/core/errors.js +4 -0
- package/dist/core/feed/__tests__/inbox-migrate.test.js +27 -31
- package/dist/core/feed/feed.d.ts +0 -6
- package/dist/core/feed/feed.js +68 -56
- package/dist/core/feed/inbox.d.ts +7 -81
- package/dist/core/feed/inbox.js +46 -378
- package/dist/core/feed/messages.d.ts +58 -0
- package/dist/core/feed/messages.js +217 -0
- package/dist/core/fs-utils.d.ts +4 -0
- package/dist/core/fs-utils.js +21 -1
- package/dist/core/human/answer.d.ts +1 -1
- package/dist/core/human/answer.js +1 -1
- package/dist/core/human/claim.d.ts +1 -1
- package/dist/core/human/claim.js +2 -4
- package/dist/core/human/component-docs.js +1 -1
- package/dist/core/human/feedback-companion.js +4 -3
- package/dist/core/human/feedback.d.ts +5 -8
- package/dist/core/human/feedback.js +57 -85
- package/dist/core/human/page-authoring.d.ts +30 -0
- package/dist/core/human/page-authoring.js +19 -0
- package/dist/core/human/requests.d.ts +136 -0
- package/dist/core/human/requests.js +515 -0
- package/dist/core/human/root.d.ts +0 -7
- package/dist/core/human/root.js +0 -17
- package/dist/core/human/scan.d.ts +2 -7
- package/dist/core/human/scan.js +48 -132
- package/dist/core/human/summary.d.ts +1 -1
- package/dist/core/human/summary.js +1 -1
- package/dist/core/human/tickets.d.ts +23 -83
- package/dist/core/human/tickets.js +92 -243
- package/dist/core/human/types.d.ts +5 -1
- package/dist/core/installed-plugins.js +8 -3
- package/dist/core/keybindings/__tests__/resolve.test.js +19 -17
- package/dist/core/locked-file.d.ts +6 -3
- package/dist/core/locked-file.js +36 -9
- package/dist/core/memory/extensions.js +2 -0
- package/dist/core/preview-registry.js +0 -1
- package/dist/core/profiles/__tests__/env-store.test.js +2 -0
- package/dist/core/profiles/default-binding.d.ts +0 -4
- package/dist/core/profiles/default-binding.js +12 -58
- package/dist/core/profiles/env-store.js +8 -3
- package/dist/core/profiles/manifest.d.ts +2 -37
- package/dist/core/profiles/manifest.js +35 -161
- package/dist/core/profiles/select.js +3 -0
- package/dist/core/review/__tests__/capture-origin.test.js +13 -2
- package/dist/core/review/__tests__/comments.test.js +28 -10
- package/dist/core/review/__tests__/remap.test.js +28 -10
- package/dist/core/review/__tests__/stage-identity.test.js +17 -7
- package/dist/core/review/birth.d.ts +1 -1
- package/dist/core/review/birth.js +34 -5
- package/dist/core/review/comments.js +1 -1
- package/dist/core/review/companion.d.ts +1 -1
- package/dist/core/review/companion.js +2 -2
- package/dist/core/review/document.js +1 -1
- package/dist/core/review/project.d.ts +5 -1
- package/dist/core/review/project.js +14 -36
- package/dist/core/review/realize.d.ts +3 -6
- package/dist/core/review/realize.js +51 -168
- package/dist/core/review/remap.js +1 -1
- package/dist/core/review/stage.d.ts +3 -2
- package/dist/core/review/stage.js +2 -3
- package/dist/core/review/store.d.ts +3 -21
- package/dist/core/review/store.js +140 -186
- package/dist/core/review/types.d.ts +0 -1
- package/dist/core/runtime/__tests__/install-id-cache-scoping.test.js +9 -5
- package/dist/core/runtime/__tests__/spawn-env.test.js +8 -9
- package/dist/core/runtime/broker/auth-reload.js +9 -10
- package/dist/core/runtime/broker/daemon-ops.d.ts +25 -8
- package/dist/core/runtime/broker/daemon-ops.js +42 -9
- package/dist/core/runtime/broker/extension-abort.d.ts +3 -0
- package/dist/core/runtime/broker/extension-abort.js +11 -0
- package/dist/core/runtime/broker/fault-retry.d.ts +15 -6
- package/dist/core/runtime/broker/fault-retry.js +142 -95
- package/dist/core/runtime/broker/inbox.d.ts +4 -32
- package/dist/core/runtime/broker/inbox.js +4 -92
- package/dist/core/runtime/broker/rebind.d.ts +1 -0
- package/dist/core/runtime/broker/rebind.js +21 -12
- package/dist/core/runtime/broker-persona-guidance.d.ts +1 -1
- package/dist/core/runtime/broker-persona-guidance.js +2 -13
- package/dist/core/runtime/broker.js +28 -22
- package/dist/core/runtime/close.d.ts +3 -9
- package/dist/core/runtime/close.js +16 -27
- package/dist/core/runtime/fault.d.ts +3 -93
- package/dist/core/runtime/fault.js +9 -419
- package/dist/core/runtime/kickoff.d.ts +3 -6
- package/dist/core/runtime/kickoff.js +12 -18
- package/dist/core/runtime/launch.js +1 -1
- package/dist/core/runtime/lifecycle.js +40 -7
- package/dist/core/runtime/nodes.d.ts +5 -1
- package/dist/core/runtime/nodes.js +26 -11
- package/dist/core/runtime/placement.js +2 -2
- package/dist/core/runtime/recycle.js +24 -14
- package/dist/core/runtime/reset.js +26 -7
- package/dist/core/runtime/revive.js +226 -217
- package/dist/core/runtime/spawn.d.ts +4 -1
- package/dist/core/runtime/spawn.js +43 -5
- package/dist/core/runtime/warm-pool.d.ts +2 -2
- package/dist/core/runtime/warm-pool.js +23 -3
- package/dist/core/scoped-state/db.d.ts +7 -0
- package/dist/core/scoped-state/db.js +92 -0
- package/dist/core/scoped-state/migrate.d.ts +11 -0
- package/dist/core/scoped-state/migrate.js +198 -0
- package/dist/core/scoped-state/paths.d.ts +9 -0
- package/dist/core/scoped-state/paths.js +27 -0
- package/dist/core/scoped-state/profiles.d.ts +12 -0
- package/dist/core/scoped-state/profiles.js +62 -0
- package/dist/core/scoped-state/providers.d.ts +16 -0
- package/dist/core/scoped-state/providers.js +8 -0
- package/dist/core/scoped-state/schema.d.ts +3 -0
- package/dist/core/scoped-state/schema.js +26 -0
- package/dist/core/scoped-state/settings.d.ts +28 -0
- package/dist/core/scoped-state/settings.js +82 -0
- package/dist/core/subscription-state.d.ts +29 -48
- package/dist/core/subscription-state.js +176 -712
- package/dist/core/worktree-close.js +4 -4
- package/dist/core/worktree-mutation-async.js +2 -2
- package/dist/core/worktree-sweep.js +11 -16
- package/dist/core/worktree.js +6 -12
- package/dist/daemon/__tests__/autostart-storm.test.js +1 -39
- package/dist/daemon/__tests__/helpers/source-daemon.d.ts +2 -2
- package/dist/daemon/__tests__/helpers/source-daemon.js +7 -6
- package/dist/daemon/__tests__/integration/migration-startup.test.js +59 -26
- package/dist/daemon/__tests__/node-deadline-lane.test.js +2 -1
- package/dist/daemon/__tests__/node-outcome-birth-invariants.test.js +41 -17
- package/dist/daemon/__tests__/node-outcome-delivery.test.js +39 -10
- package/dist/daemon/__tests__/reconciler-signature.test.js +2 -2
- package/dist/daemon/__tests__/subtree-filter-freshness.test.js +2 -2
- package/dist/daemon/api/__tests__/broker-settle-park.test.js +17 -12
- package/dist/daemon/api/__tests__/canvas-snapshot-fields.test.js +27 -5
- package/dist/daemon/api/__tests__/model-config.test.js +8 -8
- package/dist/daemon/api/__tests__/node-create-description.test.js +22 -5
- package/dist/daemon/api/__tests__/node-model-validation.test.js +21 -1
- package/dist/daemon/api/__tests__/nodes-activity-query.test.js +10 -12
- package/dist/daemon/api/__tests__/profile-launch-gates.test.js +6 -3
- package/dist/daemon/api/__tests__/profile-metadata-route.test.js +4 -1
- package/dist/daemon/api/__tests__/reopen-delivery.test.js +26 -8
- package/dist/daemon/api/__tests__/seam/api-server.test.js +24 -32
- package/dist/daemon/api/__tests__/seam/b10-attach-modelauth.test.js +4 -1
- package/dist/daemon/api/__tests__/seam/leaf-api-parity.test.js +5 -4
- package/dist/daemon/api/__tests__/seam/profile-delete.test.js +29 -43
- package/dist/daemon/api/__tests__/submit-result.test.js +3 -2
- package/dist/daemon/api/bridge.js +1 -1
- package/dist/daemon/api/handlers/bash-jobs.js +6 -7
- package/dist/daemon/api/handlers/broker-ops.js +47 -84
- package/dist/daemon/api/handlers/broker-recovery.d.ts +4 -0
- package/dist/daemon/api/handlers/broker-recovery.js +251 -0
- package/dist/daemon/api/handlers/canvas.js +2 -44
- package/dist/daemon/api/handlers/daemon.js +41 -0
- package/dist/daemon/api/handlers/feedback-comments.js +2 -2
- package/dist/daemon/api/handlers/health.js +10 -5
- package/dist/daemon/api/handlers/human-requests.js +168 -188
- package/dist/daemon/api/handlers/human.js +3 -148
- package/dist/daemon/api/handlers/inbox-page.d.ts +4 -0
- package/dist/daemon/api/handlers/inbox-page.js +89 -0
- package/dist/daemon/api/handlers/inbox.js +21 -120
- package/dist/daemon/api/handlers/messages.d.ts +1 -0
- package/dist/daemon/api/handlers/messages.js +73 -15
- package/dist/daemon/api/handlers/node-outcomes.js +58 -13
- package/dist/daemon/api/handlers/nodes.d.ts +1 -0
- package/dist/daemon/api/handlers/nodes.js +41 -42
- package/dist/daemon/api/handlers/reviews.js +4 -29
- package/dist/daemon/api/map.d.ts +25 -3
- package/dist/daemon/api/map.js +84 -14
- package/dist/daemon/api/server.js +68 -9
- package/dist/daemon/control.d.ts +18 -0
- package/dist/daemon/cron/disposition.d.ts +2 -0
- package/dist/daemon/cron/disposition.js +8 -5
- package/dist/daemon/cron/settle.js +37 -13
- package/dist/daemon/cron/sinks.d.ts +18 -1
- package/dist/daemon/cron/sinks.js +47 -93
- package/dist/daemon/crtrd-cli.js +4 -19
- package/dist/daemon/crtrd.d.ts +2 -0
- package/dist/daemon/crtrd.js +206 -81
- package/dist/daemon/fleet.js +5 -6
- package/dist/daemon/human/finish.d.ts +12 -24
- package/dist/daemon/human/finish.js +88 -285
- package/dist/daemon/human/settle.d.ts +40 -0
- package/dist/daemon/human/settle.js +89 -0
- package/dist/daemon/human/sweep.d.ts +20 -5
- package/dist/daemon/human/sweep.js +56 -60
- package/dist/daemon/manage.d.ts +21 -16
- package/dist/daemon/manage.js +85 -51
- package/dist/daemon/messaging/node-message.d.ts +1 -1
- package/dist/daemon/messaging/node-message.js +9 -12
- package/dist/daemon/park-activity.js +3 -3
- package/dist/daemon/reconcilers/bash-deadline.js +6 -7
- package/dist/daemon/reconcilers/broker-supervision.d.ts +1 -1
- package/dist/daemon/reconcilers/broker-supervision.js +41 -19
- package/dist/daemon/reconcilers/controller-death.js +6 -18
- package/dist/daemon/reconcilers/delivery-lane.d.ts +9 -0
- package/dist/daemon/reconcilers/delivery-lane.js +130 -0
- package/dist/daemon/reconcilers/live-obligation.js +3 -3
- package/dist/daemon/reconcilers/node-deadline.js +1 -1
- package/dist/daemon/reconcilers/node-lifecycle/freeze-lane.d.ts +1 -1
- package/dist/daemon/reconcilers/node-lifecycle/freeze-lane.js +10 -12
- package/dist/daemon/reconcilers/node-lifecycle/tick.js +5 -5
- package/dist/daemon/reconcilers/node-lifecycle/wants-execution.js +1 -1
- package/dist/daemon/reconcilers/pending-review-submit.js +3 -3
- package/dist/daemon/reconcilers/storage-maintenance.d.ts +2 -8
- package/dist/daemon/reconcilers/storage-maintenance.js +13 -43
- package/dist/daemon/review/companion.js +5 -11
- package/dist/daemon/review/deliver.d.ts +1 -5
- package/dist/daemon/review/deliver.js +3 -52
- package/dist/daemon/review/finish.d.ts +2 -27
- package/dist/daemon/review/finish.js +79 -263
- package/dist/daemon/review/sweep.d.ts +3 -10
- package/dist/daemon/review/sweep.js +13 -131
- package/dist/daemon/startup-policy.d.ts +0 -5
- package/dist/daemon/startup-policy.js +0 -5
- package/dist/hook-authoring.d.ts +28 -2
- package/dist/hook-authoring.js +53 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.js +1 -1
- package/dist/migrations/__tests__/activation-concurrency.test.js +3 -2
- package/dist/migrations/__tests__/activation.test.js +9 -6
- package/dist/migrations/activation.d.ts +3 -2
- package/dist/migrations/activation.js +2 -4
- package/dist/migrations/corpus.d.ts +2 -5
- package/dist/migrations/corpus.js +9 -20
- package/dist/migrations/runner.d.ts +3 -1
- package/dist/migrations/runner.js +6 -2
- package/dist/pi-extensions/__tests__/canvas-context-intro.test.js +21 -89
- package/dist/pi-extensions/__tests__/canvas-goal-capture-envelope.test.js +4 -2
- package/dist/pi-extensions/__tests__/canvas-stophook-agentend.test.js +51 -33
- package/dist/pi-extensions/__tests__/canvas-stophook-context-nudge.test.js +16 -2
- package/dist/pi-extensions/__tests__/pre-command-gate.test.js +13 -1
- package/dist/pi-extensions/canvas-inbox-watcher.js +98 -244
- package/dist/pi-extensions/canvas-passive-context.d.ts +4 -8
- package/dist/pi-extensions/canvas-passive-context.js +85 -37
- package/dist/pi-extensions/canvas-stophook.js +47 -31
- package/dist/shared/env.d.ts +1 -0
- package/dist/shared/env.js +3 -0
- package/package.json +1 -1
- package/runtime.lock.json +5 -5
- package/dist/clients/attach/__tests__/page-block.test.js +0 -54
- package/dist/clients/inbox/review-visibility.d.ts +0 -5
- package/dist/clients/inbox/review-visibility.js +0 -19
- package/dist/commands/canvas-rebuild-index.d.ts +0 -2
- package/dist/commands/canvas-rebuild-index.js +0 -46
- package/dist/core/__tests__/human-cancel-guard.test.js +0 -110
- package/dist/core/__tests__/human-deliver.test.d.ts +0 -1
- package/dist/core/__tests__/human-deliver.test.js +0 -256
- package/dist/core/__tests__/human-node-not-supervised.test.d.ts +0 -1
- package/dist/core/__tests__/human-node-not-supervised.test.js +0 -89
- package/dist/core/__tests__/integration/human-deliver-e2e.test.d.ts +0 -1
- package/dist/core/__tests__/integration/human-deliver-e2e.test.js +0 -131
- package/dist/core/__tests__/phase4-review-store.test.d.ts +0 -1
- package/dist/core/__tests__/phase4-review-store.test.js +0 -144
- package/dist/core/__tests__/watchdog-abort-arms-retry.test.d.ts +0 -1
- package/dist/core/__tests__/watchdog-abort-arms-retry.test.js +0 -110
- package/dist/core/canvas/human-deliveries.d.ts +0 -39
- package/dist/core/canvas/human-deliveries.js +0 -75
- package/dist/core/canvas/node-outcome-deliveries.d.ts +0 -64
- package/dist/core/canvas/node-outcome-deliveries.js +0 -159
- package/dist/core/feed/passive.d.ts +0 -3
- package/dist/core/feed/passive.js +0 -53
- package/dist/core/human/__tests__/inbox-cancel-worker.d.ts +0 -1
- package/dist/core/human/__tests__/inbox-cancel-worker.js +0 -7
- package/dist/core/human/__tests__/inbox-claim-worker.d.ts +0 -1
- package/dist/core/human/__tests__/inbox-claim-worker.js +0 -17
- package/dist/core/human/__tests__/inbox-stale-claim-worker.d.ts +0 -1
- package/dist/core/human/__tests__/inbox-stale-claim-worker.js +0 -8
- package/dist/core/human/__tests__/integration/inbox-core.test.d.ts +0 -1
- package/dist/core/human/__tests__/integration/inbox-core.test.js +0 -145
- package/dist/core/human/__tests__/page-tickets.test.d.ts +0 -1
- package/dist/core/human/__tests__/page-tickets.test.js +0 -161
- package/dist/core/review/ticket-filter.d.ts +0 -17
- package/dist/core/review/ticket-filter.js +0 -21
- package/dist/core/runtime/broker/passive.d.ts +0 -17
- package/dist/core/runtime/broker/passive.js +0 -44
- package/dist/core/runtime/busy.d.ts +0 -46
- package/dist/core/runtime/busy.js +0 -150
- package/dist/daemon/__tests__/startup-block-marker.test.d.ts +0 -1
- package/dist/daemon/__tests__/startup-block-marker.test.js +0 -86
- package/dist/daemon/api/__tests__/review-terminal-conflict.test.d.ts +0 -1
- package/dist/daemon/api/__tests__/review-terminal-conflict.test.js +0 -98
- package/dist/daemon/human/deliver-action.d.ts +0 -3
- package/dist/daemon/human/deliver-action.js +0 -9
- package/dist/daemon/node-outcome/deliver-outcome.d.ts +0 -3
- package/dist/daemon/node-outcome/deliver-outcome.js +0 -9
- package/dist/daemon/reconcilers/human-delivery-lane.d.ts +0 -10
- package/dist/daemon/reconcilers/human-delivery-lane.js +0 -41
- package/dist/daemon/reconcilers/node-outcome-delivery-lane.d.ts +0 -10
- package/dist/daemon/reconcilers/node-outcome-delivery-lane.js +0 -41
- package/dist/daemon/startup-block-marker.d.ts +0 -25
- package/dist/daemon/startup-block-marker.js +0 -99
- /package/dist/{clients/attach/__tests__/page-block.test.d.ts → api/dto/mail.js} +0 -0
- /package/dist/{commands/sys/__tests__/migrate.test.d.ts → api/dto/recovery.js} +0 -0
- /package/dist/{core/__tests__/human-cancel-guard.test.d.ts → commands/__tests__/integration/migrate.test.d.ts} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { IsoTime } from './common.js';
|
|
2
|
-
import type {
|
|
3
|
-
/**
|
|
4
|
-
export type HumanRequestIdDTO =
|
|
2
|
+
import type { InboxPageDTO, PageResponsesDTO, TicketSourceDTO } from './inbox.js';
|
|
3
|
+
/** Daemon-minted request identity. Inbox presentation has a separate opaque ticket id. */
|
|
4
|
+
export type HumanRequestIdDTO = string;
|
|
5
5
|
/** The complete authored page text, inline — never a path. */
|
|
6
6
|
export interface HumanRequestPageDTO {
|
|
7
7
|
dialect: 'jsx' | 'html';
|
|
@@ -22,6 +22,8 @@ export interface CreateHumanRequestRequest {
|
|
|
22
22
|
page: HumanRequestPageDTO;
|
|
23
23
|
delivery?: HumanRequestDeliveryDTO;
|
|
24
24
|
source?: TicketSourceDTO;
|
|
25
|
+
/** The one node that receives the terminal result. Required for reply-bearing pages. */
|
|
26
|
+
requester_node_id?: string | null;
|
|
25
27
|
creator_cwd: string;
|
|
26
28
|
action?: HumanRequestActionDTO;
|
|
27
29
|
}
|
|
@@ -29,6 +31,8 @@ export type HumanRequestState = 'pending' | 'answered' | 'dismissed' | 'canceled
|
|
|
29
31
|
export type HumanRequestDeliveryState = 'none' | 'pending' | 'running' | 'accepted' | 'permanent_failed';
|
|
30
32
|
export interface CreateHumanRequestDTO {
|
|
31
33
|
request_id: HumanRequestIdDTO;
|
|
34
|
+
/** Daemon-owned directory where the request's rendered page is projected. */
|
|
35
|
+
request_dir: string;
|
|
32
36
|
state: 'pending';
|
|
33
37
|
/** Omitted entirely when the request carries no action binding. */
|
|
34
38
|
action?: {
|
|
@@ -56,6 +60,11 @@ export interface HumanRequestDeliveryDetailDTO {
|
|
|
56
60
|
}
|
|
57
61
|
export interface HumanRequestDTO {
|
|
58
62
|
request_id: HumanRequestIdDTO;
|
|
63
|
+
/** Opaque inbox identity for inbox-only routes. */
|
|
64
|
+
inbox_ticket_id: string;
|
|
65
|
+
/** Daemon-owned directory where the request's rendered page is projected. */
|
|
66
|
+
request_dir: string;
|
|
67
|
+
kind: 'page' | 'review';
|
|
59
68
|
state: HumanRequestState;
|
|
60
69
|
title: string;
|
|
61
70
|
subtitle?: string;
|
|
@@ -73,6 +82,8 @@ export interface HumanRequestDTO {
|
|
|
73
82
|
payload: unknown;
|
|
74
83
|
};
|
|
75
84
|
delivery?: HumanRequestDeliveryDetailDTO;
|
|
85
|
+
/** Present exactly when this request is a page. */
|
|
86
|
+
page?: InboxPageDTO;
|
|
76
87
|
}
|
|
77
88
|
export interface ReplaceHumanRequestRequest {
|
|
78
89
|
page: HumanRequestPageDTO;
|
package/dist/api/dto/human.d.ts
CHANGED
|
@@ -1,26 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
/** One anchored review comment, mirroring crouter's ticket-store shape as a
|
|
3
|
-
* plain structural wire type (no store import). */
|
|
1
|
+
/** One anchored review comment, mirroring crouter's canonical review result. */
|
|
4
2
|
export interface FeedbackCommentDTO {
|
|
5
3
|
id: string;
|
|
6
|
-
/** 1-based source line where the comment is anchored (start). */
|
|
7
4
|
line: number;
|
|
8
|
-
/** 1-based source line where the anchored range ends (== line for one line). */
|
|
9
5
|
endLine: number;
|
|
10
|
-
/** Exact selected substring when the human made a visual selection. */
|
|
11
6
|
quote?: string;
|
|
12
|
-
/** 0-based byte column where a partial (charwise) selection starts on `line`. */
|
|
13
7
|
colStart?: number;
|
|
14
|
-
/** 0-based exclusive byte column where the selection ends on `endLine`. */
|
|
15
8
|
colEnd?: number;
|
|
16
|
-
/** Full source text of the anchored line(s) — context for the agent. */
|
|
17
9
|
lineText: string;
|
|
18
10
|
comment: string;
|
|
19
11
|
createdAt: string;
|
|
20
12
|
}
|
|
21
|
-
/** Immutable daemon-projected approval result
|
|
22
|
-
* review result as a plain structural wire type — `src/api/**` never imports
|
|
23
|
-
* the store's own type. */
|
|
13
|
+
/** Immutable daemon-projected review approval result. */
|
|
24
14
|
export interface FeedbackResultDTO {
|
|
25
15
|
file: string;
|
|
26
16
|
submitted: true;
|
|
@@ -36,39 +26,3 @@ export interface FeedbackResultDTO {
|
|
|
36
26
|
commentsTotal: number;
|
|
37
27
|
commentsUnresolved: number;
|
|
38
28
|
}
|
|
39
|
-
/** `POST /v1/human/tickets/{ticket_id}/resolve` body — a page answer keyed by slot id. */
|
|
40
|
-
export interface HumanResolveRequest {
|
|
41
|
-
responses: Record<string, Record<string, unknown>>;
|
|
42
|
-
}
|
|
43
|
-
/** `POST /v1/human/tickets/{ticket_id}/cancel` body. */
|
|
44
|
-
export interface HumanCancelRequest {
|
|
45
|
-
reason?: string;
|
|
46
|
-
actor?: string;
|
|
47
|
-
/** The recipient surface closing it sends `dismissed`; a requester retracting
|
|
48
|
-
* it sends `canceled` or omits the field. */
|
|
49
|
-
disposition?: 'canceled' | 'dismissed';
|
|
50
|
-
}
|
|
51
|
-
/** `POST /v1/human/tickets/{ticket_id}/resolve` result. */
|
|
52
|
-
export interface HumanResolveResultDTO {
|
|
53
|
-
completed: true;
|
|
54
|
-
reply_delivered: boolean;
|
|
55
|
-
kind: 'page';
|
|
56
|
-
}
|
|
57
|
-
/** `POST /v1/human/tickets/{ticket_id}/cancel` result. */
|
|
58
|
-
export interface HumanCancelResultDTO {
|
|
59
|
-
canceled: true;
|
|
60
|
-
}
|
|
61
|
-
/** `POST /v1/human/bridge` body — create a terminal `kind:'human'` bridge node
|
|
62
|
-
* via `spawnNode` (NO broker engine). Distinct from `POST /v1/nodes`, whose
|
|
63
|
-
* `spawnChild` always launches a broker the bridge must never have. */
|
|
64
|
-
export interface CreateHumanBridgeRequest {
|
|
65
|
-
kind: 'human';
|
|
66
|
-
parent: NodeIdDTO | null;
|
|
67
|
-
cwd: string;
|
|
68
|
-
name: string;
|
|
69
|
-
}
|
|
70
|
-
/** `POST /v1/human/bridge` result — the minted bridge node id + its name. */
|
|
71
|
-
export interface HumanBridgeResultDTO {
|
|
72
|
-
node_id: NodeIdDTO;
|
|
73
|
-
name: string;
|
|
74
|
-
}
|
package/dist/api/dto/human.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
//
|
|
2
|
-
//
|
|
1
|
+
// Shared human-review result DTOs. Page and review lifecycle contracts live in
|
|
2
|
+
// their request-specific modules; bridge and duplicate ticket settlement types
|
|
3
|
+
// are intentionally absent.
|
|
3
4
|
export {};
|
package/dist/api/dto/inbox.d.ts
CHANGED
|
@@ -10,6 +10,10 @@ export interface TicketSourceDTO {
|
|
|
10
10
|
nodeId?: string;
|
|
11
11
|
}
|
|
12
12
|
export interface ReviewTicketSummaryDTO {
|
|
13
|
+
/** Request identity for direct request/review routes. */
|
|
14
|
+
request_id: string;
|
|
15
|
+
/** Daemon-owned projection directory. */
|
|
16
|
+
request_dir: string;
|
|
13
17
|
ticket_id: InboxTicketIdDTO;
|
|
14
18
|
kind: 'review';
|
|
15
19
|
title: string;
|
|
@@ -33,6 +37,10 @@ export interface PageFastActionDTO {
|
|
|
33
37
|
responses: PageResponsesDTO;
|
|
34
38
|
}
|
|
35
39
|
export interface PageTicketSummaryDTO {
|
|
40
|
+
/** Request identity for direct request routes. */
|
|
41
|
+
request_id: string;
|
|
42
|
+
/** Daemon-owned projection directory. */
|
|
43
|
+
request_dir: string;
|
|
36
44
|
ticket_id: InboxTicketIdDTO;
|
|
37
45
|
kind: 'page';
|
|
38
46
|
title: string;
|
|
@@ -118,13 +126,19 @@ export interface InboxPageDTO {
|
|
|
118
126
|
ticket_id: InboxTicketIdDTO;
|
|
119
127
|
kind: 'page';
|
|
120
128
|
state: 'pending' | 'resolved' | 'canceled' | 'passive';
|
|
129
|
+
/** Opaque SQL-selected immutable presentation revision. */
|
|
130
|
+
revision: string;
|
|
121
131
|
page: PageManifestDTO;
|
|
122
132
|
/** JSX is compiled for the host; HTML is the authored document verbatim. */
|
|
123
133
|
document: string;
|
|
134
|
+
/** Authored JSX or HTML, distinct from the compiled JSX host document. */
|
|
135
|
+
source_document: string;
|
|
124
136
|
document_media_type: 'text/jsx' | 'text/html';
|
|
125
137
|
progress: {
|
|
126
138
|
responses: PageResponsesDTO;
|
|
127
139
|
} | null;
|
|
140
|
+
/** Canonical stored terminal result, or null while the ticket remains open. */
|
|
141
|
+
result: PageTicketResultDTO | CanceledTicketResultDTO | null;
|
|
128
142
|
/** Ticket-attached feedback comments and the companion conversation they
|
|
129
143
|
* deliver to. Comments are immutable once sent — open until the companion
|
|
130
144
|
* resolves them. */
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export interface MailEntryDTO {
|
|
2
|
+
entry_id: string;
|
|
3
|
+
operation_id: string;
|
|
4
|
+
ts: string;
|
|
5
|
+
from: string | null;
|
|
6
|
+
from_name?: string;
|
|
7
|
+
tier: 'critical' | 'urgent' | 'normal' | 'deferred';
|
|
8
|
+
kind: 'update' | 'urgent' | 'final' | 'message' | 'completed';
|
|
9
|
+
ref?: string;
|
|
10
|
+
label: string;
|
|
11
|
+
data?: Record<string, unknown>;
|
|
12
|
+
disposition?: 'human-answer' | 'human-canceled';
|
|
13
|
+
}
|
|
14
|
+
export interface ClaimedMailDTO {
|
|
15
|
+
delivery_id: string;
|
|
16
|
+
attempts: number;
|
|
17
|
+
handoff: 'fresh' | 'inherited';
|
|
18
|
+
entry: MailEntryDTO;
|
|
19
|
+
}
|
|
20
|
+
export interface ClaimMailRequest {
|
|
21
|
+
execution_id: string;
|
|
22
|
+
channel: 'wake' | 'passive';
|
|
23
|
+
}
|
|
24
|
+
export interface ClaimMailResultDTO {
|
|
25
|
+
action: 'claimed' | 'hold';
|
|
26
|
+
deliveries: ClaimedMailDTO[];
|
|
27
|
+
}
|
|
28
|
+
export interface MailReceiptDTO {
|
|
29
|
+
delivery_id: string;
|
|
30
|
+
attempts: number;
|
|
31
|
+
disposition: 'acknowledged' | 'released';
|
|
32
|
+
}
|
|
33
|
+
export interface AcknowledgeMailRequest {
|
|
34
|
+
execution_id: string;
|
|
35
|
+
deliveries: MailReceiptDTO[];
|
|
36
|
+
}
|
|
37
|
+
export interface AcknowledgeMailResultDTO {
|
|
38
|
+
action: 'acknowledged' | 'hold';
|
|
39
|
+
results: Array<{
|
|
40
|
+
delivery_id: string;
|
|
41
|
+
outcome: 'acknowledged' | 'released' | 'stale';
|
|
42
|
+
}>;
|
|
43
|
+
}
|
package/dist/api/dto/nodes.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Cursor, ExitIntentDTO, IsoTime, LifecycleDTO, ModeDTO, NodeIdDTO, NodeStatusDTO, TerminalReasonDTO } from './common.js';
|
|
2
2
|
import type { ReportDTO } from './reports.js';
|
|
3
3
|
import type { NodeOutcomeDTO, RegisterOutcomeDeliveryRequest } from './node-outcomes.js';
|
|
4
|
+
import type { FaultLink, FaultKind, FaultRetry, FaultProviderError } from './recovery.js';
|
|
4
5
|
/** `GET /v1/nodes/{id}/subject` — the node-config subject substrate gate
|
|
5
6
|
* predicates evaluate against. Mirrors `NodeConfigSubject`; this narrow
|
|
6
7
|
* endpoint exists so a CLI process (the `memory read` leaf) can gate-check
|
|
@@ -105,6 +106,8 @@ export interface NodeSummaryDTO {
|
|
|
105
106
|
finalized_at: IsoTime | null;
|
|
106
107
|
deadline_at: IsoTime | null;
|
|
107
108
|
outcome: NodeOutcomeDTO | null;
|
|
109
|
+
fault?: NodeFaultDTO | null;
|
|
110
|
+
streaming?: boolean;
|
|
108
111
|
/** Present only when requested with `include=activity`. */
|
|
109
112
|
activity?: NodeActivityDTO;
|
|
110
113
|
}
|
|
@@ -135,7 +138,6 @@ export interface NodePathsDTO {
|
|
|
135
138
|
context_dir: string;
|
|
136
139
|
reports_dir: string;
|
|
137
140
|
meta_path: string;
|
|
138
|
-
inbox_path: string;
|
|
139
141
|
transcript_path: string;
|
|
140
142
|
view_socket: string;
|
|
141
143
|
}
|
|
@@ -172,12 +174,15 @@ export interface NodeReviewBindingDTO {
|
|
|
172
174
|
}
|
|
173
175
|
/** The active fault projection shown by node inspection. */
|
|
174
176
|
export interface NodeFaultDTO {
|
|
175
|
-
link:
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
177
|
+
link: FaultLink;
|
|
178
|
+
op: string;
|
|
179
|
+
kind: FaultKind;
|
|
180
|
+
retry: FaultRetry;
|
|
181
|
+
message: string;
|
|
180
182
|
since: IsoTime;
|
|
183
|
+
operation_id: string;
|
|
184
|
+
anchorEntryId?: string;
|
|
185
|
+
providerError?: FaultProviderError;
|
|
181
186
|
}
|
|
182
187
|
/** The full node view — summary ∪ identity extras ∪ edges ∪ paths. Returned by
|
|
183
188
|
* `GET /v1/nodes/{id}` and by the create/lifecycle actions that yield a node. */
|
|
@@ -212,8 +217,6 @@ export interface NodeDetailDTO extends NodeSummaryDTO {
|
|
|
212
217
|
edges: NodeEdgesDTO;
|
|
213
218
|
paths: NodePathsDTO;
|
|
214
219
|
worktree?: NodeWorktreeDTO | null;
|
|
215
|
-
/** The currently active runtime fault, when one is present. */
|
|
216
|
-
fault?: NodeFaultDTO | null;
|
|
217
220
|
/** Present only on a `POST /promote` response — the roadmap/goal facts the
|
|
218
221
|
* promote primitive returns beyond the node meta (spec §6.2). A plain detail
|
|
219
222
|
* read omits them. */
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
export type FaultLink = 'pi→provider' | 'viewer↔broker' | 'relay↔broker' | 'viewer↔crtrd' | 'daemon→node' | 'crtr→pi';
|
|
2
|
+
export type FaultKind = 'rate-limit' | 'overloaded' | 'connection' | 'auth' | 'protocol' | 'context-overflow' | 'other' | 'wedged' | 'model-not-found';
|
|
3
|
+
export interface FaultRetry {
|
|
4
|
+
disposition: 'auto' | 'manual' | 'fatal';
|
|
5
|
+
by?: 'sdk' | 'daemon' | 'client';
|
|
6
|
+
attempt?: number;
|
|
7
|
+
max?: number;
|
|
8
|
+
nextAt?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface FaultProviderError {
|
|
11
|
+
provider: string;
|
|
12
|
+
model: string;
|
|
13
|
+
status?: number;
|
|
14
|
+
code?: string | number;
|
|
15
|
+
errno?: string;
|
|
16
|
+
body?: string;
|
|
17
|
+
causes?: Array<{
|
|
18
|
+
message?: string;
|
|
19
|
+
status?: number;
|
|
20
|
+
code?: string | number;
|
|
21
|
+
errno?: string;
|
|
22
|
+
body?: string;
|
|
23
|
+
}>;
|
|
24
|
+
}
|
|
25
|
+
export interface RecoveryFaultDTO {
|
|
26
|
+
fault_id: string;
|
|
27
|
+
link: FaultLink;
|
|
28
|
+
op: string;
|
|
29
|
+
kind: FaultKind;
|
|
30
|
+
retry: FaultRetry;
|
|
31
|
+
message: string;
|
|
32
|
+
since: string;
|
|
33
|
+
operation_id: string;
|
|
34
|
+
anchor_entry_id?: string;
|
|
35
|
+
provider_error?: FaultProviderError;
|
|
36
|
+
}
|
|
37
|
+
export interface ExecutionExitDiagnosticDTO {
|
|
38
|
+
schema: 'crtr.execution-exit-diagnostic/v1';
|
|
39
|
+
transport_poison: {
|
|
40
|
+
consecutive_passes: number;
|
|
41
|
+
routes: string[];
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
export interface BrokerTurnResultDTO {
|
|
45
|
+
applied: boolean;
|
|
46
|
+
}
|
|
47
|
+
export interface BrokerTurnRequest {
|
|
48
|
+
expected_execution_id: string;
|
|
49
|
+
event: 'started' | 'progress' | 'closed' | 'interrupted' | 'exit-diagnostic';
|
|
50
|
+
end_reason?: 'settled' | 'teardown-aborted';
|
|
51
|
+
exit_diagnostic?: ExecutionExitDiagnosticDTO;
|
|
52
|
+
}
|
|
53
|
+
export interface BrokerFaultInputDTO {
|
|
54
|
+
link: FaultLink;
|
|
55
|
+
op: string;
|
|
56
|
+
kind: FaultKind;
|
|
57
|
+
retry: FaultRetry;
|
|
58
|
+
message: string;
|
|
59
|
+
operation_id?: string;
|
|
60
|
+
since?: string;
|
|
61
|
+
anchor_entry_id?: string;
|
|
62
|
+
provider_error?: FaultProviderError;
|
|
63
|
+
}
|
|
64
|
+
export interface BrokerFaultResultDTO {
|
|
65
|
+
fault: RecoveryFaultDTO | null;
|
|
66
|
+
}
|
|
67
|
+
export interface BrokerFaultRequest {
|
|
68
|
+
expected_execution_id: string;
|
|
69
|
+
op: 'record' | 'clear';
|
|
70
|
+
link?: FaultLink;
|
|
71
|
+
preserve_episode?: boolean;
|
|
72
|
+
input?: BrokerFaultInputDTO;
|
|
73
|
+
}
|
|
74
|
+
export interface BrokerProviderRetryResultDTO {
|
|
75
|
+
applied: boolean;
|
|
76
|
+
episode: RecoveryStateDTO['episode'];
|
|
77
|
+
}
|
|
78
|
+
export interface BrokerProviderRetryRequest {
|
|
79
|
+
expected_execution_id: string;
|
|
80
|
+
op: 'record-pending' | 'admit' | 'reopen' | 'invalidate' | 'clear';
|
|
81
|
+
session_id: string;
|
|
82
|
+
fault_id?: string;
|
|
83
|
+
retry?: FaultRetry;
|
|
84
|
+
input?: BrokerFaultInputDTO;
|
|
85
|
+
}
|
|
86
|
+
export interface RecoveryStateDTO {
|
|
87
|
+
fault: RecoveryFaultDTO | null;
|
|
88
|
+
episode: {
|
|
89
|
+
state: 'pending' | 'admitted' | 'invalidated';
|
|
90
|
+
session_id: string | null;
|
|
91
|
+
fault: RecoveryFaultDTO;
|
|
92
|
+
} | null;
|
|
93
|
+
}
|
|
94
|
+
export interface NodeFaultClearResultDTO {
|
|
95
|
+
cleared: boolean;
|
|
96
|
+
}
|
|
@@ -26,8 +26,8 @@ export interface ReviewDTO {
|
|
|
26
26
|
origin_kind: ReviewOriginKindDTO;
|
|
27
27
|
/** Daemon-recorded originating node. */
|
|
28
28
|
origin_node_id: NodeIdDTO;
|
|
29
|
-
/** Daemon-
|
|
30
|
-
|
|
29
|
+
/** Daemon-owned directory containing the review branch and terminal result. */
|
|
30
|
+
review_dir: string;
|
|
31
31
|
/** Daemon-preallocated companion node. */
|
|
32
32
|
companion_node_id: NodeIdDTO;
|
|
33
33
|
/** Daemon-canonicalized reviewed file path. */
|
package/dist/api/routes.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ export declare const routes: {
|
|
|
5
5
|
readonly healthz: () => string;
|
|
6
6
|
readonly status: () => string;
|
|
7
7
|
readonly daemonRestart: () => string;
|
|
8
|
+
readonly daemonMigrate: () => string;
|
|
9
|
+
readonly daemonAdmit: () => string;
|
|
8
10
|
readonly nodes: () => string;
|
|
9
11
|
readonly reviveAll: () => string;
|
|
10
12
|
readonly node: (id: string) => string;
|
|
@@ -31,11 +33,17 @@ export declare const routes: {
|
|
|
31
33
|
readonly nodeBrokerSettle: (id: string) => string;
|
|
32
34
|
readonly nodeBrokerParkComplete: (id: string) => string;
|
|
33
35
|
readonly nodeBrokerParkActivity: (id: string) => string;
|
|
34
|
-
readonly
|
|
36
|
+
readonly nodeMailClaim: (id: string) => string;
|
|
37
|
+
readonly nodeMailAcknowledge: (id: string) => string;
|
|
35
38
|
readonly nodeBrokerModel: (id: string) => string;
|
|
36
39
|
readonly nodeBrokerExtensionState: (id: string) => string;
|
|
37
40
|
readonly nodeBrokerGeneratedName: (id: string) => string;
|
|
38
41
|
readonly nodeBrokerPersonaAck: (id: string) => string;
|
|
42
|
+
readonly brokerTurn: (id: string) => string;
|
|
43
|
+
readonly brokerProviderRetry: (id: string) => string;
|
|
44
|
+
readonly brokerFault: (id: string) => string;
|
|
45
|
+
readonly brokerRecovery: (id: string) => string;
|
|
46
|
+
readonly nodeFault: (id: string) => string;
|
|
39
47
|
readonly nodeClose: (id: string) => string;
|
|
40
48
|
readonly nodeRecycle: (id: string) => string;
|
|
41
49
|
readonly nodeDemote: (id: string) => string;
|
|
@@ -68,13 +76,8 @@ export declare const routes: {
|
|
|
68
76
|
readonly canvasSnapshot: () => string;
|
|
69
77
|
readonly canvasRoster: () => string;
|
|
70
78
|
readonly canvasPrune: () => string;
|
|
71
|
-
readonly canvasRebuildIndex: () => string;
|
|
72
|
-
readonly humanBridge: () => string;
|
|
73
|
-
readonly humanTicketResolve: (ticketId: string) => string;
|
|
74
|
-
readonly humanTicketCancel: (ticketId: string) => string;
|
|
75
79
|
readonly humanReviews: () => string;
|
|
76
80
|
readonly humanReview: (reviewId: string) => string;
|
|
77
|
-
readonly humanReviewByBridge: (bridgeNodeId: string) => string;
|
|
78
81
|
readonly humanReviewSubmit: (reviewId: string) => string;
|
|
79
82
|
readonly humanReviewCancel: (reviewId: string) => string;
|
|
80
83
|
readonly humanReviewDocument: (reviewId: string) => string;
|
package/dist/api/routes.js
CHANGED
|
@@ -19,6 +19,8 @@ export const routes = {
|
|
|
19
19
|
healthz: () => '/healthz',
|
|
20
20
|
status: () => `${V}/status`,
|
|
21
21
|
daemonRestart: () => `${V}/daemon/restart`,
|
|
22
|
+
daemonMigrate: () => `${V}/daemon/migrate`,
|
|
23
|
+
daemonAdmit: () => `${V}/daemon/admit`,
|
|
22
24
|
// Nodes — collection + item
|
|
23
25
|
nodes: () => `${V}/nodes`,
|
|
24
26
|
reviveAll: () => `${V}/nodes/revive-all`,
|
|
@@ -49,11 +51,17 @@ export const routes = {
|
|
|
49
51
|
nodeBrokerSettle: (id) => `${V}/nodes/${id}/broker/settle`,
|
|
50
52
|
nodeBrokerParkComplete: (id) => `${V}/nodes/${id}/broker/park-complete`,
|
|
51
53
|
nodeBrokerParkActivity: (id) => `${V}/nodes/${id}/broker/park-activity`,
|
|
52
|
-
|
|
54
|
+
nodeMailClaim: (id) => `${V}/nodes/${id}/mail/claim`,
|
|
55
|
+
nodeMailAcknowledge: (id) => `${V}/nodes/${id}/mail/acknowledge`,
|
|
53
56
|
nodeBrokerModel: (id) => `${V}/nodes/${id}/broker/model`,
|
|
54
57
|
nodeBrokerExtensionState: (id) => `${V}/nodes/${id}/broker/extension-state`,
|
|
55
58
|
nodeBrokerGeneratedName: (id) => `${V}/nodes/${id}/broker/generated-name`,
|
|
56
59
|
nodeBrokerPersonaAck: (id) => `${V}/nodes/${id}/broker/persona-ack`,
|
|
60
|
+
brokerTurn: (id) => `${V}/broker/${id}/turn`,
|
|
61
|
+
brokerProviderRetry: (id) => `${V}/broker/${id}/provider-retry`,
|
|
62
|
+
brokerFault: (id) => `${V}/broker/${id}/fault`,
|
|
63
|
+
brokerRecovery: (id) => `${V}/broker/${id}/recovery`,
|
|
64
|
+
nodeFault: (id) => `${V}/nodes/${id}/fault`,
|
|
57
65
|
nodeClose: (id) => `${V}/nodes/${id}/close`,
|
|
58
66
|
nodeRecycle: (id) => `${V}/nodes/${id}/recycle`,
|
|
59
67
|
nodeDemote: (id) => `${V}/nodes/${id}/demote`,
|
|
@@ -90,17 +98,10 @@ export const routes = {
|
|
|
90
98
|
canvasSnapshot: () => `${V}/canvas/snapshot`,
|
|
91
99
|
canvasRoster: () => `${V}/canvas/roster`,
|
|
92
100
|
canvasPrune: () => `${V}/canvas/prune`,
|
|
93
|
-
canvasRebuildIndex: () => `${V}/canvas/rebuild-index`,
|
|
94
|
-
// Human bridge creation + the pinned ticket route table (design §"The `/v1`
|
|
95
|
-
// surface") — every ticket route is addressed by node id only.
|
|
96
|
-
humanBridge: () => `${V}/human/bridge`,
|
|
97
|
-
humanTicketResolve: (ticketId) => `${V}/human/tickets/${ticketId}/resolve`,
|
|
98
|
-
humanTicketCancel: (ticketId) => `${V}/human/tickets/${ticketId}/cancel`,
|
|
99
101
|
// Daemon-owned document reviews and comments. All interpolated ids are
|
|
100
102
|
// guarded by `CrtrClient` before they reach these pure builders.
|
|
101
103
|
humanReviews: () => `${V}/human/reviews`,
|
|
102
104
|
humanReview: (reviewId) => `${V}/human/reviews/${reviewId}`,
|
|
103
|
-
humanReviewByBridge: (bridgeNodeId) => `${V}/human/reviews/by-bridge/${bridgeNodeId}`,
|
|
104
105
|
humanReviewSubmit: (reviewId) => `${V}/human/reviews/${reviewId}/submit`,
|
|
105
106
|
humanReviewCancel: (reviewId) => `${V}/human/reviews/${reviewId}/cancel`,
|
|
106
107
|
humanReviewDocument: (reviewId) => `${V}/human/reviews/${reviewId}/document`,
|
|
@@ -120,9 +121,8 @@ export const routes = {
|
|
|
120
121
|
humanInboxResponse: (ticketId) => `${V}/human/inbox/${ticketId}/response`,
|
|
121
122
|
humanInboxCancel: (ticketId) => `${V}/human/inbox/${ticketId}/cancel`,
|
|
122
123
|
humanInboxFeedbackResolve: (ticketId, commentId) => `${V}/human/inbox/${ticketId}/feedback-comments/${commentId}/resolve`,
|
|
123
|
-
// Durable programmatic human requests.
|
|
124
|
-
// inbox ticket id
|
|
125
|
-
// record across both surfaces.
|
|
124
|
+
// Durable programmatic human requests. A request id is separate from the
|
|
125
|
+
// opaque inbox ticket id used by `/v1/human/inbox`.
|
|
126
126
|
humanRequests: () => `${V}/human/requests`,
|
|
127
127
|
humanRequest: (requestId) => `${V}/human/requests/${requestId}`,
|
|
128
128
|
humanRequestReplace: (requestId) => `${V}/human/requests/${requestId}/replace`,
|
package/dist/build-root.d.ts
CHANGED
|
@@ -5,6 +5,10 @@ import { type CoreHookCatalog } from './core/command-hooks/catalog.js';
|
|
|
5
5
|
export declare const SUBTREE_NAMES: readonly string[];
|
|
6
6
|
export declare function coreHookCatalog(): Promise<CoreHookCatalog>;
|
|
7
7
|
export declare function coreCommandPaths(): Promise<ReadonlySet<string>>;
|
|
8
|
+
/** Whether argv targets the daemon-control subtree after the dispatcher's global-token normalization. This only selects a smaller canonical tree; `runCli` still parses, renders help, and reports errors. */
|
|
9
|
+
export declare function isDaemonControlInvocation(argv: readonly string[]): boolean;
|
|
10
|
+
/** Assemble the canonical daemon-control definitions without loading settings or plugin discovery. This path exists so `crtr sys daemon restart` can start the new generation that converts pre-SQL user state. */
|
|
11
|
+
export declare function resolveDaemonControlRoot(): Promise<RootDef>;
|
|
8
12
|
/** Build a root that contains only the subtree `first` dispatches into.
|
|
9
13
|
* Returns the FULL root when `first` is not a recognized subtree — bare `crtr`,
|
|
10
14
|
* `-h`/`--help`, `--version`, and any unknown leading token all need the
|
package/dist/build-root.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineRoot } from './core/command.js';
|
|
1
|
+
import { defineRoot, GLOBAL_TOKENS } from './core/command.js';
|
|
2
2
|
import { createCoreHookCatalog } from './core/command-hooks/catalog.js';
|
|
3
3
|
import { composeCoreHooks } from './core/command-hooks/compose.js';
|
|
4
4
|
import { mark } from './core/timing.js';
|
|
@@ -104,6 +104,16 @@ export async function coreCommandPaths() {
|
|
|
104
104
|
visit(subtree, subtree.name);
|
|
105
105
|
return paths;
|
|
106
106
|
}
|
|
107
|
+
/** Whether argv targets the daemon-control subtree after the dispatcher's global-token normalization. This only selects a smaller canonical tree; `runCli` still parses, renders help, and reports errors. */
|
|
108
|
+
export function isDaemonControlInvocation(argv) {
|
|
109
|
+
const tokens = argv.slice(2).filter((token) => !GLOBAL_TOKENS.has(token));
|
|
110
|
+
return tokens[0] === 'sys' && tokens[1] === 'daemon';
|
|
111
|
+
}
|
|
112
|
+
/** Assemble the canonical daemon-control definitions without loading settings or plugin discovery. This path exists so `crtr sys daemon restart` can start the new generation that converts pre-SQL user state. */
|
|
113
|
+
export async function resolveDaemonControlRoot() {
|
|
114
|
+
const { registerDaemonControlSys } = await import('./commands/sys/daemon.js');
|
|
115
|
+
return defineRoot({ tagline: TAGLINE, globals: GLOBALS, subtrees: [registerDaemonControlSys()] });
|
|
116
|
+
}
|
|
107
117
|
/** Build a root that contains only the subtree `first` dispatches into.
|
|
108
118
|
* Returns the FULL root when `first` is not a recognized subtree — bare `crtr`,
|
|
109
119
|
* `-h`/`--help`, `--version`, and any unknown leading token all need the
|