@theoremjs/agents 0.3.0 → 0.3.1
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/README.md +276 -995
- package/esm/mod.d.ts +33 -19
- package/esm/mod.js +18 -11
- package/esm/src/cli/commands/bench.js +36 -14
- package/esm/src/cli/commands/detect-compile.d.ts +17 -0
- package/esm/src/cli/commands/detect-compile.js +22 -0
- package/esm/src/cli/commands/eval.d.ts +3 -3
- package/esm/src/cli/commands/fuzz-canary.js +55 -16
- package/esm/src/cli/commands/profile.js +4 -4
- package/esm/src/cli/commands/run.d.ts +2 -2
- package/esm/src/cli/commands/run.js +1 -1
- package/esm/src/cli/commands/test.d.ts +4 -3
- package/esm/src/cli/commands/test.js +2 -2
- package/esm/src/cli/index.js +9 -9
- package/esm/src/cli/matrix/fixtures.js +25 -30
- package/esm/src/evals/attachments.d.ts +1 -0
- package/esm/src/evals/attachments.js +4 -2
- package/esm/src/evals/breakdown.d.ts +2 -0
- package/esm/src/evals/breakdown.js +1 -0
- package/esm/src/evals/graders/answer.d.ts +3 -0
- package/esm/src/evals/graders/answer.js +1 -0
- package/esm/src/evals/graders/code.d.ts +7 -31
- package/esm/src/evals/graders/code.js +4 -25
- package/esm/src/evals/graders/judge.d.ts +4 -0
- package/esm/src/evals/graders/judge.js +7 -5
- package/esm/src/evals/graders/latency.d.ts +1 -0
- package/esm/src/evals/graders/latency.js +3 -2
- package/esm/src/evals/graders/live.d.ts +3 -0
- package/esm/src/evals/graders/live.js +2 -0
- package/esm/src/evals/graders/media.js +1 -2
- package/esm/src/evals/graders/shared.js +1 -1
- package/esm/src/evals/graders/transcript.d.ts +2 -0
- package/esm/src/evals/graders/transcript.js +5 -3
- package/esm/src/evals/mod.d.ts +1 -9
- package/esm/src/evals/mod.js +1 -9
- package/esm/src/evals/record.d.ts +6 -0
- package/esm/src/evals/record.js +4 -2
- package/esm/src/evals/rubrics/mod.d.ts +1 -1
- package/esm/src/evals/rubrics/mod.js +1 -1
- package/esm/src/evals/rubrics/mustache.js +1 -1
- package/esm/src/evals/rubrics/types.js +1 -1
- package/esm/src/evals/run.d.ts +9 -52
- package/esm/src/evals/run.js +12 -46
- package/esm/src/evals/suite.d.ts +12 -3
- package/esm/src/evals/suite.js +9 -4
- package/esm/src/evals/summary.d.ts +3 -0
- package/esm/src/evals/summary.js +1 -0
- package/esm/src/evals/trial.d.ts +3 -16
- package/esm/src/evals/trial.js +7 -30
- package/esm/src/evals/types.d.ts +30 -121
- package/esm/src/evals/types.js +3 -16
- package/esm/src/evals/verdict.d.ts +5 -0
- package/esm/src/evals/verdict.js +4 -1
- package/esm/src/guardrails/boundaries.d.ts +41 -0
- package/esm/src/guardrails/boundaries.js +103 -0
- package/esm/src/guardrails/canary-gate.d.ts +1 -0
- package/esm/src/guardrails/canary.d.ts +49 -15
- package/esm/src/guardrails/canary.js +103 -30
- package/esm/src/guardrails/compile-egress.d.ts +6 -5
- package/esm/src/guardrails/compile-egress.js +6 -5
- package/esm/src/guardrails/corpus/canary-egress-attacks.d.ts +3 -1
- package/esm/src/guardrails/corpus/canary-egress-attacks.js +4 -2
- package/esm/src/guardrails/corpus/fuzz-inbound.js +14 -17
- package/esm/src/guardrails/corpus/inbound-payloads.d.ts +2 -0
- package/esm/src/guardrails/corpus/inbound-payloads.js +4 -2
- package/esm/src/guardrails/corpus/live-attacks.d.ts +2 -0
- package/esm/src/guardrails/corpus/live-attacks.js +6 -1
- package/esm/src/guardrails/corpus/mod.d.ts +1 -1
- package/esm/src/guardrails/corpus/secrets.d.ts +3 -3
- package/esm/src/guardrails/corpus/secrets.js +2 -2
- package/esm/src/guardrails/corpus/strings.d.ts +1 -1
- package/esm/src/guardrails/corpus/strings.js +1 -1
- package/esm/src/guardrails/corpus/types.d.ts +5 -1
- package/esm/src/guardrails/credential-rules.d.ts +36 -0
- package/esm/src/guardrails/credential-rules.js +3001 -0
- package/esm/src/guardrails/credential-scan.d.ts +45 -0
- package/esm/src/guardrails/credential-scan.js +172 -0
- package/esm/src/guardrails/destinations.d.ts +45 -0
- package/esm/src/guardrails/destinations.js +234 -0
- package/esm/src/guardrails/detect-at.d.ts +107 -0
- package/esm/src/guardrails/detect-at.js +434 -0
- package/esm/src/guardrails/detect-reply.d.ts +61 -0
- package/esm/src/guardrails/detect-reply.js +95 -0
- package/esm/src/guardrails/detect-stream.d.ts +33 -0
- package/esm/src/guardrails/detect-stream.js +77 -0
- package/esm/src/guardrails/detectors.d.ts +216 -0
- package/esm/src/guardrails/detectors.js +503 -0
- package/esm/src/guardrails/egress-automata.d.ts +4 -6
- package/esm/src/guardrails/egress-automata.js +24095 -4572
- package/esm/src/guardrails/egress-compiler.d.ts +38 -16
- package/esm/src/guardrails/egress-compiler.js +254 -60
- package/esm/src/guardrails/egress-patterns.d.ts +4 -2
- package/esm/src/guardrails/egress-patterns.js +6 -2
- package/esm/src/guardrails/egress-stream.d.ts +54 -36
- package/esm/src/guardrails/egress-stream.js +253 -124
- package/esm/src/guardrails/egress-urls.d.ts +6 -3
- package/esm/src/guardrails/egress-urls.js +14 -22
- package/esm/src/guardrails/egress.d.ts +26 -86
- package/esm/src/guardrails/egress.js +59 -309
- package/esm/src/guardrails/error.d.ts +13 -8
- package/esm/src/guardrails/error.js +23 -18
- package/esm/src/guardrails/event-schemas.d.ts +46 -3
- package/esm/src/guardrails/event-schemas.js +12 -5
- package/esm/src/guardrails/events.d.ts +5 -1
- package/esm/src/guardrails/events.js +4 -1
- package/esm/src/guardrails/hints.d.ts +14 -0
- package/esm/src/guardrails/hints.js +57 -0
- package/esm/src/guardrails/hits.d.ts +7 -1
- package/esm/src/guardrails/hits.js +12 -1
- package/esm/src/guardrails/host-patterns.d.ts +85 -0
- package/esm/src/guardrails/host-patterns.js +173 -0
- package/esm/src/guardrails/injection-patterns.d.ts +6 -1
- package/esm/src/guardrails/injection-patterns.js +33 -1
- package/esm/src/guardrails/injection-reversed.d.ts +9 -0
- package/esm/src/guardrails/injection-reversed.js +49 -0
- package/esm/src/guardrails/injection.d.ts +17 -1
- package/esm/src/guardrails/injection.js +259 -36
- package/esm/src/guardrails/labels.d.ts +40 -0
- package/esm/src/guardrails/labels.js +874 -0
- package/esm/src/guardrails/live-outbound-gate.d.ts +9 -8
- package/esm/src/guardrails/live-outbound-gate.js +100 -107
- package/esm/src/guardrails/mod.d.ts +29 -21
- package/esm/src/guardrails/mod.js +18 -13
- package/esm/src/guardrails/network.d.ts +4 -0
- package/esm/src/guardrails/network.js +21 -19
- package/esm/src/guardrails/normalize.d.ts +15 -1
- package/esm/src/guardrails/normalize.js +34 -1
- package/esm/src/guardrails/policy.d.ts +2 -17
- package/esm/src/guardrails/policy.js +12 -41
- package/esm/src/guardrails/progressive-yield.d.ts +65 -24
- package/esm/src/guardrails/progressive-yield.js +191 -147
- package/esm/src/guardrails/prompt-echo.d.ts +4 -2
- package/esm/src/guardrails/prompt-echo.js +87 -6
- package/esm/src/guardrails/quota.d.ts +1 -0
- package/esm/src/guardrails/quota.js +1 -1
- package/esm/src/guardrails/rules.d.ts +20 -29
- package/esm/src/guardrails/rules.js +23 -30
- package/esm/src/guardrails/sanitize.d.ts +32 -15
- package/esm/src/guardrails/sanitize.js +100 -124
- package/esm/src/guardrails/sensitive-groups.d.ts +21 -0
- package/esm/src/guardrails/sensitive-groups.js +12 -0
- package/esm/src/guardrails/sensitive.d.ts +16 -23
- package/esm/src/guardrails/sensitive.js +168 -47
- package/esm/src/guardrails/serialize.d.ts +1 -0
- package/esm/src/guardrails/testing.d.ts +4 -2
- package/esm/src/guardrails/testing.js +4 -2
- package/esm/src/guardrails/theorem-error.d.ts +4 -1
- package/esm/src/guardrails/theorem-error.js +3 -2
- package/esm/src/guardrails/thought-guard.d.ts +34 -13
- package/esm/src/guardrails/thought-guard.js +264 -64
- package/esm/src/guardrails/tool-directives.d.ts +29 -10
- package/esm/src/guardrails/tool-directives.js +133 -47
- package/esm/src/guardrails/tool-leak.d.ts +26 -0
- package/esm/src/guardrails/tool-leak.js +45 -0
- package/esm/src/guardrails/tool-result.d.ts +45 -14
- package/esm/src/guardrails/tool-result.js +94 -70
- package/esm/src/guardrails/types.d.ts +79 -71
- package/esm/src/guardrails/types.js +11 -7
- package/esm/src/host/client-turn.d.ts +29 -2
- package/esm/src/host/client-turn.js +46 -4
- package/esm/src/host/mint-trace.d.ts +1 -0
- package/esm/src/host/mint-trace.js +3 -2
- package/esm/src/host/mod.d.ts +2 -2
- package/esm/src/host/mod.js +1 -1
- package/esm/src/host/readStreamingJsonStringField.js +2 -43
- package/esm/src/host/reply.d.ts +6 -0
- package/esm/src/host/reply.js +7 -1
- package/esm/src/interface/blocks.d.ts +3 -0
- package/esm/src/interface/blocks.js +84 -14
- package/esm/src/interface/composer-actions.d.ts +4 -0
- package/esm/src/interface/composer-actions.js +5 -3
- package/esm/src/interface/draft.d.ts +6 -0
- package/esm/src/interface/draft.js +22 -11
- package/esm/src/interface/from-profile.d.ts +13 -1
- package/esm/src/interface/from-profile.js +66 -31
- package/esm/src/interface/history.d.ts +9 -3
- package/esm/src/interface/history.js +33 -24
- package/esm/src/interface/inputs.d.ts +1 -0
- package/esm/src/interface/inputs.js +3 -0
- package/esm/src/interface/mod.d.ts +4 -2
- package/esm/src/interface/mod.js +3 -2
- package/esm/src/interface/models.d.ts +7 -0
- package/esm/src/interface/models.js +5 -0
- package/esm/src/interface/pending.d.ts +9 -0
- package/esm/src/interface/pending.js +9 -3
- package/esm/src/interface/profile-interface.js +54 -40
- package/esm/src/interface/session.d.ts +12 -5
- package/esm/src/interface/session.js +17 -10
- package/esm/src/interface/stop.d.ts +13 -0
- package/esm/src/interface/stop.js +28 -0
- package/esm/src/interface/tool-calls.d.ts +14 -2
- package/esm/src/interface/tool-calls.js +64 -10
- package/esm/src/interface/tool-invoke.d.ts +2 -0
- package/esm/src/interface/tool-invoke.js +3 -1
- package/esm/src/interface/tool-media.d.ts +2 -0
- package/esm/src/interface/tool-media.js +2 -1
- package/esm/src/interface/types.d.ts +105 -40
- package/esm/src/interface/types.js +1 -0
- package/esm/src/kernel/api-catalog.d.ts +85 -0
- package/esm/src/kernel/api-catalog.js +229 -0
- package/esm/src/kernel/auth/crypto.d.ts +7 -2
- package/esm/src/kernel/auth/crypto.js +12 -10
- package/esm/src/kernel/auth/oauth.d.ts +2 -1
- package/esm/src/kernel/auth/oauth.js +23 -22
- package/esm/src/kernel/auth/typed-secret.js +2 -2
- package/esm/src/kernel/auth/types.d.ts +13 -0
- package/esm/src/kernel/checkpoint.d.ts +43 -0
- package/esm/src/kernel/checkpoint.js +58 -0
- package/esm/src/kernel/default-scope.d.ts +43 -5
- package/esm/src/kernel/default-scope.js +54 -5
- package/esm/src/kernel/engine/call-trace.d.ts +19 -0
- package/esm/src/kernel/engine/call-trace.js +29 -0
- package/esm/src/kernel/engine/compaction.d.ts +6 -5
- package/esm/src/kernel/engine/compaction.js +12 -11
- package/esm/src/kernel/engine/decision.d.ts +10 -8
- package/esm/src/kernel/engine/decision.js +173 -146
- package/esm/src/kernel/engine/embedding.d.ts +8 -0
- package/esm/src/kernel/engine/embedding.js +118 -0
- package/esm/src/kernel/engine/live-inbound.d.ts +14 -4
- package/esm/src/kernel/engine/live-inbound.js +36 -11
- package/esm/src/kernel/engine/live-ingress.d.ts +6 -0
- package/esm/src/kernel/engine/live-ingress.js +6 -1
- package/esm/src/kernel/engine/repair.js +12 -12
- package/esm/src/kernel/engine/runner/gates.d.ts +2 -2
- package/esm/src/kernel/engine/runner/gates.js +287 -101
- package/esm/src/kernel/engine/runner/mod.d.ts +19 -5
- package/esm/src/kernel/engine/runner/mod.js +107 -56
- package/esm/src/kernel/engine/runner/nested.d.ts +32 -0
- package/esm/src/kernel/engine/runner/nested.js +134 -0
- package/esm/src/kernel/engine/runner/schema-validation.d.ts +24 -3
- package/esm/src/kernel/engine/runner/schema-validation.js +78 -4
- package/esm/src/kernel/engine/runner/stages.d.ts +1 -1
- package/esm/src/kernel/engine/runner/stages.js +1 -8
- package/esm/src/kernel/engine/runner/state.d.ts +33 -12
- package/esm/src/kernel/engine/runner/state.js +11 -1
- package/esm/src/kernel/engine/runner/step-order.d.ts +27 -0
- package/esm/src/kernel/engine/runner/step-order.js +165 -0
- package/esm/src/kernel/engine/runner/steps.d.ts +2 -2
- package/esm/src/kernel/engine/runner/steps.js +328 -169
- package/esm/src/kernel/engine/runner/stream.d.ts +42 -11
- package/esm/src/kernel/engine/runner/stream.js +197 -46
- package/esm/src/kernel/engine/runner/usage.d.ts +5 -5
- package/esm/src/kernel/engine/runner/usage.js +12 -14
- package/esm/src/kernel/engine/session/mod.d.ts +8 -6
- package/esm/src/kernel/engine/session/mod.js +360 -129
- package/esm/src/kernel/engine/session/session-trace.d.ts +10 -10
- package/esm/src/kernel/engine/session/session-trace.js +41 -30
- package/esm/src/kernel/engine/token-estimate.d.ts +10 -64
- package/esm/src/kernel/engine/token-estimate.js +14 -194
- package/esm/src/kernel/engine/tool-trace.d.ts +3 -3
- package/esm/src/kernel/engine/tool-trace.js +2 -1
- package/esm/src/kernel/engine/turn-trace.d.ts +8 -7
- package/esm/src/kernel/engine/turn-trace.js +28 -36
- package/esm/src/kernel/engine/usage.d.ts +6 -0
- package/esm/src/kernel/engine/usage.js +17 -0
- package/esm/src/kernel/interaction-parts.d.ts +3 -0
- package/esm/src/kernel/interaction-parts.js +18 -0
- package/esm/src/kernel/json.d.ts +10 -0
- package/esm/src/kernel/json.js +3 -0
- package/esm/src/kernel/mod.d.ts +38 -11
- package/esm/src/kernel/mod.js +22 -7
- package/esm/src/kernel/profile-graph.d.ts +11 -6
- package/esm/src/kernel/profile-graph.js +14 -7
- package/esm/src/kernel/profile-presence.d.ts +10 -1
- package/esm/src/kernel/profile-presence.js +90 -75
- package/esm/src/kernel/profile-scope.d.ts +7 -3
- package/esm/src/kernel/profile-scope.js +67 -55
- package/esm/src/kernel/protocols/binding.d.ts +65 -0
- package/esm/src/kernel/protocols/binding.js +125 -0
- package/esm/src/kernel/protocols/limits.d.ts +15 -0
- package/esm/src/kernel/protocols/limits.js +28 -0
- package/esm/src/kernel/protocols/mod.d.ts +5 -0
- package/esm/src/kernel/protocols/mod.js +5 -0
- package/esm/src/kernel/protocols/prices.d.ts +36 -0
- package/esm/src/kernel/protocols/prices.js +37 -0
- package/esm/src/kernel/protocols/protocol.d.ts +253 -0
- package/esm/src/kernel/protocols/protocol.js +253 -0
- package/esm/src/kernel/protocols/provider.d.ts +108 -0
- package/esm/src/kernel/protocols/provider.js +143 -0
- package/esm/src/kernel/protocols/runtime.d.ts +55 -0
- package/esm/src/kernel/protocols/runtime.js +534 -0
- package/esm/src/kernel/provider-budget.d.ts +32 -0
- package/esm/src/kernel/provider-budget.js +262 -0
- package/esm/src/kernel/provider-dispatch.d.ts +13 -0
- package/esm/src/kernel/provider-dispatch.js +36 -0
- package/esm/src/kernel/provider-live.d.ts +7 -0
- package/esm/src/kernel/provider-live.js +189 -0
- package/esm/src/kernel/provider-runtime.d.ts +57 -0
- package/esm/src/kernel/provider-runtime.js +524 -0
- package/esm/src/kernel/registry/attachments.d.ts +15 -4
- package/esm/src/kernel/registry/attachments.js +31 -22
- package/esm/src/kernel/registry/catalog.d.ts +6 -0
- package/esm/src/kernel/registry/catalog.js +9 -2
- package/esm/src/kernel/registry/embedding-rules.d.ts +28 -0
- package/esm/src/kernel/registry/embedding-rules.js +66 -0
- package/esm/src/kernel/registry/ingress.d.ts +6 -2
- package/esm/src/kernel/registry/ingress.js +55 -10
- package/esm/src/kernel/registry/kernel-registry.d.ts +3 -0
- package/esm/src/kernel/registry/kernel-registry.js +9 -2
- package/esm/src/kernel/registry/profile-outputs.js +4 -1
- package/esm/src/kernel/registry/profiles.d.ts +38 -14
- package/esm/src/kernel/registry/profiles.js +280 -205
- package/esm/src/kernel/registry/provider-request.d.ts +3 -3
- package/esm/src/kernel/registry/provider-request.js +5 -13
- package/esm/src/kernel/registry/resolve.d.ts +4 -1
- package/esm/src/kernel/registry/resolve.js +59 -58
- package/esm/src/kernel/registry/schemas.d.ts +3 -0
- package/esm/src/kernel/registry/schemas.js +3 -1
- package/esm/src/kernel/registry/slot-fill.d.ts +7 -0
- package/esm/src/kernel/registry/slot-fill.js +22 -0
- package/esm/src/kernel/registry/system-prompt.js +7 -8
- package/esm/src/kernel/registry/vault.d.ts +14 -13
- package/esm/src/kernel/registry/vault.js +1 -14
- package/esm/src/kernel/schema.d.ts +100 -46
- package/esm/src/kernel/schema.js +499 -257
- package/esm/src/kernel/scope.d.ts +12 -5
- package/esm/src/kernel/scope.js +23 -3
- package/esm/src/kernel/stages.d.ts +38 -3
- package/esm/src/kernel/stages.js +82 -39
- package/esm/src/kernel/stop.d.ts +29 -6
- package/esm/src/kernel/stop.js +16 -4
- package/esm/src/kernel/system-parts.js +6 -6
- package/esm/src/kernel/tools/activity-label.d.ts +12 -6
- package/esm/src/kernel/tools/activity-label.js +258 -32
- package/esm/src/kernel/tools/agent.d.ts +66 -0
- package/esm/src/kernel/tools/agent.js +212 -0
- package/esm/src/kernel/tools/coordinate.d.ts +4 -0
- package/esm/src/kernel/tools/coordinate.js +165 -0
- package/esm/src/kernel/tools/events.d.ts +21 -6
- package/esm/src/kernel/tools/events.js +53 -18
- package/esm/src/kernel/tools/execute.d.ts +47 -11
- package/esm/src/kernel/tools/execute.js +508 -136
- package/esm/src/kernel/tools/gate-answer.d.ts +12 -2
- package/esm/src/kernel/tools/gate-answer.js +17 -6
- package/esm/src/kernel/tools/handler-events.d.ts +45 -0
- package/esm/src/kernel/tools/handler-events.js +106 -0
- package/esm/src/kernel/tools/harness.d.ts +1 -0
- package/esm/src/kernel/tools/harness.js +2 -1
- package/esm/src/kernel/tools/http-limit.d.ts +27 -0
- package/esm/src/kernel/tools/http-limit.js +85 -0
- package/esm/src/kernel/tools/invoke.d.ts +27 -5
- package/esm/src/kernel/tools/invoke.js +223 -70
- package/esm/src/kernel/tools/mcp-sessions.d.ts +4 -1
- package/esm/src/kernel/tools/mcp-sessions.js +13 -8
- package/esm/src/kernel/tools/mod.d.ts +4 -3
- package/esm/src/kernel/tools/mod.js +3 -2
- package/esm/src/kernel/tools/model-text.d.ts +10 -5
- package/esm/src/kernel/tools/model-text.js +18 -12
- package/esm/src/kernel/tools/operation.d.ts +76 -0
- package/esm/src/kernel/tools/operation.js +100 -0
- package/esm/src/kernel/tools/page-answer.d.ts +8 -0
- package/esm/src/kernel/tools/page-answer.js +19 -0
- package/esm/src/kernel/tools/permission.d.ts +11 -2
- package/esm/src/kernel/tools/permission.js +12 -12
- package/esm/src/kernel/tools/project.d.ts +4 -1
- package/esm/src/kernel/tools/project.js +32 -2
- package/esm/src/kernel/tools/registry.d.ts +9 -2
- package/esm/src/kernel/tools/registry.js +69 -10
- package/esm/src/kernel/tools/remote.d.ts +40 -6
- package/esm/src/kernel/tools/remote.js +219 -92
- package/esm/src/kernel/tools/resolve.d.ts +3 -0
- package/esm/src/kernel/tools/resolve.js +12 -4
- package/esm/src/kernel/tools/run.d.ts +28 -0
- package/esm/src/kernel/tools/run.js +86 -0
- package/esm/src/kernel/tools/schema.d.ts +3 -3
- package/esm/src/kernel/tools/schema.js +21 -100
- package/esm/src/kernel/tools/signed-in-fetch.d.ts +2 -1
- package/esm/src/kernel/tools/signed-in-fetch.js +3 -3
- package/esm/src/kernel/tools/stage-run.d.ts +27 -4
- package/esm/src/kernel/tools/stage-run.js +75 -17
- package/esm/src/kernel/tools/types.d.ts +235 -25
- package/esm/src/kernel/tools/unchecked-output.d.ts +14 -0
- package/esm/src/kernel/tools/unchecked-output.js +18 -0
- package/esm/src/kernel/turn-events.d.ts +208 -31
- package/esm/src/kernel/turn-events.js +127 -9
- package/esm/src/kernel/types.d.ts +302 -161
- package/esm/src/kernel/util/base64.d.ts +2 -0
- package/esm/src/kernel/util/base64.js +2 -0
- package/esm/src/kernel/util/partial-json.d.ts +23 -0
- package/esm/src/kernel/util/partial-json.js +128 -0
- package/esm/src/kernel/util/record.d.ts +1 -0
- package/esm/src/kernel/util/record.js +1 -0
- package/esm/src/observability/destinations.d.ts +5 -0
- package/esm/src/observability/destinations.js +7 -2
- package/esm/src/observability/jsonl.d.ts +2 -2
- package/esm/src/observability/jsonl.js +15 -22
- package/esm/src/observability/mod.d.ts +3 -3
- package/esm/src/observability/mod.js +2 -2
- package/esm/src/observability/openinference.d.ts +1 -1
- package/esm/src/observability/openinference.js +3 -3
- package/esm/src/observability/otlp.d.ts +3 -0
- package/esm/src/observability/otlp.js +3 -3
- package/esm/src/observability/phoenix.d.ts +1 -0
- package/esm/src/observability/policy.d.ts +3 -0
- package/esm/src/observability/policy.js +5 -1
- package/esm/src/observability/resolve-policy.js +11 -5
- package/esm/src/observability/spans.d.ts +8 -2
- package/esm/src/observability/spans.js +21 -5
- package/esm/src/observability/trace-catalog.d.ts +19 -2
- package/esm/src/observability/trace-catalog.js +128 -87
- package/esm/src/observability/trace-record.js +22 -17
- package/esm/src/observability/trace-schema.d.ts +3 -0
- package/esm/src/observability/trace-schema.js +1 -1
- package/esm/src/observability/trace-sink.d.ts +1 -0
- package/esm/src/observability/trace-sink.js +1 -1
- package/esm/src/observability/trace-span.d.ts +7 -1
- package/esm/src/observability/trace-span.js +3 -1
- package/esm/src/observability/trace.d.ts +2 -0
- package/esm/src/observability/trace.js +4 -2
- package/esm/src/observability/types.d.ts +35 -11
- package/esm/src/observability/types.js +1 -1
- package/esm/src/presets/google/speech-voices.d.ts +1 -0
- package/esm/src/presets/google-limits.d.ts +1 -0
- package/esm/src/presets/google.d.ts +27 -12
- package/esm/src/presets/google.js +34 -25
- package/esm/src/presets/local.d.ts +26 -0
- package/esm/src/presets/local.js +30 -0
- package/esm/src/presets/mod.d.ts +5 -4
- package/esm/src/presets/mod.js +4 -4
- package/esm/src/presets/openrouter.d.ts +14 -1
- package/esm/src/presets/openrouter.js +19 -1
- package/esm/src/providers/embedding-limits.d.ts +7 -0
- package/esm/src/providers/embedding-limits.js +12 -0
- package/esm/src/providers/gemini/embedding-protocol.d.ts +8 -0
- package/esm/src/providers/gemini/embedding-protocol.js +125 -0
- package/esm/src/providers/gemini/interactions-protocol.d.ts +8 -0
- package/esm/src/providers/gemini/interactions-protocol.js +105 -0
- package/esm/src/providers/gemini/live-protocol.d.ts +3 -0
- package/esm/src/providers/gemini/live-protocol.js +191 -0
- package/esm/src/providers/gemini/prices.d.ts +3 -0
- package/esm/src/providers/gemini/prices.js +63 -0
- package/esm/src/providers/gemini/provider.d.ts +7 -0
- package/esm/src/providers/gemini/provider.js +39 -0
- package/esm/src/providers/google/builtins.d.ts +14 -0
- package/esm/src/providers/google/builtins.js +57 -0
- package/esm/src/providers/google/grounding.d.ts +4 -4
- package/esm/src/providers/google/interactions/framing.d.ts +20 -8
- package/esm/src/providers/google/interactions/framing.js +85 -44
- package/esm/src/providers/google/interactions/steps.d.ts +5 -5
- package/esm/src/providers/google/interactions/steps.js +4 -4
- package/esm/src/providers/google/interactions/stream.d.ts +10 -11
- package/esm/src/providers/google/interactions/stream.js +33 -100
- package/esm/src/providers/google/live/framing.d.ts +15 -5
- package/esm/src/providers/google/live/framing.js +25 -25
- package/esm/src/providers/google/live/stream.d.ts +6 -44
- package/esm/src/providers/google/live/stream.js +3 -209
- package/esm/src/providers/google/urls.d.ts +1 -3
- package/esm/src/providers/google/urls.js +1 -3
- package/esm/src/providers/google/usage.js +2 -2
- package/esm/src/providers/live.d.ts +6 -0
- package/esm/src/providers/live.js +6 -0
- package/esm/src/providers/local/embedding-protocol.d.ts +7 -0
- package/esm/src/providers/local/embedding-protocol.js +60 -0
- package/esm/src/providers/local/provider.d.ts +7 -0
- package/esm/src/providers/local/provider.js +28 -0
- package/esm/src/providers/mod.d.ts +28 -7
- package/esm/src/providers/mod.js +19 -3
- package/esm/src/providers/open-ai/protocol.d.ts +3 -0
- package/esm/src/providers/open-ai/protocol.js +189 -0
- package/esm/src/providers/openrouter/embedding-protocol.d.ts +6 -0
- package/esm/src/providers/openrouter/embedding-protocol.js +86 -0
- package/esm/src/providers/openrouter/image.d.ts +0 -9
- package/esm/src/providers/openrouter/image.js +0 -153
- package/esm/src/providers/openrouter/images-protocol.d.ts +3 -0
- package/esm/src/providers/openrouter/images-protocol.js +82 -0
- package/esm/src/providers/openrouter/openai/compat.d.ts +2 -2
- package/esm/src/providers/openrouter/openai/compat.js +6 -6
- package/esm/src/providers/openrouter/openai/image-payload.d.ts +2 -2
- package/esm/src/providers/openrouter/openai/reasoning-state.d.ts +2 -0
- package/esm/src/providers/openrouter/openai/reasoning-state.js +31 -0
- package/esm/src/providers/openrouter/protocol.d.ts +8 -0
- package/esm/src/providers/openrouter/protocol.js +171 -0
- package/esm/src/providers/openrouter/provider.d.ts +10 -0
- package/esm/src/providers/openrouter/provider.js +50 -0
- package/esm/src/providers/shared/carried-tool-files.d.ts +7 -0
- package/esm/src/providers/shared/carried-tool-files.js +43 -0
- package/esm/src/providers/shared/pcm.js +2 -2
- package/esm/src/providers/shared/protocol-events.d.ts +8 -0
- package/esm/src/providers/shared/protocol-events.js +20 -0
- package/esm/src/providers/shared/response-identity.d.ts +2 -2
- package/esm/src/providers/shared/retry.d.ts +17 -0
- package/esm/src/providers/shared/retry.js +90 -0
- package/esm/src/providers/shared/sse.d.ts +0 -4
- package/esm/src/providers/shared/sse.js +50 -36
- package/esm/src/providers/shared/tool-args.d.ts +6 -7
- package/esm/src/providers/shared/tool-args.js +10 -6
- package/esm/src/providers/shared/tool-draft.d.ts +16 -0
- package/esm/src/providers/shared/tool-draft.js +14 -0
- package/esm/src/providers/shared/upstream-tap.d.ts +2 -2
- package/esm/src/providers/shared/upstream-tape.js +1 -1
- package/esm/src/providers/system-one/protocol.d.ts +8 -0
- package/esm/src/providers/system-one/protocol.js +93 -0
- package/esm/src/providers/types.d.ts +48 -16
- package/esm/src/providers/types.js +2 -1
- package/esm/src/providers/typesafe/provider.d.ts +7 -0
- package/esm/src/providers/typesafe/provider.js +24 -0
- package/esm/src/surface/formats.d.ts +19 -1
- package/esm/src/surface/formats.js +68 -29
- package/esm/src/surface/mod.d.ts +4 -2
- package/esm/src/surface/mod.js +4 -2
- package/esm/src/surface/runtime.d.ts +4 -0
- package/esm/src/surface/runtime.js +2 -0
- package/esm/src/surface/tools.d.ts +2 -8
- package/esm/src/surface/tools.js +4 -22
- package/esm/src/surface/types.d.ts +6 -0
- package/package.json +5 -13
- package/esm/src/cli/commands/egress-compile.d.ts +0 -17
- package/esm/src/cli/commands/egress-compile.js +0 -25
- package/esm/src/guardrails/egress-policy.d.ts +0 -27
- package/esm/src/guardrails/egress-policy.js +0 -76
- package/esm/src/guardrails/egress-rules.d.ts +0 -54
- package/esm/src/guardrails/egress-rules.js +0 -49
- package/esm/src/guardrails/lexicon.d.ts +0 -30
- package/esm/src/guardrails/lexicon.js +0 -478
- package/esm/src/kernel/engine/media-probe/audio.d.ts +0 -7
- package/esm/src/kernel/engine/media-probe/audio.js +0 -342
- package/esm/src/kernel/engine/media-probe/bytes.d.ts +0 -6
- package/esm/src/kernel/engine/media-probe/bytes.js +0 -26
- package/esm/src/kernel/engine/media-probe/image.d.ts +0 -5
- package/esm/src/kernel/engine/media-probe/image.js +0 -171
- package/esm/src/kernel/engine/media-probe/iso-bmff.d.ts +0 -19
- package/esm/src/kernel/engine/media-probe/iso-bmff.js +0 -48
- package/esm/src/kernel/engine/media-probe/matroska.d.ts +0 -35
- package/esm/src/kernel/engine/media-probe/matroska.js +0 -226
- package/esm/src/kernel/engine/media-probe/mp4.d.ts +0 -22
- package/esm/src/kernel/engine/media-probe/mp4.js +0 -279
- package/esm/src/kernel/engine/media-probe/opus.d.ts +0 -4
- package/esm/src/kernel/engine/media-probe/opus.js +0 -23
- package/esm/src/kernel/engine/media-probe/pdf.d.ts +0 -5
- package/esm/src/kernel/engine/media-probe/pdf.js +0 -117
- package/esm/src/kernel/engine/media-probe/video.d.ts +0 -15
- package/esm/src/kernel/engine/media-probe/video.js +0 -49
- package/esm/src/presets/typesafe.d.ts +0 -2
- package/esm/src/presets/typesafe.js +0 -2
- package/esm/src/providers/create-provider.d.ts +0 -21
- package/esm/src/providers/create-provider.js +0 -90
- package/esm/src/providers/decision/usage.d.ts +0 -3
- package/esm/src/providers/decision/usage.js +0 -25
- package/esm/src/providers/google/interactions/mod.d.ts +0 -2
- package/esm/src/providers/google/interactions/mod.js +0 -2
- package/esm/src/providers/google/keys.d.ts +0 -20
- package/esm/src/providers/google/keys.js +0 -87
- package/esm/src/providers/google/live/mod.d.ts +0 -7
- package/esm/src/providers/google/live/mod.js +0 -7
- package/esm/src/providers/google/live/openapi-schema.d.ts +0 -1
- package/esm/src/providers/google/live/openapi-schema.js +0 -42
- package/esm/src/providers/google/live/session.d.ts +0 -14
- package/esm/src/providers/google/live/session.js +0 -150
- package/esm/src/providers/local/local.d.ts +0 -12
- package/esm/src/providers/local/local.js +0 -186
- package/esm/src/providers/local/mod.d.ts +0 -8
- package/esm/src/providers/local/mod.js +0 -8
- package/esm/src/providers/openrouter/cache-control.d.ts +0 -5
- package/esm/src/providers/openrouter/cache-control.js +0 -4
- package/esm/src/providers/openrouter/chat.d.ts +0 -64
- package/esm/src/providers/openrouter/chat.js +0 -490
- package/esm/src/providers/openrouter/openai/sdk-messages.d.ts +0 -10
- package/esm/src/providers/openrouter/openai/sdk-messages.js +0 -99
- package/esm/src/providers/openrouter/resolve-api-key.d.ts +0 -3
- package/esm/src/providers/openrouter/resolve-api-key.js +0 -8
- package/esm/src/providers/openrouter/speech.d.ts +0 -18
- package/esm/src/providers/openrouter/speech.js +0 -109
- package/esm/src/providers/probe.d.ts +0 -5
- package/esm/src/providers/probe.js +0 -15
- package/esm/src/providers/shared/builtin-wire.d.ts +0 -4
- package/esm/src/providers/shared/builtin-wire.js +0 -9
- package/esm/src/providers/shared/vault.d.ts +0 -13
- package/esm/src/providers/shared/vault.js +0 -41
|
@@ -1,27 +1,46 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
1
|
+
import type { Boundary } from '../guardrails/boundaries.js';
|
|
2
|
+
import type { DetectAction, DetectMatrix, Detector, UrlDetector } from '../guardrails/detectors.js';
|
|
3
|
+
import type { GuardrailEvent } from '../guardrails/event-schemas.js';
|
|
4
|
+
import type { LabelOverrides } from '../guardrails/labels.js';
|
|
3
5
|
import type { ResolvedGuardrailPolicy } from '../guardrails/types.js';
|
|
4
|
-
import type {
|
|
5
|
-
import type {
|
|
6
|
+
import type { ProfileToolsSpec, ToolCallEdit, ToolPhaseEvent } from '../kernel/tools/types.js';
|
|
7
|
+
import type { ReasoningPart } from '../kernel/turn-events.js';
|
|
8
|
+
import type { AttachmentValidationIssue, CompactionSpec, GroundingEvent, ImageProfile, LiveProfile, ModelBinding, ModelId, ProfileContextSpec, ProfileOutputsSpec, ProviderEvidence, Source, SpeechProfile, TextProfile, TurnStop, TurnTokens } from '../kernel/types.js';
|
|
6
9
|
import type { ResolvedObservabilityPolicy } from '../observability/types.js';
|
|
7
|
-
/**
|
|
8
|
-
export
|
|
10
|
+
/** What a URL detector lets through besides the given URLs, with its defaults applied. */
|
|
11
|
+
export interface UrlAllowView {
|
|
9
12
|
hosts: string[];
|
|
10
13
|
fromTools: boolean;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
export interface
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
14
|
+
}
|
|
15
|
+
/** Whose patterns one detector reads with: the host's are named, never shown. */
|
|
16
|
+
export interface DetectorPatternsView {
|
|
17
|
+
/** Whether Theorem's own patterns run. */
|
|
18
|
+
theorem: boolean;
|
|
19
|
+
/** The names of the host's patterns. */
|
|
20
|
+
names: string[];
|
|
21
|
+
}
|
|
22
|
+
/** A detector of the host's own: what it is called and where it applies, never what it matches. */
|
|
23
|
+
export interface HostDetectorView {
|
|
24
|
+
/** Its key in `guardrails.detect`, as in `acme.record`. Its rule is `detect.<id>`. */
|
|
25
|
+
id: string;
|
|
26
|
+
label: string;
|
|
27
|
+
/** Its action at every boundary. */
|
|
28
|
+
actions: Record<Boundary, DetectAction>;
|
|
29
|
+
/** The names of its patterns. */
|
|
30
|
+
names: string[];
|
|
31
|
+
/** Whether it also reads with a function of the host's. */
|
|
32
|
+
find: boolean;
|
|
33
|
+
}
|
|
34
|
+
/** Guardrails visible to UI — a host detector's `find` is told of, not sent. */
|
|
35
|
+
export type ProfileGuardrailsView = Pick<ResolvedGuardrailPolicy, 'quota' | 'blockedReply'> & {
|
|
36
|
+
/** Every detector's action at every boundary. */
|
|
37
|
+
detect: DetectMatrix;
|
|
38
|
+
/** Whose patterns a detector reads with, for each one the profile changed it for. */
|
|
39
|
+
patterns?: Partial<Record<Detector, DetectorPatternsView>>;
|
|
40
|
+
/** The host's own detectors, in the order the profile lists them. The kernel reads with them. */
|
|
41
|
+
host?: HostDetectorView[];
|
|
42
|
+
/** What `ungiven_images` and `ungiven_links` let through. */
|
|
43
|
+
allow: Record<UrlDetector, UrlAllowView>;
|
|
25
44
|
};
|
|
26
45
|
/** Observability visible to UI — TraceSink / onWriteError functions are omitted. */
|
|
27
46
|
export type ProfileObservabilityView = Pick<ResolvedObservabilityPolicy, 'record' | 'sampleRate' | 'include' | 'scrub' | 'resource' | 'retainForDays' | 'rotateAfterMiB'> & {
|
|
@@ -44,48 +63,62 @@ export interface ProfileInputsInterface {
|
|
|
44
63
|
maxTurnBytes?: number;
|
|
45
64
|
limitsByMime?: Record<string, number>;
|
|
46
65
|
slots?: Record<string, string[]>;
|
|
66
|
+
context?: ProfileContextSpec;
|
|
47
67
|
}
|
|
48
|
-
/**
|
|
49
|
-
|
|
68
|
+
/**
|
|
69
|
+
* A tool's definition (handler, schemas, endpoint, headers) stays on the host; `t1Policy` too.
|
|
70
|
+
* `page` names the tools the page answers (`answeredBy: 'page'`): the page needs a function for each.
|
|
71
|
+
*/
|
|
72
|
+
export type ProfileToolsView = Pick<ProfileToolsSpec, 'allow' | 't2Loader' | 'parallel'> & {
|
|
73
|
+
page: string[];
|
|
74
|
+
};
|
|
50
75
|
/** A model binding as the interface carries it: a compaction `trigger` is a host function. */
|
|
51
76
|
export type ModelBindingView = Omit<ModelBinding, 'compaction'> & {
|
|
52
77
|
compaction?: Omit<CompactionSpec, 'trigger'>;
|
|
53
78
|
};
|
|
54
79
|
/** `profile.outputs` as the interface carries it: validators are host functions. */
|
|
55
80
|
export type ProfileOutputsView = Omit<ProfileOutputsSpec, 'validation'>;
|
|
56
|
-
/** What the text, image and speech interfaces carry in place of their profile's own fields. */
|
|
81
|
+
/** What the text, image, and speech interfaces carry in place of their profile's own fields. */
|
|
57
82
|
export type ComposerInterfaceFields = {
|
|
58
83
|
models: Record<ModelId, ModelBindingView>;
|
|
59
84
|
outputs?: ProfileOutputsView;
|
|
60
|
-
/** Client keys' overrides (`
|
|
61
|
-
|
|
85
|
+
/** Client keys' overrides (`CLIENT_LABEL_KEYS`), resolved on the host; pass to `labelText`. */
|
|
86
|
+
labels: LabelOverrides;
|
|
62
87
|
inputs: ProfileInputsInterface;
|
|
63
88
|
guardrails?: ProfileGuardrailsView;
|
|
64
89
|
observability?: ProfileObservabilityView;
|
|
65
90
|
/** Always true — composer turns cancel via `TurnRequest.signal`. */
|
|
66
91
|
canStop: true;
|
|
67
92
|
};
|
|
68
|
-
|
|
93
|
+
/** A text profile as a client sees it, without its server-only fields. */
|
|
94
|
+
export type TextProfileInterface = Omit<TextProfile, 'inputs' | 'tools' | 'guardrails' | 'observability' | 'labels' | 'models' | 'outputs'> & ComposerInterfaceFields & {
|
|
69
95
|
tools: ProfileToolsView;
|
|
70
96
|
/** From `turnBehaviour.allowSteering` (default true on text). */
|
|
71
97
|
allowSteering: boolean;
|
|
72
98
|
};
|
|
73
|
-
|
|
99
|
+
/** An image profile as a client sees it, without its server-only fields. */
|
|
100
|
+
export type ImageProfileInterface = Omit<ImageProfile, 'inputs' | 'tools' | 'guardrails' | 'observability' | 'labels' | 'models' | 'outputs'> & ComposerInterfaceFields & {
|
|
74
101
|
tools: ProfileToolsView;
|
|
75
102
|
};
|
|
76
|
-
|
|
77
|
-
export type
|
|
103
|
+
/** A speech profile as a client sees it, without its server-only fields. */
|
|
104
|
+
export type SpeechProfileInterface = Omit<SpeechProfile, 'guardrails' | 'observability' | 'labels' | 'models' | 'outputs'> & ComposerInterfaceFields;
|
|
105
|
+
/** A live profile as a client sees it, without its server-only fields. */
|
|
106
|
+
export type LiveProfileInterface = Omit<LiveProfile, 'tools' | 'guardrails' | 'observability' | 'labels' | 'models' | 'live'> & {
|
|
107
|
+
/** Without `greeting` and `resumed`: the prompts stay on the host. */
|
|
108
|
+
live: Omit<LiveProfile['live'], 'greeting' | 'resumed'>;
|
|
78
109
|
models: Record<ModelId, ModelBindingView>;
|
|
79
|
-
/** Client keys' overrides (`
|
|
80
|
-
|
|
81
|
-
tools:
|
|
110
|
+
/** Client keys' overrides (`CLIENT_LABEL_KEYS`), resolved on the host; pass to `labelText`. */
|
|
111
|
+
labels: LabelOverrides;
|
|
112
|
+
tools: Pick<ProfileToolsView, 'allow' | 'page'>;
|
|
82
113
|
guardrails?: ProfileGuardrailsView;
|
|
83
114
|
observability?: ProfileObservabilityView;
|
|
84
115
|
};
|
|
116
|
+
/** Any profile as a client sees it. */
|
|
85
117
|
export type ProfileInterface = TextProfileInterface | ImageProfileInterface | SpeechProfileInterface | LiveProfileInterface;
|
|
86
118
|
/** Turn/chat composer profiles — excludes live (realtime streams, no turn inputs block). */
|
|
87
119
|
export type ComposerProfileInterface = Exclude<ProfileInterface, LiveProfileInterface>;
|
|
88
|
-
|
|
120
|
+
/** The kinds of block a transcript holds. */
|
|
121
|
+
export type TranscriptBlockKind = 'user-text' | 'user-attachment' | 'user-voice' | 'thought' | 'text' | 'tool' | 'structured' | 'media' | 'grounding' | 'citation' | 'evidence' | 'guardrail' | 'error' | 'turn-done';
|
|
89
122
|
export interface TranscriptBlockBase {
|
|
90
123
|
id: string;
|
|
91
124
|
kind: TranscriptBlockKind;
|
|
@@ -114,27 +147,38 @@ export interface TextBlock extends TranscriptBlockBase {
|
|
|
114
147
|
export type ToolCallState = Extract<ToolPhaseEvent, {
|
|
115
148
|
phase: 'running' | 'gate' | 'complete' | 'error' | 'cancel';
|
|
116
149
|
}>;
|
|
117
|
-
/**
|
|
150
|
+
/** invariant: An issued operation joins its request and phases; historical calls use callId. */
|
|
118
151
|
export interface ToolCall {
|
|
152
|
+
operationId?: string;
|
|
119
153
|
name: string;
|
|
120
154
|
callId: string;
|
|
121
|
-
/** What the model proposed. */
|
|
155
|
+
/** What the model proposed. `{}` while the model is still writing the call (`draft`). */
|
|
122
156
|
arguments: Record<string, unknown>;
|
|
123
|
-
/**
|
|
124
|
-
|
|
157
|
+
/**
|
|
158
|
+
* While the model is still writing the call: its arguments' JSON text so far, from its
|
|
159
|
+
* `tool_draft` events. Gone once the call arrives whole; `argumentsSoFar` reads it.
|
|
160
|
+
*/
|
|
161
|
+
draft?: string;
|
|
162
|
+
/** The call's `ToolCallRequest.reasoning`: history replays the call with it. */
|
|
163
|
+
reasoning?: ReasoningPart[];
|
|
125
164
|
/** The call's `ToolCallRequest.stepId`: calls sharing it replay as one assistant message. */
|
|
126
165
|
stepId?: string;
|
|
127
166
|
/** The user's edit on approval; `to` is what ran. */
|
|
128
167
|
edited?: ToolCallEdit;
|
|
129
168
|
/** What the call is doing, in the tool's words, from its last `running` phase. */
|
|
130
169
|
activity?: string;
|
|
131
|
-
/** What the call did, from its `complete` phase. */
|
|
170
|
+
/** What the call did, from its `complete` phase, or that it failed, from its `error` phase. */
|
|
132
171
|
activityPast?: string;
|
|
172
|
+
/**
|
|
173
|
+
* While the call runs: what the tool has written of its output so far, from its `draft` phases
|
|
174
|
+
* (an agent tool's: its agent's reply). Gone once the call settles; `state` has the output.
|
|
175
|
+
*/
|
|
176
|
+
outputDraft?: string;
|
|
133
177
|
/** Absent while the call has only been made. */
|
|
134
178
|
state?: ToolCallState;
|
|
135
179
|
/** When it last started running (epoch ms). */
|
|
136
180
|
startedAt?: number;
|
|
137
|
-
/** When it last settled: complete, failed, cancelled or gated (epoch ms). */
|
|
181
|
+
/** When it last settled: complete, failed, cancelled, or gated (epoch ms). */
|
|
138
182
|
endedAt?: number;
|
|
139
183
|
artifacts: unknown[];
|
|
140
184
|
}
|
|
@@ -144,7 +188,13 @@ export interface ToolBlock extends TranscriptBlockBase {
|
|
|
144
188
|
}
|
|
145
189
|
export interface StructuredBlock extends TranscriptBlockBase {
|
|
146
190
|
kind: 'structured';
|
|
191
|
+
/** The reply; while `draft` is set, what of it the model has written so far (`partialJsonObject`). */
|
|
147
192
|
value: unknown;
|
|
193
|
+
/**
|
|
194
|
+
* The JSON the model has written so far, from `structured_draft` events. Gone once the
|
|
195
|
+
* `structured` event arrives, which owns the reply.
|
|
196
|
+
*/
|
|
197
|
+
draft?: string;
|
|
148
198
|
}
|
|
149
199
|
export interface MediaBlock extends TranscriptBlockBase {
|
|
150
200
|
kind: 'media';
|
|
@@ -170,6 +220,15 @@ export interface EvidenceBlock extends TranscriptBlockBase {
|
|
|
170
220
|
kind: 'evidence';
|
|
171
221
|
evidence: ProviderEvidence;
|
|
172
222
|
}
|
|
223
|
+
/**
|
|
224
|
+
* A guardrail's decision on the turn: a flag, a redaction, or a block. It names the rule and where
|
|
225
|
+
* it matched (`hits[].span`), never the matched text. It comes before the text it was read from.
|
|
226
|
+
* Theorem's own transcript shows nothing for it; a host reads it to show its own notice.
|
|
227
|
+
*/
|
|
228
|
+
export interface GuardrailBlock extends TranscriptBlockBase {
|
|
229
|
+
kind: 'guardrail';
|
|
230
|
+
guardrail: GuardrailEvent;
|
|
231
|
+
}
|
|
173
232
|
export interface ErrorBlock extends TranscriptBlockBase {
|
|
174
233
|
kind: 'error';
|
|
175
234
|
message: string;
|
|
@@ -188,7 +247,9 @@ export interface TurnDoneBlock extends TranscriptBlockBase {
|
|
|
188
247
|
/** When the reply last stopped (epoch ms), stamped with `workedMs`. */
|
|
189
248
|
endedAt?: number;
|
|
190
249
|
}
|
|
191
|
-
|
|
250
|
+
/** One block of a transcript: a message, an attachment, a thought, a tool call, or a notice. */
|
|
251
|
+
export type TranscriptBlock = UserTextBlock | UserAttachmentBlock | ThoughtBlock | TextBlock | ToolBlock | StructuredBlock | MediaBlock | GroundingBlock | CitationBlock | EvidenceBlock | GuardrailBlock | ErrorBlock | TurnDoneBlock;
|
|
252
|
+
/** A file the user has picked but not yet sent. */
|
|
192
253
|
export interface PendingAttachment {
|
|
193
254
|
name: string;
|
|
194
255
|
mimeType: string;
|
|
@@ -196,18 +257,22 @@ export interface PendingAttachment {
|
|
|
196
257
|
/** Optional base64 payload copied onto the transcript block for UI preview. */
|
|
197
258
|
data?: string;
|
|
198
259
|
}
|
|
260
|
+
/** Whether the pending attachments pass the profile's limits, and the issues if not. */
|
|
199
261
|
export interface AttachmentValidationResult {
|
|
200
262
|
ok: boolean;
|
|
201
263
|
issues: AttachmentValidationIssue[];
|
|
202
264
|
}
|
|
265
|
+
/** What the user has composed and not yet sent. */
|
|
203
266
|
export interface UserTurnDraft {
|
|
204
267
|
text?: string;
|
|
205
268
|
attachments?: PendingAttachment[];
|
|
206
269
|
voice?: PendingAttachment[];
|
|
207
270
|
}
|
|
271
|
+
/** Options for folding turn events into transcript blocks. */
|
|
208
272
|
export interface FoldTurnEventsOptions {
|
|
209
273
|
showThoughts?: boolean;
|
|
210
274
|
idPrefix?: string;
|
|
211
275
|
}
|
|
276
|
+
/** True unless the profile turns thought streaming off. */
|
|
212
277
|
declare function streamThoughtsEnabled(outputs?: ProfileOutputsSpec): boolean;
|
|
213
278
|
export { streamThoughtsEnabled };
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/** labels-exempt-file: authoring request-field and export meta — not runtime user or model copy (P2) */
|
|
2
|
+
import type { FieldMeta } from './schema.js';
|
|
3
|
+
import type { TurnInput, TurnRequest } from './types.js';
|
|
4
|
+
/** The catalog of the fields a `runTurn` request takes, keyed `runTurn.<field>`. */
|
|
5
|
+
export declare const REQUEST_FIELDS: Record<`runTurn.${keyof TurnRequest | `input.${keyof TurnInput}`}`, FieldMeta>;
|
|
6
|
+
/** What the catalog records about one export: what it is and what it does. */
|
|
7
|
+
export type ApiExportMeta = {
|
|
8
|
+
kind: 'function' | 'class';
|
|
9
|
+
doc: string;
|
|
10
|
+
};
|
|
11
|
+
/** The catalog of the exports a builder calls by name, keyed by that name. */
|
|
12
|
+
export declare const API_EXPORTS: {
|
|
13
|
+
readonly defineProfile: {
|
|
14
|
+
readonly kind: "function";
|
|
15
|
+
readonly doc: "Checks a profile and returns it; a field the profile type cannot take is a config error.";
|
|
16
|
+
};
|
|
17
|
+
readonly registerProfile: {
|
|
18
|
+
readonly kind: "function";
|
|
19
|
+
readonly doc: "Stores a profile under its id, so that a request can name it.";
|
|
20
|
+
};
|
|
21
|
+
readonly registerTool: {
|
|
22
|
+
readonly kind: "function";
|
|
23
|
+
readonly doc: "Stores a tool under its name, so that a profile can list it in tools.allow.";
|
|
24
|
+
};
|
|
25
|
+
readonly registerStructured: {
|
|
26
|
+
readonly kind: "function";
|
|
27
|
+
readonly doc: "Stores a JSON Schema under an id, so that a profile can name it in outputs.structured.";
|
|
28
|
+
};
|
|
29
|
+
readonly registerTraceDestination: {
|
|
30
|
+
readonly kind: "function";
|
|
31
|
+
readonly doc: "Stores a place to write traces under an id, so that a profile can name it in observability.";
|
|
32
|
+
};
|
|
33
|
+
readonly defineProvider: {
|
|
34
|
+
readonly kind: "function";
|
|
35
|
+
readonly doc: "Validates a provider definition and supplies its typed model helper.";
|
|
36
|
+
};
|
|
37
|
+
readonly registerProvider: {
|
|
38
|
+
readonly kind: "function";
|
|
39
|
+
readonly doc: "Registers a provider instance before profiles reference its ID.";
|
|
40
|
+
};
|
|
41
|
+
readonly runTurn: {
|
|
42
|
+
readonly kind: "function";
|
|
43
|
+
readonly doc: "Runs one turn of a text, image, or speech profile and yields its events.";
|
|
44
|
+
};
|
|
45
|
+
readonly runSession: {
|
|
46
|
+
readonly kind: "function";
|
|
47
|
+
readonly doc: "Runs a realtime voice or video session of a live profile.";
|
|
48
|
+
};
|
|
49
|
+
readonly runDecision: {
|
|
50
|
+
readonly kind: "function";
|
|
51
|
+
readonly doc: "Asks a decision profile its questions about your JSON state and returns checked answers.";
|
|
52
|
+
};
|
|
53
|
+
readonly invokeTool: {
|
|
54
|
+
readonly kind: "function";
|
|
55
|
+
readonly doc: "Runs one registered tool through a profile, with no model.";
|
|
56
|
+
};
|
|
57
|
+
readonly runTool: {
|
|
58
|
+
readonly kind: "function";
|
|
59
|
+
readonly doc: "Runs one registered tool through a profile, with no model, and returns how the call settled.";
|
|
60
|
+
};
|
|
61
|
+
readonly compactHistory: {
|
|
62
|
+
readonly kind: "function";
|
|
63
|
+
readonly doc: "Shortens a conversation history with the compaction the profile sets.";
|
|
64
|
+
};
|
|
65
|
+
readonly takeSlot: {
|
|
66
|
+
readonly kind: "function";
|
|
67
|
+
readonly doc: "Takes a client's turn slot on a profile; it answers ok, busy, quota, or not_configured.";
|
|
68
|
+
};
|
|
69
|
+
readonly releaseSlot: {
|
|
70
|
+
readonly kind: "function";
|
|
71
|
+
readonly doc: "Frees the turn slot that takeSlot gave.";
|
|
72
|
+
};
|
|
73
|
+
readonly overrideLabels: {
|
|
74
|
+
readonly kind: "function";
|
|
75
|
+
readonly doc: "Replaces status lines for every profile in the process; a profile's own labels wins.";
|
|
76
|
+
};
|
|
77
|
+
readonly resetLabels: {
|
|
78
|
+
readonly kind: "function";
|
|
79
|
+
readonly doc: "Removes every replacement that overrideLabels made.";
|
|
80
|
+
};
|
|
81
|
+
readonly TheoremError: {
|
|
82
|
+
readonly kind: "class";
|
|
83
|
+
readonly doc: "The error Theorem throws; its kind tells your host which status and wording to use.";
|
|
84
|
+
};
|
|
85
|
+
};
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
/** labels-exempt-file: authoring request-field and export meta — not runtime user or model copy (P2) */
|
|
2
|
+
/** The catalog of the fields a `runTurn` request takes, keyed `runTurn.<field>`. */
|
|
3
|
+
export const REQUEST_FIELDS = {
|
|
4
|
+
'runTurn.pageExecution': {
|
|
5
|
+
type: 'PageToolExecution',
|
|
6
|
+
doc: 'Host-issued browser dispatch with a claimed operation and correlated result.',
|
|
7
|
+
},
|
|
8
|
+
'runTurn.execution': {
|
|
9
|
+
type: 'ToolExecutionCoordinator',
|
|
10
|
+
doc: 'Host-owned atomic tool claims and outcomes. Never sent to providers.',
|
|
11
|
+
},
|
|
12
|
+
'runTurn.providerState': {
|
|
13
|
+
type: 'ProviderCheckpoint',
|
|
14
|
+
doc: 'Native provider state saved alongside portable history.',
|
|
15
|
+
},
|
|
16
|
+
'runTurn.profile': {
|
|
17
|
+
type: 'string',
|
|
18
|
+
doc: 'The id of the registered profile the turn runs.',
|
|
19
|
+
required: true,
|
|
20
|
+
},
|
|
21
|
+
'runTurn.input': { type: 'TurnInput', doc: 'What the user sent for the turn.' },
|
|
22
|
+
'runTurn.input.text': { type: 'string', doc: "The user's message." },
|
|
23
|
+
'runTurn.input.role': {
|
|
24
|
+
type: 'string',
|
|
25
|
+
doc: 'Picks the instruction of that name from identity.systemByRole.',
|
|
26
|
+
unset: 'The profile instruction',
|
|
27
|
+
},
|
|
28
|
+
'runTurn.input.slots': {
|
|
29
|
+
type: 'Record<string, string>',
|
|
30
|
+
doc: 'The choice the turn makes for each slot the profile declares in inputs.slots; a slot or a value the profile does not declare is refused.',
|
|
31
|
+
},
|
|
32
|
+
'runTurn.input.context': {
|
|
33
|
+
type: "Partial<Record<'client' | 'server', unknown>>",
|
|
34
|
+
doc: "What the page (client) or the host (server) wants the model to know, as any JSON or text; a sender the profile's inputs.context does not list, or a package over its maxChars, is refused.",
|
|
35
|
+
unset: 'No context',
|
|
36
|
+
},
|
|
37
|
+
'runTurn.input.attachments': {
|
|
38
|
+
type: 'Array<TurnBlob | TurnMediaRef>',
|
|
39
|
+
doc: "Files sent with the turn, as bytes or as a provider file reference; each must pass the profile's inputs.attachments.",
|
|
40
|
+
},
|
|
41
|
+
'runTurn.input.voice': {
|
|
42
|
+
type: 'TurnBlob[]',
|
|
43
|
+
doc: "Recorded speech sent with the turn; each must pass the profile's inputs.voice.",
|
|
44
|
+
},
|
|
45
|
+
'runTurn.input.history': {
|
|
46
|
+
type: 'TurnHistoryMessage[]',
|
|
47
|
+
doc: 'The earlier messages of the conversation, when the host keeps them.',
|
|
48
|
+
unset: 'The turn starts a new conversation',
|
|
49
|
+
},
|
|
50
|
+
'runTurn.input.repair': {
|
|
51
|
+
type: 'TurnRepairRequest',
|
|
52
|
+
doc: 'A reply your host rejected and why, so that the model writes it again.',
|
|
53
|
+
},
|
|
54
|
+
'runTurn.input.historyTokens': {
|
|
55
|
+
type: 'number',
|
|
56
|
+
doc: "Your count of the history's tokens, used by compaction that meters history.",
|
|
57
|
+
unset: "Theorem's own estimate",
|
|
58
|
+
},
|
|
59
|
+
'runTurn.input.inputTokens': {
|
|
60
|
+
type: 'number',
|
|
61
|
+
doc: "Your count of the whole prompt's tokens, used by compaction that meters input before the call.",
|
|
62
|
+
},
|
|
63
|
+
'runTurn.model': {
|
|
64
|
+
type: 'string',
|
|
65
|
+
doc: "The model id the turn picks from the profile's models; refused unless the profile sets allowModelSelect.",
|
|
66
|
+
unset: "The profile's defaultModel",
|
|
67
|
+
},
|
|
68
|
+
'runTurn.effort': {
|
|
69
|
+
type: 'string',
|
|
70
|
+
doc: "The effort the turn picks from the model's efforts; refused unless the model sets allowEffortSelect.",
|
|
71
|
+
unset: "The model's default effort",
|
|
72
|
+
},
|
|
73
|
+
'runTurn.builtInArgs': {
|
|
74
|
+
type: 'Record<BuiltinToolId, JsonObject>',
|
|
75
|
+
doc: "Args for the provider's own tools on the chosen model's builtInTools, by tool id; each is checked by the schema the provider declares for that tool.",
|
|
76
|
+
unset: 'Each built-in runs with no args',
|
|
77
|
+
},
|
|
78
|
+
'runTurn.system': {
|
|
79
|
+
type: 'SystemPrompt',
|
|
80
|
+
doc: "An instruction for this request only, added to the profile's own.",
|
|
81
|
+
},
|
|
82
|
+
'runTurn.path': {
|
|
83
|
+
type: 'string',
|
|
84
|
+
doc: 'The channel the turn comes from; only tools whose paths name it, or *, are offered.',
|
|
85
|
+
unset: 'Only tools on every path',
|
|
86
|
+
},
|
|
87
|
+
'runTurn.sessionPermissions': {
|
|
88
|
+
type: 'string[]',
|
|
89
|
+
doc: 'The tools the user has already approved for this session.',
|
|
90
|
+
},
|
|
91
|
+
'runTurn.credentials': {
|
|
92
|
+
type: 'ToolCredentialSource',
|
|
93
|
+
doc: 'Where an HTTP or MCP tool gets the credential for its auth slot.',
|
|
94
|
+
},
|
|
95
|
+
'runTurn.host': {
|
|
96
|
+
type: 'unknown',
|
|
97
|
+
doc: 'Your own context, handed to tool handlers as ctx.host; Theorem never reads or records it.',
|
|
98
|
+
},
|
|
99
|
+
'runTurn.signal': {
|
|
100
|
+
type: 'AbortSignal',
|
|
101
|
+
doc: 'Stops the turn when it aborts, and cancels the provider call where the provider can.',
|
|
102
|
+
},
|
|
103
|
+
'runTurn.sessionId': {
|
|
104
|
+
type: 'string',
|
|
105
|
+
doc: 'A session key that OpenRouter uses for routing and caching.',
|
|
106
|
+
},
|
|
107
|
+
'runTurn.projectId': {
|
|
108
|
+
type: 'string',
|
|
109
|
+
doc: 'Your project id, recorded on the trace.',
|
|
110
|
+
},
|
|
111
|
+
'runTurn.conversationId': {
|
|
112
|
+
type: 'string',
|
|
113
|
+
doc: 'Your conversation id, recorded on the trace.',
|
|
114
|
+
},
|
|
115
|
+
'runTurn.metadata': {
|
|
116
|
+
type: 'Record<string, unknown>',
|
|
117
|
+
doc: 'Your own values, kept on the trace; Theorem does not read them.',
|
|
118
|
+
},
|
|
119
|
+
'runTurn.traceparent': {
|
|
120
|
+
type: 'string',
|
|
121
|
+
doc: "The W3C traceparent of your span; the turn's trace joins it as a child.",
|
|
122
|
+
unset: 'The turn starts a new trace',
|
|
123
|
+
},
|
|
124
|
+
'runTurn.links': {
|
|
125
|
+
type: 'TurnTraceLink[]',
|
|
126
|
+
doc: 'Earlier traces this turn follows: a resume, a continue, or a retry.',
|
|
127
|
+
},
|
|
128
|
+
'runTurn.continueFrom': {
|
|
129
|
+
type: 'TurnContinueFrom',
|
|
130
|
+
doc: 'Continues a turn that stopped in a way the profile lets a turn continue.',
|
|
131
|
+
},
|
|
132
|
+
'runTurn.continuation': {
|
|
133
|
+
type: 'number',
|
|
134
|
+
doc: 'Which continue attempt this is, from 1; checked against the maxContinues of the profile.',
|
|
135
|
+
},
|
|
136
|
+
'runTurn.speech': {
|
|
137
|
+
type: 'TurnSpeech',
|
|
138
|
+
doc: "This turn's voice, style, and speed; each one given replaces the profile's speech field of that name. Refused on a profile that is not speech.",
|
|
139
|
+
unset: "The profile's speech settings",
|
|
140
|
+
},
|
|
141
|
+
'runTurn.resolveHost': {
|
|
142
|
+
type: 'ResolveHost',
|
|
143
|
+
doc: 'Resolves the host name of a remote tool before each request; a name that resolves to a private address is refused.',
|
|
144
|
+
},
|
|
145
|
+
'runTurn.onStage': {
|
|
146
|
+
type: 'StageHandler',
|
|
147
|
+
doc: 'Your function that sees each stage of a text turn and can answer with what the stage allows.',
|
|
148
|
+
},
|
|
149
|
+
'runTurn.onAgentCall': {
|
|
150
|
+
type: 'AgentCallHook',
|
|
151
|
+
doc: 'Runs before each agent tool call, to shape the request to the called agent or to refuse the call.',
|
|
152
|
+
unset: 'The agent runs on what the model sent',
|
|
153
|
+
},
|
|
154
|
+
};
|
|
155
|
+
/** The catalog of the exports a builder calls by name, keyed by that name. */
|
|
156
|
+
export const API_EXPORTS = {
|
|
157
|
+
defineProfile: {
|
|
158
|
+
kind: 'function',
|
|
159
|
+
doc: 'Checks a profile and returns it; a field the profile type cannot take is a config error.',
|
|
160
|
+
},
|
|
161
|
+
registerProfile: {
|
|
162
|
+
kind: 'function',
|
|
163
|
+
doc: 'Stores a profile under its id, so that a request can name it.',
|
|
164
|
+
},
|
|
165
|
+
registerTool: {
|
|
166
|
+
kind: 'function',
|
|
167
|
+
doc: 'Stores a tool under its name, so that a profile can list it in tools.allow.',
|
|
168
|
+
},
|
|
169
|
+
registerStructured: {
|
|
170
|
+
kind: 'function',
|
|
171
|
+
doc: 'Stores a JSON Schema under an id, so that a profile can name it in outputs.structured.',
|
|
172
|
+
},
|
|
173
|
+
registerTraceDestination: {
|
|
174
|
+
kind: 'function',
|
|
175
|
+
doc: 'Stores a place to write traces under an id, so that a profile can name it in observability.',
|
|
176
|
+
},
|
|
177
|
+
defineProvider: {
|
|
178
|
+
kind: 'function',
|
|
179
|
+
doc: 'Validates a provider definition and supplies its typed model helper.',
|
|
180
|
+
},
|
|
181
|
+
registerProvider: {
|
|
182
|
+
kind: 'function',
|
|
183
|
+
doc: 'Registers a provider instance before profiles reference its ID.',
|
|
184
|
+
},
|
|
185
|
+
runTurn: {
|
|
186
|
+
kind: 'function',
|
|
187
|
+
doc: 'Runs one turn of a text, image, or speech profile and yields its events.',
|
|
188
|
+
},
|
|
189
|
+
runSession: {
|
|
190
|
+
kind: 'function',
|
|
191
|
+
doc: 'Runs a realtime voice or video session of a live profile.',
|
|
192
|
+
},
|
|
193
|
+
runDecision: {
|
|
194
|
+
kind: 'function',
|
|
195
|
+
doc: 'Asks a decision profile its questions about your JSON state and returns checked answers.',
|
|
196
|
+
},
|
|
197
|
+
invokeTool: {
|
|
198
|
+
kind: 'function',
|
|
199
|
+
doc: 'Runs one registered tool through a profile, with no model.',
|
|
200
|
+
},
|
|
201
|
+
runTool: {
|
|
202
|
+
kind: 'function',
|
|
203
|
+
doc: 'Runs one registered tool through a profile, with no model, and returns how the call settled.',
|
|
204
|
+
},
|
|
205
|
+
compactHistory: {
|
|
206
|
+
kind: 'function',
|
|
207
|
+
doc: 'Shortens a conversation history with the compaction the profile sets.',
|
|
208
|
+
},
|
|
209
|
+
takeSlot: {
|
|
210
|
+
kind: 'function',
|
|
211
|
+
doc: "Takes a client's turn slot on a profile; it answers ok, busy, quota, or not_configured.",
|
|
212
|
+
},
|
|
213
|
+
releaseSlot: {
|
|
214
|
+
kind: 'function',
|
|
215
|
+
doc: 'Frees the turn slot that takeSlot gave.',
|
|
216
|
+
},
|
|
217
|
+
overrideLabels: {
|
|
218
|
+
kind: 'function',
|
|
219
|
+
doc: "Replaces status lines for every profile in the process; a profile's own labels wins.",
|
|
220
|
+
},
|
|
221
|
+
resetLabels: {
|
|
222
|
+
kind: 'function',
|
|
223
|
+
doc: 'Removes every replacement that overrideLabels made.',
|
|
224
|
+
},
|
|
225
|
+
TheoremError: {
|
|
226
|
+
kind: 'class',
|
|
227
|
+
doc: 'The error Theorem throws; its kind tells your host which status and wording to use.',
|
|
228
|
+
},
|
|
229
|
+
};
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
/** RFC 4648 base64url, without padding. */
|
|
2
2
|
export declare function toBase64Url(bytes: Uint8Array): string;
|
|
3
|
+
/** Decodes base64url text into bytes. */
|
|
3
4
|
export declare function fromBase64Url(base64url: string): Uint8Array<ArrayBuffer>;
|
|
4
5
|
/** RFC 7636 §4.1: 43 to 128 characters, drawn without modulo bias. */
|
|
5
6
|
export declare function generateCodeVerifier(length?: number): string;
|
|
6
7
|
/** RFC 7636 §4.2 S256. */
|
|
7
8
|
export declare function computeCodeChallenge(verifier: string): Promise<string>;
|
|
9
|
+
/** What a sealed PKCE state carries between starting and finishing a sign-in. */
|
|
8
10
|
export interface SealedStatePayload {
|
|
9
11
|
codeVerifier: string;
|
|
10
12
|
expectedIssuer: string;
|
|
@@ -24,12 +26,14 @@ export interface SealedStatePayload {
|
|
|
24
26
|
}
|
|
25
27
|
/** Encrypted, not only signed: the state crosses the browser and the server, and the PKCE verifier must stay secret. */
|
|
26
28
|
export declare function sealStatePayload(payload: SealedStatePayload, secret: string): Promise<string>;
|
|
29
|
+
/** Opens a sealed PKCE state; throws when the secret or the seal is wrong. */
|
|
27
30
|
export declare function unsealStatePayload(sealed: string, secret: string): Promise<SealedStatePayload>;
|
|
31
|
+
/** What `sealSecret` takes: the plaintext and the sealing key. */
|
|
28
32
|
export interface SealSecretInput {
|
|
29
33
|
plaintext: string;
|
|
30
34
|
/** The host's sealing key: at least 32 bytes, kept apart from where sealed values are stored. */
|
|
31
35
|
key: string;
|
|
32
|
-
/** What the sealed value belongs to, such as owner, slot and row. Opening needs the same list. */
|
|
36
|
+
/** What the sealed value belongs to, such as owner, slot, and row. Opening needs the same list. */
|
|
33
37
|
binding: readonly string[];
|
|
34
38
|
/** Names `key`, so a rotated key still opens what an older one sealed. */
|
|
35
39
|
keyVersion: number;
|
|
@@ -40,6 +44,7 @@ export interface SealSecretInput {
|
|
|
40
44
|
* slot or row does not open.
|
|
41
45
|
*/
|
|
42
46
|
export declare function sealSecret(input: SealSecretInput): Promise<string>;
|
|
47
|
+
/** What `openSecret` takes: the sealed value and the keys still in use. */
|
|
43
48
|
export interface OpenSecretInput {
|
|
44
49
|
sealed: string;
|
|
45
50
|
/** Every key still in use, by version. */
|
|
@@ -47,5 +52,5 @@ export interface OpenSecretInput {
|
|
|
47
52
|
/** The binding the value was sealed with. */
|
|
48
53
|
binding: readonly string[];
|
|
49
54
|
}
|
|
50
|
-
/** Opens what `sealSecret` sealed; throws when the envelope, key version or binding does not match. */
|
|
55
|
+
/** Opens what `sealSecret` sealed; throws when the envelope, key version, or binding does not match. */
|
|
51
56
|
export declare function openSecret(input: OpenSecretInput): Promise<string>;
|