@sema-agent/core 7.55.0 → 7.57.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/CHANGELOG.md +1054 -0
- package/LICENSE +1 -1
- package/dist/agents/cascade.js +1 -1
- package/dist/agents/cc-peer-directory.js +1 -0
- package/dist/agents/child-model-seat.d.ts +0 -11
- package/dist/agents/child-model-seat.js +0 -3
- package/dist/agents/list-agents-tool.d.ts +3 -1
- package/dist/agents/list-agents-tool.js +7 -7
- package/dist/agents/org-delivery-gate.js +3 -4
- package/dist/agents/peer-directory.d.ts +22 -4
- package/dist/agents/peer-directory.js +24 -2
- package/dist/agents/peer-held-queue.d.ts +69 -49
- package/dist/agents/peer-held-queue.js +255 -106
- package/dist/agents/peer-session-drain.js +65 -45
- package/dist/agents/repair-loop.js +2 -2
- package/dist/agents/send-message-tool.js +7 -6
- package/dist/agents/subagent.d.ts +6 -4
- package/dist/agents/subagent.js +72 -68
- package/dist/agents/tool-filter.d.ts +7 -5
- package/dist/agents/tool-filter.js +12 -9
- package/dist/agents/verify.d.ts +3 -2
- package/dist/agents/verify.js +3 -3
- package/dist/brain/anthropic.js +45 -80
- package/dist/brain/media-degrade.d.ts +18 -7
- package/dist/brain/media-degrade.js +13 -2
- package/dist/brain/model-capability.d.ts +37 -0
- package/dist/brain/model-capability.js +34 -0
- package/dist/brain/model-presets.d.ts +2 -8
- package/dist/brain/model-presets.js +1 -6
- package/dist/brain/open-responses.js +23 -34
- package/dist/brain/openai.js +25 -96
- package/dist/brain/provider-dialect.d.ts +3 -2
- package/dist/brain/provider-dialect.js +2 -2
- package/dist/brain/reasoning-request.d.ts +96 -0
- package/dist/brain/reasoning-request.js +174 -0
- package/dist/brain/reasoning.d.ts +11 -11
- package/dist/brain/reasoning.js +4 -3
- package/dist/brain/request-params.d.ts +13 -4
- package/dist/brain/request-params.js +21 -5
- package/dist/brain/status-sink.d.ts +20 -0
- package/dist/brain/status-sink.js +7 -0
- package/dist/brain/stream-engine.d.ts +9 -0
- package/dist/brain/stream-engine.js +24 -10
- package/dist/brain/stream-shared.d.ts +5 -4
- package/dist/brain/stream-shared.js +4 -4
- package/dist/core/a2a.d.ts +2 -1
- package/dist/core/a2a.js +19 -13
- package/dist/core/agent-definition.d.ts +10 -0
- package/dist/core/allow-entry.d.ts +23 -23
- package/dist/core/allow-entry.js +42 -46
- package/dist/core/allow-rule-shadow.d.ts +3 -3
- package/dist/core/approval-object.d.ts +21 -5
- package/dist/core/approval-object.js +44 -17
- package/dist/core/ask-origin.d.ts +66 -20
- package/dist/core/ask-origin.js +63 -23
- package/dist/core/ask-question.d.ts +51 -8
- package/dist/core/ask-question.js +3 -4
- package/dist/core/ask-unresolvable-notice.d.ts +8 -3
- package/dist/core/ask-unresolvable-notice.js +16 -2
- package/dist/core/auto-compaction.d.ts +71 -6
- package/dist/core/auto-compaction.js +42 -26
- package/dist/core/background-agent-store.d.ts +6 -2
- package/dist/core/background-agent-store.js +1 -1
- package/dist/core/checkpoint-generation.d.ts +53 -0
- package/dist/core/checkpoint-generation.js +35 -0
- package/dist/core/checkpoint-queries.d.ts +180 -0
- package/dist/core/checkpoint-queries.js +272 -0
- package/dist/core/checkpoint-requirements.d.ts +19 -1
- package/dist/core/checkpoint-requirements.js +6 -0
- package/dist/core/checkpoint-store.d.ts +105 -53
- package/dist/core/checkpoint-store.js +43 -20
- package/dist/core/cross-boundary-taint.d.ts +6 -5
- package/dist/core/cross-boundary-taint.js +5 -5
- package/dist/core/decision-receipt.d.ts +37 -3
- package/dist/core/decision-receipt.js +17 -17
- package/dist/core/delegation-not-started.d.ts +6 -0
- package/dist/core/delegation-not-started.js +17 -0
- package/dist/core/engine-attestation.d.ts +93 -0
- package/dist/core/engine-attestation.js +70 -0
- package/dist/core/engine-capabilities.d.ts +4 -1
- package/dist/core/engine-capabilities.js +1 -1
- package/dist/core/engine-notice.d.ts +32 -12
- package/dist/core/engine-notice.js +6 -0
- package/dist/core/file-history-store.d.ts +104 -22
- package/dist/core/file-history-store.js +37 -19
- package/dist/core/gate-fold.d.ts +1 -1
- package/dist/core/gate-fold.js +22 -10
- package/dist/core/gate-lanes.js +73 -65
- package/dist/core/gate-outcome.d.ts +26 -5
- package/dist/core/gate-outcome.js +26 -0
- package/dist/core/governance-codes.d.ts +5 -1
- package/dist/core/governance-codes.js +6 -0
- package/dist/core/hooks.d.ts +19 -18
- package/dist/core/hooks.js +3 -1
- package/dist/core/host-floor.d.ts +128 -0
- package/dist/core/host-floor.js +206 -0
- package/dist/core/host-target.d.ts +38 -3
- package/dist/core/host-target.js +38 -5
- package/dist/core/mailbox-store.d.ts +62 -1
- package/dist/core/mailbox-store.js +59 -0
- package/dist/core/mcp-name-judge.d.ts +46 -0
- package/dist/core/mcp-name-judge.js +61 -0
- package/dist/core/mcp-probe.d.ts +1 -1
- package/dist/core/mcp-probe.js +2 -5
- package/dist/core/mcp.d.ts +5 -1
- package/dist/core/mcp.js +70 -64
- package/dist/core/memory-engine/consolidation-driver.js +4 -3
- package/dist/core/memory-engine/delegation-settlement.js +15 -24
- package/dist/core/memory-engine/distiller.js +26 -17
- package/dist/core/memory-engine/engine.js +4 -4
- package/dist/core/memory-engine/layout.d.ts +60 -8
- package/dist/core/memory-engine/layout.js +70 -8
- package/dist/core/model-seat.d.ts +10 -3
- package/dist/core/mods/classic-events.d.ts +67 -0
- package/dist/core/mods/classic-events.js +1 -0
- package/dist/core/mods/dollar.d.ts +13 -0
- package/dist/core/mods/extension-call.d.ts +31 -0
- package/dist/core/mods/extension-call.js +43 -0
- package/dist/core/mods/kernel/dispatch.d.ts +20 -3
- package/dist/core/mods/kernel/dispatch.js +140 -69
- package/dist/core/mods/kernel/events.d.ts +47 -11
- package/dist/core/mods/kernel/events.js +66 -42
- package/dist/core/mods/kernel/index.d.ts +4 -4
- package/dist/core/mods/kernel/index.js +2 -2
- package/dist/core/mods/kernel/receive.d.ts +39 -5
- package/dist/core/mods/kernel/receive.js +290 -17
- package/dist/core/mods/kernel/registration.d.ts +33 -2
- package/dist/core/mods/kernel/registration.js +6 -7
- package/dist/core/mods/kernel/site-rules.d.ts +44 -16
- package/dist/core/mods/kernel/site-rules.js +24 -42
- package/dist/core/mods/spec-seats.d.ts +69 -0
- package/dist/core/mods/spec-seats.js +114 -0
- package/dist/core/mods/stations.d.ts +28 -8
- package/dist/core/mods/stations.js +29 -13
- package/dist/core/mods/tool-call.d.ts +79 -0
- package/dist/core/mods/tool-call.js +152 -0
- package/dist/core/namespaced-rule-name.d.ts +32 -38
- package/dist/core/namespaced-rule-name.js +29 -36
- package/dist/core/parent-spec-seat.d.ts +6 -1
- package/dist/core/parent-spec-seat.js +2 -0
- package/dist/core/park-selfcheck.js +3 -0
- package/dist/core/permission-rule-consent.d.ts +24 -3
- package/dist/core/permission-rule-consent.js +136 -41
- package/dist/core/permission-rule-model.d.ts +57 -5
- package/dist/core/permission-rule-model.js +90 -31
- package/dist/core/permission-rule-org.d.ts +6 -2
- package/dist/core/permission-rule-org.js +8 -4
- package/dist/core/permission-rule-provider.d.ts +5 -2
- package/dist/core/permission-rule-provider.js +41 -11
- package/dist/core/permission-rule-store.d.ts +3 -2
- package/dist/core/permission-rule-store.js +11 -2
- package/dist/core/permission-rule-sync.js +3 -2
- package/dist/core/permission-rule-syntax.d.ts +5 -4
- package/dist/core/permission-rule-syntax.js +2 -2
- package/dist/core/permission-rules.d.ts +4 -4
- package/dist/core/permission-rules.js +11 -20
- package/dist/core/persisted-rule-arms.d.ts +2 -2
- package/dist/core/persisted-rule-arms.js +10 -12
- package/dist/core/principal-name.d.ts +20 -0
- package/dist/core/principal-name.js +22 -0
- package/dist/core/prompt-section-seat.js +4 -6
- package/dist/core/protocol-http-auth.d.ts +40 -5
- package/dist/core/protocol-http-auth.js +168 -4
- package/dist/core/protocol-naming.d.ts +20 -0
- package/dist/core/protocol-naming.js +20 -3
- package/dist/core/read-only-shell.d.ts +20 -5
- package/dist/core/read-only-shell.js +29 -14
- package/dist/core/remote-env.d.ts +37 -1
- package/dist/core/remote-env.js +11 -0
- package/dist/core/resume-startup-cause.d.ts +24 -2
- package/dist/core/resume-startup-cause.js +20 -1
- package/dist/core/retired-keys.d.ts +16 -0
- package/dist/core/retired-keys.js +16 -4
- package/dist/core/rewrite-rejudge.d.ts +60 -0
- package/dist/core/rewrite-rejudge.js +36 -0
- package/dist/core/roles.d.ts +28 -1
- package/dist/core/roles.js +81 -26
- package/dist/core/rule-lane-reads.d.ts +20 -15
- package/dist/core/rule-lane-reads.js +45 -17
- package/dist/core/rule-owner.d.ts +3 -3
- package/dist/core/rule-owner.js +3 -2
- package/dist/core/runner/announce-once-ledger.d.ts +14 -0
- package/dist/core/runner/announce-once-ledger.js +5 -0
- package/dist/core/runner/assemble-result.d.ts +1 -0
- package/dist/core/runner/assemble-result.js +1 -1
- package/dist/core/runner/call-hook-stations.d.ts +3 -2
- package/dist/core/runner/caller-roster.d.ts +16 -4
- package/dist/core/runner/caller-roster.js +33 -6
- package/dist/core/runner/capability-withheld-seat.d.ts +5 -0
- package/dist/core/runner/capability-withheld-seat.js +24 -0
- package/dist/core/runner/classifier-ladder.d.ts +7 -9
- package/dist/core/runner/classifier-ladder.js +3 -3
- package/dist/core/runner/compact-session.d.ts +10 -0
- package/dist/core/runner/compact-session.js +202 -0
- package/dist/core/runner/compaction-call-options.d.ts +2 -2
- package/dist/core/runner/compaction-seams.d.ts +21 -1
- package/dist/core/runner/compaction-seams.js +11 -8
- package/dist/core/runner/construction-doors.js +3 -0
- package/dist/core/runner/contracts.d.ts +50 -40
- package/dist/core/runner/cross-boundary-lane.d.ts +17 -13
- package/dist/core/runner/cross-boundary-lane.js +40 -27
- package/dist/core/runner/denial-limit-arms.d.ts +2 -2
- package/dist/core/runner/denial-limit-arms.js +1 -1
- package/dist/core/runner/derived-route-fallback.d.ts +13 -0
- package/dist/core/runner/derived-route-fallback.js +6 -0
- package/dist/core/runner/env-capability-census.d.ts +3 -2
- package/dist/core/runner/env-capability-census.js +9 -3
- package/dist/core/runner/file-history-request.d.ts +18 -0
- package/dist/core/runner/file-history-request.js +21 -13
- package/dist/core/runner/file-history-restore.d.ts +45 -0
- package/dist/core/runner/file-history-restore.js +46 -0
- package/dist/core/runner/gate-exit.d.ts +3 -3
- package/dist/core/runner/gate-exit.js +4 -3
- package/dist/core/runner/image.d.ts +7 -17
- package/dist/core/runner/image.js +9 -60
- package/dist/core/runner/permission-rule-lanes.d.ts +11 -11
- package/dist/core/runner/permission-rule-lanes.js +39 -17
- package/dist/core/runner/person-path-rows.d.ts +12 -9
- package/dist/core/runner/person-path-rows.js +18 -7
- package/dist/core/runner/prepare-acquire-reconcile.d.ts +3 -0
- package/dist/core/runner/prepare-acquire-reconcile.js +2 -1
- package/dist/core/runner/prepare-ask-lane.d.ts +2 -2
- package/dist/core/runner/prepare-ask-lane.js +5 -2
- package/dist/core/runner/prepare-caps-and-workflow.d.ts +4 -6
- package/dist/core/runner/prepare-caps-and-workflow.js +4 -3
- package/dist/core/runner/prepare-config-doors.d.ts +35 -38
- package/dist/core/runner/prepare-config-doors.js +46 -28
- package/dist/core/runner/prepare-defer-classify.d.ts +4 -3
- package/dist/core/runner/prepare-defer-classify.js +7 -8
- package/dist/core/runner/prepare-file-history.d.ts +48 -8
- package/dist/core/runner/prepare-file-history.js +7 -39
- package/dist/core/runner/prepare-gate-stations.d.ts +1 -1
- package/dist/core/runner/prepare-gate-stations.js +10 -1
- package/dist/core/runner/prepare-hands-readface.d.ts +5 -9
- package/dist/core/runner/prepare-hands-readface.js +17 -14
- package/dist/core/runner/prepare-inherited-gate.d.ts +6 -3
- package/dist/core/runner/prepare-inherited-gate.js +5 -3
- package/dist/core/runner/prepare-memory-engine-session.js +1 -1
- package/dist/core/runner/prepare-park-ask.d.ts +2 -0
- package/dist/core/runner/prepare-park-ask.js +7 -7
- package/dist/core/runner/prepare-policy-chain.d.ts +6 -3
- package/dist/core/runner/prepare-policy-chain.js +67 -76
- package/dist/core/runner/prepare-prompt-assembly.d.ts +5 -7
- package/dist/core/runner/prepare-prompt-assembly.js +10 -8
- package/dist/core/runner/prepare-prompt-inputs.d.ts +11 -9
- package/dist/core/runner/prepare-prompt-inputs.js +3 -5
- package/dist/core/runner/prepare-protocol-tools.d.ts +2 -0
- package/dist/core/runner/prepare-protocol-tools.js +3 -3
- package/dist/core/runner/prepare-safety-scan.d.ts +1 -1
- package/dist/core/runner/prepare-safety-scan.js +0 -17
- package/dist/core/runner/prepare-suspend-saga.d.ts +2 -0
- package/dist/core/runner/prepare-suspend-saga.js +5 -6
- package/dist/core/runner/prepare-task.d.ts +5 -2
- package/dist/core/runner/prepare-task.js +48 -43
- package/dist/core/runner/prepare-tool-disclosure-mount.d.ts +20 -4
- package/dist/core/runner/prepare-tool-disclosure-mount.js +33 -23
- package/dist/core/runner/prepare-turn-wiring.d.ts +0 -4
- package/dist/core/runner/prepare-turn-wiring.js +2 -7
- package/dist/core/runner/prepare-wiring-manifest.d.ts +6 -2
- package/dist/core/runner/prepare-wiring-manifest.js +3 -3
- package/dist/core/runner/resume-admission.js +1 -1
- package/dist/core/runner/resume-apply.js +11 -12
- package/dist/core/runner/resume-checkpoint-screen.js +3 -0
- package/dist/core/runner/resume-claim.d.ts +4 -2
- package/dist/core/runner/resume-claim.js +15 -8
- package/dist/core/runner/retired-runner-deps.js +1 -0
- package/dist/core/runner/rewind-files.d.ts +12 -0
- package/dist/core/runner/rewind-files.js +90 -0
- package/dist/core/runner/run-attachment-seats.js +2 -1
- package/dist/core/runner/run-brain-sinks.d.ts +4 -1
- package/dist/core/runner/run-brain-sinks.js +4 -2
- package/dist/core/runner/run-harness-handlers.js +12 -4
- package/dist/core/runner/run-leg.d.ts +1 -1
- package/dist/core/runner/run-leg.js +40 -39
- package/dist/core/runner/run-notification-lane.d.ts +2 -0
- package/dist/core/runner/run-notification-lane.js +2 -2
- package/dist/core/runner/run-recovery-lanes.js +3 -4
- package/dist/core/runner/run-settle-and-teardown.js +7 -12
- package/dist/core/runner/run-terminal-adoption.js +3 -4
- package/dist/core/runner/run-turn-boundary.js +4 -15
- package/dist/core/runner/runtask.d.ts +10 -0
- package/dist/core/runner/runtask.js +35 -42
- package/dist/core/runner/send-message-continuation.js +1 -1
- package/dist/core/runner/session-read-file-states.d.ts +15 -0
- package/dist/core/runner/session-read-file-states.js +28 -0
- package/dist/core/runner/session-rule-policy.js +4 -3
- package/dist/core/runner/session-verb-doors.d.ts +28 -0
- package/dist/core/runner/session-verb-doors.js +48 -0
- package/dist/core/runner/session-write-ledger.d.ts +30 -0
- package/dist/core/runner/session-write-ledger.js +101 -0
- package/dist/core/runner/shell-env-withheld.d.ts +33 -0
- package/dist/core/runner/shell-env-withheld.js +51 -0
- package/dist/core/runner/skills-seat.js +6 -2
- package/dist/core/runner/stream-settle-backstop.js +12 -15
- package/dist/core/runner/sub-agent-deny-lists.d.ts +25 -3
- package/dist/core/runner/sub-agent-deny-lists.js +25 -17
- package/dist/core/runner/synthetic-tools.d.ts +6 -0
- package/dist/core/runner/synthetic-tools.js +4 -1
- package/dist/core/runner/teardown-bounded.d.ts +1 -0
- package/dist/core/runner/teardown-bounded.js +1 -0
- package/dist/core/runner/tool-disclosure.d.ts +10 -12
- package/dist/core/runner/tool-disclosure.js +1 -3
- package/dist/core/runner/tool-end-body.d.ts +1 -1
- package/dist/core/runner/tool-end-body.js +10 -9
- package/dist/core/runner/tool-not-executed.d.ts +5 -0
- package/dist/core/runner/tool-not-executed.js +11 -0
- package/dist/core/runner/tool-occurrence.d.ts +8 -0
- package/dist/core/runner/tool-occurrence.js +7 -0
- package/dist/core/runner/turn-attachments.d.ts +33 -15
- package/dist/core/runner/turn-attachments.js +62 -37
- package/dist/core/runner-deps.d.ts +7 -7
- package/dist/core/safety-axis-vocab.d.ts +6 -4
- package/dist/core/safety-axis-vocab.js +6 -5
- package/dist/core/safety-merge-corpus.js +11 -3
- package/dist/core/secret-env.d.ts +30 -3
- package/dist/core/secret-env.js +47 -8
- package/dist/core/select-model.js +3 -3
- package/dist/core/session-policy-store.d.ts +32 -15
- package/dist/core/session-policy-store.js +156 -36
- package/dist/core/session-store.d.ts +29 -10
- package/dist/core/session-store.js +51 -19
- package/dist/core/session.d.ts +82 -16
- package/dist/core/session.js +53 -0
- package/dist/core/shell-read-silence.d.ts +11 -12
- package/dist/core/shell-read-silence.js +9 -5
- package/dist/core/shell-run-candidates.js +3 -1
- package/dist/core/shell-wrapper-projection.d.ts +1 -1
- package/dist/core/shell-wrapper-projection.js +1 -1
- package/dist/core/shell-wrapper-table.d.ts +14 -7
- package/dist/core/shell-wrapper-table.js +5 -4
- package/dist/core/side-query.js +10 -1
- package/dist/core/skill-grant.d.ts +7 -2
- package/dist/core/skill-grant.js +5 -0
- package/dist/core/skills-directory.js +6 -2
- package/dist/core/store-contracts/background-agent-store-contract.js +1 -0
- package/dist/core/store-contracts/checkpoint-store-contract.d.ts +11 -1
- package/dist/core/store-contracts/checkpoint-store-contract.js +141 -2
- package/dist/core/store-contracts/file-history-store-contract.js +40 -1
- package/dist/core/store-contracts/mailbox-store-contract.js +49 -1
- package/dist/core/store-contracts/peer-directory-contract.d.ts +7 -2
- package/dist/core/store-contracts/peer-directory-contract.js +14 -2
- package/dist/core/store-contracts/session-repo-contract.js +51 -0
- package/dist/core/store-contracts/session-store-contract.d.ts +2 -1
- package/dist/core/store-contracts/session-store-contract.js +150 -14
- package/dist/core/stub-env.d.ts +2 -0
- package/dist/core/stub-env.js +1 -0
- package/dist/core/synthetic-read-verdict.js +3 -3
- package/dist/core/task-event.d.ts +32 -4
- package/dist/core/task-notification.d.ts +16 -12
- package/dist/core/task-registry-agent.d.ts +8 -4
- package/dist/core/task-registry-agent.js +14 -8
- package/dist/core/task-registry-shared.d.ts +35 -6
- package/dist/core/task-registry-shared.js +11 -0
- package/dist/core/task-registry.d.ts +10 -1
- package/dist/core/task-registry.js +12 -2
- package/dist/core/task-result.d.ts +18 -0
- package/dist/core/task-spec.d.ts +18 -13
- package/dist/core/tighten-task-spec.js +2 -1
- package/dist/core/tool-catalog-entries.d.ts +23 -0
- package/dist/core/tool-catalog-entries.js +14 -2
- package/dist/core/tool-check-reading.d.ts +11 -0
- package/dist/core/tool-check-reading.js +11 -6
- package/dist/core/tool-model-gate.d.ts +2 -2
- package/dist/core/tool-name-aliases.d.ts +48 -18
- package/dist/core/tool-name-aliases.js +36 -19
- package/dist/core/tool-name-readings.d.ts +6 -32
- package/dist/core/tool-name-readings.js +2 -9
- package/dist/core/tool-policy.d.ts +78 -204
- package/dist/core/tool-policy.js +152 -204
- package/dist/core/tool-result-store.js +3 -0
- package/dist/core/tool-roster.d.ts +14 -19
- package/dist/core/tool-roster.js +11 -44
- package/dist/core/tool-spec-members.js +7 -2
- package/dist/core/tool-spec.d.ts +19 -11
- package/dist/core/tools.js +49 -9
- package/dist/core/trace.d.ts +6 -3
- package/dist/core/trace.js +2 -1
- package/dist/core/types.d.ts +1 -1
- package/dist/core/untrusted-egress.d.ts +20 -0
- package/dist/core/untrusted-egress.js +77 -3
- package/dist/core/user-attachment.d.ts +8 -1
- package/dist/core/user-attachment.js +64 -4
- package/dist/core/wiring-manifest.d.ts +9 -0
- package/dist/core/wiring-manifest.js +1 -0
- package/dist/core/workflow-journal-store.js +1 -1
- package/dist/engine/compaction/compaction.js +3 -2
- package/dist/engine/execution-env/node-execution-env.d.ts +7 -3
- package/dist/engine/execution-env/node-execution-env.js +11 -2
- package/dist/engine/harness/agent-harness.d.ts +32 -6
- package/dist/engine/harness/agent-harness.js +65 -9
- package/dist/engine/harness/types.d.ts +29 -2
- package/dist/engine/llm/types.d.ts +28 -11
- package/dist/engine/loop/agent-loop.d.ts +23 -4
- package/dist/engine/loop/agent-loop.js +42 -30
- package/dist/engine/loop/types.d.ts +16 -6
- package/dist/engine/session/memory-repo.d.ts +9 -2
- package/dist/engine/session/memory-repo.js +11 -1
- package/dist/engine/session/repo-utils.d.ts +6 -5
- package/dist/engine/session/repo-utils.js +14 -6
- package/dist/index.d.ts +34 -17
- package/dist/index.js +22 -11
- package/dist/internal/harness-types.d.ts +1 -1
- package/dist/internal/harness.d.ts +2 -1
- package/dist/internal/harness.js +1 -0
- package/dist/internal/llm.d.ts +1 -1
- package/dist/orchestration/run-workflow-tool.d.ts +6 -4
- package/dist/orchestration/run-workflow-tool.js +5 -3
- package/dist/orchestration/workflow.d.ts +3 -0
- package/dist/orchestration/workflow.js +36 -18
- package/dist/primitives/credential-ref.d.ts +89 -0
- package/dist/primitives/credential-ref.js +125 -0
- package/dist/primitives/index.d.ts +2 -0
- package/dist/primitives/index.js +1 -0
- package/dist/prompt-assembly/artifact.d.ts +2 -2
- package/dist/prompt-assembly/artifact.js +5 -3
- package/dist/prompt-assembly/assemble.d.ts +3 -2
- package/dist/prompt-assembly/assemble.js +1 -1
- package/dist/prompt-assembly/catalog/schema.d.ts +43 -12
- package/dist/prompt-assembly/catalog/schema.js +34 -2
- package/dist/prompt-assembly/catalog/sections.js +0 -1
- package/dist/prompt-assembly/composer.d.ts +3 -1
- package/dist/prompt-assembly/composer.js +1 -1
- package/dist/prompt-assembly/event-registry.js +1 -0
- package/dist/prompt-assembly/overlay.js +3 -3
- package/dist/prompt-assembly/renderers.d.ts +1 -1
- package/dist/prompt-assembly/renderers.js +0 -3
- package/dist/prompt-assembly/role-base.d.ts +15 -0
- package/dist/prompt-assembly/role-base.js +9 -0
- package/dist/prompt-assembly/select.d.ts +39 -14
- package/dist/prompt-assembly/select.js +47 -16
- package/dist/prompt-assembly/sugar.d.ts +17 -11
- package/dist/prompt-assembly/sugar.js +8 -3
- package/dist/prompt-assembly/tool-catalog.d.ts +37 -3
- package/dist/prompt-assembly/tool-catalog.js +114 -4
- package/dist/prompt-assembly/turn-snapshot.d.ts +4 -10
- package/dist/prompt-assembly/turn-snapshot.js +0 -3
- package/dist/prompt-assembly/types.d.ts +0 -7
- package/dist/scenarios/full-body.d.ts +11 -11
- package/dist/scenarios/full-body.js +4 -3
- package/dist/shell/lex.js +10 -1
- package/dist/stores/file/adoption/adopt.js +4 -3
- package/dist/stores/file/adoption/marker.js +3 -2
- package/dist/stores/file/checkpoint-store.d.ts +21 -4
- package/dist/stores/file/checkpoint-store.js +38 -7
- package/dist/stores/file/file-history-store.js +18 -11
- package/dist/stores/file/index.js +2 -1
- package/dist/stores/file/mailbox-store.d.ts +2 -1
- package/dist/stores/file/mailbox-store.js +26 -1
- package/dist/stores/file/permission-rule-adopt.js +4 -3
- package/dist/stores/file/permission-rule-store.js +11 -5
- package/dist/stores/file/session-store.d.ts +29 -6
- package/dist/stores/file/session-store.js +42 -50
- package/dist/tools/artifact/artifact-tool.js +3 -2
- package/dist/tools/fs/bash-program-position.d.ts +19 -2
- package/dist/tools/fs/bash-program-position.js +56 -9
- package/dist/tools/fs/bash-readonly-classifier.d.ts +15 -19
- package/dist/tools/fs/bash-readonly-classifier.js +5 -10
- package/dist/tools/fs/fs-bash.js +15 -8
- package/dist/tools/fs/fs-glob.d.ts +86 -0
- package/dist/tools/fs/fs-glob.js +226 -0
- package/dist/tools/fs/fs-read.js +14 -14
- package/dist/tools/fs/fs-search-tools.js +7 -7
- package/dist/tools/fs/pattern-kill-guard.d.ts +23 -0
- package/dist/tools/fs/pattern-kill-guard.js +429 -0
- package/dist/tools/fs/pdf.d.ts +9 -6
- package/dist/tools/fs/pdf.js +3 -3
- package/dist/tools/fs/program-read-model.d.ts +57 -7
- package/dist/tools/fs/program-read-model.js +11 -1
- package/dist/tools/fs/program-read-model.rows.js +78 -21
- package/dist/tools/fs/read-deny-home.js +3 -2
- package/dist/tools/fs/removal-targets.d.ts +17 -7
- package/dist/tools/fs/removal-targets.js +47 -20
- package/dist/tools/fs/search.d.ts +10 -0
- package/dist/tools/fs/search.js +20 -26
- package/dist/tools/fs/shell-read-argv.js +89 -12
- package/dist/tools/fs/shell-read-bindings.d.ts +31 -0
- package/dist/tools/fs/shell-read-bindings.js +41 -0
- package/dist/tools/fs/shell-read-check.d.ts +10 -0
- package/dist/tools/fs/shell-read-check.js +13 -20
- package/dist/tools/fs/shell-read-environment.d.ts +5 -1
- package/dist/tools/fs/shell-read-environment.js +3 -2
- package/dist/tools/fs/shell-read-establish.d.ts +15 -0
- package/dist/tools/fs/shell-read-establish.js +19 -20
- package/dist/tools/fs/shell-read-identity.d.ts +12 -9
- package/dist/tools/fs/shell-read-identity.js +9 -4
- package/dist/tools/fs/shell-read-plan.js +24 -16
- package/dist/tools/fs/shell-read-start.d.ts +6 -1
- package/dist/tools/fs/shell-read-write-targets.d.ts +5 -1
- package/dist/tools/fs/shell-read-write-targets.js +2 -3
- package/dist/tools/fs/shell-reentry-text.d.ts +9 -0
- package/dist/tools/fs/shell-reentry-text.js +40 -2
- package/dist/tools/todo.js +63 -63
- package/dist/tools/web.d.ts +19 -14
- package/dist/tools/web.js +46 -61
- package/package.json +1 -1
- package/test/export-surface.snapshot.json +221 -7
- package/wire-changes/core-stores-sql@7.57.0.json +29 -0
- package/wire-changes/core@7.56.0.json +3891 -0
- package/wire-changes/core@7.57.0.json +1487 -0
- package/wire-changes/mods-kernel@7.56.0.json +303 -0
- package/wire-changes/mods-kernel@7.57.0.json +29 -0
- package/wire-changes/primitives@7.57.0.json +245 -0
|
@@ -16,8 +16,8 @@ import type { RuleBehavior } from "./permission-rule-model.js";
|
|
|
16
16
|
* with the successor, where any other unknown name stays the generic roster miss.
|
|
17
17
|
*
|
|
18
18
|
* What REMAINS is validation data: {@link RETIRED_TOOL_NAMES} maps every name the engine ever
|
|
19
|
-
* retired to a one-line guidance string, and {@link judgeRuleToolName} is the ONE
|
|
20
|
-
* tool name gets. They exist because deleting the mapping flips stale POLICY entries from "silently
|
|
19
|
+
* retired to a one-line guidance string, and {@link judgeRuleToolName} is the ONE judgment of it a rule's
|
|
20
|
+
* tool name gets ({@link toolNameFaultOf} adds the near-miss step: the one reading). They exist because deleting the mapping flips stale POLICY entries from "silently
|
|
21
21
|
* matched" to "silently matches nothing" — and for a deny/requireApproval entry that direction WIDENS
|
|
22
22
|
* the surface. `validatePermissionRules` (permission-rules.ts) does NOT classify retired names itself:
|
|
23
23
|
* which names a deployment mounts its OWN tool under is a roster fact, and the judgment takes the roster.
|
|
@@ -44,8 +44,8 @@ export declare const RULE_TOOL_NAME_VERDICTS: readonly ["current", "retired", "u
|
|
|
44
44
|
* (the server / remote agent) is empty or not a spelling the mint produces for any peer (the name is read as written —
|
|
45
45
|
* peers compare exactly — and every mounted tool carries the minted spelling, so the name reaches none of them), or the
|
|
46
46
|
* tool segment is EMPTY (a trailing separator, `mcp__srv__`: no tool is minted under an empty segment), or the peer segment
|
|
47
|
-
* carries a wildcard the list's behavior does not read (`mcp__git*`, `mcp__
|
|
48
|
-
*
|
|
47
|
+
* carries a wildcard the list's behavior does not read (`mcp__git*`, `mcp__*`, `mcp__*__get_*` in an allow list — a deny or
|
|
48
|
+
* ask list reads every `*` as part of a glob over the whole name, see {@link readsNameGlob}). `guidance`
|
|
49
49
|
* says so in one line; `currentName` is the whole name rewritten with the spelling the mint produces (`mcp__github.com__*` →
|
|
50
50
|
* `mcp__github_com__*`), absent when a segment is empty or wild and there is nothing to rewrite. A tool segment that is not
|
|
51
51
|
* empty is never judged: it is a literal tool name or a glob over one, and an unmatched one is the audit's advisory.
|
|
@@ -81,25 +81,55 @@ export declare function splitNamespacedName(name: string): {
|
|
|
81
81
|
readonly tool?: string;
|
|
82
82
|
} | undefined;
|
|
83
83
|
/**
|
|
84
|
-
*
|
|
85
|
-
*
|
|
86
|
-
*
|
|
84
|
+
* Does a list of this behavior read a `*` in a tool name as a glob over the WHOLE name — anywhere in it, the lone `*` (every tool)
|
|
85
|
+
* included? A list that RESTRICTS (`deny`, `ask`) does: it reaches every tool any of whose names the glob matches (the reference's
|
|
86
|
+
* deny and ask lookups match a rule's tool name with `globMatching` on, and its settings validator says "deny and ask rules accept
|
|
87
|
+
* wildcards anywhere"). A list that GRANTS (`allow`) does not — an allow names the scope it widens, so it reads a `*` only in the
|
|
88
|
+
* tool segment after a literal `<ns>__<peer>__` ({@link grantWildcardRefusalOf}) — and neither does a caller that states no behavior.
|
|
87
89
|
*/
|
|
88
|
-
export declare function
|
|
90
|
+
export declare function readsNameGlob(behavior: RuleBehavior | undefined): boolean;
|
|
89
91
|
/**
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
*
|
|
92
|
+
* The sentence for a `*` in a tool name that a GRANTING list does not read — anywhere but the tool segment after a literal, non-empty
|
|
93
|
+
* `<ns>__<peer>__` — or `undefined` (no `*`, or one in that segment). The one test every allow-side reader asks (a policy's allowlist
|
|
94
|
+
* constructor, an entry list, a run's allowed list, the name judgment's allow arm), so a spelling an allow cannot read is refused
|
|
95
|
+
* or read as nothing in one sentence wherever it is written.
|
|
94
96
|
*/
|
|
95
|
-
export declare function
|
|
96
|
-
/** The judgment's sentence for a namespaced name whose peer segment carries a wildcard the list's `behavior` does not read, else `undefined`
|
|
97
|
-
* — only that arm of the judgment, for the stations that ask it with no roster (a rule policy's compile, an allowlist constructor). */
|
|
98
|
-
export declare function wildcardPeerRefusalOf(name: string, behavior: RuleBehavior | undefined): string | undefined;
|
|
97
|
+
export declare function grantWildcardRefusalOf(name: string): string | undefined;
|
|
99
98
|
/** See {@link RuleToolNameVerdict}. Pure; the one answer to "is this rule's tool name a name that reaches no tool".
|
|
100
|
-
* `behavior` = the behavior of the list the name is written in: a restricting one (`deny`, `ask`) reads the
|
|
101
|
-
*
|
|
99
|
+
* `behavior` = the behavior of the list the name is written in: a restricting one (`deny`, `ask`) reads a `*` anywhere in the name
|
|
100
|
+
* as a glob ({@link readsNameGlob}) — such a name outside every namespace, or with a glob in its peer segment, is a pattern and
|
|
101
|
+
* `current`; with `allow` or none a wildcard peer names no peer and is `unmintable_segment`. */
|
|
102
102
|
export declare function judgeRuleToolName(name: string, roster: ReadonlySet<string>, behavior?: RuleBehavior): RuleToolNameVerdict;
|
|
103
|
+
/**
|
|
104
|
+
* THE near-miss reading of a tool name the judgment calls current: the spelling the roster carries when it carries no tool of this
|
|
105
|
+
* exact name but one that differs from it only by case (`BASH` beside `Bash`), else `undefined`. Two kinds of name are never a near
|
|
106
|
+
* miss, because the roster they would be read against is not the final one: an engine tool's (the engine mounts some of its tools
|
|
107
|
+
* after a list is read) and a protocol tool's (a refresh mounts and unmounts them while the run goes on) — in both the exact
|
|
108
|
+
* spelling can be the right one by the time it matters. Every station that asks "is this name a case twin of a carried tool" reads
|
|
109
|
+
* this answer: an entry list and the persisted grammar's whole-tool rule through {@link toolNameFaultOf}, and a tool policy's name
|
|
110
|
+
* lists (the prepare-time policy-name audit, which reads two rosters and skips an inherited layer) directly.
|
|
111
|
+
*/
|
|
112
|
+
export declare function nearMissSpellingOf(name: string, roster: ReadonlySet<string>): string | undefined;
|
|
113
|
+
/** What {@link toolNameFaultOf} finds wrong with a rule's tool name: the judgment's stale words (`tool_name`, with the verdict and
|
|
114
|
+
* its facts), or another spelling of a carried tool (`near_miss`, the spelling to write). */
|
|
115
|
+
export type ToolNameFault = {
|
|
116
|
+
readonly reason: "tool_name";
|
|
117
|
+
readonly verdict: Exclude<RuleToolNameVerdict["kind"], "current">;
|
|
118
|
+
readonly guidance?: string;
|
|
119
|
+
readonly currentName?: string;
|
|
120
|
+
} | {
|
|
121
|
+
readonly reason: "near_miss";
|
|
122
|
+
readonly currentName: string;
|
|
123
|
+
};
|
|
124
|
+
/**
|
|
125
|
+
* THE ONE reading of a rule's tool name against a roster — the name judgment's stale words, then, for a name the judgment calls
|
|
126
|
+
* current but the roster does not carry exactly, whether the roster carries it under another case ({@link nearMissSpellingOf}).
|
|
127
|
+
* `undefined` = no fault: the name is carried, or nothing carried is another spelling of it. A name the roster simply does not
|
|
128
|
+
* carry is silent: a tool of that name may be mounted later, and a list shared across runs is not wrong because one run lacks a
|
|
129
|
+
* tool. A list entry (`readRuleEntry`) and a stored whole-tool rule (`parseRuleText`) read a name through this and nothing else;
|
|
130
|
+
* the policy-name audit composes the same two steps itself over two rosters (a candidate to fold in).
|
|
131
|
+
*/
|
|
132
|
+
export declare function toolNameFaultOf(name: string, roster: ReadonlySet<string>, behavior: RuleBehavior | undefined): ToolNameFault | undefined;
|
|
103
133
|
/** The two kinds of tool-name miss — a closed set. `unknown`: the name is none the engine ever mounted (a typo, a
|
|
104
134
|
* guess). `expected-absent`: the name is one the engine RETIRED ({@link RETIRED_TOOL_NAMES}), so its absence is no
|
|
105
135
|
* surprise and the table says what replaced it (the reference spells the same two words for its render-time miss). */
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { carriesNamespaceSeparator, protocolOf } from "./protocol-table.js";
|
|
2
2
|
import { mintNamespacePrefix } from "./protocol-naming.js";
|
|
3
|
+
import { catalogToolNames } from "./tool-registry.js";
|
|
3
4
|
export const RETIRED_TOOL_NAMES = new Map([
|
|
4
5
|
["read_file", 'renamed "Read"'],
|
|
5
6
|
["edit_file", 'renamed "Edit"'],
|
|
@@ -53,19 +54,20 @@ export function splitNamespacedName(name) {
|
|
|
53
54
|
const [peer = "", ...rest] = name.slice(ns.prefix.length).split(NAMESPACE_SEPARATOR);
|
|
54
55
|
return rest.length > 0 ? { ns, peer, tool: rest.join(NAMESPACE_SEPARATOR) } : { ns, peer };
|
|
55
56
|
}
|
|
56
|
-
|
|
57
|
-
export function wholeProtocolOf(name) {
|
|
58
|
-
const split = splitNamespacedName(name);
|
|
59
|
-
return split !== undefined && spellsWholeProtocol(split) ? split.ns : undefined;
|
|
60
|
-
}
|
|
61
|
-
function spellsWholeProtocol(split) {
|
|
62
|
-
return split.peer === WHOLE_PROTOCOL_PEER && (split.tool === undefined || split.tool === "*");
|
|
63
|
-
}
|
|
64
|
-
export function readsWholeProtocol(behavior) {
|
|
57
|
+
export function readsNameGlob(behavior) {
|
|
65
58
|
return behavior === "deny" || behavior === "ask";
|
|
66
59
|
}
|
|
67
60
|
function peerWildcardGuidance(ns) {
|
|
68
|
-
return `
|
|
61
|
+
return `an allow entry takes no wildcard in a ${ns.id} name's peer segment — write ${ns.prefix}<peer> (every tool of one peer), ${ns.prefix}<peer>${NAMESPACE_SEPARATOR}<tool> (one tool) or ${ns.prefix}<peer>${NAMESPACE_SEPARATOR}<glob> (the tools of one peer the glob matches); a deny or ask entry may put a \`*\` anywhere in a name`;
|
|
62
|
+
}
|
|
63
|
+
const GRANT_WILDCARD_GUIDANCE = "an allow entry names the tools it grants — a `*` in a tool name is read on an allow list only in the tool segment after a literal <ns>__<peer>__ (mcp__<server>__*), so this entry grants nothing; name the tools, or put the wildcard on a deny or ask entry, which reads a `*` anywhere in a name";
|
|
64
|
+
export function grantWildcardRefusalOf(name) {
|
|
65
|
+
if (!name.includes("*"))
|
|
66
|
+
return undefined;
|
|
67
|
+
const split = splitNamespacedName(name);
|
|
68
|
+
if (split === undefined)
|
|
69
|
+
return GRANT_WILDCARD_GUIDANCE;
|
|
70
|
+
return split.peer !== "" && !split.peer.includes("*") && split.tool !== undefined ? undefined : peerWildcardGuidance(split.ns);
|
|
69
71
|
}
|
|
70
72
|
function unmintableSegmentOf(split, behavior) {
|
|
71
73
|
const { ns, peer, tool } = split;
|
|
@@ -74,7 +76,7 @@ function unmintableSegmentOf(split, behavior) {
|
|
|
74
76
|
if (tool === "")
|
|
75
77
|
return { kind: "unmintable_segment", guidance: `the ${ns.id} name has an empty tool segment — no tool is minted under it; write ${ns.prefix}<peer> to cover every tool of a peer, or ${ns.prefix}<peer>${NAMESPACE_SEPARATOR}<tool> for one tool` };
|
|
76
78
|
if (peer.includes("*"))
|
|
77
|
-
return
|
|
79
|
+
return readsNameGlob(behavior) ? undefined : { kind: "unmintable_segment", guidance: peerWildcardGuidance(ns) };
|
|
78
80
|
const minted = mintNamespacePrefix(ns, peer).slice(ns.prefix.length, -NAMESPACE_SEPARATOR.length);
|
|
79
81
|
if (minted === peer)
|
|
80
82
|
return undefined;
|
|
@@ -84,13 +86,6 @@ function unmintableSegmentOf(split, behavior) {
|
|
|
84
86
|
currentName: `${ns.prefix}${minted}${tool !== undefined ? `${NAMESPACE_SEPARATOR}${tool}` : ""}`,
|
|
85
87
|
};
|
|
86
88
|
}
|
|
87
|
-
export function wildcardPeerRefusalOf(name, behavior) {
|
|
88
|
-
const split = splitNamespacedName(name);
|
|
89
|
-
if (split === undefined || !split.peer.includes("*"))
|
|
90
|
-
return undefined;
|
|
91
|
-
const verdict = unmintableSegmentOf(split, behavior);
|
|
92
|
-
return verdict?.kind === "unmintable_segment" ? verdict.guidance : undefined;
|
|
93
|
-
}
|
|
94
89
|
export function judgeRuleToolName(name, roster, behavior) {
|
|
95
90
|
if (roster.has(name))
|
|
96
91
|
return CURRENT;
|
|
@@ -101,9 +96,31 @@ export function judgeRuleToolName(name, roster, behavior) {
|
|
|
101
96
|
}
|
|
102
97
|
const split = splitNamespacedName(name);
|
|
103
98
|
if (split === undefined)
|
|
104
|
-
return carriesNamespaceSeparator(name) ? UNPREFIXED : CURRENT;
|
|
99
|
+
return carriesNamespaceSeparator(name) && !(readsNameGlob(behavior) && name.includes("*")) ? UNPREFIXED : CURRENT;
|
|
105
100
|
return unmintableSegmentOf(split, behavior) ?? CURRENT;
|
|
106
101
|
}
|
|
102
|
+
function mountedSpellingOf(name, roster) {
|
|
103
|
+
const folded = name.toLowerCase();
|
|
104
|
+
for (const mounted of roster)
|
|
105
|
+
if (mounted.toLowerCase() === folded)
|
|
106
|
+
return mounted;
|
|
107
|
+
return undefined;
|
|
108
|
+
}
|
|
109
|
+
export function nearMissSpellingOf(name, roster) {
|
|
110
|
+
if (roster.has(name) || catalogToolNames().has(name) || splitNamespacedName(name) !== undefined)
|
|
111
|
+
return undefined;
|
|
112
|
+
return mountedSpellingOf(name, roster);
|
|
113
|
+
}
|
|
114
|
+
export function toolNameFaultOf(name, roster, behavior) {
|
|
115
|
+
const verdict = judgeRuleToolName(name, roster, behavior);
|
|
116
|
+
if (verdict.kind === "unprefixed_namespace")
|
|
117
|
+
return { reason: "tool_name", verdict: verdict.kind };
|
|
118
|
+
if (verdict.kind !== "current") {
|
|
119
|
+
return { reason: "tool_name", verdict: verdict.kind, guidance: verdict.guidance, ...(verdict.currentName !== undefined ? { currentName: verdict.currentName } : {}) };
|
|
120
|
+
}
|
|
121
|
+
const mounted = nearMissSpellingOf(name, roster);
|
|
122
|
+
return mounted === undefined ? undefined : { reason: "near_miss", currentName: mounted };
|
|
123
|
+
}
|
|
107
124
|
export const TOOL_MISS_KINDS = Object.freeze(["unknown", "expected-absent"]);
|
|
108
125
|
const [UNKNOWN_MISS, ABSENT_MISS] = TOOL_MISS_KINDS;
|
|
109
126
|
export function judgeToolNameMiss(name, roster) {
|
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
* answers to ({@link heldBy}); a set-valued table is read as the union of its entries ({@link heldValues}).
|
|
9
9
|
* · `seat` — a multi-key seat keyed on engine names: ONE name is chosen ({@link seatOf}) and every key of the seat is
|
|
10
10
|
* read under it. `tier` = the name whose irreversibility tier is strictest (`never < maybe < always`, an
|
|
11
|
-
* absent tier lowest
|
|
11
|
+
* absent tier lowest; a tie goes to the call's wire name — the tool that runs judges its own call with its
|
|
12
|
+
* own probe — then to the earlier name of the call); `member` = the first name the table holds.
|
|
12
13
|
* · `wire` — a GRANT or a ROUTING keyed on an engine name: the call's wire name only ({@link wireOf}).
|
|
13
14
|
* · `spelling` — a record of what the model said (stream frames, transcripts, counters): the harness event's own name;
|
|
14
15
|
* no port — listed so the table is complete.
|
|
@@ -78,10 +79,6 @@ export declare const NAME_READINGS: {
|
|
|
78
79
|
readonly rank: "member";
|
|
79
80
|
readonly file: string;
|
|
80
81
|
};
|
|
81
|
-
readonly "lanes.contentQuestionClass": {
|
|
82
|
-
readonly kind: "any";
|
|
83
|
-
readonly file: string;
|
|
84
|
-
};
|
|
85
82
|
readonly "lanes.readOnlyShellAllow": {
|
|
86
83
|
readonly kind: "wire";
|
|
87
84
|
readonly file: string;
|
|
@@ -90,22 +87,10 @@ export declare const NAME_READINGS: {
|
|
|
90
87
|
readonly kind: "wire";
|
|
91
88
|
readonly file: string;
|
|
92
89
|
};
|
|
93
|
-
readonly "lanes.contentAskRoute": {
|
|
94
|
-
readonly kind: "wire";
|
|
95
|
-
readonly file: string;
|
|
96
|
-
};
|
|
97
90
|
readonly "lanes.orgContentAskExemption": {
|
|
98
91
|
readonly kind: "wire";
|
|
99
92
|
readonly file: string;
|
|
100
93
|
};
|
|
101
|
-
readonly "lanes.allowLayerQuestionSkip": {
|
|
102
|
-
readonly kind: "wire";
|
|
103
|
-
readonly file: string;
|
|
104
|
-
};
|
|
105
|
-
readonly "lanes.sandboxQuestionSkip": {
|
|
106
|
-
readonly kind: "wire";
|
|
107
|
-
readonly file: string;
|
|
108
|
-
};
|
|
109
94
|
readonly "policy.nameLists": {
|
|
110
95
|
readonly kind: "any";
|
|
111
96
|
readonly file: string;
|
|
@@ -142,7 +127,7 @@ export declare const NAME_READINGS: {
|
|
|
142
127
|
readonly kind: "any";
|
|
143
128
|
readonly file: string;
|
|
144
129
|
};
|
|
145
|
-
readonly "policy.
|
|
130
|
+
readonly "policy.persistedToolRule": {
|
|
146
131
|
readonly kind: "any";
|
|
147
132
|
readonly file: string;
|
|
148
133
|
};
|
|
@@ -240,10 +225,6 @@ export declare const NAME_READINGS: {
|
|
|
240
225
|
readonly kind: "spelling";
|
|
241
226
|
readonly file: string;
|
|
242
227
|
};
|
|
243
|
-
readonly "inherited.questionFloat": {
|
|
244
|
-
readonly kind: "wire";
|
|
245
|
-
readonly file: string;
|
|
246
|
-
};
|
|
247
228
|
readonly "inherited.askFace": {
|
|
248
229
|
readonly kind: "wire";
|
|
249
230
|
readonly file: string;
|
|
@@ -252,14 +233,6 @@ export declare const NAME_READINGS: {
|
|
|
252
233
|
readonly kind: "wire";
|
|
253
234
|
readonly file: string;
|
|
254
235
|
};
|
|
255
|
-
readonly "resume.editRecheckQuestionSkip": {
|
|
256
|
-
readonly kind: "wire";
|
|
257
|
-
readonly file: string;
|
|
258
|
-
};
|
|
259
|
-
readonly "resume.questionArgsShown": {
|
|
260
|
-
readonly kind: "wire";
|
|
261
|
-
readonly file: string;
|
|
262
|
-
};
|
|
263
236
|
readonly "budget.exemptResult": {
|
|
264
237
|
readonly kind: "wire";
|
|
265
238
|
readonly file: string;
|
|
@@ -347,8 +320,9 @@ export interface TierSeat extends Seat<IrreversibilityTierWord> {
|
|
|
347
320
|
}): boolean;
|
|
348
321
|
}
|
|
349
322
|
/**
|
|
350
|
-
* A `seat` site's read. A `tier` seat takes the irreversibility tier table and picks the name whose tier is strictest
|
|
351
|
-
* a `member` seat takes a table (a map, or a set whose value reads
|
|
323
|
+
* A `seat` site's read. A `tier` seat takes the irreversibility tier table and picks the name whose tier is strictest, a tie
|
|
324
|
+
* going to the call's wire name, then to its earlier name; a `member` seat takes a table (a map, or a set whose value reads
|
|
325
|
+
* `true`) and picks the first name it holds.
|
|
352
326
|
*/
|
|
353
327
|
export declare function seatOf(site: TierSeatSite, tiers: {
|
|
354
328
|
get(name: string): IrreversibilityTierWord | undefined;
|
|
@@ -21,13 +21,9 @@ export const NAME_READINGS = {
|
|
|
21
21
|
"gate.preToolUse": wire("src/core/hooks.ts"),
|
|
22
22
|
"gate.askFace": wire("src/core/runner/gate-exit.ts"),
|
|
23
23
|
"fold.readStation": seat("member", "src/tools/fs/shell-read-check.ts"),
|
|
24
|
-
"lanes.contentQuestionClass": any(LANES),
|
|
25
24
|
"lanes.readOnlyShellAllow": wire(LANES),
|
|
26
25
|
"lanes.modeFileCommand": wire(LANES),
|
|
27
|
-
"lanes.contentAskRoute": wire(LANES),
|
|
28
26
|
"lanes.orgContentAskExemption": wire(LANES),
|
|
29
|
-
"lanes.allowLayerQuestionSkip": wire(LANES),
|
|
30
|
-
"lanes.sandboxQuestionSkip": wire(LANES),
|
|
31
27
|
"policy.nameLists": any(POLICY),
|
|
32
28
|
"policy.shellToolsList": any(POLICY),
|
|
33
29
|
"policy.projectionReplay": any(POLICY),
|
|
@@ -37,7 +33,7 @@ export const NAME_READINGS = {
|
|
|
37
33
|
"gate.skillActivationSeat": wire(GATE),
|
|
38
34
|
"policy.permissionRules": any("src/core/permission-rules.ts"),
|
|
39
35
|
"policy.persistedGrammar": any("src/core/permission-rule-model.ts"),
|
|
40
|
-
"policy.
|
|
36
|
+
"policy.persistedToolRule": any("src/core/permission-rule-model.ts"),
|
|
41
37
|
"policy.sensitivePathGuardedByName": any("src/core/sensitive-path-policy.ts"),
|
|
42
38
|
"floor.protectivePathTarget": seat("member", "src/core/tool-registry.ts"),
|
|
43
39
|
"floor.protectiveHostTarget": seat("member", "src/core/host-target.ts"),
|
|
@@ -60,11 +56,8 @@ export const NAME_READINGS = {
|
|
|
60
56
|
"stats.subagentToolCounter": spelling("src/agents/subagent.ts"),
|
|
61
57
|
"activity.sink": spelling(HANDLERS),
|
|
62
58
|
"reconcile.orphanEffect": spelling("src/core/session-reconcile.ts"),
|
|
63
|
-
"inherited.questionFloat": wire(CHAIN),
|
|
64
59
|
"inherited.askFace": wire(CHAIN),
|
|
65
60
|
"card.reserved": wire("src/core/tool-roster.ts"),
|
|
66
|
-
"resume.editRecheckQuestionSkip": wire("src/core/runner/resume-apply.ts"),
|
|
67
|
-
"resume.questionArgsShown": wire("src/core/runner/run-leg.ts"),
|
|
68
61
|
"budget.exemptResult": wire("src/core/tool-result-budget.ts"),
|
|
69
62
|
"compaction.compactableResult": wire("src/core/context-edit.ts"),
|
|
70
63
|
};
|
|
@@ -112,7 +105,7 @@ export function seatOf(site, table, call) {
|
|
|
112
105
|
const valueAt = (n) => (typeof table.get === "function" ? table.get(n) : table.has(n) ? true : undefined);
|
|
113
106
|
if (r.kind === "seat" && r.rank === "tier") {
|
|
114
107
|
let best;
|
|
115
|
-
for (const n of names) {
|
|
108
|
+
for (const n of [call.toolName, ...names.filter((name) => name !== call.toolName)]) {
|
|
116
109
|
const v = valueAt(n);
|
|
117
110
|
if (v === undefined)
|
|
118
111
|
continue;
|