@sema-agent/server 7.132.0 → 7.133.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 +266 -0
- package/README.md +8 -9
- package/README.zh-CN.md +7 -6
- package/USAGE.md +174 -55
- package/deploy/sema-up/README.md +19 -1
- package/deploy/sema-up/chart/templates/server-v4pro.yaml +5 -2
- package/deploy/sema-up/chart/templates/server.yaml +5 -2
- package/deploy/sema-up/stack/compose.yaml +3 -0
- package/deploy/sema-up/stack/sema-stack-cluster.yaml +4 -2
- package/dist/adoption/plan.d.ts +3 -2
- package/dist/adoption/plan.js +7 -5
- package/dist/adoption/runner.js +3 -10
- package/dist/adoption/sql.d.ts +3 -2
- package/dist/adoption/sql.js +3 -5
- package/dist/adoption/wire.d.ts +4 -1
- package/dist/adoption/wire.js +1 -0
- package/dist/approval-ask-audit-store.d.ts +31 -13
- package/dist/approval-ask-audit-store.js +272 -74
- package/dist/approval-ask-machine.d.ts +15 -0
- package/dist/approval-ask-machine.js +6 -0
- package/dist/approval-ask-retention.d.ts +136 -0
- package/dist/approval-ask-retention.js +102 -0
- package/dist/approval-card.d.ts +79 -19
- package/dist/approval-card.js +44 -13
- package/dist/approval-deny-reasons.d.ts +1 -1
- package/dist/approval.d.ts +9 -0
- package/dist/approval.js +24 -3
- package/dist/audit.d.ts +27 -10
- package/dist/audit.js +12 -16
- package/dist/bake-runner/main.js +3 -2
- package/dist/boot/deferred-sandbox-path-env.js +1 -1
- package/dist/boot/execution-env.js +9 -7
- package/dist/boot/execution-lane.js +11 -0
- package/dist/boot/leader.js +2 -0
- package/dist/boot/memory-boundary.js +2 -2
- package/dist/boot/memory-consolidation.d.ts +5 -4
- package/dist/boot/memory-consolidation.js +7 -6
- package/dist/boot/org-delivery.d.ts +28 -0
- package/dist/boot/org-delivery.js +20 -0
- package/dist/boot/reapers.d.ts +3 -0
- package/dist/boot/reapers.js +21 -1
- package/dist/boot/resolve-spec.d.ts +3 -0
- package/dist/boot/resolve-spec.js +60 -81
- package/dist/boot/runner-deps.js +1 -0
- package/dist/boot/session-faces.d.ts +1 -0
- package/dist/boot/session-faces.js +4 -2
- package/dist/boot/stage-02-web-admin-pull.js +4 -1
- package/dist/boot/stage-06-runners.d.ts +2 -0
- package/dist/boot/stage-06-runners.js +6 -3
- package/dist/boot/stage-07-capability-layer.d.ts +2 -0
- package/dist/boot/stage-07-capability-layer.js +24 -3
- package/dist/boot/stage-08-reapers.d.ts +2 -0
- package/dist/boot/stage-08-reapers.js +2 -2
- package/dist/boot/stage-09-leader.d.ts +3 -0
- package/dist/boot/stage-10-http-server.d.ts +3 -0
- package/dist/boot/stage-10-http-server.js +5 -6
- package/dist/boot/stores.js +2 -2
- package/dist/boot/web-admin.d.ts +4 -0
- package/dist/boot/web-admin.js +151 -63
- package/dist/boot/workflow-orchestration.d.ts +2 -0
- package/dist/boot/workflow-orchestration.js +2 -1
- package/dist/brain.js +8 -3
- package/dist/breaker-key.d.ts +6 -0
- package/dist/breaker-key.js +29 -0
- package/dist/caller-text-echo.d.ts +9 -6
- package/dist/caller-text-echo.js +8 -11
- package/dist/capabilities/center-plugins.d.ts +7 -0
- package/dist/capabilities/center-plugins.js +1 -1
- package/dist/capabilities/composite-members.d.ts +1 -1
- package/dist/capabilities/composite-members.js +1 -1
- package/dist/capabilities/execution-lane.js +2 -2
- package/dist/capabilities/hands-lane.d.ts +21 -0
- package/dist/capabilities/hands-lane.js +10 -0
- package/dist/capabilities/mcp-probe.d.ts +36 -4
- package/dist/capabilities/mcp-probe.js +27 -4
- package/dist/capabilities/scenarios.d.ts +63 -7
- package/dist/capabilities/scenarios.js +39 -7
- package/dist/capability-facts.d.ts +34 -4
- package/dist/capability-facts.js +28 -2
- package/dist/center-config-tier.d.ts +69 -0
- package/dist/center-config-tier.js +42 -0
- package/dist/checkpoint-identity.d.ts +16 -0
- package/dist/checkpoint-identity.js +19 -0
- package/dist/config-catalog.d.ts +17 -10
- package/dist/config-catalog.js +43 -28
- package/dist/config-d-migration.d.ts +3 -1
- package/dist/config-d-migration.js +2 -2
- package/dist/config-dir-trust.d.ts +114 -0
- package/dist/config-dir-trust.js +388 -0
- package/dist/config-invariants.d.ts +18 -5
- package/dist/config-invariants.js +35 -3
- package/dist/config-provider.d.ts +6 -1
- package/dist/config-provider.js +6 -2
- package/dist/config-types.d.ts +71 -14
- package/dist/config-types.js +8 -0
- package/dist/config.d.ts +13 -0
- package/dist/config.js +121 -59
- package/dist/delegated-session-owner.d.ts +185 -0
- package/dist/delegated-session-owner.js +119 -0
- package/dist/device-protocol.d.ts +5 -3
- package/dist/device-protocol.js +1 -1
- package/dist/device-ws-hub.js +21 -2
- package/dist/device-ws-protocol.d.ts +70 -6
- package/dist/device-ws-protocol.js +50 -23
- package/dist/elicitation.js +3 -2
- package/dist/entry-problems.d.ts +34 -0
- package/dist/entry-problems.js +14 -0
- package/dist/execution-lane-caps.d.ts +49 -10
- package/dist/execution-lane-caps.js +43 -4
- package/dist/field-conflict.d.ts +43 -0
- package/dist/field-conflict.js +20 -0
- package/dist/fleet/fleet-bus.d.ts +80 -6
- package/dist/fleet/fleet-bus.js +41 -9
- package/dist/hooks/classic-stations.d.ts +10 -5
- package/dist/hooks/classic-stations.js +4 -4
- package/dist/hooks/command-spawn.d.ts +57 -0
- package/dist/hooks/command-spawn.js +139 -0
- package/dist/hooks/hook-llm.js +2 -2
- package/dist/hooks/hook-runner.d.ts +127 -25
- package/dist/hooks/hook-runner.js +668 -287
- package/dist/hooks/hook-source.d.ts +44 -0
- package/dist/hooks/hook-source.js +40 -0
- package/dist/http/active-run-conflict.d.ts +5 -13
- package/dist/http/active-run-conflict.js +17 -27
- package/dist/http/admission.js +103 -60
- package/dist/http/approval-sweeps.js +55 -18
- package/dist/http/caller-trust.d.ts +77 -0
- package/dist/http/caller-trust.js +143 -0
- package/dist/http/checkpoint-ctx.d.ts +16 -16
- package/dist/http/checkpoint-ctx.js +13 -10
- package/dist/http/claimed-run.d.ts +4 -3
- package/dist/http/device-placement.d.ts +2 -4
- package/dist/http/device-placement.js +2 -1
- package/dist/http/dispatch.js +10 -4
- package/dist/http/durable-run-leg.d.ts +4 -32
- package/dist/http/durable-run-leg.js +34 -10
- package/dist/http/owner-access.d.ts +56 -0
- package/dist/http/owner-access.js +42 -0
- package/dist/http/principal-gate.d.ts +48 -23
- package/dist/http/principal-gate.js +39 -12
- package/dist/http/readiness.d.ts +11 -5
- package/dist/http/readiness.js +10 -3
- package/dist/http/request-guards.d.ts +16 -23
- package/dist/http/request-guards.js +30 -15
- package/dist/http/resume-ctx-read.d.ts +2 -5
- package/dist/http/resume-ctx-read.js +7 -4
- package/dist/http/resume-legs.d.ts +3 -4
- package/dist/http/resume-legs.js +126 -69
- package/dist/http/retired-service-deps.d.ts +43 -0
- package/dist/http/retired-service-deps.js +18 -0
- package/dist/http/route-ctx.d.ts +44 -28
- package/dist/http/route-ctx.js +4 -0
- package/dist/http/route-table.js +2 -0
- package/dist/http/routes/a2a-serve.js +3 -4
- package/dist/http/routes/admin-config-refresh.js +1 -1
- package/dist/http/routes/admin-drain.js +1 -1
- package/dist/http/routes/admin-memory-optout.js +5 -1
- package/dist/http/routes/adoption.js +2 -9
- package/dist/http/routes/approvals-assistant.js +49 -48
- package/dist/http/routes/background.js +3 -2
- package/dist/http/routes/capabilities.js +20 -4
- package/dist/http/routes/config-catalog.d.ts +3 -3
- package/dist/http/routes/config-catalog.js +1 -1
- package/dist/http/routes/devices.js +3 -17
- package/dist/http/routes/diagnostics.js +5 -1
- package/dist/http/routes/images.js +6 -7
- package/dist/http/routes/leader.js +1 -8
- package/dist/http/routes/mcp-reconnect.d.ts +1 -1
- package/dist/http/routes/mcp-reconnect.js +3 -2
- package/dist/http/routes/memory-bundle.js +1 -1
- package/dist/http/routes/memory-compliance.js +1 -1
- package/dist/http/routes/memory-consolidation.js +1 -1
- package/dist/http/routes/memory-origin.js +1 -1
- package/dist/http/routes/memory-policy.d.ts +1 -1
- package/dist/http/routes/memory-policy.js +3 -2
- package/dist/http/routes/notify-wake.js +8 -21
- package/dist/http/routes/observability.js +2 -2
- package/dist/http/routes/principal-inbox.d.ts +39 -0
- package/dist/http/routes/principal-inbox.js +76 -0
- package/dist/http/routes/retention-ops.js +2 -9
- package/dist/http/routes/rules.js +5 -18
- package/dist/http/routes/runs.d.ts +5 -0
- package/dist/http/routes/runs.js +33 -106
- package/dist/http/routes/session-sync.js +15 -28
- package/dist/http/routes/sessions.js +30 -40
- package/dist/http/routes/side-query.js +6 -4
- package/dist/http/routes/tasks.js +50 -14
- package/dist/http/routes/workflows.d.ts +351 -0
- package/dist/http/routes/workflows.js +153 -119
- package/dist/http/send.d.ts +24 -3
- package/dist/http/send.js +14 -2
- package/dist/http/server.d.ts +17 -18
- package/dist/http/server.js +15 -13
- package/dist/http/stored-body-replay.js +17 -4
- package/dist/http/submit-ctx.js +4 -3
- package/dist/http/submit-replay.d.ts +4 -3
- package/dist/http/submit-replay.js +5 -4
- package/dist/http/wire-types.d.ts +10 -7
- package/dist/index.d.ts +1 -1
- package/dist/index.js +0 -1
- package/dist/lane-home-probe.d.ts +78 -9
- package/dist/lane-home-probe.js +78 -12
- package/dist/leader/endpoint.d.ts +4 -1
- package/dist/leader/endpoint.js +11 -10
- package/dist/limit-refusal.d.ts +17 -5
- package/dist/limit-refusal.js +4 -1
- package/dist/mcp-assertion-header.d.ts +31 -10
- package/dist/mcp-assertion-header.js +10 -3
- package/dist/mcp-tool-faces.js +1 -3
- package/dist/memory-project-layer.d.ts +37 -0
- package/dist/memory-project-layer.js +46 -0
- package/dist/memory-scope.d.ts +23 -16
- package/dist/memory-scope.js +24 -8
- package/dist/memory-sync-client.d.ts +27 -13
- package/dist/memory-sync-client.js +107 -18
- package/dist/model-entry-refusal.d.ts +9 -1
- package/dist/model-entry-refusal.js +6 -1
- package/dist/model-plane-face.d.ts +51 -0
- package/dist/model-plane-face.js +24 -0
- package/dist/model-provider.d.ts +5 -0
- package/dist/model-provider.js +4 -2
- package/dist/model-route-endpoint.d.ts +8 -11
- package/dist/model-route-endpoint.js +4 -7
- package/dist/model-route-env.d.ts +22 -0
- package/dist/model-route-env.js +2 -0
- package/dist/model-route-gap.d.ts +60 -30
- package/dist/model-route-gap.js +21 -15
- package/dist/observability/corrupt-read-seat.d.ts +7 -0
- package/dist/observability/corrupt-read-seat.js +9 -0
- package/dist/observability/err-text.d.ts +6 -0
- package/dist/observability/err-text.js +18 -4
- package/dist/observability/fail-open.d.ts +35 -9
- package/dist/observability/fail-open.js +35 -9
- package/dist/observability/metrics.js +1 -0
- package/dist/observability/prompt-manifest.d.ts +3 -17
- package/dist/observability/prompt-manifest.js +45 -42
- package/dist/observability/tool-trace.js +9 -9
- package/dist/operator-ask.d.ts +10 -0
- package/dist/operator-ask.js +3 -0
- package/dist/orchestration/workflow-agent-session-index.d.ts +12 -12
- package/dist/orchestration/workflow-agent-session-index.js +9 -13
- package/dist/orchestration/workflow-completion-inbox.d.ts +42 -15
- package/dist/orchestration/workflow-completion-inbox.js +13 -0
- package/dist/orchestration/workflow-notify-journal.d.ts +13 -32
- package/dist/orchestration/workflow-notify-journal.js +27 -34
- package/dist/orchestration/workflow-park-decision.d.ts +89 -0
- package/dist/orchestration/workflow-park-decision.js +118 -0
- package/dist/org-delivery-gate.d.ts +81 -0
- package/dist/org-delivery-gate.js +59 -0
- package/dist/panel-tool-names.d.ts +23 -0
- package/dist/panel-tool-names.js +8 -0
- package/dist/parked-decide.d.ts +39 -6
- package/dist/parked-decide.js +98 -51
- package/dist/parked-revive-surface.d.ts +9 -2
- package/dist/parked-revive-surface.js +11 -8
- package/dist/permission-rule-list.d.ts +1 -1
- package/dist/permission-rule-list.js +2 -2
- package/dist/plugins/approval-ask-store-file.d.ts +16 -1
- package/dist/plugins/approval-ask-store-file.js +21 -0
- package/dist/plugins/approval-ask-store-memory.d.ts +18 -1
- package/dist/plugins/approval-ask-store-memory.js +34 -2
- package/dist/plugins/approval-ask-store-sql.d.ts +25 -0
- package/dist/plugins/approval-ask-store-sql.js +37 -1
- package/dist/plugins/blob-backend.d.ts +38 -25
- package/dist/plugins/blob-backend.js +29 -19
- package/dist/plugins/breaker-state-sql.d.ts +2 -2
- package/dist/plugins/breaker-state-sql.js +4 -4
- package/dist/plugins/caching-session-store.d.ts +3 -0
- package/dist/plugins/caching-session-store.js +3 -0
- package/dist/plugins/checkpoint-store-sql.d.ts +14 -0
- package/dist/plugins/checkpoint-store-sql.js +20 -2
- package/dist/plugins/file-history-store-sql.d.ts +5 -2
- package/dist/plugins/file-history-store-sql.js +3 -1
- package/dist/plugins/file-run-store.d.ts +5 -13
- package/dist/plugins/file-run-store.js +9 -0
- package/dist/plugins/fork-routing-session-store.d.ts +9 -1
- package/dist/plugins/fork-routing-session-store.js +12 -1
- package/dist/plugins/host-platform.d.ts +2 -0
- package/dist/plugins/host-platform.js +2 -1
- package/dist/plugins/local-checkpoint-store.d.ts +2 -0
- package/dist/plugins/local-checkpoint-store.js +6 -1
- package/dist/plugins/local-session-store.d.ts +1 -1
- package/dist/plugins/local-session-window.d.ts +39 -0
- package/dist/plugins/local-session-window.js +54 -0
- package/dist/plugins/mailbox-recipient-lifecycle.d.ts +3 -2
- package/dist/plugins/mailbox-store-sql.d.ts +30 -48
- package/dist/plugins/mailbox-store-sql.js +77 -52
- package/dist/plugins/memory-embedder-fingerprint.js +2 -1
- package/dist/plugins/memory-run-store.d.ts +5 -13
- package/dist/plugins/memory-run-store.js +8 -0
- package/dist/plugins/one-time-migrations.d.ts +110 -5
- package/dist/plugins/one-time-migrations.js +320 -8
- package/dist/plugins/org-delivery-quota-store.d.ts +123 -0
- package/dist/plugins/org-delivery-quota-store.js +228 -0
- package/dist/plugins/pg-pool.js +39 -7
- package/dist/plugins/pg-session-storage.d.ts +17 -4
- package/dist/plugins/pg-session-storage.js +29 -6
- package/dist/plugins/remote-env-adb.d.ts +6 -12
- package/dist/plugins/remote-env-adb.js +12 -2
- package/dist/plugins/remote-env-k8s.d.ts +8 -12
- package/dist/plugins/remote-env-k8s.js +23 -5
- package/dist/plugins/remote-env-local-docker.d.ts +10 -15
- package/dist/plugins/remote-env-local-docker.js +12 -9
- package/dist/plugins/remote-env-ssh.d.ts +10 -16
- package/dist/plugins/remote-env-ssh.js +17 -11
- package/dist/plugins/run-store-sql.d.ts +16 -14
- package/dist/plugins/run-store-sql.js +22 -2
- package/dist/plugins/schema-indexes.js +2 -0
- package/dist/plugins/send-user-file.js +2 -2
- package/dist/plugins/session-epoch-anchor.d.ts +32 -6
- package/dist/plugins/session-epoch-anchor.js +2 -3
- package/dist/plugins/session-store.d.ts +18 -8
- package/dist/plugins/session-store.js +15 -4
- package/dist/plugins/sql-driver.d.ts +74 -11
- package/dist/plugins/sql-driver.js +210 -12
- package/dist/plugins/sql-errors.d.ts +23 -0
- package/dist/plugins/sql-errors.js +21 -0
- package/dist/plugins/store-backend.d.ts +36 -1
- package/dist/plugins/store-backend.js +40 -14
- package/dist/plugins/store-contracts.d.ts +42 -0
- package/dist/plugins/store-contracts.js +1 -0
- package/dist/plugins/tidb-pool.d.ts +6 -1
- package/dist/plugins/tidb-pool.js +44 -10
- package/dist/plugins/tidb-session-storage.d.ts +3 -2
- package/dist/plugins/tidb-session-storage.js +2 -2
- package/dist/plugins/tidb-session-store.d.ts +24 -4
- package/dist/plugins/tidb-session-store.js +28 -4
- package/dist/plugins/workflow-journal-store-sql.d.ts +73 -19
- package/dist/plugins/workflow-journal-store-sql.js +19 -6
- package/dist/plugins/workflow-run-store-sql.d.ts +30 -8
- package/dist/plugins/workflow-run-store-sql.js +50 -9
- package/dist/posture-source.d.ts +18 -10
- package/dist/posture-source.js +4 -1
- package/dist/project-identity.d.ts +45 -6
- package/dist/project-identity.js +162 -8
- package/dist/project-layer-key.d.ts +28 -0
- package/dist/project-layer-key.js +29 -0
- package/dist/question.js +3 -2
- package/dist/read-deny-entry.d.ts +25 -0
- package/dist/read-deny-entry.js +12 -0
- package/dist/read-face-posture.d.ts +37 -11
- package/dist/read-face-posture.js +32 -3
- package/dist/request-key-closure.d.ts +7 -0
- package/dist/request-key-closure.js +9 -1
- package/dist/request-value-closure.d.ts +5 -0
- package/dist/request-value-closure.js +11 -3
- package/dist/rule-entry-list.d.ts +26 -2
- package/dist/rule-entry-list.js +72 -12
- package/dist/rules-consent.js +3 -4
- package/dist/run-acceptance.d.ts +19 -3
- package/dist/run-acceptance.js +13 -1
- package/dist/run-local.js +36 -6
- package/dist/runs.d.ts +10 -9
- package/dist/runs.js +21 -3
- package/dist/runtime-caps-resolver.d.ts +16 -6
- package/dist/runtime-caps-resolver.js +18 -5
- package/dist/sandbox-pkg-source.d.ts +19 -1
- package/dist/sandbox-pkg-source.js +29 -7
- package/dist/security.d.ts +87 -9
- package/dist/security.js +52 -9
- package/dist/session-error-wire.d.ts +19 -2
- package/dist/session-error-wire.js +5 -1
- package/dist/session-titled-frame.d.ts +33 -0
- package/dist/session-titled-frame.js +4 -0
- package/dist/session-titler.d.ts +9 -1
- package/dist/session-titler.js +15 -4
- package/dist/spec-fields.js +21 -2
- package/dist/sql-engine-posture.d.ts +3 -1
- package/dist/task-cwd.d.ts +1 -1
- package/dist/task-mcp.d.ts +3 -3
- package/dist/task-mcp.js +7 -66
- package/dist/task-settings.d.ts +89 -88
- package/dist/task-settings.js +71 -63
- package/dist/text-bidi.d.ts +0 -4
- package/dist/text-bidi.js +1 -3
- package/dist/tighten-only-seats.d.ts +150 -0
- package/dist/tighten-only-seats.js +196 -0
- package/dist/tool-approval.d.ts +303 -87
- package/dist/tool-approval.js +623 -239
- package/dist/trace/core-keyset-guard.d.ts +104 -22
- package/dist/trace/exit-seat.d.ts +28 -0
- package/dist/trace/exit-seat.js +76 -0
- package/dist/trace/ledger-events.d.ts +3 -2
- package/dist/trace/project.d.ts +80 -12
- package/dist/trace/project.js +41 -28
- package/dist/trace/projection-table.d.ts +100 -0
- package/dist/trace/projection-table.js +130 -0
- package/dist/trace/redact.d.ts +54 -0
- package/dist/trace/redact.js +778 -152
- package/dist/trace/self-minted-wire.d.ts +345 -1
- package/dist/trace/self-minted-wire.js +117 -1
- package/dist/trace/wire-projection-faces.d.ts +298 -2
- package/dist/trace/wire-projection-faces.js +154 -13
- package/dist/url-refusal.js +2 -0
- package/dist/web-admin-client/apply-effective.d.ts +12 -0
- package/dist/web-admin-client/apply-effective.js +56 -5
- package/dist/web-admin-client/facade.d.ts +1 -1
- package/dist/web-admin-client/facade.js +1 -1
- package/dist/web-admin-client/read-face.js +5 -9
- package/dist/web-admin-client/skills-mcp.js +4 -5
- package/docs/DEVICE-EXECUTOR-PROTOCOL.md +57 -9
- package/package.json +7 -3
|
@@ -64,7 +64,27 @@ export function mutateInPlace(target, source) {
|
|
|
64
64
|
Object.assign(target, source);
|
|
65
65
|
}
|
|
66
66
|
const appliedGeneration = new WeakMap();
|
|
67
|
-
const
|
|
67
|
+
const envModelPlane = new WeakMap();
|
|
68
|
+
function envModelPlaneOf(config) {
|
|
69
|
+
let snap = envModelPlane.get(config);
|
|
70
|
+
if (snap === undefined) {
|
|
71
|
+
snap = {
|
|
72
|
+
models: { ...config.models },
|
|
73
|
+
model: config.envModel,
|
|
74
|
+
modelApiKeyEnv: { ...config.modelApiKeyEnv },
|
|
75
|
+
modelApiKeys: { ...config.modelApiKeys },
|
|
76
|
+
modelRefusals: { ...config.modelRefusals },
|
|
77
|
+
droppedCatalogEntries: [...config.droppedCatalogEntries],
|
|
78
|
+
quotaWeights: { ...config.modelQuotaWeights },
|
|
79
|
+
roles: { ...config.roles },
|
|
80
|
+
activeTiers: { ...config.tiers },
|
|
81
|
+
atMention: config.atMention,
|
|
82
|
+
infoLine: {},
|
|
83
|
+
};
|
|
84
|
+
envModelPlane.set(config, snap);
|
|
85
|
+
}
|
|
86
|
+
return snap;
|
|
87
|
+
}
|
|
68
88
|
function stageAtMention(raw, usableNames, logger) {
|
|
69
89
|
const read = readAtMention(raw);
|
|
70
90
|
if (read === undefined) {
|
|
@@ -172,7 +192,7 @@ function commitStaged(config, staged) {
|
|
|
172
192
|
config.droppedCatalogEntries = mp.droppedCatalogEntries;
|
|
173
193
|
mutateInPlace(config.modelQuotaWeights, mp.quotaWeights);
|
|
174
194
|
mutateInPlace(config.models, mp.models);
|
|
175
|
-
config.model =
|
|
195
|
+
config.model = mp.model;
|
|
176
196
|
mutateInPlace(config.roles, mp.roles);
|
|
177
197
|
mutateInPlace(config.tiers, mp.activeTiers);
|
|
178
198
|
config.atMention = mp.atMention;
|
|
@@ -227,7 +247,38 @@ function modelPlaneGroupReport(group) {
|
|
|
227
247
|
};
|
|
228
248
|
}
|
|
229
249
|
const ROLE_BINDING_UNAVAILABLE_HINT = "tasks resolving this role fail: alias/tier expansion cannot mint this name; the engine refuses it loud — bind the role to a usable model, or make the entry usable (see the entry's own warn)";
|
|
250
|
+
export const NO_CENTER_EFFECTIVE = deepFreeze({ version: 0, updatedAt: "", models: { models: [], roles: {} }, mcp: { servers: [] } });
|
|
251
|
+
export const isNoCenterEffective = (eff) => eff === NO_CENTER_EFFECTIVE;
|
|
252
|
+
function deepFreeze(v) {
|
|
253
|
+
if (v !== null && typeof v === "object") {
|
|
254
|
+
for (const x of Object.values(v))
|
|
255
|
+
deepFreeze(x);
|
|
256
|
+
Object.freeze(v);
|
|
257
|
+
}
|
|
258
|
+
return v;
|
|
259
|
+
}
|
|
260
|
+
function stageEnvModelPlane(config) {
|
|
261
|
+
if (servedModelTableLeg(config) === "env")
|
|
262
|
+
return { stages: {} };
|
|
263
|
+
const snap = envModelPlane.get(config);
|
|
264
|
+
if (snap === undefined)
|
|
265
|
+
throw new Error("applyEffective: the center model plane is in force but no env snapshot was taken — the model plane was written outside applyEffective, so the no-center tier has no baseline to return to");
|
|
266
|
+
return {
|
|
267
|
+
stages: {
|
|
268
|
+
models: {
|
|
269
|
+
...snap,
|
|
270
|
+
modelApiKeyEnv: { ...snap.modelApiKeyEnv },
|
|
271
|
+
modelApiKeys: { ...snap.modelApiKeys },
|
|
272
|
+
modelRefusals: { ...snap.modelRefusals },
|
|
273
|
+
droppedCatalogEntries: [...snap.droppedCatalogEntries],
|
|
274
|
+
infoLine: { source: "no-center-baseline", default: snap.model.id, roles: Object.keys(snap.roles), tiers: [], atMention: snap.atMention.mode },
|
|
275
|
+
},
|
|
276
|
+
},
|
|
277
|
+
};
|
|
278
|
+
}
|
|
230
279
|
function stageModelPlane(config, eff, logger, sealedKeys) {
|
|
280
|
+
if (isNoCenterEffective(eff))
|
|
281
|
+
return stageEnvModelPlane(config);
|
|
231
282
|
const enabled = (eff.models?.models ?? []).filter((m) => m.enabled !== false);
|
|
232
283
|
const verdict = judgeCatalogEntries(enabled, { anthropicRouteMounted: config.anthropic !== undefined }, eff.models?.droppedCatalogEntries);
|
|
233
284
|
if (enabled.length === 0 && verdict.malformed.length === 0 && verdict.dropped.every((row) => row.identity?.enabled === false))
|
|
@@ -293,8 +344,7 @@ function stageModelPlane(config, eff, logger, sealedKeys) {
|
|
|
293
344
|
quotaWeights[m.id] = qw;
|
|
294
345
|
}
|
|
295
346
|
}
|
|
296
|
-
|
|
297
|
-
envRolesBaseline.set(config, { ...config.roles });
|
|
347
|
+
const envPlane = envModelPlaneOf(config);
|
|
298
348
|
const centerRoles = {};
|
|
299
349
|
for (const [role, tgt] of Object.entries(eff.models.roles ?? {})) {
|
|
300
350
|
if ("model" in tgt)
|
|
@@ -302,7 +352,7 @@ function stageModelPlane(config, eff, logger, sealedKeys) {
|
|
|
302
352
|
else if ("select" in tgt)
|
|
303
353
|
centerRoles[role] = { select: tgt.select };
|
|
304
354
|
}
|
|
305
|
-
const roles = { ...
|
|
355
|
+
const roles = { ...envPlane.roles, ...centerRoles };
|
|
306
356
|
const activeTiers = {};
|
|
307
357
|
for (const [tier, target] of Object.entries(resolveActiveTiers(eff.models) ?? {})) {
|
|
308
358
|
if (models[target] !== undefined) {
|
|
@@ -365,6 +415,7 @@ function stageModelPlane(config, eff, logger, sealedKeys) {
|
|
|
365
415
|
const defaultModel = models.default;
|
|
366
416
|
const plane = {
|
|
367
417
|
models,
|
|
418
|
+
model: defaultModel,
|
|
368
419
|
modelApiKeyEnv,
|
|
369
420
|
modelApiKeys,
|
|
370
421
|
modelRefusals: { ...verdict.refused },
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
* importers to update, which was done in the same commit.
|
|
49
49
|
*/
|
|
50
50
|
export { fetchEffective, fetchPrincipalCaps, fetchPrincipalOrgMemory, WebAdminHttpError, fetchSkillContent, fetchPromptArtifact, fetchPromptBlob, } from "./http-client.js";
|
|
51
|
-
export { mutateInPlace, applyEffective, type ApplyReport, applyRuntimeGates, applyRuntimeHot, logEffectiveDiff, MODEL_PLANE_DOMAINS, type ModelPlaneDomain, type ModelPlaneOf, withModelPlaneOf, fullyLandedForLkg, } from "./apply-effective.js";
|
|
51
|
+
export { mutateInPlace, applyEffective, NO_CENTER_EFFECTIVE, isNoCenterEffective, type ApplyReport, applyRuntimeGates, applyRuntimeHot, logEffectiveDiff, MODEL_PLANE_DOMAINS, type ModelPlaneDomain, type ModelPlaneOf, withModelPlaneOf, fullyLandedForLkg, } from "./apply-effective.js";
|
|
52
52
|
export { restartReasons, modelPlaneChanged, type RestartSlice, type RestartSliceCtx, type EngineRestartSignal, } from "./restart-signal.js";
|
|
53
53
|
export { applySkillsManifest, resolveMcpServers, mcpForScenario, resolveA2aPeers, a2aForScenario } from "./skills-mcp.js";
|
|
54
54
|
export { applyCenterReadFace, buildReadFaceBaseline, buildReadFaceSwapCandidate, restoreReadFaceBaseline, CENTER_READ_FACE_LIVE_KEYS, type CenterReadFaceApply, type CenterReadFaceReport, type ReadFaceBaseline, type ReadFaceSeat } from "./read-face.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { fetchEffective, fetchPrincipalCaps, fetchPrincipalOrgMemory, WebAdminHttpError, fetchSkillContent, fetchPromptArtifact, fetchPromptBlob, } from "./http-client.js";
|
|
2
|
-
export { mutateInPlace, applyEffective, applyRuntimeGates, applyRuntimeHot, logEffectiveDiff, MODEL_PLANE_DOMAINS, withModelPlaneOf, fullyLandedForLkg, } from "./apply-effective.js";
|
|
2
|
+
export { mutateInPlace, applyEffective, NO_CENTER_EFFECTIVE, isNoCenterEffective, applyRuntimeGates, applyRuntimeHot, logEffectiveDiff, MODEL_PLANE_DOMAINS, withModelPlaneOf, fullyLandedForLkg, } from "./apply-effective.js";
|
|
3
3
|
export { restartReasons, modelPlaneChanged, } from "./restart-signal.js";
|
|
4
4
|
export { applySkillsManifest, resolveMcpServers, mcpForScenario, resolveA2aPeers, a2aForScenario } from "./skills-mcp.js";
|
|
5
5
|
export { applyCenterReadFace, buildReadFaceBaseline, buildReadFaceSwapCandidate, restoreReadFaceBaseline, CENTER_READ_FACE_LIVE_KEYS } from "./read-face.js";
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { compileReadDeny, isSwappableDepSeat, resolveReadDenyBuiltins } from "@sema-agent/core";
|
|
2
|
+
import { readReadDenyEntry } from "../read-deny-entry.js";
|
|
2
3
|
export function buildReadFaceBaseline(config) {
|
|
3
4
|
return {
|
|
4
5
|
...(config.readFace !== undefined ? { readFace: config.readFace } : {}),
|
|
@@ -44,15 +45,10 @@ function normalizeDenyPatterns(raw) {
|
|
|
44
45
|
if (!Array.isArray(raw))
|
|
45
46
|
throw new ReadFaceDomainError("readFace.denyPatterns must be an array of \"pattern\" strings or {pattern, caseSensitive?} objects");
|
|
46
47
|
return raw.map((it, i) => {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
52
|
-
const cs = it.caseSensitive;
|
|
53
|
-
if (cs !== undefined && typeof cs !== "boolean")
|
|
54
|
-
throw new ReadFaceDomainError(`readFace.denyPatterns[${i}].caseSensitive must be boolean when present`);
|
|
55
|
-
return { pattern: it.pattern, caseSensitive: cs === true };
|
|
48
|
+
const read = readReadDenyEntry(it);
|
|
49
|
+
if (!read.ok)
|
|
50
|
+
throw new ReadFaceDomainError(`readFace.denyPatterns[${i}]${read.after}`);
|
|
51
|
+
return read.entry;
|
|
56
52
|
});
|
|
57
53
|
}
|
|
58
54
|
function assertFace(raw) {
|
|
@@ -2,9 +2,8 @@ import { readMcpSourceLabel } from "../mcp-source-label.js";
|
|
|
2
2
|
import { readMcpToolFaces } from "../mcp-tool-faces.js";
|
|
3
3
|
import { skillContentHash } from "@sema-agent/settings-schema";
|
|
4
4
|
import { readMcpToolAxes } from "@sema-agent/core";
|
|
5
|
-
import { MCP_CONTENT_ORIGINS, isContentOriginWord, isUsableWireName } from "@sema-agent/settings-schema";
|
|
6
|
-
import {
|
|
7
|
-
import { noteMcpAssertionHeaderNotSent } from "../mcp-assertion-header.js";
|
|
5
|
+
import { MCP_CONTENT_ORIGINS, describeBadContentOrigin, describeBadWireName, isContentOriginWord, isUsableWireName } from "@sema-agent/settings-schema";
|
|
6
|
+
import { noteMcpAssertionHeaderNotSent, sentMcpAssertionHeaderMember, withholdsMcpAssertionHeader } from "../mcp-assertion-header.js";
|
|
8
7
|
import { SHA256_HEX_RE } from "../digest-form.js";
|
|
9
8
|
function skillBodyPresent(body) {
|
|
10
9
|
return body !== undefined && body !== "";
|
|
@@ -150,11 +149,11 @@ export function resolveMcpServers(mcp, logger) {
|
|
|
150
149
|
const headers = resolveRefs(s.transport.headerRefs, s.name, "header", logger);
|
|
151
150
|
if (headers === null)
|
|
152
151
|
continue;
|
|
153
|
-
if (s.transport.assertionHeader
|
|
152
|
+
if (withholdsMcpAssertionHeader(s.transport.assertionHeader))
|
|
154
153
|
noteMcpAssertionHeaderNotSent(logger, s.name);
|
|
155
154
|
out.push({
|
|
156
155
|
scenarios: s.scenarios ?? [],
|
|
157
|
-
spec: { name: s.name, transport: { kind: "http", url: s.transport.url, ...(Object.keys(headers).length ? { headers } : {}), ...(s.transport.principalHeader ? { principalHeader: s.transport.principalHeader } : {}) }, ...allow, ...elicit, ...contentOrigin, ...source, ...toolFaces, ...toolAxes },
|
|
156
|
+
spec: { name: s.name, transport: { kind: "http", url: s.transport.url, ...(Object.keys(headers).length ? { headers } : {}), ...(s.transport.principalHeader ? { principalHeader: s.transport.principalHeader } : {}), ...sentMcpAssertionHeaderMember(s.transport.assertionHeader) }, ...allow, ...elicit, ...contentOrigin, ...source, ...toolFaces, ...toolAxes },
|
|
158
157
|
});
|
|
159
158
|
}
|
|
160
159
|
}
|
|
@@ -20,7 +20,8 @@ dials the device, so the device needs no inbound port, no public address and no
|
|
|
20
20
|
(this deployment has no device lane) or an object `{ enabled: true, protocolVersion, maxInflightPerDevice,
|
|
21
21
|
wsPath, management }`. Read `wsPath` from there rather than hardcoding it: the path is part of the wire
|
|
22
22
|
contract and reading it means a future path change is not a cross-repo break. `protocolVersion` tells you
|
|
23
|
-
which
|
|
23
|
+
which protocol **revision** the server speaks before you spend a handshake finding out (§2.1: the revision decides
|
|
24
|
+
which `errorCode` words the server accepts from you).
|
|
24
25
|
|
|
25
26
|
---
|
|
26
27
|
|
|
@@ -144,6 +145,13 @@ The server sends `challenge` immediately on open. From the moment the socket ope
|
|
|
144
145
|
the handshake completes, **frames are capped at `maxPreAuthFrameBytes` (4096 bytes)** and a malformed
|
|
145
146
|
pre-auth frame closes the connection outright.
|
|
146
147
|
|
|
148
|
+
**Which revision to declare.** `challenge.protocolVersion` is the highest protocol revision this server speaks
|
|
149
|
+
(`DEVICE_MIN_PROTOCOL_VERSION` is the lowest it accepts, §2.1). Put the highest revision *you* implement that is
|
|
150
|
+
not above `challenge.protocolVersion` into `hello.protocolVersion` — the same integer you sign (§1.3) — and emit
|
|
151
|
+
only the `errorCode` words of that revision (the revision table in §2.1). Nothing is renegotiated after `hello`:
|
|
152
|
+
the revision you declared is the contract for the whole connection. If the highest revision you implement is below
|
|
153
|
+
`DEVICE_MIN_PROTOCOL_VERSION`, the server answers `helloReject: protocol_version_unsupported` (§1.4).
|
|
154
|
+
|
|
147
155
|
### 1.3 The `hello` signature (byte-exact — do not improvise)
|
|
148
156
|
|
|
149
157
|
Sign with the device private key over exactly these bytes:
|
|
@@ -245,18 +253,32 @@ backoff, exponential to a 60 s ceiling, jittered — except for `revoked`, which
|
|
|
245
253
|
|
|
246
254
|
`helloAck` carries:
|
|
247
255
|
|
|
256
|
+
<!-- closed-set: DEVICE_HELLO_ACK_BOUNDS -->
|
|
257
|
+
|
|
248
258
|
| Field | Form | Meaning |
|
|
249
259
|
|---|---|---|
|
|
250
260
|
| `ok` | always `true` | — |
|
|
251
|
-
| `heartbeatIntervalMs` | integer ms | how often you should send `heartbeat` (deployment default 15000) |
|
|
252
|
-
| `maxInflight` | integer | how many instructions the server will have outstanding on this device at once (deployment default 4) |
|
|
261
|
+
| `heartbeatIntervalMs` | `integer ms ≥ 1` | how often you should send `heartbeat` (deployment default 15000) |
|
|
262
|
+
| `maxInflight` | `integer ≥ 1` | how many instructions the server will have outstanding on this device at once (deployment default 4) |
|
|
253
263
|
| `gen` | **canonical decimal string** (`"7"`, never `7`, never `"07"`) | the connection generation. Stamp it on every frame you send |
|
|
254
264
|
| `pendingInstructions` | `string[]` | instruction ids the server still considers in flight for you — see §5 R2 |
|
|
255
265
|
| `chunkWatermarks` | `{ [instructionId]: number }` | per instruction, the highest **contiguous** `streamSeq` the server has already accepted. `-1` means "nothing accepted yet" |
|
|
256
|
-
| `reconnectGraceMs` | integer ms | the reconnect grace **in force on this server** (R4): how long in-flight work survives a dropped socket. Deployment-tunable, default 120000 |
|
|
257
|
-
| `cancelGraceMs` | integer ms | the cancel grace in force (R11): how long after a `cancel` is delivered the server waits for your terminal `result`. Default 10000 |
|
|
258
|
-
| `chunkGapTimeoutMs` | integer ms | the chunk-gap timeout in force (R8): how long the server waits for a missing `streamSeq` before failing the instruction. Default 30000 |
|
|
259
|
-
| `executionCeilingGraceMs` | integer ms | the grace added to an instruction's `timeoutMs` before the server gives up and settles it as outcome-unknown (R12: the ceiling is `timeoutMs + executionCeilingGraceMs`). Default 30000 |
|
|
266
|
+
| `reconnectGraceMs` | `integer ms ≥ 0` | the reconnect grace **in force on this server** (R4): how long in-flight work survives a dropped socket. Deployment-tunable, default 120000 |
|
|
267
|
+
| `cancelGraceMs` | `integer ms ≥ 0` | the cancel grace in force (R11): how long after a `cancel` is delivered the server waits for your terminal `result`. Default 10000 |
|
|
268
|
+
| `chunkGapTimeoutMs` | `integer ms ≥ 0` | the chunk-gap timeout in force (R8): how long the server waits for a missing `streamSeq` before failing the instruction. Default 30000 |
|
|
269
|
+
| `executionCeilingGraceMs` | `integer ms ≥ 0` | the grace added to an instruction's `timeoutMs` before the server gives up and settles it as outcome-unknown (R12: the ceiling is `timeoutMs + executionCeilingGraceMs`). Default 30000 |
|
|
270
|
+
|
|
271
|
+
**Bounds.** The six numeric fields above are validated by the server when it starts: a deployment whose knob (or
|
|
272
|
+
embedding option) is outside its row's range refuses to boot — the value is never clamped and never replaced by a
|
|
273
|
+
default — so a `helloAck` on the wire is always in range, and every number in it is the value the server's own
|
|
274
|
+
timers and slot counts are armed with. Every `ms` field is also at most `2147483647` (the largest delay a
|
|
275
|
+
timer can hold; a larger value would be silently collapsed to 1 ms); `maxInflight` has no ceiling beyond an
|
|
276
|
+
integer JSON represents exactly (at most `9007199254740991`). A `0` grace means "no grace": that timer
|
|
277
|
+
fires at once. An executor that reads a value outside its row's range must treat it as a protocol violation — the executor-side twin
|
|
278
|
+
of the server's `bad_shape` refusal (§2.4): close the connection and reconnect with backoff — and must **not** read the
|
|
279
|
+
out-of-range value as the default.
|
|
280
|
+
`deviceHelloAckNumberFlaw` (from `@sema-agent/server/device-protocol`) is the same check the server applies.
|
|
281
|
+
The *absence* of one of the four grace fields is a different case, described below, and still means "not told".
|
|
260
282
|
|
|
261
283
|
The four grace fields are the values the server's own timers are armed with — not documentation defaults. Size
|
|
262
284
|
your reconnect backoff ceiling, your `cancel` answer deadline, your retransmission cadence and your own
|
|
@@ -314,8 +336,8 @@ base64 inside JSON fields.
|
|
|
314
336
|
| Constant | Value | Meaning |
|
|
315
337
|
|---|---|---|
|
|
316
338
|
| `DEVICE_WS_PATH` | `/v1/device/ws` | the upgrade path (prefer the `wsPath` from `/v1/capabilities`) |
|
|
317
|
-
| `DEVICE_PROTOCOL_VERSION` | `
|
|
318
|
-
| `DEVICE_MIN_PROTOCOL_VERSION` | `1` | the lowest
|
|
339
|
+
| `DEVICE_PROTOCOL_VERSION` | `2` | the protocol revision this server speaks (the highest it accepts) |
|
|
340
|
+
| `DEVICE_MIN_PROTOCOL_VERSION` | `1` | the lowest revision it accepts; below it (or above the highest), a loud `helloReject` — never a silent downgrade |
|
|
319
341
|
| `DEVICE_HELLO_DOMAIN_TAG` | `sema.device.hello.v1` | the handshake signature domain tag (§1.3) |
|
|
320
342
|
|
|
321
343
|
<!-- closed-set: DEVICE_WS_LIMITS -->
|
|
@@ -330,6 +352,29 @@ base64 inside JSON fields.
|
|
|
330
352
|
Note the asymmetry: the transport cap is 1 MiB, and the 4096-byte pre-auth cap is applied **after** the
|
|
331
353
|
frame has been reassembled. Keep `hello` small; it is not a place for long `supports` prose.
|
|
332
354
|
|
|
355
|
+
#### Protocol revisions and the `errorCode` set
|
|
356
|
+
|
|
357
|
+
The protocol revision is the only thing an executor can read *before* it sends `hello` (the `challenge` frame
|
|
358
|
+
carries it), so the set of `errorCode` words the server accepts from you is a function of the revision, not a
|
|
359
|
+
separate list. The table gives, per revision, the words **added** at that revision; the set at revision *N* is
|
|
360
|
+
the union of the rows up to *N*, and the full set at the current revision is the §3.3 table.
|
|
361
|
+
|
|
362
|
+
<!-- closed-set: DEVICE_OUTCOME_ERROR_CODES_BY_REVISION -->
|
|
363
|
+
|
|
364
|
+
| Revision | `errorCode` words added at this revision |
|
|
365
|
+
|---|---|
|
|
366
|
+
| `1` | `aborted`, `already_exists`, `auth_failed`, `callback_error`, `invalid`, `is_directory`, `not_directory`, `not_found`, `not_supported`, `outcome_unknown`, `permission_denied`, `precondition_failed`, `shell_unavailable`, `spawn_error`, `suspended`, `target_unavailable`, `timeout`, `transport_lost`, `unknown` |
|
|
367
|
+
| `2` | `liveness_no_output` |
|
|
368
|
+
|
|
369
|
+
Rules: adding a frame or a field is additive and does not raise the revision; adding a word to a closed set the
|
|
370
|
+
server *accepts from you* (today: the `errorCode` set) raises `DEVICE_PROTOCOL_VERSION` and adds a row here; a
|
|
371
|
+
released row never changes. Declare a revision as §1.2 says and send only the words of that revision: an executor
|
|
372
|
+
that declared revision 1 never sends `liveness_no_output` (the server does not police this per connection — it
|
|
373
|
+
decodes every connection against the current revision's full set — but a word above your declared revision is outside
|
|
374
|
+
your contract). The same sets are importable:
|
|
375
|
+
`DEVICE_OUTCOME_ERROR_CODES_BY_REVISION` and `deviceOutcomeErrorCodesAt(revision)` from
|
|
376
|
+
`@sema-agent/server/device-protocol`.
|
|
377
|
+
|
|
333
378
|
### 2.2 Device → server frames
|
|
334
379
|
|
|
335
380
|
<!-- closed-set: DEVICE_FRAME_TYPES -->
|
|
@@ -515,6 +560,9 @@ a moment ago. If you omit `created`, the consumer reports the weaker of the two
|
|
|
515
560
|
|
|
516
561
|
`message` is required on the failure arm and is shown to the model — make it specific.
|
|
517
562
|
|
|
563
|
+
This is the full set at the current revision (`2`); the revision table in §2.1 says which revision each word arrived
|
|
564
|
+
with, and an executor sends only the words of the revision it declared (§1.2).
|
|
565
|
+
|
|
518
566
|
<!-- closed-set: DEVICE_OUTCOME_ERROR_CODES -->
|
|
519
567
|
|
|
520
568
|
| `errorCode` | Use it when |
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sema-agent/server",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.133.0",
|
|
4
4
|
"description": "Sema Server — the server/API implementation layer for Sema, wiring core, registry, model providers, and cloud agent execution. Built on @sema-agent/core.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "BUSL-1.1",
|
|
@@ -18,6 +18,10 @@
|
|
|
18
18
|
"types": "./dist/device-protocol.d.ts",
|
|
19
19
|
"default": "./dist/device-protocol.js"
|
|
20
20
|
},
|
|
21
|
+
"./model-route-env": {
|
|
22
|
+
"types": "./dist/model-route-env.d.ts",
|
|
23
|
+
"default": "./dist/model-route-env.js"
|
|
24
|
+
},
|
|
21
25
|
"./package.json": "./package.json",
|
|
22
26
|
"./deploy/sema-up/lanes.json": "./deploy/sema-up/lib/lanes.json"
|
|
23
27
|
},
|
|
@@ -65,7 +69,7 @@
|
|
|
65
69
|
},
|
|
66
70
|
"dependencies": {
|
|
67
71
|
"@sema-agent/core": "7.53.0",
|
|
68
|
-
"@sema-agent/settings-schema": "14.
|
|
72
|
+
"@sema-agent/settings-schema": "14.2.0",
|
|
69
73
|
"e2b": "^2.28.0",
|
|
70
74
|
"libsodium-wrappers": "^0.8.4",
|
|
71
75
|
"mysql2": "^3.22.4",
|
|
@@ -80,7 +84,7 @@
|
|
|
80
84
|
"sharp": "^0.35.3"
|
|
81
85
|
},
|
|
82
86
|
"devDependencies": {
|
|
83
|
-
"@sema-agent/sdk": "
|
|
87
|
+
"@sema-agent/sdk": "24.0.0",
|
|
84
88
|
"@types/libsodium-wrappers": "^0.7.14",
|
|
85
89
|
"@types/node": "22.10.2",
|
|
86
90
|
"@types/pg": "^8.20.0",
|