@sema-agent/server 7.147.0 → 7.149.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 +1468 -24
- package/README.md +35 -7
- package/README.zh-CN.md +18 -8
- package/USAGE.md +444 -193
- 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/approval-card.d.ts +36 -38
- package/dist/approval-gate-currency.js +3 -2
- package/dist/approval-leg-origin.d.ts +33 -0
- package/dist/approval-leg-origin.js +4 -0
- 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 +9 -15
- package/dist/auth-bridge.js +4 -11
- package/dist/auth-keys.d.ts +10 -1
- package/dist/auth-keys.js +8 -0
- 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 +47 -42
- package/dist/boot/execution-lane.d.ts +6 -4
- package/dist/boot/execution-lane.js +3 -1
- 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-delivery.d.ts +3 -2
- 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 +60 -70
- 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 +14 -5
- 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.d.ts +1 -0
- package/dist/boot/stage-01-config.js +13 -4
- package/dist/boot/stage-02-web-admin-pull.d.ts +2 -0
- package/dist/boot/stage-02-web-admin-pull.js +16 -3
- package/dist/boot/stage-03-store-backend.d.ts +4 -0
- package/dist/boot/stage-03-store-backend.js +4 -3
- package/dist/boot/stage-04-stores.d.ts +3 -0
- package/dist/boot/stage-04-stores.js +2 -2
- package/dist/boot/stage-05-execution-env.d.ts +8 -3
- package/dist/boot/stage-05-execution-env.js +2 -2
- package/dist/boot/stage-06-runners.d.ts +12 -13
- package/dist/boot/stage-06-runners.js +23 -15
- package/dist/boot/stage-07-capability-layer.d.ts +13 -9
- package/dist/boot/stage-07-capability-layer.js +5 -3
- package/dist/boot/stage-08-reapers.d.ts +13 -9
- package/dist/boot/stage-08-reapers.js +3 -3
- package/dist/boot/stage-09-leader.d.ts +14 -16
- package/dist/boot/stage-09-leader.js +12 -4
- package/dist/boot/stage-10-http-server.d.ts +14 -16
- 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 +6 -0
- package/dist/boot/stores.js +41 -27
- 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 +39 -11
- package/dist/capability-facts.js +35 -7
- package/dist/card-settle-stored-scope.d.ts +56 -0
- package/dist/card-settle-stored-scope.js +27 -0
- package/dist/card-void.d.ts +8 -13
- package/dist/card-void.js +2 -7
- package/dist/center-credential-renewer.d.ts +6 -2
- package/dist/center-credential-renewer.js +7 -3
- package/dist/config-catalog.d.ts +28 -1
- package/dist/config-catalog.js +95 -85
- package/dist/config-dir-trust.d.ts +37 -4
- package/dist/config-dir-trust.js +88 -44
- package/dist/config-invariants.d.ts +43 -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 +62 -21
- package/dist/config.d.ts +14 -21
- package/dist/config.js +141 -64
- package/dist/context-window-notice.d.ts +31 -0
- package/dist/context-window-notice.js +28 -0
- 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 +46 -11
- package/dist/deployment-shape.js +8 -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-name-allowlist-knobs.d.ts +6 -5
- package/dist/env-name-allowlist-knobs.js +5 -0
- package/dist/env-witness.d.ts +7 -0
- package/dist/env-witness.js +16 -0
- package/dist/execution-lane-caps.d.ts +25 -23
- package/dist/execution-lane-caps.js +18 -26
- 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/command-spawn.d.ts +7 -2
- package/dist/hooks/command-spawn.js +13 -6
- package/dist/hooks/hook-llm.d.ts +5 -1
- package/dist/hooks/hook-llm.js +24 -15
- package/dist/hooks/hook-runner.d.ts +72 -57
- package/dist/hooks/hook-runner.js +271 -193
- 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 +76 -79
- package/dist/http/approval-sweeps.d.ts +3 -3
- package/dist/http/approval-sweeps.js +56 -31
- 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 +16 -8
- package/dist/http/claimed-run.js +8 -0
- package/dist/http/dispatch.d.ts +8 -1
- package/dist/http/dispatch.js +78 -30
- package/dist/http/durable-run-leg.d.ts +11 -4
- package/dist/http/durable-run-leg.js +45 -21
- package/dist/http/execution-context.d.ts +122 -47
- package/dist/http/execution-context.js +135 -43
- 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 +392 -67
- package/dist/http/owner-access.js +370 -35
- package/dist/http/principal-gate.d.ts +39 -89
- package/dist/http/principal-gate.js +26 -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 +46 -12
- package/dist/http/resume-ctx-read.js +31 -6
- package/dist/http/resume-legs.d.ts +54 -19
- package/dist/http/resume-legs.js +408 -196
- package/dist/http/retired-skill-manifest.d.ts +1 -1
- package/dist/http/route-ctx.d.ts +31 -32
- package/dist/http/routes/a2a-serve.d.ts +43 -5
- package/dist/http/routes/a2a-serve.js +60 -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 -67
- 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 +16 -19
- 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 +29 -3
- package/dist/http/routes/diagnostics.js +49 -18
- 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 +4 -2
- package/dist/http/routes/principal-inbox.js +5 -4
- 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 +155 -237
- 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 +28 -7
- package/dist/http/routes/session-sync.js +63 -50
- 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 +237 -187
- 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 +43 -45
- package/dist/http/server.js +61 -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 +17 -8
- package/dist/http/submit-ctx.js +8 -5
- 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 +4 -1
- package/dist/index.js +2 -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/leg-facts.d.ts +7 -2
- package/dist/leg-facts.js +1 -0
- package/dist/local-store-declaration.d.ts +54 -0
- package/dist/local-store-declaration.js +59 -0
- package/dist/lsp-evict.d.ts +6 -4
- package/dist/lsp-evict.js +2 -3
- package/dist/mcp-assertion-header.d.ts +1 -1
- package/dist/mcp-assertion-header.js +1 -1
- package/dist/memory-operator-faces.d.ts +5 -4
- package/dist/memory-operator-faces.js +1 -1
- package/dist/memory-project-layer.js +1 -1
- package/dist/memory-scope.d.ts +33 -6
- package/dist/memory-scope.js +68 -19
- package/dist/memory-store-refusal.d.ts +5 -2
- package/dist/memory-sync-client.d.ts +3 -2
- package/dist/memory-sync-client.js +8 -5
- package/dist/model-compat.d.ts +17 -8
- package/dist/model-compat.js +6 -2
- package/dist/model-context-window.d.ts +57 -0
- package/dist/model-context-window.js +21 -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 +40 -20
- package/dist/model-entry-refusal.js +57 -30
- 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-reach-scope.d.ts +2 -1
- 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 +72 -40
- package/dist/observability/fail-open.js +74 -40
- package/dist/observability/logger.d.ts +22 -1
- package/dist/observability/logger.js +89 -12
- package/dist/observability/metrics.js +4 -5
- 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 +6 -2
- package/dist/observability/secret-env-scrub.d.ts +1 -1
- package/dist/observability/secret-env-scrub.js +1 -1
- 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 +36 -10
- package/dist/org-delivery-gate.js +12 -8
- 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 +532 -0
- package/dist/owner-faces.js +126 -0
- package/dist/park-row-commit.d.ts +67 -0
- package/dist/park-row-commit.js +76 -0
- package/dist/parked-decide.d.ts +76 -12
- package/dist/parked-decide.js +152 -11
- package/dist/parked-revive-surface.d.ts +14 -4
- package/dist/parked-revive-surface.js +5 -4
- package/dist/peer-directory.d.ts +7 -9
- 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 +3 -25
- package/dist/plugins/adoption-log-sql.js +23 -21
- 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 +40 -21
- package/dist/plugins/approval-ask-store-sql.js +44 -15
- package/dist/plugins/approval-exemption-skill-cutoff.d.ts +64 -0
- package/dist/plugins/approval-exemption-skill-cutoff.js +122 -0
- package/dist/plugins/approval-exemption-skill-m46.d.ts +14 -0
- package/dist/plugins/approval-exemption-skill-m46.js +21 -0
- package/dist/plugins/approval-exemption-store.d.ts +32 -2
- package/dist/plugins/approval-exemption-store.js +42 -19
- 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 +36 -18
- package/dist/plugins/ensure-schema-lock-policy.js +76 -9
- package/dist/plugins/file-run-store.d.ts +85 -32
- package/dist/plugins/file-run-store.js +177 -94
- 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 +62 -23
- package/dist/plugins/local-checkpoint-store.js +197 -77
- package/dist/plugins/local-data-dir-modes-m39.js +2 -1
- package/dist/plugins/local-data-root-admission.d.ts +52 -0
- package/dist/plugins/local-data-root-admission.js +100 -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 +29 -6
- package/dist/plugins/local-engine-high-water.js +27 -19
- package/dist/plugins/local-session-store.d.ts +458 -140
- package/dist/plugins/local-session-store.js +906 -292
- 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 +53 -36
- package/dist/plugins/memory-run-store.js +116 -88
- package/dist/plugins/one-time-migration-marker.d.ts +26 -0
- package/dist/plugins/one-time-migration-marker.js +13 -0
- package/dist/plugins/one-time-migrations.d.ts +214 -47
- package/dist/plugins/one-time-migrations.js +481 -135
- package/dist/plugins/org-delivery-quota-store.d.ts +34 -11
- package/dist/plugins/org-delivery-quota-store.js +31 -15
- package/dist/plugins/permission-rule-store-file.d.ts +3 -3
- package/dist/plugins/permission-rule-store-sql.d.ts +5 -64
- package/dist/plugins/permission-rule-store-sql.js +11 -95
- package/dist/plugins/pg-pool.d.ts +2 -32
- package/dist/plugins/pg-pool.js +24 -17
- package/dist/plugins/remote-env-device.d.ts +3 -2
- package/dist/plugins/remote-env-e2b.d.ts +8 -32
- package/dist/plugins/remote-env-e2b.js +44 -32
- package/dist/plugins/remote-env-host.d.ts +51 -17
- package/dist/plugins/remote-env-host.js +111 -42
- package/dist/plugins/remote-env-k8s.d.ts +40 -45
- package/dist/plugins/remote-env-k8s.js +111 -60
- package/dist/plugins/remote-env-local-docker.d.ts +152 -15
- package/dist/plugins/remote-env-local-docker.js +352 -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 +82 -75
- package/dist/plugins/run-store-sql.js +164 -125
- 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 +56 -0
- package/dist/plugins/scenario-prefix-switch-m42.js +56 -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 +131 -14
- package/dist/plugins/schema-consistency.js +388 -18
- package/dist/plugins/schema-drift-sentence.d.ts +10 -6
- package/dist/plugins/schema-drift-sentence.js +15 -7
- 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 +27 -20
- 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 +42 -0
- package/dist/plugins/shell-sentinel-owner-m48.js +9 -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/stop-then-start-sentence.d.ts +16 -0
- package/dist/plugins/stop-then-start-sentence.js +7 -0
- package/dist/plugins/store-backend.d.ts +99 -16
- package/dist/plugins/store-backend.js +230 -65
- package/dist/plugins/store-contracts.d.ts +123 -33
- package/dist/plugins/store-contracts.js +38 -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.d.ts +11 -6
- package/dist/plugins/tidb-pool.js +39 -18
- 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/plugins/workspace-custody.d.ts +44 -0
- package/dist/plugins/workspace-custody.js +47 -0
- 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/project-identity.d.ts +8 -7
- package/dist/project-identity.js +40 -17
- package/dist/project-layer-key.d.ts +13 -2
- package/dist/project-layer-key.js +9 -1
- package/dist/question.d.ts +13 -23
- package/dist/question.js +21 -39
- package/dist/read-deny-floor-notice.d.ts +36 -0
- package/dist/read-deny-floor-notice.js +40 -0
- package/dist/{plain-string-record.d.ts → request-declaration-disposition.d.ts} +9 -23
- package/dist/request-declaration-disposition.js +39 -0
- 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-cancel-card.d.ts +28 -0
- package/dist/run-cancel-card.js +19 -0
- package/dist/run-cancel-context.d.ts +10 -0
- package/dist/run-cancel-context.js +1 -0
- package/dist/run-local.d.ts +14 -6
- package/dist/run-local.js +117 -90
- package/dist/run-stale-default.d.ts +7 -0
- package/dist/run-stale-default.js +2 -0
- package/dist/runs.d.ts +56 -21
- package/dist/runs.js +73 -43
- 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 +55 -25
- package/dist/server-secret-env.js +75 -22
- package/dist/session-agent.d.ts +3 -2
- package/dist/session-children-retire.d.ts +13 -8
- package/dist/session-children-retire.js +9 -7
- 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/session-workspace.d.ts +3 -3
- package/dist/spec-fields.d.ts +57 -3
- package/dist/spec-fields.js +72 -51
- package/dist/store-admission.d.ts +33 -0
- package/dist/store-admission.js +49 -0
- package/dist/store-posture.d.ts +141 -20
- package/dist/store-posture.js +205 -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 +34 -29
- package/dist/stores-sql/checkpoint-store-sql.js +78 -49
- package/dist/stores-sql/file-history-store-sql.d.ts +1 -1
- package/dist/stores-sql/file-history-store-sql.js +3 -5
- 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/tool-result-store-sql.d.ts +1 -1
- package/dist/stores-sql/tool-result-store-sql.js +4 -6
- 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 +3 -8
- package/dist/task-a2a.js +28 -30
- package/dist/task-cwd.d.ts +43 -7
- package/dist/task-cwd.js +11 -0
- package/dist/task-mcp.d.ts +3 -3
- package/dist/task-mcp.js +4 -4
- package/dist/task-settings.d.ts +14 -10
- package/dist/task-settings.js +19 -7
- package/dist/terminal.d.ts +27 -43
- package/dist/terminal.js +49 -14
- package/dist/tool-approval.d.ts +173 -163
- package/dist/tool-approval.js +247 -232
- 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/engine-notice-wire.d.ts +24 -21
- package/dist/trace/engine-notice-wire.js +7 -3
- 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 +4 -31
- 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 +59 -44
- package/dist/trace/project.js +60 -26
- package/dist/trace/redact.d.ts +135 -27
- package/dist/trace/redact.js +884 -260
- package/dist/trace/self-minted-wire.d.ts +567 -20
- package/dist/trace/self-minted-wire.js +205 -24
- 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 +33 -23
- 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/docs/error-text-lexicon.json +317 -0
- package/package.json +8 -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/scripts/embed-minimal.mjs +183 -0
- package/wire-changes/server@7.148.0.json +1517 -0
- package/wire-changes/server@7.149.0.json +372 -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/plain-string-record.js +0 -70
|
@@ -1,12 +1,38 @@
|
|
|
1
1
|
import { spawn } from "node:child_process";
|
|
2
2
|
import { type LaneHomeConfig } from "../lane-home-probe.js";
|
|
3
3
|
import { type LaneLogger } from "./remote-shell.js";
|
|
4
|
+
import { type CustodyMember } from "./workspace-custody.js";
|
|
4
5
|
import { FileError, ExecutionError, RemoteExecutionError, type ExecutionEnv, type RemoteExecutionEnv, type WorkspaceHandle, type FileInfo, type Result, type SymlinkChain, type OutputChunk, type ExecStreamOptions, type RemoteConnectConfig, type SnapshotId, type SessionToken, type VmLifecycleOptions, type ExecutionEnvFactory, type ExecutionEnvCapabilities } from "@sema-agent/core";
|
|
5
6
|
import { type SandboxReadFloorKnob } from "../execution-lane-caps.js";
|
|
6
7
|
import { type SandboxReadFloor } from "./sandbox-read-floor.js";
|
|
7
8
|
import type { WorkspaceFill, WorkspaceFillOf } from "./workspace-fill.js";
|
|
9
|
+
import type { LocalDockerCapacity, RegistryReading } from "./local-docker-capacity.js";
|
|
10
|
+
import type { LocalDockerReapPort } from "./local-docker-reaper.js";
|
|
8
11
|
/** Options accepted by `ExecutionEnv.exec` (core does not re-export the type; derive it from the seam). */
|
|
9
12
|
type ExecOpts = Parameters<ExecutionEnv["exec"]>[1];
|
|
13
|
+
/**
|
|
14
|
+
* 一只环境对它那只身份的容器负的责(闭集,穷举;一个事实一格 —— 环境的 `custody`):
|
|
15
|
+
* · `none` —— 什么都不持有;
|
|
16
|
+
* · `held` —— 持有这只实例(起成的 / 附着的 / 正要 `docker start` 的;先持有再动它):`docker exec` / 读地板中继指它的 id,收场删它;
|
|
17
|
+
* · `doomed` —— 决定删、删除还没被证实:永不附着;下一次连接先按 id 再删(证实才往下走),收场再删;
|
|
18
|
+
* · `doomed-unknown` —— 一次起动的结局没定(没回 id、事后问这只名也读不出):下一次读出的本 worker 那只就是它(⇒ 删);收场再问一次。
|
|
19
|
+
* 收场之后仍欠着删除(`doomed` / `doomed-unknown`)⇒ 工厂把它交给这只身份的下一只环境({@link LocalDockerEnvConfig.leftover}):删除被证实之前,谁都不附着那只容器。
|
|
20
|
+
*/
|
|
21
|
+
export type LocalDockerCustody = {
|
|
22
|
+
readonly kind: "none";
|
|
23
|
+
} | {
|
|
24
|
+
readonly kind: "held";
|
|
25
|
+
readonly id: string;
|
|
26
|
+
} | {
|
|
27
|
+
readonly kind: "doomed";
|
|
28
|
+
readonly id: string;
|
|
29
|
+
} | {
|
|
30
|
+
readonly kind: "doomed-unknown";
|
|
31
|
+
};
|
|
32
|
+
/** 欠着的删除(工厂交接的那一格)。 */
|
|
33
|
+
export type LocalDockerLeftover = Extract<LocalDockerCustody, {
|
|
34
|
+
readonly kind: "doomed" | "doomed-unknown";
|
|
35
|
+
}>;
|
|
10
36
|
/** Construction config for {@link RemoteLocalDockerExecutionEnv}. */
|
|
11
37
|
export interface LocalDockerEnvConfig extends LaneHomeConfig {
|
|
12
38
|
/**
|
|
@@ -56,13 +82,21 @@ export interface LocalDockerEnvConfig extends LaneHomeConfig {
|
|
|
56
82
|
commandTimeoutMs?: number;
|
|
57
83
|
/** Wall-clock bound (ms) for a docker control op (run/rm/inspect/cp). Default {@link DEFAULT_CONTROL_TIMEOUT_MS}. */
|
|
58
84
|
controlTimeoutMs?: number;
|
|
59
|
-
/**
|
|
60
|
-
*
|
|
85
|
+
/** 这只环境持有的工作区的身份:容器名由它与 {@link workerLabel} 确定({@link localDockerContainerNameOf}),同一 worker 上同一身份 = 同一只容器
|
|
86
|
+
* (连接时在跑就附着)。工厂恒给 `taskId ?? sessionId`;直接构造不给 ⇒ 随机身份(一只不与任何人共用的工作区)。 */
|
|
61
87
|
id?: string;
|
|
88
|
+
/** 同一身份的上一只环境收场时没能证实删掉的那只({@link LocalDockerLeftover};工厂交接,直接构造不给):本环境从它开始负责 —— 先删它,永不附着它。 */
|
|
89
|
+
leftover?: LocalDockerLeftover;
|
|
62
90
|
/** `SANDBOX_READ_FLOOR`(keep | off;缺席 ⇒ keep):本容器守不守读拒表的字节地板 = 读地板模块服务本车道 ∧ 本键不是 off(`sandbox-read-floor.ts`)。 */
|
|
63
91
|
sandboxReadFloor?: SandboxReadFloorKnob;
|
|
64
92
|
/** 恢复点的填充座(`workspace-fill.ts`;工厂按 run 装配):容器新建之后、交给本环境之前,经本适配器自己的 `docker exec` 往工作区里放内容。缺席 ⇒ 不放。 */
|
|
65
93
|
workspaceFill?: WorkspaceFill;
|
|
94
|
+
/** 本 worker 的身份标签(`sema.local-docker=<worker>`,`localDockerWorkerLabelOf(数据根)` 铸;装配在 `boot/execution-env.ts`)。**恒打**:本 worker 起的每只容器都带它,
|
|
95
|
+
* 与上限开没开无关 —— 上限只是它的读者(读数按它过滤),所以上限随时可开,开之前起的容器照计。 */
|
|
96
|
+
workerLabel: string;
|
|
97
|
+
/** 车道容器帽的闸(`local-docker-capacity.ts`;一进程一只,装配在 `boot/execution-env.ts`,同一工厂铸的 env 共用)。在场 ⇒ 每次 `docker run` 先经它准入;
|
|
98
|
+
* 缺席(`DOCKER_MAX_CONTAINERS` 0)⇒ 不准入、不读 daemon。 */
|
|
99
|
+
capacity?: LocalDockerCapacity;
|
|
66
100
|
/** 运维日志座(起服装配递本服务的 logger):暂存写「已有目标的权限位没带过去」那一行经它(缺席 ⇒ 暂存编排自建一只,见 `remote-shell.ts` `StagedWriteLane.logger`)。 */
|
|
67
101
|
logger?: LaneLogger;
|
|
68
102
|
}
|
|
@@ -72,7 +106,7 @@ export interface LocalDockerEnvDeps {
|
|
|
72
106
|
/** 这只环境手里的读地板模块(缺席 ⇒ `createSandboxReadFloor` 按旋钮选;钉注入守地板的模块)。能力块的 `keepsReadFloor` 读它的状态。 */
|
|
73
107
|
readFloor?: SandboxReadFloor;
|
|
74
108
|
}
|
|
75
|
-
export declare class RemoteLocalDockerExecutionEnv implements RemoteExecutionEnv {
|
|
109
|
+
export declare class RemoteLocalDockerExecutionEnv implements CustodyMember<LocalDockerLeftover>, RemoteExecutionEnv {
|
|
76
110
|
/** 能力块的唯一作者 = `capabilitiesFor`(`execution-lane-caps.ts`;逐键表态与理由在那里,本类零能力字面量)。读地板旋钮是它的输入,{@link floor} 由同一只判据、同一个旋钮值选出。 */
|
|
77
111
|
readonly capabilities: ExecutionEnvCapabilities;
|
|
78
112
|
/** 读拒表字节地板模块:容器里每一次 `docker exec` 起动都先经它的 `wrap`({@link startArgv},唯一接缝)。 */
|
|
@@ -89,10 +123,18 @@ export declare class RemoteLocalDockerExecutionEnv implements RemoteExecutionEnv
|
|
|
89
123
|
readonly withheldEnv: readonly [];
|
|
90
124
|
private readonly cfg;
|
|
91
125
|
private readonly spawnFn;
|
|
92
|
-
/**
|
|
126
|
+
/** 容器名(也是句柄 id)= 身份 × 本 worker 的确定名({@link localDockerContainerNameOf}):只用来**找**这只身份的容器(`docker inspect` / `docker run --name`)。 */
|
|
93
127
|
private readonly containerName;
|
|
94
|
-
/**
|
|
128
|
+
/** 这只环境对它那只身份的容器负的责({@link LocalDockerCustody}:持有 / 欠着删除 / 没有)。实例 id 是 daemon 给的、不可变 —— 名下换了一只别的容器,本环境也碰不到它。
|
|
129
|
+
* 唯一写处是本类的连接 / 起动 / 删除 / 收场;没持有 ⇒ 什么都不删(连接被拒的环境不删别人的东西)。 */
|
|
130
|
+
private custody;
|
|
131
|
+
/** 标「已连」:连接的关口全过之后 = 持有的那只实例的 id。 */
|
|
95
132
|
private containerId?;
|
|
133
|
+
/** 本环境发出的 `docker rm -f` 有没有真的删掉过一只容器(退 0;daemon 答「没有这只容器」只证实它不在,不算删)—— {@link reapWorkspace} 的读数。 */
|
|
134
|
+
private removedAny;
|
|
135
|
+
/** {@link destroy} 的那一次收场(第二次调用等同一只);工厂等它落定才给同一身份铸新环境(删除还在飞时新环境附着上去 = 随后被删)。 */
|
|
136
|
+
private teardown?;
|
|
137
|
+
private teardownSettled;
|
|
96
138
|
private handle?;
|
|
97
139
|
/** Terminal once {@link destroy} ran — guards exec/fs from running against a removed container. */
|
|
98
140
|
private destroyed;
|
|
@@ -103,7 +145,21 @@ export declare class RemoteLocalDockerExecutionEnv implements RemoteExecutionEnv
|
|
|
103
145
|
private connectRefusal?;
|
|
104
146
|
/** 家目录的座(声明在场 ⇒ 开环境那一拍对证 · 否则开容器那一拍实测 · 实测缺席 ⇒ 缺席 + 一行 warn)。与其余读得出家目录的车道同一只判官、同一句拒。 */
|
|
105
147
|
private readonly homeSeat;
|
|
148
|
+
/** 本环境的生命期信号:{@link destroy} 先断它 —— 在帽前等空位的那一次起动立刻收场(不拖满预算)。 */
|
|
149
|
+
private readonly lifecycle;
|
|
150
|
+
/** 帽前等空位的预算终点(ms epoch):第一次排队时定下 = 那一刻 + `controlTimeoutMs`,此后各次连接共用(花完后每次只读一次,有空位就起、没有立拒)。 */
|
|
151
|
+
private capacityDeadline?;
|
|
106
152
|
constructor(config: LocalDockerEnvConfig, deps?: LocalDockerEnvDeps);
|
|
153
|
+
/** 持有的那只实例的 id(`held`);其余 ⇒ 缺席 —— `docker exec` / 中继只指它。 */
|
|
154
|
+
private get instance();
|
|
155
|
+
/** 欠着的删除(收场之后工厂读它,交给同一身份的下一只环境);不欠 ⇒ 缺席。 */
|
|
156
|
+
get leftover(): LocalDockerLeftover | undefined;
|
|
157
|
+
/** 收场的进度:活着 ⇒ 缺席;{@link destroy} 开始 ⇒ 那一次收场(容器删除证实或放弃之后落定)。工厂读它:活着就交回、收场中就等它落定。 */
|
|
158
|
+
get releasing(): Promise<void> | undefined;
|
|
159
|
+
/** 收场已落定。 */
|
|
160
|
+
get released(): boolean;
|
|
161
|
+
/** 收场落定、不欠删除 ⇒ 出托管表(欠着的由同一身份的下一只拿走)。容器名由身份派生,一只身份同一时刻只有一只没收场的环境 ⇒ 它收场即删,不存在第二个持有者。 */
|
|
162
|
+
get settled(): boolean;
|
|
107
163
|
private resolve;
|
|
108
164
|
/** 收据句柄。还没连上(懒环境:续跑腿的引擎在恢复相**之前**先取它比车道)⇒ 未连接形 `{ sandboxId: "(unconnected)", provider, mountPath }`(与 k8s / e2b 车道同形),
|
|
109
165
|
* 不抛 —— 抛了,续跑腿在恢复相就失败。 */
|
|
@@ -115,8 +171,44 @@ export declare class RemoteLocalDockerExecutionEnv implements RemoteExecutionEnv
|
|
|
115
171
|
ok: false;
|
|
116
172
|
error: RemoteExecutionError;
|
|
117
173
|
}>;
|
|
174
|
+
/** 一只在飞的连接(并发的首用调用方 / 附着都 join 它 —— 只起一只容器、只附着一次);失败 ⇒ 清掉备忘,下一次重来。 */
|
|
175
|
+
private connectOnce;
|
|
176
|
+
/**
|
|
177
|
+
* 先问 daemon 这只身份的容器({@link sightContainer}),再按它的样子(状态闭集,穷举):
|
|
178
|
+
* · 不在 ⇒ 起一只({@link startContainer});
|
|
179
|
+
* · 本 worker 的 · `running` ⇒ 附着({@link attachContainer});`exited`(daemon 重起 / 宿主重启 / 外部 `docker stop` —— 可写层还在)⇒ 经容器帽准入、先持有,再 `docker start` 这只、附着;
|
|
180
|
+
* `created`(建了从没跑过 —— 上一次起动半途而废,里面什么都没有)⇒ 删掉再起;`paused` / `restarting` / `removing` / `dead` ⇒ 拒、不动它(工作区可能还在,不替运维毁掉);
|
|
181
|
+
* · 别人的 ⇒ 拒,不起、不删;读不出(含 daemon 答了一个不在闭集里的状态)⇒ 拒(读不出不是「不在」)。
|
|
182
|
+
* 问之前先还欠着的删除(`doomed`:按 id 再删,证实才往下走);上一次起动结局没定(`doomed-unknown`)⇒ 这一读读出的本 worker 那只就是它 —— 删了(证实)再按「不在」走。
|
|
183
|
+
* 欠着删除的那只永不附着。`attach-only`(`reconnect`)从不起新容器:不在 / `created` ⇒ `connect_failed`。
|
|
184
|
+
*/
|
|
118
185
|
private doConnect;
|
|
119
|
-
|
|
186
|
+
private stillOwed;
|
|
187
|
+
private notResumable;
|
|
188
|
+
/**
|
|
189
|
+
* 这只身份的容器在 daemon 上的样子 —— 一次 `docker inspect`(id + 状态 + 标签)。不在 = daemon 答「没有这个对象」;本 worker 的 = 标签里有本 worker 的那一枚
|
|
190
|
+
* (整枚 `键=值` 相等,不解析标签的形);状态不在 docker 的闭集里 / 答的形读不出 / 别的失败 ⇒ 读不出。
|
|
191
|
+
*/
|
|
192
|
+
private sightContainer;
|
|
193
|
+
/**
|
|
194
|
+
* 附着在跑的、本 worker 的那只容器实例(上一只进程起的、它没收的 —— 重起之后的续跑;`reconnect`):先持有它(此后 exec / rm 都指这只 id),再过与起新容器
|
|
195
|
+
* 同一组关口,只是来处不同 —— 先定命令用的 shell、过家目录,读地板以 `resumed` 附着(来历标记必须在),恢复点以 `restored` 放(只放附件、不播种)。
|
|
196
|
+
* 关口拒了不删它(它是这只身份停驻着的工作区,不是这次连接起的);本环境收场时照删 —— 收场就是释放这只身份的工作区。期间落下的 destroy 照样赢。
|
|
197
|
+
*/
|
|
198
|
+
private attachContainer;
|
|
199
|
+
/** 起这只身份的新容器(daemon 上没有它):准入 → `docker run` → 家目录 → 读地板(`created`)→ 恢复点(`minted`)。任一步不过 ⇒ 收掉这次起的容器,不交半只工作区。 */
|
|
200
|
+
private startContainer;
|
|
201
|
+
/**
|
|
202
|
+
* 车道容器帽的准入 —— 容器从「不占资源」变「占」之前(`docker run`、`docker start` 停着的那只)同一只:没空位 ⇒ 有界等待,到期拒(什么都没动);
|
|
203
|
+
* 放行 ⇒ 票(起动落定后按 {@link startOutcomeOf} 交回)。帽缺席 ⇒ 放行、没有票。
|
|
204
|
+
*/
|
|
205
|
+
private admitStart;
|
|
206
|
+
/**
|
|
207
|
+
* 一次起动(`docker run` / `docker start`)的结局 —— 帽的记账与失败收尾读同一个:退 0 ⇒ `present`;请求没到 daemon(二进制没起来)或 daemon 答这只名已被占用
|
|
208
|
+
* ⇒ `absent`(这一次什么都没建);其余(非零退出、超时、中止、被信号杀)⇒ `unknown`。
|
|
209
|
+
*/
|
|
210
|
+
private startOutcomeOf;
|
|
211
|
+
/** 恢复点的填充:有座 ⇒ 经 {@link fillChannel} 放(来处:新起的容器 `minted`、附着的容器 `restored`);没有 ⇒ 什么都不放。 */
|
|
120
212
|
private fillWorkspace;
|
|
121
213
|
/** 恢复点手里的通道:`docker exec` 经唯一起动接缝(起动形 `adapter`,与引擎命令同一执行用户;连接进行中,不经懒连接的文件面);写 = 容器内 `cat >` 从 stdin 收整份字节。 */
|
|
122
214
|
private fillChannel;
|
|
@@ -149,9 +241,8 @@ export declare class RemoteLocalDockerExecutionEnv implements RemoteExecutionEnv
|
|
|
149
241
|
error: RemoteExecutionError;
|
|
150
242
|
}>;
|
|
151
243
|
/**
|
|
152
|
-
*
|
|
153
|
-
*
|
|
154
|
-
* is the container name (== our handle id); a mismatch with this env's container fails closed.
|
|
244
|
+
* 附着(不是快照恢复;`sessionToken` = 容器名 = 句柄 id,不符 ⇒ 拒):没连过 ⇒ 与 {@link connect} 同一条附着路,但从不起新容器(不在 / 建了没跑过 ⇒ `connect_failed`);
|
|
245
|
+
* 起容器在飞 ⇒ join 那一次;连着 ⇒ 活性复核(名下仍是本环境持有的那只实例、在跑 ⇒ 成功,否则 `connect_failed`)。
|
|
155
246
|
*/
|
|
156
247
|
reconnect(sessionToken: SessionToken): Promise<{
|
|
157
248
|
ok: true;
|
|
@@ -160,10 +251,28 @@ export declare class RemoteLocalDockerExecutionEnv implements RemoteExecutionEnv
|
|
|
160
251
|
ok: false;
|
|
161
252
|
error: RemoteExecutionError;
|
|
162
253
|
}>;
|
|
163
|
-
/**
|
|
254
|
+
/** 收场:断生命期信号、等在飞的连接落定、关读地板中继,再还清本环境对容器负的责(持有的 / 欠着删除的按 id 删;结局没定的再问一次;没持有 ⇒ 什么都不删)。
|
|
255
|
+
* 删除证实不了 ⇒ 仍欠着({@link leftover}),工厂交给同一身份的下一只环境。幂等(第二次调用等同一只),best-effort,从不抛。 */
|
|
164
256
|
destroy(): Promise<void>;
|
|
165
257
|
cleanup(): Promise<void>;
|
|
166
|
-
|
|
258
|
+
/**
|
|
259
|
+
* 无主收割(`local-docker-reaper.ts`;调用方已按 run 行判过:这只身份的 run 终局了,没有哪条腿还会用它的工作区):认领这只身份名下本 worker 的那一只容器、经**同一只**欠着机按 id 删。
|
|
260
|
+
* 持有着的 / 欠着的 ⇒ 就是 {@link destroy} 本来要删的那一只(停驻腿留下、引擎没人销毁的环境:本进程里它就是这只环境);什么都没持有(重起之后的新环境、从没连过)⇒
|
|
261
|
+
* 先记成「结局没定」(`doomed-unknown`:下一次读出的本 worker 那只就是它)再收场 —— 名下是别人的容器 ⇒ 不动,读不出 ⇒ 仍欠着,下一轮再来。本环境此后即告终(与 `destroy` 同)。
|
|
262
|
+
* 答:`removed` = 本环境的 `docker rm -f` 真删掉了一只;`nothing` = 删除证实了、但没有我们删的(名下已没有本 worker 的容器 / 是别人的);`owed` = 删除没证实,仍欠着(下一轮再删,永不附着)。
|
|
263
|
+
*/
|
|
264
|
+
reapWorkspace(): Promise<"removed" | "nothing" | "owed">;
|
|
265
|
+
/**
|
|
266
|
+
* `docker rm -f <id>` —— 只删一只确定的容器实例(best-effort,不抛)。先记成欠着删除(`doomed`:此后永不附着它):删除被证实(退 0,或 daemon 答 no such container)
|
|
267
|
+
* ⇒ 告诉车道容器帽的闸(这只名出未定集、唤醒等空位的)、责任清掉,答 `true`;证实不了 ⇒ 仍欠着(下一次连接 / 收场再删),答 `false`。
|
|
268
|
+
*/
|
|
269
|
+
private removeInstance;
|
|
270
|
+
/** 一次起动结局没定(没回 id)时认领它的产物:问 daemon 这只名 —— 是本 worker 的 ⇒ 那是这一次起动的半成品(起之前问过:这只名不在),按 id 收掉
|
|
271
|
+
* (删不掉 ⇒ 欠着,下一次连接 / 收场再删);不在 ⇒ daemon 证实了没建出来(告诉车道容器帽的闸);别人的 ⇒ 不是这一次的,不动;读不出 ⇒ 结局没定(`doomed-unknown`)。 */
|
|
272
|
+
private claimLeftoverOfThisStart;
|
|
273
|
+
/** 车道容器帽的读数:本 worker 标签下的全部容器(全状态一次读,`名\t状态` 一行一只)。读不出 ⇒ 原因(闸把它读成「证不了有空位」,不是 0)。
|
|
274
|
+
* 两个读者一只读数口:车道容器帽的准入({@link admitStart})与无主容器回收器({@link localDockerExecutionEnvFactory} 的 `reapPort.list`)—— 「本 worker 有哪些容器」只有这一个读法。 */
|
|
275
|
+
readLaneRegistry(budgetMs: number, signal: AbortSignal | undefined): Promise<RegistryReading>;
|
|
167
276
|
exec(command: string, options?: ExecOpts): Promise<Result<{
|
|
168
277
|
stdout: string;
|
|
169
278
|
stderr: string;
|
|
@@ -245,6 +354,11 @@ export declare class RemoteLocalDockerExecutionEnv implements RemoteExecutionEnv
|
|
|
245
354
|
private floorTransport;
|
|
246
355
|
/** Spawn the docker binary with argv; collect stdout/stderr (+ raw bytes when binary), bound by timeout/abort. */
|
|
247
356
|
private docker;
|
|
357
|
+
/**
|
|
358
|
+
* 懒连接的共享一只({@link connect} 本身单飞),与调用方自己的取消赛跑:调用方的信号断了 ⇒ 它立刻拿 `aborted`,共享连接照走(别的调用方还在等它)。
|
|
359
|
+
* 连接可能在帽前等空位(每只 env 一份预算);不赛跑的话,一次被取消的工具调用要陪着等满。
|
|
360
|
+
*/
|
|
361
|
+
private joinConnect;
|
|
248
362
|
/** Lazy connect for an exec path → ExecutionError on failure (fail closed, never throws). */
|
|
249
363
|
/** S1([ref]):容器内**用户命令**的 shell。缺省 /bin/sh;首次连接后探测一次 `command -v bash`,
|
|
250
364
|
* 有则切 bash(TB 实测 dash 三病:$'\t' 静默错字节/[[ ]] 127/进程替换)。镜像无 bash(alpine 裸底)
|
|
@@ -264,15 +378,38 @@ export declare class RemoteLocalDockerExecutionEnv implements RemoteExecutionEnv
|
|
|
264
378
|
/** Map an ExecutionError from a docker CONTROL op (run/inspect) onto a RemoteExecutionError code. */
|
|
265
379
|
private dockerToRemoteError;
|
|
266
380
|
}
|
|
381
|
+
/**
|
|
382
|
+
* 一只工作区的容器名 = `sema-docker-<身份的可读形>-<摘要>`,摘要 = sha256(本 worker 标签 · 身份) 的前 12 位 hex:同一 worker 上同一身份恒同名(停驻 → 续跑、
|
|
383
|
+
* 重起之后的续跑找得到它),别的 worker 标签 / 别的身份不同名(可读形被截断或替换过也不撞)。名里不放随机尾 —— 名字就是身份。
|
|
384
|
+
*/
|
|
385
|
+
export declare function localDockerContainerNameOf(workerLabel: string, identity: string): string;
|
|
386
|
+
/**
|
|
387
|
+
* {@link localDockerContainerNameOf} 的逆:从名读回身份 —— 名 = `sema-docker-<可读形>-<12 位摘要>`;可读形就是身份本身(身份只含 `[A-Za-z0-9._-]` 且不超过 48 位)时,
|
|
388
|
+
* 用**正向函数**验证(摘要对得上本 worker 标签 × 这只身份才认,一个事实一个写法)。读不回 ⇒ `undefined`:旧版的随机尾名(摘要位是 8 位随机)、可读形被截断 / 替换过的身份、
|
|
389
|
+
* 别的 worker 铸的名、不是本适配器铸的名 —— 回收器对它们一律不动。
|
|
390
|
+
*/
|
|
391
|
+
export declare function localDockerIdentityOfName(workerLabel: string, name: string): string | undefined;
|
|
267
392
|
/**
|
|
268
393
|
* `ExecutionEnvFactory` for the TOC `local-docker` backend (DUAL-MODE-DESIGN §5). Wiring this onto a deployment
|
|
269
394
|
* makes its agent run each task in a per-task container on the worker's OWN docker daemon (isolation:true,
|
|
270
395
|
* suspendable:false). Returns the env UNCONNECTED (lazy — the container starts on first fs/exec use); the Runner
|
|
271
|
-
* owns the lifetime and calls `destroy()` (= `docker rm -f`) on task end.
|
|
272
|
-
*
|
|
396
|
+
* owns the lifetime and calls `destroy()` (= `docker rm -f`) on task end.
|
|
397
|
+
*
|
|
398
|
+
* 身份 = `ctx.taskId ?? ctx.sessionId`(与引擎交给工具的宿主任务号同一读法:顶层 run = run 号,委派子代 = 它自己的会话号 —— 子代从不带 `taskId`)。
|
|
399
|
+
* 一只身份一只工作区(工作区托管表 `workspace-custody.ts`,与 host 车道同一只):本工厂对同一身份交回**那一只**还没销毁的环境(停驻腿的环境引擎还拿着;续跑腿拿到的就是它 —— 引擎 park-only 契约要的「重连到同一工作区」,
|
|
400
|
+
* 在同一进程里就是同一只环境,读地板的中继也只有一只);上一只正在收场 ⇒ 等它的删除落定再铸;没有 ⇒ 铸一只(它连接时在跑的同名容器就附着 —— 上一只进程起的)。
|
|
401
|
+
* 收场落定的从表里清掉。
|
|
402
|
+
* 无主容器:停驻中取消 / 停驻过期(本服务在店层结清,不经引擎的仲裁器,停驻腿的环境没有销毁者)与重起之后才结清的停驻,容器一直在跑 ——
|
|
403
|
+
* 回收器(`local-docker-reaper.ts`,维护 tick 的沙箱回收腿)按它那条 run 的行已终局判无主,经本工厂的 `reapPort` 删:同一张同身份表(本进程还拿着那只环境 ⇒ 就是它收场)、
|
|
404
|
+
* 同一只欠着机(重起之后没有环境对象 ⇒ 铸一只只为删的、认领这只身份名下本 worker 的容器按 id 删)。
|
|
405
|
+
* 同一身份同一时刻只有一条腿(会话锁 + run 认领),所以交回同一只不会让两条腿同时用它。
|
|
273
406
|
*/
|
|
274
|
-
export declare function localDockerExecutionEnvFactory(config: Omit<LocalDockerEnvConfig, "workspaceFill"> & {
|
|
407
|
+
export declare function localDockerExecutionEnvFactory(config: Omit<LocalDockerEnvConfig, "workspaceFill" | "id" | "leftover"> & {
|
|
275
408
|
readonly workspaceFillOf?: WorkspaceFillOf;
|
|
276
|
-
}, deps?: LocalDockerEnvDeps):
|
|
409
|
+
}, deps?: LocalDockerEnvDeps): LocalDockerEnvFactory;
|
|
410
|
+
/** 本车道的工厂(`ExecutionEnvFactory`)+ 无主容器回收器读它的窄面({@link LocalDockerReapPort}):二者同一张同身份表、同一只欠着机。包装工厂(远端 scratchpad / worktree)之前先取走 `reapPort`。 */
|
|
411
|
+
export type LocalDockerEnvFactory = ExecutionEnvFactory & {
|
|
412
|
+
readonly reapPort: LocalDockerReapPort;
|
|
413
|
+
};
|
|
277
414
|
export {};
|
|
278
415
|
//# sourceMappingURL=remote-env-local-docker.d.ts.map
|