niceeval 0.15.1-canary.76 → 0.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/INDEX.md +45 -40
- package/dist/adapter-execution-trace.cjs.map +1 -1
- package/dist/adapter-execution-trace.d.cts +26 -0
- package/dist/adapter-execution-trace.d.mts +26 -0
- package/dist/adapter-execution-trace.d.ts +26 -0
- package/dist/adapter-usage.cjs.map +1 -1
- package/dist/adapter-usage.d.cts +9 -0
- package/dist/adapter-usage.d.mts +9 -0
- package/dist/adapter-usage.d.ts +9 -0
- package/dist/adapter.cjs +19 -4
- package/dist/adapter.cjs.map +1 -1
- package/dist/adapter.d.cts +37 -12
- package/dist/adapter.d.mts +37 -12
- package/dist/adapter.d.ts +37 -12
- package/dist/agents/ai-sdk.cjs +3 -0
- package/dist/agents/ai-sdk.cjs.map +1 -1
- package/dist/agents/bub.cjs +3 -0
- package/dist/agents/bub.cjs.map +1 -1
- package/dist/agents/claude-code-native.cjs +28 -2
- package/dist/agents/claude-code-native.cjs.map +1 -1
- package/dist/agents/claude-code.cjs +3 -0
- package/dist/agents/claude-code.cjs.map +1 -1
- package/dist/agents/codex.cjs +3 -0
- package/dist/agents/codex.cjs.map +1 -1
- package/dist/agents/coding-cli-versions.cjs +9 -10
- package/dist/agents/coding-cli-versions.cjs.map +1 -1
- package/dist/agents/coding-cli-versions.d.cts +1 -1
- package/dist/agents/coding-cli-versions.d.mts +1 -1
- package/dist/agents/coding-cli-versions.d.ts +1 -1
- package/dist/agents/deepseek-harness.cjs +3 -0
- package/dist/agents/deepseek-harness.cjs.map +1 -1
- package/dist/agents/hermes.cjs +3 -0
- package/dist/agents/hermes.cjs.map +1 -1
- package/dist/agents/index.cjs.map +1 -1
- package/dist/agents/index.d.cts +3 -2
- package/dist/agents/index.d.mts +3 -2
- package/dist/agents/index.d.ts +3 -2
- package/dist/agents/omp.cjs +3 -0
- package/dist/agents/omp.cjs.map +1 -1
- package/dist/agents/openai-compat.cjs +6 -0
- package/dist/agents/openai-compat.cjs.map +1 -1
- package/dist/agents/openclaw.cjs +3 -0
- package/dist/agents/openclaw.cjs.map +1 -1
- package/dist/agents/opencode.cjs +3 -0
- package/dist/agents/opencode.cjs.map +1 -1
- package/dist/agents/sdk-streams.cjs +9 -0
- package/dist/agents/sdk-streams.cjs.map +1 -1
- package/dist/agents/ui-message-stream.cjs +3 -0
- package/dist/agents/ui-message-stream.cjs.map +1 -1
- package/dist/assertions/api.cjs.map +1 -1
- package/dist/assertions/api.d.cts +27 -5
- package/dist/assertions/api.d.mts +27 -5
- package/dist/assertions/api.d.ts +27 -5
- package/dist/assertions/collection.cjs +6 -0
- package/dist/assertions/collection.cjs.map +1 -1
- package/dist/assertions/collection.d.cts +4 -2
- package/dist/assertions/collection.d.mts +4 -2
- package/dist/assertions/collection.d.ts +4 -2
- package/dist/assertions/collection.js +12 -8
- package/dist/assertions/context-match.cjs +70 -0
- package/dist/assertions/context-match.cjs.map +1 -0
- package/dist/assertions/context-match.d.cts +107 -0
- package/dist/assertions/context-match.d.mts +107 -0
- package/dist/assertions/context-match.d.ts +107 -0
- package/dist/assertions/context-match.js +12 -0
- package/dist/assertions/context-match.js.map +1 -0
- package/dist/assertions/full-content.cjs +109 -0
- package/dist/assertions/full-content.cjs.map +1 -0
- package/dist/assertions/full-content.d.cts +6 -0
- package/dist/assertions/full-content.d.mts +6 -0
- package/dist/assertions/full-content.d.ts +6 -0
- package/dist/assertions/full-content.js +12 -0
- package/dist/assertions/full-content.js.map +1 -0
- package/dist/assertions/judge-presets.cjs +2 -34
- package/dist/assertions/judge-presets.cjs.map +1 -1
- package/dist/assertions/judge-presets.d.cts +6 -9
- package/dist/assertions/judge-presets.d.mts +6 -9
- package/dist/assertions/judge-presets.d.ts +6 -9
- package/dist/assertions/judge-presets.js +8 -8
- package/dist/assertions/judge.cjs +107 -29
- package/dist/assertions/judge.cjs.map +1 -1
- package/dist/assertions/judge.d.cts +2 -0
- package/dist/assertions/judge.d.mts +2 -0
- package/dist/assertions/judge.d.ts +2 -0
- package/dist/assertions/match.cjs +244 -5
- package/dist/assertions/match.cjs.map +1 -1
- package/dist/assertions/match.d.cts +43 -3
- package/dist/assertions/match.d.mts +43 -3
- package/dist/assertions/match.d.ts +43 -3
- package/dist/assertions/match.js +88 -78
- package/dist/assertions/material.cjs +520 -0
- package/dist/assertions/material.cjs.map +1 -0
- package/dist/assertions/material.d.cts +56 -0
- package/dist/assertions/material.d.mts +56 -0
- package/dist/assertions/material.d.ts +56 -0
- package/dist/assertions/material.js +20 -0
- package/dist/assertions/material.js.map +1 -0
- package/dist/assertions/record/attachment.cjs +5 -2
- package/dist/assertions/record/attachment.cjs.map +1 -1
- package/dist/assertions/record/codec.cjs +2 -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 +6 -1
- package/dist/assertions/record/model.d.mts +6 -1
- package/dist/assertions/record/model.d.ts +6 -1
- package/dist/assertions/runtime.cjs +207 -14
- package/dist/assertions/runtime.cjs.map +1 -1
- package/dist/assertions/runtime.d.cts +9 -0
- package/dist/assertions/runtime.d.mts +9 -0
- package/dist/assertions/runtime.d.ts +9 -0
- package/dist/assertions/runtime.js +14 -8
- package/dist/assertions/score-match-audit.cjs +18 -8
- package/dist/assertions/score-match-audit.cjs.map +1 -1
- package/dist/assertions/score-match-gateway.cjs +83 -25
- package/dist/assertions/score-match-gateway.cjs.map +1 -1
- package/dist/assertions/score-match-gateway.d.cts +2 -0
- package/dist/assertions/score-match-gateway.d.mts +2 -0
- package/dist/assertions/score-match-gateway.d.ts +2 -0
- package/dist/assertions/value-composition.test-d.cjs +77 -0
- package/dist/assertions/value-composition.test-d.cjs.map +1 -0
- package/dist/assertions/value-composition.test-d.d.cts +1 -0
- package/dist/assertions/value-composition.test-d.d.mts +1 -0
- package/dist/assertions/value-composition.test-d.d.ts +1 -0
- package/dist/assertions/value-composition.test-d.js +4 -0
- package/dist/assertions/value-composition.test-d.js.map +1 -0
- package/dist/context/assert-first.cjs +207 -213
- package/dist/context/assert-first.cjs.map +1 -1
- package/dist/context/assert-first.d.cts +49 -23
- package/dist/context/assert-first.d.mts +49 -23
- package/dist/context/assert-first.d.ts +49 -23
- package/dist/context/session.cjs +111 -9
- package/dist/context/session.cjs.map +1 -1
- package/dist/context/session.d.cts +18 -0
- package/dist/context/session.d.mts +18 -0
- package/dist/context/session.d.ts +18 -0
- package/dist/define.cjs +17 -1
- package/dist/define.cjs.map +1 -1
- package/dist/eval/cli/contribution.cjs +2 -0
- package/dist/eval/cli/contribution.cjs.map +1 -1
- package/dist/eval/host/index.cjs +2 -0
- package/dist/eval/host/index.cjs.map +1 -1
- package/dist/eval/record/evaluation.cjs +3 -0
- package/dist/eval/record/evaluation.cjs.map +1 -1
- package/dist/eval/record/membership-provenance.d.cts +15 -15
- package/dist/eval/record/membership-provenance.d.mts +15 -15
- package/dist/eval/record/membership-provenance.d.ts +15 -15
- package/dist/eval/record/score.cjs +7 -0
- package/dist/eval/record/score.cjs.map +1 -1
- package/dist/eval/record/sealed-assertion.cjs +3 -0
- package/dist/eval/record/sealed-assertion.cjs.map +1 -1
- package/dist/eval/record/verdict.cjs +7 -0
- package/dist/eval/record/verdict.cjs.map +1 -1
- package/dist/expect/index.cjs +8 -2
- package/dist/expect/index.cjs.map +1 -1
- package/dist/expect/index.d.cts +9 -4
- package/dist/expect/index.d.mts +9 -4
- package/dist/expect/index.d.ts +9 -4
- package/dist/expect/index.js +72 -62
- package/dist/expect/index.mjs +72 -62
- package/dist/experiment/host/cli/contribution.cjs +37 -23
- package/dist/experiment/host/cli/contribution.cjs.map +1 -1
- package/dist/experiment/host/cli/contribution.d.cts +9 -1
- package/dist/experiment/host/cli/contribution.d.mts +9 -1
- package/dist/experiment/host/cli/contribution.d.ts +9 -1
- package/dist/experiment/host/current.cjs +74 -0
- package/dist/experiment/host/current.cjs.map +1 -0
- package/dist/experiment/host/current.d.cts +33 -0
- package/dist/experiment/host/current.d.mts +33 -0
- package/dist/experiment/host/current.d.ts +33 -0
- package/dist/experiment/host/current.js +10 -0
- package/dist/experiment/host/current.js.map +1 -0
- package/dist/experiment/host/index.cjs +17 -174
- package/dist/experiment/host/index.cjs.map +1 -1
- package/dist/experiment/host/index.d.cts +8 -54
- package/dist/experiment/host/index.d.mts +8 -54
- package/dist/experiment/host/index.d.ts +8 -54
- package/dist/experiment/host/operations.cjs +33 -10
- package/dist/experiment/host/operations.cjs.map +1 -1
- package/dist/experiment/host/operations.d.cts +29 -1
- package/dist/experiment/host/operations.d.mts +29 -1
- package/dist/experiment/host/operations.d.ts +29 -1
- package/dist/experiment/host/operations.js +6 -4
- package/dist/experiment/host/requirements.cjs +3 -0
- package/dist/experiment/host/requirements.cjs.map +1 -0
- package/dist/experiment/host/requirements.d.cts +3 -0
- package/dist/experiment/host/requirements.d.mts +3 -0
- package/dist/experiment/host/requirements.d.ts +3 -0
- package/dist/experiment/host/requirements.js +4 -0
- package/dist/experiment/host/requirements.js.map +1 -0
- package/dist/experiment/host/runtime.cjs +179 -0
- package/dist/experiment/host/runtime.cjs.map +1 -0
- package/dist/experiment/host/runtime.d.cts +79 -0
- package/dist/experiment/host/runtime.d.mts +79 -0
- package/dist/experiment/host/runtime.d.ts +79 -0
- package/dist/experiment/host/runtime.js +6 -0
- package/dist/experiment/host/runtime.js.map +1 -0
- package/dist/experiment/host/types.cjs.map +1 -1
- package/dist/experiment/host/types.d.cts +17 -16
- package/dist/experiment/host/types.d.mts +17 -16
- package/dist/experiment/host/types.d.ts +17 -16
- package/dist/fresh-import.cjs +2 -1
- package/dist/fresh-import.cjs.map +1 -1
- package/dist/index.cjs +4 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +12 -6
- package/dist/index.d.mts +12 -6
- package/dist/index.d.ts +12 -6
- package/dist/index.js +32 -30
- package/dist/index.mjs +32 -30
- package/dist/inspection/artifacts.cjs +83 -54
- package/dist/inspection/artifacts.cjs.map +1 -1
- package/dist/inspection/artifacts.d.cts +8 -0
- package/dist/inspection/artifacts.d.mts +8 -0
- package/dist/inspection/artifacts.d.ts +8 -0
- package/dist/inspection/artifacts.js +2 -0
- package/dist/inspection/assertions.cjs +4 -1
- package/dist/inspection/assertions.cjs.map +1 -1
- package/dist/inspection/cli/contribution.cjs +27 -4
- package/dist/inspection/cli/contribution.cjs.map +1 -1
- package/dist/inspection/cli/contribution.d.cts +2 -1
- package/dist/inspection/cli/contribution.d.mts +2 -1
- package/dist/inspection/cli/contribution.d.ts +2 -1
- package/dist/inspection/execution-traces.cjs +114 -8
- package/dist/inspection/execution-traces.cjs.map +1 -1
- package/dist/inspection/execution-traces.d.cts +38 -0
- package/dist/inspection/execution-traces.d.mts +38 -0
- package/dist/inspection/execution-traces.d.ts +38 -0
- package/dist/inspection/facts.cjs +12 -0
- package/dist/inspection/facts.cjs.map +1 -1
- package/dist/inspection/limits.cjs +5 -1
- package/dist/inspection/limits.cjs.map +1 -1
- package/dist/inspection/limits.d.cts +4 -0
- package/dist/inspection/limits.d.mts +4 -0
- package/dist/inspection/limits.d.ts +4 -0
- package/dist/inspection/limits.js +6 -2
- package/dist/inspection/overview.cjs +74 -33
- package/dist/inspection/overview.cjs.map +1 -1
- package/dist/inspection/overview.d.cts +19 -1
- package/dist/inspection/overview.d.mts +19 -1
- package/dist/inspection/overview.d.ts +19 -1
- package/dist/inspection/overview.js +4 -2
- package/dist/inspection/project-input.cjs +9 -0
- package/dist/inspection/project-input.cjs.map +1 -0
- package/dist/inspection/project-input.d.cts +20 -0
- package/dist/inspection/project-input.d.mts +20 -0
- package/dist/inspection/project-input.d.ts +20 -0
- package/dist/inspection/project-input.js +8 -0
- package/dist/inspection/project-input.js.map +1 -0
- package/dist/inspection/project-result.cjs +60 -0
- package/dist/inspection/project-result.cjs.map +1 -0
- package/dist/inspection/project-result.d.cts +1264 -0
- package/dist/inspection/project-result.d.mts +1264 -0
- package/dist/inspection/project-result.d.ts +1264 -0
- package/dist/inspection/project-result.js +10 -0
- package/dist/inspection/project-result.js.map +1 -0
- package/dist/inspection/project-source.cjs +109 -0
- package/dist/inspection/project-source.cjs.map +1 -0
- package/dist/inspection/project-source.d.cts +10 -0
- package/dist/inspection/project-source.d.mts +10 -0
- package/dist/inspection/project-source.d.ts +10 -0
- package/dist/inspection/project-source.js +6 -0
- package/dist/inspection/project-source.js.map +1 -0
- package/dist/inspection/project.cjs +100 -0
- package/dist/inspection/project.cjs.map +1 -0
- package/dist/inspection/project.d.cts +3 -0
- package/dist/inspection/project.d.mts +3 -0
- package/dist/inspection/project.d.ts +3 -0
- package/dist/inspection/project.js +6 -0
- package/dist/inspection/project.js.map +1 -0
- package/dist/inspection/protocol.cjs +19 -9
- package/dist/inspection/protocol.cjs.map +1 -1
- package/dist/inspection/protocol.d.cts +5506 -38189
- package/dist/inspection/protocol.d.mts +5506 -38189
- package/dist/inspection/protocol.d.ts +5506 -38189
- package/dist/inspection/public.mjs +896 -84
- package/dist/inspection/query.cjs +2 -0
- package/dist/inspection/query.cjs.map +1 -1
- package/dist/inspection/results.cjs +234 -29
- package/dist/inspection/results.cjs.map +1 -1
- package/dist/inspection/results.d.cts +870 -13
- package/dist/inspection/results.d.mts +870 -13
- package/dist/inspection/results.d.ts +870 -13
- package/dist/inspection/results.js +36 -34
- package/dist/inspection/select.cjs +126 -14
- package/dist/inspection/select.cjs.map +1 -1
- package/dist/inspection/select.d.cts +1 -1
- package/dist/inspection/select.d.mts +1 -1
- package/dist/inspection/select.d.ts +1 -1
- package/dist/inspection/source.cjs +4 -0
- package/dist/inspection/source.cjs.map +1 -1
- package/dist/inspection/sources.cjs +5 -0
- package/dist/inspection/sources.cjs.map +1 -1
- package/dist/inspection/trace.cjs +82 -84
- package/dist/inspection/trace.cjs.map +1 -1
- package/dist/inspection/trace.d.cts +7 -2
- package/dist/inspection/trace.d.mts +7 -2
- package/dist/inspection/trace.d.ts +7 -2
- package/dist/model-slots.cjs +35 -0
- package/dist/model-slots.cjs.map +1 -0
- package/dist/model-slots.d.cts +19 -0
- package/dist/model-slots.d.mts +19 -0
- package/dist/model-slots.d.ts +19 -0
- package/dist/model-slots.js +8 -0
- package/dist/model-slots.js.map +1 -0
- package/dist/o11y/adapter-call-price.cjs +4 -0
- package/dist/o11y/adapter-call-price.cjs.map +1 -1
- package/dist/o11y/adapter-call-price.d.cts +24 -0
- package/dist/o11y/adapter-call-price.d.mts +24 -0
- package/dist/o11y/adapter-call-price.d.ts +24 -0
- package/dist/o11y/adapter-call-price.js +6 -2
- package/dist/o11y/adapter-usage-projection.cjs +158 -0
- package/dist/o11y/adapter-usage-projection.cjs.map +1 -0
- package/dist/o11y/adapter-usage-projection.d.cts +141 -0
- package/dist/o11y/adapter-usage-projection.d.mts +141 -0
- package/dist/o11y/adapter-usage-projection.d.ts +141 -0
- package/dist/o11y/adapter-usage-projection.js +20 -0
- package/dist/o11y/adapter-usage-projection.js.map +1 -0
- package/dist/o11y/eval-usage.cjs +149 -0
- package/dist/o11y/eval-usage.cjs.map +1 -0
- package/dist/o11y/eval-usage.d.cts +46 -0
- package/dist/o11y/eval-usage.d.mts +46 -0
- package/dist/o11y/eval-usage.d.ts +46 -0
- package/dist/o11y/eval-usage.js +8 -0
- package/dist/o11y/eval-usage.js.map +1 -0
- package/dist/o11y/judge-call-price.cjs +62 -0
- package/dist/o11y/judge-call-price.cjs.map +1 -0
- package/dist/o11y/judge-call-price.d.cts +3 -0
- package/dist/o11y/judge-call-price.d.mts +3 -0
- package/dist/o11y/judge-call-price.d.ts +3 -0
- package/dist/o11y/judge-call-price.js +6 -0
- package/dist/o11y/judge-call-price.js.map +1 -0
- package/dist/o11y/judge-usage-projection.cjs +134 -0
- package/dist/o11y/judge-usage-projection.cjs.map +1 -0
- package/dist/o11y/judge-usage-projection.d.cts +18 -0
- package/dist/o11y/judge-usage-projection.d.mts +18 -0
- package/dist/o11y/judge-usage-projection.d.ts +18 -0
- package/dist/o11y/judge-usage-projection.js +20 -0
- package/dist/o11y/judge-usage-projection.js.map +1 -0
- package/dist/o11y/judge-usage-receipt.cjs +135 -0
- package/dist/o11y/judge-usage-receipt.cjs.map +1 -0
- package/dist/o11y/judge-usage-receipt.d.cts +5 -0
- package/dist/o11y/judge-usage-receipt.d.mts +5 -0
- package/dist/o11y/judge-usage-receipt.d.ts +5 -0
- package/dist/o11y/judge-usage-receipt.js +6 -0
- package/dist/o11y/judge-usage-receipt.js.map +1 -0
- package/dist/o11y/judge-usage.cjs +171 -0
- package/dist/o11y/judge-usage.cjs.map +1 -0
- package/dist/o11y/judge-usage.d.cts +35 -0
- package/dist/o11y/judge-usage.d.mts +35 -0
- package/dist/o11y/judge-usage.d.ts +35 -0
- package/dist/o11y/judge-usage.js +6 -0
- package/dist/o11y/judge-usage.js.map +1 -0
- package/dist/plugin/contracts.cjs +2 -0
- package/dist/plugin/contracts.cjs.map +1 -1
- package/dist/plugin/link.cjs +7 -0
- package/dist/plugin/link.cjs.map +1 -1
- package/dist/record/attachment/protocol.cjs +8 -6
- package/dist/record/attachment/protocol.cjs.map +1 -1
- package/dist/record/attachment/protocol.d.cts +10 -0
- package/dist/record/attachment/protocol.d.mts +10 -0
- package/dist/record/attachment/protocol.d.ts +10 -0
- package/dist/record/attachment/protocol.js +38 -36
- 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/adapter-usage/definition.d.cts +1 -0
- package/dist/record/family/adapter-usage/definition.d.mts +1 -0
- package/dist/record/family/adapter-usage/definition.d.ts +1 -0
- package/dist/record/family/adapter-usage/persistence.cjs +1 -1
- package/dist/record/family/adapter-usage/persistence.cjs.map +1 -1
- package/dist/record/family/adapter-usage/persistence.d.cts +2 -1
- package/dist/record/family/adapter-usage/persistence.d.mts +2 -1
- package/dist/record/family/adapter-usage/persistence.d.ts +2 -1
- package/dist/record/family/adapter-usage/schema.cjs +21 -2
- package/dist/record/family/adapter-usage/schema.cjs.map +1 -1
- package/dist/record/family/adapter-usage/schema.d.cts +85 -0
- package/dist/record/family/adapter-usage/schema.d.mts +85 -0
- package/dist/record/family/adapter-usage/schema.d.ts +85 -0
- package/dist/record/family/adapter-usage/schema.js +18 -12
- package/dist/record/family/catalog.cjs +31 -27
- package/dist/record/family/catalog.cjs.map +1 -1
- package/dist/record/family/catalog.d.cts +94 -3
- package/dist/record/family/catalog.d.mts +94 -3
- package/dist/record/family/catalog.d.ts +94 -3
- package/dist/record/family/current.cjs +45 -42
- package/dist/record/family/current.cjs.map +1 -1
- package/dist/record/family/current.d.cts +240 -1
- package/dist/record/family/current.d.mts +240 -1
- package/dist/record/family/current.d.ts +240 -1
- package/dist/record/family/execution-traces/definition.d.cts +26 -0
- package/dist/record/family/execution-traces/definition.d.mts +26 -0
- package/dist/record/family/execution-traces/definition.d.ts +26 -0
- package/dist/record/family/execution-traces/definition.js +20 -14
- package/dist/record/family/execution-traces/schema.cjs +57 -1
- package/dist/record/family/execution-traces/schema.cjs.map +1 -1
- package/dist/record/family/execution-traces/schema.d.cts +114 -0
- package/dist/record/family/execution-traces/schema.d.mts +114 -0
- package/dist/record/family/execution-traces/schema.d.ts +114 -0
- package/dist/record/family/execution-traces/schema.js +18 -12
- package/dist/record/family/judge-usage/definition.cjs +12 -0
- package/dist/record/family/judge-usage/definition.cjs.map +1 -0
- package/dist/record/family/judge-usage/definition.d.cts +91 -0
- package/dist/record/family/judge-usage/definition.d.mts +91 -0
- package/dist/record/family/judge-usage/definition.d.ts +91 -0
- package/dist/record/family/judge-usage/definition.js +6 -0
- package/dist/record/family/judge-usage/definition.js.map +1 -0
- package/dist/record/family/judge-usage/persistence.cjs +10 -0
- package/dist/record/family/judge-usage/persistence.cjs.map +1 -0
- package/dist/record/family/judge-usage/persistence.d.cts +91 -0
- package/dist/record/family/judge-usage/persistence.d.mts +91 -0
- package/dist/record/family/judge-usage/persistence.d.ts +91 -0
- package/dist/record/family/judge-usage/persistence.js +6 -0
- package/dist/record/family/judge-usage/persistence.js.map +1 -0
- package/dist/record/family/judge-usage/schema.cjs +307 -0
- package/dist/record/family/judge-usage/schema.cjs.map +1 -0
- package/dist/record/family/judge-usage/schema.d.cts +351 -0
- package/dist/record/family/judge-usage/schema.d.mts +351 -0
- package/dist/record/family/judge-usage/schema.d.ts +351 -0
- package/dist/record/family/judge-usage/schema.js +18 -0
- package/dist/record/family/judge-usage/schema.js.map +1 -0
- package/dist/record/host/sqlite-host.cjs +55 -9
- package/dist/record/host/sqlite-host.cjs.map +1 -1
- package/dist/record/host/types.cjs.map +1 -1
- package/dist/record/host/types.d.cts +7 -0
- package/dist/record/host/types.d.mts +7 -0
- package/dist/record/host/types.d.ts +7 -0
- package/dist/record/model/run-context.cjs +7 -1
- package/dist/record/model/run-context.cjs.map +1 -1
- package/dist/record/model/run-context.d.cts +4 -0
- package/dist/record/model/run-context.d.mts +4 -0
- package/dist/record/model/run-context.d.ts +4 -0
- 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/record/sqlite/client.cjs +18 -5
- package/dist/record/sqlite/client.cjs.map +1 -1
- package/dist/record/sqlite/client.d.cts +1 -1
- package/dist/record/sqlite/client.d.mts +1 -1
- package/dist/record/sqlite/client.d.ts +1 -1
- package/dist/record/sqlite/project-state-database.cjs +29 -8
- package/dist/record/sqlite/project-state-database.cjs.map +1 -1
- package/dist/run/host/runtime.cjs +4 -0
- package/dist/run/host/runtime.cjs.map +1 -1
- package/dist/run/storage/sqlite.cjs +20 -0
- package/dist/run/storage/sqlite.cjs.map +1 -1
- package/dist/runner/adapter-execution-trace.cjs +125 -2
- package/dist/runner/adapter-execution-trace.cjs.map +1 -1
- package/dist/runner/adapter-execution-trace.d.cts +1 -1
- package/dist/runner/adapter-execution-trace.d.mts +1 -1
- package/dist/runner/adapter-execution-trace.d.ts +1 -1
- package/dist/runner/adapter-usage.cjs +55 -7
- package/dist/runner/adapter-usage.cjs.map +1 -1
- package/dist/runner/adapter-usage.d.cts +9 -2
- package/dist/runner/adapter-usage.d.mts +9 -2
- package/dist/runner/adapter-usage.d.ts +9 -2
- package/dist/runner/adoption.cjs +9 -0
- package/dist/runner/adoption.cjs.map +1 -1
- package/dist/runner/attempt-cancellation.cjs +12 -0
- package/dist/runner/attempt-cancellation.cjs.map +1 -0
- package/dist/runner/attempt-cancellation.d.cts +6 -0
- package/dist/runner/attempt-cancellation.d.mts +6 -0
- package/dist/runner/attempt-cancellation.d.ts +6 -0
- package/dist/runner/attempt-cancellation.js +6 -0
- package/dist/runner/attempt-cancellation.js.map +1 -0
- package/dist/runner/attempt-resources.cjs +10 -4
- package/dist/runner/attempt-resources.cjs.map +1 -1
- package/dist/runner/attempt-resources.d.cts +2 -1
- package/dist/runner/attempt-resources.d.mts +2 -1
- package/dist/runner/attempt-resources.d.ts +2 -1
- package/dist/runner/attempt.cjs +1177 -1139
- package/dist/runner/attempt.cjs.map +1 -1
- package/dist/runner/config-identity.cjs +20 -1
- package/dist/runner/config-identity.cjs.map +1 -1
- package/dist/runner/config-identity.d.cts +5 -0
- package/dist/runner/config-identity.d.mts +5 -0
- package/dist/runner/config-identity.d.ts +5 -0
- package/dist/runner/discover.cjs +14 -0
- package/dist/runner/discover.cjs.map +1 -1
- package/dist/runner/discover.d.cts +3 -0
- package/dist/runner/discover.d.mts +3 -0
- package/dist/runner/discover.d.ts +3 -0
- package/dist/runner/feedback/human.cjs +9 -4
- package/dist/runner/feedback/human.cjs.map +1 -1
- package/dist/runner/fingerprint.cjs +1 -0
- package/dist/runner/fingerprint.cjs.map +1 -1
- package/dist/runner/judge-usage.cjs +18 -0
- package/dist/runner/judge-usage.cjs.map +1 -0
- package/dist/runner/judge-usage.d.cts +5 -0
- package/dist/runner/judge-usage.d.mts +5 -0
- package/dist/runner/judge-usage.d.ts +5 -0
- package/dist/runner/judge-usage.js +8 -0
- package/dist/runner/judge-usage.js.map +1 -0
- package/dist/runner/project-target.cjs.map +1 -1
- package/dist/runner/project-target.d.cts +2 -0
- package/dist/runner/project-target.d.mts +2 -0
- package/dist/runner/project-target.d.ts +2 -0
- package/dist/runner/record/planning.cjs +1 -0
- package/dist/runner/record/planning.cjs.map +1 -1
- package/dist/runner/record.cjs +4 -0
- package/dist/runner/record.cjs.map +1 -1
- package/dist/runner/reporters/braintrust.cjs +2 -0
- package/dist/runner/reporters/braintrust.cjs.map +1 -1
- package/dist/runner/reuse-diagnostics.cjs +9 -10
- package/dist/runner/reuse-diagnostics.cjs.map +1 -1
- package/dist/runner/reuse-diagnostics.d.cts +5 -6
- package/dist/runner/reuse-diagnostics.d.mts +5 -6
- package/dist/runner/reuse-diagnostics.d.ts +5 -6
- package/dist/runner/reuse-diagnostics.js +4 -4
- package/dist/runner/reuse-plan.cjs +100 -48
- package/dist/runner/reuse-plan.cjs.map +1 -1
- package/dist/runner/reuse-plan.d.cts +60 -3
- package/dist/runner/reuse-plan.d.mts +60 -3
- package/dist/runner/reuse-plan.d.ts +60 -3
- package/dist/runner/reuse-plan.js +14 -10
- package/dist/runner/run.cjs +8 -6
- package/dist/runner/run.cjs.map +1 -1
- package/dist/runner/session.cjs +1 -1
- package/dist/runner/session.cjs.map +1 -1
- package/dist/runner/session.d.cts +1 -1
- package/dist/runner/session.d.mts +1 -1
- package/dist/runner/session.d.ts +1 -1
- package/dist/runner/source-producer.cjs +3 -1
- package/dist/runner/source-producer.cjs.map +1 -1
- package/dist/runner/types.cjs.map +1 -1
- package/dist/runner/types.d.cts +26 -5
- package/dist/runner/types.d.mts +26 -5
- package/dist/runner/types.d.ts +26 -5
- package/dist/sandbox/action.cjs +3 -0
- package/dist/sandbox/action.cjs.map +1 -1
- package/dist/sandbox/commands.cjs +3 -0
- package/dist/sandbox/commands.cjs.map +1 -1
- package/dist/sandbox/compose.cjs +6 -0
- package/dist/sandbox/compose.cjs.map +1 -1
- package/dist/sandbox/docker-profile/registry.cjs +7 -0
- package/dist/sandbox/docker-profile/registry.cjs.map +1 -1
- package/dist/sandbox/docker-profile/runtime.cjs +3 -0
- package/dist/sandbox/docker-profile/runtime.cjs.map +1 -1
- package/dist/sandbox/docker-profile/schema.cjs +7 -0
- package/dist/sandbox/docker-profile/schema.cjs.map +1 -1
- package/dist/sandbox/incus.cjs +7 -0
- package/dist/sandbox/incus.cjs.map +1 -1
- package/dist/sandbox/layer.cjs +12 -0
- package/dist/sandbox/layer.cjs.map +1 -1
- package/dist/shared/adapter-cleanup.cjs +18 -0
- package/dist/shared/adapter-cleanup.cjs.map +1 -0
- package/dist/shared/adapter-cleanup.d.cts +4 -0
- package/dist/shared/adapter-cleanup.d.mts +4 -0
- package/dist/shared/adapter-cleanup.d.ts +4 -0
- package/dist/shared/adapter-cleanup.js +10 -0
- package/dist/shared/adapter-cleanup.js.map +1 -0
- package/dist/shared/attempt-lifecycle.cjs +3 -0
- package/dist/shared/attempt-lifecycle.cjs.map +1 -0
- package/dist/shared/attempt-lifecycle.d.cts +13 -0
- package/dist/shared/attempt-lifecycle.d.mts +13 -0
- package/dist/shared/attempt-lifecycle.d.ts +13 -0
- package/dist/shared/attempt-lifecycle.js +4 -0
- package/dist/shared/attempt-lifecycle.js.map +1 -0
- package/dist/show/contribution.cjs +52 -14
- package/dist/show/contribution.cjs.map +1 -1
- package/dist/show/contribution.d.cts +23 -1
- package/dist/show/contribution.d.mts +23 -1
- package/dist/show/contribution.d.ts +23 -1
- package/dist/show/model.cjs +8 -1
- package/dist/show/model.cjs.map +1 -1
- package/dist/show/model.d.cts +10 -1
- package/dist/show/model.d.mts +10 -1
- package/dist/show/model.d.ts +10 -1
- package/dist/show/render.cjs +287 -49
- package/dist/show/render.cjs.map +1 -1
- package/dist/show/render.d.cts +3 -0
- package/dist/show/render.d.mts +3 -0
- package/dist/show/render.d.ts +3 -0
- package/dist/sources/projector.cjs +3 -0
- package/dist/sources/projector.cjs.map +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/view/app-dist/.vite/manifest.json +2 -2
- package/dist/view/app-dist/assets/index-CmVoXbwG.js +63 -0
- package/dist/view/app-dist/assets/{quality-cost-scatter-CFB3wnkN.js → quality-cost-scatter-BuLISaH4.js} +1 -1
- package/dist/view/app-dist/index.html +1 -1
- package/dist/view/cli/contribution.cjs +54 -21
- package/dist/view/cli/contribution.cjs.map +1 -1
- package/dist/view/cli/contribution.d.cts +2 -1
- package/dist/view/cli/contribution.d.mts +2 -1
- package/dist/view/cli/contribution.d.ts +2 -1
- package/dist/view/function-runtime.mjs +13231 -11647
- package/dist/view/http-protocol.cjs +3 -0
- package/dist/view/http-protocol.cjs.map +1 -1
- package/dist/view/http-protocol.d.cts +8 -0
- package/dist/view/http-protocol.d.mts +8 -0
- package/dist/view/http-protocol.d.ts +8 -0
- package/dist/view/inspection-host.cjs +17 -1
- package/dist/view/inspection-host.cjs.map +1 -1
- package/dist/view/render.cjs +1 -0
- package/dist/view/render.cjs.map +1 -1
- package/dist/view/render.d.cts +2 -1
- package/dist/view/render.d.mts +2 -1
- package/dist/view/render.d.ts +2 -1
- package/dist/view/revision.cjs.map +1 -1
- package/dist/view/revision.d.cts +12 -0
- package/dist/view/revision.d.mts +12 -0
- package/dist/view/revision.d.ts +12 -0
- package/dist/view/server.cjs +10 -9
- package/dist/view/server.cjs.map +1 -1
- package/docs-site/zh/examples/ai-agent-application.mdx +1 -1
- package/docs-site/zh/explanation/adapter.mdx +2 -2
- package/docs-site/zh/explanation/assert.mdx +60 -24
- package/docs-site/zh/explanation/drive.mdx +1 -1
- package/docs-site/zh/explanation/evals.mdx +31 -29
- package/docs-site/zh/explanation/experiment.mdx +15 -15
- package/docs-site/zh/explanation/judge.mdx +23 -15
- package/docs-site/zh/explanation/overview.mdx +44 -21
- package/docs-site/zh/explanation/record.mdx +28 -13
- package/docs-site/zh/explanation/results-flow.mdx +37 -0
- package/docs-site/zh/explanation/runner.mdx +27 -6
- package/docs-site/zh/index.mdx +22 -115
- package/docs-site/zh/introduction.mdx +89 -61
- package/docs-site/zh/reference/cli.mdx +50 -26
- package/docs-site/zh/reference/define-agent.mdx +37 -5
- package/docs-site/zh/reference/define-eval.mdx +130 -29
- package/docs-site/zh/reference/define-experiment.mdx +251 -0
- package/docs-site/zh/reference/events.mdx +34 -30
- package/docs-site/zh/reference/expect.mdx +77 -2
- package/docs-site/zh/reference/official-adapters.mdx +2 -2
- package/docs-site/zh/troubleshooting/debug-sandbox.mdx +43 -24
- package/docs-site/zh/troubleshooting/debugging.mdx +65 -42
- package/docs-site/zh/troubleshooting/recover-after-kill.mdx +35 -28
- package/docs-site/zh/tutorials/accept-results.mdx +34 -24
- package/docs-site/zh/tutorials/agent-feedback-loop.mdx +74 -43
- package/docs-site/zh/tutorials/agent-onboarding.mdx +27 -20
- package/docs-site/zh/tutorials/authoring.mdx +138 -121
- package/docs-site/zh/tutorials/ci-integration.mdx +46 -22
- package/docs-site/zh/tutorials/compare-runs.mdx +40 -13
- package/docs-site/zh/tutorials/concurrency.mdx +66 -62
- package/docs-site/zh/tutorials/configuration.mdx +17 -17
- package/docs-site/zh/tutorials/connect-otel.mdx +48 -37
- package/docs-site/zh/tutorials/connect-your-agent.mdx +80 -173
- package/docs-site/zh/tutorials/control-run-cost.mdx +63 -12
- package/docs-site/zh/tutorials/criteria-files.mdx +28 -21
- package/docs-site/zh/tutorials/custom-application.mdx +75 -55
- package/docs-site/zh/tutorials/dataset-fanout.mdx +32 -22
- package/docs-site/zh/tutorials/debug-lifecycle-plan.mdx +38 -31
- package/docs-site/zh/tutorials/docker-in-docker.mdx +83 -89
- package/docs-site/zh/tutorials/eval-groups.mdx +70 -89
- package/docs-site/zh/tutorials/evaluation-kinds.mdx +12 -5
- package/docs-site/zh/tutorials/experiment-services.mdx +243 -0
- package/docs-site/zh/tutorials/fixtures.mdx +42 -26
- package/docs-site/zh/tutorials/handle-execution-failures.mdx +41 -19
- package/docs-site/zh/tutorials/install-custom-sandbox-agent.mdx +21 -16
- package/docs-site/zh/tutorials/niceeval-taste-application.mdx +394 -0
- package/docs-site/zh/tutorials/niceeval-taste.mdx +190 -0
- package/docs-site/zh/tutorials/nixos-managed-dind.mdx +51 -39
- package/docs-site/zh/tutorials/plugins.mdx +55 -31
- package/docs-site/zh/tutorials/prebuilt-sandbox.mdx +204 -0
- package/docs-site/zh/tutorials/quickstart.mdx +91 -47
- package/docs-site/zh/tutorials/reporters.mdx +45 -30
- package/docs-site/zh/tutorials/rerun-and-cache.mdx +39 -40
- package/docs-site/zh/tutorials/sandbox-agent.mdx +65 -40
- package/docs-site/zh/tutorials/sandbox-providers.mdx +104 -282
- package/docs-site/zh/tutorials/sandbox-reuse.mdx +65 -97
- package/docs-site/zh/tutorials/select-and-preview.mdx +25 -20
- package/docs-site/zh/tutorials/verify-judge.mdx +49 -26
- package/docs-site/zh/tutorials/viewing-results.mdx +130 -80
- package/docs-site/zh/tutorials/write-experiment.mdx +116 -298
- package/docs-site/zh/tutorials/write-send.mdx +53 -52
- package/node_modules/undici/docs/docs/api/Agent.md +8 -8
- package/node_modules/undici/docs/docs/api/DiagnosticsChannel.md +9 -6
- package/node_modules/undici/docs/docs/api/Errors.md +25 -0
- package/node_modules/undici/docs/docs/api/Interceptors.md +4 -3
- package/node_modules/undici/docs/docs/api/Pool.md +5 -6
- package/node_modules/undici/lib/api/readable.js +1 -2
- package/node_modules/undici/lib/core/request.js +23 -2
- package/node_modules/undici/lib/core/util.js +0 -39
- package/node_modules/undici/lib/dispatcher/client-h1.js +11 -4
- package/node_modules/undici/lib/dispatcher/client-h2.js +52 -8
- package/node_modules/undici/lib/dispatcher/client.js +1 -1
- package/node_modules/undici/lib/dispatcher/dispatcher1-wrapper.js +3 -2
- package/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +21 -6
- package/node_modules/undici/lib/dispatcher/pool-base.js +63 -2
- package/node_modules/undici/lib/dispatcher/pool.js +90 -7
- package/node_modules/undici/lib/dispatcher/proxy-agent.js +16 -3
- package/node_modules/undici/lib/handler/deduplication-handler.js +24 -11
- package/node_modules/undici/lib/handler/redirect-handler.js +5 -0
- package/node_modules/undici/lib/handler/retry-handler.js +72 -13
- package/node_modules/undici/lib/interceptor/cache.js +4 -1
- package/node_modules/undici/lib/interceptor/decompress.js +236 -69
- package/node_modules/undici/lib/web/cache/cache.js +17 -8
- package/node_modules/undici/lib/web/cache/cachestorage.js +11 -5
- package/node_modules/undici/lib/web/cookies/index.js +19 -7
- package/node_modules/undici/lib/web/cookies/util.js +3 -1
- package/node_modules/undici/lib/web/eventsource/eventsource.js +25 -1
- package/node_modules/undici/lib/web/fetch/body.js +22 -15
- package/node_modules/undici/lib/web/fetch/data-url.js +6 -6
- package/node_modules/undici/lib/web/fetch/formdata.js +30 -36
- package/node_modules/undici/lib/web/fetch/headers.js +34 -31
- package/node_modules/undici/lib/web/fetch/index.js +38 -14
- package/node_modules/undici/lib/web/fetch/request.js +74 -79
- package/node_modules/undici/lib/web/fetch/response.js +43 -44
- package/node_modules/undici/lib/web/fetch/util.js +7 -7
- package/node_modules/undici/lib/web/infra/index.js +16 -1
- package/node_modules/undici/lib/web/webidl/index.js +2 -14
- package/node_modules/undici/lib/web/websocket/events.js +43 -26
- package/node_modules/undici/lib/web/websocket/receiver.js +5 -0
- package/node_modules/undici/lib/web/websocket/stream/websocketerror.js +13 -10
- package/node_modules/undici/lib/web/websocket/websocket.js +44 -41
- package/node_modules/undici/package.json +1 -1
- package/node_modules/undici/types/diagnostics-channel.d.ts +2 -1
- package/node_modules/undici/types/interceptors.d.ts +1 -1
- package/node_modules/undici/types/webidl.d.ts +13 -7
- package/package.json +4 -4
- package/dist/view/app-dist/assets/index-DFzw1L97.js +0 -63
- package/docs-site/zh/tutorials/experiments.mdx +0 -101
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createRequire as __niceevalCreateRequire } from "node:module";
|
|
2
|
+
const __niceevalRequire = __niceevalCreateRequire(import.meta.url);
|
|
3
|
+
const __niceevalCanonical = __niceevalRequire("./project-result.cjs");
|
|
4
|
+
const __niceevalExport0 = __niceevalCanonical["InspectionProjectGapReasonSchema"];
|
|
5
|
+
export { __niceevalExport0 as InspectionProjectGapReasonSchema };
|
|
6
|
+
const __niceevalExport1 = __niceevalCanonical["InspectionProjectResultSchema"];
|
|
7
|
+
export { __niceevalExport1 as InspectionProjectResultSchema };
|
|
8
|
+
const __niceevalExport2 = __niceevalCanonical["InspectionProjectSlotSchema"];
|
|
9
|
+
export { __niceevalExport2 as InspectionProjectSlotSchema };
|
|
10
|
+
//# sourceMappingURL=project-result.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-result.js","sources":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.openCurrentProjectSource = void 0;
|
|
4
|
+
const node_fs_1 = require("node:fs");
|
|
5
|
+
const node_path_1 = require("node:path");
|
|
6
|
+
const effect_1 = require("effect");
|
|
7
|
+
const current_ts_1 = require("../experiment/host/current.cjs");
|
|
8
|
+
const index_ts_1 = require("../record/sqlite/index.cjs");
|
|
9
|
+
const protocol_ts_1 = require("../record/attachment/protocol.cjs");
|
|
10
|
+
const current_ts_2 = require("../record/family/current.cjs");
|
|
11
|
+
const record_errors_ts_1 = require("../record/errors/record-errors.cjs");
|
|
12
|
+
const reuse_plan_ts_1 = require("../runner/reuse-plan.cjs");
|
|
13
|
+
const facts_ts_1 = require("./facts.cjs");
|
|
14
|
+
const source_ts_1 = require("./source.cjs");
|
|
15
|
+
const project_input_ts_1 = require("./project-input.cjs");
|
|
16
|
+
/** One scoped reader owns both the availability inputs and Inspection facts. */
|
|
17
|
+
exports.openCurrentProjectSource = effect_1.Effect.fn("openCurrentProjectSource")(function* (input) {
|
|
18
|
+
const root = (0, node_path_1.resolve)(input.cwd, ".niceeval");
|
|
19
|
+
let source;
|
|
20
|
+
const resources = [];
|
|
21
|
+
if (input.recordPath === undefined && !(0, node_fs_1.existsSync)((0, node_path_1.resolve)(root, "record.sqlite"))) {
|
|
22
|
+
source = yield* (0, source_ts_1.openInspectionSource)((0, source_ts_1.operationalInspectionSource)(input.cwd));
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
const session = input.recordPath === undefined
|
|
26
|
+
? yield* (0, index_ts_1.acquireProjectRecordReadSession)(root)
|
|
27
|
+
: yield* effect_1.Effect.acquireRelease(effect_1.Effect.try(() => (0, index_ts_1.openHostOwnedRecordReadSession)(input.recordPath)), (opened) => effect_1.Effect.sync(() => opened.close()));
|
|
28
|
+
const cutoff = session.readSealedRunSummaryPage("", 1).cutoff;
|
|
29
|
+
source = Object.freeze({
|
|
30
|
+
kind: "project-record",
|
|
31
|
+
cutoff: () => cutoff,
|
|
32
|
+
readRunResource: session.readRunResource,
|
|
33
|
+
readSealedRunSummaryPage: session.readSealedRunSummaryPage,
|
|
34
|
+
findAttemptLocatorCandidates: session.findAttemptLocatorCandidates,
|
|
35
|
+
readSealedRunCore: session.readSealedRunCore,
|
|
36
|
+
readContentPage: session.readContentChunkPage,
|
|
37
|
+
readCollectionPage: session.readCollectionItemPage,
|
|
38
|
+
});
|
|
39
|
+
let afterRunId = "";
|
|
40
|
+
for (;;) {
|
|
41
|
+
const page = session.listRunResources({ afterRunId, pageSize: 100 });
|
|
42
|
+
resources.push(...page.runs);
|
|
43
|
+
if (page.nextAfterRunId === null)
|
|
44
|
+
break;
|
|
45
|
+
afterRunId = page.nextAfterRunId;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
const target = yield* (0, current_ts_1.prepareCurrentTarget)(input);
|
|
49
|
+
const runs = yield* effect_1.Effect.try(() => (0, facts_ts_1.loadInspectionRuns)(source));
|
|
50
|
+
const assessmentRuns = runs.map((run) => ({
|
|
51
|
+
createdRevision: run.physical.createdRevision,
|
|
52
|
+
document: run.run,
|
|
53
|
+
members: run.members.map((member) => ({
|
|
54
|
+
document: member,
|
|
55
|
+
bindingRevision: run.physical.members.find((row) => row.slotId === member.slotId)?.bindingRevision,
|
|
56
|
+
attempt: member.attempt === null ? null : {
|
|
57
|
+
resolved: (0, facts_ts_1.resolveInspectionMemberAttempt)(runs, run, member),
|
|
58
|
+
sourceRunId: run.run.runId,
|
|
59
|
+
publication: published(resources.find((resource) => resource.runId === run.run.runId)?.slots.find((slot) => slot.slotId === member.slotId)?.publication),
|
|
60
|
+
},
|
|
61
|
+
})),
|
|
62
|
+
}));
|
|
63
|
+
const lifecycleRuns = yield* (0, reuse_plan_ts_1.mergeCurrentAssessmentRuns)(assessmentRuns, resources);
|
|
64
|
+
const assessments = yield* (0, current_ts_1.assessCurrentTarget)(target, {
|
|
65
|
+
runs: lifecycleRuns,
|
|
66
|
+
byRunId: new Map(lifecycleRuns.map((run) => [run.document.runId, run])),
|
|
67
|
+
selectionHasProblem: false,
|
|
68
|
+
coreIssues: [],
|
|
69
|
+
readAttempt: (ref) => effect_1.Effect.succeed(ref.resolved === undefined ? { state: "missing" } : {
|
|
70
|
+
state: "available",
|
|
71
|
+
value: { ...ref, document: ref.resolved.attempt, publicationAvailable: ref.publication !== undefined || ref.resolved.origin.physical.attempts.some((attempt) => attempt.attemptId === ref.resolved.attempt.attemptId && attempt.publicationIdentity !== undefined) },
|
|
72
|
+
}),
|
|
73
|
+
readAssertions: (attempt) => effect_1.Effect.sync(() => {
|
|
74
|
+
const read = (0, facts_ts_1.readInspectionAssertions)(attempt.resolved);
|
|
75
|
+
if (read.state === "available")
|
|
76
|
+
return { state: "available", value: read.value };
|
|
77
|
+
if (read.state === "not-recorded")
|
|
78
|
+
return { state: "not-recorded" };
|
|
79
|
+
if (read.state === "unsupported")
|
|
80
|
+
return { state: "unsupported", family: current_ts_2.NiceEvalRecordAttachments.assertions.family, revision: read.attachment.physical.familyRevision };
|
|
81
|
+
return { state: "invalid", issues: [(0, record_errors_ts_1.recordIssue)("record-schema-invalid", ["assertions", "current-invalid"])] };
|
|
82
|
+
}),
|
|
83
|
+
readActivities: (attempt) => effect_1.Effect.sync(() => {
|
|
84
|
+
const definition = current_ts_2.NiceEvalRecordAttachments.runnerActivities.attempt;
|
|
85
|
+
const attachment = (0, facts_ts_1.attemptAttachment)(attempt.resolved, definition.family);
|
|
86
|
+
if (attachment === undefined)
|
|
87
|
+
return { state: "not-recorded" };
|
|
88
|
+
if (attachment.physical.familyRevision !== current_ts_2.NiceEvalCurrentRecordAttachments.runnerActivities.attempt.revision)
|
|
89
|
+
return { state: "unsupported", family: definition.family, revision: attachment.physical.familyRevision };
|
|
90
|
+
const value = (0, protocol_ts_1.hydrateRecordAttachmentCurrent)(definition, attachment.value, { content: () => effect_1.Result.succeed(undefined), reference: () => effect_1.Result.succeed(undefined) });
|
|
91
|
+
return effect_1.Result.isSuccess(value) ? { state: "available", value: value.success } : { state: "invalid", issues: [(0, record_errors_ts_1.recordIssue)("record-schema-invalid", [definition.family, value.failure.code])] };
|
|
92
|
+
}),
|
|
93
|
+
sourceFor: (attempt, sourceBarrier) => ({
|
|
94
|
+
attemptId: attempt.document.attemptId,
|
|
95
|
+
origin: { runId: attempt.document.originRunId, slotId: attempt.document.slotId },
|
|
96
|
+
sourceBarrier,
|
|
97
|
+
sourceRunId: attempt.sourceRunId,
|
|
98
|
+
locator: attempt.resolved.locator,
|
|
99
|
+
relation: attempt.sourceRunId === attempt.document.originRunId ? "origin" : "reference",
|
|
100
|
+
action: attempt.publication?.action ?? runs.find((run) => run.run.runId === attempt.sourceRunId).members.find((member) => member.attempt?.attemptId === attempt.document.attemptId).action,
|
|
101
|
+
}),
|
|
102
|
+
});
|
|
103
|
+
(0, project_input_ts_1.bindProjectInput)(source, { cutoffIdentity: source.cutoff().identity, target, assessments, runs, resources: Object.freeze(resources) });
|
|
104
|
+
return source;
|
|
105
|
+
});
|
|
106
|
+
function published(value) {
|
|
107
|
+
return value?.state === "published" ? value : undefined;
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=project-source.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-source.js","sourceRoot":"","sources":["project-source.ts"],"names":[],"mappings":"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","sourcesContent":["import { existsSync } from \"node:fs\";\nimport { resolve } from \"node:path\";\nimport { Effect, Result } from \"effect\";\nimport { prepareCurrentTarget, assessCurrentTarget } from \"../experiment/host/current.ts\";\nimport { acquireProjectRecordReadSession, openHostOwnedRecordReadSession } from \"../record/sqlite/index.ts\";\nimport { hydrateRecordAttachmentCurrent } from \"../record/attachment/protocol.ts\";\nimport { NiceEvalCurrentRecordAttachments, NiceEvalRecordAttachments } from \"../record/family/current.ts\";\nimport { recordIssue } from \"../record/errors/record-errors.ts\";\nimport type { Config } from \"../runner/types.ts\";\nimport type { CurrentAssessmentRun } from \"../runner/reuse-plan.ts\";\nimport type { CurrentAssessmentAttempt } from \"../runner/reuse-plan.ts\";\nimport { mergeCurrentAssessmentRuns } from \"../runner/reuse-plan.ts\";\nimport type { ReadableRunResource } from \"../run/storage/types.ts\";\nimport type { ResolvedInspectionAttempt } from \"./facts.ts\";\nimport { loadInspectionRuns, resolveInspectionMemberAttempt, readInspectionAssertions, attemptAttachment } from \"./facts.ts\";\nimport { openInspectionSource, operationalInspectionSource, type InspectionFactSource } from \"./source.ts\";\nimport { bindProjectInput, type CurrentResultSource } from \"./project-input.ts\";\n/** One scoped reader owns both the availability inputs and Inspection facts. */\nexport const openCurrentProjectSource = Effect.fn(\"openCurrentProjectSource\")(function* (input: {\n readonly cwd: string;\n readonly config: Config;\n readonly recordPath?: string;\n readonly freshImport?: boolean;\n}) {\n const root = resolve(input.cwd, \".niceeval\");\n let source: InspectionFactSource;\n const resources: ReadableRunResource[] = [];\n if (input.recordPath === undefined && !existsSync(resolve(root, \"record.sqlite\"))) {\n source = yield* openInspectionSource(operationalInspectionSource(input.cwd));\n }\n else {\n const session = input.recordPath === undefined\n ? yield* acquireProjectRecordReadSession(root)\n : yield* Effect.acquireRelease(Effect.try(() => openHostOwnedRecordReadSession(input.recordPath!)), (opened) => Effect.sync(() => opened.close()));\n const cutoff = session.readSealedRunSummaryPage(\"\", 1).cutoff;\n source = Object.freeze({\n kind: \"project-record\" as const,\n cutoff: () => cutoff,\n readRunResource: session.readRunResource,\n readSealedRunSummaryPage: session.readSealedRunSummaryPage,\n findAttemptLocatorCandidates: session.findAttemptLocatorCandidates,\n readSealedRunCore: session.readSealedRunCore,\n readContentPage: session.readContentChunkPage,\n readCollectionPage: session.readCollectionItemPage,\n });\n let afterRunId = \"\";\n for (;;) {\n const page = session.listRunResources({ afterRunId, pageSize: 100 });\n resources.push(...page.runs);\n if (page.nextAfterRunId === null)\n break;\n afterRunId = page.nextAfterRunId;\n }\n }\n const target = yield* prepareCurrentTarget(input);\n const runs = yield* Effect.try(() => loadInspectionRuns(source));\n type Ref = {\n readonly resolved: ResolvedInspectionAttempt | undefined;\n readonly sourceRunId: string;\n readonly publication: Extract<ReadableRunResource[\"slots\"][number][\"publication\"], {\n state: \"published\";\n }> | undefined;\n };\n const assessmentRuns: CurrentAssessmentRun<Ref>[] = runs.map((run) => ({\n createdRevision: run.physical.createdRevision,\n document: run.run,\n members: run.members.map((member) => ({\n document: member,\n bindingRevision: run.physical.members.find((row) => row.slotId === member.slotId)?.bindingRevision,\n attempt: member.attempt === null ? null : {\n resolved: resolveInspectionMemberAttempt(runs, run, member),\n sourceRunId: run.run.runId,\n publication: published(resources.find((resource) => resource.runId === run.run.runId)?.slots.find((slot) => slot.slotId === member.slotId)?.publication),\n },\n })),\n }));\n const lifecycleRuns = yield* mergeCurrentAssessmentRuns(assessmentRuns, resources);\n type Attempt = Ref & CurrentAssessmentAttempt;\n const assessments = yield* assessCurrentTarget<Ref, Attempt, CurrentResultSource, never>(target, {\n runs: lifecycleRuns,\n byRunId: new Map(lifecycleRuns.map((run) => [run.document.runId, run])),\n selectionHasProblem: false,\n coreIssues: [],\n readAttempt: (ref: Ref) => Effect.succeed(ref.resolved === undefined ? { state: \"missing\" as const } : {\n state: \"available\" as const,\n value: { ...ref, document: ref.resolved.attempt, publicationAvailable: ref.publication !== undefined || ref.resolved.origin.physical.attempts.some((attempt) => attempt.attemptId === ref.resolved!.attempt.attemptId && attempt.publicationIdentity !== undefined) },\n }),\n readAssertions: (attempt) => Effect.sync(() => {\n const read = readInspectionAssertions(attempt.resolved!);\n if (read.state === \"available\")\n return { state: \"available\" as const, value: read.value };\n if (read.state === \"not-recorded\")\n return { state: \"not-recorded\" as const };\n if (read.state === \"unsupported\")\n return { state: \"unsupported\" as const, family: NiceEvalRecordAttachments.assertions.family, revision: read.attachment!.physical.familyRevision };\n return { state: \"invalid\" as const, issues: [recordIssue(\"record-schema-invalid\", [\"assertions\", \"current-invalid\"])] as const };\n }),\n readActivities: (attempt) => Effect.sync(() => {\n const definition = NiceEvalRecordAttachments.runnerActivities.attempt;\n const attachment = attemptAttachment(attempt.resolved!, definition.family);\n if (attachment === undefined)\n return { state: \"not-recorded\" as const };\n if (attachment.physical.familyRevision !== NiceEvalCurrentRecordAttachments.runnerActivities.attempt.revision)\n return { state: \"unsupported\" as const, family: definition.family, revision: attachment.physical.familyRevision };\n const value = hydrateRecordAttachmentCurrent(definition, attachment.value, { content: () => Result.succeed(undefined), reference: () => Result.succeed(undefined) });\n return Result.isSuccess(value) ? { state: \"available\" as const, value: value.success } : { state: \"invalid\" as const, issues: [recordIssue(\"record-schema-invalid\", [definition.family, value.failure.code])] as const };\n }),\n sourceFor: (attempt, sourceBarrier): CurrentResultSource => ({\n attemptId: attempt.document.attemptId,\n origin: { runId: attempt.document.originRunId, slotId: attempt.document.slotId },\n sourceBarrier,\n sourceRunId: attempt.sourceRunId,\n locator: attempt.resolved!.locator,\n relation: attempt.sourceRunId === attempt.document.originRunId ? \"origin\" : \"reference\",\n action: attempt.publication?.action ?? (runs.find((run) => run.run.runId === attempt.sourceRunId)!.members.find((member) => member.attempt?.attemptId === attempt.document.attemptId)!.action as \"executed\" | \"carried\" | \"accepted\"),\n }),\n });\n bindProjectInput(source, { cutoffIdentity: source.cutoff().identity, target, assessments, runs, resources: Object.freeze(resources) });\n return source;\n});\nfunction published(value: ReadableRunResource[\"slots\"][number][\"publication\"] | undefined) {\n return value?.state === \"published\" ? value : undefined;\n}\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import type { Config } from "../runner/types.cjs";
|
|
3
|
+
import { type InspectionFactSource } from "./source.cjs";
|
|
4
|
+
/** One scoped reader owns both the availability inputs and Inspection facts. */
|
|
5
|
+
export declare const openCurrentProjectSource: (input: {
|
|
6
|
+
readonly cwd: string;
|
|
7
|
+
readonly config: Config;
|
|
8
|
+
readonly recordPath?: string;
|
|
9
|
+
readonly freshImport?: boolean;
|
|
10
|
+
}) => Effect.Effect<InspectionFactSource, unknown, import("effect/Scope").Scope>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import type { Config } from "../runner/types.mjs";
|
|
3
|
+
import { type InspectionFactSource } from "./source.mjs";
|
|
4
|
+
/** One scoped reader owns both the availability inputs and Inspection facts. */
|
|
5
|
+
export declare const openCurrentProjectSource: (input: {
|
|
6
|
+
readonly cwd: string;
|
|
7
|
+
readonly config: Config;
|
|
8
|
+
readonly recordPath?: string;
|
|
9
|
+
readonly freshImport?: boolean;
|
|
10
|
+
}) => Effect.Effect<InspectionFactSource, unknown, import("effect/Scope").Scope>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import type { Config } from "../runner/types.js";
|
|
3
|
+
import { type InspectionFactSource } from "./source.js";
|
|
4
|
+
/** One scoped reader owns both the availability inputs and Inspection facts. */
|
|
5
|
+
export declare const openCurrentProjectSource: (input: {
|
|
6
|
+
readonly cwd: string;
|
|
7
|
+
readonly config: Config;
|
|
8
|
+
readonly recordPath?: string;
|
|
9
|
+
readonly freshImport?: boolean;
|
|
10
|
+
}) => Effect.Effect<InspectionFactSource, unknown, import("effect/Scope").Scope>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { createRequire as __niceevalCreateRequire } from "node:module";
|
|
2
|
+
const __niceevalRequire = __niceevalCreateRequire(import.meta.url);
|
|
3
|
+
const __niceevalCanonical = __niceevalRequire("./project-source.cjs");
|
|
4
|
+
const __niceevalExport0 = __niceevalCanonical["openCurrentProjectSource"];
|
|
5
|
+
export { __niceevalExport0 as openCurrentProjectSource };
|
|
6
|
+
//# sourceMappingURL=project-source.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-source.js","sources":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.selectInspectionProject = selectInspectionProject;
|
|
4
|
+
const effect_1 = require("effect");
|
|
5
|
+
const facts_ts_1 = require("./facts.cjs");
|
|
6
|
+
const overview_ts_1 = require("./overview.cjs");
|
|
7
|
+
const project_result_ts_1 = require("./project-result.cjs");
|
|
8
|
+
function selectInspectionProject(input, experimentIds) {
|
|
9
|
+
const selectedIds = new Set(experimentIds ?? input.target.experiments.map((experiment) => experiment.experimentId));
|
|
10
|
+
const assessments = input.assessments.filter((slot) => selectedIds.has(slot.experimentId));
|
|
11
|
+
const logicalKey = (experimentId, evalId, ordinal) => JSON.stringify([experimentId, evalId, ordinal]);
|
|
12
|
+
// Select historical entrances before aggregation; they never contribute quality.
|
|
13
|
+
const previous = new Map();
|
|
14
|
+
const historical = [...input.runs].sort((left, right) => (left.physical.createdRevision ?? 0) - (right.physical.createdRevision ?? 0)
|
|
15
|
+
|| compare(left.run.runId, right.run.runId));
|
|
16
|
+
for (const run of historical)
|
|
17
|
+
for (const slot of run.run.expectedSlots) {
|
|
18
|
+
const member = run.members.find((member) => member.slotId === slot.slotId);
|
|
19
|
+
const resolved = member === undefined ? undefined : (0, facts_ts_1.resolveInspectionMemberAttempt)(input.runs, run, member);
|
|
20
|
+
previous.set(logicalKey(run.run.experimentId, slot.evalId, slot.attemptOrdinal), {
|
|
21
|
+
experimentId: run.run.experimentId, evalId: slot.evalId, attemptOrdinal: slot.attemptOrdinal,
|
|
22
|
+
sourceRunId: run.run.runId,
|
|
23
|
+
locator: resolved?.locator ?? null,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
// A newer Run with no published Core is still the latest history occurrence.
|
|
27
|
+
const unpublished = input.resources.filter((resource) => !input.runs.some((run) => run.run.runId === resource.runId));
|
|
28
|
+
for (const resource of unpublished.sort((left, right) => left.createdRevision - right.createdRevision || compare(left.runId, right.runId))) {
|
|
29
|
+
for (const slot of resource.slots) {
|
|
30
|
+
const key = logicalKey(resource.experimentId, slot.evalId, slot.attemptOrdinal);
|
|
31
|
+
const old = previous.get(key);
|
|
32
|
+
const oldRevision = old === undefined ? -1 : input.resources.find((run) => run.runId === old.sourceRunId)?.createdRevision ?? 0;
|
|
33
|
+
if (resource.createdRevision < oldRevision || resource.createdRevision === oldRevision && old !== undefined && compare(resource.runId, old.sourceRunId) <= 0)
|
|
34
|
+
continue;
|
|
35
|
+
previous.set(key, effect_1.Schema.decodeUnknownSync(project_result_ts_1.InspectionProjectResultSchema.fields.history.value)({ experimentId: resource.experimentId, evalId: slot.evalId, attemptOrdinal: slot.attemptOrdinal, sourceRunId: resource.runId, locator: null }));
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
const currentPositions = new Set(input.target.slots.map((slot) => logicalKey(slot.experimentId, slot.evalId, slot.attempt)));
|
|
39
|
+
const slots = assessments.map((slot) => {
|
|
40
|
+
const position = { experimentId: slot.experimentId, evalId: slot.evalId, attemptOrdinal: slot.attempt };
|
|
41
|
+
if (slot.state === "reuse")
|
|
42
|
+
return { ...position, state: "reuse", ...{
|
|
43
|
+
sourceRunId: slot.source.sourceBarrier.runId, locator: slot.source.locator, relation: slot.source.relation, action: slot.source.action,
|
|
44
|
+
} };
|
|
45
|
+
const publishedPrevious = [...historical].reverse().flatMap((run) => {
|
|
46
|
+
if (run.run.experimentId !== slot.experimentId)
|
|
47
|
+
return [];
|
|
48
|
+
const expected = run.run.expectedSlots.find((expected) => expected.evalId === slot.evalId && expected.attemptOrdinal === slot.attempt);
|
|
49
|
+
const member = expected === undefined ? undefined : run.members.find((member) => member.slotId === expected.slotId);
|
|
50
|
+
const resolved = member === undefined ? undefined : (0, facts_ts_1.resolveInspectionMemberAttempt)(input.runs, run, member);
|
|
51
|
+
return resolved === undefined ? [] : [{ sourceRunId: run.run.runId, locator: resolved.locator }];
|
|
52
|
+
})[0] ?? null;
|
|
53
|
+
const resource = input.resources.find((resource) => resource.runId === slot.sourceBarrier?.runId);
|
|
54
|
+
const reason = slot.reason === "source-member-missing" && resource?.state === "active" ? "pending" : gapReason(slot.reason);
|
|
55
|
+
return { ...position, state: "gap", reason, sourceRunId: slot.sourceBarrier?.runId ?? null,
|
|
56
|
+
previous: publishedPrevious,
|
|
57
|
+
issues: [...slot.issues.map((issue) => ({ code: issue.code, path: [...issue.path] })), { reason: slot.reason, scope: slot.scope, comparisons: slot.comparisons.map((comparison) => ({ ...comparison })) }], };
|
|
58
|
+
});
|
|
59
|
+
const overview = (0, overview_ts_1.aggregateInspectionCurrentSlots)(assessments.map((slot) => {
|
|
60
|
+
const experiment = input.target.experiments.find((experiment) => experiment.experimentId === slot.experimentId);
|
|
61
|
+
const recorded = slot.state !== "reuse" ? undefined : (() => {
|
|
62
|
+
const target = input.runs.find((run) => run.run.runId === slot.source.sourceRunId);
|
|
63
|
+
const expected = target.run.expectedSlots.find((expected) => expected.evalId === slot.evalId && expected.attemptOrdinal === slot.attempt);
|
|
64
|
+
const member = target.members.find((member) => member.slotId === expected.slotId);
|
|
65
|
+
const resolved = (0, facts_ts_1.resolveInspectionMemberAttempt)(input.runs, target, member);
|
|
66
|
+
return { target, slot: expected, member, resolved };
|
|
67
|
+
})();
|
|
68
|
+
return { experimentId: slot.experimentId, evalId: slot.evalId, attemptOrdinal: slot.attempt,
|
|
69
|
+
evaluationKind: slot.evaluationKind, adapter: experiment.adapter, model: experiment.model ?? null,
|
|
70
|
+
labels: experiment.labels, ...(recorded === undefined ? {} : { recorded }) };
|
|
71
|
+
}));
|
|
72
|
+
const empty = (0, overview_ts_1.selectInspectionOverview)([]).totals;
|
|
73
|
+
const experiments = input.target.experiments.filter((experiment) => selectedIds.has(experiment.experimentId)).map((experiment) => overview.experiments.find((entry) => entry.experimentId === experiment.experimentId) ?? {
|
|
74
|
+
...empty, experimentId: experiment.experimentId, adapter: { state: "available", value: experiment.adapter },
|
|
75
|
+
model: experiment.model === undefined ? { state: "unavailable" } : { state: "available", value: experiment.model }, labels: {}, groups: [],
|
|
76
|
+
});
|
|
77
|
+
const covered = slots.filter((slot) => slot.state === "reuse").length;
|
|
78
|
+
const history = [...previous.values()].filter((slot) => !currentPositions.has(logicalKey(slot.experimentId, slot.evalId, slot.attemptOrdinal)) && (experimentIds === undefined || selectedIds.has(slot.experimentId)))
|
|
79
|
+
.sort((left, right) => compare(left.experimentId, right.experimentId) || compare(left.evalId, right.evalId) || left.attemptOrdinal - right.attemptOrdinal);
|
|
80
|
+
return effect_1.Schema.decodeUnknownSync(project_result_ts_1.InspectionProjectResultSchema)({ targetIdentity: input.target.identity, coverage: { expected: slots.length, covered, gaps: slots.length - covered }, slots,
|
|
81
|
+
totals: overview.totals, experiments, cells: overview.cells, history });
|
|
82
|
+
}
|
|
83
|
+
function gapReason(reason) {
|
|
84
|
+
switch (reason) {
|
|
85
|
+
case "no-source-run":
|
|
86
|
+
case "source-slot-missing": return "no-result";
|
|
87
|
+
case "source-member-missing":
|
|
88
|
+
case "source-publication-unavailable": return "not-published";
|
|
89
|
+
case "identity-mismatch":
|
|
90
|
+
case "identity-domain-mismatch": return "identity-mismatch";
|
|
91
|
+
case "attempt-outcome-ineligible":
|
|
92
|
+
case "verdict-ineligible": return "outcome-ineligible";
|
|
93
|
+
case "score-incomplete": return "score-incomplete";
|
|
94
|
+
case "timeout-exceeded": return "timeout-exceeded";
|
|
95
|
+
case "adoption-unproven": return "adoption-unproven";
|
|
96
|
+
default: return "evidence-unavailable";
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
function compare(left, right) { return left < right ? -1 : left > right ? 1 : 0; }
|
|
100
|
+
//# sourceMappingURL=project.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["project.ts"],"names":[],"mappings":"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","sourcesContent":["import { Schema } from \"effect\";\nimport { resolveInspectionMemberAttempt } from \"./facts.ts\";\nimport { aggregateInspectionCurrentSlots, selectInspectionOverview } from \"./overview.ts\";\nimport type { FrozenProjectInput } from \"./project-input.ts\";\nimport { InspectionProjectResultSchema, type InspectionProjectResult } from \"./project-result.ts\";\nimport type { ExecutionGapReason } from \"../runner/reuse-plan.ts\";\nexport function selectInspectionProject(input: FrozenProjectInput, experimentIds?: readonly string[]): InspectionProjectResult {\n const selectedIds = new Set(experimentIds ?? input.target.experiments.map((experiment) => experiment.experimentId));\n const assessments = input.assessments.filter((slot) => selectedIds.has(slot.experimentId));\n const logicalKey = (experimentId: string, evalId: string, ordinal: number) => JSON.stringify([experimentId, evalId, ordinal]);\n // Select historical entrances before aggregation; they never contribute quality.\n const previous = new Map<string, InspectionProjectResult[\"history\"][number]>();\n const historical = [...input.runs].sort((left, right) => (left.physical.createdRevision ?? 0) - (right.physical.createdRevision ?? 0)\n || compare(left.run.runId, right.run.runId));\n for (const run of historical)\n for (const slot of run.run.expectedSlots) {\n const member = run.members.find((member) => member.slotId === slot.slotId);\n const resolved = member === undefined ? undefined : resolveInspectionMemberAttempt(input.runs, run, member);\n previous.set(logicalKey(run.run.experimentId, slot.evalId, slot.attemptOrdinal), {\n experimentId: run.run.experimentId, evalId: slot.evalId, attemptOrdinal: slot.attemptOrdinal,\n sourceRunId: run.run.runId,\n locator: resolved?.locator ?? null,\n });\n }\n // A newer Run with no published Core is still the latest history occurrence.\n const unpublished = input.resources.filter((resource) => !input.runs.some((run) => run.run.runId === resource.runId));\n for (const resource of unpublished.sort((left, right) => left.createdRevision - right.createdRevision || compare(left.runId, right.runId))) {\n for (const slot of resource.slots) {\n const key = logicalKey(resource.experimentId, slot.evalId, slot.attemptOrdinal);\n const old = previous.get(key);\n const oldRevision = old === undefined ? -1 : input.resources.find((run) => run.runId === old.sourceRunId)?.createdRevision ?? 0;\n if (resource.createdRevision < oldRevision || resource.createdRevision === oldRevision && old !== undefined && compare(resource.runId, old.sourceRunId) <= 0)\n continue;\n previous.set(key, Schema.decodeUnknownSync(InspectionProjectResultSchema.fields.history.value)({ experimentId: resource.experimentId, evalId: slot.evalId, attemptOrdinal: slot.attemptOrdinal, sourceRunId: resource.runId, locator: null }));\n }\n }\n const currentPositions = new Set(input.target.slots.map((slot) => logicalKey(slot.experimentId, slot.evalId, slot.attempt)));\n const slots: InspectionProjectResult[\"slots\"] = assessments.map((slot) => {\n const position = { experimentId: slot.experimentId as InspectionProjectResult[\"slots\"][number][\"experimentId\"], evalId: slot.evalId as InspectionProjectResult[\"slots\"][number][\"evalId\"], attemptOrdinal: slot.attempt };\n if (slot.state === \"reuse\")\n return { ...position, state: \"reuse\" as const, ...{\n sourceRunId: slot.source.sourceBarrier.runId, locator: slot.source.locator, relation: slot.source.relation, action: slot.source.action,\n } };\n const publishedPrevious = [...historical].reverse().flatMap((run) => {\n if (run.run.experimentId !== slot.experimentId)\n return [];\n const expected = run.run.expectedSlots.find((expected) => expected.evalId === slot.evalId && expected.attemptOrdinal === slot.attempt);\n const member = expected === undefined ? undefined : run.members.find((member) => member.slotId === expected.slotId);\n const resolved = member === undefined ? undefined : resolveInspectionMemberAttempt(input.runs, run, member);\n return resolved === undefined ? [] : [{ sourceRunId: run.run.runId, locator: resolved.locator }];\n })[0] ?? null;\n const resource = input.resources.find((resource) => resource.runId === slot.sourceBarrier?.runId);\n const reason = slot.reason === \"source-member-missing\" && resource?.state === \"active\" ? \"pending\" : gapReason(slot.reason);\n return { ...position, state: \"gap\" as const, reason, sourceRunId: slot.sourceBarrier?.runId ?? null,\n previous: publishedPrevious,\n issues: [...slot.issues.map((issue) => ({ code: issue.code, path: [...issue.path] })), { reason: slot.reason, scope: slot.scope, comparisons: slot.comparisons.map((comparison) => ({ ...comparison })) }],\n };\n });\n const overview = aggregateInspectionCurrentSlots(assessments.map((slot) => {\n const experiment = input.target.experiments.find((experiment) => experiment.experimentId === slot.experimentId)!;\n const recorded = slot.state !== \"reuse\" ? undefined : (() => {\n const target = input.runs.find((run) => run.run.runId === slot.source.sourceRunId)!;\n const expected = target.run.expectedSlots.find((expected) => expected.evalId === slot.evalId && expected.attemptOrdinal === slot.attempt)!;\n const member = target.members.find((member) => member.slotId === expected.slotId)!;\n const resolved = resolveInspectionMemberAttempt(input.runs, target, member)!;\n return { target, slot: expected, member, resolved };\n })();\n return { experimentId: slot.experimentId, evalId: slot.evalId, attemptOrdinal: slot.attempt,\n evaluationKind: slot.evaluationKind, adapter: experiment.adapter, model: experiment.model ?? null,\n labels: experiment.labels, ...(recorded === undefined ? {} : { recorded }) };\n }));\n const empty = selectInspectionOverview([]).totals;\n const experiments = input.target.experiments.filter((experiment) => selectedIds.has(experiment.experimentId)).map((experiment) => overview.experiments.find((entry) => entry.experimentId === experiment.experimentId) ?? {\n ...empty, experimentId: experiment.experimentId, adapter: { state: \"available\" as const, value: experiment.adapter },\n model: experiment.model === undefined ? { state: \"unavailable\" as const } : { state: \"available\" as const, value: experiment.model }, labels: {}, groups: [],\n });\n const covered = slots.filter((slot) => slot.state === \"reuse\").length;\n const history = [...previous.values()].filter((slot) => !currentPositions.has(logicalKey(slot.experimentId, slot.evalId, slot.attemptOrdinal)) && (experimentIds === undefined || selectedIds.has(slot.experimentId)))\n .sort((left, right) => compare(left.experimentId, right.experimentId) || compare(left.evalId, right.evalId) || left.attemptOrdinal - right.attemptOrdinal);\n return Schema.decodeUnknownSync(InspectionProjectResultSchema)({ targetIdentity: input.target.identity, coverage: { expected: slots.length, covered, gaps: slots.length - covered }, slots,\n totals: overview.totals, experiments, cells: overview.cells, history });\n}\nfunction gapReason(reason: ExecutionGapReason): Extract<InspectionProjectResult[\"slots\"][number], {\n state: \"gap\";\n}>[\"reason\"] {\n switch (reason) {\n case \"no-source-run\":\n case \"source-slot-missing\": return \"no-result\";\n case \"source-member-missing\":\n case \"source-publication-unavailable\": return \"not-published\";\n case \"identity-mismatch\":\n case \"identity-domain-mismatch\": return \"identity-mismatch\";\n case \"attempt-outcome-ineligible\":\n case \"verdict-ineligible\": return \"outcome-ineligible\";\n case \"score-incomplete\": return \"score-incomplete\";\n case \"timeout-exceeded\": return \"timeout-exceeded\";\n case \"adoption-unproven\": return \"adoption-unproven\";\n default: return \"evidence-unavailable\";\n }\n}\nfunction compare(left: string, right: string): number { return left < right ? -1 : left > right ? 1 : 0; }\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { createRequire as __niceevalCreateRequire } from "node:module";
|
|
2
|
+
const __niceevalRequire = __niceevalCreateRequire(import.meta.url);
|
|
3
|
+
const __niceevalCanonical = __niceevalRequire("./project.cjs");
|
|
4
|
+
const __niceevalExport0 = __niceevalCanonical["selectInspectionProject"];
|
|
5
|
+
export { __niceevalExport0 as selectInspectionProject };
|
|
6
|
+
//# sourceMappingURL=project.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.js","sources":[],"names":[],"mappings":""}
|
|
@@ -4,6 +4,10 @@ exports.InspectionDocumentSchema = exports.InspectionFailureDocumentSchema = exp
|
|
|
4
4
|
exports.decodeInspectionDocument = decodeInspectionDocument;
|
|
5
5
|
exports.narrowInspectionSuccess = narrowInspectionSuccess;
|
|
6
6
|
exports.narrowInspectionExplanation = narrowInspectionExplanation;
|
|
7
|
+
// @concord-file ne-eval-inspection-protocol
|
|
8
|
+
// @concord-implements docs/feature/inspection/README.md
|
|
9
|
+
// @concord-implements docs/feature/inspection/architecture.md
|
|
10
|
+
// @concord-implements docs/feature/inspection/use-case/inspection-check-completeness.md
|
|
7
11
|
const effect_1 = require("effect");
|
|
8
12
|
const codec_ts_1 = require("../assertions/record/codec.cjs");
|
|
9
13
|
const attempt_locator_ts_1 = require("../attempt-locator.cjs");
|
|
@@ -14,12 +18,14 @@ const artifact_list_ts_1 = require("./artifact-list.cjs");
|
|
|
14
18
|
const model_ts_1 = require("../record/family/source-receipt/model.cjs");
|
|
15
19
|
const protocol_values_ts_1 = require("./protocol-values.cjs");
|
|
16
20
|
const assertion_projection_ts_1 = require("./assertion-projection.cjs");
|
|
21
|
+
const project_result_ts_1 = require("./project-result.cjs");
|
|
17
22
|
const results_ts_1 = require("./results.cjs");
|
|
18
23
|
const AttemptLocatorSchema = effect_1.Schema.String.pipe(effect_1.Schema.refine((value) => attempt_locator_ts_1.ATTEMPT_LOCATOR_PATTERN.test(value), { identifier: "AttemptLocator", description: "a canonical @-prefixed Attempt locator" }));
|
|
19
24
|
const ItemIdSchema = effect_1.Schema.String.pipe(effect_1.Schema.check(effect_1.Schema.makeFilter(model_ts_1.isItemId)));
|
|
20
25
|
const ToolOccurrenceIdSchema = effect_1.Schema.String.pipe(effect_1.Schema.check(effect_1.Schema.makeFilter(model_ts_1.isToolOccurrenceId)));
|
|
21
26
|
const CommandIdSchema = effect_1.Schema.String.pipe(effect_1.Schema.check(effect_1.Schema.makeFilter(model_ts_1.isCommandId)));
|
|
22
27
|
const RunIdsSchema = effect_1.Schema.Array(identifiers_ts_1.RunIdSchema);
|
|
28
|
+
const ProjectExperimentIdsSchema = effect_1.Schema.Array(identifiers_ts_1.ExperimentIdSchema).check(effect_1.Schema.makeFilter((ids) => ids.length > 0 && new Set(ids).size === ids.length));
|
|
23
29
|
const operation = (kind, fields) => effect_1.Schema.Struct({ kind: effect_1.Schema.Literal(kind), ...fields });
|
|
24
30
|
const SourceSchema = effect_1.Schema.Struct({
|
|
25
31
|
kind: effect_1.Schema.Literals(["project-record", "external-record"]), sealedCutoffIdentity: effect_1.Schema.String,
|
|
@@ -79,10 +85,11 @@ const RunsCompareResultSchema = effect_1.Schema.Struct({
|
|
|
79
85
|
pairs: effect_1.Schema.Array(effect_1.Schema.Struct({ key: effect_1.Schema.String, left: ComparisonMemberSchema, right: ComparisonMemberSchema })),
|
|
80
86
|
});
|
|
81
87
|
const spec = (fields) => Object.freeze(fields);
|
|
82
|
-
/** The sole
|
|
88
|
+
/** The sole protocol catalog owner. Every request, result and descriptor projection is derived from this registry. */
|
|
83
89
|
exports.inspectionProtocolRegistry = Object.freeze({
|
|
90
|
+
"project.get": spec({ request: operation("project.get", { experimentIds: effect_1.Schema.optional(ProjectExperimentIdsSchema) }), result: { project: project_result_ts_1.InspectionProjectResultSchema }, factKinds: ["current-project", "core", "assertions", "attempt-cost"] }),
|
|
84
91
|
"overview.get": spec({ request: operation("overview.get", { runIds: effect_1.Schema.optional(RunIdsSchema) }), result: { overview: results_ts_1.InspectionOverviewResultSchema }, factKinds: ["core", "assertions", "attempt-cost"] }),
|
|
85
|
-
"experiment.get": spec({ request: operation("experiment.get", { experimentId: identifiers_ts_1.ExperimentIdSchema }), result: { experiment: results_ts_1.InspectionExperimentResultSchema }, factKinds: ["core", "assertions", "attempt-cost"] }),
|
|
92
|
+
"experiment.get": spec({ request: operation("experiment.get", { experimentId: identifiers_ts_1.ExperimentIdSchema }), result: { experiment: results_ts_1.InspectionExperimentResultSchema }, factKinds: ["core", "assertions", "attempt-cost", "agent-turns", "adapter-usage", "judge-usage"] }),
|
|
86
93
|
"runs.list": spec({ request: operation("runs.list", { continuation: effect_1.Schema.optional(effect_1.Schema.String) }), result: { runs: effect_1.Schema.Array(SealedRunSummarySchema), continuation: effect_1.Schema.optional(effect_1.Schema.String) }, factKinds: ["core"] }),
|
|
87
94
|
"run.get": spec({ request: operation("run.get", { runId: identifiers_ts_1.RunIdSchema }), result: { run: results_ts_1.InspectionRunResultSchema }, factKinds: ["core"] }),
|
|
88
95
|
"run.summary": spec({ request: operation("run.summary", { runId: identifiers_ts_1.RunIdSchema }), result: { summary: results_ts_1.InspectionRunSummaryResultSchema }, factKinds: ["core", "assertions", "agent-turns"] }),
|
|
@@ -102,6 +109,7 @@ exports.inspectionProtocolRegistry = Object.freeze({
|
|
|
102
109
|
traceId: effect_1.Schema.optional(effect_1.Schema.String),
|
|
103
110
|
sourceId: effect_1.Schema.optional(effect_1.Schema.String),
|
|
104
111
|
actorId: effect_1.Schema.optional(effect_1.Schema.String),
|
|
112
|
+
eventType: effect_1.Schema.optional(effect_1.Schema.String),
|
|
105
113
|
continuation: effect_1.Schema.optional(effect_1.Schema.String),
|
|
106
114
|
}), result: { trace: results_ts_1.InspectionTraceResultSchema }, factKinds: ["execution-traces", "agent-turns", "turn-contexts", "sandbox-commands", "runner-activities", "runner-diagnostics"] }),
|
|
107
115
|
"attempt.trace.detail": spec({ request: operation("attempt.trace.detail", { locator: AttemptLocatorSchema, selector: effect_1.Schema.Union([
|
|
@@ -116,7 +124,7 @@ exports.inspectionProtocolRegistry = Object.freeze({
|
|
|
116
124
|
operation("command", { commandId: CommandIdSchema }),
|
|
117
125
|
]) }), result: { detail: results_ts_1.InspectionTraceDetailResultSchema }, factKinds: ["execution-traces", "agent-turns", "sandbox-commands", "artifacts"] }),
|
|
118
126
|
"attempt.timing": spec({ request: operation("attempt.timing", { locator: AttemptLocatorSchema }), result: { timing: results_ts_1.InspectionAttemptTimingResultSchema }, factKinds: ["runner-activities"] }),
|
|
119
|
-
"attempt.usage": spec({ request: operation("attempt.usage", { locator: AttemptLocatorSchema }), result: { usage: results_ts_1.InspectionAttemptUsageResultSchema }, factKinds: ["agent-turns", "adapter-usage"] }),
|
|
127
|
+
"attempt.usage": spec({ request: operation("attempt.usage", { locator: AttemptLocatorSchema }), result: { usage: results_ts_1.InspectionAttemptUsageResultSchema }, factKinds: ["agent-turns", "adapter-usage", "judge-usage"] }),
|
|
120
128
|
"attempt.diff": spec({ request: operation("attempt.diff", { locator: AttemptLocatorSchema }), result: { diff: results_ts_1.InspectionAttemptDiffResultSchema }, factKinds: ["file-changes"] }),
|
|
121
129
|
"attempt.sources": spec({ request: operation("attempt.sources", { locator: AttemptLocatorSchema }), result: { sources: results_ts_1.InspectionSourcesResultSchema }, factKinds: ["assertions", "sources"] }),
|
|
122
130
|
"attempt.artifacts": spec({ request: operation("attempt.artifacts", { locator: AttemptLocatorSchema, offset: effect_1.Schema.optional(artifacts_ts_1.InspectionArtifactOffsetSchema), limit: effect_1.Schema.optional(artifact_list_ts_1.InspectionArtifactsPageLimitSchema) }), result: { artifacts: ArtifactsResultSchema }, factKinds: ["artifacts"] }),
|
|
@@ -132,11 +140,11 @@ exports.InspectionRequestSchema = effect_1.Schema.Struct({
|
|
|
132
140
|
});
|
|
133
141
|
const successSchema = (id, entry) => {
|
|
134
142
|
const fields = effect_1.Schema.fieldsAssign({ operation: effect_1.Schema.Literal(id), ...entry.result });
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
return
|
|
143
|
+
const schema = id === "runs.list" ? RunsListSuccessMetadataSchema.pipe(fields)
|
|
144
|
+
: id === "runs.compare" ? CompareSuccessMetadataSchema.pipe(fields)
|
|
145
|
+
: SuccessMetadataSchema.pipe(fields);
|
|
146
|
+
// Object.entries erases the ID/result correlation established by the registry.
|
|
147
|
+
return schema;
|
|
140
148
|
};
|
|
141
149
|
exports.InspectionSuccessDocumentSchema = effect_1.Schema.Union(specs.map(([id, entry]) => successSchema(id, entry)));
|
|
142
150
|
const explanationSchema = (id, entry) => {
|
|
@@ -157,7 +165,7 @@ exports.InspectionFailureDocumentSchema = effect_1.Schema.Struct({
|
|
|
157
165
|
protocol: effect_1.Schema.Literal(protocol_values_ts_1.QUERY_PROTOCOL), outcome: effect_1.Schema.Literal("failure"),
|
|
158
166
|
operation: effect_1.Schema.NullOr(exports.InspectionOperationIdSchema),
|
|
159
167
|
failure: effect_1.Schema.Struct({
|
|
160
|
-
code: effect_1.Schema.Literals(["inspection-request-invalid", "inspection-selection-missing", "inspection-source-invalid", "inspection-record-integrity-failure", "inspection-operation-failed", "inspection-result-invalid", "evidence-budget-exceeded", "restart-required"]),
|
|
168
|
+
code: effect_1.Schema.Literals(["inspection-request-invalid", "inspection-selection-missing", "inspection-source-invalid", "inspection-record-integrity-failure", "inspection-operation-failed", "inspection-result-invalid", "evidence-budget-exceeded", "restart-required", "current-target-unavailable"]),
|
|
161
169
|
reason: effect_1.Schema.String,
|
|
162
170
|
identity: effect_1.Schema.optional(effect_1.Schema.Struct({ runId: effect_1.Schema.String })),
|
|
163
171
|
correction: effect_1.Schema.Literals(["fix-request", "choose-existing-selection", "fix-record-source", "retry", "upgrade-or-report", "restart"]),
|
|
@@ -167,6 +175,8 @@ exports.InspectionDocumentSchema = effect_1.Schema.Union([
|
|
|
167
175
|
exports.InspectionDiscoveryDocumentSchema, exports.InspectionSuccessDocumentSchema,
|
|
168
176
|
exports.InspectionExplanationDocumentSchema, exports.InspectionFailureDocumentSchema,
|
|
169
177
|
]);
|
|
178
|
+
// @concord-code ne-eval-inspection-decode-document
|
|
179
|
+
// @concord-implements docs/feature/inspection/architecture.md
|
|
170
180
|
function decodeInspectionDocument(input) {
|
|
171
181
|
const decoded = effect_1.Schema.decodeUnknownResult(exports.InspectionDocumentSchema, { errors: "all", onExcessProperty: "error" })(input);
|
|
172
182
|
return effect_1.Result.isSuccess(decoded)
|