@sema-agent/server 7.146.0 → 7.148.0
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/MIGRATION.md +1423 -24
- package/README.md +21 -8
- package/README.zh-CN.md +15 -9
- package/USAGE.md +537 -216
- package/deploy/facts/lanes.json +7 -0
- package/deploy/sema-up/README.md +18 -7
- package/deploy/sema-up/chart/templates/NOTES.txt +1 -1
- package/deploy/sema-up/chart/templates/_helpers.tpl +42 -4
- package/deploy/sema-up/chart/templates/server-v4pro.yaml +5 -4
- package/deploy/sema-up/chart/templates/server.yaml +5 -4
- package/deploy/sema-up/chart/values.yaml +4 -3
- package/deploy/sema-up/cluster-up.sh +75 -176
- package/deploy/sema-up/kube-up.sh +29 -49
- package/deploy/sema-up/lib/chart-run.sh +23 -0
- package/deploy/sema-up/lib/dataroot.sh +3 -3
- package/deploy/sema-up/lib/flagshape.sh +4 -0
- package/deploy/sema-up/lib/health.sh +62 -13
- package/deploy/sema-up/lib/helm-values-cluster.py +18 -0
- package/deploy/sema-up/lib/helm-values-kube.py +35 -0
- package/deploy/sema-up/lib/lanes.json +2 -5
- package/deploy/sema-up/lib/regcred.py +8 -0
- package/deploy/sema-up/lib/remote/helm-install.sh +3 -0
- package/deploy/sema-up/lib/remote/image-import.sh +6 -0
- package/deploy/sema-up/lib/remote/machine-precheck.sh +11 -0
- package/deploy/sema-up/lib/remote/region-probe.sh +3 -0
- package/deploy/sema-up/lib/remote/stack-ready.sh +26 -0
- package/deploy/sema-up/lib/remote/vxlan-guard.sh +8 -0
- package/deploy/sema-up/lib/render-stack.py +17 -0
- package/deploy/sema-up/lib/shell-text.sh +87 -0
- package/deploy/sema-up/lib/usage-flags.txt +10 -0
- package/deploy/sema-up/lib/usage-head.txt +1 -0
- package/deploy/sema-up/lib/usage-tail.txt +13 -0
- package/deploy/sema-up/preflight.sh +10 -8
- package/deploy/sema-up/sema-up.sh +26 -48
- package/deploy/sema-up/smoke.sh +7 -6
- package/deploy/sema-up/stack/compose.dataroot.yaml +3 -0
- package/deploy/sema-up/stack/compose.yaml +18 -5
- package/deploy/sema-up/stack/sema-stack-cluster.yaml +25 -3
- package/dist/adoption/plan.d.ts +24 -0
- package/dist/adoption/plan.js +53 -1
- package/dist/adoption/runner.d.ts +10 -1
- package/dist/adoption/runner.js +36 -16
- package/dist/adoption/wire.d.ts +3 -3
- package/dist/approval-card.d.ts +32 -34
- package/dist/approval-gate-currency.js +3 -2
- package/dist/approval-reconciler.d.ts +4 -13
- package/dist/approval-reconciler.js +2 -2
- package/dist/approval.d.ts +16 -14
- package/dist/approval.js +3 -3
- package/dist/audit.d.ts +10 -3
- package/dist/audit.js +17 -9
- package/dist/auth-bridge.d.ts +0 -14
- package/dist/auth-bridge.js +0 -7
- package/dist/auto-mode-face.d.ts +10 -7
- package/dist/auto-mode-face.js +7 -4
- package/dist/background-agent-name.d.ts +19 -1
- package/dist/background-agent-name.js +12 -2
- package/dist/background-session-reap.d.ts +1 -1
- package/dist/bake-runner/main.js +9 -6
- package/dist/bench/s1/arms.js +6 -5
- package/dist/bench/s1/live-deps.js +8 -3
- package/dist/bench/s1/run-firm.js +6 -5
- package/dist/bind-host.d.ts +25 -0
- package/dist/bind-host.js +25 -0
- package/dist/boot/adoption.d.ts +3 -0
- package/dist/boot/adoption.js +1 -0
- package/dist/boot/crash-last.js +2 -1
- package/dist/boot/deployment-mods.d.ts +1 -1
- package/dist/boot/device-lane.js +5 -5
- package/dist/boot/engine-lease.d.ts +12 -11
- package/dist/boot/execution-env.d.ts +19 -8
- package/dist/boot/execution-env.js +80 -62
- package/dist/boot/execution-lane.d.ts +37 -9
- package/dist/boot/execution-lane.js +74 -20
- package/dist/boot/exit-boundary.d.ts +3 -3
- package/dist/boot/exit-boundary.js +6 -5
- package/dist/boot/exit-last.js +2 -1
- package/dist/boot/fatal-exit.d.ts +3 -5
- package/dist/boot/fatal-exit.js +2 -2
- package/dist/boot/governance-seams.d.ts +2 -2
- package/dist/boot/leader.d.ts +15 -0
- package/dist/boot/leader.js +18 -16
- package/dist/boot/memory-boundary.d.ts +11 -11
- package/dist/boot/memory-boundary.js +3 -3
- package/dist/boot/memory-consolidation.d.ts +50 -53
- package/dist/boot/memory-consolidation.js +11 -18
- package/dist/boot/org-memory.js +4 -3
- package/dist/boot/parked-revive-gate.d.ts +1 -1
- package/dist/boot/parked-revive-gate.js +3 -3
- package/dist/boot/reapers.d.ts +4 -3
- package/dist/boot/reapers.js +20 -17
- package/dist/boot/resolve-spec.d.ts +5 -3
- package/dist/boot/resolve-spec.js +133 -165
- package/dist/boot/retention-lane.d.ts +7 -45
- package/dist/boot/retention-lane.js +2 -2
- package/dist/boot/runner-deps.d.ts +28 -7
- package/dist/boot/runner-deps.js +11 -4
- package/dist/boot/runtime-caps.d.ts +2 -2
- package/dist/boot/runtime-caps.js +16 -2
- package/dist/boot/session-faces.d.ts +17 -7
- package/dist/boot/session-faces.js +122 -96
- package/dist/boot/shutdown.d.ts +5 -4
- package/dist/boot/shutdown.js +6 -4
- package/dist/boot/stage-01-config.d.ts +1 -1
- package/dist/boot/stage-01-config.js +14 -2
- package/dist/boot/stage-02-web-admin-pull.d.ts +2 -1
- package/dist/boot/stage-02-web-admin-pull.js +15 -8
- package/dist/boot/stage-03-store-backend.d.ts +4 -1
- package/dist/boot/stage-03-store-backend.js +4 -3
- package/dist/boot/stage-04-stores.d.ts +3 -1
- package/dist/boot/stage-04-stores.js +2 -2
- package/dist/boot/stage-05-execution-env.d.ts +9 -5
- package/dist/boot/stage-05-execution-env.js +5 -5
- package/dist/boot/stage-06-runners.d.ts +13 -15
- package/dist/boot/stage-06-runners.js +24 -18
- package/dist/boot/stage-07-capability-layer.d.ts +14 -11
- package/dist/boot/stage-07-capability-layer.js +9 -12
- package/dist/boot/stage-08-reapers.d.ts +14 -11
- package/dist/boot/stage-08-reapers.js +3 -3
- package/dist/boot/stage-09-leader.d.ts +16 -18
- package/dist/boot/stage-09-leader.js +12 -4
- package/dist/boot/stage-10-http-server.d.ts +16 -18
- package/dist/boot/stage-10-http-server.js +9 -5
- package/dist/boot/store-evidence.d.ts +20 -0
- package/dist/boot/store-evidence.js +13 -0
- package/dist/boot/stores.d.ts +12 -0
- package/dist/boot/stores.js +39 -17
- package/dist/boot/task-list-lane.d.ts +4 -4
- package/dist/boot/web-admin.d.ts +4 -2
- package/dist/boot/web-admin.js +58 -38
- package/dist/boot/webfetch-summarize-lane.d.ts +1 -1
- package/dist/boot-reclaim.d.ts +3 -1
- package/dist/boot-reclaim.js +1 -1
- package/dist/brain.d.ts +7 -18
- package/dist/brain.js +5 -17
- package/dist/budget.js +6 -6
- package/dist/capabilities/center-plugins.d.ts +9 -1
- package/dist/capabilities/center-plugins.js +37 -11
- package/dist/capabilities/center-wiring.js +1 -1
- package/dist/capabilities/composite-members.d.ts +3 -2
- package/dist/capabilities/composite-members.js +3 -2
- package/dist/capabilities/execution-lane.d.ts +7 -7
- package/dist/capabilities/execution-lane.js +2 -2
- package/dist/capabilities/hands-lane.d.ts +1 -1
- package/dist/capabilities/repo-tools.d.ts +2 -0
- package/dist/capabilities/repo-tools.js +14 -12
- package/dist/capabilities/scenarios.d.ts +38 -33
- package/dist/capabilities/scenarios.js +24 -25
- package/dist/capabilities/settings-contract.d.ts +29 -0
- package/dist/capabilities/settings-contract.js +14 -0
- package/dist/capabilities/skills.d.ts +6 -6
- package/dist/capabilities/tool-defer.d.ts +1 -1
- package/dist/capability-facts.d.ts +69 -4
- package/dist/capability-facts.js +77 -5
- package/dist/card-void.d.ts +4 -4
- package/dist/card-void.js +1 -1
- package/dist/center-credential-renewer.d.ts +6 -2
- package/dist/center-credential-renewer.js +10 -5
- package/dist/config-catalog.d.ts +16 -1
- package/dist/config-catalog.js +68 -61
- package/dist/config-dir-trust.d.ts +37 -4
- package/dist/config-dir-trust.js +88 -44
- package/dist/config-invariants.d.ts +58 -4
- package/dist/config-invariants.js +104 -23
- package/dist/config-lkg.d.ts +24 -2
- package/dist/config-lkg.js +22 -9
- package/dist/config-provider.d.ts +9 -9
- package/dist/config-provider.js +25 -108
- package/dist/config-pull-failure.d.ts +50 -0
- package/dist/config-pull-failure.js +48 -0
- package/dist/config-types.d.ts +215 -202
- package/dist/config.d.ts +69 -14
- package/dist/config.js +188 -96
- package/dist/degenerate-instrument.js +1 -1
- package/dist/delegated-session-owner.d.ts +1 -1
- package/dist/deleted-session-ids.d.ts +3 -2
- package/dist/deploy-facts.js +3 -2
- package/dist/deployment-governance.d.ts +3 -3
- package/dist/deployment-shape.d.ts +51 -16
- package/dist/deployment-shape.js +31 -6
- package/dist/egress-redirect.d.ts +25 -7
- package/dist/egress-redirect.js +20 -2
- package/dist/elicitation.d.ts +6 -5
- package/dist/elicitation.js +23 -22
- package/dist/engine-identity.d.ts +28 -0
- package/dist/engine-identity.js +10 -0
- package/dist/entry-problems.d.ts +5 -7
- package/dist/entry-problems.js +1 -1
- package/dist/env-facts.d.ts +7 -5
- package/dist/env-facts.js +12 -7
- package/dist/env-witness.d.ts +7 -0
- package/dist/env-witness.js +16 -0
- package/dist/execution-config-root.d.ts +5 -5
- package/dist/execution-config-root.js +5 -5
- package/dist/execution-env-purpose.d.ts +14 -0
- package/dist/execution-env-purpose.js +29 -0
- package/dist/execution-lane-caps.d.ts +53 -103
- package/dist/execution-lane-caps.js +51 -83
- package/dist/execution-placement.d.ts +65 -9
- package/dist/execution-placement.js +58 -0
- package/dist/field-conflict.d.ts +7 -11
- package/dist/field-conflict.js +3 -3
- package/dist/file-history-capture.d.ts +3 -3
- package/dist/file-history-disclosure.d.ts +2 -2
- package/dist/file-history-disclosure.js +1 -0
- package/dist/fleet/drain-entry.d.ts +17 -10
- package/dist/fleet/drain-entry.js +1 -1
- package/dist/fleet/fleet-bus.d.ts +21 -3
- package/dist/fleet/fleet-bus.js +35 -25
- package/dist/fleet/fleet-reconciler.js +2 -2
- package/dist/fleet/serving-lease.js +6 -7
- package/dist/fleet-client.js +3 -3
- package/dist/fleet-lease.d.ts +0 -1
- package/dist/fleet-lease.js +4 -5
- package/dist/history-anchor.d.ts +42 -0
- package/dist/history-anchor.js +34 -0
- package/dist/hitl-delivery.d.ts +90 -0
- package/dist/hitl-delivery.js +98 -0
- package/dist/hooks/classic-stations.d.ts +8 -11
- package/dist/hooks/classic-stations.js +0 -7
- package/dist/hooks/command-spawn.d.ts +1 -4
- package/dist/hooks/command-spawn.js +0 -11
- package/dist/hooks/hook-llm.d.ts +5 -1
- package/dist/hooks/hook-llm.js +24 -15
- package/dist/hooks/hook-runner.d.ts +119 -65
- package/dist/hooks/hook-runner.js +415 -217
- package/dist/host-lsp-manager.d.ts +22 -8
- package/dist/host-lsp-manager.js +4 -1
- package/dist/http/active-run-conflict.d.ts +2 -43
- package/dist/http/active-run-conflict.js +3 -7
- package/dist/http/admission.d.ts +4 -18
- package/dist/http/admission.js +75 -78
- package/dist/http/approval-sweeps.d.ts +5 -8
- package/dist/http/approval-sweeps.js +55 -30
- package/dist/http/caller-trust.d.ts +8 -10
- package/dist/http/caller-trust.js +1 -2
- package/dist/http/checkpoint-ctx.d.ts +17 -0
- package/dist/http/checkpoint-ctx.js +6 -0
- package/dist/http/claim-heartbeat.d.ts +49 -0
- package/dist/http/claim-heartbeat.js +46 -0
- package/dist/http/claim-latency.d.ts +10 -0
- package/dist/http/claim-latency.js +12 -0
- package/dist/http/claimed-run.d.ts +4 -3
- package/dist/http/dispatch.d.ts +8 -1
- package/dist/http/dispatch.js +77 -31
- package/dist/http/durable-run-leg.d.ts +3 -3
- package/dist/http/durable-run-leg.js +18 -12
- package/dist/http/execution-context.d.ts +18 -42
- package/dist/http/execution-context.js +11 -5
- package/dist/http/health-reader.d.ts +36 -0
- package/dist/http/health-reader.js +21 -0
- package/dist/http/health-self-report.d.ts +9 -9
- package/dist/http/health-self-report.js +4 -4
- package/dist/http/idempotency.d.ts +9 -5
- package/dist/http/idempotency.js +4 -4
- package/dist/http/memory-compliance-failure-reply.d.ts +15 -16
- package/dist/http/memory-compliance-failure-reply.js +7 -2
- package/dist/http/memory-face-fault-reply.d.ts +67 -0
- package/dist/http/memory-face-fault-reply.js +71 -0
- package/dist/http/memory-store-refusal-reply.d.ts +3 -3
- package/dist/http/memory-store-refusal-reply.js +6 -0
- package/dist/http/owner-access.d.ts +391 -56
- package/dist/http/owner-access.js +372 -33
- package/dist/http/principal-gate.d.ts +26 -94
- package/dist/http/principal-gate.js +24 -81
- package/dist/http/refusal-body.d.ts +35 -2
- package/dist/http/refusal-body.js +34 -0
- package/dist/http/request-guards.d.ts +10 -14
- package/dist/http/request-guards.js +34 -68
- package/dist/http/resume-composition.d.ts +37 -0
- package/dist/http/resume-composition.js +18 -0
- package/dist/http/resume-ctx-read.d.ts +35 -12
- package/dist/http/resume-ctx-read.js +25 -6
- package/dist/http/resume-legs.d.ts +24 -24
- package/dist/http/resume-legs.js +260 -171
- package/dist/http/retired-skill-manifest.d.ts +1 -1
- package/dist/http/rewind-files-reply.d.ts +34 -0
- package/dist/http/rewind-files-reply.js +36 -0
- package/dist/http/route-ctx.d.ts +56 -47
- package/dist/http/route-table.js +2 -0
- package/dist/http/routes/a2a-serve.d.ts +43 -5
- package/dist/http/routes/a2a-serve.js +58 -37
- package/dist/http/routes/admin-config-refresh.js +2 -2
- package/dist/http/routes/admin-drain.js +2 -2
- package/dist/http/routes/admin-memory-optout.js +4 -3
- package/dist/http/routes/adoption.d.ts +3 -0
- package/dist/http/routes/adoption.js +17 -10
- package/dist/http/routes/agents-roster.js +13 -7
- package/dist/http/routes/approvals-assistant.js +73 -88
- package/dist/http/routes/attachments.js +2 -2
- package/dist/http/routes/background.d.ts +3 -3
- package/dist/http/routes/background.js +9 -17
- package/dist/http/routes/capabilities.js +23 -20
- package/dist/http/routes/config-catalog.js +2 -2
- package/dist/http/routes/devices.d.ts +3 -3
- package/dist/http/routes/devices.js +5 -5
- package/dist/http/routes/diagnostics.d.ts +27 -3
- package/dist/http/routes/diagnostics.js +27 -21
- package/dist/http/routes/engine.js +2 -2
- package/dist/http/routes/fleet.js +5 -3
- package/dist/http/routes/images.js +10 -6
- package/dist/http/routes/leader.d.ts +7 -2
- package/dist/http/routes/leader.js +12 -3
- package/dist/http/routes/mcp-reconnect.d.ts +1 -1
- package/dist/http/routes/mcp-reconnect.js +7 -15
- package/dist/http/routes/memory-bundle.js +4 -7
- package/dist/http/routes/memory-compliance.js +4 -4
- package/dist/http/routes/memory-consolidation.js +6 -9
- package/dist/http/routes/memory-origin.d.ts +3 -1
- package/dist/http/routes/memory-origin.js +7 -8
- package/dist/http/routes/memory-policy.js +17 -12
- package/dist/http/routes/notify-wake.js +12 -20
- package/dist/http/routes/observability.js +3 -3
- package/dist/http/routes/principal-inbox.d.ts +1 -1
- package/dist/http/routes/principal-inbox.js +2 -2
- package/dist/http/routes/projects.d.ts +70 -0
- package/dist/http/routes/projects.js +87 -0
- package/dist/http/routes/retention-ops.js +6 -9
- package/dist/http/routes/rules.js +50 -7
- package/dist/http/routes/run-memory-capture.d.ts +2 -2
- package/dist/http/routes/run-memory-capture.js +6 -12
- package/dist/http/routes/run-permission-mode.d.ts +2 -2
- package/dist/http/routes/run-permission-mode.js +10 -17
- package/dist/http/routes/runs.js +148 -233
- package/dist/http/routes/session-memory-sync.d.ts +2 -2
- package/dist/http/routes/session-memory-sync.js +7 -13
- package/dist/http/routes/session-sync.d.ts +4 -2
- package/dist/http/routes/session-sync.js +48 -30
- package/dist/http/routes/sessions-list.d.ts +3 -3
- package/dist/http/routes/sessions-list.js +9 -9
- package/dist/http/routes/sessions.d.ts +7 -1
- package/dist/http/routes/sessions.js +177 -112
- package/dist/http/routes/shared-memory.js +6 -6
- package/dist/http/routes/side-query.js +2 -2
- package/dist/http/routes/tasks.js +144 -122
- package/dist/http/routes/trace-usage.d.ts +0 -12
- package/dist/http/routes/trace-usage.js +40 -46
- package/dist/http/routes/workflows.d.ts +39 -4
- package/dist/http/routes/workflows.js +42 -14
- package/dist/http/run-concurrency-cap.d.ts +20 -12
- package/dist/http/run-concurrency-cap.js +39 -26
- package/dist/http/run-read-face.d.ts +3 -5
- package/dist/http/run-read-face.js +8 -13
- package/dist/http/send.d.ts +12 -3
- package/dist/http/send.js +42 -6
- package/dist/http/server.d.ts +63 -50
- package/dist/http/server.js +52 -16
- package/dist/http/sse-log.d.ts +17 -10
- package/dist/http/sse-log.js +7 -7
- package/dist/http/stored-body-replay.d.ts +17 -3
- package/dist/http/stored-body-replay.js +11 -2
- package/dist/http/submit-ctx.d.ts +16 -8
- package/dist/http/submit-ctx.js +6 -2
- package/dist/http/submit-replay.d.ts +19 -6
- package/dist/http/submit-replay.js +18 -6
- package/dist/http/sync-submit-body.d.ts +3 -4
- package/dist/http/sync-submit-body.js +4 -5
- package/dist/http/wire-types.d.ts +23 -13
- package/dist/identity-source.d.ts +36 -5
- package/dist/identity-source.js +27 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.js +2 -1
- package/dist/instruction-source-notice.d.ts +1 -1
- package/dist/key-resolver.d.ts +32 -0
- package/dist/key-resolver.js +23 -9
- package/dist/leader/diffup.js +2 -1
- package/dist/leader/endpoint.d.ts +26 -5
- package/dist/leader/endpoint.js +154 -14
- package/dist/leader/fanout.d.ts +3 -0
- package/dist/leader/fanout.js +78 -63
- package/dist/leader/leader.d.ts +16 -0
- package/dist/leader/leader.js +43 -3
- package/dist/leader/merge.d.ts +9 -1
- package/dist/leader/merge.js +16 -1
- package/dist/leader/repair-wire.js +1 -1
- package/dist/leader/wire.d.ts +36 -3
- package/dist/leader/wire.js +59 -18
- package/dist/lsp-evict.d.ts +6 -4
- package/dist/lsp-evict.js +2 -3
- package/dist/memory-embedder-reembed.d.ts +38 -0
- package/dist/memory-embedder-reembed.js +20 -0
- package/dist/memory-incident-sink.d.ts +0 -28
- package/dist/memory-incident-sink.js +5 -0
- package/dist/memory-operator-faces.d.ts +5 -4
- package/dist/memory-operator-faces.js +1 -1
- package/dist/memory-scope.d.ts +31 -4
- package/dist/memory-scope.js +65 -16
- package/dist/memory-store-refusal.d.ts +20 -4
- package/dist/memory-store-refusal.js +1 -1
- package/dist/memory-sync-client.d.ts +5 -2
- package/dist/memory-sync-client.js +19 -14
- package/dist/memory-sync.js +1 -1
- package/dist/model-compat.d.ts +51 -28
- package/dist/model-compat.js +55 -23
- package/dist/model-context-window.d.ts +18 -0
- package/dist/model-context-window.js +2 -0
- package/dist/model-entry-headers.d.ts +46 -4
- package/dist/model-entry-headers.js +2 -2
- package/dist/model-entry-refusal.d.ts +46 -17
- package/dist/model-entry-refusal.js +47 -27
- package/dist/model-plane-face.d.ts +19 -11
- package/dist/model-plane-face.js +9 -1
- package/dist/model-plane-probe.d.ts +2 -0
- package/dist/model-plane-probe.js +17 -0
- package/dist/model-provider.d.ts +3 -3
- package/dist/model-route-endpoint.d.ts +9 -5
- package/dist/model-route-endpoint.js +29 -7
- package/dist/model-select.d.ts +16 -0
- package/dist/model-select.js +4 -0
- package/dist/mountinfo.d.ts +37 -0
- package/dist/mountinfo.js +47 -0
- package/dist/namespaced-rule-name.d.ts +28 -2
- package/dist/namespaced-rule-name.js +10 -1
- package/dist/net-address.d.ts +1 -1
- package/dist/observability/corrupt-read-seat.d.ts +4 -4
- package/dist/observability/corrupt-read-seat.js +5 -3
- package/dist/observability/fail-open.d.ts +75 -47
- package/dist/observability/fail-open.js +77 -47
- package/dist/observability/logger.d.ts +22 -1
- package/dist/observability/logger.js +89 -12
- package/dist/observability/metrics.d.ts +2 -0
- package/dist/observability/metrics.js +5 -4
- package/dist/observability/otel-exporter.js +2 -1
- package/dist/observability/principal-context.d.ts +14 -7
- package/dist/observability/principal-context.js +8 -3
- package/dist/observability/run-terminal.d.ts +7 -1
- package/dist/observability/run-terminal.js +5 -2
- package/dist/observability/secret-env-scrub.d.ts +30 -4
- package/dist/observability/secret-env-scrub.js +15 -3
- package/dist/orchestration/hardened-vm-runner.d.ts +1 -0
- package/dist/orchestration/hardened-vm-runner.js +11 -5
- package/dist/orchestration/hardened-vm-worker-runner.d.ts +0 -14
- package/dist/orchestration/hardened-vm-worker-runner.js +5 -0
- package/dist/orchestration/hardened-vm-worker.js +2 -1
- package/dist/orchestration/workflow-agent-session-index.d.ts +7 -12
- package/dist/orchestration/workflow-agent-session-index.js +1 -6
- package/dist/orchestration/workflow-completion-inbox.d.ts +29 -9
- package/dist/orchestration/workflow-completion-inbox.js +65 -46
- package/dist/org-delivery-gate.d.ts +5 -4
- package/dist/org-delivery-gate.js +7 -6
- package/dist/org-memory-admission.d.ts +5 -2
- package/dist/org-memory-admission.js +25 -10
- package/dist/outbound-dispatcher.d.ts +1 -1
- package/dist/outbound-dispatcher.js +6 -12
- package/dist/owner-brands.d.ts +81 -0
- package/dist/owner-brands.js +42 -0
- package/dist/owner-faces.d.ts +531 -0
- package/dist/owner-faces.js +126 -0
- package/dist/parked-decide.d.ts +100 -31
- package/dist/parked-decide.js +162 -48
- package/dist/parked-revive-surface.d.ts +14 -4
- package/dist/parked-revive-surface.js +5 -4
- package/dist/peer-directory.d.ts +6 -8
- package/dist/peer-directory.js +3 -2
- package/dist/permission-rule-vocab.d.ts +53 -8
- package/dist/permission-rule-vocab.js +30 -2
- package/dist/plugins/adoption-log-sql.d.ts +0 -22
- package/dist/plugins/adoption-log-sql.js +5 -3
- package/dist/plugins/approval-ask-retired-delete-by-task-m50.d.ts +7 -0
- package/dist/plugins/approval-ask-retired-delete-by-task-m50.js +17 -0
- package/dist/plugins/approval-ask-store-file.d.ts +28 -9
- package/dist/plugins/approval-ask-store-file.js +74 -18
- package/dist/plugins/approval-ask-store-memory.d.ts +17 -7
- package/dist/plugins/approval-ask-store-memory.js +35 -12
- package/dist/plugins/approval-ask-store-sql.d.ts +42 -20
- package/dist/plugins/approval-ask-store-sql.js +44 -11
- package/dist/plugins/approval-exemption-skill-m46.d.ts +20 -0
- package/dist/plugins/approval-exemption-skill-m46.js +25 -0
- package/dist/plugins/approval-exemption-store.d.ts +6 -1
- package/dist/plugins/approval-exemption-store.js +14 -0
- package/dist/plugins/approval-nonce-store.d.ts +39 -12
- package/dist/plugins/approval-nonce-store.js +72 -23
- package/dist/plugins/blob-backend.d.ts +40 -195
- package/dist/plugins/blob-backend.js +41 -234
- package/dist/plugins/caching-session-store.d.ts +22 -5
- package/dist/plugins/caching-session-store.js +43 -4
- package/dist/plugins/checkpoint-index-columns.d.ts +33 -6
- package/dist/plugins/checkpoint-index-columns.js +39 -3
- package/dist/plugins/checkpoint-store-face.d.ts +84 -11
- package/dist/plugins/checkpoint-store-face.js +18 -1
- package/dist/plugins/device-store-sql.d.ts +2 -2
- package/dist/plugins/device-store-sql.js +6 -10
- package/dist/plugins/ensure-index.d.ts +13 -1
- package/dist/plugins/ensure-index.js +154 -21
- package/dist/plugins/ensure-schema-lock-policy.d.ts +0 -15
- package/dist/plugins/ensure-schema-lock-policy.js +3 -2
- package/dist/plugins/execution-lane-rename-m40.d.ts +20 -0
- package/dist/plugins/execution-lane-rename-m40.js +10 -0
- package/dist/plugins/execution-placement-sql.d.ts +63 -88
- package/dist/plugins/execution-placement-sql.js +94 -54
- package/dist/plugins/file-run-store.d.ts +89 -35
- package/dist/plugins/file-run-store.js +197 -142
- package/dist/plugins/host-platform.d.ts +24 -3
- package/dist/plugins/host-platform.js +15 -1
- package/dist/plugins/image-bake-store-sql.js +2 -0
- package/dist/plugins/imported-layer-root-retirement.d.ts +19 -10
- package/dist/plugins/imported-layer-root-retirement.js +4 -8
- package/dist/plugins/inbox-payload-column.d.ts +14 -0
- package/dist/plugins/inbox-payload-column.js +13 -0
- package/dist/plugins/k8s-pod-reaper.d.ts +1 -3
- package/dist/plugins/k8s-pod-reaper.js +0 -1
- package/dist/plugins/leader-run-store-sql.d.ts +22 -0
- package/dist/plugins/leader-run-store-sql.js +34 -4
- package/dist/plugins/local-checkpoint-store.d.ts +63 -23
- package/dist/plugins/local-checkpoint-store.js +204 -81
- package/dist/plugins/local-data-dir-modes-m39.d.ts +48 -0
- package/dist/plugins/local-data-dir-modes-m39.js +183 -0
- package/dist/plugins/local-docker-capacity.d.ts +93 -0
- package/dist/plugins/local-docker-capacity.js +194 -0
- package/dist/plugins/local-docker-reaper.d.ts +92 -0
- package/dist/plugins/local-docker-reaper.js +102 -0
- package/dist/plugins/local-engine-high-water.d.ts +13 -0
- package/dist/plugins/local-engine-high-water.js +62 -0
- package/dist/plugins/local-session-store.d.ts +442 -143
- package/dist/plugins/local-session-store.js +941 -289
- package/dist/plugins/local-session-window.d.ts +3 -2
- package/dist/plugins/local-session-window.js +3 -2
- package/dist/plugins/local-sidecar-quarantine.js +3 -2
- package/dist/plugins/local-task-attachment-store.d.ts +20 -1
- package/dist/plugins/local-task-attachment-store.js +32 -12
- package/dist/plugins/memory-embedder-fingerprint.d.ts +33 -10
- package/dist/plugins/memory-embedder-fingerprint.js +52 -12
- package/dist/plugins/memory-embedder.d.ts +1 -1
- package/dist/plugins/memory-embedder.js +11 -9
- package/dist/plugins/memory-engine-pg.d.ts +7 -5
- package/dist/plugins/memory-engine-pg.js +18 -9
- package/dist/plugins/memory-engine-sql-apply.d.ts +21 -8
- package/dist/plugins/memory-engine-sql-apply.js +7 -9
- package/dist/plugins/memory-engine-tidb.d.ts +12 -7
- package/dist/plugins/memory-engine-tidb.js +18 -10
- package/dist/plugins/memory-optout-grant-store-sql.d.ts +1 -1
- package/dist/plugins/memory-optout-grant-store-sql.js +3 -3
- package/dist/plugins/memory-run-store.d.ts +39 -27
- package/dist/plugins/memory-run-store.js +72 -70
- package/dist/plugins/one-time-migration-marker.d.ts +10 -0
- package/dist/plugins/one-time-migration-marker.js +7 -0
- package/dist/plugins/one-time-migrations.d.ts +325 -74
- package/dist/plugins/one-time-migrations.js +705 -230
- package/dist/plugins/org-delivery-quota-store.js +2 -1
- package/dist/plugins/owner-only-file-mode.d.ts +29 -0
- package/dist/plugins/owner-only-file-mode.js +141 -0
- package/dist/plugins/permission-rule-store-file.d.ts +11 -11
- package/dist/plugins/permission-rule-store-file.js +14 -2
- package/dist/plugins/permission-rule-store-sql.d.ts +4 -63
- package/dist/plugins/permission-rule-store-sql.js +6 -86
- package/dist/plugins/pg-pool.d.ts +3 -32
- package/dist/plugins/pg-pool.js +27 -11
- package/dist/plugins/release-version.d.ts +20 -0
- package/dist/plugins/release-version.js +28 -0
- package/dist/plugins/remote-env-adb.d.ts +20 -4
- package/dist/plugins/remote-env-adb.js +39 -11
- package/dist/plugins/remote-env-e2b.d.ts +19 -28
- package/dist/plugins/remote-env-e2b.js +40 -29
- package/dist/plugins/remote-env-host.d.ts +11 -10
- package/dist/plugins/remote-env-host.js +40 -27
- package/dist/plugins/remote-env-k8s.d.ts +45 -47
- package/dist/plugins/remote-env-k8s.js +122 -62
- package/dist/plugins/remote-env-local-docker.d.ts +152 -15
- package/dist/plugins/remote-env-local-docker.js +370 -75
- package/dist/plugins/remote-env-ssh.d.ts +8 -2
- package/dist/plugins/remote-env-ssh.js +26 -24
- package/dist/plugins/remote-scratchpad.js +4 -0
- package/dist/plugins/remote-shell.d.ts +59 -30
- package/dist/plugins/remote-shell.js +175 -62
- package/dist/plugins/retention-declaration.d.ts +37 -0
- package/dist/plugins/retention-declaration.js +9 -0
- package/dist/plugins/retention-deployment.d.ts +158 -0
- package/dist/plugins/retention-deployment.js +119 -0
- package/dist/plugins/retention-lane-store-sql.d.ts +74 -4
- package/dist/plugins/retention-lane-store-sql.js +103 -1
- package/dist/plugins/retention-sql.d.ts +29 -0
- package/dist/plugins/retention-sql.js +8 -0
- package/dist/plugins/run-preview-m45.d.ts +11 -0
- package/dist/plugins/run-preview-m45.js +19 -0
- package/dist/plugins/run-store-sql.d.ts +56 -68
- package/dist/plugins/run-store-sql.js +127 -116
- package/dist/plugins/s3-answer.d.ts +2 -1
- package/dist/plugins/sandbox-reaper.d.ts +26 -0
- package/dist/plugins/sandbox-reaper.js +2 -0
- package/dist/plugins/scenario-prefix-switch-m42.d.ts +54 -0
- package/dist/plugins/scenario-prefix-switch-m42.js +55 -0
- package/dist/plugins/scheduler-support.d.ts +16 -1
- package/dist/plugins/scheduler-support.js +22 -2
- package/dist/plugins/schema-consistency.d.ts +42 -15
- package/dist/plugins/schema-consistency.js +213 -13
- package/dist/plugins/schema-drift-sentence.d.ts +4 -1
- package/dist/plugins/schema-drift-sentence.js +4 -4
- package/dist/plugins/schema-ensure-legs.d.ts +10 -1
- package/dist/plugins/schema-ensure-legs.js +12 -2
- package/dist/plugins/schema-indexes.js +3 -0
- package/dist/plugins/schema-live-columns.d.ts +14 -5
- package/dist/plugins/schema-live-columns.js +10 -10
- package/dist/plugins/send-user-file.js +2 -1
- package/dist/plugins/session-birth.d.ts +37 -0
- package/dist/plugins/session-birth.js +38 -0
- package/dist/plugins/session-epoch-anchor.d.ts +40 -12
- package/dist/plugins/session-epoch-anchor.js +33 -11
- package/dist/plugins/session-ext-table.d.ts +98 -0
- package/dist/plugins/session-ext-table.js +134 -0
- package/dist/plugins/session-fork.d.ts +16 -2
- package/dist/plugins/session-fork.js +3 -0
- package/dist/plugins/session-ownership.d.ts +1 -1
- package/dist/plugins/session-placement.d.ts +22 -16
- package/dist/plugins/session-placement.js +15 -12
- package/dist/plugins/session-row-sql.d.ts +20 -7
- package/dist/plugins/session-row-sql.js +16 -8
- package/dist/plugins/session-run-rollup.d.ts +29 -0
- package/dist/plugins/session-run-rollup.js +40 -0
- package/dist/plugins/session-store-sql.d.ts +157 -0
- package/dist/plugins/session-store-sql.js +398 -0
- package/dist/plugins/session-withdraw-sql.d.ts +36 -0
- package/dist/plugins/session-withdraw-sql.js +42 -0
- package/dist/plugins/session-workspace-cell.d.ts +2 -2
- package/dist/plugins/session-workspace-cell.js +2 -2
- package/dist/plugins/shared-memory-store-sql.d.ts +10 -69
- package/dist/plugins/shared-memory-store-sql.js +15 -14
- package/dist/plugins/shell-sentinel-owner-m48.d.ts +20 -0
- package/dist/plugins/shell-sentinel-owner-m48.js +3 -0
- package/dist/plugins/snapshot-bucket-presence.d.ts +2 -1
- package/dist/plugins/snapshot-bucket-presence.js +1 -1
- package/dist/plugins/sql-driver.d.ts +24 -8
- package/dist/plugins/sql-driver.js +43 -9
- package/dist/plugins/sql-errors.d.ts +35 -5
- package/dist/plugins/sql-errors.js +55 -3
- package/dist/plugins/sql-json-column.d.ts +8 -7
- package/dist/plugins/sql-json-column.js +10 -6
- package/dist/plugins/store-backend.d.ts +114 -18
- package/dist/plugins/store-backend.js +340 -87
- package/dist/plugins/store-contracts.d.ts +97 -30
- package/dist/plugins/store-contracts.js +23 -1
- package/dist/plugins/store-fault.d.ts +28 -2
- package/dist/plugins/store-fault.js +20 -2
- package/dist/plugins/task-attachment-store.d.ts +21 -11
- package/dist/plugins/task-attachment-store.js +37 -19
- package/dist/plugins/task-list-store-sql.d.ts +1 -1
- package/dist/plugins/text-column-capacity.d.ts +21 -0
- package/dist/plugins/text-column-capacity.js +5 -0
- package/dist/plugins/tidb-pool.d.ts +3 -2
- package/dist/plugins/tidb-pool.js +42 -39
- package/dist/plugins/user-input-ledger-sql.d.ts +1 -1
- package/dist/plugins/web-search.js +5 -3
- package/dist/plugins/workflow-run-store-sql.d.ts +6 -1
- package/dist/plugins/workflow-run-store-sql.js +11 -5
- package/dist/principal-jwt.d.ts +4 -4
- package/dist/principal-jwt.js +20 -5
- package/dist/principal-shape.d.ts +41 -0
- package/dist/principal-shape.js +19 -0
- package/dist/question.d.ts +13 -23
- package/dist/question.js +21 -39
- package/dist/read-face-posture.d.ts +6 -6
- package/dist/read-face-posture.js +2 -2
- package/dist/request-declaration-refusal.d.ts +35 -12
- package/dist/request-declaration-refusal.js +21 -9
- package/dist/request-form.d.ts +58 -0
- package/dist/request-form.js +72 -0
- package/dist/request-image-urls.d.ts +8 -2
- package/dist/request-image-urls.js +2 -1
- package/dist/request-images.d.ts +20 -0
- package/dist/request-images.js +59 -0
- package/dist/request-key-closure.d.ts +6 -7
- package/dist/request-key-closure.js +15 -2
- package/dist/request-value-closure.d.ts +5 -5
- package/dist/request-value-closure.js +1 -1
- package/dist/resource-suspend.d.ts +7 -16
- package/dist/resource-suspend.js +1 -1
- package/dist/retired-name-host-notice.d.ts +21 -0
- package/dist/retired-name-host-notice.js +12 -0
- package/dist/rule-entry-list.d.ts +2 -2
- package/dist/rule-entry-list.js +3 -4
- package/dist/rule-issue-reading.d.ts +58 -0
- package/dist/rule-issue-reading.js +14 -0
- package/dist/rules-consent.d.ts +46 -16
- package/dist/rules-consent.js +102 -53
- package/dist/run-acceptance.d.ts +3 -1
- package/dist/run-acceptance.js +3 -0
- package/dist/run-local.d.ts +14 -6
- package/dist/run-local.js +109 -93
- package/dist/run-stale-default.d.ts +7 -0
- package/dist/run-stale-default.js +2 -0
- package/dist/runs.d.ts +73 -44
- package/dist/runs.js +65 -43
- package/dist/runtime-caps-resolver.d.ts +36 -14
- package/dist/runtime-caps-resolver.js +31 -14
- package/dist/runtime-governance.d.ts +2 -2
- package/dist/runtime-governance.js +5 -3
- package/dist/sealed-key-layout.d.ts +12 -6
- package/dist/sealed-key-layout.js +5 -1
- package/dist/sealed-key.d.ts +12 -2
- package/dist/sealed-key.js +116 -26
- package/dist/security.d.ts +133 -161
- package/dist/security.js +163 -59
- package/dist/sema-config-dir.d.ts +20 -0
- package/dist/sema-config-dir.js +27 -2
- package/dist/server-secret-env.d.ts +23 -5
- package/dist/server-secret-env.js +14 -4
- package/dist/service-version.d.ts +2 -1
- package/dist/service-version.js +2 -2
- package/dist/session-children-retire.d.ts +7 -5
- package/dist/session-children-retire.js +7 -2
- package/dist/session-deletion.d.ts +88 -0
- package/dist/session-deletion.js +8 -0
- package/dist/session-erase.d.ts +145 -0
- package/dist/session-erase.js +115 -0
- package/dist/session-error-wire.d.ts +6 -6
- package/dist/session-error-wire.js +1 -1
- package/dist/session-incarnation.d.ts +60 -10
- package/dist/session-incarnation.js +19 -2
- package/dist/session-policy-wire.d.ts +6 -3
- package/dist/session-policy-wire.js +11 -1
- package/dist/session-resident-background.d.ts +29 -47
- package/dist/session-resident-background.js +77 -8
- package/dist/session-row.d.ts +3 -2
- package/dist/session-rules-seat.d.ts +12 -0
- package/dist/session-rules-seat.js +19 -0
- package/dist/session-sync-kernel.d.ts +1 -1
- package/dist/session-titler.d.ts +7 -15
- package/dist/session-titler.js +1 -1
- package/dist/session-workspace.d.ts +11 -2
- package/dist/session-workspace.js +5 -0
- package/dist/sighup-idle.d.ts +1 -1
- package/dist/spec-fields.d.ts +57 -3
- package/dist/spec-fields.js +72 -51
- package/dist/store-posture.d.ts +138 -21
- package/dist/store-posture.js +188 -3
- package/dist/stored-request-hooks-m20.d.ts +3 -2
- package/dist/stored-request-hooks-m20.js +21 -16
- package/dist/stores-sql/background-agent-store-sql.d.ts +11 -2
- package/dist/stores-sql/background-agent-store-sql.js +73 -20
- package/dist/stores-sql/blob-index-sql.d.ts +148 -0
- package/dist/stores-sql/blob-index-sql.js +154 -0
- package/dist/stores-sql/checkpoint-store-sql.d.ts +34 -29
- package/dist/stores-sql/checkpoint-store-sql.js +86 -71
- package/dist/{plugins → stores-sql}/file-history-store-sql.d.ts +23 -11
- package/dist/{plugins → stores-sql}/file-history-store-sql.js +23 -18
- package/dist/stores-sql/mailbox-store-sql.d.ts +7 -4
- package/dist/stores-sql/mailbox-store-sql.js +31 -32
- package/dist/{plugins → stores-sql}/pg-session-storage.d.ts +30 -81
- package/dist/{plugins → stores-sql}/pg-session-storage.js +123 -244
- package/dist/{plugins → stores-sql}/retention-store-sql.d.ts +197 -223
- package/dist/{plugins → stores-sql}/retention-store-sql.js +148 -207
- package/dist/{plugins → stores-sql}/session-event-payload.d.ts +1 -1
- package/dist/{plugins → stores-sql}/session-event-payload.js +1 -1
- package/dist/stores-sql/session-policy-store-sql.d.ts +33 -11
- package/dist/stores-sql/session-policy-store-sql.js +44 -36
- package/dist/stores-sql/session-write-hooks.d.ts +65 -0
- package/dist/stores-sql/session-write-hooks.js +2 -0
- package/dist/{plugins → stores-sql}/tidb-session-storage.d.ts +14 -15
- package/dist/{plugins → stores-sql}/tidb-session-storage.js +22 -28
- package/dist/{plugins → stores-sql}/tidb-session-store.d.ts +67 -138
- package/dist/{plugins → stores-sql}/tidb-session-store.js +130 -200
- package/dist/stores-sql/tool-result-store-sql.d.ts +1 -1
- package/dist/stores-sql/tool-result-store-sql.js +1 -1
- package/dist/stores-sql/windowed-session-storage.d.ts +61 -0
- package/dist/stores-sql/windowed-session-storage.js +70 -0
- package/dist/submission-exit.d.ts +50 -0
- package/dist/submission-exit.js +108 -0
- package/dist/task-a2a.d.ts +7 -1
- package/dist/task-a2a.js +18 -17
- package/dist/task-cwd.d.ts +31 -3
- package/dist/task-cwd.js +25 -1
- package/dist/task-mcp.d.ts +11 -3
- package/dist/task-mcp.js +16 -19
- package/dist/task-settings.d.ts +23 -14
- package/dist/task-settings.js +35 -13
- package/dist/terminal.d.ts +25 -43
- package/dist/terminal.js +31 -11
- package/dist/tool-approval.d.ts +152 -137
- package/dist/tool-approval.js +199 -199
- package/dist/trace/core-keyset-guard.d.ts +22 -9
- package/dist/trace/core-vocab-wire.d.ts +95 -0
- package/dist/trace/core-vocab-wire.js +15 -0
- package/dist/trace/engine-notice-wire.d.ts +1 -1
- package/dist/trace/engine-notice-wire.js +2 -0
- package/dist/trace/exit-seat.d.ts +52 -4
- package/dist/trace/exit-seat.js +43 -36
- package/dist/trace/extension-call-face.d.ts +3 -2
- package/dist/trace/extension-call-face.js +3 -1
- package/dist/trace/ledger-events.d.ts +4 -7
- package/dist/trace/ledger-sink.d.ts +1 -30
- package/dist/trace/ledger-sink.js +0 -11
- package/dist/trace/model-segment.d.ts +5 -5
- package/dist/trace/model-segment.js +5 -5
- package/dist/trace/project.d.ts +88 -58
- package/dist/trace/project.js +64 -28
- package/dist/trace/redact.d.ts +124 -28
- package/dist/trace/redact.js +936 -328
- package/dist/trace/self-minted-wire.d.ts +750 -29
- package/dist/trace/self-minted-wire.js +262 -25
- package/dist/trace/sema-provenance.d.ts +45 -41
- package/dist/trace/sema-provenance.js +81 -10
- package/dist/trace/task-notification-facets.d.ts +70 -2
- package/dist/trace/task-notification-facets.js +71 -1
- package/dist/trace/wire-projection-faces.d.ts +43 -8
- package/dist/trace/wire-projection-faces.js +28 -3
- package/dist/unread-request-members.d.ts +66 -0
- package/dist/unread-request-members.js +41 -0
- package/dist/upstream-body.d.ts +23 -0
- package/dist/upstream-body.js +16 -0
- package/dist/url-refusal.d.ts +3 -3
- package/dist/url-refusal.js +11 -4
- package/dist/user-authored-text.d.ts +1 -1
- package/dist/user-input-ledger.d.ts +7 -8
- package/dist/user-input-ledger.js +1 -1
- package/dist/web-admin-client/apply-effective.d.ts +6 -3
- package/dist/web-admin-client/apply-effective.js +33 -40
- package/dist/web-admin-client/apply-ledger.d.ts +16 -7
- package/dist/web-admin-client/apply-ledger.js +5 -2
- package/dist/web-admin-client/candidate-gate.d.ts +35 -3
- package/dist/web-admin-client/candidate-gate.js +53 -5
- package/dist/web-admin-client/center-request.d.ts +6 -3
- package/dist/web-admin-client/center-request.js +17 -16
- package/dist/web-admin-client/effective-keys.d.ts +1 -1
- package/dist/web-admin-client/effective-keys.js +1 -2
- package/dist/web-admin-client/entry-metadata.d.ts +8 -0
- package/dist/web-admin-client/entry-metadata.js +13 -0
- package/dist/web-admin-client/facade.d.ts +1 -1
- package/dist/web-admin-client/http-client.d.ts +2 -1
- package/dist/web-admin-client/http-client.js +40 -13
- package/dist/web-admin-client/mcp-revocation.d.ts +1 -1
- package/dist/web-admin-client/mcp-revocation.js +2 -1
- package/dist/web-admin-client/read-warnings.d.ts +1 -0
- package/dist/web-admin-client/read-warnings.js +1 -0
- package/dist/web-admin-client/restart-signal.js +13 -6
- package/dist/web-admin-client/skills-mcp.d.ts +22 -8
- package/dist/web-admin-client/skills-mcp.js +26 -21
- package/dist/web-admin-client/types.d.ts +35 -51
- package/dist/workspace-space.d.ts +3 -2
- package/docs/DEVICE-EXECUTOR-PROTOCOL.md +4 -4
- package/package.json +16 -12
- package/scripts/drain-check-local.mjs +118 -173
- package/scripts/drain-check.mysql.sql +20 -16
- package/scripts/drain-check.pg.sql +20 -16
- package/wire-changes/server@7.147.0.json +813 -0
- package/wire-changes/server@7.148.0.json +1517 -0
- package/dist/http/memory-control-plane-corrupt-reply.d.ts +0 -25
- package/dist/http/memory-control-plane-corrupt-reply.js +0 -19
- package/dist/http/memory-layer-reply.d.ts +0 -30
- package/dist/http/memory-layer-reply.js +0 -24
- package/dist/lsp/e2b-bridge.d.ts +0 -57
- package/dist/lsp/e2b-bridge.js +0 -139
- package/dist/lsp/e2b-manager.d.ts +0 -93
- package/dist/lsp/e2b-manager.js +0 -178
- package/dist/lsp/lsp-frames.d.ts +0 -14
- package/dist/lsp/lsp-frames.js +0 -25
- package/dist/lsp/manager.d.ts +0 -129
- package/dist/lsp/manager.js +0 -127
- package/dist/lsp/types.d.ts +0 -12
- package/dist/lsp/types.js +0 -2
- package/dist/lsp/ws-transport.d.ts +0 -40
- package/dist/lsp/ws-transport.js +0 -210
package/dist/adoption/plan.js
CHANGED
|
@@ -1,9 +1,24 @@
|
|
|
1
1
|
import { formatUserScope, encodeScopeSegment, SCOPE_SEGMENT_MAX_ENCODED } from "@sema-agent/core";
|
|
2
2
|
import { PROJECT_LAYER_KEY_PREFIX } from "../project-layer-key.js";
|
|
3
|
+
export function planeExpected(plane, wiring) {
|
|
4
|
+
switch (plane) {
|
|
5
|
+
case "core":
|
|
6
|
+
return true;
|
|
7
|
+
case "memory-engine":
|
|
8
|
+
return wiring.memoryEngine;
|
|
9
|
+
case "task-attachment":
|
|
10
|
+
return wiring.taskAttachment;
|
|
11
|
+
default: {
|
|
12
|
+
const unhandled = plane;
|
|
13
|
+
throw new Error(`adoption: unhandled table plane ${JSON.stringify(unhandled)}`);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
3
17
|
export const REBIND_LEGS = [
|
|
4
18
|
{
|
|
5
19
|
leg: "session_meta#owner",
|
|
6
20
|
table: "session_meta",
|
|
21
|
+
plane: "core",
|
|
7
22
|
kind: "bulk-rebind",
|
|
8
23
|
action: "row-rewrite",
|
|
9
24
|
columns: ["owner"],
|
|
@@ -15,6 +30,7 @@ export const REBIND_LEGS = [
|
|
|
15
30
|
{
|
|
16
31
|
leg: "session_meta#placement_scope",
|
|
17
32
|
table: "session_meta",
|
|
33
|
+
plane: "core",
|
|
18
34
|
kind: "bulk-rebind",
|
|
19
35
|
action: "row-rewrite",
|
|
20
36
|
columns: ["placement_scope"],
|
|
@@ -26,6 +42,7 @@ export const REBIND_LEGS = [
|
|
|
26
42
|
{
|
|
27
43
|
leg: "task_run#owner",
|
|
28
44
|
table: "task_run",
|
|
45
|
+
plane: "core",
|
|
29
46
|
kind: "bulk-rebind",
|
|
30
47
|
action: "row-rewrite",
|
|
31
48
|
columns: ["owner"],
|
|
@@ -37,6 +54,7 @@ export const REBIND_LEGS = [
|
|
|
37
54
|
{
|
|
38
55
|
leg: "resume_anchor#owner",
|
|
39
56
|
table: "resume_anchor",
|
|
57
|
+
plane: "core",
|
|
40
58
|
kind: "bulk-rebind",
|
|
41
59
|
action: "row-rewrite",
|
|
42
60
|
columns: ["owner"],
|
|
@@ -48,6 +66,7 @@ export const REBIND_LEGS = [
|
|
|
48
66
|
{
|
|
49
67
|
leg: "sendfile_link#scope",
|
|
50
68
|
table: "sendfile_link",
|
|
69
|
+
plane: "core",
|
|
51
70
|
kind: "bulk-rebind",
|
|
52
71
|
action: "row-rewrite",
|
|
53
72
|
columns: ["scope"],
|
|
@@ -59,6 +78,7 @@ export const REBIND_LEGS = [
|
|
|
59
78
|
{
|
|
60
79
|
leg: "task_attachment#owner",
|
|
61
80
|
table: "task_attachment",
|
|
81
|
+
plane: "task-attachment",
|
|
62
82
|
kind: "bulk-rebind",
|
|
63
83
|
action: "row-rewrite",
|
|
64
84
|
columns: ["owner"],
|
|
@@ -70,6 +90,7 @@ export const REBIND_LEGS = [
|
|
|
70
90
|
{
|
|
71
91
|
leg: "approval_ask#owner",
|
|
72
92
|
table: "approval_ask",
|
|
93
|
+
plane: "core",
|
|
73
94
|
kind: "bulk-rebind",
|
|
74
95
|
action: "row-rewrite",
|
|
75
96
|
columns: ["owner"],
|
|
@@ -81,6 +102,7 @@ export const REBIND_LEGS = [
|
|
|
81
102
|
{
|
|
82
103
|
leg: "sandbox_image_index#tenant_id",
|
|
83
104
|
table: "sandbox_image_index",
|
|
105
|
+
plane: "core",
|
|
84
106
|
kind: "bulk-rebind",
|
|
85
107
|
action: "row-rewrite",
|
|
86
108
|
columns: ["tenant_id"],
|
|
@@ -92,6 +114,7 @@ export const REBIND_LEGS = [
|
|
|
92
114
|
{
|
|
93
115
|
leg: "leader_run#owner",
|
|
94
116
|
table: "leader_run",
|
|
117
|
+
plane: "core",
|
|
95
118
|
kind: "bulk-rebind",
|
|
96
119
|
action: "row-rewrite",
|
|
97
120
|
columns: ["owner"],
|
|
@@ -103,6 +126,7 @@ export const REBIND_LEGS = [
|
|
|
103
126
|
{
|
|
104
127
|
leg: "workflow_completion_inbox#owner",
|
|
105
128
|
table: "workflow_completion_inbox",
|
|
129
|
+
plane: "core",
|
|
106
130
|
kind: "bulk-rebind",
|
|
107
131
|
action: "row-rewrite",
|
|
108
132
|
columns: ["owner"],
|
|
@@ -114,6 +138,7 @@ export const REBIND_LEGS = [
|
|
|
114
138
|
{
|
|
115
139
|
leg: "workflow_inbox_fence#owner",
|
|
116
140
|
table: "workflow_inbox_fence",
|
|
141
|
+
plane: "core",
|
|
117
142
|
kind: "bulk-rebind",
|
|
118
143
|
action: "row-rewrite",
|
|
119
144
|
columns: ["owner"],
|
|
@@ -125,6 +150,7 @@ export const REBIND_LEGS = [
|
|
|
125
150
|
{
|
|
126
151
|
leg: "workflow_notify_journal#principal",
|
|
127
152
|
table: "workflow_notify_journal",
|
|
153
|
+
plane: "core",
|
|
128
154
|
kind: "bulk-rebind",
|
|
129
155
|
action: "row-rewrite",
|
|
130
156
|
columns: ["principal"],
|
|
@@ -136,6 +162,7 @@ export const REBIND_LEGS = [
|
|
|
136
162
|
{
|
|
137
163
|
leg: "workflow_notify_journal#scope",
|
|
138
164
|
table: "workflow_notify_journal",
|
|
165
|
+
plane: "core",
|
|
139
166
|
kind: "bulk-rebind",
|
|
140
167
|
action: "bucket-rebind",
|
|
141
168
|
columns: ["scope"],
|
|
@@ -147,6 +174,7 @@ export const REBIND_LEGS = [
|
|
|
147
174
|
{
|
|
148
175
|
leg: "background_agent#record_json",
|
|
149
176
|
table: "background_agent",
|
|
177
|
+
plane: "core",
|
|
150
178
|
kind: "blob-rewrite",
|
|
151
179
|
action: "row-rewrite",
|
|
152
180
|
columns: ["scope_key"],
|
|
@@ -159,6 +187,7 @@ export const REBIND_LEGS = [
|
|
|
159
187
|
{
|
|
160
188
|
leg: "background_agent#owner",
|
|
161
189
|
table: "background_agent",
|
|
190
|
+
plane: "core",
|
|
162
191
|
kind: "bulk-rebind",
|
|
163
192
|
action: "row-rewrite",
|
|
164
193
|
columns: ["owner"],
|
|
@@ -170,6 +199,7 @@ export const REBIND_LEGS = [
|
|
|
170
199
|
{
|
|
171
200
|
leg: "checkpoint#checkpoint_blob",
|
|
172
201
|
table: "checkpoint",
|
|
202
|
+
plane: "core",
|
|
173
203
|
kind: "blob-rewrite",
|
|
174
204
|
action: "row-rewrite",
|
|
175
205
|
columns: ["scope"],
|
|
@@ -182,6 +212,7 @@ export const REBIND_LEGS = [
|
|
|
182
212
|
{
|
|
183
213
|
leg: "checkpoint#scope",
|
|
184
214
|
table: "checkpoint",
|
|
215
|
+
plane: "core",
|
|
185
216
|
kind: "bulk-rebind",
|
|
186
217
|
action: "bucket-rebind",
|
|
187
218
|
columns: ["scope"],
|
|
@@ -193,6 +224,7 @@ export const REBIND_LEGS = [
|
|
|
193
224
|
{
|
|
194
225
|
leg: "workflow_run#run_blob",
|
|
195
226
|
table: "workflow_run",
|
|
227
|
+
plane: "core",
|
|
196
228
|
kind: "blob-rewrite",
|
|
197
229
|
action: "row-rewrite",
|
|
198
230
|
columns: ["scope"],
|
|
@@ -205,6 +237,7 @@ export const REBIND_LEGS = [
|
|
|
205
237
|
{
|
|
206
238
|
leg: "workflow_run#scope",
|
|
207
239
|
table: "workflow_run",
|
|
240
|
+
plane: "core",
|
|
208
241
|
kind: "bulk-rebind",
|
|
209
242
|
action: "bucket-rebind",
|
|
210
243
|
columns: ["scope"],
|
|
@@ -216,6 +249,7 @@ export const REBIND_LEGS = [
|
|
|
216
249
|
{
|
|
217
250
|
leg: "workflow_journal_owner#scope",
|
|
218
251
|
table: "workflow_journal_owner",
|
|
252
|
+
plane: "core",
|
|
219
253
|
kind: "bulk-rebind",
|
|
220
254
|
action: "bucket-rebind",
|
|
221
255
|
columns: ["scope"],
|
|
@@ -227,6 +261,7 @@ export const REBIND_LEGS = [
|
|
|
227
261
|
{
|
|
228
262
|
leg: "workflow_agent_session#scope",
|
|
229
263
|
table: "workflow_agent_session",
|
|
264
|
+
plane: "core",
|
|
230
265
|
kind: "bulk-rebind",
|
|
231
266
|
action: "bucket-rebind",
|
|
232
267
|
columns: ["scope"],
|
|
@@ -238,6 +273,7 @@ export const REBIND_LEGS = [
|
|
|
238
273
|
{
|
|
239
274
|
leg: "workflow_resume_claim#scope",
|
|
240
275
|
table: "workflow_resume_claim",
|
|
276
|
+
plane: "core",
|
|
241
277
|
kind: "bulk-rebind",
|
|
242
278
|
action: "bucket-rebind",
|
|
243
279
|
columns: ["scope"],
|
|
@@ -249,6 +285,7 @@ export const REBIND_LEGS = [
|
|
|
249
285
|
{
|
|
250
286
|
leg: "mailbox#scope",
|
|
251
287
|
table: "mailbox",
|
|
288
|
+
plane: "core",
|
|
252
289
|
kind: "bulk-rebind",
|
|
253
290
|
action: "bucket-rebind",
|
|
254
291
|
columns: ["scope_key", "scope"],
|
|
@@ -260,6 +297,7 @@ export const REBIND_LEGS = [
|
|
|
260
297
|
{
|
|
261
298
|
leg: "mailbox_tombstone#scope_key",
|
|
262
299
|
table: "mailbox_tombstone",
|
|
300
|
+
plane: "core",
|
|
263
301
|
kind: "bulk-rebind",
|
|
264
302
|
action: "bucket-rebind",
|
|
265
303
|
columns: ["scope_key"],
|
|
@@ -271,6 +309,7 @@ export const REBIND_LEGS = [
|
|
|
271
309
|
{
|
|
272
310
|
leg: "mailbox_message#scope_key",
|
|
273
311
|
table: "mailbox_message",
|
|
312
|
+
plane: "core",
|
|
274
313
|
kind: "bulk-rebind",
|
|
275
314
|
action: "bucket-rebind",
|
|
276
315
|
columns: ["scope_key"],
|
|
@@ -282,6 +321,7 @@ export const REBIND_LEGS = [
|
|
|
282
321
|
{
|
|
283
322
|
leg: "mailbox_consumed#scope_key",
|
|
284
323
|
table: "mailbox_consumed",
|
|
324
|
+
plane: "core",
|
|
285
325
|
kind: "bulk-rebind",
|
|
286
326
|
action: "bucket-rebind",
|
|
287
327
|
columns: ["scope_key"],
|
|
@@ -293,6 +333,7 @@ export const REBIND_LEGS = [
|
|
|
293
333
|
{
|
|
294
334
|
leg: "background_agent#scope",
|
|
295
335
|
table: "background_agent",
|
|
336
|
+
plane: "core",
|
|
296
337
|
kind: "bulk-rebind",
|
|
297
338
|
action: "bucket-rebind",
|
|
298
339
|
columns: ["scope_key", "scope"],
|
|
@@ -304,6 +345,7 @@ export const REBIND_LEGS = [
|
|
|
304
345
|
{
|
|
305
346
|
leg: "agent_roster#owner",
|
|
306
347
|
table: "agent_roster",
|
|
348
|
+
plane: "core",
|
|
307
349
|
kind: "bulk-rebind",
|
|
308
350
|
action: "bucket-rebind",
|
|
309
351
|
columns: ["owner_key", "owner"],
|
|
@@ -315,6 +357,7 @@ export const REBIND_LEGS = [
|
|
|
315
357
|
{
|
|
316
358
|
leg: "agent_roster#scope",
|
|
317
359
|
table: "agent_roster",
|
|
360
|
+
plane: "core",
|
|
318
361
|
kind: "bulk-rebind",
|
|
319
362
|
action: "bucket-rebind",
|
|
320
363
|
columns: ["scope_key", "scope"],
|
|
@@ -326,6 +369,7 @@ export const REBIND_LEGS = [
|
|
|
326
369
|
{
|
|
327
370
|
leg: "agent_memory_engine_entry#scope",
|
|
328
371
|
table: "agent_memory_engine_entry",
|
|
372
|
+
plane: "memory-engine",
|
|
329
373
|
kind: "bulk-rebind",
|
|
330
374
|
action: "bucket-rebind",
|
|
331
375
|
columns: ["scope"],
|
|
@@ -337,6 +381,7 @@ export const REBIND_LEGS = [
|
|
|
337
381
|
{
|
|
338
382
|
leg: "agent_memory_engine_cursor#scope",
|
|
339
383
|
table: "agent_memory_engine_cursor",
|
|
384
|
+
plane: "memory-engine",
|
|
340
385
|
kind: "bulk-rebind",
|
|
341
386
|
action: "bucket-rebind",
|
|
342
387
|
columns: ["scope"],
|
|
@@ -348,6 +393,7 @@ export const REBIND_LEGS = [
|
|
|
348
393
|
{
|
|
349
394
|
leg: "memory_optout_grant#principal",
|
|
350
395
|
table: "memory_optout_grant",
|
|
396
|
+
plane: "core",
|
|
351
397
|
kind: "bulk-rebind",
|
|
352
398
|
action: "row-rewrite",
|
|
353
399
|
columns: ["principal"],
|
|
@@ -359,6 +405,7 @@ export const REBIND_LEGS = [
|
|
|
359
405
|
{
|
|
360
406
|
leg: "agent_memory_engine_sync_cursor#scope",
|
|
361
407
|
table: "agent_memory_engine_sync_cursor",
|
|
408
|
+
plane: "memory-engine",
|
|
362
409
|
kind: "bulk-rebind",
|
|
363
410
|
action: "bucket-rebind",
|
|
364
411
|
columns: ["scope"],
|
|
@@ -370,6 +417,7 @@ export const REBIND_LEGS = [
|
|
|
370
417
|
{
|
|
371
418
|
leg: "agent_memory_engine_sync_partition#scope",
|
|
372
419
|
table: "agent_memory_engine_sync_partition",
|
|
420
|
+
plane: "memory-engine",
|
|
373
421
|
kind: "bulk-rebind",
|
|
374
422
|
action: "bucket-rebind",
|
|
375
423
|
columns: ["scope"],
|
|
@@ -381,6 +429,7 @@ export const REBIND_LEGS = [
|
|
|
381
429
|
{
|
|
382
430
|
leg: "agent_memory_engine_push_queue#scope",
|
|
383
431
|
table: "agent_memory_engine_push_queue",
|
|
432
|
+
plane: "memory-engine",
|
|
384
433
|
kind: "bulk-rebind",
|
|
385
434
|
action: "bucket-rebind",
|
|
386
435
|
columns: ["scope"],
|
|
@@ -392,6 +441,7 @@ export const REBIND_LEGS = [
|
|
|
392
441
|
{
|
|
393
442
|
leg: "agent_memory_engine_history#scope",
|
|
394
443
|
table: "agent_memory_engine_history",
|
|
444
|
+
plane: "memory-engine",
|
|
395
445
|
kind: "bulk-rebind",
|
|
396
446
|
action: "bucket-rebind",
|
|
397
447
|
columns: ["scope"],
|
|
@@ -403,6 +453,7 @@ export const REBIND_LEGS = [
|
|
|
403
453
|
{
|
|
404
454
|
leg: "session_policy#principal",
|
|
405
455
|
table: "session_policy",
|
|
456
|
+
plane: "core",
|
|
406
457
|
kind: "session-policy-rekey",
|
|
407
458
|
action: "row-rewrite",
|
|
408
459
|
columns: ["principal"],
|
|
@@ -414,6 +465,7 @@ export const REBIND_LEGS = [
|
|
|
414
465
|
{
|
|
415
466
|
leg: "permission_rule#owner_key",
|
|
416
467
|
table: "permission_rule",
|
|
468
|
+
plane: "core",
|
|
417
469
|
kind: "rule-owner-rekey",
|
|
418
470
|
action: "bucket-rebind",
|
|
419
471
|
columns: ["owner_key", "principal"],
|
|
@@ -449,7 +501,7 @@ export const AFFECTED_CONFIG_TEMPLATES = [
|
|
|
449
501
|
{ deployment: "cli", key: "~/.sema/cloud/credentials + cloud/profiles.json", requiredValue: "%TO%" },
|
|
450
502
|
{ deployment: "cli", key: "SEMA_LIVE_PRINCIPAL", requiredValue: "%TO%" },
|
|
451
503
|
{ deployment: "env", key: "REQUIRE_PRINCIPAL", requiredValue: "true (multi-tenant posture must stay on)" },
|
|
452
|
-
{ deployment: "core-decl", key: "localOwnerRules", requiredValue: "(
|
|
504
|
+
{ deployment: "core-decl", key: "localOwnerRules", requiredValue: "(withdrawn by REQUIRE_PRINCIPAL=true — this server declares it only on a single-user deployment with a permission-rule store)" },
|
|
453
505
|
];
|
|
454
506
|
export const IDENTITY_WIDTH_LIMITS = [
|
|
455
507
|
{ what: "sandbox_image_index.tenant_id VARCHAR(64)", unit: "chars", max: 64 },
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type AdoptionLogStore } from "../plugins/adoption-log-sql.js";
|
|
2
2
|
import type { SqlDialect } from "../plugins/sql-driver.js";
|
|
3
|
+
import { type AdoptionWiring } from "./plan.js";
|
|
3
4
|
import { type AdoptionReceipt, type AdoptionRejectCode } from "./wire.js";
|
|
4
5
|
/** 冲突表族的逐项读数(进 409 响应体;运维据此知道**该去清理哪张表**,不是一句「冲突了」)。 */
|
|
5
6
|
export interface AdoptionConflict {
|
|
@@ -9,7 +10,9 @@ export interface AdoptionConflict {
|
|
|
9
10
|
/** 目的地侧与源侧共享同一逻辑键的行对数(>0 即冲突)。 */
|
|
10
11
|
overlapping: number;
|
|
11
12
|
}
|
|
12
|
-
/**
|
|
13
|
+
/** 收编弧的四种结局。**回执与拒绝分家**:拒从不产出 200 回执(183 §7.3 拒绝可判别)。
|
|
14
|
+
* `tables_missing` 与 `rejected` 的分家:前者是**部署**事实(接线了的可选面在库上缺表),弧**不**落终态 —— 行停在 INTENT、零 UPDATE,补好表之后重发同一请求即续;
|
|
15
|
+
* 后者是**数据**事实(目的地冲突 / 装不下),落永久终态。 */
|
|
13
16
|
export type AdoptionOutcome = {
|
|
14
17
|
kind: "receipt";
|
|
15
18
|
adoptionId: string;
|
|
@@ -25,12 +28,18 @@ export type AdoptionOutcome = {
|
|
|
25
28
|
adoptionId: string;
|
|
26
29
|
fromPrincipal: string;
|
|
27
30
|
boundTo: string;
|
|
31
|
+
} | {
|
|
32
|
+
kind: "tables_missing";
|
|
33
|
+
adoptionId: string;
|
|
34
|
+
tables: string[];
|
|
28
35
|
};
|
|
29
36
|
export interface AdoptionRunnerDeps {
|
|
30
37
|
store: AdoptionLogStore;
|
|
31
38
|
dialect: SqlDialect;
|
|
32
39
|
/** 注入时钟(测试要确定性;生产传 `Date.now`)。 */
|
|
33
40
|
now: () => number;
|
|
41
|
+
/** boot 的店接线事实(**必填、无默认值**:忘传 = 编译红)。只用来判「可选表面缺表是不是意外」,见 {@link AdoptionWiring}。 */
|
|
42
|
+
wiring: AdoptionWiring;
|
|
34
43
|
/** 锁轮询次数/间隔——测试把它调到 1 次好确定性地打到「取不到锁」那条臂。 */
|
|
35
44
|
lockAttempts?: number;
|
|
36
45
|
lockSleepMs?: number;
|
package/dist/adoption/runner.js
CHANGED
|
@@ -3,7 +3,8 @@ import { ADOPTION_PHASE, adoptionLockName, } from "../plugins/adoption-log-sql.j
|
|
|
3
3
|
import { policyKeyFor } from "../stores-sql/session-policy-store-sql.js";
|
|
4
4
|
import { buildRuleOwnerKey } from "../plugins/permission-rule-store-sql.js";
|
|
5
5
|
import { withAdoptionQuiesce } from "./quiesce.js";
|
|
6
|
-
import {
|
|
6
|
+
import { readLiveColumns } from "../plugins/schema-live-columns.js";
|
|
7
|
+
import { AFFECTED_CONFIG_TEMPLATES, MEMORY_PROJECT_SCOPE_PREFIXES, MEMORY_SCOPE_MAX_CHARS, NOT_MIGRATED_BY_DESIGN, REBIND_LEGS, buildVerbatimPair, planeExpected, rewriteMemoryScope, } from "./plan.js";
|
|
7
8
|
import { buildBlobScanSql, buildBlobWriteSql, buildConflictProbeSql, buildMemoryScopeScanSql, buildResidualCountSql, buildRebindSql, buildRuleOwnerRekeySql, buildSessionPolicyRewriteSql, buildSessionPolicyScanSql, } from "./sql.js";
|
|
8
9
|
import { AdoptionConfigsSchema, AdoptionLegsSchema, AdoptionReceiptSchema, AdoptionRejectDetailSchema, AdoptionReportSchema, } from "./wire.js";
|
|
9
10
|
import { formatUserScope, encodeScopeSegment } from "@sema-agent/core";
|
|
@@ -36,11 +37,17 @@ async function resolveValuePairs(exec, dialect, leg, fromPrincipal, toPrincipal)
|
|
|
36
37
|
return pairs;
|
|
37
38
|
}
|
|
38
39
|
export function createAdoptionRunner(deps) {
|
|
39
|
-
const { store, dialect, now } = deps;
|
|
40
|
-
async function
|
|
40
|
+
const { store, dialect, now, wiring } = deps;
|
|
41
|
+
async function planLegs(exec) {
|
|
42
|
+
const live = await readLiveColumns(async (sql) => (await exec.query(sql)).rows, dialect);
|
|
43
|
+
const legs = REBIND_LEGS.filter((leg) => leg.plane === "core" || live.has(leg.table));
|
|
44
|
+
const missing = [...new Set(REBIND_LEGS.filter((leg) => leg.plane !== "core" && !live.has(leg.table) && planeExpected(leg.plane, wiring)).map((leg) => leg.table))];
|
|
45
|
+
return { legs, missing };
|
|
46
|
+
}
|
|
47
|
+
async function unrepresentableScopes(exec, legs, fromPrincipal, toPrincipal) {
|
|
41
48
|
const bad = [];
|
|
42
49
|
const seen = new Set();
|
|
43
|
-
for (const leg of
|
|
50
|
+
for (const leg of legs) {
|
|
44
51
|
if (leg.encoding !== "memory-scope")
|
|
45
52
|
continue;
|
|
46
53
|
for (const pair of await resolveValuePairs(exec, dialect, leg, fromPrincipal, toPrincipal)) {
|
|
@@ -52,9 +59,9 @@ export function createAdoptionRunner(deps) {
|
|
|
52
59
|
}
|
|
53
60
|
return bad;
|
|
54
61
|
}
|
|
55
|
-
async function preflight(exec, fromPrincipal, toPrincipal) {
|
|
62
|
+
async function preflight(exec, legs, fromPrincipal, toPrincipal) {
|
|
56
63
|
const hits = [];
|
|
57
|
-
for (const leg of
|
|
64
|
+
for (const leg of legs) {
|
|
58
65
|
if (leg.residualKey === undefined)
|
|
59
66
|
continue;
|
|
60
67
|
const pairs = await resolveValuePairs(exec, dialect, leg, fromPrincipal, toPrincipal);
|
|
@@ -109,9 +116,9 @@ export function createAdoptionRunner(deps) {
|
|
|
109
116
|
}
|
|
110
117
|
return rows;
|
|
111
118
|
}
|
|
112
|
-
async function runLegs(exec, fromPrincipal, toPrincipal) {
|
|
119
|
+
async function runLegs(exec, legs, fromPrincipal, toPrincipal) {
|
|
113
120
|
const out = [];
|
|
114
|
-
for (const leg of
|
|
121
|
+
for (const leg of legs) {
|
|
115
122
|
if (leg.kind === "blob-rewrite") {
|
|
116
123
|
out.push({ store: leg.leg, action: leg.action, rows: await runBlobLeg(exec, leg, fromPrincipal, toPrincipal) });
|
|
117
124
|
continue;
|
|
@@ -163,9 +170,9 @@ export function createAdoptionRunner(deps) {
|
|
|
163
170
|
function parseConfigs(row) {
|
|
164
171
|
return AdoptionConfigsSchema.parse(JSON.parse(row.configsJson));
|
|
165
172
|
}
|
|
166
|
-
async function countResidual(exec, fromPrincipal, toPrincipal) {
|
|
173
|
+
async function countResidual(exec, legs, fromPrincipal, toPrincipal) {
|
|
167
174
|
const byTable = new Map();
|
|
168
|
-
for (const leg of
|
|
175
|
+
for (const leg of legs) {
|
|
169
176
|
const slot = byTable.get(leg.table) ?? { match: new Set() };
|
|
170
177
|
if (leg.kind === "blob-rewrite")
|
|
171
178
|
slot.blob = leg;
|
|
@@ -177,7 +184,7 @@ export function createAdoptionRunner(deps) {
|
|
|
177
184
|
byTable.set(leg.table, slot);
|
|
178
185
|
}
|
|
179
186
|
for (const [table, slot] of byTable) {
|
|
180
|
-
const encodings = new Set(
|
|
187
|
+
const encodings = new Set(legs.filter((l) => l.table === table && l.kind !== "blob-rewrite").map((l) => l.encoding));
|
|
181
188
|
if (encodings.size > 1) {
|
|
182
189
|
throw new Error(`adoption: table ${table} carries identity axes in more than one encoding (${[...encodings].sort().join(", ")}) — the residual count binds ONE value pair across the OR'd columns, so it would silently under-report. Split the count per encoding before adding such a leg.`);
|
|
183
190
|
}
|
|
@@ -255,7 +262,10 @@ export function createAdoptionRunner(deps) {
|
|
|
255
262
|
if (row.state === "rejected")
|
|
256
263
|
return rejectedOutcome(row);
|
|
257
264
|
if (row.state === "in_flight" && row.phase === ADOPTION_PHASE.INTENT) {
|
|
258
|
-
const
|
|
265
|
+
const plan = await planLegs(conn);
|
|
266
|
+
if (plan.missing.length > 0)
|
|
267
|
+
return { kind: "tables_missing", adoptionId: row.adoptionId, tables: [...plan.missing] };
|
|
268
|
+
const unrepresentable = await unrepresentableScopes(conn, plan.legs, row.fromPrincipal, row.toPrincipal);
|
|
259
269
|
if (unrepresentable.length > 0) {
|
|
260
270
|
const detail = JSON.stringify({
|
|
261
271
|
detail: `the destination principal cannot be represented in every derived key: ${unrepresentable.join("; ")}`,
|
|
@@ -264,14 +274,14 @@ export function createAdoptionRunner(deps) {
|
|
|
264
274
|
await store.finalizeRejected(row.adoptionId, "adoption.destination_unrepresentable", detail, now(), conn);
|
|
265
275
|
return rejectedOutcome(await reread());
|
|
266
276
|
}
|
|
267
|
-
const conflicts = await preflight(conn, row.fromPrincipal, row.toPrincipal);
|
|
277
|
+
const conflicts = await preflight(conn, plan.legs, row.fromPrincipal, row.toPrincipal);
|
|
268
278
|
if (conflicts.length > 0) {
|
|
269
279
|
const detail = JSON.stringify({ detail: "destination already holds rows sharing a logical key with the source", conflicts });
|
|
270
280
|
await store.finalizeRejected(row.adoptionId, "adoption.destination_conflict", detail, now(), conn);
|
|
271
281
|
return rejectedOutcome(await reread());
|
|
272
282
|
}
|
|
273
283
|
try {
|
|
274
|
-
await store.rebindOn(conn, row.adoptionId, ADOPTION_PHASE.INTENT, ADOPTION_PHASE.REBOUND, now(), (exec) => runLegs(exec, row.fromPrincipal, row.toPrincipal), (legs) => JSON.stringify(legs));
|
|
284
|
+
await store.rebindOn(conn, row.adoptionId, ADOPTION_PHASE.INTENT, ADOPTION_PHASE.REBOUND, now(), (exec) => runLegs(exec, plan.legs, row.fromPrincipal, row.toPrincipal), (legs) => JSON.stringify(legs));
|
|
275
285
|
}
|
|
276
286
|
catch (err) {
|
|
277
287
|
if (!isDupKey(dialect, err))
|
|
@@ -315,7 +325,8 @@ export function createAdoptionRunner(deps) {
|
|
|
315
325
|
}
|
|
316
326
|
async function sweepLate(row, conn) {
|
|
317
327
|
try {
|
|
318
|
-
const legs = await
|
|
328
|
+
const { legs: present } = await planLegs(conn);
|
|
329
|
+
const legs = await store.sweepOn(conn, (exec) => runLegs(exec, present, row.fromPrincipal, row.toPrincipal));
|
|
319
330
|
const moved = legs.reduce((n, l) => n + (l.rows ?? 0), 0);
|
|
320
331
|
if (moved > 0) {
|
|
321
332
|
deps.logger?.warn?.("adoption_late_rows_swept", {
|
|
@@ -332,7 +343,8 @@ export function createAdoptionRunner(deps) {
|
|
|
332
343
|
}
|
|
333
344
|
async function residualOf(row, exec = store.reader) {
|
|
334
345
|
try {
|
|
335
|
-
|
|
346
|
+
const { legs } = await planLegs(exec);
|
|
347
|
+
return await countResidual(exec, legs, row.fromPrincipal, row.toPrincipal);
|
|
336
348
|
}
|
|
337
349
|
catch (err) {
|
|
338
350
|
deps.logger?.warn?.("adoption_residual_count_failed", { adoptionId: row.adoptionId, error: msgOf(err) });
|
|
@@ -403,6 +415,14 @@ export function createAdoptionRunner(deps) {
|
|
|
403
415
|
stalled.push(out.adoptionId);
|
|
404
416
|
deps.logger?.warn?.("adoption_resume_unexpected_outcome", { adoptionId: out.adoptionId, kind: out.kind });
|
|
405
417
|
break;
|
|
418
|
+
case "tables_missing":
|
|
419
|
+
stalled.push(out.adoptionId);
|
|
420
|
+
deps.logger?.warn?.("adoption_resume_tables_missing", {
|
|
421
|
+
adoptionId: out.adoptionId,
|
|
422
|
+
tables: out.tables,
|
|
423
|
+
note: "this deployment wires an optional store whose table is absent from the database — restart a replica (its boot creates missing tables) and the arc continues",
|
|
424
|
+
});
|
|
425
|
+
break;
|
|
406
426
|
case "receipt":
|
|
407
427
|
if (out.receipt.status === "adopted")
|
|
408
428
|
resumed.push(out.adoptionId);
|
package/dist/adoption/wire.d.ts
CHANGED
|
@@ -71,10 +71,10 @@ export declare const NOT_MIGRATED_FACES: readonly ["usage-window", "cost-quota",
|
|
|
71
71
|
export type NotMigratedFace = (typeof NOT_MIGRATED_FACES)[number];
|
|
72
72
|
export declare const AdoptionNotMigratedSchema: z.ZodObject<{
|
|
73
73
|
face: z.ZodEnum<{
|
|
74
|
-
"org-delivery-quota": "org-delivery-quota";
|
|
75
74
|
"usage-window": "usage-window";
|
|
76
75
|
"cost-quota": "cost-quota";
|
|
77
76
|
"rate-limit": "rate-limit";
|
|
77
|
+
"org-delivery-quota": "org-delivery-quota";
|
|
78
78
|
"approval-exemption-grantor": "approval-exemption-grantor";
|
|
79
79
|
"approval-ask-decision-actor": "approval-ask-decision-actor";
|
|
80
80
|
"image-bake-requested-by": "image-bake-requested-by";
|
|
@@ -120,10 +120,10 @@ export declare const AdoptionReportSchema: z.ZodObject<{
|
|
|
120
120
|
}, z.core.$strict>>;
|
|
121
121
|
notMigratedByDesign: z.ZodArray<z.ZodObject<{
|
|
122
122
|
face: z.ZodEnum<{
|
|
123
|
-
"org-delivery-quota": "org-delivery-quota";
|
|
124
123
|
"usage-window": "usage-window";
|
|
125
124
|
"cost-quota": "cost-quota";
|
|
126
125
|
"rate-limit": "rate-limit";
|
|
126
|
+
"org-delivery-quota": "org-delivery-quota";
|
|
127
127
|
"approval-exemption-grantor": "approval-exemption-grantor";
|
|
128
128
|
"approval-ask-decision-actor": "approval-ask-decision-actor";
|
|
129
129
|
"image-bake-requested-by": "image-bake-requested-by";
|
|
@@ -182,10 +182,10 @@ export declare const AdoptionReceiptSchema: z.ZodObject<{
|
|
|
182
182
|
}, z.core.$strict>>;
|
|
183
183
|
notMigratedByDesign: z.ZodArray<z.ZodObject<{
|
|
184
184
|
face: z.ZodEnum<{
|
|
185
|
-
"org-delivery-quota": "org-delivery-quota";
|
|
186
185
|
"usage-window": "usage-window";
|
|
187
186
|
"cost-quota": "cost-quota";
|
|
188
187
|
"rate-limit": "rate-limit";
|
|
188
|
+
"org-delivery-quota": "org-delivery-quota";
|
|
189
189
|
"approval-exemption-grantor": "approval-exemption-grantor";
|
|
190
190
|
"approval-ask-decision-actor": "approval-ask-decision-actor";
|
|
191
191
|
"image-bake-requested-by": "image-bake-requested-by";
|