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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"failure-class.js","sourceRoot":"","sources":["failure-class.ts"],"names":[],"mappings":";;;AAyFA,wCAkBC;AA0CD,gDAaC;AAKD,wCAeC;AAKD,wCASC;AAOD,gEAKC;AAED,gDAGC;AA5MD,2DAA8H;AAqC9H,wCAAwC;AACxC,MAAM,iBAAiB,GAAG,yBAAyB,CAAC;AACpD;;;GAGG;AACH,SAAS,sBAAsB,CAAC,GAAY;IACxC,OAAO,GAAG,KAAK,iBAAiB,CAAC;AACrC,CAAC;AACD;;;;GAIG;AACH,MAAa,oBAAqB,SAAQ,KAAK;IAClC,IAAI,GAAG,iBAAiB,CAAC;IACzB,KAAK,GAAiB,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;IACzE,YAAY,OAAe,EAAE,OAE5B;QACG,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACvC,CAAC;CACJ;AATD,oDASC;AACD;;;GAGG;AACH,MAAa,cAAe,SAAQ,KAAK;IAC5B,IAAI,GAAG,iBAAiB,CAAC;IACzB,KAAK,GAAiB,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IACnE,YAAY,OAAe,EAAE,OAE5B;QACG,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IACjC,CAAC;CACJ;AATD,wCASC;AACD;;;;GAIG;AACH,SAAgB,cAAc,CAAC,KAAc;IACzC,IAAI,IAAA,mCAAe,EAAC,KAAK,CAAC;QACtB,OAAO,2BAA2B,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,OAAO,GAAY,KAAK,CAAC;IAC7B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,iBAAiB,IAAI,OAAO,IAAI,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACxE,IAAI,IAAA,mCAAe,EAAC,OAAO,CAAC;YACxB,OAAO,2BAA2B,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,OAGjB,CAAC;YACF,IAAI,sBAAsB,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC;gBACzE,OAAO,SAAS,CAAC,KAAK,CAAC;QAC/B,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AACD,SAAS,2BAA2B,CAAC,KAAoB;IACrD,IAAI,OAAO,GAAkB,KAAK,CAAC;IACnC,SAAS,CAAC;QACN,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC5E,OAAO,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC;QACtC,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO;YAC9B,OAAO,SAAS,CAAC;QACrB,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;IAClC,CAAC;AACL,CAAC;AACD,gDAAgD;AAChD,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,SAAS,OAAO,CAAC,KAAc;IAC3B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAE,KAEpD,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACzB,CAAC;AACD,SAAS,cAAc,CAAC,KAAc;IAClC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAC3C,OAAO,KAAK,CAAC;IACjB,MAAM,CAAC,GAAG,KAIT,CAAC;IACF,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,SAAS;QAChC,OAAO,KAAK,CAAC;IACjB,IAAI,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;QAC3C,OAAO,KAAK,CAAC;IACjB,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;QACtD,OAAO,KAAK,CAAC;IACjB,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,KAAK,YAAY;QAChG,OAAO,KAAK,CAAC;IACjB,OAAO,IAAI,CAAC;AAChB,CAAC;AACD;;;;GAIG;AACH,SAAgB,kBAAkB,CAAI,MAAS,EAAE,GAAiB;IAC9D,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;QAC7C,OAAO,MAAM,CAAC;IAClB,IAAI,cAAc,CAAC,MAAM,CAAC,KAAK,SAAS;QACpC,OAAO,MAAM,CAAC;IAClB,IAAI,CAAC;QACD,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3G,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;IAClG,CAAC;IACD,MAAM,CAAC;QACH,gDAAgD;IACpD,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AACD;;;GAGG;AACH,SAAgB,cAAc,CAAC,KAAc;IACzC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,GAAY,KAAK,CAAC;IAC7B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,iBAAiB,IAAI,OAAO,IAAI,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACxE,MAAM,SAAS,GAAG,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI;YAC7D,CAAC,CAAE,OAED,CAAC,OAAO;YACV,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,OAAO,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACzH,IAAI,OAAO;YACP,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AACD;;;GAGG;AACH,SAAgB,cAAc,CAAI,UAAkE,EAAE,OAAU;IAC5G,IAAI,CAAC,UAAU;QACX,OAAO,SAAS,CAAC;IACrB,IAAI,CAAC;QACD,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IACD,MAAM,CAAC;QACH,OAAO,SAAS,CAAC;IACrB,CAAC;AACL,CAAC;AACD;;;;;GAKG;AACH,SAAgB,0BAA0B,CAAC,IAAwB,EAAE,oBAA+C;IAChH,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,IAAI,QAAQ;QACR,OAAO,QAAQ,CAAC;IACpB,OAAO,cAAc,CAAC,oBAAoB,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AAC9E,CAAC;AACD,+CAA+C;AAC/C,SAAgB,kBAAkB,CAAC,KAAqB,EAAE,KAAc;IACpE,MAAM,KAAK,GAAG,IAAA,0CAAsB,EAAC,KAAK,CAAC,CAAC;IAC5C,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAA,6CAAyB,EAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;AACpE,CAAC","sourcesContent":["// 执行失败分类的词表、抛出点糖衣类与结构守卫——全仓唯一一份两轴词表,send 失败、生命周期\n// 阶段失败与 sandbox provisioning 失败说同一种语言(判据见\n// docs/feature/error-classification/README.md「分类」)。\n//\n// 本模块刻意零依赖(只 import type):公开面活在 Promise 世界,糖衣类不继承任何 effect 类型,\n// 生成的 .d.ts 零 effect 依赖(见 architecture.md「Effect 边界」)。send 链的实现在\n// src/context/send-failures.ts,provisioning 的内部分类在 src/sandbox/,两边各自实现、只共享\n// 这份词表。\nimport type { LifecyclePhase } from \"../runner/types.ts\";\nimport { externalCauseMessageChain, isExternalCause, normalizeExternalCause, type ExternalCause, } from \"./external-cause.ts\";\n/** 空间轴取值:失败死因的波及范围。 */\nexport type FailureScope = \"attempt\" | \"eval\" | \"experiment\";\n/**\n * 一次执行失败的分类:`retryable`(时间轴)与 `scope`(空间轴)是仅有的两条决策轴;\n * `reason` 是开放词表的细分诊断,只进 activity 与诊断文案,不参与策略。内建兜底产出\n * reason `\"rate_limit\"` / `\"network\"`;声明方可自造词。`scope` 缺省 `\"attempt\"`。\n *\n * `retryable: true` 时 `reason` 必填:可重试的失败一定出现在 activity 行与可能的耗尽摘要里,\n * 那里需要一个给人读的词;不可重试的失败常常说不清是什么(这正是它不可重试的原因)。\n */\nexport type FailureClass = {\n readonly retryable: true;\n readonly reason: string;\n readonly scope?: FailureScope;\n} | {\n readonly retryable: false;\n readonly reason?: string;\n readonly scope?: FailureScope;\n};\n/**\n * 实验级分类器的输入:本实验任意 per-attempt 阶段的一次终局失败。\n */\nexport interface AttemptFailureInfo {\n /** 失败发生在哪个生命周期阶段;send 执行失败恒为 `\"agent.run\"`。 */\n readonly phase: LifecyclePhase;\n /** 与报错文案同源的失败文本:SendFailure 取 `sendFailureText`,其它阶段取错误链 message。 */\n readonly text: string;\n /** 动态 throwable 的有界快照;分类器只能读取 typed facts/message/cause 链。 */\n readonly cause: ExternalCause;\n}\n/**\n * 实验可选分类器,挂载在 `ExperimentDef.classifyFailure`:识别自家共享基建的死因\n * (对自家隧道 host 的拒连一类)。返回 `undefined` 表示「不认识,交给后续链路」。\n * 分类器必须快、纯、不抛错——抛错按 `undefined` 回落并被吞掉,不掩盖原始失败。\n */\nexport type AttemptFailureClassifier = (failure: AttemptFailureInfo) => FailureClass | undefined;\n/** 携带分类的错误对象的判别字段值;识别只看这个数据字段,不看类身份。 */\nconst FAILURE_CLASS_TAG = \"NiceevalClassifiedError\";\n/**\n * 少数框架内部领域错误必须保留自己的 `_tag` 供 typed failure 分支识别,同时携带同一套空间轴。\n * 这里仍按 `_tag` + `class` 的纯数据形状识别,不依赖类身份。\n */\nfunction isClassifiedFailureTag(tag: unknown): boolean {\n return tag === FAILURE_CLASS_TAG;\n}\n/**\n * 从任意 per-attempt 阶段抛出:全实验剩余 attempt 同因必死,停止派发。\n * 携带 `{ retryable: false, scope: \"experiment\" }`,message 原样走完反馈流与\n * `dispatch-halted` 诊断——把它写成「现象 + 下一步」的修复提示。\n */\nexport class ExperimentFatalError extends Error {\n readonly _tag = FAILURE_CLASS_TAG;\n readonly class: FailureClass = { retryable: false, scope: \"experiment\" };\n constructor(message: string, options?: {\n cause?: unknown;\n }) {\n super(message, options);\n this.name = \"ExperimentFatalError\";\n }\n}\n/**\n * 从任意 per-attempt 阶段抛出:本 eval 剩余 attempt 同因必死,停止派发。\n * 携带 `{ retryable: false, scope: \"eval\" }`;message 同样是走完全程的修复提示。\n */\nexport class EvalFatalError extends Error {\n readonly _tag = FAILURE_CLASS_TAG;\n readonly class: FailureClass = { retryable: false, scope: \"eval\" };\n constructor(message: string, options?: {\n cause?: unknown;\n }) {\n super(message, options);\n this.name = \"EvalFatalError\";\n }\n}\n/**\n * 结构守卫:识别任何携带分类的错误对象(`_tag` + `class` 两个数据字段),沿 `cause` 链逐层\n * 查找、取**最外层**命中——糖衣类被上层库包装再抛时声明不丢失。识别不依赖 `instanceof`:\n * 依赖树里出现第二份 niceeval 实例(link、版本重复)时类身份静默失效,数据不会。\n */\nexport function failureClassOf(error: unknown): FailureClass | undefined {\n if (isExternalCause(error))\n return failureClassOfExternalCause(error);\n let current: unknown = error;\n for (let depth = 0; depth < CAUSE_CHAIN_DEPTH && current != null; depth++) {\n if (isExternalCause(current))\n return failureClassOfExternalCause(current);\n if (typeof current === \"object\") {\n const candidate = current as {\n _tag?: unknown;\n class?: unknown;\n };\n if (isClassifiedFailureTag(candidate._tag) && isFailureClass(candidate.class))\n return candidate.class;\n }\n current = causeOf(current);\n }\n return undefined;\n}\nfunction failureClassOfExternalCause(cause: ExternalCause): FailureClass | undefined {\n let current: ExternalCause = cause;\n for (;;) {\n if (current._tag !== \"ThrownValue\" && current.failureClass._tag === \"Present\") {\n return current.failureClass.value;\n }\n if (current.cause._tag !== \"Cause\")\n return undefined;\n current = current.cause.value;\n }\n}\n/** cause 链与错误文本串接共用的深度上限:防御自引用 / 病态深链,不做环检测。 */\nconst CAUSE_CHAIN_DEPTH = 5;\nfunction causeOf(value: unknown): unknown {\n return typeof value === \"object\" && value !== null ? (value as {\n cause?: unknown;\n }).cause : undefined;\n}\nfunction isFailureClass(value: unknown): value is FailureClass {\n if (typeof value !== \"object\" || value === null)\n return false;\n const v = value as {\n retryable?: unknown;\n reason?: unknown;\n scope?: unknown;\n };\n if (typeof v.retryable !== \"boolean\")\n return false;\n if (v.retryable && typeof v.reason !== \"string\")\n return false;\n if (v.reason !== undefined && typeof v.reason !== \"string\")\n return false;\n if (v.scope !== undefined && v.scope !== \"attempt\" && v.scope !== \"eval\" && v.scope !== \"experiment\")\n return false;\n return true;\n}\n/**\n * @internal 把框架决议出的分类挂到即将浮出的失败对象上,供 attempt 封口经 `failureClassOf`\n * 读取(止损闸的消费点)。两个字段都不可枚举——不进 JSON、不进 console 输出,只是路由标记;\n * 已携带分类的对象不覆盖(抛出点声明优先),不可写对象静默跳过(分类是旁路,不制造新失败)。\n */\nexport function attachFailureClass<T>(target: T, cls: FailureClass): T {\n if (typeof target !== \"object\" || target === null)\n return target;\n if (failureClassOf(target) !== undefined)\n return target;\n try {\n Object.defineProperty(target, \"_tag\", { value: FAILURE_CLASS_TAG, enumerable: false, configurable: true });\n Object.defineProperty(target, \"class\", { value: cls, enumerable: false, configurable: true });\n }\n catch {\n // 冻结 / 密封的错误对象:标记不上就算了,分类退化成 attempt 档,不掩盖原始失败。\n }\n return target;\n}\n/**\n * @internal 错误链(含 `cause` 链)的 message 串接:给人读的报错文案与给分类器看的失败文本\n * 用这同一段,不出现「报错说 A、分类看 B」。\n */\nexport function errorChainText(error: unknown): string {\n const parts: string[] = [];\n let current: unknown = error;\n for (let depth = 0; depth < CAUSE_CHAIN_DEPTH && current != null; depth++) {\n const candidate = typeof current === \"object\" && current !== null\n ? (current as {\n message?: unknown;\n }).message\n : undefined;\n const message = typeof candidate === \"string\" ? candidate : current instanceof Error ? current.message : String(current);\n if (message)\n parts.push(message);\n current = causeOf(current);\n }\n return parts.join(\" · \");\n}\n/**\n * @internal 调分类器的统一纪律:抛错按 `undefined` 回落(自身错误被吞掉,不得用新错误掩盖\n * 原始失败),返回值原样透出。turn 链与生命周期链共用这一处,两条链的纪律不会跑偏。\n */\nexport function callClassifier<T>(classifier: ((failure: T) => FailureClass | undefined) | undefined, failure: T) {\n if (!classifier)\n return undefined;\n try {\n return classifier(failure);\n }\n catch {\n return undefined;\n }\n}\n/**\n * @internal 生命周期阶段失败的分类链(三道):抛出点携带的分类 → 实验分类器 → 缺省\n * `{ retryable: false }`。这些位置(sandbox 钩子、`EvalDef.setup`、`test(t)` 体内、\n * per-attempt teardown)没有重试执行体,链上不挂产时间轴的兜底正则——时间轴即使给出也无人\n * 消费(见 architecture.md「分类链」)。\n */\nexport function resolveAttemptFailureClass(info: AttemptFailureInfo, experimentClassifier?: AttemptFailureClassifier): FailureClass {\n const declared = failureClassOf(info.cause);\n if (declared)\n return declared;\n return callClassifier(experimentClassifier, info) ?? { retryable: false };\n}\n/** @internal 从一个抛出的错误构造实验分类器的输入(文本与报错文案同源)。 */\nexport function attemptFailureInfo(phase: LifecyclePhase, error: unknown): AttemptFailureInfo {\n const cause = normalizeExternalCause(error);\n return { phase, text: externalCauseMessageChain(cause), cause };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"failure-class.js","sourceRoot":"","sources":["failure-class.ts"],"names":[],"mappings":"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","sourcesContent":["// 执行失败分类的词表、抛出点糖衣类与结构守卫——全仓唯一一份两轴词表,send 失败、生命周期\n// 阶段失败与 sandbox provisioning 失败说同一种语言(判据见\n// docs/feature/error-classification/README.md「分类」)。\n//\n// 本模块刻意零依赖(只 import type):公开面活在 Promise 世界,糖衣类不继承任何 effect 类型,\n// 生成的 .d.ts 零 effect 依赖(见 architecture.md「Effect 边界」)。send 链的实现在\n// src/context/send-failures.ts,provisioning 的内部分类在 src/sandbox/,两边各自实现、只共享\n// 这份词表。\nimport type { LifecyclePhase } from \"../runner/types.ts\";\nimport { externalCauseMessageChain, isExternalCause, normalizeExternalCause, type ExternalCause, } from \"./external-cause.ts\";\n/** 空间轴取值:失败死因的波及范围。 */\nexport type FailureScope = \"attempt\" | \"eval\" | \"experiment\";\n/**\n * 一次执行失败的分类:`retryable`(时间轴)与 `scope`(空间轴)是仅有的两条决策轴;\n * `reason` 是开放词表的细分诊断,只进 activity 与诊断文案,不参与策略。内建兜底产出\n * reason `\"rate_limit\"` / `\"network\"`;声明方可自造词。`scope` 缺省 `\"attempt\"`。\n *\n * `retryable: true` 时 `reason` 必填:可重试的失败一定出现在 activity 行与可能的耗尽摘要里,\n * 那里需要一个给人读的词;不可重试的失败常常说不清是什么(这正是它不可重试的原因)。\n */\nexport type FailureClass = {\n readonly retryable: true;\n readonly reason: string;\n readonly scope?: FailureScope;\n} | {\n readonly retryable: false;\n readonly reason?: string;\n readonly scope?: FailureScope;\n};\n/**\n * 实验级分类器的输入:本实验任意 per-attempt 阶段的一次终局失败。\n */\nexport interface AttemptFailureInfo {\n /** 失败发生在哪个生命周期阶段;send 执行失败恒为 `\"agent.run\"`。 */\n readonly phase: LifecyclePhase;\n /** 与报错文案同源的失败文本:SendFailure 取 `sendFailureText`,其它阶段取错误链 message。 */\n readonly text: string;\n /** 动态 throwable 的有界快照;分类器只能读取 typed facts/message/cause 链。 */\n readonly cause: ExternalCause;\n}\n/** 携带分类的错误对象的判别字段值;识别只看这个数据字段,不看类身份。 */\nconst FAILURE_CLASS_TAG = \"NiceevalClassifiedError\";\n/**\n * 少数框架内部领域错误必须保留自己的 `_tag` 供 typed failure 分支识别,同时携带同一套空间轴。\n * 这里仍按 `_tag` + `class` 的纯数据形状识别,不依赖类身份。\n */\nfunction isClassifiedFailureTag(tag: unknown): boolean {\n return tag === FAILURE_CLASS_TAG;\n}\n/**\n * 从任意 per-attempt 阶段抛出:全实验剩余 attempt 同因必死,停止派发。\n * 携带 `{ retryable: false, scope: \"experiment\" }`,message 原样走完反馈流与\n * `dispatch-halted` 诊断——把它写成「现象 + 下一步」的修复提示。\n */\nexport class ExperimentFatalError extends Error {\n readonly _tag = FAILURE_CLASS_TAG;\n readonly class: FailureClass = { retryable: false, scope: \"experiment\" };\n constructor(message: string, options?: {\n cause?: unknown;\n }) {\n super(message, options);\n this.name = \"ExperimentFatalError\";\n }\n}\n/**\n * 从任意 per-attempt 阶段抛出:本 eval 剩余 attempt 同因必死,停止派发。\n * 携带 `{ retryable: false, scope: \"eval\" }`;message 同样是走完全程的修复提示。\n */\nexport class EvalFatalError extends Error {\n readonly _tag = FAILURE_CLASS_TAG;\n readonly class: FailureClass = { retryable: false, scope: \"eval\" };\n constructor(message: string, options?: {\n cause?: unknown;\n }) {\n super(message, options);\n this.name = \"EvalFatalError\";\n }\n}\n/**\n * 结构守卫:识别任何携带分类的错误对象(`_tag` + `class` 两个数据字段),沿 `cause` 链逐层\n * 查找、取**最外层**命中——糖衣类被上层库包装再抛时声明不丢失。识别不依赖 `instanceof`:\n * 依赖树里出现第二份 niceeval 实例(link、版本重复)时类身份静默失效,数据不会。\n */\nexport function failureClassOf(error: unknown): FailureClass | undefined {\n if (isExternalCause(error))\n return failureClassOfExternalCause(error);\n let current: unknown = error;\n for (let depth = 0; depth < CAUSE_CHAIN_DEPTH && current != null; depth++) {\n if (isExternalCause(current))\n return failureClassOfExternalCause(current);\n if (typeof current === \"object\") {\n const candidate = current as {\n _tag?: unknown;\n class?: unknown;\n };\n if (isClassifiedFailureTag(candidate._tag) && isFailureClass(candidate.class))\n return candidate.class;\n }\n current = causeOf(current);\n }\n return undefined;\n}\nfunction failureClassOfExternalCause(cause: ExternalCause): FailureClass | undefined {\n let current: ExternalCause = cause;\n for (;;) {\n if (current._tag !== \"ThrownValue\" && current.failureClass._tag === \"Present\") {\n return current.failureClass.value;\n }\n if (current.cause._tag !== \"Cause\")\n return undefined;\n current = current.cause.value;\n }\n}\n/** cause 链与错误文本串接共用的深度上限:防御自引用 / 病态深链,不做环检测。 */\nconst CAUSE_CHAIN_DEPTH = 5;\nfunction causeOf(value: unknown): unknown {\n return typeof value === \"object\" && value !== null ? (value as {\n cause?: unknown;\n }).cause : undefined;\n}\nfunction isFailureClass(value: unknown): value is FailureClass {\n if (typeof value !== \"object\" || value === null)\n return false;\n const v = value as {\n retryable?: unknown;\n reason?: unknown;\n scope?: unknown;\n };\n if (typeof v.retryable !== \"boolean\")\n return false;\n if (v.retryable && typeof v.reason !== \"string\")\n return false;\n if (v.reason !== undefined && typeof v.reason !== \"string\")\n return false;\n if (v.scope !== undefined && v.scope !== \"attempt\" && v.scope !== \"eval\" && v.scope !== \"experiment\")\n return false;\n return true;\n}\n/**\n * @internal 把框架决议出的分类挂到即将浮出的失败对象上,供 attempt 封口经 `failureClassOf`\n * 读取(止损闸的消费点)。两个字段都不可枚举——不进 JSON、不进 console 输出,只是路由标记;\n * 已携带分类的对象不覆盖(抛出点声明优先),不可写对象静默跳过(分类是旁路,不制造新失败)。\n */\nexport function attachFailureClass<T>(target: T, cls: FailureClass): T {\n if (typeof target !== \"object\" || target === null)\n return target;\n if (failureClassOf(target) !== undefined)\n return target;\n try {\n Object.defineProperty(target, \"_tag\", { value: FAILURE_CLASS_TAG, enumerable: false, configurable: true });\n Object.defineProperty(target, \"class\", { value: cls, enumerable: false, configurable: true });\n }\n catch {\n // 冻结 / 密封的错误对象:标记不上就算了,分类退化成 attempt 档,不掩盖原始失败。\n }\n return target;\n}\n/**\n * @internal 错误链(含 `cause` 链)的 message 串接:给人读的报错文案与给分类器看的失败文本\n * 用这同一段,不出现「报错说 A、分类看 B」。\n */\nexport function errorChainText(error: unknown): string {\n const parts: string[] = [];\n let current: unknown = error;\n for (let depth = 0; depth < CAUSE_CHAIN_DEPTH && current != null; depth++) {\n const candidate = typeof current === \"object\" && current !== null\n ? (current as {\n message?: unknown;\n }).message\n : undefined;\n const message = typeof candidate === \"string\" ? candidate : current instanceof Error ? current.message : String(current);\n if (message)\n parts.push(message);\n current = causeOf(current);\n }\n return parts.join(\" · \");\n}\n/**\n * @internal 调分类器的统一纪律:抛错按 `undefined` 回落(自身错误被吞掉,不得用新错误掩盖\n * 原始失败),返回值原样透出。Adapter 的 send 分类链使用此处保护原始失败。\n */\nexport function callClassifier<T>(classifier: ((failure: T) => FailureClass | undefined) | undefined, failure: T) {\n if (!classifier)\n return undefined;\n try {\n return classifier(failure);\n }\n catch {\n return undefined;\n }\n}\n/**\n * @internal 生命周期阶段失败的分类链:抛出点携带的分类 → 缺省\n * `{ retryable: false }`。这些位置(sandbox 钩子、`EvalDef.setup`、`test(t)` 体内、\n * per-attempt teardown)没有重试执行体,链上不挂产时间轴的兜底正则——时间轴即使给出也无人\n * 消费(见 architecture.md「分类链」)。\n */\nexport function resolveAttemptFailureClass(info: AttemptFailureInfo): FailureClass {\n const declared = failureClassOf(info.cause);\n if (declared)\n return declared;\n return { retryable: false };\n}\n/** @internal 从一个抛出的错误构造内建分类的输入(文本与报错文案同源)。 */\nexport function attemptFailureInfo(phase: LifecyclePhase, error: unknown): AttemptFailureInfo {\n const cause = normalizeExternalCause(error);\n return { phase, text: externalCauseMessageChain(cause), cause };\n}\n"]}
|
|
@@ -30,12 +30,6 @@ export interface AttemptFailureInfo {
|
|
|
30
30
|
/** 动态 throwable 的有界快照;分类器只能读取 typed facts/message/cause 链。 */
|
|
31
31
|
readonly cause: ExternalCause;
|
|
32
32
|
}
|
|
33
|
-
/**
|
|
34
|
-
* 实验可选分类器,挂载在 `ExperimentDef.classifyFailure`:识别自家共享基建的死因
|
|
35
|
-
* (对自家隧道 host 的拒连一类)。返回 `undefined` 表示「不认识,交给后续链路」。
|
|
36
|
-
* 分类器必须快、纯、不抛错——抛错按 `undefined` 回落并被吞掉,不掩盖原始失败。
|
|
37
|
-
*/
|
|
38
|
-
export type AttemptFailureClassifier = (failure: AttemptFailureInfo) => FailureClass | undefined;
|
|
39
33
|
/**
|
|
40
34
|
* 从任意 per-attempt 阶段抛出:全实验剩余 attempt 同因必死,停止派发。
|
|
41
35
|
* 携带 `{ retryable: false, scope: "experiment" }`,message 原样走完反馈流与
|
|
@@ -78,15 +72,15 @@ export declare function attachFailureClass<T>(target: T, cls: FailureClass): T;
|
|
|
78
72
|
export declare function errorChainText(error: unknown): string;
|
|
79
73
|
/**
|
|
80
74
|
* @internal 调分类器的统一纪律:抛错按 `undefined` 回落(自身错误被吞掉,不得用新错误掩盖
|
|
81
|
-
* 原始失败),返回值原样透出。
|
|
75
|
+
* 原始失败),返回值原样透出。Adapter 的 send 分类链使用此处保护原始失败。
|
|
82
76
|
*/
|
|
83
77
|
export declare function callClassifier<T>(classifier: ((failure: T) => FailureClass | undefined) | undefined, failure: T): FailureClass | undefined;
|
|
84
78
|
/**
|
|
85
|
-
* @internal
|
|
79
|
+
* @internal 生命周期阶段失败的分类链:抛出点携带的分类 → 缺省
|
|
86
80
|
* `{ retryable: false }`。这些位置(sandbox 钩子、`EvalDef.setup`、`test(t)` 体内、
|
|
87
81
|
* per-attempt teardown)没有重试执行体,链上不挂产时间轴的兜底正则——时间轴即使给出也无人
|
|
88
82
|
* 消费(见 architecture.md「分类链」)。
|
|
89
83
|
*/
|
|
90
|
-
export declare function resolveAttemptFailureClass(info: AttemptFailureInfo
|
|
91
|
-
/** @internal
|
|
84
|
+
export declare function resolveAttemptFailureClass(info: AttemptFailureInfo): FailureClass;
|
|
85
|
+
/** @internal 从一个抛出的错误构造内建分类的输入(文本与报错文案同源)。 */
|
|
92
86
|
export declare function attemptFailureInfo(phase: LifecyclePhase, error: unknown): AttemptFailureInfo;
|
|
@@ -30,12 +30,6 @@ export interface AttemptFailureInfo {
|
|
|
30
30
|
/** 动态 throwable 的有界快照;分类器只能读取 typed facts/message/cause 链。 */
|
|
31
31
|
readonly cause: ExternalCause;
|
|
32
32
|
}
|
|
33
|
-
/**
|
|
34
|
-
* 实验可选分类器,挂载在 `ExperimentDef.classifyFailure`:识别自家共享基建的死因
|
|
35
|
-
* (对自家隧道 host 的拒连一类)。返回 `undefined` 表示「不认识,交给后续链路」。
|
|
36
|
-
* 分类器必须快、纯、不抛错——抛错按 `undefined` 回落并被吞掉,不掩盖原始失败。
|
|
37
|
-
*/
|
|
38
|
-
export type AttemptFailureClassifier = (failure: AttemptFailureInfo) => FailureClass | undefined;
|
|
39
33
|
/**
|
|
40
34
|
* 从任意 per-attempt 阶段抛出:全实验剩余 attempt 同因必死,停止派发。
|
|
41
35
|
* 携带 `{ retryable: false, scope: "experiment" }`,message 原样走完反馈流与
|
|
@@ -78,15 +72,15 @@ export declare function attachFailureClass<T>(target: T, cls: FailureClass): T;
|
|
|
78
72
|
export declare function errorChainText(error: unknown): string;
|
|
79
73
|
/**
|
|
80
74
|
* @internal 调分类器的统一纪律:抛错按 `undefined` 回落(自身错误被吞掉,不得用新错误掩盖
|
|
81
|
-
* 原始失败),返回值原样透出。
|
|
75
|
+
* 原始失败),返回值原样透出。Adapter 的 send 分类链使用此处保护原始失败。
|
|
82
76
|
*/
|
|
83
77
|
export declare function callClassifier<T>(classifier: ((failure: T) => FailureClass | undefined) | undefined, failure: T): FailureClass | undefined;
|
|
84
78
|
/**
|
|
85
|
-
* @internal
|
|
79
|
+
* @internal 生命周期阶段失败的分类链:抛出点携带的分类 → 缺省
|
|
86
80
|
* `{ retryable: false }`。这些位置(sandbox 钩子、`EvalDef.setup`、`test(t)` 体内、
|
|
87
81
|
* per-attempt teardown)没有重试执行体,链上不挂产时间轴的兜底正则——时间轴即使给出也无人
|
|
88
82
|
* 消费(见 architecture.md「分类链」)。
|
|
89
83
|
*/
|
|
90
|
-
export declare function resolveAttemptFailureClass(info: AttemptFailureInfo
|
|
91
|
-
/** @internal
|
|
84
|
+
export declare function resolveAttemptFailureClass(info: AttemptFailureInfo): FailureClass;
|
|
85
|
+
/** @internal 从一个抛出的错误构造内建分类的输入(文本与报错文案同源)。 */
|
|
92
86
|
export declare function attemptFailureInfo(phase: LifecyclePhase, error: unknown): AttemptFailureInfo;
|
|
@@ -30,12 +30,6 @@ export interface AttemptFailureInfo {
|
|
|
30
30
|
/** 动态 throwable 的有界快照;分类器只能读取 typed facts/message/cause 链。 */
|
|
31
31
|
readonly cause: ExternalCause;
|
|
32
32
|
}
|
|
33
|
-
/**
|
|
34
|
-
* 实验可选分类器,挂载在 `ExperimentDef.classifyFailure`:识别自家共享基建的死因
|
|
35
|
-
* (对自家隧道 host 的拒连一类)。返回 `undefined` 表示「不认识,交给后续链路」。
|
|
36
|
-
* 分类器必须快、纯、不抛错——抛错按 `undefined` 回落并被吞掉,不掩盖原始失败。
|
|
37
|
-
*/
|
|
38
|
-
export type AttemptFailureClassifier = (failure: AttemptFailureInfo) => FailureClass | undefined;
|
|
39
33
|
/**
|
|
40
34
|
* 从任意 per-attempt 阶段抛出:全实验剩余 attempt 同因必死,停止派发。
|
|
41
35
|
* 携带 `{ retryable: false, scope: "experiment" }`,message 原样走完反馈流与
|
|
@@ -78,15 +72,15 @@ export declare function attachFailureClass<T>(target: T, cls: FailureClass): T;
|
|
|
78
72
|
export declare function errorChainText(error: unknown): string;
|
|
79
73
|
/**
|
|
80
74
|
* @internal 调分类器的统一纪律:抛错按 `undefined` 回落(自身错误被吞掉,不得用新错误掩盖
|
|
81
|
-
* 原始失败),返回值原样透出。
|
|
75
|
+
* 原始失败),返回值原样透出。Adapter 的 send 分类链使用此处保护原始失败。
|
|
82
76
|
*/
|
|
83
77
|
export declare function callClassifier<T>(classifier: ((failure: T) => FailureClass | undefined) | undefined, failure: T): FailureClass | undefined;
|
|
84
78
|
/**
|
|
85
|
-
* @internal
|
|
79
|
+
* @internal 生命周期阶段失败的分类链:抛出点携带的分类 → 缺省
|
|
86
80
|
* `{ retryable: false }`。这些位置(sandbox 钩子、`EvalDef.setup`、`test(t)` 体内、
|
|
87
81
|
* per-attempt teardown)没有重试执行体,链上不挂产时间轴的兜底正则——时间轴即使给出也无人
|
|
88
82
|
* 消费(见 architecture.md「分类链」)。
|
|
89
83
|
*/
|
|
90
|
-
export declare function resolveAttemptFailureClass(info: AttemptFailureInfo
|
|
91
|
-
/** @internal
|
|
84
|
+
export declare function resolveAttemptFailureClass(info: AttemptFailureInfo): FailureClass;
|
|
85
|
+
/** @internal 从一个抛出的错误构造内建分类的输入(文本与报错文案同源)。 */
|
|
92
86
|
export declare function attemptFailureInfo(phase: LifecyclePhase, error: unknown): AttemptFailureInfo;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":";;;AAkBA,2CAA2C;AAC9B,QAAA,QAAQ,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAU,CAAC;AAE/D,QAAA,wBAAwB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,SAAkB,EAAE,CAAC,CAAC;AAC1E,QAAA,kBAAkB,GAAG,CAAC,GAAG,gBAAQ,EAAE,gCAAwB,CAAC,OAAO,CAAU,CAAC","sourcesContent":["// 真正跨域的原子类型:序列化 / 源码位置 / 生命周期。\n// 各域的类型住在各自目录的 types.ts(o11y / sandbox / agents / assertions / context / runner),\n// src/types.ts 是聚合 facade —— 模块代码统一从那里 import,不必记住每个类型的家。\n/** JSON 可表达的任意值(递归定义),用于事件流 / 工具输入输出等跨进程/跨语言传递的数据。 */\nexport type JsonValue = string | number | boolean | null | JsonValue[] | {\n [key: string]: JsonValue;\n};\n/** One Experiment condition; numeric values must be finite at runtime. */\nexport type FlagValue = string | number | boolean;\n/** Flat, immutable conditions declared by an Experiment. Historical Record flags remain JSON. */\nexport type ExperimentFlags = Readonly<Record<string, FlagValue>>;\n/**\n * JSON 值的递归匹配小语言。对象是深度部分匹配,数组逐项精确匹配;RegExp 与谓词可出现在\n * 任意层级。`unknown` 只存在于谓词接收动态运行时值的边界,不作为可存储的匹配值。\n */\nexport type JsonMatch = string | number | boolean | null | RegExp | ((value: unknown) => boolean) | readonly JsonMatch[] | {\n readonly [key: string]: JsonMatch;\n};\n/** 一次 Attempt 的互斥终态;跳过是已结束但不构成可执行结论的结果。 */\nexport const VERDICTS = [\"passed\", \"failed\", \"errored\", \"skipped\"] as const;\nexport type Verdict = (typeof VERDICTS)[number];\nexport const VERDICT_PROJECTION_STATE = Object.freeze({ unknown: \"unknown\" as const });\nexport const PROJECTED_VERDICTS = [...VERDICTS, VERDICT_PROJECTION_STATE.unknown] as const;\nexport type ProjectedVerdict = (typeof PROJECTED_VERDICTS)[number];\n/**\n * eval 源码里一次调用的位置(`t.send` / 各断言),运行期从栈回溯抠出来(见 src/source-loc.ts)。\n * view 据此把运行结果叠回真实源码行(github-diff 式代码视图)。`file` 为相对项目根的路径。\n */\nexport interface SourceLoc {\n file: string;\n line: number;\n column?: number;\n /** 从 eval 入口到声明位置的调用路径;声明位置本身不在数组中。 */\n callers?: SourcePathFrame[];\n}\nexport type SourcePathFrame = {\n kind: \"project\";\n file: string;\n line: number;\n column?: number;\n} | {\n kind: \"package\";\n package: string;\n};\n/** 随结果回传的一份 eval 源码(相对项目根的路径 + 文本),供 view 渲染代码视图。 */\nexport interface SourceArtifact {\n path: string;\n content: string;\n /** 入口 eval 源码或运行时引用的项目文件。 */\n role?: \"entry\" | \"referenced\";\n}\n/**\n * 内部收尾闭包类型:供运行器内部的清理注册表使用(如 `postSetup` 钩子内部累积待收尾动作),\n * 不出现在任何公开的生命周期钩子签名里——`SandboxHook`/`
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":";;;AAkBA,2CAA2C;AAC9B,QAAA,QAAQ,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAU,CAAC;AAE/D,QAAA,wBAAwB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,SAAkB,EAAE,CAAC,CAAC;AAC1E,QAAA,kBAAkB,GAAG,CAAC,GAAG,gBAAQ,EAAE,gCAAwB,CAAC,OAAO,CAAU,CAAC","sourcesContent":["// 真正跨域的原子类型:序列化 / 源码位置 / 生命周期。\n// 各域的类型住在各自目录的 types.ts(o11y / sandbox / agents / assertions / context / runner),\n// src/types.ts 是聚合 facade —— 模块代码统一从那里 import,不必记住每个类型的家。\n/** JSON 可表达的任意值(递归定义),用于事件流 / 工具输入输出等跨进程/跨语言传递的数据。 */\nexport type JsonValue = string | number | boolean | null | JsonValue[] | {\n [key: string]: JsonValue;\n};\n/** One Experiment condition; numeric values must be finite at runtime. */\nexport type FlagValue = string | number | boolean;\n/** Flat, immutable conditions declared by an Experiment. Historical Record flags remain JSON. */\nexport type ExperimentFlags = Readonly<Record<string, FlagValue>>;\n/**\n * JSON 值的递归匹配小语言。对象是深度部分匹配,数组逐项精确匹配;RegExp 与谓词可出现在\n * 任意层级。`unknown` 只存在于谓词接收动态运行时值的边界,不作为可存储的匹配值。\n */\nexport type JsonMatch = string | number | boolean | null | RegExp | ((value: unknown) => boolean) | readonly JsonMatch[] | {\n readonly [key: string]: JsonMatch;\n};\n/** 一次 Attempt 的互斥终态;跳过是已结束但不构成可执行结论的结果。 */\nexport const VERDICTS = [\"passed\", \"failed\", \"errored\", \"skipped\"] as const;\nexport type Verdict = (typeof VERDICTS)[number];\nexport const VERDICT_PROJECTION_STATE = Object.freeze({ unknown: \"unknown\" as const });\nexport const PROJECTED_VERDICTS = [...VERDICTS, VERDICT_PROJECTION_STATE.unknown] as const;\nexport type ProjectedVerdict = (typeof PROJECTED_VERDICTS)[number];\n/**\n * eval 源码里一次调用的位置(`t.send` / 各断言),运行期从栈回溯抠出来(见 src/source-loc.ts)。\n * view 据此把运行结果叠回真实源码行(github-diff 式代码视图)。`file` 为相对项目根的路径。\n */\nexport interface SourceLoc {\n file: string;\n line: number;\n column?: number;\n /** 从 eval 入口到声明位置的调用路径;声明位置本身不在数组中。 */\n callers?: SourcePathFrame[];\n}\nexport type SourcePathFrame = {\n kind: \"project\";\n file: string;\n line: number;\n column?: number;\n} | {\n kind: \"package\";\n package: string;\n};\n/** 随结果回传的一份 eval 源码(相对项目根的路径 + 文本),供 view 渲染代码视图。 */\nexport interface SourceArtifact {\n path: string;\n content: string;\n /** 入口 eval 源码或运行时引用的项目文件。 */\n role?: \"entry\" | \"referenced\";\n}\n/**\n * 内部收尾闭包类型:供运行器内部的清理注册表使用(如 `postSetup` 钩子内部累积待收尾动作),\n * 不出现在任何公开的生命周期钩子签名里——`SandboxHook`/`AgentBefore`/`AgentAfter` 等公开\n * 钩子一律 `void | Promise<void>`,setup 不返回值,收尾靠成对的 teardown(见\n * docs/runner.md「环境预置不进运行器,但按顺序调它」)。\n */\nexport type Cleanup = () => Promise<void> | void;\n/** `ScopedFeedback.progress` 的入参:此刻正在做什么(短命状态,可被后续更新覆盖)。 */\nexport interface ProgressUpdate {\n message: string;\n current?: number;\n total?: number;\n}\n/** `ScopedFeedback.diagnostic` 的入参:运行结束后仍应保留的问题(永久事件)。 */\nexport interface DiagnosticInput {\n code: string;\n level: \"warning\" | \"error\";\n message: string;\n data?: Readonly<globalThis.Record<string, JsonValue>>;\n /** 并发 attempt 产生同一问题时的去重键;相同 key 折叠成一条并累计次数。 */\n dedupeKey?: string;\n}\n/**\n * 作用域反馈 API(见 docs/feature/experiments/library.md「生命周期代码怎样向这次运行反馈」):\n * sandbox provider、sandbox hook、eval 与 Agent Adapter 从 runner 注入的上下文获得同一套入口。\n * - `progress` 是短命状态:human profile 更新 active 行,JSON 不逐条输出,不进最终结果;\n * - `diagnostic` 是永久事件:进 human/JSON 的永久输出流并落进 attempt 的 diagnostics;\n * 即使 level 为 \"error\" 也不自动改变 verdict(要 errored 抛异常,要 failed 用断言)。\n * 两个方法都不接受 phase / scope / 颜色 / 输出流——runner 知道当前回调属于哪个生命周期阶段,\n * 调用方不能冒充其它阶段。\n */\nexport interface ScopedFeedback {\n progress(update: ProgressUpdate): void;\n diagnostic(input: DiagnosticInput): void;\n}\n/**\n * 可本地化文案:纯字符串,或按 locale 代码(如 \"en\"、\"zh-CN\")映射多语言。\n * view 按当前界面语言挑一条,挑不到回退到 en / 第一条。\n */\nexport type LocalizedText = string | globalThis.Record<string, string>;\n"]}
|
package/dist/shared/types.d.cts
CHANGED
|
@@ -50,7 +50,7 @@ export interface SourceArtifact {
|
|
|
50
50
|
}
|
|
51
51
|
/**
|
|
52
52
|
* 内部收尾闭包类型:供运行器内部的清理注册表使用(如 `postSetup` 钩子内部累积待收尾动作),
|
|
53
|
-
* 不出现在任何公开的生命周期钩子签名里——`SandboxHook`/`
|
|
53
|
+
* 不出现在任何公开的生命周期钩子签名里——`SandboxHook`/`AgentBefore`/`AgentAfter` 等公开
|
|
54
54
|
* 钩子一律 `void | Promise<void>`,setup 不返回值,收尾靠成对的 teardown(见
|
|
55
55
|
* docs/runner.md「环境预置不进运行器,但按顺序调它」)。
|
|
56
56
|
*/
|
package/dist/shared/types.d.mts
CHANGED
|
@@ -50,7 +50,7 @@ export interface SourceArtifact {
|
|
|
50
50
|
}
|
|
51
51
|
/**
|
|
52
52
|
* 内部收尾闭包类型:供运行器内部的清理注册表使用(如 `postSetup` 钩子内部累积待收尾动作),
|
|
53
|
-
* 不出现在任何公开的生命周期钩子签名里——`SandboxHook`/`
|
|
53
|
+
* 不出现在任何公开的生命周期钩子签名里——`SandboxHook`/`AgentBefore`/`AgentAfter` 等公开
|
|
54
54
|
* 钩子一律 `void | Promise<void>`,setup 不返回值,收尾靠成对的 teardown(见
|
|
55
55
|
* docs/runner.md「环境预置不进运行器,但按顺序调它」)。
|
|
56
56
|
*/
|
package/dist/shared/types.d.ts
CHANGED
|
@@ -50,7 +50,7 @@ export interface SourceArtifact {
|
|
|
50
50
|
}
|
|
51
51
|
/**
|
|
52
52
|
* 内部收尾闭包类型:供运行器内部的清理注册表使用(如 `postSetup` 钩子内部累积待收尾动作),
|
|
53
|
-
* 不出现在任何公开的生命周期钩子签名里——`SandboxHook`/`
|
|
53
|
+
* 不出现在任何公开的生命周期钩子签名里——`SandboxHook`/`AgentBefore`/`AgentAfter` 等公开
|
|
54
54
|
* 钩子一律 `void | Promise<void>`,setup 不返回值,收尾靠成对的 teardown(见
|
|
55
55
|
* docs/runner.md「环境预置不进运行器,但按顺序调它」)。
|
|
56
56
|
*/
|
|
@@ -15,6 +15,8 @@ const model_ts_1 = require("./model.cjs");
|
|
|
15
15
|
const help = (summary) => Object.freeze({ summary, visibility: "public" });
|
|
16
16
|
const option = (value) => Object.freeze(value);
|
|
17
17
|
exports.SHOW_CLI_OPTIONS = Object.freeze({
|
|
18
|
+
json: option({ type: "boolean", help: help("Print the public Attempt query result as JSON.") }),
|
|
19
|
+
exp: option({ type: "string", multiple: true, help: help("Show one Experiment; repeat to show more.") }),
|
|
18
20
|
record: option({
|
|
19
21
|
type: "string",
|
|
20
22
|
help: help("Read an external canonical SQLite Record."),
|
|
@@ -68,7 +70,7 @@ Usage:
|
|
|
68
70
|
niceeval show [--all] [--record <file>]
|
|
69
71
|
niceeval show --run <run-id>... [--record <file>]
|
|
70
72
|
niceeval show --experiment <experiment-id>... [--record <file>]
|
|
71
|
-
niceeval show @<locator> [--record <file>]
|
|
73
|
+
niceeval show @<locator> [--json] [--record <file>]
|
|
72
74
|
niceeval show @<locator> --source
|
|
73
75
|
niceeval show @<locator> --execution [--expand <stable-id>]
|
|
74
76
|
niceeval show @<locator> --execution [--actor <id>] [--type <event-type>] [--continuation <token>]
|
|
@@ -149,9 +151,16 @@ function runShow(argv) {
|
|
|
149
151
|
const runIds = parseRunIds(parsed.values.run);
|
|
150
152
|
if (typeof runIds === "string")
|
|
151
153
|
return yield* usage(runIds);
|
|
152
|
-
const
|
|
154
|
+
const primaryExperimentIds = parseExperimentIds(parsed.values.experiment);
|
|
155
|
+
if (typeof primaryExperimentIds === "string")
|
|
156
|
+
return yield* usage(primaryExperimentIds);
|
|
157
|
+
const shortExperimentIds = parseExperimentIds(parsed.values.exp);
|
|
158
|
+
if (typeof shortExperimentIds === "string")
|
|
159
|
+
return yield* usage(shortExperimentIds);
|
|
160
|
+
const experimentIds = [...primaryExperimentIds, ...shortExperimentIds];
|
|
153
161
|
if (typeof experimentIds === "string")
|
|
154
162
|
return yield* usage(experimentIds);
|
|
163
|
+
const json = parsed.values.json === true;
|
|
155
164
|
const source = parsed.values.source === true;
|
|
156
165
|
const execution = parsed.values.execution === true;
|
|
157
166
|
const timing = parsed.values.timing === true;
|
|
@@ -171,6 +180,8 @@ function runShow(argv) {
|
|
|
171
180
|
return yield* usage(`${listOptions.join(", ")} require --execution.`);
|
|
172
181
|
if (listOptions.length > 0 && expand !== undefined)
|
|
173
182
|
return yield* usage(`--expand cannot be combined with ${listOptions.join(", ")}.`);
|
|
183
|
+
if (json && (locator === undefined || detailModes > 0))
|
|
184
|
+
return yield* usage("--json requires one Attempt locator without a detail selector; use query for other JSON reads.");
|
|
174
185
|
if (detailModes > 1)
|
|
175
186
|
return yield* usage("--source, --execution, --timing, --usage, and --diff are mutually exclusive.");
|
|
176
187
|
if (detailModes > 0 && locator === undefined)
|
|
@@ -298,6 +309,10 @@ function runShow(argv) {
|
|
|
298
309
|
kind: "attempt.get",
|
|
299
310
|
locator: selectedLocator,
|
|
300
311
|
}));
|
|
312
|
+
if (json) {
|
|
313
|
+
yield* write("stdout", `${JSON.stringify(document)}\n`);
|
|
314
|
+
return 0;
|
|
315
|
+
}
|
|
301
316
|
const usage = yield* select("attempt.usage", () => (0, index_ts_1.selectInspectionOperation)(opened, { kind: "attempt.usage", locator: selectedLocator }));
|
|
302
317
|
yield* write("stdout", (0, render_ts_1.renderAttempt)(yield* project("attempt.get", () => (0, model_ts_1.projectAttempt)(document, usage))));
|
|
303
318
|
return 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contribution.js","sourceRoot":"","sources":["contribution.ts"],"names":[],"mappings":"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","sourcesContent":["import { Effect, Result, Schema } from \"effect\";\nimport { CliArguments, CliInvocationFacts, CliOutput, type CliOptionDefinition, } from \"../cli/application.ts\";\nimport { CliFeatureError, type CliCommandContribution, } from \"../cli/contribution.ts\";\nimport { InspectionIntegrityError, InspectionOperationError, externalInspectionSource, openInspectionSource, operationalInspectionSource, selectInspectionOperation, type InspectionFactSource, type InspectionOperationFor, type InspectionSuccessDocumentFor, } from \"../inspection/index.ts\";\nimport { ExperimentIdSchema, RunIdSchema, } from \"../record/codec/identifiers.ts\";\nimport { parseAttemptLocator } from \"../attempt-locator.ts\";\nimport { ProjectConfiguration } from \"../cli/project-configuration.ts\";\nimport { CurrentTargetUnavailable } from \"../experiment/host/current.ts\";\nimport { openCurrentProjectSource } from \"../inspection/project-source.ts\";\nimport { renderAttempt, renderDiff, renderExperiment, renderOverview, renderRun, renderSources, renderTiming, renderTrace, renderTraceDetail, renderUsage, } from \"./render.ts\";\nimport { projectAttempt, projectDiff, projectExperiment, projectOverview, projectRun, projectSources, projectTiming, projectTrace, projectTraceDetail, projectUsage, } from \"./model.ts\";\nconst help = (summary: string) => Object.freeze({ summary, visibility: \"public\" as const });\nconst option = (value: CliOptionDefinition): CliOptionDefinition => Object.freeze(value);\nexport const SHOW_CLI_OPTIONS = Object.freeze({\n record: option({\n type: \"string\",\n help: help(\"Read an external canonical SQLite Record.\"),\n }),\n run: option({\n type: \"string\",\n multiple: true,\n help: help(\"Show one sealed Run; repeat to show more.\"),\n }),\n experiment: option({\n type: \"string\",\n multiple: true,\n help: help(\"Show one Experiment; repeat to show more.\"),\n }),\n all: option({\n type: \"boolean\",\n help: help(\"Show Attempts hidden by the compact Results view.\"),\n }),\n source: option({\n type: \"boolean\",\n help: help(\"Show captured source facts for one Attempt locator.\"),\n }),\n execution: option({\n type: \"boolean\",\n help: help(\"Show the execution outline for one Attempt locator.\"),\n }),\n actor: option({ type: \"string\", help: help(\"Filter execution events by exact actor ID.\") }),\n type: option({ type: \"string\", help: help(\"Filter execution events by exact event type.\") }),\n continuation: option({ type: \"string\", help: help(\"Read the next execution page with the same filters.\") }),\n timing: option({\n type: \"boolean\",\n help: help(\"Show captured timing for one Attempt locator.\"),\n }),\n usage: option({\n type: \"boolean\",\n help: help(\"Show captured usage for one Attempt locator.\"),\n }),\n diff: option({\n type: \"boolean\",\n help: help(\"Show captured file changes for one Attempt locator.\"),\n }),\n expand: option({\n type: \"string\",\n help: help(\"Expand one stable execution identity.\"),\n }),\n help: option({ type: \"boolean\", short: \"h\", help: help(\"Print show help.\") }),\n} satisfies Readonly<Record<string, CliOptionDefinition>>);\nconst SHOW_HELP = `niceeval show — inspect results in the terminal\n\nUsage:\n niceeval show [--all] [--record <file>]\n niceeval show --run <run-id>... [--record <file>]\n niceeval show --experiment <experiment-id>... [--record <file>]\n niceeval show @<locator> [--record <file>]\n niceeval show @<locator> --source\n niceeval show @<locator> --execution [--expand <stable-id>]\n niceeval show @<locator> --execution [--actor <id>] [--type <event-type>] [--continuation <token>]\n niceeval show @<locator> --timing\n niceeval show @<locator> --usage\n niceeval show @<locator> --diff\n\nSelectors:\n --record <file> Read an external canonical SQLite Record.\n --run <run-id> Show one exact sealed Run; repeatable.\n --experiment <experiment-id> Show one exact Experiment; repeatable.\n --all Show Attempts hidden by compact Results.\n\nAttempt details:\n --source Show captured sources and Assertion sites.\n --execution Show the bounded execution outline.\n --actor <id> Filter execution events by exact actor ID.\n --type <event-type> Filter execution events by exact type.\n --continuation <token> Read the next page using the same filters.\n --expand <stable-id> Expand an execution event/evidence ID, itemId,\n toolOccurrenceId, or commandId.\n --timing Show captured timing activities.\n --usage Show captured usage totals and observations.\n --diff Show captured file-change windows.\n\n --help, -h Print show help.\n`;\ntype Requirements = CliArguments | CliInvocationFacts | CliOutput | ProjectConfiguration;\ntype Error = CliFeatureError;\nconst failure = (operation: string, cause: unknown) => {\n const detail = cause instanceof CurrentTargetUnavailable || cause instanceof InspectionOperationError && cause.code === \"current-target-unavailable\"\n ? `current-target-unavailable: ${cause.reason}\\nRead fixed history: niceeval show --run <run-id>`\n : cause instanceof InspectionIntegrityError\n ? `Record integrity failure for sealed Run ${cause.runId}.`\n : cause instanceof InspectionOperationError &&\n cause.code === \"inspection-record-integrity-failure\"\n ? `Record integrity failure${cause.identity === undefined ? \"\" : ` for sealed Run ${cause.identity.runId}`}.`\n : cause instanceof InspectionOperationError\n ? cause.code === \"inspection-selection-missing\" ||\n cause.code === \"inspection-result-invalid\"\n ? cause.reason\n : \"The Inspection operation could not be completed.\"\n : undefined;\n return new CliFeatureError({\n feature: \"show\",\n operation,\n cause,\n exitCode: 1,\n ...(detail === undefined\n ? {}\n : { display: `show ${operation} failed: ${detail}\\n` }),\n });\n};\nconst write = (channel: \"stdout\" | \"stderr\", value: string) => Effect.flatMap(CliOutput, (output) => channel === \"stdout\"\n ? output.writeStdout(value)\n : output.writeStderr(value)).pipe(Effect.mapError((cause) => failure(`write ${channel}`, cause)));\nconst usage = (message: string) => write(\"stderr\", `${message}\\n`).pipe(Effect.as(1));\nfunction runShow(argv: readonly string[]): Effect.Effect<number, Error, Requirements> {\n return Effect.gen(function* () {\n const parser = yield* CliArguments;\n const parsedResult = yield* Effect.try({\n try: () => parser.parse(argv, SHOW_CLI_OPTIONS),\n catch: (cause) => failure(\"parse arguments\", cause),\n }).pipe(Effect.result);\n if (Result.isFailure(parsedResult))\n return yield* usage(reason(parsedResult.failure.cause));\n const parsed = parsedResult.success;\n if (parsed.values.help === true) {\n yield* write(\"stdout\", SHOW_HELP);\n return 0;\n }\n const locator = parsed.positionals[0];\n if (parsed.positionals.length > 1)\n return yield* usage(\"niceeval show accepts at most one Attempt locator.\");\n const decodedLocator = locator === undefined\n ? undefined\n : parseAttemptLocator(locator);\n if (decodedLocator !== undefined && !decodedLocator.valid)\n return yield* usage(`Invalid Attempt locator ${JSON.stringify(locator)}; expected canonical @<locator>.`);\n const runIds = parseRunIds(parsed.values.run);\n if (typeof runIds === \"string\")\n return yield* usage(runIds);\n const experimentIds = parseExperimentIds(parsed.values.experiment);\n if (typeof experimentIds === \"string\")\n return yield* usage(experimentIds);\n const source = parsed.values.source === true;\n const execution = parsed.values.execution === true;\n const timing = parsed.values.timing === true;\n const showUsage = parsed.values.usage === true;\n const diff = parsed.values.diff === true;\n const all = parsed.values.all === true;\n const detailModes = [source, execution, timing, showUsage, diff].filter(Boolean).length;\n const expand = typeof parsed.values.expand === \"string\"\n ? parsed.values.expand\n : undefined;\n const actorId = typeof parsed.values.actor === \"string\" ? parsed.values.actor : undefined;\n const eventType = typeof parsed.values.type === \"string\" ? parsed.values.type : undefined;\n const continuation = typeof parsed.values.continuation === \"string\" ? parsed.values.continuation : undefined;\n const listOptions = [actorId === undefined ? undefined : \"--actor\", eventType === undefined ? undefined : \"--type\", continuation === undefined ? undefined : \"--continuation\"]\n .filter((value) => value !== undefined);\n if (listOptions.length > 0 && !execution)\n return yield* usage(`${listOptions.join(\", \")} require --execution.`);\n if (listOptions.length > 0 && expand !== undefined)\n return yield* usage(`--expand cannot be combined with ${listOptions.join(\", \")}.`);\n if (detailModes > 1)\n return yield* usage(\"--source, --execution, --timing, --usage, and --diff are mutually exclusive.\");\n if (detailModes > 0 && locator === undefined)\n return yield* usage(\"--source, --execution, --timing, --usage, and --diff require one Attempt locator.\");\n if (expand !== undefined && !execution)\n return yield* usage(\"--expand requires --execution.\");\n if (expand !== undefined && /^(?:t\\d+\\.c\\d+|cmd\\d+)$/u.test(expand))\n return yield* usage(\"Legacy positional execution handles are not accepted; use a stable itemId, toolOccurrenceId, or commandId from the outline.\");\n if (locator !== undefined && (runIds.length > 0 || experimentIds.length > 0))\n return yield* usage(\"An Attempt locator, --run, and --experiment are mutually exclusive.\");\n if (runIds.length > 0 && experimentIds.length > 0)\n return yield* usage(\"--run and --experiment are mutually exclusive.\");\n if (all &&\n (locator !== undefined || runIds.length > 0 || experimentIds.length > 0))\n return yield* usage(\"--all applies only to Results, not --experiment, --run, or an Attempt locator.\");\n const facts = yield* Effect.flatMap(CliInvocationFacts, ({ facts }) => facts).pipe(Effect.mapError((cause) => failure(\"read invocation facts\", cause)));\n const inspectionSource = typeof parsed.values.record === \"string\"\n ? externalInspectionSource(facts.cwd, parsed.values.record)\n : operationalInspectionSource(facts.cwd);\n return yield* Effect.scoped(Effect.gen(function* () {\n const current = decodedLocator === undefined && runIds.length === 0 && experimentIds.length === 0 && typeof parsed.values.record !== \"string\";\n const prepare = current ? Effect.gen(function* () {\n const project = yield* ProjectConfiguration;\n const config = yield* project.load(facts.cwd).pipe(Effect.mapError((cause) => new CurrentTargetUnavailable({ code: \"current-target-unavailable\", reason: String(cause), cause })));\n return yield* openCurrentProjectSource({ cwd: facts.cwd, config });\n }) : openInspectionSource(inspectionSource);\n const opened = yield* prepare.pipe(Effect.mapError((cause) => failure(\"open Record source\", cause)));\n const select = <A>(operation: string, evaluate: () => A): Effect.Effect<A, Error> => Effect.try({\n try: evaluate,\n catch: (cause) => failure(`execute ${operation}`, cause),\n });\n const project = <A>(operation: string, evaluate: () => A): Effect.Effect<A, Error> => Effect.try({\n try: evaluate,\n catch: (cause) => failure(`project ${operation} result`, cause),\n });\n if (decodedLocator === undefined &&\n runIds.length === 0 &&\n experimentIds.length === 0) {\n if (current) {\n const document = yield* select(\"project.get\", () => selectInspectionOperation(opened, { kind: \"project.get\" }));\n // The presentation model only extracts already-closed aggregate fields.\n const view = yield* project(\"project.get\", () => projectOverview({ ...document, operation: \"overview.get\", overview: document.project }));\n yield* write(\"stdout\", renderOverview(view, { all, current: document.project }));\n return 0;\n }\n const document = yield* select(\"overview.get\", () => selectInspectionOperation(opened, { kind: \"overview.get\" }));\n yield* write(\"stdout\", renderOverview(yield* project(\"overview.get\", () => projectOverview(document)), { all, recorded: true }));\n return 0;\n }\n if (runIds.length > 0) {\n const rendered: string[] = [];\n for (const runId of runIds) {\n const document = yield* select(\"run.get\", () => selectInspectionOperation(opened, {\n kind: \"run.get\",\n runId,\n }));\n rendered.push(renderRun(yield* project(\"run.get\", () => projectRun(document))));\n }\n yield* write(\"stdout\", rendered.join(\"\"));\n return 0;\n }\n if (experimentIds.length > 0) {\n const rendered: string[] = [];\n for (const experimentId of experimentIds) {\n const document = yield* select(\"experiment.get\", () => selectInspectionOperation(opened, {\n kind: \"experiment.get\",\n experimentId,\n }));\n rendered.push(renderExperiment(yield* project(\"experiment.get\", () => projectExperiment(document))));\n }\n yield* write(\"stdout\", rendered.join(\"\"));\n return 0;\n }\n const selectedLocator = decodedLocator!.locator;\n if (source) {\n const document = yield* select(\"attempt.sources\", () => selectInspectionOperation(opened, {\n kind: \"attempt.sources\",\n locator: selectedLocator,\n }));\n yield* write(\"stdout\", renderSources(yield* project(\"attempt.sources\", () => projectSources(document, selectedLocator))));\n return 0;\n }\n if (execution) {\n if (expand !== undefined) {\n const detail = yield* select(\"attempt.trace.detail\", () => selectTraceDetailByStableId(opened, selectedLocator, expand));\n yield* write(\"stdout\", renderTraceDetail(yield* project(\"attempt.trace.detail\", () => projectTraceDetail(detail, selectedLocator))));\n return 0;\n }\n const outline = yield* select(\"attempt.trace\", () => selectInspectionOperation(opened, {\n kind: \"attempt.trace\",\n locator: selectedLocator,\n ...(actorId === undefined ? {} : { actorId }),\n ...(eventType === undefined ? {} : { eventType }),\n ...(continuation === undefined ? {} : { continuation }),\n }));\n const trace = yield* project(\"attempt.trace\", () => projectTrace(outline, selectedLocator));\n yield* write(\"stdout\", renderTrace(trace));\n return 0;\n }\n if (timing) {\n const document = yield* select(\"attempt.timing\", () => selectInspectionOperation(opened, {\n kind: \"attempt.timing\",\n locator: selectedLocator,\n }));\n yield* write(\"stdout\", renderTiming(yield* project(\"attempt.timing\", () => projectTiming(document, selectedLocator))));\n return 0;\n }\n if (showUsage) {\n const document = yield* select(\"attempt.usage\", () => selectInspectionOperation(opened, {\n kind: \"attempt.usage\",\n locator: selectedLocator,\n }));\n yield* write(\"stdout\", renderUsage(yield* project(\"attempt.usage\", () => projectUsage(document, selectedLocator))));\n return 0;\n }\n if (diff) {\n const document = yield* select(\"attempt.diff\", () => selectInspectionOperation(opened, {\n kind: \"attempt.diff\",\n locator: selectedLocator,\n }));\n yield* write(\"stdout\", renderDiff(yield* project(\"attempt.diff\", () => projectDiff(document, selectedLocator))));\n return 0;\n }\n const document = yield* select(\"attempt.get\", () => selectInspectionOperation(opened, {\n kind: \"attempt.get\",\n locator: selectedLocator,\n }));\n const usage = yield* select(\"attempt.usage\", () => selectInspectionOperation(opened, { kind: \"attempt.usage\", locator: selectedLocator }));\n yield* write(\"stdout\", renderAttempt(yield* project(\"attempt.get\", () => projectAttempt(document, usage))));\n return 0;\n }));\n });\n}\nfunction selectTraceDetailByStableId(source: InspectionFactSource, locator: string, stableId: string): InspectionSuccessDocumentFor<\"attempt.trace.detail\"> {\n type DetailSelector = InspectionOperationFor<\"attempt.trace.detail\">[\"selector\"];\n const selectors = Object.freeze([\n { kind: \"execution-event\", eventId: stableId },\n { kind: \"execution-evidence\", evidenceId: stableId },\n { kind: \"item\", itemId: stableId },\n { kind: \"tool-occurrence\", toolOccurrenceId: stableId },\n { kind: \"command\", commandId: stableId },\n ]) as unknown as readonly DetailSelector[];\n for (const selector of selectors) {\n try {\n return selectInspectionOperation(source, {\n kind: \"attempt.trace.detail\",\n locator,\n selector,\n });\n }\n catch (cause) {\n if (cause instanceof InspectionOperationError && cause.code === \"inspection-selection-missing\")\n continue;\n throw cause;\n }\n }\n throw new InspectionOperationError({\n code: \"inspection-selection-missing\",\n operation: \"attempt.trace.detail\",\n reason: `Stable execution identity ${JSON.stringify(stableId)} was not found.`,\n });\n}\nfunction parseRunIds(value: string | boolean | string[] | undefined): readonly Schema.Schema.Type<typeof RunIdSchema>[] | string {\n const values = typeof value === \"string\" ? [value] : Array.isArray(value) ? value : [];\n const output: Schema.Schema.Type<typeof RunIdSchema>[] = [];\n for (const candidate of values) {\n const decoded = Schema.decodeUnknownResult(RunIdSchema)(candidate);\n if (Result.isFailure(decoded))\n return `Invalid --run value ${JSON.stringify(candidate)}.`;\n if (!output.includes(decoded.success))\n output.push(decoded.success);\n }\n return Object.freeze(output.sort(compareIdentity));\n}\nfunction parseExperimentIds(value: string | boolean | string[] | undefined): readonly Schema.Schema.Type<typeof ExperimentIdSchema>[] | string {\n const values = typeof value === \"string\" ? [value] : Array.isArray(value) ? value : [];\n const output: Schema.Schema.Type<typeof ExperimentIdSchema>[] = [];\n for (const candidate of values) {\n const decoded = Schema.decodeUnknownResult(ExperimentIdSchema)(candidate);\n if (Result.isFailure(decoded))\n return `Invalid --experiment value ${JSON.stringify(candidate)}.`;\n if (!output.includes(decoded.success))\n output.push(decoded.success);\n }\n return Object.freeze(output.sort(compareIdentity));\n}\nfunction compareIdentity(left: string, right: string): number {\n return left < right ? -1 : left > right ? 1 : 0;\n}\nfunction reason(value: unknown): string {\n return value instanceof Error ? value.message : String(value);\n}\nexport const showCliCommand: CliCommandContribution<Requirements, Error> = Object.freeze({\n name: \"show\",\n summary: \"inspect results in the terminal\",\n options: SHOW_CLI_OPTIONS,\n run: runShow,\n});\n"]}
|
|
1
|
+
{"version":3,"file":"contribution.js","sourceRoot":"","sources":["contribution.ts"],"names":[],"mappings":"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","sourcesContent":["import { Effect, Result, Schema } from \"effect\";\nimport { CliArguments, CliInvocationFacts, CliOutput, type CliOptionDefinition, } from \"../cli/application.ts\";\nimport { CliFeatureError, type CliCommandContribution, } from \"../cli/contribution.ts\";\nimport { InspectionIntegrityError, InspectionOperationError, externalInspectionSource, openInspectionSource, operationalInspectionSource, selectInspectionOperation, type InspectionFactSource, type InspectionOperationFor, type InspectionSuccessDocumentFor, } from \"../inspection/index.ts\";\nimport { ExperimentIdSchema, RunIdSchema, } from \"../record/codec/identifiers.ts\";\nimport { parseAttemptLocator } from \"../attempt-locator.ts\";\nimport { ProjectConfiguration } from \"../cli/project-configuration.ts\";\nimport { CurrentTargetUnavailable } from \"../experiment/host/current.ts\";\nimport { openCurrentProjectSource } from \"../inspection/project-source.ts\";\nimport { renderAttempt, renderDiff, renderExperiment, renderOverview, renderRun, renderSources, renderTiming, renderTrace, renderTraceDetail, renderUsage, } from \"./render.ts\";\nimport { projectAttempt, projectDiff, projectExperiment, projectOverview, projectRun, projectSources, projectTiming, projectTrace, projectTraceDetail, projectUsage, } from \"./model.ts\";\nconst help = (summary: string) => Object.freeze({ summary, visibility: \"public\" as const });\nconst option = (value: CliOptionDefinition): CliOptionDefinition => Object.freeze(value);\nexport const SHOW_CLI_OPTIONS = Object.freeze({\n json: option({ type: \"boolean\", help: help(\"Print the public Attempt query result as JSON.\") }),\n exp: option({ type: \"string\", multiple: true, help: help(\"Show one Experiment; repeat to show more.\") }),\n record: option({\n type: \"string\",\n help: help(\"Read an external canonical SQLite Record.\"),\n }),\n run: option({\n type: \"string\",\n multiple: true,\n help: help(\"Show one sealed Run; repeat to show more.\"),\n }),\n experiment: option({\n type: \"string\",\n multiple: true,\n help: help(\"Show one Experiment; repeat to show more.\"),\n }),\n all: option({\n type: \"boolean\",\n help: help(\"Show Attempts hidden by the compact Results view.\"),\n }),\n source: option({\n type: \"boolean\",\n help: help(\"Show captured source facts for one Attempt locator.\"),\n }),\n execution: option({\n type: \"boolean\",\n help: help(\"Show the execution outline for one Attempt locator.\"),\n }),\n actor: option({ type: \"string\", help: help(\"Filter execution events by exact actor ID.\") }),\n type: option({ type: \"string\", help: help(\"Filter execution events by exact event type.\") }),\n continuation: option({ type: \"string\", help: help(\"Read the next execution page with the same filters.\") }),\n timing: option({\n type: \"boolean\",\n help: help(\"Show captured timing for one Attempt locator.\"),\n }),\n usage: option({\n type: \"boolean\",\n help: help(\"Show captured usage for one Attempt locator.\"),\n }),\n diff: option({\n type: \"boolean\",\n help: help(\"Show captured file changes for one Attempt locator.\"),\n }),\n expand: option({\n type: \"string\",\n help: help(\"Expand one stable execution identity.\"),\n }),\n help: option({ type: \"boolean\", short: \"h\", help: help(\"Print show help.\") }),\n} satisfies Readonly<Record<string, CliOptionDefinition>>);\nconst SHOW_HELP = `niceeval show — inspect results in the terminal\n\nUsage:\n niceeval show [--all] [--record <file>]\n niceeval show --run <run-id>... [--record <file>]\n niceeval show --experiment <experiment-id>... [--record <file>]\n niceeval show @<locator> [--json] [--record <file>]\n niceeval show @<locator> --source\n niceeval show @<locator> --execution [--expand <stable-id>]\n niceeval show @<locator> --execution [--actor <id>] [--type <event-type>] [--continuation <token>]\n niceeval show @<locator> --timing\n niceeval show @<locator> --usage\n niceeval show @<locator> --diff\n\nSelectors:\n --record <file> Read an external canonical SQLite Record.\n --run <run-id> Show one exact sealed Run; repeatable.\n --experiment <experiment-id> Show one exact Experiment; repeatable.\n --all Show Attempts hidden by compact Results.\n\nAttempt details:\n --source Show captured sources and Assertion sites.\n --execution Show the bounded execution outline.\n --actor <id> Filter execution events by exact actor ID.\n --type <event-type> Filter execution events by exact type.\n --continuation <token> Read the next page using the same filters.\n --expand <stable-id> Expand an execution event/evidence ID, itemId,\n toolOccurrenceId, or commandId.\n --timing Show captured timing activities.\n --usage Show captured usage totals and observations.\n --diff Show captured file-change windows.\n\n --help, -h Print show help.\n`;\ntype Requirements = CliArguments | CliInvocationFacts | CliOutput | ProjectConfiguration;\ntype Error = CliFeatureError;\nconst failure = (operation: string, cause: unknown) => {\n const detail = cause instanceof CurrentTargetUnavailable || cause instanceof InspectionOperationError && cause.code === \"current-target-unavailable\"\n ? `current-target-unavailable: ${cause.reason}\\nRead fixed history: niceeval show --run <run-id>`\n : cause instanceof InspectionIntegrityError\n ? `Record integrity failure for sealed Run ${cause.runId}.`\n : cause instanceof InspectionOperationError &&\n cause.code === \"inspection-record-integrity-failure\"\n ? `Record integrity failure${cause.identity === undefined ? \"\" : ` for sealed Run ${cause.identity.runId}`}.`\n : cause instanceof InspectionOperationError\n ? cause.code === \"inspection-selection-missing\" ||\n cause.code === \"inspection-result-invalid\"\n ? cause.reason\n : \"The Inspection operation could not be completed.\"\n : undefined;\n return new CliFeatureError({\n feature: \"show\",\n operation,\n cause,\n exitCode: 1,\n ...(detail === undefined\n ? {}\n : { display: `show ${operation} failed: ${detail}\\n` }),\n });\n};\nconst write = (channel: \"stdout\" | \"stderr\", value: string) => Effect.flatMap(CliOutput, (output) => channel === \"stdout\"\n ? output.writeStdout(value)\n : output.writeStderr(value)).pipe(Effect.mapError((cause) => failure(`write ${channel}`, cause)));\nconst usage = (message: string) => write(\"stderr\", `${message}\\n`).pipe(Effect.as(1));\nfunction runShow(argv: readonly string[]): Effect.Effect<number, Error, Requirements> {\n return Effect.gen(function* () {\n const parser = yield* CliArguments;\n const parsedResult = yield* Effect.try({\n try: () => parser.parse(argv, SHOW_CLI_OPTIONS),\n catch: (cause) => failure(\"parse arguments\", cause),\n }).pipe(Effect.result);\n if (Result.isFailure(parsedResult))\n return yield* usage(reason(parsedResult.failure.cause));\n const parsed = parsedResult.success;\n if (parsed.values.help === true) {\n yield* write(\"stdout\", SHOW_HELP);\n return 0;\n }\n const locator = parsed.positionals[0];\n if (parsed.positionals.length > 1)\n return yield* usage(\"niceeval show accepts at most one Attempt locator.\");\n const decodedLocator = locator === undefined\n ? undefined\n : parseAttemptLocator(locator);\n if (decodedLocator !== undefined && !decodedLocator.valid)\n return yield* usage(`Invalid Attempt locator ${JSON.stringify(locator)}; expected canonical @<locator>.`);\n const runIds = parseRunIds(parsed.values.run);\n if (typeof runIds === \"string\")\n return yield* usage(runIds);\n const primaryExperimentIds = parseExperimentIds(parsed.values.experiment);\n if (typeof primaryExperimentIds === \"string\")\n return yield* usage(primaryExperimentIds);\n const shortExperimentIds = parseExperimentIds(parsed.values.exp);\n if (typeof shortExperimentIds === \"string\")\n return yield* usage(shortExperimentIds);\n const experimentIds = [...primaryExperimentIds, ...shortExperimentIds];\n if (typeof experimentIds === \"string\")\n return yield* usage(experimentIds);\n const json = parsed.values.json === true;\n const source = parsed.values.source === true;\n const execution = parsed.values.execution === true;\n const timing = parsed.values.timing === true;\n const showUsage = parsed.values.usage === true;\n const diff = parsed.values.diff === true;\n const all = parsed.values.all === true;\n const detailModes = [source, execution, timing, showUsage, diff].filter(Boolean).length;\n const expand = typeof parsed.values.expand === \"string\"\n ? parsed.values.expand\n : undefined;\n const actorId = typeof parsed.values.actor === \"string\" ? parsed.values.actor : undefined;\n const eventType = typeof parsed.values.type === \"string\" ? parsed.values.type : undefined;\n const continuation = typeof parsed.values.continuation === \"string\" ? parsed.values.continuation : undefined;\n const listOptions = [actorId === undefined ? undefined : \"--actor\", eventType === undefined ? undefined : \"--type\", continuation === undefined ? undefined : \"--continuation\"]\n .filter((value) => value !== undefined);\n if (listOptions.length > 0 && !execution)\n return yield* usage(`${listOptions.join(\", \")} require --execution.`);\n if (listOptions.length > 0 && expand !== undefined)\n return yield* usage(`--expand cannot be combined with ${listOptions.join(\", \")}.`);\n if (json && (locator === undefined || detailModes > 0))\n return yield* usage(\"--json requires one Attempt locator without a detail selector; use query for other JSON reads.\");\n if (detailModes > 1)\n return yield* usage(\"--source, --execution, --timing, --usage, and --diff are mutually exclusive.\");\n if (detailModes > 0 && locator === undefined)\n return yield* usage(\"--source, --execution, --timing, --usage, and --diff require one Attempt locator.\");\n if (expand !== undefined && !execution)\n return yield* usage(\"--expand requires --execution.\");\n if (expand !== undefined && /^(?:t\\d+\\.c\\d+|cmd\\d+)$/u.test(expand))\n return yield* usage(\"Legacy positional execution handles are not accepted; use a stable itemId, toolOccurrenceId, or commandId from the outline.\");\n if (locator !== undefined && (runIds.length > 0 || experimentIds.length > 0))\n return yield* usage(\"An Attempt locator, --run, and --experiment are mutually exclusive.\");\n if (runIds.length > 0 && experimentIds.length > 0)\n return yield* usage(\"--run and --experiment are mutually exclusive.\");\n if (all &&\n (locator !== undefined || runIds.length > 0 || experimentIds.length > 0))\n return yield* usage(\"--all applies only to Results, not --experiment, --run, or an Attempt locator.\");\n const facts = yield* Effect.flatMap(CliInvocationFacts, ({ facts }) => facts).pipe(Effect.mapError((cause) => failure(\"read invocation facts\", cause)));\n const inspectionSource = typeof parsed.values.record === \"string\"\n ? externalInspectionSource(facts.cwd, parsed.values.record)\n : operationalInspectionSource(facts.cwd);\n return yield* Effect.scoped(Effect.gen(function* () {\n const current = decodedLocator === undefined && runIds.length === 0 && experimentIds.length === 0 && typeof parsed.values.record !== \"string\";\n const prepare = current ? Effect.gen(function* () {\n const project = yield* ProjectConfiguration;\n const config = yield* project.load(facts.cwd).pipe(Effect.mapError((cause) => new CurrentTargetUnavailable({ code: \"current-target-unavailable\", reason: String(cause), cause })));\n return yield* openCurrentProjectSource({ cwd: facts.cwd, config });\n }) : openInspectionSource(inspectionSource);\n const opened = yield* prepare.pipe(Effect.mapError((cause) => failure(\"open Record source\", cause)));\n const select = <A>(operation: string, evaluate: () => A): Effect.Effect<A, Error> => Effect.try({\n try: evaluate,\n catch: (cause) => failure(`execute ${operation}`, cause),\n });\n const project = <A>(operation: string, evaluate: () => A): Effect.Effect<A, Error> => Effect.try({\n try: evaluate,\n catch: (cause) => failure(`project ${operation} result`, cause),\n });\n if (decodedLocator === undefined &&\n runIds.length === 0 &&\n experimentIds.length === 0) {\n if (current) {\n const document = yield* select(\"project.get\", () => selectInspectionOperation(opened, { kind: \"project.get\" }));\n // The presentation model only extracts already-closed aggregate fields.\n const view = yield* project(\"project.get\", () => projectOverview({ ...document, operation: \"overview.get\", overview: document.project }));\n yield* write(\"stdout\", renderOverview(view, { all, current: document.project }));\n return 0;\n }\n const document = yield* select(\"overview.get\", () => selectInspectionOperation(opened, { kind: \"overview.get\" }));\n yield* write(\"stdout\", renderOverview(yield* project(\"overview.get\", () => projectOverview(document)), { all, recorded: true }));\n return 0;\n }\n if (runIds.length > 0) {\n const rendered: string[] = [];\n for (const runId of runIds) {\n const document = yield* select(\"run.get\", () => selectInspectionOperation(opened, {\n kind: \"run.get\",\n runId,\n }));\n rendered.push(renderRun(yield* project(\"run.get\", () => projectRun(document))));\n }\n yield* write(\"stdout\", rendered.join(\"\"));\n return 0;\n }\n if (experimentIds.length > 0) {\n const rendered: string[] = [];\n for (const experimentId of experimentIds) {\n const document = yield* select(\"experiment.get\", () => selectInspectionOperation(opened, {\n kind: \"experiment.get\",\n experimentId,\n }));\n rendered.push(renderExperiment(yield* project(\"experiment.get\", () => projectExperiment(document))));\n }\n yield* write(\"stdout\", rendered.join(\"\"));\n return 0;\n }\n const selectedLocator = decodedLocator!.locator;\n if (source) {\n const document = yield* select(\"attempt.sources\", () => selectInspectionOperation(opened, {\n kind: \"attempt.sources\",\n locator: selectedLocator,\n }));\n yield* write(\"stdout\", renderSources(yield* project(\"attempt.sources\", () => projectSources(document, selectedLocator))));\n return 0;\n }\n if (execution) {\n if (expand !== undefined) {\n const detail = yield* select(\"attempt.trace.detail\", () => selectTraceDetailByStableId(opened, selectedLocator, expand));\n yield* write(\"stdout\", renderTraceDetail(yield* project(\"attempt.trace.detail\", () => projectTraceDetail(detail, selectedLocator))));\n return 0;\n }\n const outline = yield* select(\"attempt.trace\", () => selectInspectionOperation(opened, {\n kind: \"attempt.trace\",\n locator: selectedLocator,\n ...(actorId === undefined ? {} : { actorId }),\n ...(eventType === undefined ? {} : { eventType }),\n ...(continuation === undefined ? {} : { continuation }),\n }));\n const trace = yield* project(\"attempt.trace\", () => projectTrace(outline, selectedLocator));\n yield* write(\"stdout\", renderTrace(trace));\n return 0;\n }\n if (timing) {\n const document = yield* select(\"attempt.timing\", () => selectInspectionOperation(opened, {\n kind: \"attempt.timing\",\n locator: selectedLocator,\n }));\n yield* write(\"stdout\", renderTiming(yield* project(\"attempt.timing\", () => projectTiming(document, selectedLocator))));\n return 0;\n }\n if (showUsage) {\n const document = yield* select(\"attempt.usage\", () => selectInspectionOperation(opened, {\n kind: \"attempt.usage\",\n locator: selectedLocator,\n }));\n yield* write(\"stdout\", renderUsage(yield* project(\"attempt.usage\", () => projectUsage(document, selectedLocator))));\n return 0;\n }\n if (diff) {\n const document = yield* select(\"attempt.diff\", () => selectInspectionOperation(opened, {\n kind: \"attempt.diff\",\n locator: selectedLocator,\n }));\n yield* write(\"stdout\", renderDiff(yield* project(\"attempt.diff\", () => projectDiff(document, selectedLocator))));\n return 0;\n }\n const document = yield* select(\"attempt.get\", () => selectInspectionOperation(opened, {\n kind: \"attempt.get\",\n locator: selectedLocator,\n }));\n if (json) {\n yield* write(\"stdout\", `${JSON.stringify(document)}\\n`);\n return 0;\n }\n const usage = yield* select(\"attempt.usage\", () => selectInspectionOperation(opened, { kind: \"attempt.usage\", locator: selectedLocator }));\n yield* write(\"stdout\", renderAttempt(yield* project(\"attempt.get\", () => projectAttempt(document, usage))));\n return 0;\n }));\n });\n}\nfunction selectTraceDetailByStableId(source: InspectionFactSource, locator: string, stableId: string): InspectionSuccessDocumentFor<\"attempt.trace.detail\"> {\n type DetailSelector = InspectionOperationFor<\"attempt.trace.detail\">[\"selector\"];\n const selectors = Object.freeze([\n { kind: \"execution-event\", eventId: stableId },\n { kind: \"execution-evidence\", evidenceId: stableId },\n { kind: \"item\", itemId: stableId },\n { kind: \"tool-occurrence\", toolOccurrenceId: stableId },\n { kind: \"command\", commandId: stableId },\n ]) as unknown as readonly DetailSelector[];\n for (const selector of selectors) {\n try {\n return selectInspectionOperation(source, {\n kind: \"attempt.trace.detail\",\n locator,\n selector,\n });\n }\n catch (cause) {\n if (cause instanceof InspectionOperationError && cause.code === \"inspection-selection-missing\")\n continue;\n throw cause;\n }\n }\n throw new InspectionOperationError({\n code: \"inspection-selection-missing\",\n operation: \"attempt.trace.detail\",\n reason: `Stable execution identity ${JSON.stringify(stableId)} was not found.`,\n });\n}\nfunction parseRunIds(value: string | boolean | string[] | undefined): readonly Schema.Schema.Type<typeof RunIdSchema>[] | string {\n const values = typeof value === \"string\" ? [value] : Array.isArray(value) ? value : [];\n const output: Schema.Schema.Type<typeof RunIdSchema>[] = [];\n for (const candidate of values) {\n const decoded = Schema.decodeUnknownResult(RunIdSchema)(candidate);\n if (Result.isFailure(decoded))\n return `Invalid --run value ${JSON.stringify(candidate)}.`;\n if (!output.includes(decoded.success))\n output.push(decoded.success);\n }\n return Object.freeze(output.sort(compareIdentity));\n}\nfunction parseExperimentIds(value: string | boolean | string[] | undefined): readonly Schema.Schema.Type<typeof ExperimentIdSchema>[] | string {\n const values = typeof value === \"string\" ? [value] : Array.isArray(value) ? value : [];\n const output: Schema.Schema.Type<typeof ExperimentIdSchema>[] = [];\n for (const candidate of values) {\n const decoded = Schema.decodeUnknownResult(ExperimentIdSchema)(candidate);\n if (Result.isFailure(decoded))\n return `Invalid --experiment value ${JSON.stringify(candidate)}.`;\n if (!output.includes(decoded.success))\n output.push(decoded.success);\n }\n return Object.freeze(output.sort(compareIdentity));\n}\nfunction compareIdentity(left: string, right: string): number {\n return left < right ? -1 : left > right ? 1 : 0;\n}\nfunction reason(value: unknown): string {\n return value instanceof Error ? value.message : String(value);\n}\nexport const showCliCommand: CliCommandContribution<Requirements, Error> = Object.freeze({\n name: \"show\",\n summary: \"inspect results in the terminal\",\n options: SHOW_CLI_OPTIONS,\n run: runShow,\n});\n"]}
|
|
@@ -2,6 +2,20 @@ import { CliArguments, CliInvocationFacts, CliOutput } from "../cli/application.
|
|
|
2
2
|
import { CliFeatureError, type CliCommandContribution } from "../cli/contribution.cjs";
|
|
3
3
|
import { ProjectConfiguration } from "../cli/project-configuration.cjs";
|
|
4
4
|
export declare const SHOW_CLI_OPTIONS: Readonly<{
|
|
5
|
+
json: Readonly<{
|
|
6
|
+
readonly type: "string" | "boolean";
|
|
7
|
+
readonly multiple?: true;
|
|
8
|
+
readonly short?: string;
|
|
9
|
+
readonly optionalValue?: import("../cli/application.cjs").CliOptionalOptionValue;
|
|
10
|
+
readonly help?: import("../cli/application.cjs").CliOptionHelp;
|
|
11
|
+
}>;
|
|
12
|
+
exp: Readonly<{
|
|
13
|
+
readonly type: "string" | "boolean";
|
|
14
|
+
readonly multiple?: true;
|
|
15
|
+
readonly short?: string;
|
|
16
|
+
readonly optionalValue?: import("../cli/application.cjs").CliOptionalOptionValue;
|
|
17
|
+
readonly help?: import("../cli/application.cjs").CliOptionHelp;
|
|
18
|
+
}>;
|
|
5
19
|
record: Readonly<{
|
|
6
20
|
readonly type: "string" | "boolean";
|
|
7
21
|
readonly multiple?: true;
|
|
@@ -2,6 +2,20 @@ import { CliArguments, CliInvocationFacts, CliOutput } from "../cli/application.
|
|
|
2
2
|
import { CliFeatureError, type CliCommandContribution } from "../cli/contribution.mjs";
|
|
3
3
|
import { ProjectConfiguration } from "../cli/project-configuration.mjs";
|
|
4
4
|
export declare const SHOW_CLI_OPTIONS: Readonly<{
|
|
5
|
+
json: Readonly<{
|
|
6
|
+
readonly type: "string" | "boolean";
|
|
7
|
+
readonly multiple?: true;
|
|
8
|
+
readonly short?: string;
|
|
9
|
+
readonly optionalValue?: import("../cli/application.mjs").CliOptionalOptionValue;
|
|
10
|
+
readonly help?: import("../cli/application.mjs").CliOptionHelp;
|
|
11
|
+
}>;
|
|
12
|
+
exp: Readonly<{
|
|
13
|
+
readonly type: "string" | "boolean";
|
|
14
|
+
readonly multiple?: true;
|
|
15
|
+
readonly short?: string;
|
|
16
|
+
readonly optionalValue?: import("../cli/application.mjs").CliOptionalOptionValue;
|
|
17
|
+
readonly help?: import("../cli/application.mjs").CliOptionHelp;
|
|
18
|
+
}>;
|
|
5
19
|
record: Readonly<{
|
|
6
20
|
readonly type: "string" | "boolean";
|
|
7
21
|
readonly multiple?: true;
|
|
@@ -2,6 +2,20 @@ import { CliArguments, CliInvocationFacts, CliOutput } from "../cli/application.
|
|
|
2
2
|
import { CliFeatureError, type CliCommandContribution } from "../cli/contribution.js";
|
|
3
3
|
import { ProjectConfiguration } from "../cli/project-configuration.js";
|
|
4
4
|
export declare const SHOW_CLI_OPTIONS: Readonly<{
|
|
5
|
+
json: Readonly<{
|
|
6
|
+
readonly type: "string" | "boolean";
|
|
7
|
+
readonly multiple?: true;
|
|
8
|
+
readonly short?: string;
|
|
9
|
+
readonly optionalValue?: import("../cli/application.js").CliOptionalOptionValue;
|
|
10
|
+
readonly help?: import("../cli/application.js").CliOptionHelp;
|
|
11
|
+
}>;
|
|
12
|
+
exp: Readonly<{
|
|
13
|
+
readonly type: "string" | "boolean";
|
|
14
|
+
readonly multiple?: true;
|
|
15
|
+
readonly short?: string;
|
|
16
|
+
readonly optionalValue?: import("../cli/application.js").CliOptionalOptionValue;
|
|
17
|
+
readonly help?: import("../cli/application.js").CliOptionHelp;
|
|
18
|
+
}>;
|
|
5
19
|
record: Readonly<{
|
|
6
20
|
readonly type: "string" | "boolean";
|
|
7
21
|
readonly multiple?: true;
|
package/dist/show/model.cjs
CHANGED
|
@@ -54,13 +54,15 @@ function projectOverview(document) {
|
|
|
54
54
|
function projectExperiment(document) {
|
|
55
55
|
return {
|
|
56
56
|
experimentId: document.experiment.experiment.experimentId,
|
|
57
|
+
notes: document.experiment.notes,
|
|
58
|
+
plugins: document.experiment.experiment.plugins,
|
|
57
59
|
aggregate: aggregate(document.experiment.experiment),
|
|
58
60
|
cells: cells(document.experiment.cells),
|
|
59
61
|
costSummary: document.experiment.costSummary,
|
|
60
62
|
modelUsage: document.experiment.modelUsage,
|
|
61
63
|
};
|
|
62
64
|
}
|
|
63
|
-
// @concord-code
|
|
65
|
+
// @concord-code
|
|
64
66
|
// @concord-implements docs/feature/inspection/use-case/inspection-check-completeness.md
|
|
65
67
|
function projectRun(document) {
|
|
66
68
|
const detail = document.run;
|
|
@@ -77,8 +79,8 @@ function projectRun(document) {
|
|
|
77
79
|
coverage: detail.coverage,
|
|
78
80
|
usage: detail.usage,
|
|
79
81
|
limitations: detail.limitations,
|
|
80
|
-
members: detail.
|
|
81
|
-
|
|
82
|
+
members: detail.plannedAttempts.map((member) => ({
|
|
83
|
+
plannedAttemptId: member.plannedAttemptId,
|
|
82
84
|
evalId: member.evalId,
|
|
83
85
|
attemptOrdinal: member.attemptOrdinal,
|
|
84
86
|
locator: member.locator,
|
|
@@ -93,17 +95,18 @@ function projectRun(document) {
|
|
|
93
95
|
})),
|
|
94
96
|
};
|
|
95
97
|
}
|
|
96
|
-
// @concord-code
|
|
98
|
+
// @concord-code
|
|
97
99
|
// @concord-implements docs/feature/inspection/cli.md
|
|
98
100
|
function projectAttempt(document, usage) {
|
|
99
101
|
const value = document.attempt;
|
|
100
102
|
return {
|
|
101
103
|
locator: value.locator,
|
|
104
|
+
notes: value.notes,
|
|
102
105
|
totalCosts: usage?.usage.totalCosts,
|
|
103
106
|
verdict: value.verdict,
|
|
104
107
|
attemptId: value.core.attemptId,
|
|
105
108
|
evalId: value.core.evalId,
|
|
106
|
-
|
|
109
|
+
plannedAttemptId: value.core.plannedAttemptId,
|
|
107
110
|
outcome: value.core.outcome,
|
|
108
111
|
originRunId: value.core.originRunId,
|
|
109
112
|
experimentId: value.originRun.experimentId,
|