@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/approval-card.d.ts
CHANGED
|
@@ -83,17 +83,17 @@ export declare const RuleOfferSchema: z.ZodUnion<readonly [z.ZodObject<{
|
|
|
83
83
|
kind: z.ZodLiteral<"single">;
|
|
84
84
|
rule: z.ZodString;
|
|
85
85
|
match: z.ZodEnum<{
|
|
86
|
-
host: "host";
|
|
87
86
|
name: "name";
|
|
88
87
|
path: "path";
|
|
89
|
-
|
|
90
|
-
pattern: "pattern";
|
|
88
|
+
host: "host";
|
|
91
89
|
exact: "exact";
|
|
92
90
|
prefix: "prefix";
|
|
93
91
|
wildcard: "wildcard";
|
|
92
|
+
pattern: "pattern";
|
|
94
93
|
subpath: "subpath";
|
|
95
94
|
name_prefix: "name_prefix";
|
|
96
95
|
subdomain: "subdomain";
|
|
96
|
+
tool: "tool";
|
|
97
97
|
}>;
|
|
98
98
|
command: z.ZodString;
|
|
99
99
|
}, z.core.$strict>, z.ZodObject<{
|
|
@@ -102,17 +102,17 @@ export declare const RuleOfferSchema: z.ZodUnion<readonly [z.ZodObject<{
|
|
|
102
102
|
kind: z.ZodLiteral<"command">;
|
|
103
103
|
rule: z.ZodString;
|
|
104
104
|
match: z.ZodEnum<{
|
|
105
|
-
host: "host";
|
|
106
105
|
name: "name";
|
|
107
106
|
path: "path";
|
|
108
|
-
|
|
109
|
-
pattern: "pattern";
|
|
107
|
+
host: "host";
|
|
110
108
|
exact: "exact";
|
|
111
109
|
prefix: "prefix";
|
|
112
110
|
wildcard: "wildcard";
|
|
111
|
+
pattern: "pattern";
|
|
113
112
|
subpath: "subpath";
|
|
114
113
|
name_prefix: "name_prefix";
|
|
115
114
|
subdomain: "subdomain";
|
|
115
|
+
tool: "tool";
|
|
116
116
|
}>;
|
|
117
117
|
command: z.ZodString;
|
|
118
118
|
segment: z.ZodString;
|
|
@@ -379,7 +379,7 @@ type ToolApprovalPark = Extract<CorePendingAction, {
|
|
|
379
379
|
* (成员表取 core 常量;core 的 `resumeStartupCauseOf` 从失败的**码**读出)。读者:`parked-decide.ts` 的 422 `parked_resume.startup_failed` 体(`cause`)。
|
|
380
380
|
* 回执没说 ⇒ 缺席(不计数,「分不出」是一等状态);集外词 / 非串 ⇒ 按缺席(键不上 wire)+ 计一次,与卡上的闭集词同一只计数。
|
|
381
381
|
* · `differs`(core 7.44.0 [ref])—— **载体是引擎拒 steer 重放那只错的 `detail`**(不是 ask 的三个载体之一),值是 core `STEER_REPLAY_FACETS` 的**非空子集**
|
|
382
|
-
* (core:「恒非空」;筛 = 本文件 {@link isSteerReplayDiffers},成员表取 core 常量)。读者:`runs.ts` 的 409 `steering.duplicate_input_id` 体(`
|
|
382
|
+
* (core:「恒非空」;筛 = 本文件 {@link isSteerReplayDiffers},成员表取 core 常量)。读者:`runs.ts` 的 409 `steering.duplicate_input_id` 体(根上的 `differs`)。
|
|
383
383
|
* 集外成员 / 空数组 / 非数组 ⇒ 按缺席(不铸 `detail`,码仍是契约)+ 计一次;detail 只报形名(`differs=<array>` —— 数组从不展开成员,见 {@link outOfSetDetail})。
|
|
384
384
|
*
|
|
385
385
|
* 什么时候经本函数 —— 一句话:**筛点在 core;server 只在「读的是持久层原字节、中间没有 core 投影」的地方亲手调 core 的那一只筛**。
|
|
@@ -574,13 +574,13 @@ export declare const ApprovalCardSchema: z.ZodObject<{
|
|
|
574
574
|
governanceForced: z.ZodOptional<z.ZodLiteral<true>>;
|
|
575
575
|
rememberRefused: z.ZodOptional<z.ZodLiteral<true>>;
|
|
576
576
|
approvalCard: z.ZodOptional<z.ZodEnum<{
|
|
577
|
-
|
|
577
|
+
shell: "shell";
|
|
578
578
|
plan: "plan";
|
|
579
579
|
skill: "skill";
|
|
580
|
+
question: "question";
|
|
580
581
|
"file-edit": "file-edit";
|
|
581
582
|
"file-write": "file-write";
|
|
582
583
|
"notebook-edit": "notebook-edit";
|
|
583
|
-
shell: "shell";
|
|
584
584
|
fetch: "fetch";
|
|
585
585
|
workflow: "workflow";
|
|
586
586
|
generic: "generic";
|
|
@@ -603,17 +603,17 @@ export declare const ApprovalCardSchema: z.ZodObject<{
|
|
|
603
603
|
kind: z.ZodLiteral<"single">;
|
|
604
604
|
rule: z.ZodString;
|
|
605
605
|
match: z.ZodEnum<{
|
|
606
|
-
host: "host";
|
|
607
606
|
name: "name";
|
|
608
607
|
path: "path";
|
|
609
|
-
|
|
610
|
-
pattern: "pattern";
|
|
608
|
+
host: "host";
|
|
611
609
|
exact: "exact";
|
|
612
610
|
prefix: "prefix";
|
|
613
611
|
wildcard: "wildcard";
|
|
612
|
+
pattern: "pattern";
|
|
614
613
|
subpath: "subpath";
|
|
615
614
|
name_prefix: "name_prefix";
|
|
616
615
|
subdomain: "subdomain";
|
|
616
|
+
tool: "tool";
|
|
617
617
|
}>;
|
|
618
618
|
command: z.ZodString;
|
|
619
619
|
}, z.core.$strict>, z.ZodObject<{
|
|
@@ -622,17 +622,17 @@ export declare const ApprovalCardSchema: z.ZodObject<{
|
|
|
622
622
|
kind: z.ZodLiteral<"command">;
|
|
623
623
|
rule: z.ZodString;
|
|
624
624
|
match: z.ZodEnum<{
|
|
625
|
-
host: "host";
|
|
626
625
|
name: "name";
|
|
627
626
|
path: "path";
|
|
628
|
-
|
|
629
|
-
pattern: "pattern";
|
|
627
|
+
host: "host";
|
|
630
628
|
exact: "exact";
|
|
631
629
|
prefix: "prefix";
|
|
632
630
|
wildcard: "wildcard";
|
|
631
|
+
pattern: "pattern";
|
|
633
632
|
subpath: "subpath";
|
|
634
633
|
name_prefix: "name_prefix";
|
|
635
634
|
subdomain: "subdomain";
|
|
635
|
+
tool: "tool";
|
|
636
636
|
}>;
|
|
637
637
|
command: z.ZodString;
|
|
638
638
|
segment: z.ZodString;
|
|
@@ -752,13 +752,13 @@ export declare const ApprovalCardEnvelopeSchema: z.ZodObject<{
|
|
|
752
752
|
governanceForced: z.ZodOptional<z.ZodLiteral<true>>;
|
|
753
753
|
rememberRefused: z.ZodOptional<z.ZodLiteral<true>>;
|
|
754
754
|
approvalCard: z.ZodOptional<z.ZodEnum<{
|
|
755
|
-
|
|
755
|
+
shell: "shell";
|
|
756
756
|
plan: "plan";
|
|
757
757
|
skill: "skill";
|
|
758
|
+
question: "question";
|
|
758
759
|
"file-edit": "file-edit";
|
|
759
760
|
"file-write": "file-write";
|
|
760
761
|
"notebook-edit": "notebook-edit";
|
|
761
|
-
shell: "shell";
|
|
762
762
|
fetch: "fetch";
|
|
763
763
|
workflow: "workflow";
|
|
764
764
|
generic: "generic";
|
|
@@ -781,17 +781,17 @@ export declare const ApprovalCardEnvelopeSchema: z.ZodObject<{
|
|
|
781
781
|
kind: z.ZodLiteral<"single">;
|
|
782
782
|
rule: z.ZodString;
|
|
783
783
|
match: z.ZodEnum<{
|
|
784
|
-
host: "host";
|
|
785
784
|
name: "name";
|
|
786
785
|
path: "path";
|
|
787
|
-
|
|
788
|
-
pattern: "pattern";
|
|
786
|
+
host: "host";
|
|
789
787
|
exact: "exact";
|
|
790
788
|
prefix: "prefix";
|
|
791
789
|
wildcard: "wildcard";
|
|
790
|
+
pattern: "pattern";
|
|
792
791
|
subpath: "subpath";
|
|
793
792
|
name_prefix: "name_prefix";
|
|
794
793
|
subdomain: "subdomain";
|
|
794
|
+
tool: "tool";
|
|
795
795
|
}>;
|
|
796
796
|
command: z.ZodString;
|
|
797
797
|
}, z.core.$strict>, z.ZodObject<{
|
|
@@ -800,17 +800,17 @@ export declare const ApprovalCardEnvelopeSchema: z.ZodObject<{
|
|
|
800
800
|
kind: z.ZodLiteral<"command">;
|
|
801
801
|
rule: z.ZodString;
|
|
802
802
|
match: z.ZodEnum<{
|
|
803
|
-
host: "host";
|
|
804
803
|
name: "name";
|
|
805
804
|
path: "path";
|
|
806
|
-
|
|
807
|
-
pattern: "pattern";
|
|
805
|
+
host: "host";
|
|
808
806
|
exact: "exact";
|
|
809
807
|
prefix: "prefix";
|
|
810
808
|
wildcard: "wildcard";
|
|
809
|
+
pattern: "pattern";
|
|
811
810
|
subpath: "subpath";
|
|
812
811
|
name_prefix: "name_prefix";
|
|
813
812
|
subdomain: "subdomain";
|
|
813
|
+
tool: "tool";
|
|
814
814
|
}>;
|
|
815
815
|
command: z.ZodString;
|
|
816
816
|
segment: z.ZodString;
|
|
@@ -1054,7 +1054,7 @@ export declare function adoptStoredLiveFacts(frame: ApprovalRequestLiveFacts, se
|
|
|
1054
1054
|
/**
|
|
1055
1055
|
* [ref] §3.1 的呈卡帧(设计稿 §4.1 逐字)。
|
|
1056
1056
|
*
|
|
1057
|
-
* 🔴 **一条腿一个帧族**:呈卡协议在一条腿上场(
|
|
1057
|
+
* 🔴 **一条腿一个帧族**:呈卡协议在一条腿上场(腿的审批上下文族词 `approval_request`)⇒ 这条腿上一只 ask 的开卡 / 消卡 / 撤卡只走本族
|
|
1058
1058
|
* (`approval_request` / {@link ApprovalCompleteFrame} / {@link ApprovalRevokeFrame}),旧族 `tool_approval` / `tool_approval_complete`
|
|
1059
1059
|
* 一帧都不发;协议未上场的腿只发旧族。同一只 ask 在同一条腿上不再有两种开卡帧,消费方不再按 `approvalId` 去重。
|
|
1060
1060
|
* 开卡的全部事实因此在本帧上:卡(`card`,耐久信封)+ 活面事实座({@link ApprovalRequestLiveFacts};活铸帧与重放帧同一份,见 {@link APPROVAL_REQUEST_LIVE_FACT_KEYS} 顶注)。
|
|
@@ -1096,8 +1096,8 @@ export interface ApprovalRequestFrame extends ApprovalRequestLiveFacts {
|
|
|
1096
1096
|
* 不带逐卡终局);本帧是**单卡**的终局(人答 / 窗到期 / park 路由 / 取消 …)。同一只 ask 两帧都可能收到(被撤的兄弟自己的
|
|
1097
1097
|
* 登记也按 settle 收场)—— 按 `askId` 清卡即可,两帧不冲突。
|
|
1098
1098
|
*
|
|
1099
|
-
*
|
|
1100
|
-
* 门 =
|
|
1099
|
+
* 投递 = 开卡帧的同一只腿传输(`hitl-delivery.ts`:先本 run 账本、再直写 —— sync 腿有 durable run 行时两只都有,bg / resume 腿只有账本)。
|
|
1100
|
+
* 门 = 这条连接上**接下过开卡帧的那几只 sink**(没见过开卡帧的 sink 收到消卡帧就是孤儿 close,与旧族同一条门;配对在竞速机一处)。
|
|
1101
1101
|
*/
|
|
1102
1102
|
export interface ApprovalCompleteFrame {
|
|
1103
1103
|
/** = SSE 具名事件名(同 `approval_request` 约定)。 */
|
|
@@ -1124,7 +1124,7 @@ export declare function buildApprovalCompleteFrame(input: {
|
|
|
1124
1124
|
parked: boolean;
|
|
1125
1125
|
nowMs: number;
|
|
1126
1126
|
}): ApprovalCompleteFrame;
|
|
1127
|
-
/** 呈卡腿的单卡帧(开卡 / 消卡)——
|
|
1127
|
+
/** 呈卡腿的单卡帧(开卡 / 消卡)—— 呈卡族腿传输收的单卡帧形(另一只是批级撤卡帧)。 */
|
|
1128
1128
|
export type ApprovalCardLegFrame = ApprovalRequestFrame | ApprovalCompleteFrame;
|
|
1129
1129
|
/**
|
|
1130
1130
|
* [ref] §3.3 的**批级撤卡帧**(车6;设计稿 §3 逐字)。
|
|
@@ -1134,13 +1134,11 @@ export type ApprovalCardLegFrame = ApprovalRequestFrame | ApprovalCompleteFrame;
|
|
|
1134
1134
|
* 那一次原子事务真正翻成 `VOID` 的行集(`expireAsk`/`bindBatch` 的 `voidedSiblings` 返回形),不是
|
|
1135
1135
|
* 「本批全体」的推断。
|
|
1136
1136
|
*
|
|
1137
|
-
* 🔴 **发射面 = 逐 ctx
|
|
1138
|
-
*
|
|
1139
|
-
* ctx
|
|
1140
|
-
*
|
|
1141
|
-
*
|
|
1142
|
-
* 「preamble 是壳侧卡集**全量对账基准**,不在基准内的一律清」——壳重连时的 preamble 本身就会让一张
|
|
1143
|
-
* 没收到撤卡帧的僵尸卡消失;账本里重放的撤帧只用于时间线渲染,不是卡集基准。
|
|
1137
|
+
* 🔴 **发射面 = 逐 ctx 分发,经该腿那一只传输**(与开卡帧同一条律:先本 run 账本、再直写;账本落不下 ⇒ 这一帧不上直写):
|
|
1138
|
+
* 帧恒经 `emitRevokeTo` 交给各呈卡族 ctx 的传输,seq 由该腿账本链步分配(与帧从哪个调用点来无关),于是「卡帧在哪个账本、撤帧就在
|
|
1139
|
+
* 哪个账本」逐 ctx 自洽;三条腿(sync 腿有 durable run 行时)都落账本。账本里的序 = **入链序**:陈旧快照的竞态窄窗里撤帧可以先于它
|
|
1140
|
+
* 点名的卡行入链 —— 消费方按 `askIds` 幂等应用(`batchId` 不是事件身份:取消对同批每只问各发一帧)。丢帧(ctx 已退场 / 账本写失败)
|
|
1141
|
+
* 的结构补偿不变 = 172 §3.1 的「preamble 是壳侧卡集**全量对账基准**,不在基准内的一律清」;账本里重放的撤帧只用于时间线渲染,不是卡集基准。
|
|
1144
1142
|
*
|
|
1145
1143
|
* v1 **不带 per-ask 终态**(§7-4 裁定):中选者另有 `PARKED` 的下行面(410 体 + 重放消失),壳按
|
|
1146
1144
|
* `askIds` 清卡即可。
|
|
@@ -97,14 +97,15 @@ function isReopenReason(word) {
|
|
|
97
97
|
return typeof word === "string" && REOPEN_REASONS.includes(word);
|
|
98
98
|
}
|
|
99
99
|
function openReading(checkpoint, gateBoundCallId) {
|
|
100
|
+
const generation = checkpointRevOf(checkpoint);
|
|
100
101
|
const reason = checkpoint.reopenReason;
|
|
101
102
|
if (!isReopenReason(reason))
|
|
102
|
-
return { kind: "open" };
|
|
103
|
+
return { kind: "open", generation };
|
|
103
104
|
const prior = decisionReading(checkpoint, gateBoundCallId);
|
|
104
105
|
const reopened = prior.kind === "decided"
|
|
105
106
|
? { reason, decision: prior.decision, decidedAtMs: prior.decidedAtMs, ...(prior.decisionNote !== undefined ? { decisionNote: prior.decisionNote } : {}) }
|
|
106
107
|
: { reason };
|
|
107
|
-
return { kind: "open", reopened };
|
|
108
|
+
return { kind: "open", generation, reopened };
|
|
108
109
|
}
|
|
109
110
|
export function createParkedGateRead(cs) {
|
|
110
111
|
return async ({ gateToken, gateBoundCallId }) => {
|
|
@@ -176,19 +176,10 @@ export interface ReconcileStats {
|
|
|
176
176
|
/**
|
|
177
177
|
* 祖先冻结 approver 层 fold 中途铸点([ref] 件1④):退出硬相等,不是 mismatch 也不是单铸。
|
|
178
178
|
*
|
|
179
|
-
*
|
|
180
|
-
* `
|
|
181
|
-
*
|
|
182
|
-
* (
|
|
183
|
-
* 返回的候选恒满足 `c.sourceSessionId === ask.sessionId`;而判据 1 命中要 `c.sourceSessionId ===
|
|
184
|
-
* ask.sourceSessionId`,祖先层否决要 `ask.sourceSessionId !== ask.sessionId` —— 两者互斥,这一臂在生产
|
|
185
|
-
* 接线下一次也不会被返回。
|
|
186
|
-
*
|
|
187
|
-
* 所以**别把零读数当健康信号**(与 {@link unmatchableNoHash} 的「恒零才是健康态」正相反:那条能非零,
|
|
188
|
-
* 这条不能)。根因是本文件 `reconcileOne` 里已登记的读口 session 维缺口(委派腿的候选压根进不来),
|
|
189
|
-
* 修它需要自带判据 + 真 checkpoint 店的宿主/子代双 session 端到端钉,不在扫描批的口径内。
|
|
190
|
-
* 否决臂**不删**:它是纯减法的安全臂,读口一修好就重新承重。结构事实的钉:
|
|
191
|
-
* `test/approval-reconciler.test.ts` 的「扫描P2 ④ 结构钉」(翻转钉——读口修好那天它会变红)。
|
|
179
|
+
* 读口按停车行所在的会话(`ask.sourceSessionId`)查,委派子代那条腿的停车行因此进得了候选集 ⇒ 这一臂在生产接线下**承重**:
|
|
180
|
+
* 祖先层那一次铸的问(行上 `parent_tool_call_id` 为 NULL、`sourceSessionId` 是子代的会话)读得到子代那只停车行,身份与摘要都可能
|
|
181
|
+
* 对得上,这里把它拦下(非零读数 = 本来会 bind、被这条裁定拦下的行)。结构事实的钉:`test/approval-reconciler.test.ts` 的
|
|
182
|
+
* 「扫描P2 ④ 翻面」(真 checkpoint 店:读口喂得出触发它的候选)。
|
|
192
183
|
*/
|
|
193
184
|
ancestorFoldMint: number;
|
|
194
185
|
parked: number;
|
|
@@ -88,7 +88,7 @@ export async function bindParkingAskAtGate(deps, ask, nowMs, deadlineMs) {
|
|
|
88
88
|
const irreversibleBatch = batchState === "ABORTED" || (batchState === "ROUTING_BOUND" && batchBoundAskId !== null && batchBoundAskId !== ask.askId);
|
|
89
89
|
let gateMatch;
|
|
90
90
|
if (checkpoints && !irreversibleBatch && !expired()) {
|
|
91
|
-
const candidates = await withDeadline(checkpoints.findCheckpointCandidatesForAsk(encodeCheckpointScope(ask.owner), ask.
|
|
91
|
+
const candidates = await withDeadline(checkpoints.findCheckpointCandidatesForAsk(encodeCheckpointScope(ask.owner), ask.sourceSessionId, ask.toolCallId, ask.createdAtMs), "findCheckpointCandidatesForAsk");
|
|
92
92
|
gateMatch = classifyGateMatch(ask, candidates);
|
|
93
93
|
if (gateMatch.kind === "hash_mismatch") {
|
|
94
94
|
warn("approval_reconcile_hash_mismatch", {
|
|
@@ -177,7 +177,7 @@ export function createApprovalReconciler(deps) {
|
|
|
177
177
|
const bindCommittedPark = async (calls) => {
|
|
178
178
|
const deadlineMs = Date.now() + budgetMs;
|
|
179
179
|
const work = (async () => {
|
|
180
|
-
const rows = await askStore.
|
|
180
|
+
const rows = await askStore.listParkingBySourceSession(calls.sessionId);
|
|
181
181
|
for (const ask of rows) {
|
|
182
182
|
if (!calls.toolCallIds.includes(ask.toolCallId))
|
|
183
183
|
continue;
|
package/dist/approval.d.ts
CHANGED
|
@@ -76,12 +76,12 @@ export declare function gateIntentUnserviceableReason(config: GateIntentView, ch
|
|
|
76
76
|
* 运维要在 **boot** 就知道,否则会把随之而来的拒绝读成故障。两条 warn 按「ask 从哪来」**划分车道**,互补不重叠:
|
|
77
77
|
* · `fs_write_gate_no_responder` —— 写门的 Write/Edit ask。它只在**手写本机盘**时才会发生(写门挂在 host
|
|
78
78
|
* 语义上,而 ask 要有手去触发)⇒ 判据 = {@link handsOnWorkerFilePlane}(今天 = `host`)。改前写的是
|
|
79
|
-
* `remoteExec === undefined || provider === "host"`(门 D R3 同义折)
|
|
79
|
+
* `remoteExec === undefined || provider === "host"`(门 D R3 同义折):把没有手的那一形(今名 `none`)也算进来,
|
|
80
80
|
* 那一形上一次 Write ask 都不会发生,warn 是假话;
|
|
81
81
|
* · `workflow_gate_no_responder` —— `run_workflow` 的 ask,**每条车道都挂**(不以挂手为前提,见
|
|
82
82
|
* `createWorkflowAskPolicy`)⇒ 判据 = 自编排开着 ∧ **不在上一条的射程里**(上一条的文案已覆盖本机手的车道)。
|
|
83
|
-
* 改前写的是 `remoteExec !== undefined && provider !== "host"` ——
|
|
84
|
-
*
|
|
83
|
+
* 改前写的是 `remoteExec !== undefined && provider !== "host"` —— 依赖上一条对无手形的兜底;
|
|
84
|
+
* 上一条收窄之后,`none` ∧ 自编排 ∧ 无应答面必须由这一条接住(否则整形零告警)。
|
|
85
85
|
*/
|
|
86
86
|
export declare function buildNoResponderBootWarns(input: {
|
|
87
87
|
/** 本部署的执行车道(归一读口 `executionLaneOf` 的答案)。 */
|
|
@@ -151,7 +151,7 @@ export declare function buildForceDurableGateInertNotice(input: {
|
|
|
151
151
|
export interface DurableAskOptions extends ApprovalListsView {
|
|
152
152
|
autoBudget?: number;
|
|
153
153
|
/** 本会话的「本会话放行」读面(server 的会话豁免店,键 = 会话 × wire 工具名)。缺席 = 这条腿没有会话 / 没有店 ⇒ 名单门照问。 */
|
|
154
|
-
exemption?:
|
|
154
|
+
exemption?: SessionExemptionRead;
|
|
155
155
|
}
|
|
156
156
|
/** 三张运维名单(一只调用由哪一张说话)的入参 —— 名单门与「问的属主」读法同读这一份。 */
|
|
157
157
|
export interface ApprovalListsView {
|
|
@@ -181,24 +181,26 @@ export declare function createApprovalListVerdict(lists: ApprovalListsView): (ca
|
|
|
181
181
|
*/
|
|
182
182
|
export declare function deploymentListAsks(config: Pick<GateIntentView, "approvalRequire" | "approvalDeny" | "approvalNeverAuto">, call: Pick<ToolCallRequest, "toolName" | "face">): boolean;
|
|
183
183
|
/**
|
|
184
|
-
*
|
|
185
|
-
*
|
|
184
|
+
* 策略层「本会话放行」读面:本会话的豁免店读一次 + server 自己的审计行。策略层的两道门 —— 部署名单门与 workflow 问句门 —— 问的都是 server 自己铸的问,
|
|
185
|
+
* 它们的站着的答案记在 server 的会话豁免店(活卡的 `allow_session` 与耐久 `/decide` 的 `remember:"session"` 写同一只店),两道门都在出问**之前**读它。
|
|
186
186
|
*/
|
|
187
|
-
export interface
|
|
188
|
-
/** 这只工具(wire 名)在本会话有没有豁免行。有界、fail-closed:读抛 / 超时 ⇒ `false`(照问,人多看一张卡)。 */
|
|
187
|
+
export interface SessionExemptionRead {
|
|
188
|
+
/** 这只工具(wire 名)在本会话有没有豁免行。有界、fail-closed:读抛 / 超时 / 答非 `true` ⇒ `false`(照问,人多看一张卡)。 */
|
|
189
189
|
readonly has: (toolName: string) => Promise<boolean>;
|
|
190
|
-
/**
|
|
190
|
+
/** 门因为豁免行没出问 —— server 自己的审计行(宿主豁免;不是人答的、不是策略代答的、没有记住任何东西)。 */
|
|
191
191
|
readonly onExempted: (toolName: string) => void;
|
|
192
192
|
}
|
|
193
|
+
/** 策略层读豁免店的读位(闭集;审计行与读失败告警的 `seat` 字段):部署名单门 / workflow 问句门。审批席自己的读不经这只铸点(`seat: "approval_seat"`,见 `tool-approval.ts` 的 `durableGrantHas`)。 */
|
|
194
|
+
export type SessionExemptionReadSeat = "deployment_list" | "workflow_gate";
|
|
193
195
|
/**
|
|
194
|
-
*
|
|
195
|
-
* (与活卡 `allow_session` / `/decide` remember 写下的键同形)。审计事件名 {@link APPROVAL_EXEMPTED_EVENT},字段只有会话、工具与读位
|
|
196
|
-
*
|
|
196
|
+
* 策略层会话豁免读面的**唯一**铸点(部署名单门的两处装配 —— HTTP 腿 `resolve-spec` 与 park 赎回腿 `parked-revive-gate` —— 与 workflow 问句门都经它):
|
|
197
|
+
* 键 = 会话 × wire 工具名(与活卡 `allow_session` / `/decide` remember 写下的键同形)。审计事件名 {@link APPROVAL_EXEMPTED_EVENT},字段只有会话、工具与读位 `seat`
|
|
198
|
+
* ({@link SessionExemptionReadSeat};审批席自己那一行是 `seat: "approval_seat"`)。读的期限与审批席读同一只店的期限同值;判 `=== true`(真值不放行)。
|
|
197
199
|
*/
|
|
198
|
-
export declare function
|
|
200
|
+
export declare function createSessionExemptionRead(store: Pick<ApprovalExemptionStore, "has">, sessionId: string, logger: {
|
|
199
201
|
info(event: string, fields?: Record<string, unknown>): void;
|
|
200
202
|
warn(event: string, fields?: Record<string, unknown>): void;
|
|
201
|
-
}, leg?: "parked_revive"):
|
|
203
|
+
}, seat: SessionExemptionReadSeat, leg?: "parked_revive"): SessionExemptionRead;
|
|
202
204
|
/**
|
|
203
205
|
* **每腿自动批额度的审批人名**(本仓闭词;core `AskOutcome.approver` 契约逐字「a closed word the host owns, never a person」)。
|
|
204
206
|
* 结算记录读 `policy_allowed` / `who.party: "policy"` / `who.approver` = 本词 —— 审计读者按它认出「这一次放行是部署的自动批额度答的」,
|
package/dist/approval.js
CHANGED
|
@@ -100,7 +100,7 @@ export function createApprovalListVerdict(lists) {
|
|
|
100
100
|
export function deploymentListAsks(config, call) {
|
|
101
101
|
return createApprovalListVerdict({ requireApproval: config.approvalRequire, deny: config.approvalDeny, neverAuto: config.approvalNeverAuto })(call).list === "require";
|
|
102
102
|
}
|
|
103
|
-
export function
|
|
103
|
+
export function createSessionExemptionRead(store, sessionId, logger, seat, leg) {
|
|
104
104
|
const where = { sessionId, ...(leg !== undefined ? { leg } : {}) };
|
|
105
105
|
return {
|
|
106
106
|
has: async (toolName) => {
|
|
@@ -113,7 +113,7 @@ export function createDeploymentListExemption(store, sessionId, logger, leg) {
|
|
|
113
113
|
return (await Promise.race([store.has(sessionId, toolName), deadline])) === true;
|
|
114
114
|
}
|
|
115
115
|
catch (err) {
|
|
116
|
-
logger.warn("session_grant_read_failed", { ...where, toolName, seat
|
|
116
|
+
logger.warn("session_grant_read_failed", { ...where, toolName, seat, error: String(err).slice(0, 200) });
|
|
117
117
|
return false;
|
|
118
118
|
}
|
|
119
119
|
finally {
|
|
@@ -121,7 +121,7 @@ export function createDeploymentListExemption(store, sessionId, logger, leg) {
|
|
|
121
121
|
clearTimeout(timer);
|
|
122
122
|
}
|
|
123
123
|
},
|
|
124
|
-
onExempted: (toolName) => logger.info(APPROVAL_EXEMPTED_EVENT, { ...where, toolName, seat
|
|
124
|
+
onExempted: (toolName) => logger.info(APPROVAL_EXEMPTED_EVENT, { ...where, toolName, seat }),
|
|
125
125
|
};
|
|
126
126
|
}
|
|
127
127
|
function createNameSetMatcher(names) {
|
package/dist/audit.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { type StoredPromptEpoch } from "@sema-agent/core";
|
|
|
2
2
|
import type { Pool } from "mysql2/promise";
|
|
3
3
|
import type { Pool as PgPool } from "pg";
|
|
4
4
|
import { type LocalSessionRows } from "./plugins/local-session-window.js";
|
|
5
|
+
import type { Subject } from "./owner-brands.js";
|
|
5
6
|
/**
|
|
6
7
|
* Audit view of a session = its **current context** (the live messages + the last compaction's
|
|
7
8
|
* summary), i.e. the floor-bounded window — never the full raw transcript. This matches the
|
|
@@ -38,10 +39,10 @@ export type RewindHandles = ReadonlyMap<string, string>;
|
|
|
38
39
|
/** 会话视图读口(`ServiceDeps.sessionAudit`)的读者参数:`reader` = 读这张视图的**已验身份**(无身份 = `null`)。给了 ⇒ 这是一次**视图读**:用户消息行投回退手柄、体顶层投 `agent`(`session-agent.ts` 的 `readSessionAgent`);
|
|
39
40
|
* 不给(只要归属的调用方:memory-status / 自助抹除)⇒ 两样投影的读都不付。 */
|
|
40
41
|
export interface SessionAuditReadOpts {
|
|
41
|
-
readonly reader:
|
|
42
|
+
readonly reader: Subject | null;
|
|
42
43
|
}
|
|
43
44
|
/**
|
|
44
|
-
* {@link RewindHandles} 的唯一铸点。一条规则:**一只用户条目带手柄,当且仅当锚店里恰好一行 `entry_id` = 它、`owner` = 读者** ——
|
|
45
|
+
* {@link RewindHandles} 的唯一铸点。一条规则:**一只用户条目带手柄,当且仅当锚店里恰好一行 `entry_id` = 它、`owner` = 读者**(存储键的桥 `owner-faces.ts` 的 `sameKey`:锚属主经 `ownerKeyOf` 成键,null 只同 null)——
|
|
45
46
|
* 这正是 `resumeAt` 解析的谓词(`resolve(sessionId, eventId, owner)`:同会话、同 event、属主 null-safe 相等),所以行上出现的手柄
|
|
46
47
|
* 读者拿去回退一定解得出;别人的锚(混属主会话)不投,同一条目被两行锚点名不挑(两只都缺席,不猜)。老条目没有锚 ⇒ 缺席。
|
|
47
48
|
* E18 助手文本锚(按 live eventId 键入,指向助手条目)也在锚店里 —— 它们只会点名助手条目,投影只看用户行,所以不上 wire。
|
|
@@ -50,7 +51,7 @@ export declare function buildRewindHandles(anchors: ReadonlyArray<{
|
|
|
50
51
|
readonly eventId: string;
|
|
51
52
|
readonly entryId: string;
|
|
52
53
|
readonly owner: string | null;
|
|
53
|
-
}>, reader:
|
|
54
|
+
}>, reader: Subject | null): RewindHandles;
|
|
54
55
|
/** Build the audit view from the durable log. Returns undefined if the session does not exist. `handles` = the reader's
|
|
55
56
|
* rewind-handle projection ({@link buildRewindHandles}); absent ⇒ no `taskId` keys. */
|
|
56
57
|
export declare function buildSessionAudit(pool: Pool, sessionId: string, handles?: RewindHandles): Promise<SessionAudit | undefined>;
|
|
@@ -63,6 +64,12 @@ export declare function buildSessionAuditPg(pool: PgPool, sessionId: string, han
|
|
|
63
64
|
* floor — and on every backend that is what the run reads: the SQL twins' run wakes the same window; the local run wakes the whole
|
|
64
65
|
* tree, and the local window is cut from that tree's branch, with the anchor walking the branch below the floor. */
|
|
65
66
|
export declare function buildSessionAuditLocal(rows: LocalSessionRows, sessionId: string, handles?: RewindHandles): Promise<SessionAudit | undefined>;
|
|
67
|
+
/**
|
|
68
|
+
* 🔴 **历史读面过脱敏的叶名表**(能力位 `sessionReadRedaction` 的唯一来源)= {@link SESSION_READ_SHAPES} 里处置词不是 `"verbatim"` 的每一叶,写作 `<形>.<键>`(表序)。
|
|
69
|
+
* 不在表里的叶是**逐字**的(人写的输入、标识 / join 键、闭集词、数字);表外的键 / 角色 / 段类型整只深扫、从不放行,不进名单(名单只列表上登记过的叶)。
|
|
70
|
+
* `"parts"` 叶(`assistant.content` / `toolResult.content` / `attachmentFrame.content`)按段表读:文本段 / reasoning 段 / 工具实参脱,图片 / 文档字节与签名逐字。
|
|
71
|
+
*/
|
|
72
|
+
export declare const SESSION_READ_REDACTED_LEAVES: readonly string[];
|
|
66
73
|
/**
|
|
67
74
|
* 🔴 **会话视图的读面口 —— `GET /v1/sessions/:id` 的全部取法(整读 / `?tail` / `?before` / `?blobCap` / `?message=N`)共用这一只**。
|
|
68
75
|
* 次序 = **选 → 脱 → 截**(路由 `http/routes/sessions.ts`):整条消息的选窗不切字符串,先选窗不改任何一条的脱敏读数、只把脱敏的量降到选中的那几条;
|
package/dist/audit.js
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { StoredSession } from "@sema-agent/core";
|
|
2
|
-
import { TiDBSessionStorage } from "./
|
|
3
|
-
import { PgSessionStorage } from "./
|
|
2
|
+
import { TiDBSessionStorage } from "./stores-sql/tidb-session-storage.js";
|
|
3
|
+
import { PgSessionStorage } from "./stores-sql/pg-session-storage.js";
|
|
4
4
|
import { LocalSessionWindow } from "./plugins/local-session-window.js";
|
|
5
5
|
import { redactModelText } from "./observability/run-terminal.js";
|
|
6
6
|
import { redactDeepWith } from "./trace/redact.js";
|
|
7
7
|
import { projectToolStructured } from "./trace/tool-output-media.js";
|
|
8
8
|
import { INJECTED_BLOCK_RE, isAttachmentFrame } from "./user-authored-text.js";
|
|
9
|
+
import { ownerKeyOf, sameKey } from "./owner-faces.js";
|
|
9
10
|
export function buildRewindHandles(anchors, reader) {
|
|
10
11
|
const byEntry = new Map();
|
|
11
12
|
for (const a of anchors) {
|
|
12
|
-
if ((a.owner ?? null)
|
|
13
|
+
if (!sameKey(reader, ownerKeyOf(a.owner ?? null)))
|
|
13
14
|
continue;
|
|
14
15
|
byEntry.set(a.entryId, byEntry.has(a.entryId) && byEntry.get(a.entryId) !== a.eventId ? null : a.eventId);
|
|
15
16
|
}
|
|
@@ -144,14 +145,21 @@ const MESSAGE_READ_TREATMENT = {
|
|
|
144
145
|
},
|
|
145
146
|
};
|
|
146
147
|
const ATTACHMENT_FRAME_READ_TREATMENT = { ...MESSAGE_READ_TREATMENT.user, content: "parts" };
|
|
148
|
+
const SESSION_READ_SHAPES = { ...MESSAGE_READ_TREATMENT, attachmentFrame: ATTACHMENT_FRAME_READ_TREATMENT };
|
|
149
|
+
export const SESSION_READ_REDACTED_LEAVES = Object.freeze(Object.entries(SESSION_READ_SHAPES).flatMap(([shape, table]) => Object.entries(table)
|
|
150
|
+
.filter(([, treatment]) => treatment !== "verbatim")
|
|
151
|
+
.map(([key]) => `${shape}.${key}`)));
|
|
152
|
+
function shapeOf(m) {
|
|
153
|
+
const role = m.role;
|
|
154
|
+
if (role === "user" && isAttachmentFrame(m))
|
|
155
|
+
return "attachmentFrame";
|
|
156
|
+
return typeof role === "string" && Object.hasOwn(MESSAGE_READ_TREATMENT, role) ? role : undefined;
|
|
157
|
+
}
|
|
147
158
|
function readMessage(m) {
|
|
148
159
|
if (isPlainRecord(m)) {
|
|
149
|
-
const
|
|
150
|
-
if (
|
|
151
|
-
return readByTable(m,
|
|
152
|
-
if (typeof role === "string" && Object.hasOwn(MESSAGE_READ_TREATMENT, role)) {
|
|
153
|
-
return readByTable(m, MESSAGE_READ_TREATMENT[role]);
|
|
154
|
-
}
|
|
160
|
+
const shape = shapeOf(m);
|
|
161
|
+
if (shape !== undefined)
|
|
162
|
+
return readByTable(m, SESSION_READ_SHAPES[shape]);
|
|
155
163
|
}
|
|
156
164
|
return deepScrub(m);
|
|
157
165
|
}
|
package/dist/auth-bridge.d.ts
CHANGED
|
@@ -2,20 +2,6 @@ import { VerifiedIdentity, type AuthBridgeErrorCode } from "@sema-agent/settings
|
|
|
2
2
|
import { type TokenScopeRefusal } from "@sema-agent/settings-schema/api/scopes";
|
|
3
3
|
import type { Logger } from "./observability/logger.js";
|
|
4
4
|
import type { Metrics } from "./observability/metrics.js";
|
|
5
|
-
/**
|
|
6
|
-
* [ref] ② —— 鉴权桥 issuer 的**唯一**取值(装配 `boot/stage-09-leader.ts` 与 caps `centerWiring.issuer` 同读,不各写一份回退):
|
|
7
|
-
* 显式 `AUTH_BRIDGE_ISSUER`(`config.authBridgeIssuer`)恒赢 ⇒ `source:"explicit"`;缺席则回退中心基址 `webAdmin.baseUrl`
|
|
8
|
-
* (配了中心即默认开桥)⇒ `source:"fallback"`;两者都没有 ⇒ `undefined`(桥不装)。
|
|
9
|
-
*/
|
|
10
|
-
export declare function authBridgeIssuerOf(config: {
|
|
11
|
-
readonly authBridgeIssuer?: string | undefined;
|
|
12
|
-
readonly webAdmin?: {
|
|
13
|
-
readonly baseUrl: string;
|
|
14
|
-
} | undefined;
|
|
15
|
-
}): {
|
|
16
|
-
readonly issuer: string;
|
|
17
|
-
readonly source: "explicit" | "fallback";
|
|
18
|
-
} | undefined;
|
|
19
5
|
export interface WebAdminJwtVerifierOptions {
|
|
20
6
|
/** R4 — 期望 iss(registry 的 SSO_ISSUER;默认=SEMA_WEB_ADMIN_URL,双侧去尾斜杠比较)。 */
|
|
21
7
|
issuer: string;
|
package/dist/auth-bridge.js
CHANGED
|
@@ -3,13 +3,6 @@ import { AUTH_BRIDGE_ALGS, DEFAULT_CLOCK_SKEW_SEC, DEFAULT_JWKS_REFRESH_MIN_INTE
|
|
|
3
3
|
import { readTokenScope } from "@sema-agent/settings-schema/api/scopes";
|
|
4
4
|
import { buildDisplaySafeUrl } from "./trace/redact.js";
|
|
5
5
|
import { centerJwksFetch } from "./web-admin-client/center-request.js";
|
|
6
|
-
export function authBridgeIssuerOf(config) {
|
|
7
|
-
if (config.authBridgeIssuer !== undefined)
|
|
8
|
-
return { issuer: config.authBridgeIssuer, source: "explicit" };
|
|
9
|
-
if (config.webAdmin !== undefined)
|
|
10
|
-
return { issuer: config.webAdmin.baseUrl, source: "fallback" };
|
|
11
|
-
return undefined;
|
|
12
|
-
}
|
|
13
6
|
function recordBridgeRefusal(sinks, error, at = {}) {
|
|
14
7
|
sinks.metrics?.inc("auth_bridge_verify_total", { outcome: error });
|
|
15
8
|
sinks.logger?.warn?.("auth_bridge_rejected", { error, ...(at.kid ? { kid: at.kid.slice(0, 128) } : {}), ...(at.iss !== undefined ? { iss: at.iss } : {}) });
|
package/dist/auto-mode-face.d.ts
CHANGED
|
@@ -45,7 +45,8 @@
|
|
|
45
45
|
* `entitlementSource`(既有位)说的是「center 源在不在」;`armed` 说的是「按三态谓词此刻会不会武装」。
|
|
46
46
|
* 两者刻意并存:前者告诉壳有没有组织面,后者告诉壳这台机器上 auto 到底是不是 default 的别名。
|
|
47
47
|
*/
|
|
48
|
-
import { type PermissionMode, type RunnerDeps
|
|
48
|
+
import { type PermissionMode, type RunnerDeps } from "@sema-agent/core";
|
|
49
|
+
import type { AutoModeRefusedBy, RuntimeCapsReading } from "./runtime-caps-resolver.js";
|
|
49
50
|
/**
|
|
50
51
|
* 分类器席的模型 —— **调 core 的单一解析器** `classifierSeatModel({deps, main})`(core 7.20.0 / [ref],
|
|
51
52
|
* 本仓 [ref] 的跨仓诉求兑现;契约句 `classifier.seat.one_resolver` 逐字:引擎的武装点与**显示这个席**
|
|
@@ -97,10 +98,10 @@ export interface AutoModeFaceDeps {
|
|
|
97
98
|
/** `RunnerDeps.autoMode !== undefined`——**读**装配点那一位,不写字面 true(与 parked-revive 的
|
|
98
99
|
* `autoModeSeatMounted` 同一纪律:席位哪天改成有条件挂载,这里不能静默错供)。 */
|
|
99
100
|
readonly seatMounted: boolean;
|
|
100
|
-
/** 合成后的 per-principal caps
|
|
101
|
-
* → observer env 基线 → memory grant → 本地 auto deny,单一属主 boot/runtime-caps.ts)
|
|
102
|
-
* per-principal 源(无 center、无本地 deny)⇒ caps undefined ⇒ 三态之「缺席=不阻」。 */
|
|
103
|
-
readonly resolveCaps?: ((principal: string | undefined) =>
|
|
101
|
+
/** 合成后的 per-principal caps **读数**(与递给 `RunnerDeps.runtimeCapsResolver` 同一段合成:center 客户端
|
|
102
|
+
* → observer env 基线 → memory grant → 本地 auto deny,单一属主 boot/runtime-caps.ts 的 `runtimeCapsPeekReading`);读数里的 caps 与中心拒 auto 的来源词
|
|
103
|
+
* 出自同一个缓存项。缺席 = 无任何 per-principal 源(无 center、无本地 deny)⇒ caps undefined ⇒ 三态之「缺席=不阻」。 */
|
|
104
|
+
readonly resolveCaps?: ((principal: string | undefined) => RuntimeCapsReading | Promise<RuntimeCapsReading>) | undefined;
|
|
104
105
|
/** 分类器**配置**的模型路由(server 侧按 core 的 role 回落序 `classifier → summarize → default` 从
|
|
105
106
|
* `config.roles` 读到的 catalog 名)。这是「配置了什么」,不是「这次真用了什么」——core 的
|
|
106
107
|
* `derivedRouteFallsBack` 可能在运行期回落到主模型;真值候 core 状态座。
|
|
@@ -115,8 +116,10 @@ export type AutoModeVerdict = {
|
|
|
115
116
|
} | {
|
|
116
117
|
readonly armed: false;
|
|
117
118
|
readonly reason: AutoModeUnarmedReason;
|
|
118
|
-
readonly model?: string;
|
|
119
|
-
|
|
119
|
+
readonly model?: string;
|
|
120
|
+
/** 仅 `org_denied` 臂、且中心亲口拒了 auto 时:是中心的哪一键拒的(上 wire 的 `permissionModeAuto.refusedBy`)。中心硬失败的 fail-closed 拒是本层自铸的,不带。 */
|
|
121
|
+
readonly refusedBy?: AutoModeRefusedBy;
|
|
122
|
+
/** 仅 resolver_fault 臂:错误原文(不上 wire,路由记 warn)。 */ readonly fault?: string;
|
|
120
123
|
};
|
|
121
124
|
/**
|
|
122
125
|
* 三项合取的 server 侧裁决。`requestedMode` 缺席 = 按 auto 意图答(「若请求会不会武装」);`principal` =
|
package/dist/auto-mode-face.js
CHANGED
|
@@ -28,15 +28,18 @@ export async function judgeAutoModeArming(face, input) {
|
|
|
28
28
|
return { armed: false, reason: entry.clamped ? "operator_floor" : "mode_not_auto", ...model };
|
|
29
29
|
if (face === undefined || !face.seatMounted)
|
|
30
30
|
return { armed: false, reason: "deployment_incapable" };
|
|
31
|
-
let
|
|
31
|
+
let reading;
|
|
32
32
|
try {
|
|
33
|
-
|
|
33
|
+
reading = face.resolveCaps !== undefined ? await face.resolveCaps(input.principal) : undefined;
|
|
34
34
|
}
|
|
35
35
|
catch (err) {
|
|
36
36
|
return { armed: false, reason: "resolver_fault", ...model, fault: err instanceof Error ? err.message : String(err) };
|
|
37
37
|
}
|
|
38
|
-
if (caps?.autoMode === false)
|
|
39
|
-
|
|
38
|
+
if (reading?.caps?.autoMode === false) {
|
|
39
|
+
if (input.localDeny)
|
|
40
|
+
return { armed: false, reason: "local_denied", ...model };
|
|
41
|
+
return { armed: false, reason: "org_denied", ...model, ...(reading.autoModeRefusedBy !== undefined ? { refusedBy: reading.autoModeRefusedBy } : {}) };
|
|
42
|
+
}
|
|
40
43
|
return { armed: true, ...model };
|
|
41
44
|
}
|
|
42
45
|
//# sourceMappingURL=auto-mode-face.js.map
|
|
@@ -1,5 +1,23 @@
|
|
|
1
|
+
/** 一行的名字读出来没有(判别式):读不出 = 这一行是**坏行**(无名 ∧ 句柄不是引擎形),`problem` 是给人读的一句话(进店的拒绝 / 跳行明细)。 */
|
|
2
|
+
export type BackgroundAgentNameRead = {
|
|
3
|
+
readonly ok: true;
|
|
4
|
+
readonly name: string;
|
|
5
|
+
} | {
|
|
6
|
+
readonly ok: false;
|
|
7
|
+
readonly problem: string;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* 名字的**唯一读法**(上面那条规则)。判据 = 引擎自己的判据:`engineAgentName` 只为 `DURABLE_AGENT_HANDLE_RE` 形的句柄派生名字(core 导出的同一只正则),
|
|
11
|
+
* 于是「读不出」与「引擎会抛」是同一个事实,不是本仓另写一份判法。坏行怎么处置由读口按形定(后台子代店:按键读带码拒、列表只在证得不活时跳过 ——
|
|
12
|
+
* `stores-sql/background-agent-store-sql.ts`);单行读者用 {@link backgroundAgentNameOf}。
|
|
13
|
+
*/
|
|
14
|
+
export declare function readBackgroundAgentName(row: {
|
|
15
|
+
readonly name?: string | null;
|
|
16
|
+
readonly handle: string;
|
|
17
|
+
}): BackgroundAgentNameRead;
|
|
18
|
+
/** 单行读者的出口(停驻卡的复活参数、名册投影、写口的展示列):读不出 ⇒ 响亮抛(`TypeError`,与引擎同类)。 */
|
|
1
19
|
export declare function backgroundAgentNameOf(row: {
|
|
2
|
-
readonly name?: string;
|
|
20
|
+
readonly name?: string | null;
|
|
3
21
|
readonly handle: string;
|
|
4
22
|
}): string;
|
|
5
23
|
//# sourceMappingURL=background-agent-name.d.ts.map
|
|
@@ -1,5 +1,15 @@
|
|
|
1
|
-
import { engineAgentName } from "@sema-agent/core";
|
|
1
|
+
import { DURABLE_AGENT_HANDLE_RE, engineAgentName } from "@sema-agent/core";
|
|
2
|
+
export function readBackgroundAgentName(row) {
|
|
3
|
+
if (row.name !== undefined && row.name !== null)
|
|
4
|
+
return { ok: true, name: row.name };
|
|
5
|
+
if (!DURABLE_AGENT_HANDLE_RE.test(row.handle))
|
|
6
|
+
return { ok: false, problem: `the row carries no name and its handle ${JSON.stringify(row.handle)} is not an engine agent handle ("a" + 6–32 hex digits), so no name can be derived` };
|
|
7
|
+
return { ok: true, name: engineAgentName(row.handle) };
|
|
8
|
+
}
|
|
2
9
|
export function backgroundAgentNameOf(row) {
|
|
3
|
-
|
|
10
|
+
const read = readBackgroundAgentName(row);
|
|
11
|
+
if (!read.ok)
|
|
12
|
+
throw new TypeError(`backgroundAgentNameOf: ${read.problem}`);
|
|
13
|
+
return read.name;
|
|
4
14
|
}
|
|
5
15
|
//# sourceMappingURL=background-agent-name.js.map
|
|
@@ -11,7 +11,7 @@ export interface HardKillTally {
|
|
|
11
11
|
/**
|
|
12
12
|
* 受据的**唯一读者**:逐行一条 `background_shell_hard_kill`(`{ taskId, type, outcome, reason, owner?, retained? }` —— 不带
|
|
13
13
|
* pid / shellId:core 契约「pid 不出 env」,受据上本来就没有),返回四词计数。本函数自己不抛;注入形 logger 若抛,异常**原样上抛**
|
|
14
|
-
* 给调用方(kill 已在调用前落地,受据不丢):退出边界与 E21 级联各自在外层 try 里 warn / `
|
|
14
|
+
* 给调用方(kill 已在调用前落地,受据不丢):退出边界与 E21 级联各自在外层 try 里 warn / 接缝的文本出口 `writeLogText`(生产 sink 不抛,
|
|
15
15
|
* `observability/logger.ts` 的 `emit` 已包),停止口则让它走全局 500 —— 不在这里写静默的空 catch([ref] 棘轮)。
|
|
16
16
|
* `outcome` 按 core 闭集穷举分派:集外词 = 编译红(`never` 臂),不是运行期的静默默认。
|
|
17
17
|
*/
|