@sema-agent/server 7.133.0 → 7.135.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 +221 -0
- package/README.md +2 -2
- package/README.zh-CN.md +2 -2
- package/USAGE.md +222 -36
- package/deploy/sema-up/README.md +16 -0
- package/deploy/sema-up/chart/Chart.yaml +1 -1
- package/deploy/sema-up/chart/templates/NOTES.txt +15 -0
- package/deploy/sema-up/chart/templates/_helpers.tpl +129 -0
- package/deploy/sema-up/chart/templates/sealed-key.yaml +24 -0
- package/deploy/sema-up/chart/templates/server-v4pro.yaml +14 -0
- package/deploy/sema-up/chart/templates/server.yaml +14 -0
- package/deploy/sema-up/chart/values-full-single.yaml +5 -1
- package/deploy/sema-up/chart/values.yaml +34 -0
- package/dist/adoption/plan.d.ts +1 -1
- package/dist/approval-ask-audit-store.d.ts +25 -25
- package/dist/approval-ask-machine.d.ts +2 -2
- package/dist/approval-card.d.ts +66 -154
- package/dist/approval-card.js +33 -52
- package/dist/approval-content-kind.d.ts +26 -6
- package/dist/approval-content-kind.js +23 -3
- package/dist/approval-deny-reasons.d.ts +1 -1
- package/dist/approval-gate-currency.d.ts +91 -0
- package/dist/approval-gate-currency.js +120 -0
- package/dist/approval-hmac.d.ts +7 -7
- package/dist/approval-policy-settlement.d.ts +2 -2
- package/dist/approval-reconciler.d.ts +3 -3
- package/dist/approval.d.ts +14 -8
- package/dist/approval.js +35 -16
- package/dist/auth-bridge.d.ts +1 -1
- package/dist/auto-mode-face.d.ts +4 -4
- package/dist/background-session-reap.d.ts +2 -2
- package/dist/bake-runner/main.d.ts +2 -2
- package/dist/bake-runner/runner.d.ts +4 -4
- package/dist/bench/s1/live-deps.d.ts +1 -1
- package/dist/bench/s1/run-firm.d.ts +1 -1
- package/dist/boot/coordinators.d.ts +7 -2
- package/dist/boot/coordinators.js +8 -5
- package/dist/boot/deferred-sandbox-path-env.d.ts +0 -6
- package/dist/boot/deferred-sandbox-path-env.js +0 -5
- package/dist/boot/engine-lease.d.ts +5 -5
- package/dist/boot/execution-env.d.ts +16 -15
- package/dist/boot/execution-env.js +19 -21
- package/dist/boot/fatal-exit.d.ts +2 -2
- package/dist/boot/late-binds.d.ts +1 -1
- package/dist/boot/leader.d.ts +2 -0
- package/dist/boot/leader.js +2 -1
- package/dist/boot/memory-boundary.d.ts +2 -2
- package/dist/boot/memory-consolidation.d.ts +15 -15
- package/dist/boot/parked-revive-gate.d.ts +3 -3
- package/dist/boot/parked-revive-gate.js +3 -2
- package/dist/boot/read-deny-anchor-audit.js +2 -2
- package/dist/boot/reapers.d.ts +4 -4
- package/dist/boot/resolve-spec.d.ts +1 -1
- package/dist/boot/resolve-spec.js +28 -24
- package/dist/boot/runner-deps.d.ts +29 -16
- package/dist/boot/runner-deps.js +12 -2
- package/dist/boot/session-faces.d.ts +3 -3
- package/dist/boot/session-faces.js +11 -30
- package/dist/boot/shutdown.d.ts +5 -5
- package/dist/boot/side-query-lane.d.ts +2 -2
- package/dist/boot/stage-05-execution-env.js +4 -4
- package/dist/boot/stage-06-runners.d.ts +4 -3
- package/dist/boot/stage-06-runners.js +15 -4
- package/dist/boot/stage-07-capability-layer.d.ts +2 -1
- package/dist/boot/stage-08-reapers.d.ts +2 -1
- package/dist/boot/stage-09-leader.d.ts +2 -1
- package/dist/boot/stage-09-leader.js +2 -2
- package/dist/boot/stage-10-http-server.d.ts +2 -1
- package/dist/boot/stage-10-http-server.js +2 -1
- package/dist/boot/stores.d.ts +8 -0
- package/dist/boot/stores.js +10 -13
- package/dist/boot/web-admin.d.ts +21 -15
- package/dist/boot/web-admin.js +16 -12
- package/dist/boot/workflow-orchestration.js +2 -9
- package/dist/brain.d.ts +11 -11
- package/dist/budget.d.ts +4 -4
- package/dist/budget.js +5 -1
- package/dist/caller-text-echo.d.ts +2 -0
- package/dist/caller-text-echo.js +2 -1
- package/dist/canonical-json.d.ts +2 -41
- package/dist/canonical-json.js +2 -13
- package/dist/capabilities/approvals-push.d.ts +4 -4
- package/dist/capabilities/builtin-tools.d.ts +5 -5
- package/dist/capabilities/center-plugins.d.ts +5 -5
- package/dist/capabilities/center-plugins.js +1 -1
- package/dist/capabilities/center-prompts.d.ts +1 -1
- package/dist/capabilities/center-wiring.d.ts +1 -1
- package/dist/capabilities/composite-members.d.ts +2 -2
- package/dist/capabilities/composite-members.js +1 -1
- package/dist/capabilities/execution-lane.d.ts +5 -5
- package/dist/capabilities/execution-lane.js +2 -2
- package/dist/capabilities/hands-lane.d.ts +5 -5
- package/dist/capabilities/mcp-probe.d.ts +10 -7
- package/dist/capabilities/mcp-probe.js +2 -2
- package/dist/capabilities/sandbox-file-send.d.ts +1 -18
- package/dist/capabilities/sandbox-file-send.js +0 -7
- package/dist/capabilities/scenarios.d.ts +28 -10
- package/dist/capabilities/scenarios.js +15 -5
- package/dist/capabilities/send-user-file-tool.d.ts +1 -1
- package/dist/capabilities/skills.d.ts +31 -12
- package/dist/capabilities/skills.js +23 -17
- package/dist/capabilities/tool-defer.d.ts +1 -1
- package/dist/capability-facts.d.ts +27 -24
- package/dist/capability-facts.js +18 -20
- package/dist/center-config-tier.d.ts +1 -1
- package/dist/center-credential.d.ts +4 -4
- package/dist/checkpoint-ctx-seal-m28.d.ts +42 -0
- package/dist/checkpoint-ctx-seal-m28.js +19 -0
- package/dist/checkpoint-identity.d.ts +5 -0
- package/dist/checkpoint-identity.js +14 -0
- package/dist/config-catalog.d.ts +12 -12
- package/dist/config-invariants.d.ts +4 -4
- package/dist/config-invariants.js +3 -2
- package/dist/config-lkg.d.ts +1 -1
- package/dist/config-provider.d.ts +13 -13
- package/dist/config-provider.js +2 -1
- package/dist/config-types.d.ts +83 -83
- package/dist/config.d.ts +26 -24
- package/dist/config.js +12 -10
- package/dist/cross-session-settings.d.ts +1 -1
- package/dist/delegated-session-owner.d.ts +16 -13
- package/dist/delegated-session-owner.js +9 -10
- package/dist/deployment-governance.d.ts +16 -16
- package/dist/deployment-shape.d.ts +127 -0
- package/dist/deployment-shape.js +72 -0
- package/dist/device-store.d.ts +1 -1
- package/dist/device-ws-hub.d.ts +1 -1
- package/dist/egress-redirect.d.ts +1 -1
- package/dist/entry-mode-clamp-notice.d.ts +2 -2
- package/dist/env-facts.d.ts +10 -9
- package/dist/env-facts.js +1 -1
- package/dist/env-name-allowlist-knobs.d.ts +5 -5
- package/dist/exec-bounds.d.ts +2 -2
- package/dist/execution-lane-caps.d.ts +31 -43
- package/dist/execution-lane-caps.js +0 -13
- package/dist/field-conflict.d.ts +2 -1
- package/dist/field-conflict.js +1 -0
- package/dist/file-history-capture.d.ts +9 -9
- package/dist/file-history-disclosure.d.ts +50 -9
- package/dist/file-history-disclosure.js +8 -13
- package/dist/fleet/drain-entry.d.ts +2 -2
- package/dist/fleet/fleet-bus.d.ts +26 -14
- package/dist/fleet/fleet-bus.js +6 -5
- package/dist/fleet/fleet-reconciler.d.ts +9 -9
- package/dist/fleet/subagent-tail-bus.d.ts +4 -4
- package/dist/fleet-client.d.ts +13 -13
- package/dist/fleet-lease.d.ts +16 -16
- package/dist/governance-http-status.d.ts +2 -2
- package/dist/hooks/hook-llm.d.ts +7 -7
- package/dist/hooks/hook-runner.d.ts +57 -30
- package/dist/hooks/hook-runner.js +38 -20
- package/dist/host-decision.d.ts +5 -5
- package/dist/host-lsp-manager.d.ts +5 -5
- package/dist/hosted-posture.d.ts +23 -13
- package/dist/hosted-posture.js +4 -9
- package/dist/http/admission.d.ts +2 -2
- package/dist/http/admission.js +28 -5
- package/dist/http/approval-sweeps.d.ts +1 -1
- package/dist/http/approval-sweeps.js +5 -2
- package/dist/http/checkpoint-ctx.d.ts +183 -2
- package/dist/http/checkpoint-ctx.js +197 -2
- package/dist/http/dispatch.d.ts +3 -3
- package/dist/http/dispatch.js +3 -3
- package/dist/http/durable-run-leg.js +7 -5
- package/dist/http/idempotency.d.ts +4 -4
- package/dist/http/idempotency.js +2 -2
- package/dist/http/mcp-dial-deadline.d.ts +7 -5
- package/dist/http/memory-compliance-failure-reply.d.ts +4 -4
- package/dist/http/owner-access.d.ts +4 -6
- package/dist/http/owner-access.js +1 -1
- package/dist/http/principal-gate.d.ts +39 -13
- package/dist/http/principal-gate.js +30 -6
- package/dist/http/readiness.d.ts +1 -1
- package/dist/http/refusal-body.d.ts +12 -0
- package/dist/http/refusal-body.js +11 -0
- package/dist/http/request-guards.d.ts +4 -13
- package/dist/http/request-guards.js +4 -17
- package/dist/http/resume-ctx-read.d.ts +53 -6
- package/dist/http/resume-ctx-read.js +26 -3
- package/dist/http/resume-legs.d.ts +5 -4
- package/dist/http/resume-legs.js +47 -29
- package/dist/http/route-ctx.d.ts +29 -38
- package/dist/http/route-table.d.ts +9 -9
- package/dist/http/routes/agents-roster.d.ts +1 -1
- package/dist/http/routes/agents-roster.js +2 -3
- package/dist/http/routes/approvals-assistant.d.ts +5 -5
- package/dist/http/routes/approvals-assistant.js +91 -17
- package/dist/http/routes/background.d.ts +3 -3
- package/dist/http/routes/background.js +2 -2
- package/dist/http/routes/capabilities.d.ts +1 -1
- package/dist/http/routes/capabilities.js +16 -8
- package/dist/http/routes/config-catalog.d.ts +1 -1
- package/dist/http/routes/devices.d.ts +1 -1
- package/dist/http/routes/diagnostics.d.ts +6 -6
- package/dist/http/routes/diagnostics.js +1 -1
- package/dist/http/routes/fleet.d.ts +1 -1
- package/dist/http/routes/fleet.js +5 -4
- package/dist/http/routes/mcp-reconnect.d.ts +4 -4
- package/dist/http/routes/mcp-reconnect.js +3 -3
- package/dist/http/routes/memory-consolidation.d.ts +1 -1
- package/dist/http/routes/memory-origin.d.ts +1 -1
- package/dist/http/routes/notify-wake.d.ts +1 -1
- package/dist/http/routes/notify-wake.js +2 -2
- package/dist/http/routes/rules.d.ts +1 -1
- package/dist/http/routes/rules.js +4 -4
- package/dist/http/routes/runs.js +44 -11
- package/dist/http/routes/session-sync.d.ts +3 -2
- package/dist/http/routes/session-sync.js +109 -62
- package/dist/http/routes/sessions-list.d.ts +1 -1
- package/dist/http/routes/sessions-list.js +4 -5
- package/dist/http/routes/sessions.js +34 -48
- package/dist/http/routes/tasks.d.ts +1 -1
- package/dist/http/routes/tasks.js +21 -16
- package/dist/http/routes/trace-usage.d.ts +1 -1
- package/dist/http/routes/trace-usage.js +7 -9
- package/dist/http/routes/workflows.d.ts +3 -0
- package/dist/http/routes/workflows.js +31 -28
- package/dist/http/send.d.ts +5 -5
- package/dist/http/server.d.ts +39 -33
- package/dist/http/server.js +5 -2
- package/dist/http/session-inherit-env.d.ts +3 -3
- package/dist/http/sse-lifecycle.d.ts +1 -1
- package/dist/http/sse-log.d.ts +2 -2
- package/dist/http/submit-ctx.d.ts +4 -3
- package/dist/http/submit-ctx.js +19 -3
- package/dist/http/sync-submit-body.d.ts +1 -1
- package/dist/http/verify-rounds.d.ts +1 -1
- package/dist/http/wire-types.d.ts +35 -24
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -0
- package/dist/instruction-source-notice.d.ts +2 -2
- package/dist/key-resolver.d.ts +3 -3
- package/dist/lane-home-probe.d.ts +1 -1
- package/dist/leader/diffout.d.ts +1 -1
- package/dist/leader/diffup.d.ts +2 -2
- package/dist/leader/endpoint.d.ts +1 -1
- package/dist/leader/fanout.d.ts +1 -1
- package/dist/leader/leader.d.ts +4 -4
- package/dist/leader/merge.d.ts +3 -3
- package/dist/leader/repair-wire.d.ts +1 -1
- package/dist/leader/wire.d.ts +9 -5
- package/dist/leader/wire.js +8 -7
- package/dist/list-entry-display.d.ts +1 -1
- package/dist/lsp-evict.d.ts +1 -1
- package/dist/main.js +1 -1
- package/dist/mcp-assertion-header.d.ts +1 -1
- package/dist/memory-layer-legacy-lock.d.ts +1 -1
- package/dist/memory-operator-faces.d.ts +1 -1
- package/dist/memory-origin-fence.js +2 -2
- package/dist/memory-posture.js +4 -2
- package/dist/memory-project-layer.d.ts +1 -1
- package/dist/memory-scope.d.ts +19 -19
- package/dist/memory-store-refusal.d.ts +4 -4
- package/dist/model-compat.d.ts +1 -1
- package/dist/model-entry-headers.d.ts +2 -2
- package/dist/model-entry-refusal.d.ts +17 -17
- package/dist/model-provider.d.ts +10 -10
- package/dist/model-reach-scope.d.ts +1 -1
- package/dist/model-route-endpoint.d.ts +6 -6
- package/dist/model-route-url.d.ts +5 -5
- package/dist/model-select.d.ts +15 -6
- package/dist/model-select.js +5 -0
- package/dist/model-unreachable-notice.d.ts +3 -3
- package/dist/namespaced-rule-name.d.ts +15 -5
- package/dist/namespaced-rule-name.js +3 -2
- package/dist/observability/corrupt-read-seat.d.ts +9 -9
- package/dist/observability/cost-taxonomy.d.ts +1 -1
- package/dist/observability/err-text.d.ts +1 -1
- package/dist/observability/fail-open.d.ts +12 -8
- package/dist/observability/fail-open.js +12 -8
- package/dist/observability/metrics.d.ts +3 -3
- package/dist/observability/prompt-manifest.d.ts +19 -8
- package/dist/observability/prompt-manifest.js +9 -8
- package/dist/observability/run-terminal.d.ts +36 -36
- package/dist/observability/secret-env-scrub.d.ts +3 -3
- package/dist/observability/tool-trace.d.ts +1 -1
- package/dist/observability/tool-trace.js +8 -9
- package/dist/operator-ask.d.ts +4 -4
- package/dist/orchestration/workflow-agent-session-index.d.ts +3 -3
- package/dist/orchestration/workflow-completion-inbox.d.ts +20 -5
- package/dist/orchestration/workflow-completion-inbox.js +29 -7
- package/dist/orchestration/workflow-notify-journal.d.ts +43 -19
- package/dist/orchestration/workflow-notify-journal.js +17 -0
- package/dist/orchestration/workflow-park-decision.d.ts +1 -1
- package/dist/orchestration/workflow-park-decision.js +1 -0
- package/dist/outbound-dispatcher.d.ts +4 -4
- package/dist/parent-watch.d.ts +4 -4
- package/dist/parked-decide.d.ts +20 -20
- package/dist/parked-decide.js +8 -5
- package/dist/parked-revive-surface.d.ts +7 -7
- package/dist/parked-revive-surface.js +2 -3
- package/dist/peer-directory.d.ts +3 -3
- package/dist/peer-directory.js +1 -1
- package/dist/permission-rule-list.d.ts +10 -1
- package/dist/permission-rule-list.js +7 -5
- package/dist/permission-rule-vocab.d.ts +3 -25
- package/dist/permission-rule-vocab.js +0 -13
- package/dist/plugins/adoption-log-sql.d.ts +1 -1
- package/dist/plugins/approval-ask-store-file.d.ts +8 -1
- package/dist/plugins/approval-ask-store-file.js +6 -3
- package/dist/plugins/approval-ask-store-memory.d.ts +11 -7
- package/dist/plugins/approval-ask-store-memory.js +11 -7
- package/dist/plugins/approval-ask-store-sql.d.ts +34 -15
- package/dist/plugins/approval-ask-store-sql.js +18 -5
- package/dist/plugins/approval-exemption-store.d.ts +3 -3
- package/dist/plugins/approval-nonce-store.d.ts +3 -3
- package/dist/plugins/approval-payload-fingerprint.d.ts +14 -6
- package/dist/plugins/approval-payload-fingerprint.js +1 -1
- package/dist/plugins/background-agent-store-sql.d.ts +1 -1
- package/dist/plugins/background-shell-support.d.ts +2 -2
- package/dist/plugins/blob-backend.d.ts +1 -1
- package/dist/plugins/caching-session-store.d.ts +24 -33
- package/dist/plugins/caching-session-store.js +8 -19
- package/dist/plugins/checkpoint-index-columns.d.ts +81 -0
- package/dist/plugins/checkpoint-index-columns.js +62 -0
- package/dist/plugins/checkpoint-store-sql.d.ts +66 -67
- package/dist/plugins/checkpoint-store-sql.js +100 -103
- package/dist/plugins/device-store-sql.d.ts +7 -6
- package/dist/plugins/e2b-orphan-reclaim.d.ts +1 -1
- package/dist/plugins/ensure-schema-lock-policy.d.ts +1 -1
- package/dist/plugins/file-history-store-sql.d.ts +9 -7
- package/dist/plugins/file-history-store-sql.js +27 -15
- package/dist/plugins/file-run-store.d.ts +8 -8
- package/dist/plugins/fork-routing-session-store.d.ts +2 -2
- package/dist/plugins/fork-routing-session-store.js +1 -1
- package/dist/plugins/host-platform.d.ts +10 -10
- package/dist/plugins/image-bake-store-sql.d.ts +1 -1
- package/dist/plugins/image-index-sql.d.ts +1 -1
- package/dist/plugins/leader-run-store-sql.d.ts +1 -1
- package/dist/plugins/local-checkpoint-store.d.ts +23 -12
- package/dist/plugins/local-checkpoint-store.js +29 -4
- package/dist/plugins/local-session-store.d.ts +44 -45
- package/dist/plugins/local-session-store.js +42 -52
- package/dist/plugins/local-session-window.d.ts +12 -6
- package/dist/plugins/local-session-window.js +1 -17
- package/dist/plugins/mailbox-store-sql.d.ts +2 -2
- package/dist/plugins/memory-engine-pg.d.ts +1 -1
- package/dist/plugins/memory-run-store.d.ts +4 -4
- package/dist/plugins/memory-sync-store-pg.d.ts +3 -3
- package/dist/plugins/one-time-migrations.d.ts +76 -39
- package/dist/plugins/one-time-migrations.js +127 -34
- package/dist/plugins/outcome-ledger-sql.d.ts +1 -1
- package/dist/plugins/park-commit-watch.d.ts +3 -3
- package/dist/plugins/permission-rule-store-file.d.ts +5 -5
- package/dist/plugins/permission-rule-store-file.js +16 -19
- package/dist/plugins/permission-rule-store-sql.d.ts +38 -4
- package/dist/plugins/permission-rule-store-sql.js +74 -31
- package/dist/plugins/pg-cost-quota.d.ts +1 -1
- package/dist/plugins/pg-pool.d.ts +2 -2
- package/dist/plugins/pg-pool.js +5 -2
- package/dist/plugins/pg-rate-limiter.d.ts +1 -1
- package/dist/plugins/pg-session-storage.d.ts +9 -21
- package/dist/plugins/pg-session-storage.js +51 -42
- package/dist/plugins/remote-env-adb.d.ts +10 -10
- package/dist/plugins/remote-env-device.d.ts +22 -14
- package/dist/plugins/remote-env-device.js +28 -16
- package/dist/plugins/remote-env-e2b.d.ts +3 -3
- package/dist/plugins/remote-env-host.d.ts +16 -16
- package/dist/plugins/remote-env-k8s.d.ts +8 -8
- package/dist/plugins/remote-env-local-docker.d.ts +2 -2
- package/dist/plugins/remote-env-ssh.d.ts +4 -4
- package/dist/plugins/remote-scratchpad.d.ts +2 -3
- package/dist/plugins/remote-scratchpad.js +0 -4
- package/dist/plugins/remote-shell.d.ts +6 -6
- package/dist/plugins/retention-lane-store-sql.d.ts +4 -4
- package/dist/plugins/retention-store-sql.d.ts +4 -4
- package/dist/plugins/roster-store-sql.d.ts +1 -1
- package/dist/plugins/run-store-sql.d.ts +8 -8
- package/dist/plugins/schema-consistency.d.ts +2 -2
- package/dist/plugins/schema-ensure-legs.d.ts +3 -3
- package/dist/plugins/schema-indexes.d.ts +1 -1
- package/dist/plugins/schema-live-columns.d.ts +1 -1
- package/dist/plugins/session-event-payload.d.ts +4 -4
- package/dist/plugins/session-fork.d.ts +34 -0
- package/dist/plugins/session-fork.js +29 -0
- package/dist/plugins/session-ownership.d.ts +11 -0
- package/dist/plugins/session-ownership.js +11 -0
- package/dist/plugins/session-placement.d.ts +12 -14
- package/dist/plugins/session-placement.js +2 -15
- package/dist/plugins/session-policy-store-sql.d.ts +12 -12
- package/dist/plugins/session-store.d.ts +2 -2
- package/dist/plugins/session-store.js +2 -2
- package/dist/plugins/shared-memory-store-sql.d.ts +2 -2
- package/dist/plugins/sql-driver.d.ts +8 -8
- package/dist/plugins/sql-errors.d.ts +1 -1
- package/dist/plugins/sql-json-column.d.ts +21 -21
- package/dist/plugins/sql-row-helpers.d.ts +2 -2
- package/dist/plugins/store-backend.d.ts +17 -16
- package/dist/plugins/store-backend.js +3 -3
- package/dist/plugins/store-contracts.d.ts +21 -21
- package/dist/plugins/task-attachment-store.d.ts +2 -2
- package/dist/plugins/task-list-store-sql.d.ts +1 -1
- package/dist/plugins/tidb-pool.d.ts +2 -2
- package/dist/plugins/tidb-pool.js +9 -2
- package/dist/plugins/tidb-session-store.d.ts +17 -27
- package/dist/plugins/tidb-session-store.js +52 -42
- package/dist/plugins/tool-result-store-sql.d.ts +1 -1
- package/dist/plugins/usage-window-store-sql.d.ts +3 -3
- package/dist/plugins/user-input-ledger-file.d.ts +1 -1
- package/dist/plugins/user-input-ledger-sql.d.ts +3 -3
- package/dist/plugins/web-search.d.ts +19 -5
- package/dist/plugins/web-search.js +19 -4
- package/dist/{orchestration/workflow-journal-entry.d.ts → plugins/workflow-journal-payload.d.ts} +23 -32
- package/dist/plugins/workflow-journal-payload.js +32 -0
- package/dist/plugins/workflow-journal-store-sql.d.ts +28 -14
- package/dist/plugins/workflow-journal-store-sql.js +34 -15
- package/dist/plugins/workflow-run-store-sql.d.ts +4 -4
- package/dist/posture-source.d.ts +11 -11
- package/dist/principal-jwt.d.ts +6 -6
- package/dist/project-identity.d.ts +3 -3
- package/dist/project-memory.d.ts +4 -4
- package/dist/read-face-posture.d.ts +7 -7
- package/dist/request-key-closure.d.ts +1 -1
- package/dist/request-key-closure.js +1 -1
- package/dist/request-tool-axes.d.ts +12 -0
- package/dist/request-tool-axes.js +20 -0
- package/dist/request-value-closure.d.ts +15 -8
- package/dist/request-value-closure.js +2 -0
- package/dist/router/route-orchestration.d.ts +11 -16
- package/dist/router/route-orchestration.js +2 -12
- package/dist/rule-entry-list.d.ts +8 -7
- package/dist/rule-entry-list.js +2 -9
- package/dist/rules-consent.d.ts +6 -6
- package/dist/rules-consent.js +2 -0
- package/dist/run-cancel-context.d.ts +5 -5
- package/dist/run-local.d.ts +10 -10
- package/dist/run-local.js +1 -0
- package/dist/runs.d.ts +15 -12
- package/dist/runs.js +19 -4
- package/dist/runtime-caps-resolver.d.ts +6 -6
- package/dist/runtime-governance.d.ts +9 -9
- package/dist/sandbox-pkg-source.d.ts +9 -31
- package/dist/sandbox-pkg-source.js +14 -8
- package/dist/sealed-key.d.ts +34 -2
- package/dist/sealed-key.js +55 -1
- package/dist/security.d.ts +31 -32
- package/dist/security.js +12 -9
- package/dist/server-secret-env.d.ts +10 -10
- package/dist/session-children-retire.d.ts +1 -1
- package/dist/session-error-wire.d.ts +19 -12
- package/dist/session-error-wire.js +4 -1
- package/dist/session-incarnation.d.ts +52 -35
- package/dist/session-incarnation.js +23 -8
- package/dist/session-policy-wire.d.ts +27 -5
- package/dist/session-policy-wire.js +15 -1
- package/dist/session-records-skipped-notice.d.ts +1 -1
- package/dist/session-sync-kernel.d.ts +38 -11
- package/dist/session-sync-kernel.js +10 -0
- package/dist/session-sync.d.ts +49 -6
- package/dist/session-sync.js +52 -10
- package/dist/session-titler.d.ts +7 -6
- package/dist/session-titler.js +8 -13
- package/dist/session-watch.d.ts +3 -3
- package/dist/session-watch.js +4 -4
- package/dist/sighup-idle.d.ts +2 -2
- package/dist/spec-fields.d.ts +4 -4
- package/dist/sql-engine-posture.d.ts +3 -3
- package/dist/store-posture.d.ts +2 -2
- package/dist/stored-request-tool-axes-m19.d.ts +1 -1
- package/dist/task-a2a.d.ts +3 -1
- package/dist/task-a2a.js +38 -5
- package/dist/task-cwd.d.ts +7 -88
- package/dist/task-cwd.js +2 -15
- package/dist/task-mcp.d.ts +14 -10
- package/dist/task-mcp.js +39 -12
- package/dist/task-settings.d.ts +34 -18
- package/dist/task-settings.js +34 -4
- package/dist/task-workflow.d.ts +0 -24
- package/dist/task-workflow.js +2 -1
- package/dist/terminal.d.ts +5 -5
- package/dist/tighten-only-seats.d.ts +7 -6
- package/dist/tighten-only-seats.js +1 -1
- package/dist/tool-approval.d.ts +273 -228
- package/dist/tool-approval.js +125 -47
- package/dist/tool-rule-names.d.ts +7 -1
- package/dist/trace/core-keyset-guard.d.ts +15 -9
- package/dist/trace/engine-notice-wire.d.ts +5 -5
- package/dist/trace/engine-notice-wire.js +1 -0
- package/dist/trace/exit-seat.d.ts +40 -1
- package/dist/trace/exit-seat.js +46 -14
- package/dist/trace/ledger-events.d.ts +6 -4
- package/dist/trace/ledger-sink.d.ts +1 -1
- package/dist/trace/model-segment.d.ts +3 -3
- package/dist/trace/project.d.ts +65 -46
- package/dist/trace/project.js +49 -5
- package/dist/trace/redact.d.ts +44 -27
- package/dist/trace/redact.js +343 -73
- package/dist/trace/self-minted-wire.d.ts +39 -14
- package/dist/trace/self-minted-wire.js +9 -0
- package/dist/trace/sema-provenance.d.ts +1 -1
- package/dist/trace/task-notification-facets.d.ts +4 -4
- package/dist/trace/wire-projection-faces.d.ts +9 -3
- package/dist/trace/wire-projection-faces.js +7 -1
- package/dist/unattended-permission-mode.d.ts +5 -5
- package/dist/url-credential.d.ts +52 -0
- package/dist/url-credential.js +49 -0
- package/dist/url-refusal.d.ts +6 -2
- package/dist/url-refusal.js +8 -1
- package/dist/usage-analytics.d.ts +2 -2
- package/dist/user-input-ledger.d.ts +23 -23
- package/dist/web-admin-client/apply-effective.d.ts +5 -5
- package/dist/web-admin-client/apply-effective.js +2 -1
- package/dist/web-admin-client/apply-ledger.d.ts +2 -2
- package/dist/web-admin-client/center-request.d.ts +2 -2
- package/dist/web-admin-client/facade.d.ts +5 -5
- package/dist/web-admin-client/facade.js +1 -1
- package/dist/web-admin-client/hot-keys-registry.d.ts +2 -2
- package/dist/web-admin-client/http-client.d.ts +4 -4
- package/dist/web-admin-client/mcp-revocation.d.ts +1 -1
- package/dist/web-admin-client/pull-state.d.ts +1 -1
- package/dist/web-admin-client/read-face.d.ts +2 -2
- package/dist/web-admin-client/read-warnings.d.ts +5 -5
- package/dist/web-admin-client/restart-signal.d.ts +6 -6
- package/dist/web-admin-client/skills-mcp.d.ts +29 -4
- package/dist/web-admin-client/skills-mcp.js +31 -4
- package/dist/web-admin-client/types.d.ts +17 -10
- package/dist/workspace-space.d.ts +5 -3
- package/dist/write-protection.d.ts +2 -2
- package/package.json +4 -3
- package/scripts/drain-check-local.mjs +35 -2
- package/scripts/drain-check.mysql.sql +22 -2
- package/scripts/drain-check.pg.sql +22 -2
- package/skills/loop.md +1 -1
- package/dist/mcp-tool-faces.d.ts +0 -69
- package/dist/mcp-tool-faces.js +0 -104
- package/dist/orchestration/workflow-journal-entry.js +0 -27
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* [ref](7.108.0;test [ref] ② 用户报案分诊,验收 `srv7108-s925-connect-timeout-diagnostic`)—— **模型调用因建连失败终态**时
|
|
3
3
|
* 给这条腿的用户铸的通告 `server.model_unreachable` 的**唯一铸点**,与把它挂到每一次模型调用上的 brain 装饰器。
|
|
4
4
|
*
|
|
5
5
|
* ## 病
|
|
6
6
|
* 运营用户看不到日志 / 诊断面:VPN 中途切换之后模型网关建连超时,用户只拿到一句 undici 原句(`fetch failed (connect …)`),
|
|
7
7
|
* 分不清是网络断了还是起服时读进的代理已经失效,也没有「查 VPN / 代理、代理变过就重启」这条出路。只落运维日志不算闭环
|
|
8
|
-
* (test 立案原话)。core 没有现成的「模型不可达」用户通告码 ⇒ 本仓铸,走既有的本仓铸码族(
|
|
9
|
-
* 一个不绕),不开第二条通道。core 7.38.0(
|
|
8
|
+
* (test 立案原话)。core 没有现成的「模型不可达」用户通告码 ⇒ 本仓铸,走既有的本仓铸码族([ref] 形:白名单 / 归属 / 消毒 / 隔离四件判据
|
|
9
|
+
* 一个不绕),不开第二条通道。core 7.38.0([ref])起本码在 core 码册里:受众 `NOTICE_AUDIENCE` = user、铸者 `NOTICE_MINTER` = `"server"`。
|
|
10
10
|
*
|
|
11
11
|
* ## 判据(一句):**这一次模型调用的终局是 `stopReason: "error"`,且它发出的最后一条请求在建连时就失败了**
|
|
12
12
|
* 「最后一条请求落在哪」由出网观察者记在调用作用域上(`model-reach-scope.ts`,undici 诊断通道,见 `outbound-dispatcher.ts`)——
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* 规则里的工具名**够不够得着**一只挂载工具 —— 判官只有一个:引擎的 `judgeRuleToolName`。本文件只剩「规则文本里工具名那一段怎么取」与「判词怎么说」。
|
|
3
3
|
*
|
|
4
4
|
* 一个名字永远匹配不到工具的成因,全是引擎判官的判词(`retired` / `unprefixed_namespace` / `unmintable_segment`,带 `guidance` 与 1:1 `currentName`):
|
|
5
|
-
* 退役名、无协议前缀的 `__` 短名、协议名的对端段引擎铸不出(`mcp__github.com__*`、`
|
|
5
|
+
* 退役名、无协议前缀的 `__` 短名、协议名的对端段引擎铸不出(`mcp__github.com__*`、`mcp__git*`、`mcp____x`、`mcp__`),以及(core 7.48.0 [ref] 起)
|
|
6
6
|
* **工具段为空**(`mcp__srv__` / `a2a__peer__`)。最后这一形 7.116.0–7.122.x 是本仓自答的(引擎判官当时答 `current`);引擎给了判词 ⇒ 本仓那一问
|
|
7
7
|
* (本文件那只判与它在会话规则写口、SQL 店写口、四张条目表上的调用)退役,零双读。
|
|
8
8
|
*
|
|
@@ -12,13 +12,13 @@
|
|
|
12
12
|
* (名册 = {@link TOOL_NAME_ROSTER};判官判非现役的条目读成 `tool_name`,名册里有的只差大小写读成 `near_miss`)。
|
|
13
13
|
* **不调它的面**:`/v1/rules` 的持久规则写口与 `cc-import` 导入口(`http/routes/rules.ts`、`rules-consent.ts` 与两只持久规则店零判官调用)—— 如实未接,
|
|
14
14
|
* 在那里写铸不出的服务器段仍被收下、永不命中;把它接上判官 = 另一件事(`unmatchableRuleNameOf` 就是现成的那一只)。
|
|
15
|
-
* 子代的工具名表 `agents[].allowTools` / `denyTools` 不是本文件的面:core 7.45.0
|
|
15
|
+
* 子代的工具名表 `agents[].allowTools` / `denyTools` 不是本文件的面:core 7.45.0 [ref] / [ref] 起名字归引擎在开跑前一只判(三来源同判,`spec-fields.ts`
|
|
16
16
|
* 受理口只判形与条数),本仓不对它另做对照。
|
|
17
17
|
* **精确名的工具段归一不在这里判**:包根没有导出工具段的铸法,不手抄 —— 精确名的工具段按字面收,本仓每张表上都不判它。
|
|
18
18
|
*
|
|
19
19
|
* 规则文本里「工具名那一段」怎么取也只有一种读法:{@link ruleEntryToolName}(配置表读它)。
|
|
20
20
|
*/
|
|
21
|
-
import { type RuleToolNameVerdict } from "@sema-agent/core";
|
|
21
|
+
import { type PermissionRule, type RuleToolNameVerdict } from "@sema-agent/core";
|
|
22
22
|
/**
|
|
23
23
|
* 一条**规则文本**里的工具名那一段(判官与旧名判据的主语)= core 包根 `parsePermissionRule` 的 `toolName`,原样 —— 引擎的技能编译器
|
|
24
24
|
* (`compileSkillGrant`)与规则编译器读条目用的就是这一只:`Bash(npm:*)` ⇒ `Bash`;`mcp__srv(*)` / `mcp__srv()` / 带首尾空格的 `mcp__srv ` ⇒ 光杆名 `mcp__srv`。
|
|
@@ -39,8 +39,18 @@ export declare const TOOL_NAME_ROSTER: ReadonlySet<string>;
|
|
|
39
39
|
export type UnmatchableRuleName = Exclude<RuleToolNameVerdict, {
|
|
40
40
|
kind: "current";
|
|
41
41
|
}>;
|
|
42
|
-
/**
|
|
43
|
-
|
|
42
|
+
/**
|
|
43
|
+
* **运维名表的态度** —— 一个常量,判官与匹配器同读(core 7.55.0 [ref])。本仓的名表消费者(env `APPROVAL_REQUIRE` / `APPROVAL_DENY` / `APPROVAL_NEVER_AUTO`、
|
|
44
|
+
* 中心下发的 `approvalRequire`、请求 `settings.permissions` 的 neverAuto 座)全是**限制表**(要求审批 / 硬拦 / 禁自动答):引擎对一个名字在限制表里的读法
|
|
45
|
+
* (`judgeRuleToolName(name, 名册, behavior)` 收不收、`isNamespacedCoveringRuleName(name, behavior)` 够着哪些工具)只分「限制 / 放行」两侧 —— 整个协议的名字
|
|
46
|
+
* `mcp__*` / `mcp__*__*` 在 deny 与 ask 里同读成这一协议的每一只工具。受理口的判(`config.ts`)与运行期的匹配(`approval.ts`)读同一个态度,一张表不会一边收、一边什么也不拦。
|
|
47
|
+
*/
|
|
48
|
+
export declare const NAME_TABLE_BEHAVIOR: "deny";
|
|
49
|
+
/**
|
|
50
|
+
* 判:引擎判官**按这张表的态度**判这个名字,非 `current` ⇒ 原样交回;`current` ⇒ `undefined`。`behavior` 必填 —— 同一个名字在限制表与放行表里是两种读法
|
|
51
|
+
* (core 7.55.0 [ref]:`mcp__*` 在 deny / ask 里是这一协议的每一只工具、在 allow 里什么也不是),漏传态度的调用点是编译错,不是一条静默的「不带态度」读法。
|
|
52
|
+
*/
|
|
53
|
+
export declare function unmatchableRuleNameOf(name: string, behavior: PermissionRule["behavior"]): UnmatchableRuleName | undefined;
|
|
44
54
|
/**
|
|
45
55
|
* 判词 → 「为什么永远匹配不到 + 怎么写」(不复述条目本身 —— 调用方的句子已点名它)。引擎判词的 `guidance` 原样带出,是改法指引的**唯一**一句
|
|
46
56
|
* (本仓不在后面追加 1:1 现名:通配名上那个现名是摘要名或更窄的写法,照写不生效;现名过境给机器读的位,如会话规则拒体顶层的 `currentName`);
|
|
@@ -5,8 +5,9 @@ export function ruleEntryToolName(entry) {
|
|
|
5
5
|
return parsePermissionRule(entry).toolName;
|
|
6
6
|
}
|
|
7
7
|
export const TOOL_NAME_ROSTER = new Set([...catalogToolNames(), ...HOST_TOOL_NAMES]);
|
|
8
|
-
export
|
|
9
|
-
|
|
8
|
+
export const NAME_TABLE_BEHAVIOR = "deny";
|
|
9
|
+
export function unmatchableRuleNameOf(name, behavior) {
|
|
10
|
+
const verdict = judgeRuleToolName(name, TOOL_NAME_ROSTER, behavior);
|
|
10
11
|
return verdict.kind === "current" ? undefined : verdict;
|
|
11
12
|
}
|
|
12
13
|
export function describeUnmatchableRuleName(v, name) {
|
|
@@ -9,7 +9,7 @@ import type { Logger } from "./logger.js";
|
|
|
9
9
|
* @param event warn 事件名。**留在调用点**:它是那只店的身份,接线锚(test/roster-corrupt-read.test.ts)
|
|
10
10
|
* 正是靠「构造实参里能读到这个名字」来证明座不是个空回调。
|
|
11
11
|
* @param note 这张脸的后果句(可选)。缺席 ⇒ 不写这个键。
|
|
12
|
-
* @param leg 与披露**同拍**的一条附加腿(可选;
|
|
12
|
+
* @param leg 与披露**同拍**的一条附加腿(可选;[ref] 加):座拿到一次披露时先交给它、再写日志。唯一的用户是
|
|
13
13
|
* `LocalSessionStore` 那只 `FileSessionRepo` 的座 —— 会话打开作用域的计数腿(`noteReplayInSessionOpenScope`:
|
|
14
14
|
* 作用域在场时把 `replay` 计数记到那次打开上,由打开方铸 `session.records_skipped`)。腿**必须不抛**(那一只是纯内存
|
|
15
15
|
* 赋值);先腿后日志,是因为日志座可能坏(core 的 guard 会吞掉它的抛),而一次日志故障不许吃掉这一记。
|
|
@@ -17,7 +17,7 @@ import type { Logger } from "./logger.js";
|
|
|
17
17
|
*/
|
|
18
18
|
export declare function createCorruptReadSeat(warn: Logger["warn"], event: string, note?: string, leg?: (info: FileStorageCorruptReadInfo) => void): (info: FileStorageCorruptReadInfo) => void;
|
|
19
19
|
/**
|
|
20
|
-
* 铸一只 **F 类**腐读座(
|
|
20
|
+
* 铸一只 **F 类**腐读座([ref]):同一份 core 披露载荷,按 F 类座纪律处置 —— 每命中 `recordFailOpen(tag, 明细)`
|
|
21
21
|
* (计数逐次 + 探针行逐次 + warn 每进程每 tag 一次;三件套的节流粒度见 `fail-open.ts` 模块头)。
|
|
22
22
|
*
|
|
23
23
|
* ## 什么算一次命中
|
|
@@ -25,7 +25,7 @@ export declare function createCorruptReadSeat(warn: Logger["warn"], event: strin
|
|
|
25
25
|
* · `record` —— 一条被跳过的记录:**一次命中**,明细进探针行(会话 / 行号 / 坏体形 / 原因);
|
|
26
26
|
* · `file` —— 整个文件 / 目录读不出:**一次命中**(同一 tag,明细里 `kind=file`);
|
|
27
27
|
* · `replay` —— 同一批 `record` 的**汇总**(跳过 ≥1 条的每次读恰一发):**不计、不 warn** —— 计它就是把一条坏行记两次
|
|
28
|
-
* (
|
|
28
|
+
* ([ref] 的教训)。汇总的两个实数给了用户面(`leg` 腿 → `session.records_skipped` 帧),运维面逐条明细都在探针里。
|
|
29
29
|
*
|
|
30
30
|
* ## 为什么 warn 里不再逐条
|
|
31
31
|
* 修前每命中一行 warn(本座的 `warn` 参数形):一份有 113 行读不出的存档,一次列表 + 一次查看 = 342 行,存档没修好每读再发 ——
|
|
@@ -39,12 +39,12 @@ export declare function createCorruptReadSeat(warn: Logger["warn"], event: strin
|
|
|
39
39
|
export declare function createCorruptReadFailOpenSeat(tag: FailOpenTag, leg?: (info: FileStorageCorruptReadInfo) => void): (info: FileStorageCorruptReadInfo) => void;
|
|
40
40
|
/**
|
|
41
41
|
* 铸 `FileStorageBackend` 的**多脸**腐读座 `file_store_corrupt_read`(HTTP 服务的 local 腿与 run-local 共用 —— 修前两处铸点各手抄一遍 `createCorruptReadSeat(…)`
|
|
42
|
-
* + 后果句,
|
|
42
|
+
* + 后果句,[ref] 收成这一个)。
|
|
43
43
|
*
|
|
44
44
|
* ## 逐命中响亮不降级
|
|
45
|
-
* 这一座里有安全轴的脸(session-policy),所以每命中一行 warn 保留(降成「每进程一次」是降级,
|
|
45
|
+
* 这一座里有安全轴的脸(session-policy),所以每命中一行 warn 保留(降成「每进程一次」是降级,[ref] 的裁定);**在此之上**,认出的脸另记账:
|
|
46
46
|
* · session-policy 脸 ⇒ `P-DEBT` tag(`server.session-policy.corrupt-read-fail-open`)—— 计数逐次 + 探针行 + 一次性 warn。core 7.39.2 起按键读拒;
|
|
47
|
-
* core 7.41.0
|
|
47
|
+
* core 7.41.0 [ref] 起本会话的枚举拒、别的会话的抹除不动它、重绑带走它 —— 但只对**有归属**的坏行(行里的 `__sid`,否则同名高水位标记的 `__sid`);
|
|
48
48
|
* 无归属的坏行仍按「无规则」(会话规则只许收紧 ⇒ 丢的恰是收紧);座上分不出读法 ⇒ 这一脸每一发都计(含已拒的)。
|
|
49
49
|
* 抹除扫走无归属坏行那一形 core 是否披露、座上数不数得到,本车未亲核(未闭环,收车档登)。放行是 core 的裁定、本仓不包层(源头修复纪律),所以**只登债、不改放行**;
|
|
50
50
|
* · 其余脸 ⇒ 不计(见 {@link DurableAbsenceFace})。
|
|
@@ -80,7 +80,7 @@ type JsonlReplaySeatEntry = {
|
|
|
80
80
|
} | {
|
|
81
81
|
readonly direction: "fail-open";
|
|
82
82
|
/**
|
|
83
|
-
* 逐条计数的 F 类 tag(`fail-open.ts` 闭集词表;普查表 §1 有登记行)。
|
|
83
|
+
* 逐条计数的 F 类 tag(`fail-open.ts` 闭集词表;普查表 §1 有登记行)。[ref]:fail-open 座**没有 warn 出口** —— 披露 = `recordFailOpen` 三件套
|
|
84
84
|
* (计数逐次 + 探针行逐次 + warn 每进程每 tag 一次),后果句住 tag 的 `note`;所以这里不再有 `event` / `note`(修前是逐条 warn 的事件名与后果句)。
|
|
85
85
|
*/
|
|
86
86
|
readonly tag: FailOpenTag;
|
|
@@ -185,7 +185,7 @@ export declare class JsonlStoreCorruptError extends Error {
|
|
|
185
185
|
constructor(seat: FailClosedJsonlSeat, path: string, reason: string);
|
|
186
186
|
}
|
|
187
187
|
/**
|
|
188
|
-
* 一个 fail-closed 文件的**损坏闸**(原 `permission-rule-store-file.ts` 的 `CorruptionGate`,
|
|
188
|
+
* 一个 fail-closed 文件的**损坏闸**(原 `permission-rule-store-file.ts` 的 `CorruptionGate`,[ref] 收进属主)。
|
|
189
189
|
* 置位之后,店的每一个判决 / 追加方法第一行 {@link assertUsable} 即响亮拒 —— 一份不完整的授权账既不能用来
|
|
190
190
|
* 判决,也不能在它上面继续追加(追加只会让下一次重启读到同样残缺的历史)。
|
|
191
191
|
* 只是一只闩:披露由属主在跳闸那一刻经腐读座发出(逐条记录 + 计数),闸本身不再说第二遍。
|
|
@@ -213,7 +213,7 @@ export declare function replayJsonlGuarded<T>(path: string, seat: FailClosedJson
|
|
|
213
213
|
* **fail-open** 座的重放:坏行 ⇒ 跳过 + 逐条 `recordFailOpen(<登记的 F tag>, 明细)`(明细 = `kind=record path= line= form= reason=`,与 core 披露同形);
|
|
214
214
|
* `skipped` = 跳过的条数(撕尾不计 —— core 按设计不报它)。读错(非 ENOENT)照 core 原样抛。
|
|
215
215
|
*
|
|
216
|
-
* 🔴 **没有 `warn` 形参**(
|
|
216
|
+
* 🔴 **没有 `warn` 形参**([ref],硬删、零别名):F 座的披露就是 `recordFailOpen` 三件套(计数逐次 + 探针行逐次 + warn 每进程每 tag 一次);
|
|
217
217
|
* 修前这里还按 `warn` 对每条坏记录再发一行,一份 113 行坏账本 = 114 行 warn + 一条 F 座的 warn,与「F 座 warn 一次」差一项。
|
|
218
218
|
*/
|
|
219
219
|
export declare function replayJsonlSkipping<T>(path: string, seat: FailOpenJsonlSeat, shape: JsonlRecordShape<T>): {
|
|
@@ -42,7 +42,7 @@ export interface InfraCostBreakdown {
|
|
|
42
42
|
totalMicroUsd: number;
|
|
43
43
|
}
|
|
44
44
|
/**
|
|
45
|
-
* Core's LLM-family breakdown — core's own `TaskResult.stats.costBreakdown` type, accepted read-only for composition (
|
|
45
|
+
* Core's LLM-family breakdown — core's own `TaskResult.stats.costBreakdown` type, accepted read-only for composition ([ref]: not a hand-copied
|
|
46
46
|
* mirror — core 7.52.0 added the `sideCallMicroUsd` "of which" line and a copy would have missed it). Its partition lines add up to core's
|
|
47
47
|
* `costMicroUsd`; `sideCallMicroUsd` (the classifier's and mods' model calls) is an "of which" line INSIDE `llmRootMicroUsd`, never added to them.
|
|
48
48
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** 把任意 rejection 值变成**一定能得到的字符串**——终局链(setTerminal 的 errorMessage 座、留痕腿)专用。
|
|
2
|
-
*
|
|
2
|
+
* [ref] codex r28/r31 + 第三十一/三十二轮重扫:rejection 值可以是 message getter / toString / Symbol.toPrimitive 会抛的对象,
|
|
3
3
|
* 或 `Error` 实例的 message getter 返回带会抛 length getter 的非字符串——裸写 `e instanceof Error ? e.message : String(e)`
|
|
4
4
|
* 在 catch 里自己抛,外层 catch 吞掉 setTerminal ⇒ run 卡 running、claim 悬挂到 reaper。这里**不抛、恒返字符串**。 */
|
|
5
5
|
export declare function errorText(e: unknown): string;
|
|
@@ -165,7 +165,15 @@ export declare const FAIL_OPEN_TAGS: {
|
|
|
165
165
|
};
|
|
166
166
|
readonly "server.rule-offers.uncovered-detail-dropped": {
|
|
167
167
|
readonly cls: "F";
|
|
168
|
-
readonly note: "design/382 §3.5(S-44):batch offer 的 `uncoveredDetail`
|
|
168
|
+
readonly note: "design/382 §3.5(S-44;core 7.55.0 #1468 P1 阶段二起读者是 core `readRuleOffers`,经 `approval-card.ts` 的 `readRuleOfferList`,两条腿同调):batch offer 的 `uncoveredDetail` 明细座不是「每个计数段一行良构行」(集外 reason / 非数组 / 行数与 count 座不等 —— core 读者判丢、读数带 `uncoveredDetailDropped`)或行数超本仓展示帽 MAX_UNCOVERED_DETAIL_ROWS ⇒ 只丢这一座、batch 本体照投。放行的最坏后果 = 卡上少几行「这段为什么还会问」的解释(count 座仍在,core 契约明写明细缺席不是断言);把整只 batch 判假才是错的方向(一只真可兑的合取批从卡上消失)。纯展示轴 ⇒ F 类;必须留痕,否则上游明细座漂形在遥测里零痕迹。detail = `index=<core 列表里的下标>` + 丢的缘由(不带段文本)。";
|
|
169
|
+
};
|
|
170
|
+
readonly "server.checkpoint.inbox-risk-axes-damaged": {
|
|
171
|
+
readonly cls: "F";
|
|
172
|
+
readonly note: "core 7.55.0 `summarizeCheckpoint` 的第二参(`plugins/checkpoint-store-sql.ts` 的 `listByScope`:supervisor inbox / 调度视图的按 scope 待决投影):一行审批门的风险描述符读穿了一格坏轴 —— `axes` 不是普通对象,或某个标记(`egress` / `irreversible` / `shell`)在场却不是布尔(手改 / 第三方写者;引擎铸的行没有这一形)⇒ 行照投,`severity` 取有效标记给出的下界,证不出就缺席;core 交一句话给店的座,本座逐行计一次。放行的最坏后果 = 这一行在按 severity 倒排的 inbox 里排位偏低或无档(分诊材料,不是门;resume 的判据不读它)。不放行的代价是一行坏描述符打掉整个 scope 的 inbox(修前:非对象描述符抛 TypeError 出投影)。修前不传座 ⇒ 降档是静默的。detail = core 的句子(按 checkpoint id 与会话 JSON 点名、按形说成员,不带令牌、不带值);每次列 inbox 都会再说一次,直到那一行被修或被决。LOCAL 车道的同一句经 backend 的 `file_store_corrupt_read` 座(core File 店自带),不走本 tag。";
|
|
173
|
+
};
|
|
174
|
+
readonly "server.rule-offers.offer-dropped": {
|
|
175
|
+
readonly cls: "F";
|
|
176
|
+
readonly note: "core 7.55.0 #1468 P1 阶段二(`approval-card.ts` 的 `readRuleOfferList`,规则提议列表的唯一读者,判官 = core `readRuleOffers`;两条腿同调 —— 耐久腿 `checkpoint-store-sql.ts` `boundedRuleOffers`:铸行落列、回读列、LOCAL 孪生读寄存行;同步腿 `tool-approval.ts` `boundRuleOfferTexts`:活 ask 的 `AskRequest.ruleOffers`):一个元素读不出(`unknown_word`:offer / 成员的 `kind`、`match` 是本引擎不认的词 —— 更新的铸者或别的写者;`malformed`:不是对象、成员缺位或错型、空 batch、计数不是非负安全整数)⇒ 这一只整只丢(batch 不拆成员)、兄弟照投;整只值在场却不是列表(`not_an_array`)⇒ 这一行无供给。逐元素计。放行的最坏后果 = 卡上少一个「不再询问」选项(人仍可逐次批;少的是选项不是门 —— 渲出一个读不懂的选项、或少一个成员的合取批,才是错的方向)。修前耐久腿丢元素是静默的,同步腿走一行 logger warn(`rule_offer_dropped_unreadable_shape`,随之退役)。计数非零 = 有 offer 列表的形本引擎读不懂:上游版本领先(core 加了词)或库里的行被手改过。detail = `index=<下标> problem=<RULE_OFFER_SHAPE_PROBLEMS 的词>`(不带 offer 文本 —— 那是命令原文族)。";
|
|
169
177
|
};
|
|
170
178
|
readonly "server.rules.ticket-claim-release-failed": {
|
|
171
179
|
readonly cls: "F";
|
|
@@ -181,7 +189,7 @@ export declare const FAIL_OPEN_TAGS: {
|
|
|
181
189
|
};
|
|
182
190
|
readonly "server.approvals.park-row-blob-unreadable": {
|
|
183
191
|
readonly cls: "F";
|
|
184
|
-
readonly note: "S-700(`plugins/checkpoint-store-sql.ts` 的 `readParkRowFactsCell`):运维待批队列(`GET /v1/approvals` / `/stream`)的某一行,`checkpoint` 列里寄存行的 **`pendingAction` 子树**(NP-3 / 7.100.0 起引擎内只取这一棵、整只快照不出库;只为 park 行事实 `requiresRealApproval` / `ruleOffersAbsence` / `mandated`(S-663 二段,core #1079)/ `mandate`(S-721)/ `origin`(S-755)而读 —— 事实位的真源是 `approval-card.ts` 的 `ParkRowFacts`)**在场却不是一只对象**(JSON `null` 字面 / 串 / 数 —— 手改 / 迁移脚本改过)。子树**缺席**(SQL NULL:成员不在,或整只文档不是对象 —— 后者 `get()` 照旧拒;MariaDB 文本承载上的非 JSON 字节同样答 SQL NULL)⇒ 事实缺席、不计数。放行的最坏后果 = **这一行**的 park 行事实(`ParkRowFacts` 各位)缺席(展示/分诊材料;core 定性 display metadata,resume 的带子读 gate 自己的位),队列其余部分照常 —— 而这一行本来就 resume 不了(`get()` 对同一格拒)。不放行的代价是整只 `rows.map` 抛出 ⇒ 一行坏 blob 打掉整个租户的队列(列表 500、SSE 心跳照常而队列永远空),与同一 `rows.map` 里 `rule_suggestions` / `risk_descriptor` 两格同族同判。故 F 类;tag 与那两格**分开计**(哪一格在坏要读得出来)。计数非零 = 这一行的 decide 同样读不动(`get()` 对同一格拒),去按 session 查那一行。
|
|
192
|
+
readonly note: "S-700(`plugins/checkpoint-store-sql.ts` 的 `readParkRowFactsCell`):运维待批队列(`GET /v1/approvals` / `/stream`)的某一行,`checkpoint` 列里寄存行的 **`pendingAction` 子树**(NP-3 / 7.100.0 起引擎内只取这一棵、整只快照不出库;只为 park 行事实 `requiresRealApproval` / `ruleOffersAbsence` / `mandated`(S-663 二段,core #1079)/ `mandate`(S-721)/ `origin`(S-755)而读 —— 事实位的真源是 `approval-card.ts` 的 `ParkRowFacts`)**在场却不是一只对象**(JSON `null` 字面 / 串 / 数 —— 手改 / 迁移脚本改过)。子树**缺席**(SQL NULL:成员不在,或整只文档不是对象 —— 后者 `get()` 照旧拒;MariaDB 文本承载上的非 JSON 字节同样答 SQL NULL)⇒ 事实缺席、不计数。放行的最坏后果 = **这一行**的 park 行事实(`ParkRowFacts` 各位)缺席(展示/分诊材料;core 定性 display metadata,resume 的带子读 gate 自己的位),队列其余部分照常 —— 而这一行本来就 resume 不了(`get()` 对同一格拒)。不放行的代价是整只 `rows.map` 抛出 ⇒ 一行坏 blob 打掉整个租户的队列(列表 500、SSE 心跳照常而队列永远空),与同一 `rows.map` 里 `rule_suggestions` / `risk_descriptor` 两格同族同判。故 F 类;tag 与那两格**分开计**(哪一格在坏要读得出来)。计数非零 = 这一行的 decide 同样读不动(`get()` 对同一格拒),去按 session 查那一行。 (`member=gate` 那第二座随 core 7.55.0 #1468 P1 阶段二退役:队列行的卡与到期分法改读 `approval_card` / `gate_kind` 两列 —— 写口与 M29 回填同一只派生落下的格 —— 本读面不再读 blob 的 `gate` 子树。)";
|
|
185
193
|
};
|
|
186
194
|
readonly "server.approvals.durable-row-checkpoint-id-missing": {
|
|
187
195
|
readonly cls: "F";
|
|
@@ -435,13 +443,9 @@ export declare const FAIL_OPEN_TAGS: {
|
|
|
435
443
|
readonly cls: "F";
|
|
436
444
|
readonly note: "S-990(`plugins/local-session-store.ts` `createLocalSessionRepo` 的 `FileSessionRepo` 座,local 车道的会话存档;`LocalSessionStore` 与会话视图口 `audit.ts` 共用,S-879):一份会话存档里有记录读不出(整行毁 / 半截 JSON / 形不对,core 记成 `kind:\"record\"` 逐条披露)或存档文件 / 目录整体读不出(`kind:\"file\"`)⇒ core 的成文处置是跳过 + 披露,会话照常打开、列表少一行。最坏后果 = 模型读到的历史少了一截 / 列表静默少一份会话 —— 都是**可用性**损失,不开任何门;发起这一轮的人另有 wire 面披露(打开自己存档时的 `engine_notice` 码 `session.records_skipped`,与本 tag 无关、不动)⇒ F。**计数单位 = 一条被跳过的记录 = 一次命中**(`replay` 级是同一批记录的汇总,不计,S-616 同教训);**每命中一行探针**(`SEMA_FAILOPEN_PROBE`)带 `path` / `sessionId` / `line` / `form` / `reason` 逐条明细 —— 运维要看「哪份存档的哪一行坏了」读探针,不读本条 warn:本条是每进程每 tag 一次的告警(`detail` 是首条明细,不是全部)。修前:每命中一行 warn,一份 113 行坏记录的存档做一次列表 + 一次查看打出 342 行,存档没修好每读再发。";
|
|
437
445
|
};
|
|
438
|
-
readonly "server.workflow-journal.corrupt-record-skipped": {
|
|
439
|
-
readonly cls: "F";
|
|
440
|
-
readonly note: "S-990(`plugins/store-backend.ts` 的 `FileWorkflowJournalStore` 座,local 车道的 workflow 引擎 journal):一条 journal 记录读不出(core `kind:\"record\"` 逐条 / 文件级 `kind:\"file\"`)⇒ 跳过它继续。最坏后果 = resume 读到「无事可重放」于是把那一步**重跑**(S-569 钉的原话);journal 是重放材料,不是授权事实,不裁决任何放行 / 拒绝 ⇒ F。计数单位 = 一条被跳过的记录 = 一次命中;逐条明细(`path` / `line` / `form` / `reason`)进探针行(`SEMA_FAILOPEN_PROBE`),本条 warn 每进程每 tag 一次(`detail` = 首条明细)。修前:每命中一行 warn(事件名 `workflow_journal_corrupt_read`)。";
|
|
441
|
-
};
|
|
442
446
|
readonly "server.workflow-run.corrupt-record-skipped": {
|
|
443
447
|
readonly cls: "F";
|
|
444
|
-
readonly note: "S-990(`boot/workflow-orchestration.ts` 的 `FileWorkflowRunStore` 座,local 车道的 workflow run 账):一条 run 记录读不出 ⇒ 跳过。这本账是 at-least-once 完成通知的重放源:丢一行 ⇒ boot 恢复扫把那次 run 读成「没跑过」⇒ 把活重跑一遍(S-569 原注);run 账不裁决任何放行 / 拒绝 ⇒ F。计数 / 探针 / warn
|
|
448
|
+
readonly note: "S-990(`boot/workflow-orchestration.ts` 的 `FileWorkflowRunStore` 座,local 车道的 workflow run 账):一条 run 记录读不出 ⇒ 跳过。这本账是 at-least-once 完成通知的重放源:丢一行 ⇒ boot 恢复扫把那次 run 读成「没跑过」⇒ 把活重跑一遍(S-569 原注);run 账不裁决任何放行 / 拒绝 ⇒ F。计数 / 探针 / warn 的单位与其余 S-990 F 座同(一条被跳过的记录 = 一次命中,明细进探针行,warn 每进程每 tag 一次)。修前:每命中一行 warn(事件名 `workflow_run_corrupt_read`)。";
|
|
445
449
|
};
|
|
446
450
|
readonly "server.roster.corrupt-record-skipped": {
|
|
447
451
|
readonly cls: "F";
|
|
@@ -489,7 +493,7 @@ export declare const FAIL_OPEN_TAGS: {
|
|
|
489
493
|
};
|
|
490
494
|
readonly "server.workspace-cache.reclaim-failed": {
|
|
491
495
|
readonly cls: "F";
|
|
492
|
-
readonly note: "k8s 车道按工作区空间的构建缓存卷的**回收**(`plugins/remote-env-k8s.ts` `createSpaceReclaimer`;两条腿同一只回收座:会话删除协调器 `boot/session-faces.ts` `purgeSession` 与托管留存 sweep `boot/retention-lane.ts` 删掉会话树之后):按标签 `sema.space=<空间摘要>` 删卷的请求失败(Role 少 `deletecollection` / API 拒 / 网络,`reason=delete_failed`)、回收座这次调用的绝对截止(= 快照时限)先到(请求没发或在途被切,`reason=budget`)
|
|
496
|
+
readonly note: "k8s 车道按工作区空间的构建缓存卷的**回收**(`plugins/remote-env-k8s.ts` `createSpaceReclaimer`;两条腿同一只回收座:会话删除协调器 `boot/session-faces.ts` `purgeSession` 与托管留存 sweep `boot/retention-lane.ts` 删掉会话树之后):按标签 `sema.space=<空间摘要>` 删卷的请求失败(Role 少 `deletecollection` / API 拒 / 网络,`reason=delete_failed`)、回收座这次调用的绝对截止(= 快照时限)先到(请求没发或在途被切,`reason=budget`)⇒ 卷留着,会话照删(不挡删除)。(在线腿的空间键取自删除围栏那一只头读 —— 同一读、同一代;此前另读一次住客、读不出另记 `reason=occupant_unreadable`,随那一读退役;化身缺席的存量行 = 没有空间,不计。)放行的最坏后果 = 节点盘上多留一只没人再用的卷(存储泄漏,不碰任何别的空间、不是门不是凭据);反方向(删卷失败就拒删会话)会让一个缓存挡住删除权。同拍一行 `workspace_cache_reclaim_failed`(回收座那一形:`space` 前缀 / `label` / `reason` / `count` / `error` —— 一次调用里同 `reason` 的失败合成一行,`count` = 撞上它的空间数、其余键点名调用里排第一的那个,计数仍逐空间)。计数非零 = 有卷没回收掉,运维按行里的标签手清,并核 Role。";
|
|
493
497
|
};
|
|
494
498
|
readonly "server.workspace-space.reclaim-failed": {
|
|
495
499
|
readonly cls: "F";
|
|
@@ -146,7 +146,15 @@ export const FAIL_OPEN_TAGS = {
|
|
|
146
146
|
},
|
|
147
147
|
"server.rule-offers.uncovered-detail-dropped": {
|
|
148
148
|
cls: "F",
|
|
149
|
-
note: "design/382 §3.5(S-44):batch offer 的 `uncoveredDetail`
|
|
149
|
+
note: "design/382 §3.5(S-44;core 7.55.0 #1468 P1 阶段二起读者是 core `readRuleOffers`,经 `approval-card.ts` 的 `readRuleOfferList`,两条腿同调):batch offer 的 `uncoveredDetail` 明细座不是「每个计数段一行良构行」(集外 reason / 非数组 / 行数与 count 座不等 —— core 读者判丢、读数带 `uncoveredDetailDropped`)或行数超本仓展示帽 MAX_UNCOVERED_DETAIL_ROWS ⇒ 只丢这一座、batch 本体照投。放行的最坏后果 = 卡上少几行「这段为什么还会问」的解释(count 座仍在,core 契约明写明细缺席不是断言);把整只 batch 判假才是错的方向(一只真可兑的合取批从卡上消失)。纯展示轴 ⇒ F 类;必须留痕,否则上游明细座漂形在遥测里零痕迹。detail = `index=<core 列表里的下标>` + 丢的缘由(不带段文本)。",
|
|
150
|
+
},
|
|
151
|
+
"server.checkpoint.inbox-risk-axes-damaged": {
|
|
152
|
+
cls: "F",
|
|
153
|
+
note: "core 7.55.0 `summarizeCheckpoint` 的第二参(`plugins/checkpoint-store-sql.ts` 的 `listByScope`:supervisor inbox / 调度视图的按 scope 待决投影):一行审批门的风险描述符读穿了一格坏轴 —— `axes` 不是普通对象,或某个标记(`egress` / `irreversible` / `shell`)在场却不是布尔(手改 / 第三方写者;引擎铸的行没有这一形)⇒ 行照投,`severity` 取有效标记给出的下界,证不出就缺席;core 交一句话给店的座,本座逐行计一次。放行的最坏后果 = 这一行在按 severity 倒排的 inbox 里排位偏低或无档(分诊材料,不是门;resume 的判据不读它)。不放行的代价是一行坏描述符打掉整个 scope 的 inbox(修前:非对象描述符抛 TypeError 出投影)。修前不传座 ⇒ 降档是静默的。detail = core 的句子(按 checkpoint id 与会话 JSON 点名、按形说成员,不带令牌、不带值);每次列 inbox 都会再说一次,直到那一行被修或被决。LOCAL 车道的同一句经 backend 的 `file_store_corrupt_read` 座(core File 店自带),不走本 tag。",
|
|
154
|
+
},
|
|
155
|
+
"server.rule-offers.offer-dropped": {
|
|
156
|
+
cls: "F",
|
|
157
|
+
note: "core 7.55.0 #1468 P1 阶段二(`approval-card.ts` 的 `readRuleOfferList`,规则提议列表的唯一读者,判官 = core `readRuleOffers`;两条腿同调 —— 耐久腿 `checkpoint-store-sql.ts` `boundedRuleOffers`:铸行落列、回读列、LOCAL 孪生读寄存行;同步腿 `tool-approval.ts` `boundRuleOfferTexts`:活 ask 的 `AskRequest.ruleOffers`):一个元素读不出(`unknown_word`:offer / 成员的 `kind`、`match` 是本引擎不认的词 —— 更新的铸者或别的写者;`malformed`:不是对象、成员缺位或错型、空 batch、计数不是非负安全整数)⇒ 这一只整只丢(batch 不拆成员)、兄弟照投;整只值在场却不是列表(`not_an_array`)⇒ 这一行无供给。逐元素计。放行的最坏后果 = 卡上少一个「不再询问」选项(人仍可逐次批;少的是选项不是门 —— 渲出一个读不懂的选项、或少一个成员的合取批,才是错的方向)。修前耐久腿丢元素是静默的,同步腿走一行 logger warn(`rule_offer_dropped_unreadable_shape`,随之退役)。计数非零 = 有 offer 列表的形本引擎读不懂:上游版本领先(core 加了词)或库里的行被手改过。detail = `index=<下标> problem=<RULE_OFFER_SHAPE_PROBLEMS 的词>`(不带 offer 文本 —— 那是命令原文族)。",
|
|
150
158
|
},
|
|
151
159
|
"server.rules.ticket-claim-release-failed": {
|
|
152
160
|
cls: "F",
|
|
@@ -162,7 +170,7 @@ export const FAIL_OPEN_TAGS = {
|
|
|
162
170
|
},
|
|
163
171
|
"server.approvals.park-row-blob-unreadable": {
|
|
164
172
|
cls: "F",
|
|
165
|
-
note: "S-700(`plugins/checkpoint-store-sql.ts` 的 `readParkRowFactsCell`):运维待批队列(`GET /v1/approvals` / `/stream`)的某一行,`checkpoint` 列里寄存行的 **`pendingAction` 子树**(NP-3 / 7.100.0 起引擎内只取这一棵、整只快照不出库;只为 park 行事实 `requiresRealApproval` / `ruleOffersAbsence` / `mandated`(S-663 二段,core #1079)/ `mandate`(S-721)/ `origin`(S-755)而读 —— 事实位的真源是 `approval-card.ts` 的 `ParkRowFacts`)**在场却不是一只对象**(JSON `null` 字面 / 串 / 数 —— 手改 / 迁移脚本改过)。子树**缺席**(SQL NULL:成员不在,或整只文档不是对象 —— 后者 `get()` 照旧拒;MariaDB 文本承载上的非 JSON 字节同样答 SQL NULL)⇒ 事实缺席、不计数。放行的最坏后果 = **这一行**的 park 行事实(`ParkRowFacts` 各位)缺席(展示/分诊材料;core 定性 display metadata,resume 的带子读 gate 自己的位),队列其余部分照常 —— 而这一行本来就 resume 不了(`get()` 对同一格拒)。不放行的代价是整只 `rows.map` 抛出 ⇒ 一行坏 blob 打掉整个租户的队列(列表 500、SSE 心跳照常而队列永远空),与同一 `rows.map` 里 `rule_suggestions` / `risk_descriptor` 两格同族同判。故 F 类;tag 与那两格**分开计**(哪一格在坏要读得出来)。计数非零 = 这一行的 decide 同样读不动(`get()` 对同一格拒),去按 session 查那一行。
|
|
173
|
+
note: "S-700(`plugins/checkpoint-store-sql.ts` 的 `readParkRowFactsCell`):运维待批队列(`GET /v1/approvals` / `/stream`)的某一行,`checkpoint` 列里寄存行的 **`pendingAction` 子树**(NP-3 / 7.100.0 起引擎内只取这一棵、整只快照不出库;只为 park 行事实 `requiresRealApproval` / `ruleOffersAbsence` / `mandated`(S-663 二段,core #1079)/ `mandate`(S-721)/ `origin`(S-755)而读 —— 事实位的真源是 `approval-card.ts` 的 `ParkRowFacts`)**在场却不是一只对象**(JSON `null` 字面 / 串 / 数 —— 手改 / 迁移脚本改过)。子树**缺席**(SQL NULL:成员不在,或整只文档不是对象 —— 后者 `get()` 照旧拒;MariaDB 文本承载上的非 JSON 字节同样答 SQL NULL)⇒ 事实缺席、不计数。放行的最坏后果 = **这一行**的 park 行事实(`ParkRowFacts` 各位)缺席(展示/分诊材料;core 定性 display metadata,resume 的带子读 gate 自己的位),队列其余部分照常 —— 而这一行本来就 resume 不了(`get()` 对同一格拒)。不放行的代价是整只 `rows.map` 抛出 ⇒ 一行坏 blob 打掉整个租户的队列(列表 500、SSE 心跳照常而队列永远空),与同一 `rows.map` 里 `rule_suggestions` / `risk_descriptor` 两格同族同判。故 F 类;tag 与那两格**分开计**(哪一格在坏要读得出来)。计数非零 = 这一行的 decide 同样读不动(`get()` 对同一格拒),去按 session 查那一行。 (`member=gate` 那第二座随 core 7.55.0 #1468 P1 阶段二退役:队列行的卡与到期分法改读 `approval_card` / `gate_kind` 两列 —— 写口与 M29 回填同一只派生落下的格 —— 本读面不再读 blob 的 `gate` 子树。)",
|
|
166
174
|
},
|
|
167
175
|
"server.approvals.durable-row-checkpoint-id-missing": {
|
|
168
176
|
cls: "F",
|
|
@@ -395,13 +403,9 @@ export const FAIL_OPEN_TAGS = {
|
|
|
395
403
|
cls: "F",
|
|
396
404
|
note: "S-990(`plugins/local-session-store.ts` `createLocalSessionRepo` 的 `FileSessionRepo` 座,local 车道的会话存档;`LocalSessionStore` 与会话视图口 `audit.ts` 共用,S-879):一份会话存档里有记录读不出(整行毁 / 半截 JSON / 形不对,core 记成 `kind:\"record\"` 逐条披露)或存档文件 / 目录整体读不出(`kind:\"file\"`)⇒ core 的成文处置是跳过 + 披露,会话照常打开、列表少一行。最坏后果 = 模型读到的历史少了一截 / 列表静默少一份会话 —— 都是**可用性**损失,不开任何门;发起这一轮的人另有 wire 面披露(打开自己存档时的 `engine_notice` 码 `session.records_skipped`,与本 tag 无关、不动)⇒ F。**计数单位 = 一条被跳过的记录 = 一次命中**(`replay` 级是同一批记录的汇总,不计,S-616 同教训);**每命中一行探针**(`SEMA_FAILOPEN_PROBE`)带 `path` / `sessionId` / `line` / `form` / `reason` 逐条明细 —— 运维要看「哪份存档的哪一行坏了」读探针,不读本条 warn:本条是每进程每 tag 一次的告警(`detail` 是首条明细,不是全部)。修前:每命中一行 warn,一份 113 行坏记录的存档做一次列表 + 一次查看打出 342 行,存档没修好每读再发。",
|
|
397
405
|
},
|
|
398
|
-
"server.workflow-journal.corrupt-record-skipped": {
|
|
399
|
-
cls: "F",
|
|
400
|
-
note: "S-990(`plugins/store-backend.ts` 的 `FileWorkflowJournalStore` 座,local 车道的 workflow 引擎 journal):一条 journal 记录读不出(core `kind:\"record\"` 逐条 / 文件级 `kind:\"file\"`)⇒ 跳过它继续。最坏后果 = resume 读到「无事可重放」于是把那一步**重跑**(S-569 钉的原话);journal 是重放材料,不是授权事实,不裁决任何放行 / 拒绝 ⇒ F。计数单位 = 一条被跳过的记录 = 一次命中;逐条明细(`path` / `line` / `form` / `reason`)进探针行(`SEMA_FAILOPEN_PROBE`),本条 warn 每进程每 tag 一次(`detail` = 首条明细)。修前:每命中一行 warn(事件名 `workflow_journal_corrupt_read`)。",
|
|
401
|
-
},
|
|
402
406
|
"server.workflow-run.corrupt-record-skipped": {
|
|
403
407
|
cls: "F",
|
|
404
|
-
note: "S-990(`boot/workflow-orchestration.ts` 的 `FileWorkflowRunStore` 座,local 车道的 workflow run 账):一条 run 记录读不出 ⇒ 跳过。这本账是 at-least-once 完成通知的重放源:丢一行 ⇒ boot 恢复扫把那次 run 读成「没跑过」⇒ 把活重跑一遍(S-569 原注);run 账不裁决任何放行 / 拒绝 ⇒ F。计数 / 探针 / warn
|
|
408
|
+
note: "S-990(`boot/workflow-orchestration.ts` 的 `FileWorkflowRunStore` 座,local 车道的 workflow run 账):一条 run 记录读不出 ⇒ 跳过。这本账是 at-least-once 完成通知的重放源:丢一行 ⇒ boot 恢复扫把那次 run 读成「没跑过」⇒ 把活重跑一遍(S-569 原注);run 账不裁决任何放行 / 拒绝 ⇒ F。计数 / 探针 / warn 的单位与其余 S-990 F 座同(一条被跳过的记录 = 一次命中,明细进探针行,warn 每进程每 tag 一次)。修前:每命中一行 warn(事件名 `workflow_run_corrupt_read`)。",
|
|
405
409
|
},
|
|
406
410
|
"server.roster.corrupt-record-skipped": {
|
|
407
411
|
cls: "F",
|
|
@@ -449,7 +453,7 @@ export const FAIL_OPEN_TAGS = {
|
|
|
449
453
|
},
|
|
450
454
|
"server.workspace-cache.reclaim-failed": {
|
|
451
455
|
cls: "F",
|
|
452
|
-
note: "k8s 车道按工作区空间的构建缓存卷的**回收**(`plugins/remote-env-k8s.ts` `createSpaceReclaimer`;两条腿同一只回收座:会话删除协调器 `boot/session-faces.ts` `purgeSession` 与托管留存 sweep `boot/retention-lane.ts` 删掉会话树之后):按标签 `sema.space=<空间摘要>` 删卷的请求失败(Role 少 `deletecollection` / API 拒 / 网络,`reason=delete_failed`)、回收座这次调用的绝对截止(= 快照时限)先到(请求没发或在途被切,`reason=budget`)
|
|
456
|
+
note: "k8s 车道按工作区空间的构建缓存卷的**回收**(`plugins/remote-env-k8s.ts` `createSpaceReclaimer`;两条腿同一只回收座:会话删除协调器 `boot/session-faces.ts` `purgeSession` 与托管留存 sweep `boot/retention-lane.ts` 删掉会话树之后):按标签 `sema.space=<空间摘要>` 删卷的请求失败(Role 少 `deletecollection` / API 拒 / 网络,`reason=delete_failed`)、回收座这次调用的绝对截止(= 快照时限)先到(请求没发或在途被切,`reason=budget`)⇒ 卷留着,会话照删(不挡删除)。(在线腿的空间键取自删除围栏那一只头读 —— 同一读、同一代;此前另读一次住客、读不出另记 `reason=occupant_unreadable`,随那一读退役;化身缺席的存量行 = 没有空间,不计。)放行的最坏后果 = 节点盘上多留一只没人再用的卷(存储泄漏,不碰任何别的空间、不是门不是凭据);反方向(删卷失败就拒删会话)会让一个缓存挡住删除权。同拍一行 `workspace_cache_reclaim_failed`(回收座那一形:`space` 前缀 / `label` / `reason` / `count` / `error` —— 一次调用里同 `reason` 的失败合成一行,`count` = 撞上它的空间数、其余键点名调用里排第一的那个,计数仍逐空间)。计数非零 = 有卷没回收掉,运维按行里的标签手清,并核 Role。",
|
|
453
457
|
},
|
|
454
458
|
"server.workspace-space.reclaim-failed": {
|
|
455
459
|
cls: "F",
|
|
@@ -28,7 +28,7 @@ export declare class Metrics {
|
|
|
28
28
|
* needed). Counters are cumulative totals; histograms are reported as averages (sum/count). */
|
|
29
29
|
summarize(): MetricsSummary;
|
|
30
30
|
}
|
|
31
|
-
/**
|
|
31
|
+
/** [ref]:`/metrics/summary` 上「失败最多的路由」保留几条。看板要的是**头部**,不是全表;
|
|
32
32
|
* `routeLabel` 的值域本来就有界(路由声明表 + `"other"`),这个上限只是让这张脸的大小与路由表长解耦。 */
|
|
33
33
|
export declare const HTTP_ERROR_ROUTE_TOP_N = 10;
|
|
34
34
|
export interface MetricsSummary {
|
|
@@ -63,12 +63,12 @@ export interface MetricsSummary {
|
|
|
63
63
|
cascade: Record<string, number>;
|
|
64
64
|
verifications: Record<string, number>;
|
|
65
65
|
toolErrors: Record<string, number>;
|
|
66
|
-
/**
|
|
66
|
+
/** [ref](additive,7.87.0):窗内 HTTP **失败**请求数,按状态码**类**聚合 —— 键只有 `"4xx"` / `"5xx"`
|
|
67
67
|
* 两种,2xx/3xx 一格不进。⚠️ `"4xx"` 里**含 `499`**(本仓给「客户端在响应结束前断连」铸的标签,
|
|
68
68
|
* SSE 长连接上是常态)—— 看一场真风暴时按 {@link httpErrorsByRoute} 分辨是哪条腿。
|
|
69
69
|
* 空对象 = 窗内零失败(与 `tasks`/`toolErrors` 同律:键恒在场,不用缺席表示零)。 */
|
|
70
70
|
httpErrorsByClass: Record<string, number>;
|
|
71
|
-
/**
|
|
71
|
+
/** [ref](additive,7.87.0):失败(4xx+5xx 合计)最多的前 {@link HTTP_ERROR_ROUTE_TOP_N} 条 **route 标签**
|
|
72
72
|
* (`routeLabel` 的低基数形,id 已折成 `:id`;未命中路由表的落 `"other"`)。按计数降序。
|
|
73
73
|
* 这是「180 次 404 到底打在哪」的那一格。 */
|
|
74
74
|
httpErrorsByRoute: Record<string, number>;
|
|
@@ -53,12 +53,23 @@ export declare function configAssembledRecordOf(e: {
|
|
|
53
53
|
overrideReasons?: unknown;
|
|
54
54
|
ts?: unknown;
|
|
55
55
|
}): Record<string, unknown> | undefined;
|
|
56
|
+
/**
|
|
57
|
+
* 一条 run 级的**伴随记录**:trace 帧在白名单读法之后要落成的那一行耐久事件(与清单行同生命周期:register 同门、drain 同拍、lease clear 同清)。
|
|
58
|
+
* 种类是一张闭表 —— 帧与账本行一一对应,加一种伴随记录 = 加一个词(`ledger-events.ts` 的账本行名闭集同批加),不另开一对 record / drain。
|
|
59
|
+
* · `config_assembled` —— [ref]③ `config.assembled` 帧(生效配置逐字段来源);
|
|
60
|
+
* · `cross_boundary_taint` —— core 7.54.0 [ref] O9b S1 `permission.cross_boundary_taint` 帧(设备车道发射闸:树的污染位与 governed;
|
|
61
|
+
* 只在执行于目标设备的树上发,宿主车道零帧;投影器 `trace/project.ts` `crossBoundaryTaintEventData`)。
|
|
62
|
+
*/
|
|
63
|
+
export type RunCompanionRecordType = "config_assembled" | "cross_boundary_taint";
|
|
64
|
+
export interface RunCompanionRecord {
|
|
65
|
+
readonly type: RunCompanionRecordType;
|
|
66
|
+
readonly data: Record<string, unknown>;
|
|
67
|
+
}
|
|
56
68
|
export declare class PromptManifestTracker {
|
|
57
69
|
private readonly byTask;
|
|
58
|
-
/**
|
|
59
|
-
*
|
|
60
|
-
|
|
61
|
-
private readonly configByTask;
|
|
70
|
+
/** 伴随记录({@link RunCompanionRecord}):清单之外、与清单同生命周期的 run 级耐久行。**一只**按发射序的队列(codex F2 当年给 config 一族立的保序律 ——
|
|
71
|
+
* cascade 每 rung 各自成帧,后到覆盖会抹掉先前 rung 的那一份 —— 对每一种伴随记录同样成立,所以是一只队列,不是每种一只)。 */
|
|
72
|
+
private readonly companionsByTask;
|
|
62
73
|
private readonly active;
|
|
63
74
|
private leaseCounter;
|
|
64
75
|
/** Mark a TOP-LEVEL run active (same fence as `ModelUsageTracker.register`, budget.ts). Returns this leg's
|
|
@@ -66,10 +77,10 @@ export declare class PromptManifestTracker {
|
|
|
66
77
|
register(taskId: string): number;
|
|
67
78
|
/** Queue this prepare's manifest — ONLY for a registered top-level run (else a no-op). Sync, never throws. */
|
|
68
79
|
record(taskId: string, m: PromptManifestRecord): void;
|
|
69
|
-
/**
|
|
70
|
-
|
|
71
|
-
/** Return-and-clear ALL pending
|
|
72
|
-
|
|
80
|
+
/** 队一条伴随记录(同 register 门;按发射序保序)。Sync, never throws. */
|
|
81
|
+
recordCompanion(taskId: string, type: RunCompanionRecordType, data: Record<string, unknown>): void;
|
|
82
|
+
/** Return-and-clear ALL pending companion records in emission order; `undefined` when none. */
|
|
83
|
+
drainCompanions(taskId: string): RunCompanionRecord[] | undefined;
|
|
73
84
|
/** Return-and-clear ALL pending manifests in emission order; `undefined` when none. */
|
|
74
85
|
drain(taskId: string): PromptManifestRecord[] | undefined;
|
|
75
86
|
/** Drop pending + unregister (run end / abandoned leg) — but ONLY while `lease` still owns the slot;
|
|
@@ -140,7 +140,7 @@ export function configAssembledRecordOf(e) {
|
|
|
140
140
|
}
|
|
141
141
|
export class PromptManifestTracker {
|
|
142
142
|
byTask = new Map();
|
|
143
|
-
|
|
143
|
+
companionsByTask = new Map();
|
|
144
144
|
active = new Map();
|
|
145
145
|
leaseCounter = 0;
|
|
146
146
|
register(taskId) {
|
|
@@ -159,20 +159,21 @@ export class PromptManifestTracker {
|
|
|
159
159
|
else
|
|
160
160
|
this.byTask.set(taskId, [m]);
|
|
161
161
|
}
|
|
162
|
-
|
|
162
|
+
recordCompanion(taskId, type, data) {
|
|
163
163
|
if (!taskId || !this.active.has(taskId))
|
|
164
164
|
return;
|
|
165
|
-
const q = this.
|
|
165
|
+
const q = this.companionsByTask.get(taskId);
|
|
166
|
+
const rec = { type, data };
|
|
166
167
|
if (q)
|
|
167
168
|
q.push(rec);
|
|
168
169
|
else
|
|
169
|
-
this.
|
|
170
|
+
this.companionsByTask.set(taskId, [rec]);
|
|
170
171
|
}
|
|
171
|
-
|
|
172
|
-
const q = this.
|
|
172
|
+
drainCompanions(taskId) {
|
|
173
|
+
const q = this.companionsByTask.get(taskId);
|
|
173
174
|
if (!q || q.length === 0)
|
|
174
175
|
return undefined;
|
|
175
|
-
this.
|
|
176
|
+
this.companionsByTask.delete(taskId);
|
|
176
177
|
return q;
|
|
177
178
|
}
|
|
178
179
|
drain(taskId) {
|
|
@@ -187,7 +188,7 @@ export class PromptManifestTracker {
|
|
|
187
188
|
return;
|
|
188
189
|
this.byTask.delete(taskId);
|
|
189
190
|
this.active.delete(taskId);
|
|
190
|
-
this.
|
|
191
|
+
this.companionsByTask.delete(taskId);
|
|
191
192
|
}
|
|
192
193
|
}
|
|
193
194
|
//# sourceMappingURL=prompt-manifest.js.map
|