@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
|
@@ -8,7 +8,7 @@ export interface SelfMintedRetiredMember extends SelfMintedWireMember {
|
|
|
8
8
|
readonly until: string;
|
|
9
9
|
}
|
|
10
10
|
export declare const SELF_MINTED_WIRE: {
|
|
11
|
-
/** [ref](7.55.0)起的终态成因注;
|
|
11
|
+
/** [ref](7.55.0)起的终态成因注;[ref](7.108.0)+`shutdown_before_park`。 */
|
|
12
12
|
readonly crashConvergedCause: {
|
|
13
13
|
readonly at: "GET /v1/approvals crashConverged[].cause";
|
|
14
14
|
readonly members: {
|
|
@@ -23,7 +23,7 @@ export declare const SELF_MINTED_WIRE: {
|
|
|
23
23
|
};
|
|
24
24
|
};
|
|
25
25
|
/**
|
|
26
|
-
*
|
|
26
|
+
* [ref](7.110.0):`engine_notice` `task.user_steer_undrained` 上**本仓铸**的那一臂。词表属主是 core(`USER_INPUT_UNDRAINED_CAUSES`,两族共用;
|
|
27
27
|
* `leg_end` 由引擎铸、逐字过境,不在本表);本表登记的是「这个值自哪一版起由本服务出现在 wire 上」。`satisfies Record<CrashedCause, …>`:
|
|
28
28
|
* core 删掉 `crashed` ⇒ `CrashedCause` 成 never ⇒ 本行编译红。码按受理时的车道选(`user-input-ledger.ts` `acceptedInputKindOf`,车道 = core `injectionLaneOf`,码 = core `USER_INPUT_UNDRAINED_FAMILIES`):本行 = steer 车道。
|
|
29
29
|
*/
|
|
@@ -36,7 +36,7 @@ export declare const SELF_MINTED_WIRE: {
|
|
|
36
36
|
};
|
|
37
37
|
};
|
|
38
38
|
};
|
|
39
|
-
/**
|
|
39
|
+
/** [ref](7.118.0,core 7.44.0 [ref]):同一臂在 follow-up 车道(`later` 档)上的那一族。7.110.0–7.117.x 的这类丢失报在 steer 一族里。 */
|
|
40
40
|
readonly userFollowupUndrainedServerCause: {
|
|
41
41
|
readonly at: "engine_notice task.user_followup_undrained detail.cause(本服务铸的臂;`later` 档受理的崩溃丢失,下一条同会话 run 开通告口那一拍)";
|
|
42
42
|
readonly members: {
|
|
@@ -47,7 +47,7 @@ export declare const SELF_MINTED_WIRE: {
|
|
|
47
47
|
};
|
|
48
48
|
};
|
|
49
49
|
/**
|
|
50
|
-
*
|
|
50
|
+
* [ref](7.111.0):`wiring_manifest.instructions.selected[]` 的成员值 = 指令文件链的成员(相对 cwd 的拼写)。属主是 `project-memory.ts`
|
|
51
51
|
* 的 `INSTRUCTION_FILE_CHAIN`([ref] 序:CLAUDE 族先、AGENTS 族后,首中即选)—— 链加 / 删一员 ⇒ 本行 `satisfies` 编译红,登记跟着动。
|
|
52
52
|
* 段本身(键)登记在 `wire-projection-faces.ts` 的 `wiring_manifest_tenant.minted`。
|
|
53
53
|
*/
|
|
@@ -73,7 +73,7 @@ export declare const SELF_MINTED_WIRE: {
|
|
|
73
73
|
};
|
|
74
74
|
};
|
|
75
75
|
/**
|
|
76
|
-
*
|
|
76
|
+
* [ref](7.112.0):server 发起的中止在取消终局上留下的机读成因 —— `PersistedTaskResult.abortCause`,与 `cancelContext` 同住、同铸点、
|
|
77
77
|
* 同在场闸(在场 ⇔ 这条终局就是 server 那次中止铸出来的取消终局)。逐词站点见契约 §5.0d。键本身是 run 结果上的 server 侧记键
|
|
78
78
|
* (`store-contracts.ts` 的 `PersistedResultSideKeys`),不是事件投影面的键 ⇒ 不在 `wire-projection-faces.ts`。
|
|
79
79
|
*/
|
|
@@ -95,7 +95,7 @@ export declare const SELF_MINTED_WIRE: {
|
|
|
95
95
|
};
|
|
96
96
|
};
|
|
97
97
|
/**
|
|
98
|
-
* 会话所有者自助抹除面的**已分类拒** → HTTP 状态(
|
|
98
|
+
* 会话所有者自助抹除面的**已分类拒** → HTTP 状态([ref] 起与 operator 面 `POST /v1/memory/erase` 同一只映射;`since` 记的是**本面**
|
|
99
99
|
* 自哪一版起这样答 —— 7.107.0 及以前本面只认前两只,其余落 500 `internal.error`)。
|
|
100
100
|
*/
|
|
101
101
|
readonly sessionMemoryEraseStatus: {
|
|
@@ -492,7 +492,7 @@ export declare const SELF_MINTED_WIRE: {
|
|
|
492
492
|
};
|
|
493
493
|
};
|
|
494
494
|
/**
|
|
495
|
-
*
|
|
495
|
+
* [ref](7.133.0):`GET /health` 的 `centerIdentityNotice.code` —— 中心凭证换人后的两态通告(最近一条)。词表属主 = `center-config-tier.ts` 的
|
|
496
496
|
* `CENTER_IDENTITY_NOTICE_CODES`(`satisfies Record<…>`:加词而本行没跟 / 多一个词 ⇒ tsc 红);冻结句 `CENTER_IDENTITY_NOTICE_MESSAGE` 进
|
|
497
497
|
* `test/api-notice-text-freeze.test.ts` §8。这两只码不在 core 的 `EngineNotice` 码册里(那是 core 的闭集)—— 它们是本服务自铸的 `/health` 值,契约 §0.4 成文。
|
|
498
498
|
*/
|
|
@@ -509,7 +509,7 @@ export declare const SELF_MINTED_WIRE: {
|
|
|
509
509
|
};
|
|
510
510
|
};
|
|
511
511
|
};
|
|
512
|
-
/**
|
|
512
|
+
/** [ref](7.133.0):`demoted` 通告上的 `retained[]` —— 降档没能降到底的组(世代账组闭集;`satisfies Record<ConfigApplyGroup, …>`)。 */
|
|
513
513
|
readonly centerIdentityNoticeRetained: {
|
|
514
514
|
readonly at: "GET /health centerIdentityNotice.retained[]";
|
|
515
515
|
readonly members: {
|
|
@@ -623,6 +623,10 @@ export declare const SELF_MINTED_WIRE: {
|
|
|
623
623
|
attr: string;
|
|
624
624
|
since: string;
|
|
625
625
|
};
|
|
626
|
+
approval_feedback: {
|
|
627
|
+
attr: string;
|
|
628
|
+
since: string;
|
|
629
|
+
};
|
|
626
630
|
};
|
|
627
631
|
};
|
|
628
632
|
/**
|
|
@@ -753,9 +757,25 @@ export declare const SELF_MINTED_WIRE: {
|
|
|
753
757
|
};
|
|
754
758
|
};
|
|
755
759
|
/**
|
|
756
|
-
*
|
|
760
|
+
* [ref](7.135.0):场景卡技能清单一条的来处(`factory` = 本部署技能目录 · `center` = 配置源交来的)。钉 test/scenario-skills-read-face.test.ts ②。
|
|
761
|
+
*/
|
|
762
|
+
readonly scenarioSkillSource: {
|
|
763
|
+
readonly at: "GET /v1/capabilities/scenarios/:name#skills[].source";
|
|
764
|
+
readonly members: {
|
|
765
|
+
factory: {
|
|
766
|
+
attr: string;
|
|
767
|
+
since: string;
|
|
768
|
+
};
|
|
769
|
+
center: {
|
|
770
|
+
attr: string;
|
|
771
|
+
since: string;
|
|
772
|
+
};
|
|
773
|
+
};
|
|
774
|
+
};
|
|
775
|
+
/**
|
|
776
|
+
* [ref](7.133.0):`GET /v1/config/catalog` 行上**对 `effectiveValue` 的判词位**(闭集 `CatalogValueVerdict`,属主 `config-catalog.ts`;行接口经映射型声明,
|
|
757
777
|
* 每一位只取 `true`)。属性 = 在场律 `present-iff`:只在为真时出键,恒不铸 `false`,缺席 = 没有这件事(老 server 上也缺席 —— 对消费方两者的下一步相同:按值原样渲染)。
|
|
758
|
-
* `satisfies Record<CatalogValueVerdict, …>`:判词位加一员而本表没跟 ⇒ 编译红。`effectiveValueInvalid` 自 7.70.0(
|
|
778
|
+
* `satisfies Record<CatalogValueVerdict, …>`:判词位加一员而本表没跟 ⇒ 编译红。`effectiveValueInvalid` 自 7.70.0([ref])在 wire 上、本版补登记;
|
|
759
779
|
* `effectiveValueWithheld`(url 型行:展示铸点扣下了一段)本版新上。
|
|
760
780
|
*/
|
|
761
781
|
readonly configCatalogValueVerdict: {
|
|
@@ -774,8 +794,9 @@ export declare const SELF_MINTED_WIRE: {
|
|
|
774
794
|
/**
|
|
775
795
|
* `GET /v1/models` 应答体的顶层键(闭集;`src/http/routes/capabilities.ts` 的 `sendJson(res, 200, {…})` 字面量)。属性 = 在场律:`always` 恒在场(零条也出键),`present-iff` 条件成立才出键
|
|
776
796
|
* (缺席不下「无」的结论——也可能是更早的 server)。`since` = 该键上 wire 的起始版本(`models` / `default` / `defaultModel` 在本仓首个 tag 就有)。
|
|
777
|
-
* 7.126.0:`candidateRejected`(
|
|
778
|
-
* 7.133.0:`modelPlane`(
|
|
797
|
+
* 7.126.0:`candidateRejected`([ref],present-iff:当前生效的配置是因判官整拒了最近一份候选而回落的那一份;契约 §A.1d)。
|
|
798
|
+
* 7.133.0:`modelPlane`([ref],always:服务哪张表 / 最近一份目录候选的结局 / 起服路由判官的判决;契约 §A.1d)。
|
|
799
|
+
* 7.135.0:`aliases`([ref],always:选择面认、`models` 行不列的词 —— 受理口那一张可选目录的划分;契约 §A.1d)。
|
|
779
800
|
*/
|
|
780
801
|
readonly modelsResponseKey: {
|
|
781
802
|
readonly at: "GET /v1/models 应答体顶层键(<键> → 在场律)";
|
|
@@ -804,18 +825,22 @@ export declare const SELF_MINTED_WIRE: {
|
|
|
804
825
|
readonly attr: "always";
|
|
805
826
|
readonly since: "7.133.0";
|
|
806
827
|
};
|
|
828
|
+
readonly aliases: {
|
|
829
|
+
readonly attr: "always";
|
|
830
|
+
readonly since: "7.135.0";
|
|
831
|
+
};
|
|
807
832
|
};
|
|
808
833
|
};
|
|
809
834
|
/** 本仓在出口对 core 值做的变换(值变、键不变)。 */
|
|
810
835
|
readonly wireValueRule: {
|
|
811
836
|
readonly at: "出口值变换(<端点>#<键> → 变换)";
|
|
812
837
|
readonly members: {
|
|
813
|
-
/**
|
|
838
|
+
/** [ref](7.57.0):run 读面的终态错误文案脱敏(钉 test/run-failure-visibility.test.ts)。 */
|
|
814
839
|
readonly "GET /v1/runs/:id#result.errorMessage": {
|
|
815
840
|
readonly attr: "redactErrorMessage";
|
|
816
841
|
readonly since: "7.57.0";
|
|
817
842
|
};
|
|
818
|
-
/**
|
|
843
|
+
/** [ref](7.108.0):side-query 200 体 `errorMessage` 与任务面同一只脱敏口(钉 test/side-query-provider-echo.test.ts)。 */
|
|
819
844
|
readonly "POST /v1/side-query#errorMessage": {
|
|
820
845
|
readonly attr: "redactErrorMessage";
|
|
821
846
|
readonly since: "7.108.0";
|
|
@@ -210,6 +210,7 @@ export const SELF_MINTED_WIRE = {
|
|
|
210
210
|
plan_mode_after: { attr: "-", since: "7.133.0" },
|
|
211
211
|
bound_call_door: { attr: "-", since: "7.133.0" },
|
|
212
212
|
remember_decision: { attr: "-", since: "7.133.0" },
|
|
213
|
+
approval_feedback: { attr: "-", since: "7.134.0" },
|
|
213
214
|
},
|
|
214
215
|
},
|
|
215
216
|
limitRefusalReason: {
|
|
@@ -260,6 +261,13 @@ export const SELF_MINTED_WIRE = {
|
|
|
260
261
|
repo: { attr: "-", since: "1.214.2" },
|
|
261
262
|
},
|
|
262
263
|
},
|
|
264
|
+
scenarioSkillSource: {
|
|
265
|
+
at: "GET /v1/capabilities/scenarios/:name#skills[].source",
|
|
266
|
+
members: {
|
|
267
|
+
factory: { attr: "-", since: "7.135.0" },
|
|
268
|
+
center: { attr: "-", since: "7.135.0" },
|
|
269
|
+
},
|
|
270
|
+
},
|
|
263
271
|
configCatalogValueVerdict: {
|
|
264
272
|
at: "GET /v1/config/catalog rows[] 的判词位(<键> → 在场律)",
|
|
265
273
|
members: {
|
|
@@ -276,6 +284,7 @@ export const SELF_MINTED_WIRE = {
|
|
|
276
284
|
droppedEntries: { attr: "always", since: "7.123.0" },
|
|
277
285
|
candidateRejected: { attr: "present-iff", since: "7.126.0" },
|
|
278
286
|
modelPlane: { attr: "always", since: "7.133.0" },
|
|
287
|
+
aliases: { attr: "always", since: "7.135.0" },
|
|
279
288
|
},
|
|
280
289
|
},
|
|
281
290
|
wireValueRule: {
|
|
@@ -26,7 +26,7 @@ export declare const SEMA_PROVENANCE_KINDS: readonly ["agent_message"];
|
|
|
26
26
|
* (core-keyset-guard.ts ① 的同名排除键)一同候 [ref] 表态。放进 EXCLUDED 而不是 PROJECTED,是**沿用**上一行的
|
|
27
27
|
* 裁定而不是新增特判:表态未出前放行一个 lane 词,等于替它预先声明一种 cli 渲染形。表态落定那天三处(本簿、
|
|
28
28
|
* 载体键、①-nested 的 `peerMeta`)同批翻。
|
|
29
|
-
* · `inbox_notice` —— core 7.30.0
|
|
29
|
+
* · `inbox_notice` —— core 7.30.0 [ref]([ref] 提货;本闭集当拍真红出它)。**同一条车道的第三个载体**(收件箱通告,
|
|
30
30
|
* `crossSessionMessage` / `crossSessionNotice` 之后),同一个 session-box drain 铸;载体键 `inboxNotice` 在
|
|
31
31
|
* core-keyset-guard.ts ① 同批进 EXCLUDED。沿用上两行的裁定,不是新判据:[ref] 表态落定那天四处同批翻。
|
|
32
32
|
*/
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* [ref](core 7.30.0 提货):`task_notification` 帧上 7.30.0 新到的五枚键的**单点**投影判据 —— live 三腿
|
|
3
3
|
* (`trace/project.ts` 的 `taskNotificationEventData`)与 park 半场(`orchestration/workflow-completion-inbox.ts` 的
|
|
4
4
|
* `taskNotificationInboxEntry`)共用,两腿字节同判(形照 `sema-provenance.ts` / `injection-tier.ts` 的先例:
|
|
5
5
|
* park 腿的 drain 直接 spread extras 成帧、不再经 project.ts,判据必须在入库前做,而且只能有一份)。
|
|
6
6
|
*
|
|
7
7
|
* 五枚键分两组,判据各一只函数:
|
|
8
|
-
* · {@link terminalFrameFacetFields} —— 委派终态帧的三枚 facet([ref] S1 /
|
|
8
|
+
* · {@link terminalFrameFacetFields} —— 委派终态帧的三枚 facet([ref] S1 / [ref]),core 在产生者一侧由
|
|
9
9
|
* `terminalFrameFacets` 统一铸:`spawnName` / `handback` / `compaction`;
|
|
10
|
-
* · {@link resupplyFields} —— 重供两键(
|
|
10
|
+
* · {@link resupplyFields} —— 重供两键([ref]):`resupplied` / `attempt`。
|
|
11
11
|
* 全部是引擎铸的闭形值(身份键 / 闭集词 / 计数 / 布尔),零模型自由文本 ⇒ 不过 `redactSecrets`;判不过形 ⇒ 那一键
|
|
12
12
|
* 缺席(不折默认、不编值)。同一只会话箱车道的**载体** `inboxNotice` 不在这里 —— 它在 EXCLUDED 簿
|
|
13
13
|
* (`core-keyset-guard.ts` ①,理由逐字在那里)。
|
|
@@ -50,7 +50,7 @@ export declare function terminalFrameFacetFields(n: TaskNotificationFacetInput):
|
|
|
50
50
|
compaction?: CompactionFacet;
|
|
51
51
|
};
|
|
52
52
|
/**
|
|
53
|
-
* 重供两键(core 7.30.0
|
|
53
|
+
* 重供两键(core 7.30.0 [ref];判据档 F1 原句点名「@server trace/inbox allowlist」)。一条会话箱记录的帧被压缩摘要掉之后,
|
|
54
54
|
* 引擎把同一条记录再交一次 —— 同 `task_id` / `status` / `seq`,多这两枚键:
|
|
55
55
|
* · `resupplied` —— **只有真一形**(core 逐字「there is no `false` form」)⇒ 只放行 `true`,别的一律缺席;
|
|
56
56
|
* · `attempt` —— 这是第几次投递(缺席 = 1,「没有 0」)⇒ 只放行 ≥1 的整数,verbatim,不补默认。
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* [ref] —— **wire 帧投影面的登记表**([ref]「手抄投影全面下线,改由源头机器派生」在本仓第一处落点)。
|
|
3
3
|
*
|
|
4
4
|
* ## 这张表是什么(以及它**不是**什么)
|
|
5
5
|
* 每一行登记一只把 core 帧投到 wire 的构造器,只写三样**人必须裁定**的东西:
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
* `NotificationExcluded` 直接读成本表这一行的 `excluded`,于是「哪几个键有意不上 wire」全仓**只有一个写者**。
|
|
22
22
|
* 旧形是两个:守卫文件一簿、`test/wire-whitelist-exhaustiveness.test.ts` 的 `KnownExcluded` 一簿,那份门注
|
|
23
23
|
* 自己写着「两处必须同时改」—— 而「必须同时改」正是 [ref] 要下线的东西(对账门不算替代,单写者才算)。
|
|
24
|
-
* 本表是纯数据、无行为(唯一的派生是 `wiring_manifest_operator` 行的两只取值器:`excluded` = 租户行减具名常量,
|
|
24
|
+
* 本表是纯数据、无行为(唯一的派生是 `wiring_manifest_operator` 行的两只取值器:`excluded` = 租户行减具名常量,[ref];`minted` = 租户行,[ref]),
|
|
25
25
|
* 被守卫文件以 `typeof import(...)` 的**类型查询**读取(编译期擦除,零运行期边);唯一的运行期读者是清单行的解释器
|
|
26
26
|
* (`observability/prompt-manifest.ts`,读 `keys` 声明)与机器清单生成器(转译本文件、求值、只读数据)—— 两者都不改表。
|
|
27
27
|
*
|
|
@@ -226,7 +226,7 @@ export declare const WIRE_PROJECTION_FACES: {
|
|
|
226
226
|
readonly wiring_manifest_tenant: {
|
|
227
227
|
readonly projector: "wiringManifestEventData";
|
|
228
228
|
readonly coreType: `WiringManifest & ${string}`;
|
|
229
|
-
readonly excluded: readonly ["governance", "configFingerprint", "autoConsolidation", "readDeny", "peerPresence"];
|
|
229
|
+
readonly excluded: readonly ["governance", "configFingerprint", "autoConsolidation", "readDeny", "peerPresence", "advisor"];
|
|
230
230
|
readonly unwrapped: readonly ["manifest"];
|
|
231
231
|
readonly minted: readonly ["instructions"];
|
|
232
232
|
};
|
|
@@ -268,6 +268,12 @@ export declare const WIRE_PROJECTION_FACES: {
|
|
|
268
268
|
readonly excluded: readonly [];
|
|
269
269
|
readonly minted: readonly [];
|
|
270
270
|
};
|
|
271
|
+
readonly cross_boundary_taint: {
|
|
272
|
+
readonly projector: "crossBoundaryTaintEventData";
|
|
273
|
+
readonly coreType: "Extract<TraceEvent, { kind: \"permission.cross_boundary_taint\" }>";
|
|
274
|
+
readonly excluded: readonly ["kind", "version", "taskId", "ts"];
|
|
275
|
+
readonly minted: readonly [];
|
|
276
|
+
};
|
|
271
277
|
readonly prompt_manifest: {
|
|
272
278
|
readonly projector: "promptManifestRecordOf";
|
|
273
279
|
readonly coreType: "Extract<TraceEvent, { kind: \"prompt.assembled\" }>";
|
|
@@ -51,7 +51,7 @@ export const WIRE_PROJECTION_FACES = {
|
|
|
51
51
|
wiring_manifest_tenant: {
|
|
52
52
|
projector: "wiringManifestEventData",
|
|
53
53
|
coreType: `WiringManifest & ${arm("wiring_manifest")}`,
|
|
54
|
-
excluded: ["governance", "configFingerprint", "autoConsolidation", "readDeny", "peerPresence"],
|
|
54
|
+
excluded: ["governance", "configFingerprint", "autoConsolidation", "readDeny", "peerPresence", "advisor"],
|
|
55
55
|
unwrapped: ["manifest"],
|
|
56
56
|
minted: ["instructions"],
|
|
57
57
|
},
|
|
@@ -77,6 +77,12 @@ export const WIRE_PROJECTION_FACES = {
|
|
|
77
77
|
},
|
|
78
78
|
origin_clearance_origin: { projector: "buildClearanceRowWire", coreType: "MemoryEntryOrigin", excluded: [], minted: [] },
|
|
79
79
|
origin_clearance_event: { projector: "buildClearanceRowWire", coreType: "OriginClearanceEvent", excluded: [], minted: [] },
|
|
80
|
+
cross_boundary_taint: {
|
|
81
|
+
projector: "crossBoundaryTaintEventData",
|
|
82
|
+
coreType: `Extract<TraceEvent, { kind: "permission.cross_boundary_taint" }>`,
|
|
83
|
+
excluded: ["kind", "version", "taskId", "ts"],
|
|
84
|
+
minted: [],
|
|
85
|
+
},
|
|
80
86
|
prompt_manifest: {
|
|
81
87
|
projector: "promptManifestRecordOf",
|
|
82
88
|
coreType: MANIFEST_FRAME,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* [ref] ①([ref] / clay 裁 [ref];core 7.37.0 [ref],`docs/INTEGRATION-CORE.md` §4.6e)—— **无人值守腿:`default` 模式 + 按类作答的 onAsk**。
|
|
3
3
|
*
|
|
4
4
|
* ## 规则(一句)
|
|
5
5
|
* 本仓**自己铸** spec、**没有调用方**能在请求上表态模式的腿 —— leader worker(`src/leader/wire.ts` provisionWorker 两车道)、leader 的
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* 它自建 spec 的出生点盖下的运维 `AUTONOMY=plan` 地板、续跑重建读到的存储体的 `plan` 都是天花板,本腿的 `default` 落在它下面就是 `plan`,
|
|
10
10
|
* 不把它降回去)与 `onAsk` = {@link createUnattendedOnAsk}。
|
|
11
11
|
* 那只 onAsk 读 `AskRequest.classes` **整体**:集非空且每一类都在 {@link UNATTENDED_ANSWERED_CLASSES}(= `{ordinary}`,常量,不是旋钮)⇒ 答 yes
|
|
12
|
-
* —— **以策略的名义**(
|
|
12
|
+
* —— **以策略的名义**([ref] / core 7.39.0 [ref]:`{allow:true, settledBy:"policy", approver:"unattended_class_answer"}` ⇒ core 结算 `policy_allowed` /
|
|
13
13
|
* `who.party:"policy"`;修前是裸 `true`,core 把机器的放行记成**人**批 `human_allowed` / `person`);
|
|
14
14
|
* 否则不答 —— 本腿**有席**(run-local 的 `createLocalApprover`:有 TTY 问人、无 TTY 当场拒;续跑腿的协调器席)⇒ 交给席;**无席** ⇒ 答
|
|
15
15
|
* `"unavailable"` = 交回 core 的缺席路(本腿武装了 durable park ⇒ park,等人经 `/decide` 答;否则 headless 拒 —— fail-closed)。
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
*
|
|
36
36
|
* ## 退役(硬破坏,零别名 / 零双读 / 零过渡臂)
|
|
37
37
|
* `UNATTENDED_PERMISSION_MODE` 旋钮(`config-catalog` 行 / `config` 解析 / `ServiceConfig.unattendedPermissionMode`)、`createUnattendedWriteProtectionPolicy`
|
|
38
|
-
* (
|
|
38
|
+
* ([ref] 的 `pathDenyRules` 过渡形)、`createUnattendedLeg` 的模式 / Runner 座参数、写面钉 `writeFace: "roots"`(那一钉只为不拿 bypass 的开放写面;
|
|
39
39
|
* `default` 模式行不给写面 ⇒ 引擎缺省 roots,与 7.105.0 同)、P-DEBT 臂 `server.unattended-leg.mode-releases-protective-asks`(FAIL-OPEN-CENSUS 第 101 行终态)。
|
|
40
40
|
*
|
|
41
41
|
* ## 射程外(成文)
|
|
@@ -52,7 +52,7 @@ import type { AskClass, AskRequest, OnAsk, PermissionMode, TaskSpec } from "@sem
|
|
|
52
52
|
*/
|
|
53
53
|
export declare const UNATTENDED_ANSWERED_CLASSES: ReadonlySet<AskClass>;
|
|
54
54
|
/**
|
|
55
|
-
*
|
|
55
|
+
* [ref](core 7.39.0 [ref]):按类作答层这只席的**名字** —— 本仓自己的闭词(core 只把它转录到结算记录的 `who.approver`,不认证、不回读;
|
|
56
56
|
* `AskOutcome.approver` 契约逐字「a closed word the host owns, never a person」)。审计读者按它认出「这一次放行是无人值守腿按类答的」。
|
|
57
57
|
*/
|
|
58
58
|
export declare const UNATTENDED_POLICY_APPROVER = "unattended_class_answer";
|
|
@@ -61,7 +61,7 @@ export type UnattendedSeat = Extract<OnAsk, (req: AskRequest, signal?: AbortSign
|
|
|
61
61
|
/** 这一问是不是机器答得了的:读 `classes` **整体** —— 在场、非空、且每一类都在答集;缺席 / 空 / 任一类在答集外 ⇒ 否。 */
|
|
62
62
|
export declare function unattendedAnswers(req: Pick<AskRequest, "classes">): boolean;
|
|
63
63
|
/**
|
|
64
|
-
* 按类作答的 onAsk(活对象 ⇒ `create*`)。答得了 ⇒ 策略的 yes(这一次调用的答,记在策略名下 ——
|
|
64
|
+
* 按类作答的 onAsk(活对象 ⇒ `create*`)。答得了 ⇒ 策略的 yes(这一次调用的答,记在策略名下 —— [ref]);答不了 ⇒ 有席交席(席的答原样返回,席自己的
|
|
65
65
|
* fail-closed 语义不动),无席 ⇒ `"unavailable"`(core G1:这一问此刻没有人够得着 ⇒ 改道 durable park;本腿没武装 park ⇒ headless 拒)。
|
|
66
66
|
* 不答的臂**从不**自己拒成 `false`:那会把「交给 park 的人」折成「机器拒了」,durable 审批块的 leader worker 就再也 park 不下来。
|
|
67
67
|
*/
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/** 拒因词(闭集;判序 = 本数组序)。wire 上即 `request.field_invalid` 拒体的 `reason`。 */
|
|
2
|
+
export declare const URL_CREDENTIAL_REASONS: readonly ["url_userinfo", "url_credential_param"];
|
|
3
|
+
export type UrlCredentialReason = (typeof URL_CREDENTIAL_REASONS)[number];
|
|
4
|
+
/** 一处命中:`url_userinfo`,或 `url_credential_param` + 它在哪一段、表里的哪个词(小写;不是调用方的原字节)。 */
|
|
5
|
+
export type UrlCredential = {
|
|
6
|
+
readonly reason: "url_userinfo";
|
|
7
|
+
} | {
|
|
8
|
+
readonly reason: "url_credential_param";
|
|
9
|
+
readonly at: "query" | "fragment";
|
|
10
|
+
readonly name: string;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* 判:这个值作为 URL 读出来(WHATWG),带不带 **userinfo**(判官的第一问,也是 {@link findUrlCredential} 的第一步)。只问这一件的座位 —— 运行时本就拒带 userinfo 的 URL、
|
|
14
|
+
* 而凭据名参数不由它拒的载体(搜索后端的部署 env 与续跑重放读法)—— 问这一只,不在座位里另写一份 userinfo 谓词。纯函数。
|
|
15
|
+
*/
|
|
16
|
+
export declare function findUrlUserinfo(raw: string): Extract<UrlCredential, {
|
|
17
|
+
readonly reason: "url_userinfo";
|
|
18
|
+
}> | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* 判:这个值作为 URL 读出来(WHATWG),带不带凭据。首个命中;没有(含不透明 / 解析不了的值)⇒ `undefined`。纯函数。
|
|
21
|
+
*/
|
|
22
|
+
export declare function findUrlCredential(raw: string): UrlCredential | undefined;
|
|
23
|
+
/** 一处命中的规则句(穷举;新拒因词不补 = 编译红)。只说规则与表词,不含值。 */
|
|
24
|
+
export declare function urlCredentialRule(c: UrlCredential): string;
|
|
25
|
+
/** 拒体上的机读位(加性键:直接当 `request.field_invalid` 的附加键用)。 */
|
|
26
|
+
export type UrlCredentialFacts = {
|
|
27
|
+
readonly field: string;
|
|
28
|
+
readonly reason: UrlCredentialReason;
|
|
29
|
+
};
|
|
30
|
+
/** 机读位的唯一铸点:`field` 是座位给的体内全坐标,`reason` 是判官的拒因词(不另造)。 */
|
|
31
|
+
export declare function urlCredentialFacts(field: string, credential: UrlCredential): UrlCredentialFacts;
|
|
32
|
+
/**
|
|
33
|
+
* 出路句(停驻封签的位是请求头):凭据改写进这一条的 `headers`(停驻任务的续跑上下文里只以封签存在)。MCP `transport.headers` · A2A 对端 `headers` ·
|
|
34
|
+
* http 钩子条目 `headers` 三座同一句骨架,`place` 是那一条的 `headers` 在请求体里的坐标。
|
|
35
|
+
*/
|
|
36
|
+
export declare function urlCredentialHeaderExit(place: string): string;
|
|
37
|
+
/**
|
|
38
|
+
* 原因句骨架(四座同一句,值不回显):规则句 + 「URL 原样存」的事实 + 出路。`exit` 是座位给的出路句(`urlCredentialHeaderExit` 或座位自己的)。
|
|
39
|
+
* 为什么说「原样存」:封签闭集刻意不收 URL 一类自由文本,所以 URL 照原样进停驻上下文、日志与读面 —— 凭据只许走为它设的座。
|
|
40
|
+
*/
|
|
41
|
+
export declare function urlCredentialRefusalReason(credential: UrlCredential, exit: string): string;
|
|
42
|
+
/** 一处请求面拒的整句 + 机读位({@link buildRequestUrlCredentialRefusal} 的产物)。 */
|
|
43
|
+
export interface UrlCredentialRefusal {
|
|
44
|
+
readonly message: string;
|
|
45
|
+
readonly facts: UrlCredentialFacts;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* 请求面 URL 座位的拒(整句 + 机读位),`<field>[ (<subject>)] <原因句>`。`subject` 是座位给的条目指认(MCP 的 server 名 / A2A 的 peer 名;坐标本身唯一的座位不带)。
|
|
49
|
+
* MCP 座的整句要接它自己的条目键律尾句,所以 MCP 直接取 {@link urlCredentialRefusalReason} + {@link urlCredentialFacts},另三座走这一只。
|
|
50
|
+
*/
|
|
51
|
+
export declare function buildRequestUrlCredentialRefusal(field: string, credential: UrlCredential, exit: string, subject?: string): UrlCredentialRefusal;
|
|
52
|
+
//# sourceMappingURL=url-credential.d.ts.map
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { httpUrlFlaws, httpUrlRule, isHierarchicalUrl } from "@sema-agent/settings-schema";
|
|
2
|
+
import { isCredentialParamName } from "./trace/redact.js";
|
|
3
|
+
export const URL_CREDENTIAL_REASONS = ["url_userinfo", "url_credential_param"];
|
|
4
|
+
function credentialParamIn(params) {
|
|
5
|
+
for (const name of new URLSearchParams(params).keys()) {
|
|
6
|
+
if (isCredentialParamName(name))
|
|
7
|
+
return name.replace(/[A-Z]/g, (c) => c.toLowerCase());
|
|
8
|
+
}
|
|
9
|
+
return undefined;
|
|
10
|
+
}
|
|
11
|
+
export function findUrlUserinfo(raw) {
|
|
12
|
+
return isHierarchicalUrl(raw) && httpUrlFlaws(raw, ["userinfo"]).includes("userinfo") ? { reason: "url_userinfo" } : undefined;
|
|
13
|
+
}
|
|
14
|
+
export function findUrlCredential(raw) {
|
|
15
|
+
if (!isHierarchicalUrl(raw))
|
|
16
|
+
return undefined;
|
|
17
|
+
const userinfo = findUrlUserinfo(raw);
|
|
18
|
+
if (userinfo !== undefined)
|
|
19
|
+
return userinfo;
|
|
20
|
+
const u = new URL(raw);
|
|
21
|
+
const inQuery = credentialParamIn(u.search);
|
|
22
|
+
if (inQuery !== undefined)
|
|
23
|
+
return { reason: "url_credential_param", at: "query", name: inQuery };
|
|
24
|
+
const inFragment = credentialParamIn(u.hash.slice(1));
|
|
25
|
+
if (inFragment !== undefined)
|
|
26
|
+
return { reason: "url_credential_param", at: "fragment", name: inFragment };
|
|
27
|
+
return undefined;
|
|
28
|
+
}
|
|
29
|
+
export function urlCredentialRule(c) {
|
|
30
|
+
switch (c.reason) {
|
|
31
|
+
case "url_userinfo":
|
|
32
|
+
return httpUrlRule("userinfo");
|
|
33
|
+
case "url_credential_param":
|
|
34
|
+
return `must not carry a credential parameter (the ${c.at} names "${c.name}", a name the service's log redactor treats as a credential)`;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
export function urlCredentialFacts(field, credential) {
|
|
38
|
+
return { field, reason: credential.reason };
|
|
39
|
+
}
|
|
40
|
+
export function urlCredentialHeaderExit(place) {
|
|
41
|
+
return `${place} is stored sealed: send the credential as a header in ${place} (for example "Authorization": "Bearer …")`;
|
|
42
|
+
}
|
|
43
|
+
export function urlCredentialRefusalReason(credential, exit) {
|
|
44
|
+
return `${urlCredentialRule(credential)} — the URL is kept as written (a parked task's resume context, logs), while ${exit}`;
|
|
45
|
+
}
|
|
46
|
+
export function buildRequestUrlCredentialRefusal(field, credential, exit, subject) {
|
|
47
|
+
return { message: `${field}${subject === undefined ? "" : ` (${subject})`} ${urlCredentialRefusalReason(credential, exit)}`, facts: urlCredentialFacts(field, credential) };
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=url-credential.js.map
|
package/dist/url-refusal.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* **「交给 `fetch` 的 http(s) URL」的拒句铸点**(
|
|
2
|
+
* **「交给 `fetch` 的 http(s) URL」的拒句铸点**([ref] 的展示半场)。判官本身 —— 这个值是不是层级式 http(s) URL、座位禁的部件
|
|
3
3
|
* (userinfo / query / fragment)在不在、每个拒因词的规则句 —— 是 settings-schema 的 URL 形判官(`httpUrlFlaws` / `httpUrlRule` /
|
|
4
4
|
* `HTTP_URL_SHAPE_RULE` / `isHierarchicalUrl`,11.0.0 由本仓的那一只 lift 过去、规则与拒因词闭集逐字搬);本仓**零第二份**形规则,
|
|
5
5
|
* 只留本仓自己的展示律:拒句里值的样子({@link buildRefusalShownUrl})与拒句的唯一铸点({@link buildHttpUrlRefusal})。
|
|
@@ -14,9 +14,11 @@
|
|
|
14
14
|
* ## 读者
|
|
15
15
|
* 中心基址三席 + 公告地址 + 请求期 `centerFetch`(`web-admin-client/center-request.ts` `pathBaseUrlRefusal`:禁 userinfo / query / fragment)·
|
|
16
16
|
* 续签 issuer(只问形)· 模型路由三键(`model-route-url.ts`:禁 userinfo / fragment,query 照收)· `MEMORY_EMBEDDER_ENDPOINT` 与
|
|
17
|
-
* `A2A_SERVE_URL`(禁 userinfo)
|
|
17
|
+
* `A2A_SERVE_URL`(禁 userinfo)· `SANDBOX_PKG_SOURCE=custom` 六只地址(形 + 带凭据,后者的判官是 `url-credential.ts`,拒句经 {@link buildUrlCredentialRefusal})。
|
|
18
|
+
* 「scheme 只有判官与展示铸点读」由 `test/config-url-display-safe.test.ts` 的读者普查门钉住。
|
|
18
19
|
*/
|
|
19
20
|
import { type HttpUrlFlaw } from "@sema-agent/settings-schema";
|
|
21
|
+
import { type UrlCredential } from "./url-credential.js";
|
|
20
22
|
/**
|
|
21
23
|
* 拒句里值的样子(纯函数):合格的 http(s) 形 ⇒ 只到 origin(`scheme://host[:port]`,过展示铸点),origin 之后还有东西(userinfo /
|
|
22
24
|
* 路径 / query / fragment)⇒ 接一枚 `/…`;其余(不透明 / 不可解析 / 层级式非 http(s))⇒ 展示铸点的占位 `«redacted:url»` ——
|
|
@@ -32,4 +34,6 @@ export declare function buildRefusalShownUrl(raw: string): string;
|
|
|
32
34
|
* 值只经 {@link buildRefusalShownUrl} 出现;`flaws` 来自 settings-schema 的 `httpUrlFlaws`(调用方按首个拒因选自己的码与出路句)。
|
|
33
35
|
*/
|
|
34
36
|
export declare function buildHttpUrlRefusal(subject: string, raw: string, flaws: readonly HttpUrlFlaw[]): string;
|
|
37
|
+
/** 「带凭据」那一形的拒句([ref];判官 `url-credential.ts` 的 `findUrlCredential`):同一只铸点形,规则句换成凭据判官的那一句。 */
|
|
38
|
+
export declare function buildUrlCredentialRefusal(subject: string, raw: string, credential: UrlCredential): string;
|
|
35
39
|
//# sourceMappingURL=url-refusal.d.ts.map
|
package/dist/url-refusal.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { httpUrlRule, isHierarchicalUrl } from "@sema-agent/settings-schema";
|
|
2
2
|
import { DISPLAY_SAFE_URL_TOKEN, buildDisplaySafeUrl } from "./trace/redact.js";
|
|
3
|
+
import { urlCredentialRule } from "./url-credential.js";
|
|
3
4
|
export function buildRefusalShownUrl(raw) {
|
|
4
5
|
if (!isHierarchicalUrl(raw))
|
|
5
6
|
return DISPLAY_SAFE_URL_TOKEN;
|
|
@@ -12,6 +13,12 @@ export function buildRefusalShownUrl(raw) {
|
|
|
12
13
|
return `${buildDisplaySafeUrl(origin)}${u.href === `${origin}/` ? "" : "/…"}`;
|
|
13
14
|
}
|
|
14
15
|
export function buildHttpUrlRefusal(subject, raw, flaws) {
|
|
15
|
-
return
|
|
16
|
+
return composeUrlRefusal(subject, raw, flaws.map(httpUrlRule));
|
|
17
|
+
}
|
|
18
|
+
export function buildUrlCredentialRefusal(subject, raw, credential) {
|
|
19
|
+
return composeUrlRefusal(subject, raw, [urlCredentialRule(credential)]);
|
|
20
|
+
}
|
|
21
|
+
function composeUrlRefusal(subject, raw, rules) {
|
|
22
|
+
return `${subject} ${rules.join("; ")}; got ${JSON.stringify(buildRefusalShownUrl(raw))}`;
|
|
16
23
|
}
|
|
17
24
|
//# sourceMappingURL=url-refusal.js.map
|
|
@@ -75,7 +75,7 @@ export type UsageGranularity = "hour" | "day";
|
|
|
75
75
|
/**
|
|
76
76
|
* GET /v1/usage/series — 时间序列(UTC 桶;空桶不发行,消费方按需补零)。
|
|
77
77
|
*
|
|
78
|
-
* 🔴 **行带 `estimated`**(
|
|
78
|
+
* 🔴 **行带 `estimated`**([ref]):与 {@link usageSummary} / {@link usageBreakdown} **同轴同谓词** ——
|
|
79
79
|
* 三个读面的桶都是同一只 {@link UsageTotals},由同一条 {@link foldRow} 折出来,所以「这个数字不精确」
|
|
80
80
|
* 的四个来源(旧行 fallback / per-model echo 缺键 / 缺 `usageBasis` 的 legacy 口径 / 行自陈
|
|
81
81
|
* `usageMissing` 的下界)在三面上是**同一句话**。修前只有 series 的出口把这一位扔了:桶里塞进一条
|
|
@@ -96,7 +96,7 @@ export declare function usageBreakdown(rows: UsageRow[], dimension: UsageDimensi
|
|
|
96
96
|
/**
|
|
97
97
|
* store 行投影 helper:**已解码的** result 体 → UsageRow.stats。三个后端复用(方言只在 SQL)。
|
|
98
98
|
*
|
|
99
|
-
* 🔴 **本函数不解码**(
|
|
99
|
+
* 🔴 **本函数不解码**([ref] 车③b 删掉了它的 `typeof result === "string" ? JSON.parse(result) : result`
|
|
100
100
|
* 那一跳):那正是设计稿点名的歧义臂 ——「体是串就再解一次」在一列真 `JSON`/`JSONB` 上等于**解第二次**,
|
|
101
101
|
* 于是一个双重编码的 `task_run.result`(解一次得到的是串)会被解回好体、当成真的用量端出去。三个调用点
|
|
102
102
|
* 逐行亲核过,今天**一处都不递串**:
|