niceeval 0.18.0 → 0.19.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/INDEX.md +4 -2
- package/dist/adapter-usage.cjs.map +1 -1
- package/dist/adapter-usage.d.cts +1 -1
- package/dist/adapter-usage.d.mts +1 -1
- package/dist/adapter-usage.d.ts +1 -1
- package/dist/adapter.cjs +8 -7
- package/dist/adapter.cjs.map +1 -1
- package/dist/adapter.d.cts +21 -21
- package/dist/adapter.d.mts +21 -21
- package/dist/adapter.d.ts +21 -21
- package/dist/agents/{effect-runtime.cjs → agent-effects.cjs} +12 -18
- package/dist/agents/agent-effects.cjs.map +1 -0
- package/dist/agents/agent-effects.d.cts +23 -0
- package/dist/agents/agent-effects.d.mts +23 -0
- package/dist/agents/agent-effects.d.ts +23 -0
- package/dist/agents/agent-effects.js +16 -0
- package/dist/agents/agent-effects.js.map +1 -0
- package/dist/agents/ai-sdk.cjs +1 -1
- package/dist/agents/ai-sdk.cjs.map +1 -1
- package/dist/agents/bub.cjs +31 -18
- package/dist/agents/bub.cjs.map +1 -1
- package/dist/agents/bub.d.cts +9 -12
- package/dist/agents/bub.d.mts +9 -12
- package/dist/agents/bub.d.ts +9 -12
- package/dist/agents/claude-code-native.cjs +2 -2
- package/dist/agents/claude-code-native.cjs.map +1 -1
- package/dist/agents/claude-code.cjs +17 -11
- package/dist/agents/claude-code.cjs.map +1 -1
- package/dist/agents/claude-code.d.cts +11 -11
- package/dist/agents/claude-code.d.mts +11 -11
- package/dist/agents/claude-code.d.ts +11 -11
- package/dist/agents/codex-app-server.cjs +2 -2
- package/dist/agents/codex-app-server.cjs.map +1 -1
- package/dist/agents/codex.cjs +18 -12
- package/dist/agents/codex.cjs.map +1 -1
- package/dist/agents/codex.d.cts +12 -12
- package/dist/agents/codex.d.mts +12 -12
- package/dist/agents/codex.d.ts +12 -12
- package/dist/agents/deepseek-harness.cjs +2 -2
- package/dist/agents/deepseek-harness.cjs.map +1 -1
- package/dist/agents/hermes.cjs +3 -3
- package/dist/agents/hermes.cjs.map +1 -1
- package/dist/agents/index.cjs +3 -3
- package/dist/agents/index.cjs.map +1 -1
- package/dist/agents/index.d.cts +3 -3
- package/dist/agents/index.d.mts +3 -3
- package/dist/agents/index.d.ts +3 -3
- package/dist/agents/index.js +2 -2
- package/dist/agents/index.mjs +2 -2
- package/dist/agents/mcp.cjs.map +1 -1
- package/dist/agents/mcp.d.cts +2 -2
- package/dist/agents/mcp.d.mts +2 -2
- package/dist/agents/mcp.d.ts +2 -2
- package/dist/agents/omp.cjs +2 -2
- package/dist/agents/omp.cjs.map +1 -1
- package/dist/agents/openai-compat.cjs +2 -2
- package/dist/agents/openai-compat.cjs.map +1 -1
- package/dist/agents/openclaw.cjs +3 -3
- package/dist/agents/openclaw.cjs.map +1 -1
- package/dist/agents/opencode.cjs +16 -4
- package/dist/agents/opencode.cjs.map +1 -1
- package/dist/agents/plugin-extensions.cjs +71 -0
- package/dist/agents/plugin-extensions.cjs.map +1 -0
- package/dist/agents/plugin-extensions.d.cts +26 -0
- package/dist/agents/plugin-extensions.d.mts +26 -0
- package/dist/agents/plugin-extensions.d.ts +26 -0
- package/dist/agents/plugin-extensions.js +8 -0
- package/dist/agents/plugin-extensions.js.map +1 -0
- package/dist/agents/post-setup.cjs +14 -3
- package/dist/agents/post-setup.cjs.map +1 -1
- package/dist/agents/post-setup.d.cts +4 -2
- package/dist/agents/post-setup.d.mts +4 -2
- package/dist/agents/post-setup.d.ts +4 -2
- package/dist/agents/post-setup.js +8 -6
- package/dist/agents/sdk-streams.cjs +3 -3
- package/dist/agents/sdk-streams.cjs.map +1 -1
- package/dist/agents/{session-slot.cjs → session-key.cjs} +4 -4
- package/dist/agents/session-key.cjs.map +1 -0
- package/dist/agents/session-key.d.cts +12 -0
- package/dist/agents/session-key.d.mts +12 -0
- package/dist/agents/session-key.d.ts +12 -0
- package/dist/agents/session-key.js +6 -0
- package/dist/agents/session-key.js.map +1 -0
- package/dist/agents/shared.cjs +2 -2
- package/dist/agents/shared.cjs.map +1 -1
- package/dist/agents/shared.d.cts +4 -4
- package/dist/agents/shared.d.mts +4 -4
- package/dist/agents/shared.d.ts +4 -4
- package/dist/agents/skills.cjs.map +1 -1
- package/dist/agents/skills.d.cts +3 -3
- package/dist/agents/skills.d.mts +3 -3
- package/dist/agents/skills.d.ts +3 -3
- package/dist/agents/types.cjs.map +1 -1
- package/dist/agents/types.d.cts +55 -54
- package/dist/agents/types.d.mts +55 -54
- package/dist/agents/types.d.ts +55 -54
- package/dist/agents/ui-message-stream.cjs +4 -4
- package/dist/agents/ui-message-stream.cjs.map +1 -1
- package/dist/agents/unrecognized-events.cjs +32 -0
- package/dist/agents/unrecognized-events.cjs.map +1 -0
- package/dist/agents/unrecognized-events.d.cts +8 -0
- package/dist/agents/unrecognized-events.d.mts +8 -0
- package/dist/agents/unrecognized-events.d.ts +8 -0
- package/dist/agents/unrecognized-events.js +6 -0
- package/dist/agents/unrecognized-events.js.map +1 -0
- package/dist/assertions/api.cjs.map +1 -1
- package/dist/assertions/api.d.cts +3 -0
- package/dist/assertions/api.d.mts +3 -0
- package/dist/assertions/api.d.ts +3 -0
- package/dist/assertions/collection.cjs +1 -1
- package/dist/assertions/collection.cjs.map +1 -1
- package/dist/assertions/judge.cjs +1 -1
- package/dist/assertions/judge.cjs.map +1 -1
- package/dist/assertions/match.cjs +52 -21
- package/dist/assertions/match.cjs.map +1 -1
- package/dist/assertions/match.d.cts +16 -5
- package/dist/assertions/match.d.mts +16 -5
- package/dist/assertions/match.d.ts +16 -5
- package/dist/assertions/match.js +96 -94
- package/dist/assertions/measurements.cjs +22 -6
- package/dist/assertions/measurements.cjs.map +1 -1
- package/dist/assertions/measurements.d.cts +8 -1
- package/dist/assertions/measurements.d.mts +8 -1
- package/dist/assertions/measurements.d.ts +8 -1
- package/dist/assertions/numeric.cjs +2 -0
- package/dist/assertions/numeric.cjs.map +1 -1
- package/dist/assertions/numeric.d.cts +1 -1
- package/dist/assertions/numeric.d.mts +1 -1
- package/dist/assertions/numeric.d.ts +1 -1
- package/dist/assertions/quantity.cjs +42 -0
- package/dist/assertions/quantity.cjs.map +1 -0
- package/dist/assertions/quantity.d.cts +18 -0
- package/dist/assertions/quantity.d.mts +18 -0
- package/dist/assertions/quantity.d.ts +18 -0
- package/dist/assertions/quantity.js +22 -0
- package/dist/assertions/quantity.js.map +1 -0
- package/dist/assertions/record/attachment.cjs +2 -0
- package/dist/assertions/record/attachment.cjs.map +1 -1
- package/dist/assertions/record/codec.cjs +5 -1
- package/dist/assertions/record/codec.cjs.map +1 -1
- package/dist/assertions/record/model.cjs.map +1 -1
- package/dist/assertions/record/model.d.cts +3 -1
- package/dist/assertions/record/model.d.mts +3 -1
- package/dist/assertions/record/model.d.ts +3 -1
- package/dist/assertions/runtime.cjs +11 -6
- package/dist/assertions/runtime.cjs.map +1 -1
- package/dist/cli/program.cjs +3 -0
- package/dist/cli/program.cjs.map +1 -1
- package/dist/context/assert-first.cjs +6 -4
- package/dist/context/assert-first.cjs.map +1 -1
- package/dist/context/assert-first.d.cts +9 -3
- package/dist/context/assert-first.d.mts +9 -3
- package/dist/context/assert-first.d.ts +9 -3
- package/dist/context/notes.cjs +47 -0
- package/dist/context/notes.cjs.map +1 -0
- package/dist/context/notes.d.cts +10 -0
- package/dist/context/notes.d.mts +10 -0
- package/dist/context/notes.d.ts +10 -0
- package/dist/context/notes.js +6 -0
- package/dist/context/notes.js.map +1 -0
- package/dist/context/send-failures.cjs +1 -7
- package/dist/context/send-failures.cjs.map +1 -1
- package/dist/context/send-failures.d.cts +2 -3
- package/dist/context/send-failures.d.mts +2 -3
- package/dist/context/send-failures.d.ts +2 -3
- package/dist/context/send-retry.cjs +0 -1
- package/dist/context/send-retry.cjs.map +1 -1
- package/dist/context/send-retry.d.cts +1 -2
- package/dist/context/send-retry.d.mts +1 -2
- package/dist/context/send-retry.d.ts +1 -2
- package/dist/context/session.cjs +10 -17
- package/dist/context/session.cjs.map +1 -1
- package/dist/context/session.d.cts +4 -10
- package/dist/context/session.d.mts +4 -10
- package/dist/context/session.d.ts +4 -10
- package/dist/define.cjs +88 -65
- package/dist/define.cjs.map +1 -1
- package/dist/define.d.cts +3 -3
- package/dist/define.d.mts +3 -3
- package/dist/define.d.ts +3 -3
- package/dist/eval/cli/contribution.cjs +1 -1
- package/dist/eval/cli/contribution.cjs.map +1 -1
- package/dist/eval/host/index.cjs +1 -1
- package/dist/eval/host/index.cjs.map +1 -1
- package/dist/eval/record/evaluation.cjs +1 -1
- package/dist/eval/record/evaluation.cjs.map +1 -1
- package/dist/eval/record/membership-provenance.d.cts +3 -3
- package/dist/eval/record/membership-provenance.d.mts +3 -3
- package/dist/eval/record/membership-provenance.d.ts +3 -3
- package/dist/eval/record/score.cjs +2 -2
- package/dist/eval/record/score.cjs.map +1 -1
- package/dist/eval/record/sealed-assertion.cjs +1 -1
- package/dist/eval/record/sealed-assertion.cjs.map +1 -1
- package/dist/eval/record/verdict.cjs +2 -2
- package/dist/eval/record/verdict.cjs.map +1 -1
- package/dist/expect/index.cjs +10 -1
- package/dist/expect/index.cjs.map +1 -1
- package/dist/expect/index.d.cts +3 -1
- package/dist/expect/index.d.mts +3 -1
- package/dist/expect/index.d.ts +3 -1
- package/dist/expect/index.js +92 -76
- package/dist/expect/index.mjs +92 -76
- package/dist/experiment/host/cli/contribution.cjs +52 -39
- package/dist/experiment/host/cli/contribution.cjs.map +1 -1
- package/dist/experiment/host/cli/contribution.d.cts +18 -4
- package/dist/experiment/host/cli/contribution.d.mts +18 -4
- package/dist/experiment/host/cli/contribution.d.ts +18 -4
- package/dist/experiment/host/cli/contribution.js +2 -2
- package/dist/experiment/host/cli/debug-protocol.cjs +2 -2
- package/dist/experiment/host/cli/debug-protocol.cjs.map +1 -1
- package/dist/experiment/host/cli/debug-protocol.d.cts +2 -2
- package/dist/experiment/host/cli/debug-protocol.d.mts +2 -2
- package/dist/experiment/host/cli/debug-protocol.d.ts +2 -2
- package/dist/experiment/host/cli/output-protocol.cjs +1 -1
- package/dist/experiment/host/cli/output-protocol.cjs.map +1 -1
- package/dist/experiment/host/cli/output-protocol.d.cts +2 -2
- package/dist/experiment/host/cli/output-protocol.d.mts +2 -2
- package/dist/experiment/host/cli/output-protocol.d.ts +2 -2
- package/dist/experiment/host/current.cjs +2 -2
- package/dist/experiment/host/current.cjs.map +1 -1
- package/dist/experiment/host/index.cjs +1 -1
- package/dist/experiment/host/index.cjs.map +1 -1
- package/dist/experiment/host/operations.cjs +21 -22
- package/dist/experiment/host/operations.cjs.map +1 -1
- package/dist/experiment/host/runtime.cjs +8 -9
- package/dist/experiment/host/runtime.cjs.map +1 -1
- package/dist/experiment/host/runtime.d.cts +3 -3
- package/dist/experiment/host/runtime.d.mts +3 -3
- package/dist/experiment/host/runtime.d.ts +3 -3
- package/dist/experiment/host/teardown.cjs +3 -3
- package/dist/experiment/host/teardown.cjs.map +1 -1
- package/dist/experiment/host/teardown.d.cts +3 -3
- package/dist/experiment/host/teardown.d.mts +3 -3
- package/dist/experiment/host/teardown.d.ts +3 -3
- package/dist/experiment/host/types.cjs.map +1 -1
- package/dist/experiment/host/types.d.cts +19 -19
- package/dist/experiment/host/types.d.mts +19 -19
- package/dist/experiment/host/types.d.ts +19 -19
- package/dist/index.cjs +3 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -3
- package/dist/index.d.mts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +2 -2
- package/dist/index.mjs +2 -2
- package/dist/inspection/assertions.cjs +1 -1
- package/dist/inspection/assertions.cjs.map +1 -1
- package/dist/inspection/cli/contribution.cjs +8 -7
- package/dist/inspection/cli/contribution.cjs.map +1 -1
- package/dist/inspection/facts.cjs +4 -4
- package/dist/inspection/facts.cjs.map +1 -1
- package/dist/inspection/index.cjs +1 -5
- package/dist/inspection/index.cjs.map +1 -1
- package/dist/inspection/index.d.cts +1 -2
- package/dist/inspection/index.d.mts +1 -2
- package/dist/inspection/index.d.ts +1 -2
- package/dist/inspection/index.js +20 -26
- package/dist/inspection/lifecycle.cjs +7 -0
- package/dist/inspection/lifecycle.cjs.map +1 -0
- package/dist/inspection/lifecycle.d.cts +4 -0
- package/dist/inspection/lifecycle.d.mts +4 -0
- package/dist/inspection/lifecycle.d.ts +4 -0
- package/dist/inspection/lifecycle.js +6 -0
- package/dist/inspection/lifecycle.js.map +1 -0
- package/dist/inspection/notes.cjs +40 -0
- package/dist/inspection/notes.cjs.map +1 -0
- package/dist/inspection/notes.d.cts +12 -0
- package/dist/inspection/notes.d.mts +12 -0
- package/dist/inspection/notes.d.ts +12 -0
- package/dist/inspection/notes.js +8 -0
- package/dist/inspection/notes.js.map +1 -0
- package/dist/inspection/overview.cjs +12 -15
- package/dist/inspection/overview.cjs.map +1 -1
- package/dist/inspection/overview.d.cts +8 -6
- package/dist/inspection/overview.d.mts +8 -6
- package/dist/inspection/overview.d.ts +8 -6
- package/dist/inspection/planned-attempt.cjs +45 -0
- package/dist/inspection/planned-attempt.cjs.map +1 -0
- package/dist/inspection/planned-attempt.d.cts +109 -0
- package/dist/inspection/planned-attempt.d.mts +109 -0
- package/dist/inspection/planned-attempt.d.ts +109 -0
- package/dist/inspection/planned-attempt.js +24 -0
- package/dist/inspection/planned-attempt.js.map +1 -0
- package/dist/inspection/project-result.cjs +5 -5
- package/dist/inspection/project-result.cjs.map +1 -1
- package/dist/inspection/project-result.d.cts +58 -57
- package/dist/inspection/project-result.d.mts +58 -57
- package/dist/inspection/project-result.d.ts +58 -57
- package/dist/inspection/project-result.js +4 -4
- package/dist/inspection/project.cjs +3 -3
- package/dist/inspection/project.cjs.map +1 -1
- package/dist/inspection/protocol-values.cjs +1 -1
- package/dist/inspection/protocol-values.cjs.map +1 -1
- package/dist/inspection/protocol-values.d.cts +1 -1
- package/dist/inspection/protocol-values.d.mts +1 -1
- package/dist/inspection/protocol-values.d.ts +1 -1
- package/dist/inspection/protocol.cjs +8 -8
- package/dist/inspection/protocol.cjs.map +1 -1
- package/dist/inspection/protocol.d.cts +237 -219
- package/dist/inspection/protocol.d.mts +237 -219
- package/dist/inspection/protocol.d.ts +237 -219
- package/dist/inspection/public.cjs +1 -5
- package/dist/inspection/public.cjs.map +1 -1
- package/dist/inspection/public.d.cts +1 -2
- package/dist/inspection/public.d.mts +1 -2
- package/dist/inspection/public.d.ts +1 -2
- package/dist/inspection/public.js +14 -20
- package/dist/inspection/public.mjs +166 -129
- package/dist/inspection/query.cjs +1 -1
- package/dist/inspection/query.cjs.map +1 -1
- package/dist/inspection/results.cjs +61 -52
- package/dist/inspection/results.cjs.map +1 -1
- package/dist/inspection/results.d.cts +157 -140
- package/dist/inspection/results.d.mts +157 -140
- package/dist/inspection/results.d.ts +157 -140
- package/dist/inspection/select.cjs +33 -28
- package/dist/inspection/select.cjs.map +1 -1
- package/dist/inspection/source.cjs +1 -1
- package/dist/inspection/source.cjs.map +1 -1
- package/dist/inspection/sources.cjs +2 -2
- package/dist/inspection/sources.cjs.map +1 -1
- package/dist/inspection/trace.cjs +9 -8
- package/dist/inspection/trace.cjs.map +1 -1
- package/dist/inspection/trace.d.cts +4 -4
- package/dist/inspection/trace.d.mts +4 -4
- package/dist/inspection/trace.d.ts +4 -4
- package/dist/loaders/index.cjs +7 -279
- package/dist/loaders/index.cjs.map +1 -1
- package/dist/loaders/index.d.cts +2 -95
- package/dist/loaders/index.d.mts +2 -95
- package/dist/loaders/index.d.ts +2 -95
- package/dist/loaders/index.js +10 -12
- package/dist/loaders/index.mjs +10 -12
- package/dist/loaders/runtime.cjs +283 -0
- package/dist/loaders/runtime.cjs.map +1 -0
- package/dist/loaders/runtime.d.cts +95 -0
- package/dist/loaders/runtime.d.mts +95 -0
- package/dist/loaders/runtime.d.ts +95 -0
- package/dist/loaders/runtime.js +16 -0
- package/dist/loaders/runtime.js.map +1 -0
- package/dist/migrations/judge-provider.md +6 -6
- package/dist/{model-slots.cjs → model-roles.cjs} +12 -12
- package/dist/{model-slots.cjs.map → model-roles.cjs.map} +1 -1
- package/dist/{model-slots.d.cts → model-roles.d.cts} +10 -10
- package/dist/{model-slots.d.mts → model-roles.d.mts} +10 -10
- package/dist/{model-slots.d.ts → model-roles.d.ts} +10 -10
- package/dist/model-roles.js +14 -0
- package/dist/model-roles.js.map +1 -0
- package/dist/o11y/adapter-usage-projection.cjs +9 -8
- package/dist/o11y/adapter-usage-projection.cjs.map +1 -1
- package/dist/o11y/adapter-usage-projection.d.cts +23 -15
- package/dist/o11y/adapter-usage-projection.d.mts +23 -15
- package/dist/o11y/adapter-usage-projection.d.ts +23 -15
- package/dist/o11y/cache-read.cjs +14 -14
- package/dist/o11y/cache-read.cjs.map +1 -1
- package/dist/o11y/cache-read.d.cts +5 -5
- package/dist/o11y/cache-read.d.mts +5 -5
- package/dist/o11y/cache-read.d.ts +5 -5
- package/dist/o11y/derive.cjs.map +1 -1
- package/dist/o11y/derive.d.cts +2 -2
- package/dist/o11y/derive.d.mts +2 -2
- package/dist/o11y/derive.d.ts +2 -2
- package/dist/o11y/eval-usage.cjs +9 -9
- package/dist/o11y/eval-usage.cjs.map +1 -1
- package/dist/o11y/eval-usage.d.cts +7 -7
- package/dist/o11y/eval-usage.d.mts +7 -7
- package/dist/o11y/eval-usage.d.ts +7 -7
- package/dist/o11y/parsers/bub.cjs +57 -81
- package/dist/o11y/parsers/bub.cjs.map +1 -1
- package/dist/o11y/parsers/index.cjs.map +1 -1
- package/dist/o11y/parsers/index.d.cts +2 -0
- package/dist/o11y/parsers/index.d.mts +2 -0
- package/dist/o11y/parsers/index.d.ts +2 -0
- package/dist/o11y/parsers/opencode.cjs +129 -217
- package/dist/o11y/parsers/opencode.cjs.map +1 -1
- package/dist/o11y/parsers/opencode.d.cts +2 -5
- package/dist/o11y/parsers/opencode.d.mts +2 -5
- package/dist/o11y/parsers/opencode.d.ts +2 -5
- package/dist/o11y/types.cjs.map +1 -1
- package/dist/o11y/types.d.cts +1 -1
- package/dist/o11y/types.d.mts +1 -1
- package/dist/o11y/types.d.ts +1 -1
- package/dist/plugin/contracts.cjs +170 -120
- package/dist/plugin/contracts.cjs.map +1 -1
- package/dist/plugin/contracts.d.cts +102 -90
- package/dist/plugin/contracts.d.mts +102 -90
- package/dist/plugin/contracts.d.ts +102 -90
- package/dist/plugin/contracts.js +16 -12
- package/dist/plugin/index.cjs.map +1 -1
- package/dist/plugin/index.d.cts +1 -1
- package/dist/plugin/index.d.mts +1 -1
- package/dist/plugin/index.d.ts +1 -1
- package/dist/plugin/link.cjs +69 -64
- package/dist/plugin/link.cjs.map +1 -1
- package/dist/plugin/link.d.cts +5 -3
- package/dist/plugin/link.d.mts +5 -3
- package/dist/plugin/link.d.ts +5 -3
- package/dist/plugin/link.js +12 -8
- package/dist/record/codec/seal-manifest.d.cts +3 -3
- package/dist/record/codec/seal-manifest.d.mts +3 -3
- package/dist/record/codec/seal-manifest.d.ts +3 -3
- package/dist/record/family/attempt-note/definition.cjs +12 -0
- package/dist/record/family/attempt-note/definition.cjs.map +1 -0
- package/dist/record/family/attempt-note/definition.d.cts +6 -0
- package/dist/record/family/attempt-note/definition.d.mts +6 -0
- package/dist/record/family/attempt-note/definition.d.ts +6 -0
- package/dist/record/family/attempt-note/definition.js +6 -0
- package/dist/record/family/attempt-note/definition.js.map +1 -0
- package/dist/record/family/attempt-note/persistence.cjs +10 -0
- package/dist/record/family/attempt-note/persistence.cjs.map +1 -0
- package/dist/record/family/attempt-note/persistence.d.cts +6 -0
- package/dist/record/family/attempt-note/persistence.d.mts +6 -0
- package/dist/record/family/attempt-note/persistence.d.ts +6 -0
- package/dist/record/family/attempt-note/persistence.js +6 -0
- package/dist/record/family/attempt-note/persistence.js.map +1 -0
- package/dist/record/family/attempt-note/schema.cjs +20 -0
- package/dist/record/family/attempt-note/schema.cjs.map +1 -0
- package/dist/record/family/attempt-note/schema.d.cts +21 -0
- package/dist/record/family/attempt-note/schema.d.mts +21 -0
- package/dist/record/family/attempt-note/schema.d.ts +21 -0
- package/dist/record/family/attempt-note/schema.js +10 -0
- package/dist/record/family/attempt-note/schema.js.map +1 -0
- package/dist/record/family/catalog.cjs +32 -29
- package/dist/record/family/catalog.cjs.map +1 -1
- package/dist/record/family/catalog.d.cts +7 -2
- package/dist/record/family/catalog.d.mts +7 -2
- package/dist/record/family/catalog.d.ts +7 -2
- package/dist/record/family/current.cjs +48 -45
- package/dist/record/family/current.cjs.map +1 -1
- package/dist/record/family/current.d.cts +15 -0
- package/dist/record/family/current.d.mts +15 -0
- package/dist/record/family/current.d.ts +15 -0
- package/dist/record/model/index.js +66 -64
- package/dist/record/model/run-context.cjs +9 -3
- package/dist/record/model/run-context.cjs.map +1 -1
- package/dist/record/model/run-context.d.cts +9 -2
- package/dist/record/model/run-context.d.mts +9 -2
- package/dist/record/model/run-context.d.ts +9 -2
- package/dist/record/model/run-context.js +8 -6
- package/dist/record/model/seal-manifest.d.cts +1 -1
- package/dist/record/model/seal-manifest.d.mts +1 -1
- package/dist/record/model/seal-manifest.d.ts +1 -1
- package/dist/run/cli/contribution.cjs +6 -32
- package/dist/run/cli/contribution.cjs.map +1 -1
- package/dist/run/host/runtime.cjs +1 -1
- package/dist/run/host/runtime.cjs.map +1 -1
- package/dist/run/storage/sqlite.cjs +7 -7
- package/dist/run/storage/sqlite.cjs.map +1 -1
- package/dist/runner/adapter-usage.cjs +5 -3
- package/dist/runner/adapter-usage.cjs.map +1 -1
- package/dist/runner/adapter-usage.d.cts +2 -2
- package/dist/runner/adapter-usage.d.mts +2 -2
- package/dist/runner/adapter-usage.d.ts +2 -2
- package/dist/runner/adoption.cjs +9 -12
- package/dist/runner/adoption.cjs.map +1 -1
- package/dist/runner/attempt-notes.cjs +8 -0
- package/dist/runner/attempt-notes.cjs.map +1 -0
- package/dist/runner/attempt-notes.d.cts +4 -0
- package/dist/runner/attempt-notes.d.mts +4 -0
- package/dist/runner/attempt-notes.d.ts +4 -0
- package/dist/runner/attempt-notes.js +8 -0
- package/dist/runner/attempt-notes.js.map +1 -0
- package/dist/runner/attempt.cjs +61 -73
- package/dist/runner/attempt.cjs.map +1 -1
- package/dist/runner/attempt.d.cts +3 -3
- package/dist/runner/attempt.d.mts +3 -3
- package/dist/runner/attempt.d.ts +3 -3
- package/dist/runner/command-plan.cjs +21 -26
- package/dist/runner/command-plan.cjs.map +1 -1
- package/dist/runner/command-plan.d.cts +4 -4
- package/dist/runner/command-plan.d.mts +4 -4
- package/dist/runner/command-plan.d.ts +4 -4
- package/dist/runner/command-plan.js +4 -4
- package/dist/runner/config-identity.cjs.map +1 -1
- package/dist/runner/config-identity.d.cts +2 -2
- package/dist/runner/config-identity.d.mts +2 -2
- package/dist/runner/config-identity.d.ts +2 -2
- package/dist/runner/discover.cjs +6 -6
- package/dist/runner/discover.cjs.map +1 -1
- package/dist/runner/eval-selection.cjs +2 -2
- package/dist/runner/eval-selection.cjs.map +1 -1
- package/dist/runner/eval-selection.d.cts +2 -2
- package/dist/runner/eval-selection.d.mts +2 -2
- package/dist/runner/eval-selection.d.ts +2 -2
- package/dist/runner/feedback/human.cjs +1 -1
- package/dist/runner/feedback/human.cjs.map +1 -1
- package/dist/runner/feedback/json.cjs +4 -2
- package/dist/runner/feedback/json.cjs.map +1 -1
- package/dist/runner/feedback/json.d.cts +1 -1
- package/dist/runner/feedback/json.d.mts +1 -1
- package/dist/runner/feedback/json.d.ts +1 -1
- package/dist/runner/feedback/sink.cjs +1 -1
- package/dist/runner/feedback/sink.cjs.map +1 -1
- package/dist/runner/feedback/sink.d.cts +1 -1
- package/dist/runner/feedback/sink.d.mts +1 -1
- package/dist/runner/feedback/sink.d.ts +1 -1
- package/dist/runner/fingerprint.cjs +1 -1
- package/dist/runner/fingerprint.cjs.map +1 -1
- package/dist/runner/project-target.cjs.map +1 -1
- package/dist/runner/project-target.d.cts +2 -2
- package/dist/runner/project-target.d.mts +2 -2
- package/dist/runner/project-target.d.ts +2 -2
- package/dist/runner/record/attachments.cjs +2 -2
- package/dist/runner/record/attachments.cjs.map +1 -1
- package/dist/runner/record/planning.cjs +8 -2
- package/dist/runner/record/planning.cjs.map +1 -1
- package/dist/runner/record.cjs +2 -0
- package/dist/runner/record.cjs.map +1 -1
- package/dist/runner/report.cjs +3 -3
- package/dist/runner/report.cjs.map +1 -1
- package/dist/runner/report.d.cts +1 -1
- package/dist/runner/report.d.mts +1 -1
- package/dist/runner/report.d.ts +1 -1
- package/dist/runner/reuse-plan.cjs +2 -2
- package/dist/runner/reuse-plan.cjs.map +1 -1
- package/dist/runner/run.cjs +10 -45
- package/dist/runner/run.cjs.map +1 -1
- package/dist/runner/sandbox-pool.cjs +1 -2
- package/dist/runner/sandbox-pool.cjs.map +1 -1
- package/dist/runner/setup-prefix-preparation.cjs +1 -1
- package/dist/runner/setup-prefix-preparation.cjs.map +1 -1
- package/dist/runner/teardown-registry.cjs +2 -2
- package/dist/runner/teardown-registry.cjs.map +1 -1
- package/dist/runner/teardown-registry.d.cts +1 -1
- package/dist/runner/teardown-registry.d.mts +1 -1
- package/dist/runner/teardown-registry.d.ts +1 -1
- package/dist/runner/types.cjs +4 -4
- package/dist/runner/types.cjs.map +1 -1
- package/dist/runner/types.d.cts +64 -93
- package/dist/runner/types.d.mts +64 -93
- package/dist/runner/types.d.ts +64 -93
- package/dist/runner/types.js +2 -2
- package/dist/sandbox/action.cjs +1 -1
- package/dist/sandbox/action.cjs.map +1 -1
- package/dist/sandbox/cli/contribution.cjs +17 -14
- package/dist/sandbox/cli/contribution.cjs.map +1 -1
- package/dist/sandbox/cli/contribution.d.cts +1 -1
- package/dist/sandbox/cli/contribution.d.mts +1 -1
- package/dist/sandbox/cli/contribution.d.ts +1 -1
- package/dist/sandbox/commands.cjs +1 -1
- package/dist/sandbox/commands.cjs.map +1 -1
- package/dist/sandbox/commands.d.cts +1 -1
- package/dist/sandbox/commands.d.mts +1 -1
- package/dist/sandbox/commands.d.ts +1 -1
- package/dist/sandbox/compose.cjs +2 -2
- package/dist/sandbox/compose.cjs.map +1 -1
- package/dist/sandbox/docker-profile/registry.cjs +5 -9
- package/dist/sandbox/docker-profile/registry.cjs.map +1 -1
- package/dist/sandbox/docker-profile/registry.d.cts +0 -3
- package/dist/sandbox/docker-profile/registry.d.mts +0 -3
- package/dist/sandbox/docker-profile/registry.d.ts +0 -3
- package/dist/sandbox/docker-profile/registry.js +6 -12
- package/dist/sandbox/docker-profile/runtime.cjs +1 -1
- package/dist/sandbox/docker-profile/runtime.cjs.map +1 -1
- package/dist/sandbox/docker-profile/schema.cjs +12 -16
- package/dist/sandbox/docker-profile/schema.cjs.map +1 -1
- package/dist/sandbox/docker-profile/schema.d.cts +2 -6
- package/dist/sandbox/docker-profile/schema.d.mts +2 -6
- package/dist/sandbox/docker-profile/schema.d.ts +2 -6
- package/dist/sandbox/docker-profile/schema.js +24 -32
- package/dist/sandbox/incus.cjs +2 -2
- package/dist/sandbox/incus.cjs.map +1 -1
- package/dist/sandbox/index.cjs +4 -35
- package/dist/sandbox/index.cjs.map +1 -1
- package/dist/sandbox/index.d.cts +4 -8
- package/dist/sandbox/index.d.mts +4 -8
- package/dist/sandbox/index.d.ts +4 -8
- package/dist/sandbox/index.js +116 -172
- package/dist/sandbox/index.mjs +116 -172
- package/dist/sandbox/layer.cjs +3 -3
- package/dist/sandbox/layer.cjs.map +1 -1
- package/dist/sandbox/link.cjs +5 -0
- package/dist/sandbox/link.cjs.map +1 -1
- package/dist/sandbox/link.d.cts +3 -0
- package/dist/sandbox/link.d.mts +3 -0
- package/dist/sandbox/link.d.ts +3 -0
- package/dist/sandbox/runtime.cjs +9 -4
- package/dist/sandbox/runtime.cjs.map +1 -1
- package/dist/shared/failure-class.cjs +5 -5
- package/dist/shared/failure-class.cjs.map +1 -1
- package/dist/shared/failure-class.d.cts +4 -10
- package/dist/shared/failure-class.d.mts +4 -10
- package/dist/shared/failure-class.d.ts +4 -10
- package/dist/shared/types.cjs.map +1 -1
- package/dist/shared/types.d.cts +1 -1
- package/dist/shared/types.d.mts +1 -1
- package/dist/shared/types.d.ts +1 -1
- package/dist/show/contribution.cjs +17 -2
- package/dist/show/contribution.cjs.map +1 -1
- package/dist/show/contribution.d.cts +14 -0
- package/dist/show/contribution.d.mts +14 -0
- package/dist/show/contribution.d.ts +14 -0
- package/dist/show/model.cjs +8 -5
- package/dist/show/model.cjs.map +1 -1
- package/dist/show/model.d.cts +11 -8
- package/dist/show/model.d.mts +11 -8
- package/dist/show/model.d.ts +11 -8
- package/dist/show/render.cjs +34 -22
- package/dist/show/render.cjs.map +1 -1
- package/dist/sources/projector.cjs +1 -1
- package/dist/sources/projector.cjs.map +1 -1
- package/dist/types.cjs +1 -1
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +1 -1
- package/dist/types.d.mts +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.js +2 -2
- package/dist/view/app-dist/.vite/manifest.json +2 -2
- package/dist/view/app-dist/assets/{index-B3ijZRph.js → index-CxrOUvHC.js} +17 -17
- package/dist/view/app-dist/assets/{quality-cost-scatter-B--DfJ9s.js → quality-cost-scatter-B6Aiss7x.js} +1 -1
- package/dist/view/app-dist/index.html +1 -1
- package/dist/view/cli/contribution.cjs +1 -1
- package/dist/view/cli/contribution.cjs.map +1 -1
- package/dist/view/function-runtime.mjs +318 -121
- package/dist/view/http-protocol.d.cts +1 -1
- package/dist/view/http-protocol.d.mts +1 -1
- package/dist/view/http-protocol.d.ts +1 -1
- package/dist/view/inspection-host.cjs +2 -2
- package/dist/view/inspection-host.cjs.map +1 -1
- package/dist/view/inspection-host.d.cts +349 -331
- package/dist/view/inspection-host.d.mts +349 -331
- package/dist/view/inspection-host.d.ts +349 -331
- package/docs-site/zh/examples/integrations/ai-sdk-v7.mdx +6 -6
- package/docs-site/zh/examples/integrations/claude-sdk.mdx +5 -5
- package/docs-site/zh/examples/integrations/codex-sdk.mdx +4 -4
- package/docs-site/zh/examples/integrations/langgraph.mdx +4 -4
- package/docs-site/zh/examples/integrations/pi-sdk.mdx +5 -5
- package/docs-site/zh/explanation/adapter.mdx +6 -6
- package/docs-site/zh/explanation/assert.mdx +7 -7
- package/docs-site/zh/explanation/drive.mdx +4 -4
- package/docs-site/zh/explanation/hitl.mdx +2 -2
- package/docs-site/zh/explanation/judge.mdx +2 -2
- package/docs-site/zh/introduction.mdx +2 -2
- package/docs-site/zh/reference/builtin-agents.mdx +46 -49
- package/docs-site/zh/reference/cli.mdx +16 -14
- package/docs-site/zh/reference/define-agent.mdx +19 -19
- package/docs-site/zh/reference/define-config.mdx +7 -15
- package/docs-site/zh/reference/define-eval.mdx +20 -14
- package/docs-site/zh/reference/define-experiment.mdx +18 -39
- package/docs-site/zh/reference/events.mdx +1 -1
- package/docs-site/zh/reference/expect.mdx +21 -0
- package/docs-site/zh/reference/official-adapters.mdx +12 -5
- package/docs-site/zh/troubleshooting/debugging.mdx +2 -2
- package/docs-site/zh/troubleshooting/recover-after-kill.mdx +1 -1
- package/docs-site/zh/tutorials/agent-onboarding.mdx +2 -2
- package/docs-site/zh/tutorials/authoring.mdx +2 -2
- package/docs-site/zh/tutorials/compare-runs.mdx +1 -1
- package/docs-site/zh/tutorials/concurrency.mdx +8 -8
- package/docs-site/zh/tutorials/configuration.mdx +5 -5
- package/docs-site/zh/tutorials/control-run-cost.mdx +19 -19
- package/docs-site/zh/tutorials/eval-groups.mdx +1 -1
- package/docs-site/zh/tutorials/evaluation-kinds.mdx +5 -5
- package/docs-site/zh/tutorials/experiment-services.mdx +32 -32
- package/docs-site/zh/tutorials/handle-execution-failures.mdx +2 -28
- package/docs-site/zh/tutorials/plugins.mdx +49 -143
- package/docs-site/zh/tutorials/sandbox-agent.mdx +1 -1
- package/docs-site/zh/tutorials/sandbox-reuse.mdx +7 -7
- package/docs-site/zh/tutorials/upgrade-0-18.mdx +1 -1
- package/docs-site/zh/tutorials/upgrade-0-19.mdx +121 -0
- package/docs-site/zh/tutorials/upgrade-0-20.mdx +12 -0
- package/docs-site/zh/tutorials/verify-judge.mdx +2 -2
- package/docs-site/zh/tutorials/viewing-results.mdx +2 -2
- package/docs-site/zh/tutorials/write-experiment.mdx +1 -1
- package/docs-site/zh/tutorials/write-send.mdx +13 -13
- package/package.json +1 -1
- package/dist/agents/effect-runtime.cjs.map +0 -1
- package/dist/agents/effect-runtime.d.cts +0 -29
- package/dist/agents/effect-runtime.d.mts +0 -29
- package/dist/agents/effect-runtime.d.ts +0 -29
- package/dist/agents/effect-runtime.js +0 -16
- package/dist/agents/effect-runtime.js.map +0 -1
- package/dist/agents/session-slot.cjs.map +0 -1
- package/dist/agents/session-slot.d.cts +0 -12
- package/dist/agents/session-slot.d.mts +0 -12
- package/dist/agents/session-slot.d.ts +0 -12
- package/dist/agents/session-slot.js +0 -6
- package/dist/agents/session-slot.js.map +0 -1
- package/dist/model-slots.js +0 -14
- package/dist/model-slots.js.map +0 -1
package/dist/agents/types.d.cts
CHANGED
|
@@ -7,8 +7,8 @@ import type { SandboxLayer } from "../sandbox/layer.cjs";
|
|
|
7
7
|
import type { AttemptRef, MaybePromise, SandboxCommandTarget, StableSandboxCommand } from "../sandbox/commands.cjs";
|
|
8
8
|
import type { RegisteredSandboxContent } from "../sandbox/content.cjs";
|
|
9
9
|
import type { SendFailureClassifier } from "../context/send-failures.cjs";
|
|
10
|
-
import type {
|
|
11
|
-
export type {
|
|
10
|
+
import type { SessionKey } from "./session-key.cjs";
|
|
11
|
+
export type { SessionKey } from "./session-key.cjs";
|
|
12
12
|
/**
|
|
13
13
|
* 本地 stdio 形态的 MCP server:沙箱内起子进程,按 stdio 说 MCP 协议。
|
|
14
14
|
* 与 {@link McpHttpServer} 按形状判别(有 `command` 的是 stdio,有 `url` 的是 HTTP)。
|
|
@@ -45,8 +45,8 @@ export interface McpHttpServer {
|
|
|
45
45
|
/**
|
|
46
46
|
* MCP server 描述符 —— 支持 MCP 的 adapter(Claude Code / Codex)共用的工具服务单元,
|
|
47
47
|
* 不是 native plugin 的一种。stdio 与 Streamable HTTP 两种形态按形状判别,不设 kind 标签
|
|
48
|
-
* (两种形态各有唯一必填判别字段);同时给出 `command` 与 `url` 属配置错误,
|
|
49
|
-
* 在 agent factory config 里声明,
|
|
48
|
+
* (两种形态各有唯一必填判别字段);同时给出 `command` 与 `url` 属配置错误,before 报错点名。
|
|
49
|
+
* 在 agent factory config 里声明,before 阶段写进各自的配置文件。
|
|
50
50
|
* 见 docs/feature/adapters/architecture/coding-agent-extensions.md「类型边界」。
|
|
51
51
|
*/
|
|
52
52
|
export type McpServer = McpStdioServer | McpHttpServer;
|
|
@@ -65,13 +65,13 @@ export type SkillSpec = {
|
|
|
65
65
|
kind: "repo";
|
|
66
66
|
/** GitHub `owner/repo` 或 Git URL。 */
|
|
67
67
|
source: string;
|
|
68
|
-
/** 多 Skill Repo 中要启用的 Skill;repo 只有一个 Skill 时可省略,多个时省略即
|
|
68
|
+
/** 多 Skill Repo 中要启用的 Skill;repo 只有一个 Skill 时可省略,多个时省略即 before 失败。 */
|
|
69
69
|
skills?: readonly string[];
|
|
70
70
|
/** Tag、Commit 或 Branch;省略表示 repo 默认 ref。 */
|
|
71
71
|
ref?: string;
|
|
72
72
|
};
|
|
73
73
|
/** Manifest 里的一条 Skill 安装记录:本地(带内容哈希)或 repo(带来源与 ref)。 */
|
|
74
|
-
export type
|
|
74
|
+
export type AgentInstallationSkill = {
|
|
75
75
|
kind: "local";
|
|
76
76
|
name: string;
|
|
77
77
|
path: string;
|
|
@@ -83,15 +83,15 @@ export type AgentSetupSkill = {
|
|
|
83
83
|
skills: string[];
|
|
84
84
|
};
|
|
85
85
|
/**
|
|
86
|
-
* 一次 Agent
|
|
87
|
-
* `ctx.
|
|
86
|
+
* 一次 Agent before 实际装了什么 —— 沙箱型 Coding Agent Adapter 在 before 收尾经
|
|
87
|
+
* `ctx.reportInstallation()` 交回的安装清单。它是宿主侧内存对象,运行器把它作为 attempt artifact 存成
|
|
88
88
|
* `agent-setup.json`(见 docs/feature/record/architecture.md);沙箱磁盘上不落它。不参与评分,
|
|
89
89
|
* 只回答「这次实际装了什么」;**环境变量值与 secret 不写进来**(所以 mcpServers 只记
|
|
90
90
|
* name/command/args)。
|
|
91
91
|
*/
|
|
92
|
-
export interface
|
|
92
|
+
export interface AgentInstallationManifest {
|
|
93
93
|
/** 装进去的 Skill(按配置顺序;同名来自多个来源时逐条保留,不静默合并)。 */
|
|
94
|
-
skills:
|
|
94
|
+
skills: AgentInstallationSkill[];
|
|
95
95
|
/** Agent 原生 Plugin(Claude Code / Codex 各自的 Marketplace 协议)。 */
|
|
96
96
|
nativePlugins?: Array<{
|
|
97
97
|
agent: "claude-code" | "codex";
|
|
@@ -229,7 +229,7 @@ export interface Telemetry {
|
|
|
229
229
|
}
|
|
230
230
|
/**
|
|
231
231
|
* agent 的 OTLP 导出配置 —— 「沙箱里怎么让这个 CLI 把 trace 发到 endpoint」。
|
|
232
|
-
* 刻意从
|
|
232
|
+
* 刻意从 before 里拆出来:before 管运行配置,这里只管 otel 导出。CLI 安装归 `agent.ensure`。两种投递方式
|
|
233
233
|
* (互不排斥,按 CLI 而定):
|
|
234
234
|
* · env-based(标准 OTEL_* 环境变量,如 bub/Python OTel SDK)—— 用 `env`;
|
|
235
235
|
* · file-based(CLI 自有配置文件,如 codex 的 config.toml [otel] 块)—— 用 `configure`。
|
|
@@ -257,8 +257,8 @@ export interface AgentTracing {
|
|
|
257
257
|
env?(endpoint: string): globalThis.Record<string, string>;
|
|
258
258
|
/**
|
|
259
259
|
* file-based 导出:给 sandbox + ctx(ctx.telemetry.endpoint 必有),自己写 / 追加配置文件。
|
|
260
|
-
* 运行器在 agent.
|
|
261
|
-
* 注:codex 的 [otel.trace_exporter.otlp-http] 是子表,configure 在
|
|
260
|
+
* 运行器在 agent.before 之后、首次 send 之前调一次(仅当 tracing 开 + 有 endpoint)。
|
|
261
|
+
* 注:codex 的 [otel.trace_exporter.otlp-http] 是子表,configure 在 before 写完主配置后
|
|
262
262
|
* 追加到 config.toml 末尾,天然满足「子表在所有上层表之后」。
|
|
263
263
|
*/
|
|
264
264
|
configure?(sandbox: Sandbox, ctx: SandboxAgentContext): Promise<void> | void;
|
|
@@ -267,19 +267,19 @@ export interface AgentTracing {
|
|
|
267
267
|
* 一条会话线。核心承诺只有一句:**同一条会话线的每次 send 拿到同一个 `ctx.session`,
|
|
268
268
|
* 新会话线(eval 第一轮 / t.newSession() 之后)拿到一个全新的。**
|
|
269
269
|
* 服务端历史用 `id` / `capture`,客户端历史与 HITL 停轮现场用 Adapter
|
|
270
|
-
* 私有的 typed
|
|
270
|
+
* 私有的 typed key。"第一轮"是新会话线的自然形态,没有要判断的分支。
|
|
271
271
|
*/
|
|
272
272
|
export interface AgentSession {
|
|
273
273
|
/** 会话续接:服务端记历史。本线记过的会话 id;新会话线是 undefined。 */
|
|
274
274
|
readonly id?: string;
|
|
275
275
|
/** 记回传的会话 id;只在还没记过时落地(first-writer-wins),空值忽略。 */
|
|
276
276
|
capture(id: string | undefined): void;
|
|
277
|
-
/** 读 Adapter 私有
|
|
278
|
-
get<T>(
|
|
279
|
-
/** 写 Adapter 私有
|
|
280
|
-
set<T>(
|
|
281
|
-
/** 读并删除 Adapter 私有
|
|
282
|
-
take<T>(
|
|
277
|
+
/** 读 Adapter 私有 key;新会话线或未写过的 key 为空。 */
|
|
278
|
+
get<T>(key: SessionKey<T>): T | undefined;
|
|
279
|
+
/** 写 Adapter 私有 key;同一 key 再写覆盖旧值。 */
|
|
280
|
+
set<T>(key: SessionKey<T>, value: T): void;
|
|
281
|
+
/** 读并删除 Adapter 私有 key,只消费一次。 */
|
|
282
|
+
take<T>(key: SessionKey<T>): T | undefined;
|
|
283
283
|
}
|
|
284
284
|
/** Runner-owned Attempt resource registry; adapters use it for cross-send drivers. */
|
|
285
285
|
export interface AttemptResourceRegistry {
|
|
@@ -297,7 +297,7 @@ export interface AgentContext {
|
|
|
297
297
|
* `Effect.timeoutTo` 兜底强制收尾(停 Sandbox 容器)。
|
|
298
298
|
*/
|
|
299
299
|
readonly signal: AbortSignal;
|
|
300
|
-
/** 本次 attempt 用的模型名,透传自 experiment 的 `model` 字段。sandbox 型 agent 通常在
|
|
300
|
+
/** 本次 attempt 用的模型名,透传自 experiment 的 `model` 字段。sandbox 型 agent 通常在 before 里用它写配置,direct 型通常在 send 里用它选模型。 */
|
|
301
301
|
readonly model?: string;
|
|
302
302
|
/** 模型推理努力程度;归属同 model——实验决定,省略时不覆盖 agent 原生默认。 */
|
|
303
303
|
readonly reasoningEffort?: string;
|
|
@@ -342,7 +342,7 @@ export interface AgentContext {
|
|
|
342
342
|
/**
|
|
343
343
|
* 作用域反馈:报告此刻正在做什么(turn / tool / 安装进度)。短命状态——Human profile
|
|
344
344
|
* 更新 active 行,`agent`/`ci` 不逐条打印,也不进最终结果;不要每个 token/delta 都调用。
|
|
345
|
-
* runner 按当前回调所处的生命周期阶段(agent.
|
|
345
|
+
* runner 按当前回调所处的生命周期阶段(agent.before / agent.run / agent.after)归因,
|
|
346
346
|
* 调用方不能冒充其它阶段(见 docs/feature/experiments/library.md)。
|
|
347
347
|
*/
|
|
348
348
|
progress(update: ProgressUpdate): void;
|
|
@@ -362,39 +362,40 @@ export interface AgentContext {
|
|
|
362
362
|
export interface SandboxAgentContext extends AgentContext {
|
|
363
363
|
readonly sandbox: Sandbox;
|
|
364
364
|
}
|
|
365
|
-
/** Per-send context;
|
|
366
|
-
export interface AgentSendContext extends
|
|
365
|
+
/** Per-send context; before and after deliberately never receive a turn identity. */
|
|
366
|
+
export interface AgentSendContext extends SandboxAgentContext {
|
|
367
367
|
readonly turnId: import("../record/family/source-receipt/model.cjs").TurnId;
|
|
368
368
|
}
|
|
369
|
-
export interface SandboxAgentSendContext extends
|
|
370
|
-
readonly turnId: import("../record/family/source-receipt/model.cjs").TurnId;
|
|
369
|
+
export interface SandboxAgentSendContext extends AgentSendContext {
|
|
371
370
|
}
|
|
372
371
|
/**
|
|
373
|
-
* Agent `
|
|
374
|
-
* 安装事实在这一步产生,`send` / `
|
|
372
|
+
* Agent `before` 的上下文:沙箱上下文再加一条宿主侧安装清单回执通道。只有 `before` 收得到它——
|
|
373
|
+
* 安装事实在这一步产生,`send` / `after` 不再补写。
|
|
375
374
|
*/
|
|
376
|
-
export interface
|
|
375
|
+
export interface AgentBeforeContext extends SandboxAgentContext {
|
|
377
376
|
/**
|
|
378
377
|
* 交回这次实际安装了什么(Skill / 原生 Plugin / MCP / 原生配置文件)。清单是宿主侧内存对象,
|
|
379
378
|
* 运行器直接存成 attempt artifact `agent-setup.json`;沙箱里不落任何框架文件
|
|
380
379
|
* (见 docs/observability.md「宿主侧行为断言:t.o11y」)。什么都没装就别调——空清单不生成
|
|
381
|
-
* artifact。同一次 `
|
|
380
|
+
* artifact。同一次 `before` 内多次调用后写覆盖先写。
|
|
382
381
|
*/
|
|
383
|
-
|
|
382
|
+
reportInstallation(manifest: AgentInstallationManifest): void;
|
|
384
383
|
}
|
|
385
384
|
/**
|
|
386
385
|
* agent 自己的沙箱运行时生命周期(每个 Attempt 一次,与「每轮 send」分开):
|
|
387
|
-
* CLI 安装属于 runner 的 agent.ensure;`
|
|
388
|
-
* 跑起来(第一次 fresh / 后续 resume)+ 解析 transcript,`
|
|
389
|
-
* 运行器在 layer prepare → agent.ensure → baseline 后、第一次 send 前调一次 `
|
|
390
|
-
* `
|
|
391
|
-
* 的现场同样要扫尾),在 finally 里跑。要把 `
|
|
386
|
+
* CLI 安装属于 runner 的 agent.ensure;`before` 只写 model/base/auth 等本 Attempt 运行配置,`send` 只管把一轮 prompt
|
|
387
|
+
* 跑起来(第一次 fresh / 后续 resume)+ 解析 transcript,`after` 清理。
|
|
388
|
+
* 运行器在 layer prepare → agent.ensure → baseline 后、第一次 send 前调一次 `before`,不返回值;
|
|
389
|
+
* `after` 当且仅当本 attempt 走到过 `before` 时点才执行(`before` 抛错不豁免——半初始化
|
|
390
|
+
* 的现场同样要扫尾),在 finally 里跑。要把 `before` 里创建的句柄传给 `after`,以
|
|
392
391
|
* `sandbox` 实例为键存取(同一个 Agent 实例服务并发 attempt,不要用实例字段或模块变量)。
|
|
393
392
|
*/
|
|
394
|
-
export
|
|
395
|
-
|
|
396
|
-
export type
|
|
397
|
-
export type
|
|
393
|
+
export interface SandboxAgentBeforeContext extends AgentBeforeContext {
|
|
394
|
+
}
|
|
395
|
+
export type AgentBefore = (sandbox: Sandbox, ctx: AgentBeforeContext) => MaybePromise<void>;
|
|
396
|
+
export type AgentAfter = (sandbox: Sandbox, ctx: SandboxAgentContext) => MaybePromise<void>;
|
|
397
|
+
export type DirectAgentBefore = (ctx: AgentContext) => MaybePromise<void>;
|
|
398
|
+
export type DirectAgentAfter = (ctx: AgentContext) => MaybePromise<void>;
|
|
398
399
|
/**
|
|
399
400
|
* 本 agent 的原生 OTLP span → canonical GenAI semconv 的薄 mapper。
|
|
400
401
|
* 由 adapter 声明(和 tracing.env 一样属于「连到谁」的特殊性),core 只调接口——
|
|
@@ -413,8 +414,8 @@ interface AgentBase {
|
|
|
413
414
|
/**
|
|
414
415
|
* 可选 send 执行失败分类器:归类 adapter reject 的 `SendFailure`;可信的 failed Turn
|
|
415
416
|
* 是领域结果,不进入这条链。
|
|
416
|
-
* 返回 `undefined`
|
|
417
|
-
*
|
|
417
|
+
* 返回 `undefined` 表示不认识、回落保守兜底。抛出点的内建失败声明优先。
|
|
418
|
+
* 分类器只声明决策轴与诊断词,不影响重试策略(次数、
|
|
418
419
|
* 退避对所有 agent 一致);抛错按 `undefined` 回落并被吞掉,不掩盖原始失败。形状与分类链、
|
|
419
420
|
* 执行体时序见 docs/feature/error-classification/architecture.md。
|
|
420
421
|
*/
|
|
@@ -533,22 +534,22 @@ export interface SandboxAgent extends AgentBase {
|
|
|
533
534
|
readonly kind: "sandbox";
|
|
534
535
|
/** Adapter-owned command-only contribution to the unified Sandbox action DAG. */
|
|
535
536
|
readonly sandbox?: SandboxLayer<"command-only">;
|
|
536
|
-
/** Runner 在 author layers 后、
|
|
537
|
+
/** Runner 在 author layers 后、before 前按声明顺序执行。 */
|
|
537
538
|
readonly ensure: readonly AgentEnsure[];
|
|
538
539
|
/** 官方或第三方随 adapter 提供的安装层;仅 identity 精确匹配时可接手。 */
|
|
539
540
|
readonly installers: readonly AgentInstaller[];
|
|
540
|
-
|
|
541
|
+
before?: AgentBefore;
|
|
541
542
|
tracing?: AgentTracing;
|
|
542
543
|
send(input: TurnInput, ctx: SandboxAgentSendContext): Promise<Turn>;
|
|
543
|
-
|
|
544
|
+
after?: AgentAfter;
|
|
544
545
|
}
|
|
545
546
|
/** 由 runner 直接调用函数、SDK 或服务端点的 Agent;目标进程可以在本地或远端。 */
|
|
546
547
|
export interface DirectAgent extends AgentBase {
|
|
547
548
|
readonly kind: "direct";
|
|
548
|
-
|
|
549
|
+
before?: DirectAgentBefore;
|
|
549
550
|
tracing?: Omit<AgentTracing, "configure">;
|
|
550
551
|
send(input: TurnInput, ctx: AgentSendContext): Promise<Turn>;
|
|
551
|
-
|
|
552
|
+
after?: DirectAgentAfter;
|
|
552
553
|
}
|
|
553
554
|
/** 注册表里的 Agent;判别值描述驱动拓扑,不描述目标所在位置。 */
|
|
554
555
|
export type Agent = SandboxAgent | DirectAgent;
|
|
@@ -572,8 +573,8 @@ export interface SandboxAgentDef {
|
|
|
572
573
|
* 本 Attempt 内不变的运行配置)。CLI 的 probe、安装与复检属于 `agent.ensure`。运行器在 Sandbox
|
|
573
574
|
* 备好(layer prepare/ensure/baseline 之后)、第一次 send 前调用一次,不返回值。
|
|
574
575
|
*/
|
|
575
|
-
|
|
576
|
-
/** OTLP 导出配置:Sandbox 里怎么让 CLI 把 trace 发到 endpoint(env / 配置文件),从
|
|
576
|
+
before?: AgentBefore;
|
|
577
|
+
/** OTLP 导出配置:Sandbox 里怎么让 CLI 把 trace 发到 endpoint(env / 配置文件),从 before 拆出。 */
|
|
577
578
|
tracing?: AgentTracing;
|
|
578
579
|
/** 原生 span → canonical 的薄 mapper;省略走通用 heuristic。只影响瀑布图。 */
|
|
579
580
|
spanMapper?: SpanMapper;
|
|
@@ -581,9 +582,9 @@ export interface SandboxAgentDef {
|
|
|
581
582
|
send(input: TurnInput, ctx: SandboxAgentSendContext): Promise<Turn>;
|
|
582
583
|
/** 可选 send 执行失败分类器:见 `Agent.classifySendFailure`。 */
|
|
583
584
|
classifySendFailure?: SendFailureClassifier;
|
|
584
|
-
/** Sandbox 销毁前的清理,当且仅当本 attempt 走到过 `
|
|
585
|
+
/** Sandbox 销毁前的清理,当且仅当本 attempt 走到过 `before` 时点才执行(`before` 抛错不豁免),
|
|
585
586
|
* 在 finally 里跑一次。 */
|
|
586
|
-
|
|
587
|
+
after?: AgentAfter;
|
|
587
588
|
}
|
|
588
589
|
/** `defineAgent()` 的入参形状(见 src/define.ts)——`kind: "direct"` 由 define 固定填入,不由用户声明。 */
|
|
589
590
|
export interface DirectAgentDef {
|
|
@@ -594,7 +595,7 @@ export interface DirectAgentDef {
|
|
|
594
595
|
/**
|
|
595
596
|
* 每个 attempt 一次。Direct Agent 不接收 Sandbox;常用于建立连接、鉴权等一次性准备。
|
|
596
597
|
*/
|
|
597
|
-
|
|
598
|
+
before?: DirectAgentBefore;
|
|
598
599
|
/** OTLP 导出配置:被测对象怎么把 trace 发到 endpoint(env-based 注入)。 */
|
|
599
600
|
tracing?: Omit<AgentTracing, "configure">;
|
|
600
601
|
/** 原生 span → canonical 的薄 mapper;省略走通用 heuristic。只影响瀑布图。 */
|
|
@@ -603,7 +604,7 @@ export interface DirectAgentDef {
|
|
|
603
604
|
send(input: TurnInput, ctx: AgentSendContext): Promise<Turn>;
|
|
604
605
|
/** 可选 send 执行失败分类器:见 `Agent.classifySendFailure`。 */
|
|
605
606
|
classifySendFailure?: SendFailureClassifier;
|
|
606
|
-
/** 运行结束前的清理,当且仅当本 attempt 走到过 `
|
|
607
|
+
/** 运行结束前的清理,当且仅当本 attempt 走到过 `before` 时点才执行(`before` 抛错不豁免),
|
|
607
608
|
* 在 finally 里跑一次。 */
|
|
608
|
-
|
|
609
|
+
after?: DirectAgentAfter;
|
|
609
610
|
}
|
package/dist/agents/types.d.mts
CHANGED
|
@@ -7,8 +7,8 @@ import type { SandboxLayer } from "../sandbox/layer.mjs";
|
|
|
7
7
|
import type { AttemptRef, MaybePromise, SandboxCommandTarget, StableSandboxCommand } from "../sandbox/commands.mjs";
|
|
8
8
|
import type { RegisteredSandboxContent } from "../sandbox/content.mjs";
|
|
9
9
|
import type { SendFailureClassifier } from "../context/send-failures.mjs";
|
|
10
|
-
import type {
|
|
11
|
-
export type {
|
|
10
|
+
import type { SessionKey } from "./session-key.mjs";
|
|
11
|
+
export type { SessionKey } from "./session-key.mjs";
|
|
12
12
|
/**
|
|
13
13
|
* 本地 stdio 形态的 MCP server:沙箱内起子进程,按 stdio 说 MCP 协议。
|
|
14
14
|
* 与 {@link McpHttpServer} 按形状判别(有 `command` 的是 stdio,有 `url` 的是 HTTP)。
|
|
@@ -45,8 +45,8 @@ export interface McpHttpServer {
|
|
|
45
45
|
/**
|
|
46
46
|
* MCP server 描述符 —— 支持 MCP 的 adapter(Claude Code / Codex)共用的工具服务单元,
|
|
47
47
|
* 不是 native plugin 的一种。stdio 与 Streamable HTTP 两种形态按形状判别,不设 kind 标签
|
|
48
|
-
* (两种形态各有唯一必填判别字段);同时给出 `command` 与 `url` 属配置错误,
|
|
49
|
-
* 在 agent factory config 里声明,
|
|
48
|
+
* (两种形态各有唯一必填判别字段);同时给出 `command` 与 `url` 属配置错误,before 报错点名。
|
|
49
|
+
* 在 agent factory config 里声明,before 阶段写进各自的配置文件。
|
|
50
50
|
* 见 docs/feature/adapters/architecture/coding-agent-extensions.md「类型边界」。
|
|
51
51
|
*/
|
|
52
52
|
export type McpServer = McpStdioServer | McpHttpServer;
|
|
@@ -65,13 +65,13 @@ export type SkillSpec = {
|
|
|
65
65
|
kind: "repo";
|
|
66
66
|
/** GitHub `owner/repo` 或 Git URL。 */
|
|
67
67
|
source: string;
|
|
68
|
-
/** 多 Skill Repo 中要启用的 Skill;repo 只有一个 Skill 时可省略,多个时省略即
|
|
68
|
+
/** 多 Skill Repo 中要启用的 Skill;repo 只有一个 Skill 时可省略,多个时省略即 before 失败。 */
|
|
69
69
|
skills?: readonly string[];
|
|
70
70
|
/** Tag、Commit 或 Branch;省略表示 repo 默认 ref。 */
|
|
71
71
|
ref?: string;
|
|
72
72
|
};
|
|
73
73
|
/** Manifest 里的一条 Skill 安装记录:本地(带内容哈希)或 repo(带来源与 ref)。 */
|
|
74
|
-
export type
|
|
74
|
+
export type AgentInstallationSkill = {
|
|
75
75
|
kind: "local";
|
|
76
76
|
name: string;
|
|
77
77
|
path: string;
|
|
@@ -83,15 +83,15 @@ export type AgentSetupSkill = {
|
|
|
83
83
|
skills: string[];
|
|
84
84
|
};
|
|
85
85
|
/**
|
|
86
|
-
* 一次 Agent
|
|
87
|
-
* `ctx.
|
|
86
|
+
* 一次 Agent before 实际装了什么 —— 沙箱型 Coding Agent Adapter 在 before 收尾经
|
|
87
|
+
* `ctx.reportInstallation()` 交回的安装清单。它是宿主侧内存对象,运行器把它作为 attempt artifact 存成
|
|
88
88
|
* `agent-setup.json`(见 docs/feature/record/architecture.md);沙箱磁盘上不落它。不参与评分,
|
|
89
89
|
* 只回答「这次实际装了什么」;**环境变量值与 secret 不写进来**(所以 mcpServers 只记
|
|
90
90
|
* name/command/args)。
|
|
91
91
|
*/
|
|
92
|
-
export interface
|
|
92
|
+
export interface AgentInstallationManifest {
|
|
93
93
|
/** 装进去的 Skill(按配置顺序;同名来自多个来源时逐条保留,不静默合并)。 */
|
|
94
|
-
skills:
|
|
94
|
+
skills: AgentInstallationSkill[];
|
|
95
95
|
/** Agent 原生 Plugin(Claude Code / Codex 各自的 Marketplace 协议)。 */
|
|
96
96
|
nativePlugins?: Array<{
|
|
97
97
|
agent: "claude-code" | "codex";
|
|
@@ -229,7 +229,7 @@ export interface Telemetry {
|
|
|
229
229
|
}
|
|
230
230
|
/**
|
|
231
231
|
* agent 的 OTLP 导出配置 —— 「沙箱里怎么让这个 CLI 把 trace 发到 endpoint」。
|
|
232
|
-
* 刻意从
|
|
232
|
+
* 刻意从 before 里拆出来:before 管运行配置,这里只管 otel 导出。CLI 安装归 `agent.ensure`。两种投递方式
|
|
233
233
|
* (互不排斥,按 CLI 而定):
|
|
234
234
|
* · env-based(标准 OTEL_* 环境变量,如 bub/Python OTel SDK)—— 用 `env`;
|
|
235
235
|
* · file-based(CLI 自有配置文件,如 codex 的 config.toml [otel] 块)—— 用 `configure`。
|
|
@@ -257,8 +257,8 @@ export interface AgentTracing {
|
|
|
257
257
|
env?(endpoint: string): globalThis.Record<string, string>;
|
|
258
258
|
/**
|
|
259
259
|
* file-based 导出:给 sandbox + ctx(ctx.telemetry.endpoint 必有),自己写 / 追加配置文件。
|
|
260
|
-
* 运行器在 agent.
|
|
261
|
-
* 注:codex 的 [otel.trace_exporter.otlp-http] 是子表,configure 在
|
|
260
|
+
* 运行器在 agent.before 之后、首次 send 之前调一次(仅当 tracing 开 + 有 endpoint)。
|
|
261
|
+
* 注:codex 的 [otel.trace_exporter.otlp-http] 是子表,configure 在 before 写完主配置后
|
|
262
262
|
* 追加到 config.toml 末尾,天然满足「子表在所有上层表之后」。
|
|
263
263
|
*/
|
|
264
264
|
configure?(sandbox: Sandbox, ctx: SandboxAgentContext): Promise<void> | void;
|
|
@@ -267,19 +267,19 @@ export interface AgentTracing {
|
|
|
267
267
|
* 一条会话线。核心承诺只有一句:**同一条会话线的每次 send 拿到同一个 `ctx.session`,
|
|
268
268
|
* 新会话线(eval 第一轮 / t.newSession() 之后)拿到一个全新的。**
|
|
269
269
|
* 服务端历史用 `id` / `capture`,客户端历史与 HITL 停轮现场用 Adapter
|
|
270
|
-
* 私有的 typed
|
|
270
|
+
* 私有的 typed key。"第一轮"是新会话线的自然形态,没有要判断的分支。
|
|
271
271
|
*/
|
|
272
272
|
export interface AgentSession {
|
|
273
273
|
/** 会话续接:服务端记历史。本线记过的会话 id;新会话线是 undefined。 */
|
|
274
274
|
readonly id?: string;
|
|
275
275
|
/** 记回传的会话 id;只在还没记过时落地(first-writer-wins),空值忽略。 */
|
|
276
276
|
capture(id: string | undefined): void;
|
|
277
|
-
/** 读 Adapter 私有
|
|
278
|
-
get<T>(
|
|
279
|
-
/** 写 Adapter 私有
|
|
280
|
-
set<T>(
|
|
281
|
-
/** 读并删除 Adapter 私有
|
|
282
|
-
take<T>(
|
|
277
|
+
/** 读 Adapter 私有 key;新会话线或未写过的 key 为空。 */
|
|
278
|
+
get<T>(key: SessionKey<T>): T | undefined;
|
|
279
|
+
/** 写 Adapter 私有 key;同一 key 再写覆盖旧值。 */
|
|
280
|
+
set<T>(key: SessionKey<T>, value: T): void;
|
|
281
|
+
/** 读并删除 Adapter 私有 key,只消费一次。 */
|
|
282
|
+
take<T>(key: SessionKey<T>): T | undefined;
|
|
283
283
|
}
|
|
284
284
|
/** Runner-owned Attempt resource registry; adapters use it for cross-send drivers. */
|
|
285
285
|
export interface AttemptResourceRegistry {
|
|
@@ -297,7 +297,7 @@ export interface AgentContext {
|
|
|
297
297
|
* `Effect.timeoutTo` 兜底强制收尾(停 Sandbox 容器)。
|
|
298
298
|
*/
|
|
299
299
|
readonly signal: AbortSignal;
|
|
300
|
-
/** 本次 attempt 用的模型名,透传自 experiment 的 `model` 字段。sandbox 型 agent 通常在
|
|
300
|
+
/** 本次 attempt 用的模型名,透传自 experiment 的 `model` 字段。sandbox 型 agent 通常在 before 里用它写配置,direct 型通常在 send 里用它选模型。 */
|
|
301
301
|
readonly model?: string;
|
|
302
302
|
/** 模型推理努力程度;归属同 model——实验决定,省略时不覆盖 agent 原生默认。 */
|
|
303
303
|
readonly reasoningEffort?: string;
|
|
@@ -342,7 +342,7 @@ export interface AgentContext {
|
|
|
342
342
|
/**
|
|
343
343
|
* 作用域反馈:报告此刻正在做什么(turn / tool / 安装进度)。短命状态——Human profile
|
|
344
344
|
* 更新 active 行,`agent`/`ci` 不逐条打印,也不进最终结果;不要每个 token/delta 都调用。
|
|
345
|
-
* runner 按当前回调所处的生命周期阶段(agent.
|
|
345
|
+
* runner 按当前回调所处的生命周期阶段(agent.before / agent.run / agent.after)归因,
|
|
346
346
|
* 调用方不能冒充其它阶段(见 docs/feature/experiments/library.md)。
|
|
347
347
|
*/
|
|
348
348
|
progress(update: ProgressUpdate): void;
|
|
@@ -362,39 +362,40 @@ export interface AgentContext {
|
|
|
362
362
|
export interface SandboxAgentContext extends AgentContext {
|
|
363
363
|
readonly sandbox: Sandbox;
|
|
364
364
|
}
|
|
365
|
-
/** Per-send context;
|
|
366
|
-
export interface AgentSendContext extends
|
|
365
|
+
/** Per-send context; before and after deliberately never receive a turn identity. */
|
|
366
|
+
export interface AgentSendContext extends SandboxAgentContext {
|
|
367
367
|
readonly turnId: import("../record/family/source-receipt/model.mjs").TurnId;
|
|
368
368
|
}
|
|
369
|
-
export interface SandboxAgentSendContext extends
|
|
370
|
-
readonly turnId: import("../record/family/source-receipt/model.mjs").TurnId;
|
|
369
|
+
export interface SandboxAgentSendContext extends AgentSendContext {
|
|
371
370
|
}
|
|
372
371
|
/**
|
|
373
|
-
* Agent `
|
|
374
|
-
* 安装事实在这一步产生,`send` / `
|
|
372
|
+
* Agent `before` 的上下文:沙箱上下文再加一条宿主侧安装清单回执通道。只有 `before` 收得到它——
|
|
373
|
+
* 安装事实在这一步产生,`send` / `after` 不再补写。
|
|
375
374
|
*/
|
|
376
|
-
export interface
|
|
375
|
+
export interface AgentBeforeContext extends SandboxAgentContext {
|
|
377
376
|
/**
|
|
378
377
|
* 交回这次实际安装了什么(Skill / 原生 Plugin / MCP / 原生配置文件)。清单是宿主侧内存对象,
|
|
379
378
|
* 运行器直接存成 attempt artifact `agent-setup.json`;沙箱里不落任何框架文件
|
|
380
379
|
* (见 docs/observability.md「宿主侧行为断言:t.o11y」)。什么都没装就别调——空清单不生成
|
|
381
|
-
* artifact。同一次 `
|
|
380
|
+
* artifact。同一次 `before` 内多次调用后写覆盖先写。
|
|
382
381
|
*/
|
|
383
|
-
|
|
382
|
+
reportInstallation(manifest: AgentInstallationManifest): void;
|
|
384
383
|
}
|
|
385
384
|
/**
|
|
386
385
|
* agent 自己的沙箱运行时生命周期(每个 Attempt 一次,与「每轮 send」分开):
|
|
387
|
-
* CLI 安装属于 runner 的 agent.ensure;`
|
|
388
|
-
* 跑起来(第一次 fresh / 后续 resume)+ 解析 transcript,`
|
|
389
|
-
* 运行器在 layer prepare → agent.ensure → baseline 后、第一次 send 前调一次 `
|
|
390
|
-
* `
|
|
391
|
-
* 的现场同样要扫尾),在 finally 里跑。要把 `
|
|
386
|
+
* CLI 安装属于 runner 的 agent.ensure;`before` 只写 model/base/auth 等本 Attempt 运行配置,`send` 只管把一轮 prompt
|
|
387
|
+
* 跑起来(第一次 fresh / 后续 resume)+ 解析 transcript,`after` 清理。
|
|
388
|
+
* 运行器在 layer prepare → agent.ensure → baseline 后、第一次 send 前调一次 `before`,不返回值;
|
|
389
|
+
* `after` 当且仅当本 attempt 走到过 `before` 时点才执行(`before` 抛错不豁免——半初始化
|
|
390
|
+
* 的现场同样要扫尾),在 finally 里跑。要把 `before` 里创建的句柄传给 `after`,以
|
|
392
391
|
* `sandbox` 实例为键存取(同一个 Agent 实例服务并发 attempt,不要用实例字段或模块变量)。
|
|
393
392
|
*/
|
|
394
|
-
export
|
|
395
|
-
|
|
396
|
-
export type
|
|
397
|
-
export type
|
|
393
|
+
export interface SandboxAgentBeforeContext extends AgentBeforeContext {
|
|
394
|
+
}
|
|
395
|
+
export type AgentBefore = (sandbox: Sandbox, ctx: AgentBeforeContext) => MaybePromise<void>;
|
|
396
|
+
export type AgentAfter = (sandbox: Sandbox, ctx: SandboxAgentContext) => MaybePromise<void>;
|
|
397
|
+
export type DirectAgentBefore = (ctx: AgentContext) => MaybePromise<void>;
|
|
398
|
+
export type DirectAgentAfter = (ctx: AgentContext) => MaybePromise<void>;
|
|
398
399
|
/**
|
|
399
400
|
* 本 agent 的原生 OTLP span → canonical GenAI semconv 的薄 mapper。
|
|
400
401
|
* 由 adapter 声明(和 tracing.env 一样属于「连到谁」的特殊性),core 只调接口——
|
|
@@ -413,8 +414,8 @@ interface AgentBase {
|
|
|
413
414
|
/**
|
|
414
415
|
* 可选 send 执行失败分类器:归类 adapter reject 的 `SendFailure`;可信的 failed Turn
|
|
415
416
|
* 是领域结果,不进入这条链。
|
|
416
|
-
* 返回 `undefined`
|
|
417
|
-
*
|
|
417
|
+
* 返回 `undefined` 表示不认识、回落保守兜底。抛出点的内建失败声明优先。
|
|
418
|
+
* 分类器只声明决策轴与诊断词,不影响重试策略(次数、
|
|
418
419
|
* 退避对所有 agent 一致);抛错按 `undefined` 回落并被吞掉,不掩盖原始失败。形状与分类链、
|
|
419
420
|
* 执行体时序见 docs/feature/error-classification/architecture.md。
|
|
420
421
|
*/
|
|
@@ -533,22 +534,22 @@ export interface SandboxAgent extends AgentBase {
|
|
|
533
534
|
readonly kind: "sandbox";
|
|
534
535
|
/** Adapter-owned command-only contribution to the unified Sandbox action DAG. */
|
|
535
536
|
readonly sandbox?: SandboxLayer<"command-only">;
|
|
536
|
-
/** Runner 在 author layers 后、
|
|
537
|
+
/** Runner 在 author layers 后、before 前按声明顺序执行。 */
|
|
537
538
|
readonly ensure: readonly AgentEnsure[];
|
|
538
539
|
/** 官方或第三方随 adapter 提供的安装层;仅 identity 精确匹配时可接手。 */
|
|
539
540
|
readonly installers: readonly AgentInstaller[];
|
|
540
|
-
|
|
541
|
+
before?: AgentBefore;
|
|
541
542
|
tracing?: AgentTracing;
|
|
542
543
|
send(input: TurnInput, ctx: SandboxAgentSendContext): Promise<Turn>;
|
|
543
|
-
|
|
544
|
+
after?: AgentAfter;
|
|
544
545
|
}
|
|
545
546
|
/** 由 runner 直接调用函数、SDK 或服务端点的 Agent;目标进程可以在本地或远端。 */
|
|
546
547
|
export interface DirectAgent extends AgentBase {
|
|
547
548
|
readonly kind: "direct";
|
|
548
|
-
|
|
549
|
+
before?: DirectAgentBefore;
|
|
549
550
|
tracing?: Omit<AgentTracing, "configure">;
|
|
550
551
|
send(input: TurnInput, ctx: AgentSendContext): Promise<Turn>;
|
|
551
|
-
|
|
552
|
+
after?: DirectAgentAfter;
|
|
552
553
|
}
|
|
553
554
|
/** 注册表里的 Agent;判别值描述驱动拓扑,不描述目标所在位置。 */
|
|
554
555
|
export type Agent = SandboxAgent | DirectAgent;
|
|
@@ -572,8 +573,8 @@ export interface SandboxAgentDef {
|
|
|
572
573
|
* 本 Attempt 内不变的运行配置)。CLI 的 probe、安装与复检属于 `agent.ensure`。运行器在 Sandbox
|
|
573
574
|
* 备好(layer prepare/ensure/baseline 之后)、第一次 send 前调用一次,不返回值。
|
|
574
575
|
*/
|
|
575
|
-
|
|
576
|
-
/** OTLP 导出配置:Sandbox 里怎么让 CLI 把 trace 发到 endpoint(env / 配置文件),从
|
|
576
|
+
before?: AgentBefore;
|
|
577
|
+
/** OTLP 导出配置:Sandbox 里怎么让 CLI 把 trace 发到 endpoint(env / 配置文件),从 before 拆出。 */
|
|
577
578
|
tracing?: AgentTracing;
|
|
578
579
|
/** 原生 span → canonical 的薄 mapper;省略走通用 heuristic。只影响瀑布图。 */
|
|
579
580
|
spanMapper?: SpanMapper;
|
|
@@ -581,9 +582,9 @@ export interface SandboxAgentDef {
|
|
|
581
582
|
send(input: TurnInput, ctx: SandboxAgentSendContext): Promise<Turn>;
|
|
582
583
|
/** 可选 send 执行失败分类器:见 `Agent.classifySendFailure`。 */
|
|
583
584
|
classifySendFailure?: SendFailureClassifier;
|
|
584
|
-
/** Sandbox 销毁前的清理,当且仅当本 attempt 走到过 `
|
|
585
|
+
/** Sandbox 销毁前的清理,当且仅当本 attempt 走到过 `before` 时点才执行(`before` 抛错不豁免),
|
|
585
586
|
* 在 finally 里跑一次。 */
|
|
586
|
-
|
|
587
|
+
after?: AgentAfter;
|
|
587
588
|
}
|
|
588
589
|
/** `defineAgent()` 的入参形状(见 src/define.ts)——`kind: "direct"` 由 define 固定填入,不由用户声明。 */
|
|
589
590
|
export interface DirectAgentDef {
|
|
@@ -594,7 +595,7 @@ export interface DirectAgentDef {
|
|
|
594
595
|
/**
|
|
595
596
|
* 每个 attempt 一次。Direct Agent 不接收 Sandbox;常用于建立连接、鉴权等一次性准备。
|
|
596
597
|
*/
|
|
597
|
-
|
|
598
|
+
before?: DirectAgentBefore;
|
|
598
599
|
/** OTLP 导出配置:被测对象怎么把 trace 发到 endpoint(env-based 注入)。 */
|
|
599
600
|
tracing?: Omit<AgentTracing, "configure">;
|
|
600
601
|
/** 原生 span → canonical 的薄 mapper;省略走通用 heuristic。只影响瀑布图。 */
|
|
@@ -603,7 +604,7 @@ export interface DirectAgentDef {
|
|
|
603
604
|
send(input: TurnInput, ctx: AgentSendContext): Promise<Turn>;
|
|
604
605
|
/** 可选 send 执行失败分类器:见 `Agent.classifySendFailure`。 */
|
|
605
606
|
classifySendFailure?: SendFailureClassifier;
|
|
606
|
-
/** 运行结束前的清理,当且仅当本 attempt 走到过 `
|
|
607
|
+
/** 运行结束前的清理,当且仅当本 attempt 走到过 `before` 时点才执行(`before` 抛错不豁免),
|
|
607
608
|
* 在 finally 里跑一次。 */
|
|
608
|
-
|
|
609
|
+
after?: DirectAgentAfter;
|
|
609
610
|
}
|