@sema-agent/server 7.141.0 → 7.143.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 +657 -0
- package/USAGE.md +102 -30
- package/dist/adoption/plan.js +22 -0
- package/dist/approval-ask-audit-store.d.ts +61 -43
- package/dist/approval-ask-audit-store.js +69 -44
- package/dist/approval-ask-machine.d.ts +15 -7
- package/dist/approval-ask-machine.js +10 -4
- package/dist/approval-card.d.ts +126 -27
- package/dist/approval-card.js +103 -23
- package/dist/approval-crash-convergence.d.ts +17 -7
- package/dist/approval-crash-convergence.js +94 -22
- package/dist/approval-deny-reasons.d.ts +34 -30
- package/dist/approval-deny-reasons.js +21 -6
- package/dist/approval-policy-settlement.d.ts +1 -1
- package/dist/approval-queue-kind.d.ts +27 -0
- package/dist/approval-queue-kind.js +6 -0
- package/dist/approval-reconciler.d.ts +41 -9
- package/dist/approval-reconciler.js +45 -42
- package/dist/audit.js +4 -2
- package/dist/auth-bridge.d.ts +9 -6
- package/dist/auth-bridge.js +9 -3
- package/dist/boot/adoption.js +2 -1
- package/dist/boot/budget-tracing.d.ts +17 -1
- package/dist/boot/budget-tracing.js +10 -6
- package/dist/boot/device-lane.d.ts +1 -1
- package/dist/boot/execution-env.d.ts +24 -4
- package/dist/boot/execution-env.js +26 -23
- package/dist/boot/execution-lane.js +2 -1
- package/dist/boot/exit-boundary.js +5 -4
- package/dist/boot/governance-seams.d.ts +26 -41
- package/dist/boot/governance-seams.js +61 -28
- package/dist/boot/late-binds.d.ts +7 -4
- package/dist/boot/late-binds.js +3 -1
- package/dist/boot/leader.js +2 -4
- package/dist/boot/memory-consolidation.d.ts +0 -8
- package/dist/boot/memory-consolidation.js +5 -4
- package/dist/boot/parked-revive-gate.js +2 -1
- package/dist/boot/permission-rules-audit.d.ts +0 -28
- package/dist/boot/permission-rules-audit.js +2 -1
- package/dist/boot/read-deny-anchor-audit.js +2 -1
- package/dist/boot/reapers.js +9 -7
- package/dist/boot/resolve-spec.d.ts +1 -1
- package/dist/boot/resolve-spec.js +19 -10
- package/dist/boot/retention-lane.js +5 -3
- package/dist/boot/runner-deps.d.ts +10 -7
- package/dist/boot/runner-deps.js +20 -29
- package/dist/boot/runtime-caps.js +3 -2
- package/dist/boot/session-faces.js +4 -3
- package/dist/boot/shutdown.d.ts +9 -0
- package/dist/boot/shutdown.js +19 -4
- package/dist/boot/stage-02-web-admin-pull.js +3 -0
- package/dist/boot/stage-03-store-backend.d.ts +4 -1
- package/dist/boot/stage-03-store-backend.js +1 -2
- package/dist/boot/stage-04-stores.d.ts +5 -2
- package/dist/boot/stage-04-stores.js +6 -7
- package/dist/boot/stage-05-execution-env.d.ts +6 -3
- package/dist/boot/stage-05-execution-env.js +8 -6
- package/dist/boot/stage-06-runners.d.ts +6 -3
- package/dist/boot/stage-06-runners.js +3 -4
- package/dist/boot/stage-07-capability-layer.d.ts +6 -3
- package/dist/boot/stage-07-capability-layer.js +7 -2
- package/dist/boot/stage-08-reapers.d.ts +6 -3
- package/dist/boot/stage-08-reapers.js +3 -2
- package/dist/boot/stage-09-leader.d.ts +6 -3
- package/dist/boot/stage-10-http-server.d.ts +6 -3
- package/dist/boot/stage-10-http-server.js +14 -5
- package/dist/boot/stores.d.ts +5 -2
- package/dist/boot/stores.js +10 -9
- package/dist/boot/web-admin.d.ts +5 -1
- package/dist/boot/web-admin.js +48 -36
- package/dist/boot/webfetch-summarize-lane.js +2 -1
- package/dist/boot/workflow-orchestration.js +3 -2
- package/dist/capabilities/builtin-tools.d.ts +2 -1
- package/dist/capabilities/builtin-tools.js +2 -4
- package/dist/capabilities/composite-members.d.ts +2 -1
- package/dist/capabilities/composite-members.js +2 -1
- package/dist/capabilities/hands-lane.d.ts +9 -39
- package/dist/capabilities/hands-lane.js +8 -13
- package/dist/capabilities/mcp-probe.d.ts +3 -2
- package/dist/capabilities/scenarios.d.ts +11 -1
- package/dist/capabilities/scenarios.js +1 -0
- package/dist/capabilities/skills.d.ts +1 -17
- package/dist/capabilities/skills.js +0 -8
- package/dist/capability-facts.d.ts +31 -7
- package/dist/capability-facts.js +27 -4
- package/dist/card-void.d.ts +6 -9
- package/dist/config-catalog.js +2 -1
- package/dist/config-dir-trust.js +58 -29
- package/dist/config-invariants.d.ts +7 -1
- package/dist/config-invariants.js +7 -0
- package/dist/config-provider.d.ts +10 -0
- package/dist/config-provider.js +15 -4
- package/dist/config-root-migration.d.ts +13 -0
- package/dist/config-root-migration.js +99 -0
- package/dist/config-types.d.ts +19 -8
- package/dist/config.d.ts +10 -3
- package/dist/config.js +18 -4
- package/dist/delegated-session-owner.d.ts +5 -3
- package/dist/delegated-session-owner.js +1 -1
- package/dist/device-ws-protocol.d.ts +1 -0
- package/dist/device-ws-protocol.js +2 -1
- package/dist/env-model-table-gate.d.ts +53 -0
- package/dist/env-model-table-gate.js +53 -0
- package/dist/execution-lane-caps.d.ts +2 -1
- package/dist/fleet/fleet-bus.d.ts +34 -55
- package/dist/fleet/fleet-bus.js +35 -100
- package/dist/fleet/fleet-reconciler.d.ts +4 -4
- package/dist/fleet/fleet-reconciler.js +1 -1
- package/dist/fleet/subagent-tail-bus.d.ts +14 -11
- package/dist/fleet/subagent-tail-bus.js +15 -28
- package/dist/hooks/hook-runner.d.ts +6 -0
- package/dist/hooks/hook-runner.js +58 -8
- package/dist/host-decision.d.ts +54 -20
- package/dist/host-decision.js +42 -14
- package/dist/http/admission.d.ts +1 -1
- package/dist/http/admission.js +7 -3
- package/dist/http/approval-sweeps.js +11 -8
- package/dist/http/caller-trust.d.ts +1 -1
- package/dist/http/dispatch.js +4 -2
- package/dist/http/durable-run-leg.js +2 -2
- package/dist/http/engine-refusal.d.ts +16 -0
- package/dist/http/engine-refusal.js +17 -0
- package/dist/http/execution-context.d.ts +2 -2
- package/dist/http/idempotency.d.ts +1 -1
- package/dist/http/memory-compliance-failure-reply.d.ts +1 -3
- package/dist/http/memory-compliance-failure-reply.js +4 -6
- package/dist/http/owner-access.d.ts +11 -0
- package/dist/http/owner-access.js +13 -0
- package/dist/http/principal-gate.d.ts +3 -1
- package/dist/http/principal-gate.js +17 -8
- package/dist/http/resume-legs.d.ts +21 -7
- package/dist/http/resume-legs.js +76 -58
- package/dist/http/resume-restatement.d.ts +39 -0
- package/dist/http/resume-restatement.js +25 -0
- package/dist/http/route-ctx.d.ts +35 -10
- package/dist/http/route-ctx.js +1 -1
- package/dist/http/route-table.js +2 -0
- package/dist/http/routes/approvals-assistant.d.ts +9 -1
- package/dist/http/routes/approvals-assistant.js +142 -31
- package/dist/http/routes/attachments.js +18 -0
- package/dist/http/routes/capabilities.js +16 -4
- package/dist/http/routes/memory-policy.d.ts +2 -2
- package/dist/http/routes/memory-policy.js +27 -7
- package/dist/http/routes/notify-wake.js +23 -25
- package/dist/http/routes/rules.js +48 -13
- package/dist/http/routes/runs.js +12 -11
- package/dist/http/routes/session-memory-sync.d.ts +91 -0
- package/dist/http/routes/session-memory-sync.js +174 -0
- package/dist/http/routes/session-sync.js +13 -20
- package/dist/http/routes/sessions-list.d.ts +2 -1
- package/dist/http/routes/sessions.d.ts +2 -2
- package/dist/http/routes/sessions.js +22 -23
- package/dist/http/routes/tasks.js +34 -54
- package/dist/http/run-read-face.d.ts +7 -0
- package/dist/http/run-read-face.js +9 -3
- package/dist/http/send.d.ts +5 -0
- package/dist/http/send.js +9 -2
- package/dist/http/server.d.ts +27 -15
- package/dist/http/server.js +4 -6
- package/dist/http/stored-body-replay.js +15 -4
- package/dist/http/submit-replay.d.ts +4 -3
- package/dist/http/submit-replay.js +2 -2
- package/dist/http/sync-submit-body.d.ts +21 -4
- package/dist/http/sync-submit-body.js +13 -0
- package/dist/http/wire-types.d.ts +17 -7
- package/dist/identity-source.d.ts +21 -2
- package/dist/identity-source.js +6 -0
- package/dist/leader/leader.js +5 -2
- package/dist/leader/wire.d.ts +7 -1
- package/dist/leader/wire.js +6 -5
- package/dist/leg-facts.d.ts +37 -0
- package/dist/leg-facts.js +15 -0
- package/dist/memory-bundle-engine.d.ts +1 -4
- package/dist/memory-bundle-engine.js +2 -2
- package/dist/memory-incident-sink.d.ts +19 -6
- package/dist/memory-incident-sink.js +8 -4
- package/dist/memory-operator-faces.d.ts +30 -66
- package/dist/memory-operator-faces.js +17 -88
- package/dist/memory-scope-stores.d.ts +38 -40
- package/dist/memory-scope-stores.js +51 -36
- package/dist/memory-scope.d.ts +0 -9
- package/dist/memory-scope.js +0 -9
- package/dist/memory-sync-client.d.ts +21 -21
- package/dist/memory-sync-client.js +62 -43
- package/dist/memory-sync-identity.d.ts +24 -0
- package/dist/memory-sync-identity.js +57 -0
- package/dist/memory-sync.d.ts +27 -5
- package/dist/memory-sync.js +29 -7
- package/dist/model-plane-face.d.ts +13 -7
- package/dist/model-plane-face.js +2 -1
- package/dist/observability/fail-open.d.ts +47 -14
- package/dist/observability/fail-open.js +37 -11
- package/dist/observability/run-terminal.d.ts +92 -34
- package/dist/observability/run-terminal.js +171 -162
- package/dist/orchestration/workflow-completion-inbox.d.ts +5 -19
- package/dist/orchestration/workflow-completion-inbox.js +0 -12
- package/dist/orchestration/workflow-notify-journal.d.ts +3 -2
- package/dist/orchestration/workflow-park-decision.d.ts +8 -3
- package/dist/orchestration/workflow-park-decision.js +5 -3
- package/dist/org-delivery-gate.d.ts +11 -0
- package/dist/org-delivery-gate.js +19 -1
- package/dist/parked-decide.d.ts +13 -9
- package/dist/parked-decide.js +7 -7
- package/dist/parked-revive-surface.js +1 -1
- package/dist/peer-inbound-face.d.ts +127 -0
- package/dist/peer-inbound-face.js +158 -0
- package/dist/permission-rule-list.d.ts +13 -9
- package/dist/permission-rule-list.js +7 -3
- package/dist/plugins/approval-ask-store-file.d.ts +14 -4
- package/dist/plugins/approval-ask-store-file.js +64 -11
- package/dist/plugins/approval-ask-store-memory.d.ts +2 -1
- package/dist/plugins/approval-ask-store-memory.js +17 -14
- package/dist/plugins/approval-ask-store-sql.d.ts +70 -23
- package/dist/plugins/approval-ask-store-sql.js +79 -30
- package/dist/plugins/checkpoint-store-sql.d.ts +4 -4
- package/dist/plugins/checkpoint-store-sql.js +9 -7
- package/dist/plugins/file-history-store-sql.d.ts +24 -18
- package/dist/plugins/file-history-store-sql.js +24 -19
- package/dist/plugins/file-run-store.d.ts +35 -1
- package/dist/plugins/file-run-store.js +108 -9
- package/dist/plugins/imported-layer-root-retirement.d.ts +82 -0
- package/dist/plugins/imported-layer-root-retirement.js +96 -0
- package/dist/plugins/local-checkpoint-store.d.ts +1 -1
- package/dist/plugins/local-checkpoint-store.js +2 -2
- package/dist/plugins/local-session-store.d.ts +42 -9
- package/dist/plugins/local-session-store.js +83 -33
- package/dist/plugins/local-task-attachment-store.d.ts +12 -2
- package/dist/plugins/local-task-attachment-store.js +67 -43
- package/dist/plugins/mailbox-recipient-lifecycle.d.ts +9 -31
- package/dist/plugins/mailbox-recipient-lifecycle.js +4 -0
- package/dist/plugins/mailbox-store-sql.d.ts +12 -8
- package/dist/plugins/mailbox-store-sql.js +76 -7
- package/dist/plugins/memory-key-guards.d.ts +3 -3
- package/dist/plugins/memory-run-store.d.ts +6 -1
- package/dist/plugins/memory-run-store.js +11 -1
- package/dist/plugins/memory-sync-store-pg.d.ts +15 -0
- package/dist/plugins/memory-sync-store-pg.js +21 -0
- package/dist/plugins/memory-sync-store-tidb.d.ts +2 -0
- package/dist/plugins/memory-sync-store-tidb.js +13 -1
- package/dist/plugins/one-time-migrations.d.ts +58 -2
- package/dist/plugins/one-time-migrations.js +161 -4
- package/dist/plugins/org-delivery-quota-store.d.ts +1 -1
- package/dist/plugins/org-delivery-quota-store.js +2 -12
- package/dist/plugins/park-commit-watch.d.ts +1 -1
- package/dist/plugins/permission-rule-store-file.d.ts +10 -1
- package/dist/plugins/permission-rule-store-file.js +15 -2
- package/dist/plugins/permission-rule-store-sql.d.ts +31 -1
- package/dist/plugins/permission-rule-store-sql.js +35 -2
- package/dist/plugins/remote-env-device.d.ts +8 -11
- package/dist/plugins/remote-env-device.js +6 -3
- package/dist/plugins/remote-env-e2b.d.ts +23 -4
- package/dist/plugins/remote-env-e2b.js +111 -28
- package/dist/plugins/remote-env-k8s.d.ts +61 -22
- package/dist/plugins/remote-env-k8s.js +133 -33
- package/dist/plugins/remote-env-local-docker.d.ts +15 -3
- package/dist/plugins/remote-env-local-docker.js +40 -12
- package/dist/plugins/retention-store-sql.d.ts +2 -2
- package/dist/plugins/run-store-sql.d.ts +9 -1
- package/dist/plugins/run-store-sql.js +9 -1
- package/dist/plugins/sandbox-read-floor.d.ts +5 -7
- package/dist/plugins/sandbox-read-floor.js +2 -7
- package/dist/plugins/sql-errors.d.ts +10 -1
- package/dist/plugins/sql-errors.js +13 -0
- package/dist/plugins/store-backend.d.ts +33 -35
- package/dist/plugins/store-backend.js +10 -1
- package/dist/plugins/store-contracts.d.ts +50 -1
- package/dist/plugins/store-contracts.js +6 -0
- package/dist/plugins/task-attachment-store.d.ts +112 -14
- package/dist/plugins/task-attachment-store.js +207 -29
- package/dist/plugins/tool-result-store-sql.d.ts +9 -8
- package/dist/plugins/tool-result-store-sql.js +23 -2
- package/dist/plugins/wiring-section-codec.d.ts +32 -0
- package/dist/plugins/wiring-section-codec.js +55 -0
- package/dist/plugins/workspace-fill.d.ts +60 -0
- package/dist/plugins/workspace-fill.js +106 -0
- package/dist/project-bundle.d.ts +38 -0
- package/dist/project-bundle.js +609 -0
- package/dist/rule-entry-list.d.ts +3 -2
- package/dist/rule-entry-list.js +5 -1
- package/dist/rules-consent.d.ts +28 -5
- package/dist/rules-consent.js +40 -28
- package/dist/run-local.js +11 -13
- package/dist/runs.d.ts +12 -8
- package/dist/runs.js +6 -8
- package/dist/runtime-governance.d.ts +1 -1
- package/dist/sandbox-egress-policy.d.ts +4 -1
- package/dist/sandbox-egress-policy.js +3 -1
- package/dist/sandbox-git-plane.d.ts +31 -12
- package/dist/sandbox-git-plane.js +24 -4
- package/dist/security.d.ts +9 -0
- package/dist/security.js +8 -0
- package/dist/server-secret-env.d.ts +4 -0
- package/dist/session-error-wire.d.ts +36 -0
- package/dist/session-error-wire.js +13 -0
- package/dist/session-incarnation.d.ts +1 -1
- package/dist/session-notify-door.d.ts +106 -0
- package/dist/session-notify-door.js +93 -0
- package/dist/session-sync.d.ts +9 -14
- package/dist/session-sync.js +5 -5
- package/dist/session-workspace.d.ts +3 -13
- package/dist/session-workspace.js +0 -9
- package/dist/standing-answer-grant.d.ts +5 -0
- package/dist/standing-answer-grant.js +10 -0
- package/dist/stores-sql/session-policy-store-sql.d.ts +4 -2
- package/dist/stores-sql/session-policy-store-sql.js +3 -13
- package/dist/task-mcp.d.ts +1 -1
- package/dist/task-settings.d.ts +21 -10
- package/dist/task-settings.js +46 -13
- package/dist/terminal.d.ts +39 -19
- package/dist/terminal.js +65 -22
- package/dist/tool-approval.d.ts +56 -37
- package/dist/tool-approval.js +78 -71
- package/dist/trace/core-keyset-guard.d.ts +134 -14
- package/dist/trace/engine-notice-wire.d.ts +9 -3
- package/dist/trace/engine-notice-wire.js +7 -3
- package/dist/trace/exit-seat.d.ts +9 -2
- package/dist/trace/exit-seat.js +1 -0
- package/dist/trace/ledger-sink.d.ts +10 -6
- package/dist/trace/ledger-sink.js +2 -2
- package/dist/trace/model-segment.d.ts +55 -25
- package/dist/trace/model-segment.js +101 -33
- package/dist/trace/project.d.ts +25 -5
- package/dist/trace/project.js +22 -0
- package/dist/trace/redact.d.ts +61 -9
- package/dist/trace/redact.js +1490 -468
- package/dist/trace/self-minted-wire.d.ts +745 -24
- package/dist/trace/self-minted-wire.js +239 -9
- package/dist/trace/wire-projection-faces.d.ts +2 -2
- package/dist/trace/wire-projection-faces.js +2 -2
- package/dist/verifier-pause-card.d.ts +33 -5
- package/dist/verifier-pause-card.js +15 -10
- package/dist/web-admin-client/apply-effective.d.ts +12 -16
- package/dist/web-admin-client/apply-effective.js +109 -9
- package/dist/web-admin-client/effective-keys.js +2 -0
- package/dist/web-admin-client/types.d.ts +4 -0
- package/dist/workspace-space.d.ts +19 -3
- package/dist/workspace-space.js +8 -4
- package/docs/DEVICE-EXECUTOR-PROTOCOL.md +3 -1
- package/package.json +3 -2
- package/wire-changes/server@7.142.0.json +639 -0
- package/wire-changes/server@7.143.0.json +1167 -0
|
@@ -88,7 +88,7 @@ export declare function runStage07(ctx: Awaited<ReturnType<typeof runStage06>>):
|
|
|
88
88
|
lspManager: import("@sema-agent/core").NodeLspManager | import("../lsp/manager.js").E2bLspManager | undefined;
|
|
89
89
|
spaceReclaimer: import("../workspace-space.js").SpaceReclaimer | undefined;
|
|
90
90
|
sandboxPodReaper: import("../plugins/k8s-pod-reaper.js").SandboxPodReaper | undefined;
|
|
91
|
-
sandboxGitPlane: import("../sandbox-git-plane.js").SandboxGitPlane;
|
|
91
|
+
sandboxGitPlane: () => import("../sandbox-git-plane.js").SandboxGitPlane;
|
|
92
92
|
perSessionCwd: Map<string, string>;
|
|
93
93
|
perTaskImage: import("../per-task-image.js").PerTaskImageRegistry;
|
|
94
94
|
sendUserFileTaskEnvs: import("../capabilities/sandbox-file-send.js").TaskEnvRegistry | undefined;
|
|
@@ -125,14 +125,17 @@ export declare function runStage07(ctx: Awaited<ReturnType<typeof runStage06>>):
|
|
|
125
125
|
sessionMemoryStatusFace: import("../memory-operator-faces.js").SessionMemoryStatusFace | undefined;
|
|
126
126
|
sessionPolicyStore: import("@sema-agent/core").SessionPolicyStore | undefined;
|
|
127
127
|
sideQueryAccounting: import("../budget.js").SideQueryAccounting;
|
|
128
|
-
toolResultStore: import("
|
|
128
|
+
toolResultStore: import("@sema-agent/core").ToolResultStore | undefined;
|
|
129
129
|
tracer: import("@sema-agent/core").TracerHook;
|
|
130
130
|
backend: import("../index.js").StoreBackend | undefined;
|
|
131
131
|
backgroundAgentStore: import("@sema-agent/core").BackgroundAgentStore | undefined;
|
|
132
132
|
breakerState: import("../plugins/breaker-state-sql.js").TiDBBreakerState | import("../plugins/breaker-state-sql.js").PgBreakerState | undefined;
|
|
133
133
|
engineDataRoot: string;
|
|
134
134
|
instanceId: string;
|
|
135
|
-
mailboxRecipientLifecycle:
|
|
135
|
+
mailboxRecipientLifecycle: Readonly<{
|
|
136
|
+
retireRecipient: NonNullable<import("@sema-agent/core").MailboxStore["retireRecipient"]>;
|
|
137
|
+
listRetiredRecipients: NonNullable<import("@sema-agent/core").MailboxStore["listRetiredRecipients"]>;
|
|
138
|
+
}> | undefined;
|
|
136
139
|
mailboxStore: import("@sema-agent/core").MailboxStore | undefined;
|
|
137
140
|
memoryEngine: import("../memory-scope-stores.js").MemoryScopeStores | undefined;
|
|
138
141
|
memoryExportStores: import("../memory-scope-stores.js").MemoryScopeStores | undefined;
|
|
@@ -23,11 +23,14 @@ import { createUserInputLedgerAtBoot, writerGoneEvidenceFor } from "../user-inpu
|
|
|
23
23
|
import { createParkedReviveInheritedGate } from "./parked-revive-gate.js";
|
|
24
24
|
import { createParkedReviveSurface } from "../parked-revive-surface.js";
|
|
25
25
|
import { createWebFetchSummarizeLane } from "./webfetch-summarize-lane.js";
|
|
26
|
+
import { assertGovernanceAssemblable } from "./governance-seams.js";
|
|
26
27
|
import { createRunnerDepsOnAsk } from "./runner-deps.js";
|
|
27
|
-
import { bindRateLimiter, bindRunStore } from "./late-binds.js";
|
|
28
|
+
import { bindRateLimiter, bindRunStore, sessionNotifyDoor } from "./late-binds.js";
|
|
29
|
+
import { createBackgroundCompletionRelay } from "../session-notify-door.js";
|
|
28
30
|
import { buildDisplaySafeUrl } from "../trace/redact.js";
|
|
29
31
|
import * as facts from "../capability-facts.js";
|
|
30
32
|
import { WEB_ADMIN_ENV } from "@sema-agent/settings-schema";
|
|
33
|
+
import { seatText } from "../trace/exit-seat.js";
|
|
31
34
|
export async function runStage07(ctx) {
|
|
32
35
|
const { approvalAskAudit, approvalExemptionStore, backend, backgroundAgentStore, brain, checkpointStore, config, webAdmin, counterDegradeHook, peerDesk, durableEnabled, instanceId, localRoot, logger, question, runner, runnerDeps, sendUserFileToolSpec, sessionEnvSelection, sessionStore, subRunner, taskListLane, toolApproval } = ctx;
|
|
33
36
|
const authorize = createAuthorizer(config, sessionStore);
|
|
@@ -152,6 +155,7 @@ export async function runStage07(ctx) {
|
|
|
152
155
|
bindRateLimiter(rateLimiter);
|
|
153
156
|
let skills = loadDeploymentSkills(config, logger);
|
|
154
157
|
skills = await webAdmin.applyCenterCapabilities(skills, peerDesk, peerDesk.lease("roster"));
|
|
158
|
+
assertGovernanceAssemblable(config);
|
|
155
159
|
const repoClient = config.gitApiBaseUrl ? createRepoClient(config.gitApiKind, config.gitApiBaseUrl, config.gitApiToken) : undefined;
|
|
156
160
|
const webSearchCfg = webSearchConfigFromEnv();
|
|
157
161
|
const webSearch = webSearchCfg ? createWebSearchBackend(webSearchCfg) : undefined;
|
|
@@ -165,7 +169,7 @@ export async function runStage07(ctx) {
|
|
|
165
169
|
else
|
|
166
170
|
logger.warn("web_search_probe_failed", { provider: webSearchCfg.provider, error: r.error, note: "WebSearch stays mounted — the tool will fail per-call until this is fixed; the service is not blocked by it." });
|
|
167
171
|
})
|
|
168
|
-
.catch((e) => logger.warn("web_search_probe_failed", { provider: webSearchCfg.provider, error: e instanceof Error ? e.message : String(e) }));
|
|
172
|
+
.catch((e) => logger.warn("web_search_probe_failed", { provider: webSearchCfg.provider, error: seatText("operator-log-text", e instanceof Error ? e.message : String(e)) }));
|
|
169
173
|
}
|
|
170
174
|
const ensureChildSessionDurable = checkpointStore && resolveSubagentTranscriptTier(backgroundAgentStore !== undefined, sessionStore) === "full"
|
|
171
175
|
? (sessionId, root) => attestChildSessionDurable(sessionStore, sessionId, root, logger)
|
|
@@ -180,6 +184,7 @@ export async function runStage07(ctx) {
|
|
|
180
184
|
ensureChildSessionDurable: ensureChildSessionDurable ? ensureChildSessionDurable : undefined,
|
|
181
185
|
taskListStoreFor: taskListLane.storeFor,
|
|
182
186
|
subagentExtraTools: sendUserFileToolSpec ? subagentSendUserFileExtraTools({ spec: sendUserFileToolSpec }) : undefined,
|
|
187
|
+
backgroundCompletionSinkFor: createBackgroundCompletionRelay({ door: () => sessionNotifyDoor, logger }),
|
|
183
188
|
};
|
|
184
189
|
const scenarios = buildScenarios(scenarioDeps);
|
|
185
190
|
const builtinDefaultScenario = scenarios.default;
|
|
@@ -101,7 +101,7 @@ export declare function runStage08(ctx: Awaited<ReturnType<typeof runStage07>>):
|
|
|
101
101
|
lspManager: import("@sema-agent/core").NodeLspManager | import("../lsp/manager.js").E2bLspManager | undefined;
|
|
102
102
|
spaceReclaimer: import("../workspace-space.js").SpaceReclaimer | undefined;
|
|
103
103
|
sandboxPodReaper: import("../plugins/k8s-pod-reaper.js").SandboxPodReaper | undefined;
|
|
104
|
-
sandboxGitPlane: import("../sandbox-git-plane.js").SandboxGitPlane;
|
|
104
|
+
sandboxGitPlane: () => import("../sandbox-git-plane.js").SandboxGitPlane;
|
|
105
105
|
perSessionCwd: Map<string, string>;
|
|
106
106
|
perTaskImage: import("../per-task-image.js").PerTaskImageRegistry;
|
|
107
107
|
sendUserFileTaskEnvs: import("../capabilities/sandbox-file-send.js").TaskEnvRegistry | undefined;
|
|
@@ -138,14 +138,17 @@ export declare function runStage08(ctx: Awaited<ReturnType<typeof runStage07>>):
|
|
|
138
138
|
sessionMemoryStatusFace: import("../memory-operator-faces.js").SessionMemoryStatusFace | undefined;
|
|
139
139
|
sessionPolicyStore: import("@sema-agent/core").SessionPolicyStore | undefined;
|
|
140
140
|
sideQueryAccounting: import("../budget.js").SideQueryAccounting;
|
|
141
|
-
toolResultStore: import("
|
|
141
|
+
toolResultStore: import("@sema-agent/core").ToolResultStore | undefined;
|
|
142
142
|
tracer: import("@sema-agent/core").TracerHook;
|
|
143
143
|
backend: import("../index.js").StoreBackend | undefined;
|
|
144
144
|
backgroundAgentStore: import("@sema-agent/core").BackgroundAgentStore | undefined;
|
|
145
145
|
breakerState: import("../plugins/breaker-state-sql.js").TiDBBreakerState | import("../plugins/breaker-state-sql.js").PgBreakerState | undefined;
|
|
146
146
|
engineDataRoot: string;
|
|
147
147
|
instanceId: string;
|
|
148
|
-
mailboxRecipientLifecycle:
|
|
148
|
+
mailboxRecipientLifecycle: Readonly<{
|
|
149
|
+
retireRecipient: NonNullable<import("@sema-agent/core").MailboxStore["retireRecipient"]>;
|
|
150
|
+
listRetiredRecipients: NonNullable<import("@sema-agent/core").MailboxStore["listRetiredRecipients"]>;
|
|
151
|
+
}> | undefined;
|
|
149
152
|
mailboxStore: import("@sema-agent/core").MailboxStore | undefined;
|
|
150
153
|
memoryEngine: import("../memory-scope-stores.js").MemoryScopeStores | undefined;
|
|
151
154
|
memoryExportStores: import("../memory-scope-stores.js").MemoryScopeStores | undefined;
|
|
@@ -4,6 +4,7 @@ import { startReapers } from "./reapers.js";
|
|
|
4
4
|
import { startRetentionLane, RETENTION_LEASE_TTL_FACTOR } from "./retention-lane.js";
|
|
5
5
|
import { createLimitSync } from "./limit-sync.js";
|
|
6
6
|
import { runDenySweep } from "./late-binds.js";
|
|
7
|
+
import { seatText } from "../trace/exit-seat.js";
|
|
7
8
|
export function runStage08(ctx) {
|
|
8
9
|
const { approvalAskAudit, approvalNonceStore, backend, backgroundAgentStore, ceilingVerdict, checkpointStore, parkCommits, config, webAdmin, consolidationSeatWatch, costQuota, degradeRouteWatch, fileHistoryErasure, spaceReclaimer, sandboxPodReaper, handslessRunner, hookAgentRunner, imageBakes, instanceId, localRoot, logger, mailboxStore, metrics, permissionRuleStores, pricing, rateLimiter, retentionExecutor, retentionLaneStore, rosterStore, runStore, runner, sqlWorkflowRunStore, subRunner, taskAttachmentStore, toolApproval, toolResultStore, userInputLedger, workflowJournalStore, workflowNotifyGate, workflowNotifyJournal, workflowRecoverOpts, worktreeReap } = ctx;
|
|
9
10
|
const reaper = startReapers({
|
|
@@ -48,7 +49,7 @@ export function runStage08(ctx) {
|
|
|
48
49
|
const otelExporter = config.otel
|
|
49
50
|
? startOtlpExporter(metrics, {
|
|
50
51
|
...config.otel,
|
|
51
|
-
onError: (err) => logger.warn("otel_export_failed", { err: String(err) }),
|
|
52
|
+
onError: (err) => logger.warn("otel_export_failed", { err: seatText("operator-log-text", String(err)) }),
|
|
52
53
|
})
|
|
53
54
|
: undefined;
|
|
54
55
|
const limitSync = createLimitSync({ config, rateGate: rateLimiter, quota: costQuota, logger });
|
|
@@ -67,7 +68,7 @@ export function runStage08(ctx) {
|
|
|
67
68
|
}
|
|
68
69
|
catch (err) {
|
|
69
70
|
if (i > 0)
|
|
70
|
-
logger.error("runner_deps_swap_split", { failedAt: name, seats: Object.keys(next), swapped: bootRunners.slice(0, i).map(([n]) => n), err: String(err) });
|
|
71
|
+
logger.error("runner_deps_swap_split", { failedAt: name, seats: Object.keys(next), swapped: bootRunners.slice(0, i).map(([n]) => n), err: seatText("operator-log-text", String(err)) });
|
|
71
72
|
throw err;
|
|
72
73
|
}
|
|
73
74
|
}
|
|
@@ -125,7 +125,7 @@ export declare function runStage09(ctx: Awaited<ReturnType<typeof runStage08>>):
|
|
|
125
125
|
lspManager: import("@sema-agent/core").NodeLspManager | import("../lsp/manager.js").E2bLspManager | undefined;
|
|
126
126
|
spaceReclaimer: import("../workspace-space.js").SpaceReclaimer | undefined;
|
|
127
127
|
sandboxPodReaper: import("../plugins/k8s-pod-reaper.js").SandboxPodReaper | undefined;
|
|
128
|
-
sandboxGitPlane: import("../sandbox-git-plane.js").SandboxGitPlane;
|
|
128
|
+
sandboxGitPlane: () => import("../sandbox-git-plane.js").SandboxGitPlane;
|
|
129
129
|
perSessionCwd: Map<string, string>;
|
|
130
130
|
perTaskImage: import("../per-task-image.js").PerTaskImageRegistry;
|
|
131
131
|
sendUserFileTaskEnvs: import("../capabilities/sandbox-file-send.js").TaskEnvRegistry | undefined;
|
|
@@ -162,14 +162,17 @@ export declare function runStage09(ctx: Awaited<ReturnType<typeof runStage08>>):
|
|
|
162
162
|
sessionMemoryStatusFace: import("../memory-operator-faces.js").SessionMemoryStatusFace | undefined;
|
|
163
163
|
sessionPolicyStore: import("@sema-agent/core").SessionPolicyStore | undefined;
|
|
164
164
|
sideQueryAccounting: import("../budget.js").SideQueryAccounting;
|
|
165
|
-
toolResultStore: import("
|
|
165
|
+
toolResultStore: import("@sema-agent/core").ToolResultStore | undefined;
|
|
166
166
|
tracer: import("@sema-agent/core").TracerHook;
|
|
167
167
|
backend: import("../index.js").StoreBackend | undefined;
|
|
168
168
|
backgroundAgentStore: import("@sema-agent/core").BackgroundAgentStore | undefined;
|
|
169
169
|
breakerState: import("../plugins/breaker-state-sql.js").TiDBBreakerState | import("../plugins/breaker-state-sql.js").PgBreakerState | undefined;
|
|
170
170
|
engineDataRoot: string;
|
|
171
171
|
instanceId: string;
|
|
172
|
-
mailboxRecipientLifecycle:
|
|
172
|
+
mailboxRecipientLifecycle: Readonly<{
|
|
173
|
+
retireRecipient: NonNullable<import("@sema-agent/core").MailboxStore["retireRecipient"]>;
|
|
174
|
+
listRetiredRecipients: NonNullable<import("@sema-agent/core").MailboxStore["listRetiredRecipients"]>;
|
|
175
|
+
}> | undefined;
|
|
173
176
|
mailboxStore: import("@sema-agent/core").MailboxStore | undefined;
|
|
174
177
|
memoryEngine: import("../memory-scope-stores.js").MemoryScopeStores | undefined;
|
|
175
178
|
memoryExportStores: import("../memory-scope-stores.js").MemoryScopeStores | undefined;
|
|
@@ -124,7 +124,7 @@ export declare function runStage10(ctx: Awaited<ReturnType<typeof runStage09>>):
|
|
|
124
124
|
lspManager: import("@sema-agent/core").NodeLspManager | import("../lsp/manager.js").E2bLspManager | undefined;
|
|
125
125
|
spaceReclaimer: import("../workspace-space.js").SpaceReclaimer | undefined;
|
|
126
126
|
sandboxPodReaper: import("../plugins/k8s-pod-reaper.js").SandboxPodReaper | undefined;
|
|
127
|
-
sandboxGitPlane: import("../sandbox-git-plane.js").SandboxGitPlane;
|
|
127
|
+
sandboxGitPlane: () => import("../sandbox-git-plane.js").SandboxGitPlane;
|
|
128
128
|
perSessionCwd: Map<string, string>;
|
|
129
129
|
perTaskImage: import("../per-task-image.js").PerTaskImageRegistry;
|
|
130
130
|
sendUserFileTaskEnvs: import("../capabilities/sandbox-file-send.js").TaskEnvRegistry | undefined;
|
|
@@ -161,14 +161,17 @@ export declare function runStage10(ctx: Awaited<ReturnType<typeof runStage09>>):
|
|
|
161
161
|
sessionMemoryStatusFace: import("../memory-operator-faces.js").SessionMemoryStatusFace | undefined;
|
|
162
162
|
sessionPolicyStore: import("@sema-agent/core").SessionPolicyStore | undefined;
|
|
163
163
|
sideQueryAccounting: import("../budget.js").SideQueryAccounting;
|
|
164
|
-
toolResultStore: import("
|
|
164
|
+
toolResultStore: import("@sema-agent/core").ToolResultStore | undefined;
|
|
165
165
|
tracer: import("@sema-agent/core").TracerHook;
|
|
166
166
|
backend: import("../plugins/store-backend.js").StoreBackend | undefined;
|
|
167
167
|
backgroundAgentStore: import("@sema-agent/core").BackgroundAgentStore | undefined;
|
|
168
168
|
breakerState: import("../plugins/breaker-state-sql.js").TiDBBreakerState | import("../plugins/breaker-state-sql.js").PgBreakerState | undefined;
|
|
169
169
|
engineDataRoot: string;
|
|
170
170
|
instanceId: string;
|
|
171
|
-
mailboxRecipientLifecycle:
|
|
171
|
+
mailboxRecipientLifecycle: Readonly<{
|
|
172
|
+
retireRecipient: NonNullable<import("@sema-agent/core").MailboxStore["retireRecipient"]>;
|
|
173
|
+
listRetiredRecipients: NonNullable<import("@sema-agent/core").MailboxStore["listRetiredRecipients"]>;
|
|
174
|
+
}> | undefined;
|
|
172
175
|
mailboxStore: import("@sema-agent/core").MailboxStore | undefined;
|
|
173
176
|
memoryEngine: import("../memory-scope-stores.js").MemoryScopeStores | undefined;
|
|
174
177
|
memoryExportStores: import("../memory-scope-stores.js").MemoryScopeStores | undefined;
|
|
@@ -13,6 +13,7 @@ import { backgroundAgentOutput, taskHandleOutput, taskHandleStop } from "../runs
|
|
|
13
13
|
import { createStoreLiveProbe } from "../store-live-probe.js";
|
|
14
14
|
import { counterStoreLabel } from "../plugins/store-backend.js";
|
|
15
15
|
import { sessionStoreLabelOf } from "../store-posture.js";
|
|
16
|
+
import { defaultPeerInboundFace, peerBoxScope } from "../peer-inbound-face.js";
|
|
16
17
|
import { startFleetClientFromConfig } from "../fleet-client.js";
|
|
17
18
|
import { createCenterWiringReader } from "../capabilities/center-wiring.js";
|
|
18
19
|
import { mintEngineSignal } from "../fleet/engine-signal.js";
|
|
@@ -29,6 +30,7 @@ import { installShutdownHandlers } from "./shutdown.js";
|
|
|
29
30
|
import { bindServerLateSeats } from "./late-binds.js";
|
|
30
31
|
import { serviceVersion } from "../service-version.js";
|
|
31
32
|
import { buildDisplaySafeUrl } from "../trace/redact.js";
|
|
33
|
+
import { seatText } from "../trace/exit-seat.js";
|
|
32
34
|
export async function runStage10(ctx) {
|
|
33
35
|
const { peerDesk, approvalAskAudit, approvalExemptionStore, approvalNonceStore, authorize, backend, backgroundAgentStore, brain, breakerState, centerRuntimeCapsResolver, checkpointStore, checkpointCtxSealing, parkCommits, config, webAdmin, consolidationValve, costQuota, deploymentModsLoaded, deviceLane, drainState, durableEnabled, elicitation, fenceSessionOwner, fileHistoryStore, fleetBus, fleetLease, fleetUsage, governanceSeams, handslessRunner, hookAgent, hookLlm, hookWakeBus, imageBakes, imageIndex, instanceId, instrumentDegenerate, leaderEndpoint, loadedSkills, localRoot, logger, lspManager, mcpRevocations, memoryBundleFaces, memoryComplianceFaces, memoryConsolidationFaces, memoryEngine, memoryExportStores, memoryOptOutGrantStore, memoryOriginFaces, memoryPosture, memorySyncCursors, memorySyncRunner, metrics, modelUsageTracker, orgMemoryAdmission, otelExporter, outcomeSink, ownerAware, parkedReviveInheritedGate, parkedReviveSurface, perSessionCwd, perTaskImage, planCacheProbe, pricing, principalCaps, promptManifestTracker, purgeSession, question, rateLimiter, reaper, webAdminJwtVerifier, resumeAnchorStore, retentionLaneStarted, retentionLaneStore, ruleConsent, runStore, runner, runnerDeps, runtimeCapsPeekResolver, sandboxGitPlane, scenarioDetails, scenarios, selectEnvTool, sendFileLedger, sendUserFileEmitter, sendUserFileToolSpec, sessionAudit, sessionEnvSelection, sessionMemoryStatusFace, sessionPolicyStore, sessionTitler, sessionWatchRegistry, setSessionCwd, setSessionInheritEnv, setSessionShellEnv, sharedMemoryStore, sideQueryAccounting, sqlEngine, sqlWorkflowRunStore, staticWiring, storePosture, subRunner, subagentSteerRegistry, taskAttachmentStore, taskLimitCaps, taskTimeoutSec, toolApproval, toolResultStore, usageWindowStore, userInputLedger, webSearchProvider, workflowAgentRegistry, workflowAgentSessionIndex, workflowParkDecisions, workflowCompletionInbox, workflowJournalStore, workflowModelAllowlistSnapshot, workflowNotifyGate, workflowNotifyJournal, workflowRecoverOpts, workflowRunStore, workflowsCapable, orgDeliveryGate } = ctx;
|
|
34
36
|
const stores = {
|
|
@@ -132,7 +134,7 @@ export async function runStage10(ctx) {
|
|
|
132
134
|
classifierModel: () => {
|
|
133
135
|
const route = classifierRouteFor(runnerDeps);
|
|
134
136
|
if (route.fault !== undefined)
|
|
135
|
-
logger.debug("auto_mode_classifier_route_unresolved", { fault: route.fault });
|
|
137
|
+
logger.debug("auto_mode_classifier_route_unresolved", { fault: seatText("operator-log-text", route.fault) });
|
|
136
138
|
return route.id;
|
|
137
139
|
},
|
|
138
140
|
},
|
|
@@ -186,6 +188,7 @@ export async function runStage10(ctx) {
|
|
|
186
188
|
centerIdentityNoticeState: () => webAdmin.centerIdentityNoticeState(),
|
|
187
189
|
modelRefusalsState: () => webAdmin.modelRefusalsState(),
|
|
188
190
|
candidateRejectionState: () => webAdmin.candidateRejectionState(),
|
|
191
|
+
latestPlaneRefusalState: () => webAdmin.latestPlaneRefusalState(),
|
|
189
192
|
configHandoffState: () => webAdmin.configHandoffState(),
|
|
190
193
|
mcpRevocations,
|
|
191
194
|
mcpRevocationState: () => webAdmin.mcpRevocationState(),
|
|
@@ -224,7 +227,7 @@ export async function runStage10(ctx) {
|
|
|
224
227
|
...(runStore ? { runs: runStore } : {}),
|
|
225
228
|
...(workflowRunStore ? { workflows: workflowRunStore } : {}),
|
|
226
229
|
agents: backgroundAgentStore,
|
|
227
|
-
hasPendingAsk: toolApproval ? (
|
|
230
|
+
hasPendingAsk: toolApproval ? (names) => toolApproval.hasLivePendingFromLeg(names) : undefined,
|
|
228
231
|
instanceId,
|
|
229
232
|
logger,
|
|
230
233
|
metrics,
|
|
@@ -257,7 +260,7 @@ export async function runStage10(ctx) {
|
|
|
257
260
|
bindHost: bindHost ?? "0.0.0.0/::(all interfaces)",
|
|
258
261
|
...(config.bindHostSource ? { bindHostSource: config.bindHostSource } : {}),
|
|
259
262
|
...(config.bindHostSource === "HOST" ? { note: "bind failed for a host inherited from the HOST env var — set BIND_HOST explicitly (e.g. BIND_HOST=127.0.0.1)." } : {}),
|
|
260
|
-
error: e instanceof Error ? e.message : String(e),
|
|
263
|
+
error: seatText("operator-log-text", e instanceof Error ? e.message : String(e)),
|
|
261
264
|
});
|
|
262
265
|
throw e;
|
|
263
266
|
}
|
|
@@ -267,7 +270,7 @@ export async function runStage10(ctx) {
|
|
|
267
270
|
}
|
|
268
271
|
server.on("error", (e) => {
|
|
269
272
|
logger.error("server_error", {
|
|
270
|
-
error: e.message,
|
|
273
|
+
error: seatText("operator-log-text", e.message),
|
|
271
274
|
...("code" in e ? { code: String(e.code) } : {}),
|
|
272
275
|
});
|
|
273
276
|
});
|
|
@@ -324,7 +327,7 @@ export async function runStage10(ctx) {
|
|
|
324
327
|
void workflowNotifyGate
|
|
325
328
|
.recover(workflowRecoverOpts)
|
|
326
329
|
.then((tally) => logger.info("workflow_notify_recovered", tally))
|
|
327
|
-
.catch((err) => logger.warn("workflow_notify_recover_failed", { err: String(err) }))
|
|
330
|
+
.catch((err) => logger.warn("workflow_notify_recover_failed", { err: seatText("operator-log-text", String(err)) }))
|
|
328
331
|
.finally(() => resolveFleetRecovery());
|
|
329
332
|
}
|
|
330
333
|
else {
|
|
@@ -341,6 +344,12 @@ export async function runStage10(ctx) {
|
|
|
341
344
|
retentionLane: retentionLaneStarted,
|
|
342
345
|
releaseRetentionLease: retentionLaneStore !== undefined ? () => retentionLaneStore.release(instanceId) : undefined,
|
|
343
346
|
servingLease,
|
|
347
|
+
peerInbound: {
|
|
348
|
+
shutdown: () => defaultPeerInboundFace.shutdown(async (sessionId) => {
|
|
349
|
+
const head = await ownerAware.headOf?.(sessionId);
|
|
350
|
+
return head === undefined ? undefined : peerBoxScope(head.owner);
|
|
351
|
+
}),
|
|
352
|
+
},
|
|
344
353
|
});
|
|
345
354
|
servingLease?.resumeStickyDenial();
|
|
346
355
|
return { ...ctx };
|
package/dist/boot/stores.d.ts
CHANGED
|
@@ -3,7 +3,6 @@ import { type MemorySyncRunner } from "../memory-sync-client.js";
|
|
|
3
3
|
import type { Logger } from "../observability/logger.js";
|
|
4
4
|
import type { Metrics } from "../observability/metrics.js";
|
|
5
5
|
import { type MemorySyncStore } from "../plugins/memory-sync-store-pg.js";
|
|
6
|
-
import { type MailboxRecipientLifecycle } from "../plugins/mailbox-recipient-lifecycle.js";
|
|
7
6
|
import { type TaskAttachmentStore } from "../plugins/task-attachment-store.js";
|
|
8
7
|
import { type StoreBackend } from "../plugins/store-backend.js";
|
|
9
8
|
import { type MemoryScopeStores } from "../memory-scope-stores.js";
|
|
@@ -29,7 +28,10 @@ export declare function openStores(ctx: OpenStoresCtx): Promise<{
|
|
|
29
28
|
memorySyncCursors: MemorySyncStore | undefined;
|
|
30
29
|
rosterStore: import("@sema-agent/core").RosterStore | undefined;
|
|
31
30
|
backgroundAgentStore: import("@sema-agent/core").BackgroundAgentStore | undefined;
|
|
32
|
-
mailboxRecipientLifecycle:
|
|
31
|
+
mailboxRecipientLifecycle: Readonly<{
|
|
32
|
+
retireRecipient: NonNullable<import("@sema-agent/core").MailboxStore["retireRecipient"]>;
|
|
33
|
+
listRetiredRecipients: NonNullable<import("@sema-agent/core").MailboxStore["listRetiredRecipients"]>;
|
|
34
|
+
}> | undefined;
|
|
33
35
|
taskAttachmentStore: TaskAttachmentStore | undefined;
|
|
34
36
|
mailboxStore: import("@sema-agent/core").MailboxStore | undefined;
|
|
35
37
|
memoryExportStores: MemoryScopeStores | undefined;
|
|
@@ -40,5 +42,6 @@ export declare function openStores(ctx: OpenStoresCtx): Promise<{
|
|
|
40
42
|
memoryPosture: import("../memory-posture.js").MemoryPosture;
|
|
41
43
|
taskListLane: import("./task-list-lane.js").TaskListLane;
|
|
42
44
|
sqlEngine: import("../plugins/sql-driver.js").SqlEngineReading | undefined;
|
|
45
|
+
sessionCaptureRecords: import("../plugins/store-backend.js").SessionCaptureRecordSource | undefined;
|
|
43
46
|
}>;
|
|
44
47
|
//# sourceMappingURL=stores.d.ts.map
|
package/dist/boot/stores.js
CHANGED
|
@@ -12,7 +12,7 @@ import { MinioBlobBackend } from "../plugins/blob-backend.js";
|
|
|
12
12
|
import { ensureSnapshotBuckets } from "../plugins/snapshot-bucket-presence.js";
|
|
13
13
|
import { PgBackgroundAgentStore, TiDBBackgroundAgentStore, ensurePgBackgroundAgentSchema, ensureTiDBBackgroundAgentSchema } from "../stores-sql/background-agent-store-sql.js";
|
|
14
14
|
import { PgMailboxStore, TiDBMailboxStore, ensurePgMailboxSchema, ensureTiDBMailboxSchema } from "../plugins/mailbox-store-sql.js";
|
|
15
|
-
import {
|
|
15
|
+
import { recipientLifecycleOf } from "../plugins/mailbox-recipient-lifecycle.js";
|
|
16
16
|
import { PgUsageWindowStore, TiDBUsageWindowStore, ensurePgUsageWindowSchema, ensureTiDBUsageWindowSchema } from "../stores-sql/usage-window-store-sql.js";
|
|
17
17
|
import { PgRosterStore, TiDBRosterStore, ensurePgRosterSchema, ensureTiDBRosterSchema } from "../plugins/roster-store-sql.js";
|
|
18
18
|
import { LocalTaskAttachmentStore } from "../plugins/local-task-attachment-store.js";
|
|
@@ -29,7 +29,7 @@ import { assertCloudSnapshotBlobPosture, openStoreBackendWithFallback } from "..
|
|
|
29
29
|
import { createMemoryEngineIncidentSink } from "../memory-incident-sink.js";
|
|
30
30
|
import { announceLockedLegacyMemoryLayers } from "../memory-layer-legacy-lock.js";
|
|
31
31
|
import { createEngineNoticeForwarder } from "./runner-deps.js";
|
|
32
|
-
import { buildMemoryRemoteLaneWarn, memoryEngineBackendFor, memoryEngineRemoteLanePosture, memoryEngineRootFor,
|
|
32
|
+
import { buildMemoryRemoteLaneWarn, memoryEngineBackendFor, memoryEngineRemoteLanePosture, memoryEngineRootFor, memoryMountRootOf } from "../memory-scope.js";
|
|
33
33
|
import { createMemoryScopeStores } from "../memory-scope-stores.js";
|
|
34
34
|
import { assertToolResultProvenanceSchema } from "../plugins/tool-result-store-sql.js";
|
|
35
35
|
import { assertPermissionRuleApprovalSchema, assertPermissionRuleTicketSchema } from "../plugins/permission-rule-store-sql.js";
|
|
@@ -42,6 +42,7 @@ import { buildMemoryPosture } from "../memory-posture.js";
|
|
|
42
42
|
import { headReadOf } from "../session-incarnation.js";
|
|
43
43
|
import { establishSqlEnginePosture, sqlPoolsOf } from "../sql-engine-posture.js";
|
|
44
44
|
import { buildStorePosture } from "../store-posture.js";
|
|
45
|
+
import { seatText } from "../trace/exit-seat.js";
|
|
45
46
|
const DARK_REASON_PROSE = {
|
|
46
47
|
engine_off: () => "MEMORY_ENGINE=off",
|
|
47
48
|
multi_tenant_file_backend: () => "multi-tenant on the FILE backend (no tenant isolation; set MEMORY_ENGINE_BACKEND=pg|mysql to light up)",
|
|
@@ -123,7 +124,8 @@ export async function openStores(ctx) {
|
|
|
123
124
|
let memoryEngine;
|
|
124
125
|
const engineDataRoot = memoryEngineRootFor(config, localRoot);
|
|
125
126
|
const memoryEngineIncident = createMemoryEngineIncidentSink({ logger, metrics });
|
|
126
|
-
const
|
|
127
|
+
const sessionCaptureRecords = backend?.sessionCaptureRecords();
|
|
128
|
+
const scopeStoresOver = (deployment) => createMemoryScopeStores({ backend: deployment, root: engineDataRoot, onIncident: memoryEngineIncident, ...(sessionCaptureRecords !== undefined ? { captureRecords: sessionCaptureRecords } : {}) });
|
|
127
129
|
let memorySyncCursors;
|
|
128
130
|
let vectorMode;
|
|
129
131
|
if (config.memoryEngineBackend !== "file" && config.memoryEngineEnabled) {
|
|
@@ -153,7 +155,7 @@ export async function openStores(ctx) {
|
|
|
153
155
|
metrics.inc("memory_embed_failed_total", { backend: dialect });
|
|
154
156
|
logger.warn("memory_embedder_failed", {
|
|
155
157
|
model: config.memoryEmbedder?.model,
|
|
156
|
-
err: String(err)
|
|
158
|
+
err: seatText("operator-log-text", String(err)),
|
|
157
159
|
note: "memory writes for this batch report an io-error conflict and retrieval falls back to the lexical floor until the embedder recovers",
|
|
158
160
|
});
|
|
159
161
|
},
|
|
@@ -277,7 +279,7 @@ export async function openStores(ctx) {
|
|
|
277
279
|
if (pgPool) {
|
|
278
280
|
const q = async (text, params) => { const r = await pgPool.query(text, params); return { rows: r.rows }; };
|
|
279
281
|
await ensurePgTaskAttachmentSchema(q);
|
|
280
|
-
taskAttachmentStore = new PgTaskAttachmentStore(
|
|
282
|
+
taskAttachmentStore = new PgTaskAttachmentStore(pgPool, bytes);
|
|
281
283
|
}
|
|
282
284
|
else {
|
|
283
285
|
await ensureTiDBTaskAttachmentSchema(mysqlPool);
|
|
@@ -300,20 +302,19 @@ export async function openStores(ctx) {
|
|
|
300
302
|
await ensurePgMailboxSchema(async (text, params) => pgPool.query(text, params));
|
|
301
303
|
const store = new PgMailboxStore(pgPool, logger);
|
|
302
304
|
mailboxStore = store;
|
|
303
|
-
mailboxRecipientLifecycle = store;
|
|
304
305
|
}
|
|
305
306
|
else if (mysqlPool) {
|
|
306
307
|
await ensureTiDBMailboxSchema(mysqlPool);
|
|
307
308
|
const store = new TiDBMailboxStore(mysqlPool, logger);
|
|
308
309
|
mailboxStore = store;
|
|
309
|
-
mailboxRecipientLifecycle = store;
|
|
310
310
|
}
|
|
311
311
|
else if (backend?.kind === "local") {
|
|
312
312
|
mailboxStore = new FileMailboxStore(config.localDataRoot ?? localRoot, {
|
|
313
313
|
onCorruptRead: createCorruptReadFailOpenSeat("server.mailbox.corrupt-record-skipped"),
|
|
314
314
|
});
|
|
315
|
-
mailboxRecipientLifecycle = createDropOnlyRecipientLifecycle(mailboxStore);
|
|
316
315
|
}
|
|
316
|
+
if (mailboxStore)
|
|
317
|
+
mailboxRecipientLifecycle = recipientLifecycleOf(mailboxStore);
|
|
317
318
|
if (mailboxStore) {
|
|
318
319
|
const laneVerdict = mailboxCrossProcessMountVerdict(mailboxStore);
|
|
319
320
|
logger.info("mailbox_store_enabled", {
|
|
@@ -438,7 +439,7 @@ export async function openStores(ctx) {
|
|
|
438
439
|
return {
|
|
439
440
|
backend, storePosture, memoryEngine, engineDataRoot, memorySyncCursors, rosterStore, backgroundAgentStore, mailboxRecipientLifecycle,
|
|
440
441
|
taskAttachmentStore, mailboxStore, memoryExportStores, memorySyncRunner, sessionStore, breakerState,
|
|
441
|
-
usageWindowStore, memoryPosture, taskListLane, sqlEngine,
|
|
442
|
+
usageWindowStore, memoryPosture, taskListLane, sqlEngine, sessionCaptureRecords,
|
|
442
443
|
};
|
|
443
444
|
}
|
|
444
445
|
//# sourceMappingURL=stores.js.map
|
package/dist/boot/web-admin.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ModelRefusalsSignal } from "@sema-agent/settings-schema";
|
|
1
|
+
import { type ModelPlaneRefusalCode, type ModelRefusalsSignal } from "@sema-agent/settings-schema";
|
|
2
2
|
import { CenterPromptSource, type SwappableDeps } from "@sema-agent/core";
|
|
3
3
|
import { buildPricing } from "../budget.js";
|
|
4
4
|
import { type Scenario, type ScenarioDeps, type ScenarioDetail } from "../capabilities/scenarios.js";
|
|
@@ -128,6 +128,10 @@ export interface WebAdminRuntime {
|
|
|
128
128
|
* 名 → 码 + 组拒码)。描述**最近一次被判的那份中心候选目录**(每次候选 apply 的报告 `ApplyReport.modelRefusals` 投影;组拒时就是被拒
|
|
129
129
|
* 的那份 —— 引擎自己的拒因表不换代)。没有可报的拒 / 没有配置管道 / 还没判过候选 ⇒ `undefined`(键缺席)。值变了 ⇒ 通知自报订阅者。 */
|
|
130
130
|
modelRefusalsState(): ModelRefusalsSignal | undefined;
|
|
131
|
+
/** `GET /v1/models.modelPlane` 的 `planeRefusalCode` 与 `catalog` 的模型面那一半的**同一只**取值口:**最新到达**的目录候选被模型面组拒的码。
|
|
132
|
+
* 在场 ⇔ 模型拒因信号带 `plane` ∧ 落下它的那次 apply 是最新一次到达(到达计数相等,不按收货序数比 —— 本地腿只改决定文件时同一序数再到达)。
|
|
133
|
+
* 与 {@link modelRefusalsState} 的 `plane` 分两个主语:那一键 = 最近一份**被 stage 判过**的模型面的组拒判决(不随更新的到达撤);本口随每一次更新的到达撤。 */
|
|
134
|
+
latestPlaneRefusalState(): ModelPlaneRefusalCode | undefined;
|
|
131
135
|
/** [ref]:`GET /v1/models.candidateRejected` 的取值口 —— 最近一次候选被判官整拒的结论(`candidateRejection` 座;域集就是判官交出的 `rejected.domains`)。
|
|
132
136
|
* present-iff 当前生效的配置是因判官整拒了最近一份候选而回落的那一份:后来的候选被判 clean 即撤下;还没判过候选 / 没有配置管道 ⇒ `undefined`(键缺席)。
|
|
133
137
|
* dry-run 姿势(`webAdmin.dryRun`,compare-only)恒 `undefined`:候选从不被应用,生效配置恒是 env,拒判是预演读数(日志行照响),不是配置没换的原因。 */
|