@sema-agent/server 7.147.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 +1039 -24
- package/README.md +20 -7
- package/README.zh-CN.md +14 -8
- package/USAGE.md +380 -163
- package/deploy/sema-up/README.md +16 -5
- package/deploy/sema-up/chart/templates/NOTES.txt +1 -1
- package/deploy/sema-up/chart/templates/_helpers.tpl +20 -4
- package/deploy/sema-up/chart/values.yaml +3 -2
- package/deploy/sema-up/cluster-up.sh +74 -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/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/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 +14 -39
- 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 +13 -1
- package/deploy/sema-up/stack/sema-stack-cluster.yaml +21 -0
- 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 +28 -30
- 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 +13 -11
- package/dist/approval.js +3 -3
- package/dist/audit.d.ts +10 -3
- package/dist/audit.js +15 -7
- 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 +5 -2
- 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/deployment-mods.d.ts +1 -1
- package/dist/boot/execution-env.d.ts +17 -7
- package/dist/boot/execution-env.js +37 -31
- package/dist/boot/exit-boundary.d.ts +2 -2
- package/dist/boot/exit-boundary.js +6 -5
- package/dist/boot/fatal-exit.d.ts +3 -5
- package/dist/boot/fatal-exit.js +2 -2
- package/dist/boot/leader.d.ts +15 -0
- package/dist/boot/leader.js +17 -15
- package/dist/boot/memory-consolidation.d.ts +37 -29
- package/dist/boot/memory-consolidation.js +11 -5
- package/dist/boot/org-memory.js +1 -1
- package/dist/boot/parked-revive-gate.js +2 -2
- package/dist/boot/reapers.d.ts +4 -3
- package/dist/boot/reapers.js +19 -16
- package/dist/boot/resolve-spec.d.ts +5 -3
- package/dist/boot/resolve-spec.js +55 -67
- package/dist/boot/retention-lane.d.ts +4 -4
- 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 +16 -7
- package/dist/boot/session-faces.js +114 -94
- package/dist/boot/shutdown.d.ts +5 -4
- package/dist/boot/shutdown.js +6 -4
- package/dist/boot/stage-01-config.js +9 -1
- package/dist/boot/stage-02-web-admin-pull.d.ts +1 -0
- package/dist/boot/stage-02-web-admin-pull.js +6 -1
- package/dist/boot/stage-03-store-backend.d.ts +3 -0
- package/dist/boot/stage-03-store-backend.js +4 -3
- package/dist/boot/stage-04-stores.d.ts +2 -0
- package/dist/boot/stage-04-stores.js +2 -2
- package/dist/boot/stage-05-execution-env.d.ts +7 -3
- package/dist/boot/stage-05-execution-env.js +2 -2
- package/dist/boot/stage-06-runners.d.ts +10 -12
- package/dist/boot/stage-06-runners.js +23 -15
- package/dist/boot/stage-07-capability-layer.d.ts +11 -8
- package/dist/boot/stage-07-capability-layer.js +5 -3
- package/dist/boot/stage-08-reapers.d.ts +11 -8
- package/dist/boot/stage-08-reapers.js +3 -3
- package/dist/boot/stage-09-leader.d.ts +12 -15
- package/dist/boot/stage-09-leader.js +12 -4
- package/dist/boot/stage-10-http-server.d.ts +12 -15
- package/dist/boot/stage-10-http-server.js +7 -4
- package/dist/boot/store-evidence.d.ts +20 -0
- package/dist/boot/store-evidence.js +13 -0
- package/dist/boot/stores.d.ts +3 -0
- package/dist/boot/stores.js +21 -10
- 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 +55 -35
- 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 +7 -1
- package/dist/capabilities/center-plugins.js +32 -10
- package/dist/capabilities/center-wiring.js +1 -1
- package/dist/capabilities/composite-members.d.ts +2 -2
- package/dist/capabilities/composite-members.js +2 -2
- package/dist/capabilities/repo-tools.d.ts +2 -0
- package/dist/capabilities/repo-tools.js +14 -12
- package/dist/capabilities/scenarios.d.ts +6 -15
- package/dist/capabilities/scenarios.js +11 -16
- package/dist/capabilities/skills.d.ts +1 -1
- package/dist/capabilities/tool-defer.d.ts +1 -1
- package/dist/capability-facts.d.ts +38 -11
- package/dist/capability-facts.js +47 -8
- 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 +7 -3
- package/dist/config-catalog.d.ts +16 -1
- package/dist/config-catalog.js +62 -56
- package/dist/config-dir-trust.d.ts +37 -4
- package/dist/config-dir-trust.js +88 -44
- package/dist/config-invariants.d.ts +42 -3
- package/dist/config-invariants.js +69 -5
- package/dist/config-lkg.d.ts +23 -1
- package/dist/config-lkg.js +17 -3
- package/dist/config-provider.d.ts +9 -9
- package/dist/config-provider.js +25 -110
- package/dist/config-pull-failure.d.ts +50 -0
- package/dist/config-pull-failure.js +48 -0
- package/dist/config-types.d.ts +26 -17
- package/dist/config.d.ts +8 -16
- package/dist/config.js +113 -47
- package/dist/delegated-session-owner.d.ts +1 -1
- package/dist/deleted-session-ids.d.ts +3 -2
- package/dist/deployment-governance.d.ts +3 -3
- package/dist/deployment-shape.d.ts +30 -4
- package/dist/deployment-shape.js +7 -0
- 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.js +2 -1
- package/dist/env-witness.d.ts +7 -0
- package/dist/env-witness.js +16 -0
- package/dist/execution-lane-caps.d.ts +5 -18
- package/dist/execution-lane-caps.js +0 -22
- package/dist/execution-placement.d.ts +58 -18
- package/dist/execution-placement.js +41 -2
- 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.js +1 -0
- 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 +3 -3
- 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 +23 -3
- package/dist/history-anchor.js +24 -4
- 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/hook-llm.d.ts +5 -1
- package/dist/hooks/hook-llm.js +24 -15
- package/dist/hooks/hook-runner.d.ts +67 -57
- package/dist/hooks/hook-runner.js +260 -186
- 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 +3 -3
- package/dist/http/approval-sweeps.js +54 -30
- package/dist/http/caller-trust.d.ts +8 -10
- package/dist/http/caller-trust.js +1 -2
- package/dist/http/claim-heartbeat.d.ts +49 -0
- package/dist/http/claim-heartbeat.js +46 -0
- package/dist/http/claimed-run.d.ts +4 -3
- package/dist/http/dispatch.d.ts +8 -1
- package/dist/http/dispatch.js +76 -30
- package/dist/http/durable-run-leg.d.ts +3 -3
- package/dist/http/durable-run-leg.js +17 -12
- package/dist/http/execution-context.d.ts +17 -43
- package/dist/http/execution-context.js +7 -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 +4 -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 +1 -1
- package/dist/http/memory-store-refusal-reply.js +3 -0
- package/dist/http/owner-access.d.ts +391 -67
- package/dist/http/owner-access.js +371 -35
- package/dist/http/principal-gate.d.ts +24 -81
- package/dist/http/principal-gate.js +24 -68
- package/dist/http/refusal-body.d.ts +35 -2
- package/dist/http/refusal-body.js +34 -0
- package/dist/http/request-guards.d.ts +9 -13
- 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 +21 -18
- package/dist/http/resume-legs.js +189 -129
- package/dist/http/retired-skill-manifest.d.ts +1 -1
- package/dist/http/route-ctx.d.ts +25 -32
- 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 +70 -65
- 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 +15 -18
- package/dist/http/routes/config-catalog.js +2 -2
- package/dist/http/routes/devices.d.ts +3 -3
- package/dist/http/routes/devices.js +4 -4
- 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 +2 -0
- 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 +10 -19
- 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 +1 -1
- package/dist/http/routes/projects.js +3 -2
- package/dist/http/routes/retention-ops.js +6 -9
- package/dist/http/routes/rules.js +20 -5
- 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 +146 -231
- 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 +21 -20
- package/dist/http/routes/sessions-list.d.ts +3 -3
- package/dist/http/routes/sessions-list.js +9 -9
- package/dist/http/routes/sessions.js +87 -124
- package/dist/http/routes/shared-memory.js +6 -6
- package/dist/http/routes/side-query.js +2 -2
- package/dist/http/routes/tasks.js +136 -120
- 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 +39 -40
- package/dist/http/server.js +36 -11
- 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 +12 -0
- package/dist/http/stored-body-replay.js +2 -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 +4 -3
- package/dist/identity-source.d.ts +36 -5
- package/dist/identity-source.js +27 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- 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-operator-faces.d.ts +5 -4
- package/dist/memory-operator-faces.js +1 -1
- package/dist/memory-scope.d.ts +29 -2
- package/dist/memory-scope.js +64 -15
- package/dist/memory-store-refusal.d.ts +5 -2
- package/dist/memory-sync-client.d.ts +3 -2
- package/dist/memory-sync-client.js +6 -3
- package/dist/model-compat.d.ts +17 -8
- package/dist/model-compat.js +6 -2
- 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 +35 -16
- package/dist/model-entry-refusal.js +40 -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 +23 -14
- package/dist/namespaced-rule-name.js +8 -11
- 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 +58 -38
- package/dist/observability/fail-open.js +60 -38
- package/dist/observability/logger.d.ts +22 -1
- package/dist/observability/logger.js +89 -12
- package/dist/observability/metrics.js +3 -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/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-completion-inbox.d.ts +3 -3
- package/dist/orchestration/workflow-completion-inbox.js +3 -2
- package/dist/org-delivery-gate.d.ts +5 -4
- package/dist/org-delivery-gate.js +7 -6
- 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 +67 -5
- package/dist/parked-decide.js +127 -5
- 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 +18 -7
- package/dist/plugins/approval-ask-store-file.js +37 -14
- package/dist/plugins/approval-ask-store-memory.d.ts +12 -4
- package/dist/plugins/approval-ask-store-memory.js +24 -10
- package/dist/plugins/approval-ask-store-sql.d.ts +39 -20
- package/dist/plugins/approval-ask-store-sql.js +41 -10
- 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 +2 -0
- package/dist/plugins/blob-backend.js +9 -6
- package/dist/plugins/caching-session-store.d.ts +13 -1
- package/dist/plugins/caching-session-store.js +43 -4
- package/dist/plugins/checkpoint-index-columns.d.ts +32 -5
- package/dist/plugins/checkpoint-index-columns.js +36 -1
- package/dist/plugins/checkpoint-store-face.d.ts +83 -10
- package/dist/plugins/checkpoint-store-face.js +18 -1
- package/dist/plugins/device-store-sql.js +1 -0
- 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/file-run-store.d.ts +63 -23
- package/dist/plugins/file-run-store.js +138 -83
- 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 +2 -2
- 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 +58 -23
- package/dist/plugins/local-checkpoint-store.js +195 -76
- package/dist/plugins/local-data-dir-modes-m39.js +2 -1
- 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 +4 -2
- package/dist/plugins/local-engine-high-water.js +4 -1
- package/dist/plugins/local-session-store.d.ts +358 -125
- package/dist/plugins/local-session-store.js +824 -251
- 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 +18 -1
- package/dist/plugins/local-task-attachment-store.js +22 -1
- package/dist/plugins/memory-embedder.js +9 -7
- package/dist/plugins/memory-engine-pg.d.ts +3 -2
- package/dist/plugins/memory-engine-pg.js +14 -5
- package/dist/plugins/memory-engine-sql-apply.d.ts +8 -4
- package/dist/plugins/memory-engine-sql-apply.js +6 -8
- package/dist/plugins/memory-engine-tidb.d.ts +4 -2
- package/dist/plugins/memory-engine-tidb.js +11 -2
- 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 +186 -45
- package/dist/plugins/one-time-migrations.js +442 -119
- package/dist/plugins/org-delivery-quota-store.js +2 -1
- package/dist/plugins/permission-rule-store-file.d.ts +3 -3
- 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 +1 -31
- package/dist/plugins/pg-pool.js +16 -7
- package/dist/plugins/remote-env-e2b.d.ts +7 -25
- package/dist/plugins/remote-env-e2b.js +34 -25
- package/dist/plugins/remote-env-host.d.ts +2 -9
- package/dist/plugins/remote-env-host.js +34 -22
- package/dist/plugins/remote-env-k8s.d.ts +40 -45
- package/dist/plugins/remote-env-k8s.js +107 -58
- package/dist/plugins/remote-env-local-docker.d.ts +148 -14
- package/dist/plugins/remote-env-local-docker.js +367 -72
- package/dist/plugins/remote-scratchpad.js +4 -0
- package/dist/plugins/retention-deployment.d.ts +49 -17
- package/dist/plugins/retention-deployment.js +39 -8
- 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 -9
- package/dist/plugins/schema-consistency.js +212 -11
- 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 +9 -0
- package/dist/plugins/schema-ensure-legs.js +1 -1
- 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 +27 -3
- package/dist/plugins/session-ext-table.js +19 -6
- package/dist/plugins/session-fork.d.ts +15 -1
- 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 +12 -0
- package/dist/plugins/session-row-sql.js +3 -3
- 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 +38 -12
- package/dist/plugins/session-store-sql.js +130 -30
- package/dist/plugins/session-withdraw-sql.d.ts +36 -0
- package/dist/plugins/session-withdraw-sql.js +42 -0
- package/dist/plugins/shared-memory-store-sql.d.ts +0 -69
- package/dist/plugins/shared-memory-store-sql.js +2 -1
- 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/sql-driver.d.ts +1 -1
- package/dist/plugins/sql-driver.js +2 -1
- package/dist/plugins/sql-errors.d.ts +32 -5
- package/dist/plugins/sql-errors.js +55 -7
- 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 +84 -15
- package/dist/plugins/store-backend.js +186 -55
- package/dist/plugins/store-contracts.d.ts +90 -30
- package/dist/plugins/store-contracts.js +22 -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 +15 -3
- package/dist/plugins/task-attachment-store.js +22 -9
- package/dist/plugins/tidb-pool.js +23 -8
- 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/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/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 +5 -3
- package/dist/rules-consent.js +1 -0
- 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 +92 -80
- package/dist/run-stale-default.d.ts +7 -0
- package/dist/run-stale-default.js +2 -0
- package/dist/runs.d.ts +26 -15
- package/dist/runs.js +39 -27
- package/dist/runtime-caps-resolver.d.ts +21 -6
- package/dist/runtime-caps-resolver.js +17 -4
- package/dist/runtime-governance.d.ts +2 -2
- package/dist/runtime-governance.js +5 -3
- package/dist/sealed-key-layout.d.ts +12 -5
- package/dist/sealed-key-layout.js +5 -0
- package/dist/sealed-key.d.ts +12 -2
- package/dist/sealed-key.js +115 -27
- package/dist/security.d.ts +128 -158
- package/dist/security.js +163 -59
- package/dist/sema-config-dir.d.ts +20 -0
- package/dist/sema-config-dir.js +25 -0
- package/dist/server-secret-env.d.ts +21 -5
- package/dist/server-secret-env.js +14 -4
- 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 +5 -5
- package/dist/session-error-wire.js +1 -1
- package/dist/session-incarnation.d.ts +52 -5
- 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 +0 -71
- package/dist/session-resident-background.js +4 -3
- package/dist/session-row.d.ts +2 -1
- package/dist/session-rules-seat.d.ts +12 -0
- package/dist/session-rules-seat.js +19 -0
- package/dist/session-titler.d.ts +7 -15
- package/dist/session-titler.js +1 -1
- package/dist/spec-fields.d.ts +57 -3
- package/dist/spec-fields.js +72 -51
- package/dist/store-posture.d.ts +136 -20
- package/dist/store-posture.js +188 -3
- package/dist/stored-request-hooks-m20.js +2 -2
- 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/checkpoint-store-sql.d.ts +33 -28
- package/dist/stores-sql/checkpoint-store-sql.js +75 -44
- package/dist/stores-sql/mailbox-store-sql.d.ts +7 -4
- package/dist/stores-sql/mailbox-store-sql.js +31 -32
- package/dist/stores-sql/pg-session-storage.d.ts +7 -5
- package/dist/stores-sql/pg-session-storage.js +54 -46
- package/dist/stores-sql/retention-store-sql.d.ts +87 -19
- package/dist/stores-sql/retention-store-sql.js +92 -27
- package/dist/stores-sql/session-policy-store-sql.d.ts +32 -10
- package/dist/stores-sql/session-policy-store-sql.js +44 -36
- package/dist/stores-sql/session-write-hooks.d.ts +12 -6
- package/dist/stores-sql/tidb-session-storage.d.ts +4 -4
- package/dist/stores-sql/tidb-session-storage.js +13 -8
- package/dist/stores-sql/tidb-session-store.d.ts +36 -17
- package/dist/stores-sql/tidb-session-store.js +69 -39
- package/dist/stores-sql/windowed-session-storage.d.ts +5 -0
- package/dist/stores-sql/windowed-session-storage.js +9 -0
- package/dist/submission-exit.d.ts +50 -0
- package/dist/submission-exit.js +108 -0
- package/dist/task-a2a.d.ts +1 -1
- package/dist/task-a2a.js +3 -3
- package/dist/task-cwd.d.ts +20 -0
- package/dist/task-cwd.js +8 -0
- package/dist/task-mcp.d.ts +1 -1
- package/dist/task-mcp.js +3 -3
- package/dist/task-settings.d.ts +14 -10
- package/dist/task-settings.js +18 -7
- package/dist/terminal.d.ts +25 -43
- package/dist/terminal.js +31 -11
- package/dist/tool-approval.d.ts +131 -129
- package/dist/tool-approval.js +189 -193
- package/dist/trace/core-keyset-guard.d.ts +13 -6
- package/dist/trace/core-vocab-wire.d.ts +95 -0
- package/dist/trace/core-vocab-wire.js +15 -0
- package/dist/trace/exit-seat.d.ts +30 -4
- package/dist/trace/exit-seat.js +40 -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 +55 -42
- package/dist/trace/project.js +52 -19
- package/dist/trace/redact.d.ts +123 -27
- package/dist/trace/redact.js +880 -260
- package/dist/trace/self-minted-wire.d.ts +487 -19
- package/dist/trace/self-minted-wire.js +172 -23
- package/dist/trace/wire-projection-faces.d.ts +5 -6
- package/dist/trace/wire-projection-faces.js +2 -2
- 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 +13 -16
- 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/center-request.d.ts +2 -2
- package/dist/web-admin-client/center-request.js +15 -15
- package/dist/web-admin-client/effective-keys.d.ts +1 -1
- package/dist/web-admin-client/effective-keys.js +1 -1
- 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/http-client.d.ts +1 -1
- package/dist/web-admin-client/http-client.js +23 -4
- 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 +8 -4
- package/dist/web-admin-client/skills-mcp.d.ts +2 -2
- package/dist/web-admin-client/types.d.ts +1 -2
- package/dist/workspace-space.d.ts +3 -2
- package/docs/DEVICE-EXECUTOR-PROTOCOL.md +4 -4
- package/package.json +6 -3
- package/scripts/drain-check-local.mjs +118 -147
- package/scripts/drain-check.mysql.sql +22 -2
- package/scripts/drain-check.pg.sql +22 -2
- 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/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
|
*/
|
package/dist/bake-runner/main.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { spawn } from "node:child_process";
|
|
2
2
|
import { readFile } from "node:fs/promises";
|
|
3
3
|
import { createLogger } from "../observability/logger.js";
|
|
4
|
+
import { createEgressFetch } from "../egress-redirect.js";
|
|
4
5
|
import { logConfigDiagnostics, parseEnvNameAllowlist, parseNumOrFailNonNegative } from "../config.js";
|
|
5
6
|
import { installSecretEnvScrubRecorder } from "../observability/secret-env-scrub.js";
|
|
6
7
|
import { declareServerWithheldEnv, hostSubprocessEnv } from "../server-secret-env.js";
|
|
7
8
|
import { shellQuote as shellSafe } from "../plugins/remote-shell.js";
|
|
8
9
|
import { echoCallerText } from "../caller-text-echo.js";
|
|
9
10
|
import { BakeRunner, } from "./runner.js";
|
|
11
|
+
import { readUpstreamJson } from "../upstream-body.js";
|
|
10
12
|
const BAKE_CLAIM_INGEST_FETCH_TIMEOUT_MS = 30_000;
|
|
11
13
|
const BAKE_HEARTBEAT_FETCH_TIMEOUT_MS = 10_000;
|
|
12
14
|
const BAKE_HOST_PROBE_TIMEOUT_MS = 10_000;
|
|
@@ -37,9 +39,10 @@ function loadEnv() {
|
|
|
37
39
|
}
|
|
38
40
|
function makeApiClient(env, log) {
|
|
39
41
|
const auth = { authorization: `Bearer ${env.token}`, "content-type": "application/json" };
|
|
42
|
+
const egressFetch = createEgressFetch("declare the final image-api address as IMAGE_API_BASE");
|
|
40
43
|
return {
|
|
41
44
|
async claimNext() {
|
|
42
|
-
const res = await
|
|
45
|
+
const res = await egressFetch(`${env.imageApiBase}/v1/images/bakes/claim`, {
|
|
43
46
|
method: "POST",
|
|
44
47
|
headers: auth,
|
|
45
48
|
body: JSON.stringify({ runnerId: env.runnerId }),
|
|
@@ -51,7 +54,7 @@ function makeApiClient(env, log) {
|
|
|
51
54
|
log.warn("bake_claim_rejected", { status: res.status });
|
|
52
55
|
return null;
|
|
53
56
|
}
|
|
54
|
-
const c = (await res
|
|
57
|
+
const c = (await readUpstreamJson(res));
|
|
55
58
|
if (!c.bakeId || !Array.isArray(c.argv) || !c.ingestSecret) {
|
|
56
59
|
log.warn("bake_claim_malformed", { status: res.status, bakeId: typeof c.bakeId === "string" ? c.bakeId : undefined });
|
|
57
60
|
return null;
|
|
@@ -68,7 +71,7 @@ function makeApiClient(env, log) {
|
|
|
68
71
|
};
|
|
69
72
|
},
|
|
70
73
|
async ingest(bakeId, ingestSecret, frame) {
|
|
71
|
-
const res = await
|
|
74
|
+
const res = await egressFetch(`${env.imageApiBase}/v1/images/bakes/${encodeURIComponent(bakeId)}/ingest`, {
|
|
72
75
|
method: "POST",
|
|
73
76
|
headers: { ...auth, "x-bake-ingest-secret": ingestSecret },
|
|
74
77
|
body: JSON.stringify(frame),
|
|
@@ -77,13 +80,13 @@ function makeApiClient(env, log) {
|
|
|
77
80
|
await res.arrayBuffer().catch(() => undefined);
|
|
78
81
|
},
|
|
79
82
|
async heartbeat(bakeId, ingestSecret) {
|
|
80
|
-
const res = await
|
|
83
|
+
const res = await egressFetch(`${env.imageApiBase}/v1/images/bakes/${encodeURIComponent(bakeId)}/ingest`, {
|
|
81
84
|
method: "POST",
|
|
82
85
|
headers: { ...auth, "x-bake-ingest-secret": ingestSecret },
|
|
83
86
|
body: JSON.stringify({ event: "heartbeat" }),
|
|
84
87
|
signal: AbortSignal.timeout(BAKE_HEARTBEAT_FETCH_TIMEOUT_MS),
|
|
85
88
|
});
|
|
86
|
-
const body = res.ok ? (await res
|
|
89
|
+
const body = res.ok ? (await readUpstreamJson(res).catch(() => ({}))) : {};
|
|
87
90
|
return {
|
|
88
91
|
accepted: res.ok,
|
|
89
92
|
cancelRequested: body.cancelRequested === true,
|
|
@@ -304,7 +307,7 @@ async function main() {
|
|
|
304
307
|
const invokedDirectly = process.argv[1] !== undefined && /bake-runner[/\\]main\.(ts|js)$/.test(process.argv[1]);
|
|
305
308
|
if (invokedDirectly) {
|
|
306
309
|
main().catch((err) => {
|
|
307
|
-
|
|
310
|
+
createLogger().error("bake_runner_fatal", { err: String(err) });
|
|
308
311
|
process.exit(1);
|
|
309
312
|
});
|
|
310
313
|
}
|
package/dist/bench/s1/arms.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { writeLogText } from "../../observability/logger.js";
|
|
1
2
|
import { pausedCauseOf, outwardPlane } from "../../terminal.js";
|
|
2
3
|
import { leafBudgetFields, s1DebugGit } from "./runner-ctx.js";
|
|
3
4
|
import {} from "./tasks.js";
|
|
@@ -61,7 +62,7 @@ export async function driveSupSuspendResume(initial, deps, implSpec, trap, advan
|
|
|
61
62
|
foldCost(vr.stats);
|
|
62
63
|
const legPlane = outwardPlane(vr.terminal);
|
|
63
64
|
if (process.env.S1_DEBUG_SUPCOST)
|
|
64
|
-
|
|
65
|
+
writeLogText("stderr", `[SUPCOST leg=${leg}] status=${legPlane.status} reason=${vr.verification?.unverifiedReason} c1µ=${vr.stats?.costBreakdown?.llmRootMicroUsd} accC1µ=${c1Acc.llmRootMicroUsd} hrGates=${vr.stats?.humanReview?.gates?.length}`);
|
|
65
66
|
const paused = pausedCauseOf(vr.terminal);
|
|
66
67
|
const gateKind = paused?.gate.kind;
|
|
67
68
|
const parkWord = paused === undefined ? undefined : outwardPlane(paused).status;
|
|
@@ -148,7 +149,7 @@ export async function runArm(arm, trap, seed, ctx, deps, supStore) {
|
|
|
148
149
|
}
|
|
149
150
|
catch (e) {
|
|
150
151
|
if (s1DebugGit())
|
|
151
|
-
|
|
152
|
+
writeLogText("stderr", "[S1 SOLO infra throw]", e instanceof Error ? (e.stack ?? e.message) : String(e));
|
|
152
153
|
return assembleRow({
|
|
153
154
|
arm, trap, seed, ctx,
|
|
154
155
|
stats: captureStats(undefined),
|
|
@@ -161,7 +162,7 @@ export async function runArm(arm, trap, seed, ctx, deps, supStore) {
|
|
|
161
162
|
}
|
|
162
163
|
const soloPlane = outwardPlane(vr.terminal);
|
|
163
164
|
if (s1DebugGit())
|
|
164
|
-
|
|
165
|
+
writeLogText("stderr", "[S1 SOLO vr.status]", soloPlane.status, "| stats:", JSON.stringify(vr.stats)?.slice(0, 200));
|
|
165
166
|
const oracle = pickOracleVerdicts(await deps.runOracle());
|
|
166
167
|
return assembleRow({
|
|
167
168
|
arm,
|
|
@@ -195,7 +196,7 @@ export async function runArm(arm, trap, seed, ctx, deps, supStore) {
|
|
|
195
196
|
}
|
|
196
197
|
catch (e) {
|
|
197
198
|
if (s1DebugGit())
|
|
198
|
-
|
|
199
|
+
writeLogText("stderr", `[S1 SUP infra throw driver=${trap.supDriver}]`, e instanceof Error ? (e.stack ?? e.message) : String(e));
|
|
199
200
|
return assembleRow({
|
|
200
201
|
arm, trap, seed, ctx,
|
|
201
202
|
stats: captureStats(undefined),
|
|
@@ -208,7 +209,7 @@ export async function runArm(arm, trap, seed, ctx, deps, supStore) {
|
|
|
208
209
|
}
|
|
209
210
|
const supPlane = outwardPlane(vr.terminal);
|
|
210
211
|
if (s1DebugGit())
|
|
211
|
-
|
|
212
|
+
writeLogText("stderr", `[S1 SUP vr.status driver=${trap.supDriver}]`, supPlane.status, "| repairTerminal:", repairTerminal, "| verdict:", vr.verification?.verdict, "| unverifiedReason:", vr.verification?.unverifiedReason, "| checkpointGate:", JSON.stringify(pausedCauseOf(vr.terminal)?.gate), "| error:", vr.error, "| stats:", JSON.stringify(vr.stats)?.slice(0, 180));
|
|
212
213
|
const oracle = pickOracleVerdicts(await deps.runOracle());
|
|
213
214
|
const runStatus = classifyRunStatus({ status: supPlane.status, repairTerminal });
|
|
214
215
|
const lastGate = vr.stats?.humanReview?.gates?.at(-1);
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { writeLogText } from "../../observability/logger.js";
|
|
1
2
|
import { outwardPlane } from "../../terminal.js";
|
|
2
3
|
import { Runner, runWithVerification, resumeWithVerification, runRepairLoop, combinePolicies, createDurableQuestionPolicy, QUESTION_AWAITS_RESUME, } from "@sema-agent/core";
|
|
3
4
|
import { loadConfig } from "../../config.js";
|
|
5
|
+
import { declareServerWithheldEnv } from "../../server-secret-env.js";
|
|
4
6
|
import { composeDeclaredExecutionLane } from "../../boot/execution-lane.js";
|
|
5
7
|
import { ALL_EXECUTION_LANES } from "../../execution-lane-caps.js";
|
|
6
8
|
import { assertServedModelRoute } from "../../model-route-endpoint.js";
|
|
@@ -53,6 +55,7 @@ function buildBrainIngredients(rt) {
|
|
|
53
55
|
process.env.MODEL_COST_CACHE_READ = String(rt.costCacheRead);
|
|
54
56
|
if (rt.costCacheWrite != null)
|
|
55
57
|
process.env.MODEL_COST_CACHE_WRITE = String(rt.costCacheWrite);
|
|
58
|
+
declareServerWithheldEnv();
|
|
56
59
|
const config = composeDeclaredExecutionLane(loadConfig(), { info: () => { } }, { name: "the s1 bench", runs: ALL_EXECUTION_LANES, declares: "none" });
|
|
57
60
|
assertServedModelRoute(config, { envTableIsPlaceholder: false });
|
|
58
61
|
const brain = createBrain(config, {});
|
|
@@ -121,7 +124,7 @@ async function transferWorkerTreeToGrader(worker, grader) {
|
|
|
121
124
|
if (ext.code !== 0 || !ext.out.includes("EXTRACTED="))
|
|
122
125
|
throw new Error(`s1 grader tar extract failed: ${ext.out.slice(-400)}`);
|
|
123
126
|
if (s1DebugGit())
|
|
124
|
-
|
|
127
|
+
writeLogText("stderr", `[S1_DEBUG_TAR] head=${head.slice(0, 8)} base=${base.slice(0, 8)} tarBytes=${buf.length} ${ext.out.slice(-60)}`);
|
|
125
128
|
return { head, base };
|
|
126
129
|
}
|
|
127
130
|
function oracleTaskFromTrap(trap) {
|
|
@@ -171,7 +174,7 @@ export function buildLiveDeps(rt, trap, seed, cellId) {
|
|
|
171
174
|
const task = { ...oracleTaskFromTrap(trap), ...(state.shas ? { deliveredShas: state.shas } : {}) };
|
|
172
175
|
const v = await runStandaloneOracle(grader, graderTransport(grader), worker, task);
|
|
173
176
|
if (s1DebugGit())
|
|
174
|
-
|
|
177
|
+
writeLogText("stderr", `[S1_DEBUG_ORACLE ${trap.id}] delivered=${v.delivered} tests=${v.hiddenTestsGreen} build=${v.buildPassed} inv=${v.invariantsOk} | raw=`, JSON.stringify(v.raw)?.slice(0, 700));
|
|
175
178
|
return v;
|
|
176
179
|
};
|
|
177
180
|
const deps = {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { writeLogText } from "../../observability/logger.js";
|
|
1
2
|
import { promises as fs } from "node:fs";
|
|
2
3
|
import path from "node:path";
|
|
3
4
|
import { AppendLog, Runner, InMemoryCheckpointStore } from "@sema-agent/core";
|
|
@@ -213,7 +214,7 @@ export function positiveIntArg(raw, def, flag) {
|
|
|
213
214
|
return def;
|
|
214
215
|
const n = Number(raw);
|
|
215
216
|
if (!Number.isInteger(n) || n < 1) {
|
|
216
|
-
|
|
217
|
+
writeLogText("stderr", `[s1 run-firm] ${flag} must be a positive integer, got: ${raw}`);
|
|
217
218
|
process.exit(2);
|
|
218
219
|
}
|
|
219
220
|
return n;
|
|
@@ -251,13 +252,13 @@ export async function main(argv = process.argv.slice(2)) {
|
|
|
251
252
|
setS1DebugGit(args.debugGit);
|
|
252
253
|
const liveRuntime = liveRuntimeConfigFromEnv();
|
|
253
254
|
if (!args.dryRun && !liveRuntime) {
|
|
254
|
-
|
|
255
|
+
writeLogText("stderr", "[s1 run-firm] LIVE path refused: E2B_API_KEY + DEEPSEEK_API_KEY are required (the brain gateway). " +
|
|
255
256
|
"Run with --dry-run for the deterministic loop, or export the keys for the owner's gated live run.");
|
|
256
257
|
process.exit(2);
|
|
257
258
|
return;
|
|
258
259
|
}
|
|
259
260
|
const modelId = liveRuntime?.modelId ?? "deepseek-v4-flash";
|
|
260
|
-
const log = (msg, meta) =>
|
|
261
|
+
const log = (msg, meta) => writeLogText("stderr", `[s1 run-firm] ${msg}`, meta ? JSON.stringify(meta) : "");
|
|
261
262
|
const result = await runFirm({
|
|
262
263
|
seeds: args.seeds,
|
|
263
264
|
cellTimeoutMs: args.cellTimeoutMs,
|
|
@@ -271,7 +272,7 @@ export async function main(argv = process.argv.slice(2)) {
|
|
|
271
272
|
...(args.dryRun ? { mockDepsFactory: dryRunMockFactory() } : { liveRuntime: liveRuntime }),
|
|
272
273
|
log,
|
|
273
274
|
});
|
|
274
|
-
|
|
275
|
+
writeLogText("stdout", JSON.stringify({
|
|
275
276
|
runId: args.runId,
|
|
276
277
|
mode: args.dryRun ? "dry-run" : "live",
|
|
277
278
|
ranThisPass: result.ranThisPass,
|
|
@@ -297,7 +298,7 @@ const isMain = (() => {
|
|
|
297
298
|
})();
|
|
298
299
|
if (isMain) {
|
|
299
300
|
void main().catch((e) => {
|
|
300
|
-
|
|
301
|
+
writeLogText("stderr", "[s1 run-firm] fatal:", e instanceof Error ? e.stack : String(e));
|
|
301
302
|
process.exit(1);
|
|
302
303
|
});
|
|
303
304
|
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/** 读监听地址要的那几格(取自配置的同名键)。 */
|
|
2
|
+
export interface BindHostConfig {
|
|
3
|
+
bindHost?: string;
|
|
4
|
+
/** 缝合审 M5:`bindHost` 的**来源**决定它算不算 operator 明示,见 {@link resolveBindHost}。 */
|
|
5
|
+
bindHostSource?: "BIND_HOST" | "HOST";
|
|
6
|
+
allowUnauthedWrites?: boolean;
|
|
7
|
+
authToken?: string;
|
|
8
|
+
authTokens?: Record<string, string>;
|
|
9
|
+
}
|
|
10
|
+
/** 这台部署配了任何一把 service 凭据吗(`SERVICE_AUTH_TOKEN` / `SERVICE_AUTH_TOKENS`)。 */
|
|
11
|
+
export declare function anyServiceCredential(config: Pick<BindHostConfig, "authToken" | "authTokens">): boolean;
|
|
12
|
+
/** 无鉴权写面(`ALLOW_UNAUTHED_WRITES`)+ 零凭据 ⇒ 起服把监听地址收窄到 loopback(见 {@link resolveBindHost})。 */
|
|
13
|
+
export declare function bindMustNarrow(config: Pick<BindHostConfig, "allowUnauthedWrites" | "authToken" | "authTokens">): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* 这台进程的监听地址(绑址旋钮 + 无鉴权自收窄)。`undefined` = Node 缺省全接口。
|
|
16
|
+
* `BIND_HOST`(兼容 `HOST`)显式值恒生效;缺省:**无鉴权写面(`allowUnauthedWrites` 且零凭据)自动收窄到 127.0.0.1**,其余维持全接口。
|
|
17
|
+
*/
|
|
18
|
+
export declare function resolveBindHost(config: BindHostConfig): string | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* 监听地址是不是**只在本机回环上**(别的主机连不上这个口)。`undefined`(Node 缺省全接口)、`0.0.0.0` / `::`(全接口)、任何别的地址或主机名 ⇒ 否。
|
|
21
|
+
* 认:IPv4 `127.0.0.0/8`、IPv6 `::1`、它们的 IPv4 映射拼法(经 {@link canonicalAddress} 折回点分 IPv4)、字面 `localhost`(大小写不敏感;
|
|
22
|
+
* 刻意不认 `*.localhost` 与别的主机名 —— 落不落在本机取决于系统解析器,不是这个值本身的事实)。
|
|
23
|
+
*/
|
|
24
|
+
export declare function listensLoopbackOnly(bindHost: string | undefined): boolean;
|
|
25
|
+
//# sourceMappingURL=bind-host.d.ts.map
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { isIP } from "node:net";
|
|
2
|
+
import { canonicalAddress } from "./net-address.js";
|
|
3
|
+
export function anyServiceCredential(config) {
|
|
4
|
+
return Boolean(config.authToken) || Object.keys(config.authTokens ?? {}).length > 0;
|
|
5
|
+
}
|
|
6
|
+
export function bindMustNarrow(config) {
|
|
7
|
+
return Boolean(config.allowUnauthedWrites) && !anyServiceCredential(config);
|
|
8
|
+
}
|
|
9
|
+
export function resolveBindHost(config) {
|
|
10
|
+
const mustNarrow = bindMustNarrow(config);
|
|
11
|
+
if (config.bindHost && !(mustNarrow && config.bindHostSource === "HOST"))
|
|
12
|
+
return config.bindHost;
|
|
13
|
+
return mustNarrow ? "127.0.0.1" : undefined;
|
|
14
|
+
}
|
|
15
|
+
export function listensLoopbackOnly(bindHost) {
|
|
16
|
+
if (bindHost === undefined)
|
|
17
|
+
return false;
|
|
18
|
+
if (bindHost.toLowerCase() === "localhost")
|
|
19
|
+
return true;
|
|
20
|
+
const address = canonicalAddress(bindHost);
|
|
21
|
+
if (address === undefined)
|
|
22
|
+
return false;
|
|
23
|
+
return isIP(address) === 4 ? address.startsWith("127.") : address === "::1";
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=bind-host.js.map
|
package/dist/boot/adoption.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
import type { AdoptionWiring } from "../adoption/plan.js";
|
|
1
2
|
import type { StoreBackend } from "../plugins/store-backend.js";
|
|
2
3
|
export interface AdoptionBootCtx {
|
|
3
4
|
backend: StoreBackend | undefined;
|
|
5
|
+
/** 可选存储面的接线事实(必填、无默认值;与 `POST /v1/adoption` 路由读的是同一对 boot 事实,见 {@link AdoptionWiring})。 */
|
|
6
|
+
wiring: AdoptionWiring;
|
|
4
7
|
logger: {
|
|
5
8
|
info?(msg: string, meta?: unknown): void;
|
|
6
9
|
warn?(msg: string, meta?: unknown): void;
|
package/dist/boot/adoption.js
CHANGED
|
@@ -44,7 +44,7 @@ export interface LoadedModPackage {
|
|
|
44
44
|
export interface DeploymentModsAssembly {
|
|
45
45
|
readonly registrations: readonly ModRegistration<EngineDollar>[];
|
|
46
46
|
readonly loaded: readonly LoadedModPackage[];
|
|
47
|
-
/** 部署座在**任务座之下**挂了链成员(不是观察者)的站点式样 —— 引擎这一次准入的记录读出({@link belowTaskChainPatternsOf})。读者:请求 `settings.hooks`
|
|
47
|
+
/** 部署座在**任务座之下**挂了链成员(不是观察者)的站点式样 —— 引擎这一次准入的记录读出({@link belowTaskChainPatternsOf})。读者:请求 `settings.hooks` 两条车道的只许收紧判据(`hooks/hook-runner.ts` 的 `chainsBelowTaskOn` 一处)。 */
|
|
48
48
|
readonly belowTaskChainPatterns: readonly string[];
|
|
49
49
|
}
|
|
50
50
|
/**
|
|
@@ -12,9 +12,10 @@ import { type RemoteContainerEnvDeps } from "../plugins/remote-env-e2b.js";
|
|
|
12
12
|
import { type WorkspaceFillOf } from "../plugins/workspace-fill.js";
|
|
13
13
|
import { k8sExecutionEnvFactory, type K8sEnvConfig, type K8sEnvDeps, type SandboxSecretSeat } from "../plugins/remote-env-k8s.js";
|
|
14
14
|
import { type SandboxGitPlaneSeat, type SandboxGitRunRows } from "../sandbox-git-plane.js";
|
|
15
|
-
import {
|
|
15
|
+
import type { SandboxReaper } from "../plugins/sandbox-reaper.js";
|
|
16
16
|
import { type SpaceCommitRows } from "../workspace-space-commit.js";
|
|
17
17
|
import { type LocalDockerEnvDeps } from "../plugins/remote-env-local-docker.js";
|
|
18
|
+
import { type LocalDockerCapacity } from "../plugins/local-docker-capacity.js";
|
|
18
19
|
import * as facts from "../capability-facts.js";
|
|
19
20
|
import { type TaskAttachmentStore } from "../plugins/task-attachment-store.js";
|
|
20
21
|
import type { TaskInheritEnv } from "../request-value-closure.js";
|
|
@@ -60,10 +61,15 @@ export interface SessionScopedRegistries {
|
|
|
60
61
|
* (core 的访问元组要带 scope,没有进程总数的读口),读的就是这一张 —— 每次提交写一笔、`dropSession` 清一笔、LRU 有界,不另立第二张会话名册。 */
|
|
61
62
|
readonly sessionOwners: ReadonlyMap<string, string | null>;
|
|
62
63
|
/** 记录/对拍本会话的主人。与上次不同 ⇒ **先清两张表**再记新主(换主即清)。`null` = 匿名会话,
|
|
63
|
-
* 它同样是一个**稳定**的身份值(不是「未知」),所以匿名重入不会被判成换主。
|
|
64
|
-
|
|
64
|
+
* 它同样是一个**稳定**的身份值(不是「未知」),所以匿名重入不会被判成换主。
|
|
65
|
+
* `incarnation` = 这次提交的授权口读到的那一位住客(会话行上的化身;读不出 ⇒ 缺):与上次记下的那一位不同 ⇒ 同样先清(同一个 id 上换了住客 ——
|
|
66
|
+
* 删了重建、被拒提交铸下的会话撤回之后重登记 —— 同属主也不接上一位住客的东西);缺 ⇒ 记成「不知道是哪一位」,不因它清。 */
|
|
67
|
+
fenceSessionOwner(sid: string, owner: string | null, incarnation?: string): void;
|
|
65
68
|
/** 会话删除:两张表 + 身份记录一起清(留着身份记录会让同 id 的下一位与一个幽灵身份比对成「同主」)。 */
|
|
66
69
|
dropSession(sid: string): void;
|
|
70
|
+
/** 只清**这一位住客**的条目:记下的住客恰是 `incarnation` ⇒ 同 {@link dropSession}、答 `true`;否则(换了住客 / 不知道是哪一位 / 没有条目)一笔不动、答 `false`。
|
|
71
|
+
* 撤回出口在撤回事务落定之后调 —— 那一刻同 id 的下一位可能已经登记、围栏、写下了它自己的条目。 */
|
|
72
|
+
dropSessionOf(sid: string, incarnation: string): boolean;
|
|
67
73
|
}
|
|
68
74
|
export declare function createSessionScopedRegistries(maxEntries?: number): SessionScopedRegistries;
|
|
69
75
|
/**
|
|
@@ -159,11 +165,13 @@ export interface ExecutionEnvCtx {
|
|
|
159
165
|
/** run 店的按 id 读(成员凭据代理座读 run 行上受理时记下的身份元组 `RunRecord.identity`)。取值闭包:run 店第 7 段才绑(`late-binds.ts`),
|
|
160
166
|
* 平面开着时每个 run 的 pod 建起前求值一次。不传 / 答 `undefined`(没有存储后端)⇒ 读不到身份 ⇒ 不挂代理。 */
|
|
161
167
|
runRows?: () => SandboxGitRunRows | undefined;
|
|
162
|
-
/** 隔离车道三只适配器自己的测试缝(假 e2b SDK / 假集群 / 假 docker CLI),原样交给各自的工厂 —— 与 `K8sEnvDeps` 同一条律:生产装配不传。
|
|
168
|
+
/** 隔离车道三只适配器自己的测试缝(假 e2b SDK / 假集群 / 假 docker CLI),原样交给各自的工厂 —— 与 `K8sEnvDeps` 同一条律:生产装配不传。
|
|
169
|
+
* `localDockerReapNow` = local-docker 无主容器回收器的钟缝(保持窗从 run 行转终态那一拍起算;测试把「现在」拨过窗)。 */
|
|
163
170
|
laneDeps?: {
|
|
164
171
|
readonly e2b?: RemoteContainerEnvDeps;
|
|
165
172
|
readonly k8s?: K8sEnvDeps;
|
|
166
173
|
readonly localDocker?: LocalDockerEnvDeps;
|
|
174
|
+
readonly localDockerReapNow?: () => number;
|
|
167
175
|
};
|
|
168
176
|
}
|
|
169
177
|
export declare function createExecutionEnv(ctx: ExecutionEnvCtx): {
|
|
@@ -173,16 +181,18 @@ export declare function createExecutionEnv(ctx: ExecutionEnvCtx): {
|
|
|
173
181
|
setSessionCwd: (sid: string, cwd: string) => void;
|
|
174
182
|
setSessionShellEnv: (sid: string, env: Record<string, string>) => void;
|
|
175
183
|
setSessionInheritEnv: (sid: string, policy: TaskInheritEnv | undefined) => void;
|
|
176
|
-
fenceSessionOwner: (sid: string, owner: string | null) => void;
|
|
184
|
+
fenceSessionOwner: (sid: string, owner: string | null, incarnation?: string) => void;
|
|
177
185
|
dropSessionScoped: (sid: string) => void;
|
|
186
|
+
dropSessionScopedOf: (sid: string, incarnation: string) => boolean;
|
|
178
187
|
sessionResidentBackground: () => SessionResidentCounts;
|
|
179
188
|
executionEnvFactory: import("@sema-agent/core").ExecutionEnvFactory | undefined;
|
|
180
189
|
worktreeReap: (() => Promise<void>) | undefined;
|
|
181
190
|
sendUserFileTaskEnvs: TaskEnvRegistry | undefined;
|
|
182
|
-
lspManager: import("@sema-agent/core").NodeLspManager |
|
|
191
|
+
lspManager: import("@sema-agent/core").NodeLspManager | undefined;
|
|
183
192
|
spaceReclaimer: SpaceReclaimer | undefined;
|
|
184
193
|
sandboxSecretSeatGate: (() => Promise<void>) | undefined;
|
|
185
|
-
|
|
194
|
+
sandboxReaper: SandboxReaper | undefined;
|
|
186
195
|
sandboxGitPlane: SandboxGitPlaneSeat;
|
|
196
|
+
sandboxCapacity: LocalDockerCapacity | undefined;
|
|
187
197
|
};
|
|
188
198
|
//# sourceMappingURL=execution-env.d.ts.map
|