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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contribution.js","sourceRoot":"","sources":["contribution.ts"],"names":[],"mappings":"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","sourcesContent":["import { readFile } from \"node:fs/promises\";\nimport { resolve } from \"node:path\";\nimport { Effect, Result } from \"effect\";\nimport { CliArguments, CliInvocationFacts, CliOutput, type CliOptionDefinition } from \"../../cli/application.ts\";\nimport { CliFeatureError, type CliCommandContribution } from \"../../cli/contribution.ts\";\nimport { canonicalInspectionJson, canonicalJsonValue, decodeInspectionRequest, INSPECTION_OPERATION_IDS, InspectionIntegrityError, InspectionOperationError, InspectionSourceError, QUERY_PROTOCOL, externalInspectionSource, openInspectionSource, operationalInspectionSource, selectInspectionOperation, type InspectionDocument, type InspectionFailureDocument, type InspectionOperationId, type InspectionRequest, } from \"../index.ts\";\nimport { explainInspectionOperation } from \"../select.ts\";\nconst help = (summary: string) => Object.freeze({ summary, visibility: \"public\" as const });\nconst option = (value: CliOptionDefinition): CliOptionDefinition => Object.freeze(value);\nexport const QUERY_CLI_OPTIONS = Object.freeze({\n request: option({ type: \"string\", help: help(\"Read one niceeval.query/v1 request from a file or -.\") }),\n record: option({ type: \"string\", help: help(\"Read an external canonical SQLite Record.\") }),\n help: option({ type: \"boolean\", short: \"h\", help: help(\"Print query help.\") }),\n} satisfies Readonly<Record<string, CliOptionDefinition>>);\nconst QUERY_HELP = `niceeval query — execute one fixed Inspection operation\n\nUsage:\n niceeval query discover\n niceeval query explain [--record <file>] --request <file|->\n niceeval query run [--record <file>] --request <file|->\n`;\ntype Requirements = CliArguments | CliInvocationFacts | CliOutput;\ntype Error = CliFeatureError;\nconst QUERY_FAILURE_EXIT_CODE = 2;\nfunction failure(operation: string, cause: unknown): Error {\n return new CliFeatureError({ feature: \"inspection query\", operation, cause, exitCode: 1 });\n}\nfunction write(channel: \"stdout\" | \"stderr\", text: string) {\n return Effect.flatMap(CliOutput, (output) => channel === \"stdout\" ? output.writeStdout(text) : output.writeStderr(text)).pipe(Effect.mapError((cause) => failure(`write ${channel}`, cause)));\n}\nfunction usage(message: string) {\n return writeQueryFailure(failure(\"parse arguments\", new Error(message)));\n}\nfunction runQuery(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, QUERY_CLI_OPTIONS),\n catch: (cause) => failure(\"parse arguments\", cause),\n }).pipe(Effect.result);\n if (Result.isFailure(parsedResult))\n return yield* writeQueryFailure(parsedResult.failure);\n const parsed = parsedResult.success;\n if (parsed.values.help === true) {\n yield* write(\"stdout\", QUERY_HELP);\n return 0;\n }\n const action = parsed.positionals[0];\n if (parsed.positionals.length !== 1 || (action !== \"discover\" && action !== \"explain\" && action !== \"run\")) {\n return yield* usage(\"niceeval query expects exactly one of discover, explain, or run.\");\n }\n if (action === \"discover\") {\n if (parsed.values.request !== undefined)\n return yield* usage(\"query discover does not accept --request.\");\n if (parsed.values.record !== undefined)\n return yield* usage(\"query discover does not accept --record.\");\n const encoded = canonicalJsonValue(Object.freeze({\n protocol: QUERY_PROTOCOL,\n outcome: \"discovery\" as const,\n operations: INSPECTION_OPERATION_IDS.map((id) => Object.freeze({ id })),\n }));\n if (Result.isFailure(encoded))\n return yield* writeQueryFailure(failure(\"encode discovery\", encoded.failure));\n yield* write(\"stdout\", encoded.success);\n return 0;\n }\n if (typeof parsed.values.request !== \"string\")\n return yield* usage(`query ${action} requires --request <file|->.`);\n let operation: InspectionOperationId | undefined;\n const result = yield* Effect.gen(function* () {\n const facts = yield* invocationFacts();\n const request = yield* readQueryRequest(parsed.values.request as string, facts.cwd);\n operation = request.operation.kind;\n const source = typeof parsed.values.record === \"string\"\n ? externalInspectionSource(facts.cwd, parsed.values.record)\n : operationalInspectionSource(facts.cwd);\n const document = yield* Effect.scoped(Effect.gen(function* () {\n const inspectionFacts = yield* openInspectionSource(source).pipe(Effect.mapError((cause) => failure(\"open Record source\", cause)));\n return yield* Effect.try({\n try: () => action === \"explain\"\n ? explainInspectionOperation(inspectionFacts, request.operation)\n : selectInspectionOperation(inspectionFacts, request.operation),\n catch: (cause) => failure(`${action} Inspection operation`, cause),\n });\n }));\n yield* writeDocument(document);\n return 0;\n }).pipe(Effect.result);\n return Result.isSuccess(result)\n ? result.success\n : yield* writeQueryFailure(result.failure, operation);\n });\n}\nfunction invocationFacts() {\n return Effect.flatMap(CliInvocationFacts, ({ facts }) => facts).pipe(Effect.mapError((cause) => failure(\"read invocation facts\", cause)));\n}\nfunction readQueryRequest(pathname: string, cwd: string): Effect.Effect<InspectionRequest, Error> {\n return Effect.gen(function* () {\n const text = yield* Effect.tryPromise({\n try: () => pathname === \"-\" ? readStandardInput() : readFile(resolve(cwd, pathname), \"utf8\"),\n catch: (cause) => failure(\"read request\", cause),\n });\n if (Buffer.byteLength(text, \"utf8\") > 1048576)\n return yield* Effect.fail(failure(\"read request\", \"request exceeds 1 MiB\"));\n const value = yield* Effect.try({ try: () => JSON.parse(text) as unknown, catch: (cause) => failure(\"parse request JSON\", cause) });\n const decoded = decodeInspectionRequest(value);\n return Result.isFailure(decoded) ? yield* Effect.fail(failure(\"decode request\", decoded.failure)) : decoded.success;\n });\n}\nfunction readStandardInput(): Promise<string> {\n return new Promise((resolveInput, rejectInput) => {\n const chunks: Buffer[] = [];\n let byteLength = 0;\n const cleanup = (): void => {\n process.stdin.off(\"data\", onData);\n process.stdin.off(\"end\", onEnd);\n process.stdin.off(\"error\", onError);\n };\n const onData = (chunk: Buffer | string): void => {\n const bytes = typeof chunk === \"string\" ? Buffer.from(chunk) : chunk;\n byteLength += bytes.byteLength;\n if (byteLength > 1048576) {\n cleanup();\n rejectInput(new Error(\"request exceeds 1 MiB\"));\n }\n else\n chunks.push(bytes);\n };\n const onEnd = (): void => { cleanup(); resolveInput(Buffer.concat(chunks).toString(\"utf8\")); };\n const onError = (cause: Error): void => { cleanup(); rejectInput(cause); };\n process.stdin.on(\"data\", onData);\n process.stdin.once(\"end\", onEnd);\n process.stdin.once(\"error\", onError);\n process.stdin.resume();\n });\n}\nfunction writeDocument(document: InspectionDocument) {\n const encoded = canonicalInspectionJson(document);\n return Result.isFailure(encoded) ? Effect.fail(failure(\"encode result\", encoded.failure)) : write(\"stdout\", encoded.success);\n}\nfunction writeQueryFailure(error: Error, operation?: InspectionOperationId): Effect.Effect<number, Error, CliOutput> {\n const document = queryFailureDocument(error, operation);\n const encoded = canonicalJsonValue(document);\n if (Result.isFailure(encoded))\n return Effect.fail(failure(\"encode failure document\", encoded.failure));\n return Effect.gen(function* () {\n yield* write(\"stdout\", encoded.success);\n yield* write(\"stderr\", `niceeval query failed: ${document.failure.code}\\n`);\n return QUERY_FAILURE_EXIT_CODE;\n });\n}\nfunction queryFailureDocument(error: Error, operation?: InspectionOperationId): InspectionFailureDocument {\n const detail = queryFailureDetail(error);\n return Object.freeze({\n protocol: \"niceeval.query/v1\" as const,\n outcome: \"failure\" as const,\n operation: operation ?? null,\n failure: Object.freeze(detail),\n });\n}\nfunction queryFailureDetail(error: Error): InspectionFailureDocument[\"failure\"] {\n const cause = error.cause;\n if (cause instanceof InspectionOperationError) {\n if (cause.code === \"inspection-selection-missing\") {\n return Object.freeze({\n code: cause.code,\n reason: cause.reason,\n correction: \"choose-existing-selection\" as const,\n });\n }\n if (cause.code === \"inspection-result-invalid\") {\n return Object.freeze({\n code: cause.code,\n reason: cause.reason,\n correction: \"upgrade-or-report\" as const,\n });\n }\n if (cause.code === \"inspection-record-integrity-failure\") {\n return Object.freeze({\n code: cause.code,\n reason: \"The selected sealed Run does not form a closed Record publication.\",\n identity: cause.identity,\n correction: \"fix-record-source\" as const,\n });\n }\n if (cause.code === \"restart-required\") {\n return Object.freeze({\n code: cause.code,\n reason: cause.reason,\n correction: \"restart\" as const,\n });\n }\n if (cause.code === \"evidence-budget-exceeded\") {\n return Object.freeze({\n code: cause.code,\n reason: cause.reason,\n correction: \"retry\" as const,\n });\n }\n return Object.freeze({\n code: cause.code,\n reason: \"The fixed Inspection operation could not be completed.\",\n correction: \"retry\" as const,\n });\n }\n if (cause instanceof InspectionIntegrityError) {\n return Object.freeze({\n code: cause.code,\n reason: \"The selected sealed Run does not form a closed Record publication.\",\n identity: Object.freeze({ runId: cause.runId }),\n correction: \"fix-record-source\" as const,\n });\n }\n if (cause instanceof InspectionSourceError) {\n return Object.freeze({\n code: \"inspection-source-invalid\" as const,\n reason: \"The selected Record source could not be opened. If this is a Record from an older NiceEval version, stop old NiceEval processes and run a normal experiment in the original project to upgrade supported formats before retrying --record. External Records are never migrated in place.\",\n correction: \"fix-record-source\" as const,\n });\n }\n if (isInspectionCodecFailure(cause)) {\n return Object.freeze({\n code: cause.code,\n reason: cause.code === \"inspection-request-invalid\"\n ? \"The query request does not match niceeval.query/v1.\"\n : \"NiceEval could not encode the fixed Inspection result.\",\n correction: cause.code === \"inspection-request-invalid\"\n ? \"fix-request\" as const\n : \"upgrade-or-report\" as const,\n });\n }\n const requestFailure = [\"parse arguments\", \"read request\", \"parse request JSON\", \"decode request\"].includes(error.operation);\n return requestFailure\n ? Object.freeze({\n code: \"inspection-request-invalid\" as const,\n reason: \"The query request could not be read as niceeval.query/v1.\",\n correction: \"fix-request\" as const,\n })\n : Object.freeze({\n code: \"inspection-operation-failed\" as const,\n reason: \"The fixed Inspection operation could not be completed.\",\n correction: \"retry\" as const,\n });\n}\nfunction isInspectionCodecFailure(value: unknown): value is {\n readonly code: \"inspection-request-invalid\" | \"inspection-result-invalid\";\n} {\n return typeof value === \"object\" && value !== null &&\n (Reflect.get(value, \"code\") === \"inspection-request-invalid\" ||\n Reflect.get(value, \"code\") === \"inspection-result-invalid\");\n}\nexport const inspectionQueryCliCommand: CliCommandContribution<Requirements, Error> = Object.freeze({\n name: \"query\",\n summary: \"run one fixed machine Inspection operation\",\n options: QUERY_CLI_OPTIONS,\n run: runQuery,\n});\n"]}
|
|
1
|
+
{"version":3,"file":"contribution.js","sourceRoot":"","sources":["contribution.ts"],"names":[],"mappings":"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","sourcesContent":["import { readFile } from \"node:fs/promises\";\nimport { resolve } from \"node:path\";\nimport { Effect, Result } from \"effect\";\nimport { CliArguments, CliInvocationFacts, CliOutput, type CliOptionDefinition } from \"../../cli/application.ts\";\nimport { CliFeatureError, type CliCommandContribution } from \"../../cli/contribution.ts\";\nimport { canonicalInspectionJson, canonicalJsonValue, decodeInspectionRequest, INSPECTION_OPERATION_IDS, InspectionIntegrityError, InspectionOperationError, InspectionSourceError, QUERY_PROTOCOL, externalInspectionSource, openInspectionSource, operationalInspectionSource, selectInspectionOperation, type InspectionDocument, type InspectionFailureDocument, type InspectionOperationId, type InspectionRequest, } from \"../index.ts\";\nimport { explainInspectionOperation } from \"../select.ts\";\nimport { SqliteRecordError } from \"../../record/sqlite/errors.ts\";\nimport { ProjectConfiguration } from \"../../cli/project-configuration.ts\";\nimport { CurrentTargetUnavailable } from \"../../experiment/host/current.ts\";\nimport { openCurrentProjectSource } from \"../project-source.ts\";\nconst help = (summary: string) => Object.freeze({ summary, visibility: \"public\" as const });\nconst option = (value: CliOptionDefinition): CliOptionDefinition => Object.freeze(value);\nexport const QUERY_CLI_OPTIONS = Object.freeze({\n request: option({ type: \"string\", help: help(\"Read one niceeval.query/v1 request from a file or -.\") }),\n record: option({ type: \"string\", help: help(\"Read an external canonical SQLite Record.\") }),\n help: option({ type: \"boolean\", short: \"h\", help: help(\"Print query help.\") }),\n} satisfies Readonly<Record<string, CliOptionDefinition>>);\nconst QUERY_HELP = `niceeval query — execute one fixed Inspection operation\n\nUsage:\n niceeval query discover\n niceeval query explain [--record <file>] --request <file|->\n niceeval query run [--record <file>] --request <file|->\n`;\ntype Requirements = CliArguments | CliInvocationFacts | CliOutput | ProjectConfiguration;\ntype Error = CliFeatureError;\nconst QUERY_FAILURE_EXIT_CODE = 2;\nfunction failure(operation: string, cause: unknown): Error {\n return new CliFeatureError({ feature: \"inspection query\", operation, cause, exitCode: 1 });\n}\nfunction write(channel: \"stdout\" | \"stderr\", text: string) {\n return Effect.flatMap(CliOutput, (output) => channel === \"stdout\" ? output.writeStdout(text) : output.writeStderr(text)).pipe(Effect.mapError((cause) => failure(`write ${channel}`, cause)));\n}\nfunction usage(message: string) {\n return writeQueryFailure(failure(\"parse arguments\", new Error(message)));\n}\nfunction runQuery(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, QUERY_CLI_OPTIONS),\n catch: (cause) => failure(\"parse arguments\", cause),\n }).pipe(Effect.result);\n if (Result.isFailure(parsedResult))\n return yield* writeQueryFailure(parsedResult.failure);\n const parsed = parsedResult.success;\n if (parsed.values.help === true) {\n yield* write(\"stdout\", QUERY_HELP);\n return 0;\n }\n const action = parsed.positionals[0];\n if (parsed.positionals.length !== 1 || (action !== \"discover\" && action !== \"explain\" && action !== \"run\")) {\n return yield* usage(\"niceeval query expects exactly one of discover, explain, or run.\");\n }\n if (action === \"discover\") {\n if (parsed.values.request !== undefined)\n return yield* usage(\"query discover does not accept --request.\");\n if (parsed.values.record !== undefined)\n return yield* usage(\"query discover does not accept --record.\");\n const encoded = canonicalJsonValue(Object.freeze({\n protocol: QUERY_PROTOCOL,\n outcome: \"discovery\" as const,\n operations: INSPECTION_OPERATION_IDS.map((id) => Object.freeze({ id })),\n }));\n if (Result.isFailure(encoded))\n return yield* writeQueryFailure(failure(\"encode discovery\", encoded.failure));\n yield* write(\"stdout\", encoded.success);\n return 0;\n }\n if (typeof parsed.values.request !== \"string\")\n return yield* usage(`query ${action} requires --request <file|->.`);\n let operation: InspectionOperationId | undefined;\n const result = yield* Effect.gen(function* () {\n const facts = yield* invocationFacts();\n const request = yield* readQueryRequest(parsed.values.request as string, facts.cwd);\n operation = request.operation.kind;\n const source = typeof parsed.values.record === \"string\"\n ? externalInspectionSource(facts.cwd, parsed.values.record)\n : operationalInspectionSource(facts.cwd);\n const document = yield* Effect.scoped(Effect.gen(function* () {\n const prepare = request.operation.kind === \"project.get\" && source.kind === \"project-record\"\n ? 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 })\n : openInspectionSource(source);\n const inspectionFacts = yield* prepare.pipe(Effect.mapError((cause) => failure(\"open Record source\", cause)));\n return yield* Effect.try({\n try: () => action === \"explain\"\n ? explainInspectionOperation(inspectionFacts, request.operation)\n : selectInspectionOperation(inspectionFacts, request.operation),\n catch: (cause) => failure(`${action} Inspection operation`, cause),\n });\n }));\n yield* writeDocument(document);\n return 0;\n }).pipe(Effect.result);\n return Result.isSuccess(result)\n ? result.success\n : yield* writeQueryFailure(result.failure, operation);\n });\n}\nfunction invocationFacts() {\n return Effect.flatMap(CliInvocationFacts, ({ facts }) => facts).pipe(Effect.mapError((cause) => failure(\"read invocation facts\", cause)));\n}\nfunction readQueryRequest(pathname: string, cwd: string): Effect.Effect<InspectionRequest, Error> {\n return Effect.gen(function* () {\n const text = yield* Effect.tryPromise({\n try: () => pathname === \"-\" ? readStandardInput() : readFile(resolve(cwd, pathname), \"utf8\"),\n catch: (cause) => failure(\"read request\", cause),\n });\n if (Buffer.byteLength(text, \"utf8\") > 1048576)\n return yield* Effect.fail(failure(\"read request\", \"request exceeds 1 MiB\"));\n const value = yield* Effect.try({ try: () => JSON.parse(text) as unknown, catch: (cause) => failure(\"parse request JSON\", cause) });\n const decoded = decodeInspectionRequest(value);\n return Result.isFailure(decoded) ? yield* Effect.fail(failure(\"decode request\", decoded.failure)) : decoded.success;\n });\n}\nfunction readStandardInput(): Promise<string> {\n return new Promise((resolveInput, rejectInput) => {\n const chunks: Buffer[] = [];\n let byteLength = 0;\n const cleanup = (): void => {\n process.stdin.off(\"data\", onData);\n process.stdin.off(\"end\", onEnd);\n process.stdin.off(\"error\", onError);\n };\n const onData = (chunk: Buffer | string): void => {\n const bytes = typeof chunk === \"string\" ? Buffer.from(chunk) : chunk;\n byteLength += bytes.byteLength;\n if (byteLength > 1048576) {\n cleanup();\n rejectInput(new Error(\"request exceeds 1 MiB\"));\n }\n else\n chunks.push(bytes);\n };\n const onEnd = (): void => { cleanup(); resolveInput(Buffer.concat(chunks).toString(\"utf8\")); };\n const onError = (cause: Error): void => { cleanup(); rejectInput(cause); };\n process.stdin.on(\"data\", onData);\n process.stdin.once(\"end\", onEnd);\n process.stdin.once(\"error\", onError);\n process.stdin.resume();\n });\n}\nfunction writeDocument(document: InspectionDocument) {\n const encoded = canonicalInspectionJson(document);\n return Result.isFailure(encoded) ? Effect.fail(failure(\"encode result\", encoded.failure)) : write(\"stdout\", encoded.success);\n}\nfunction writeQueryFailure(error: Error, operation?: InspectionOperationId): Effect.Effect<number, Error, CliOutput> {\n const document = queryFailureDocument(error, operation);\n const encoded = canonicalJsonValue(document);\n if (Result.isFailure(encoded))\n return Effect.fail(failure(\"encode failure document\", encoded.failure));\n return Effect.gen(function* () {\n yield* write(\"stdout\", encoded.success);\n yield* write(\"stderr\", `niceeval query failed: ${document.failure.code}\\n`);\n return QUERY_FAILURE_EXIT_CODE;\n });\n}\nfunction queryFailureDocument(error: Error, operation?: InspectionOperationId): InspectionFailureDocument {\n const detail = queryFailureDetail(error);\n return Object.freeze({\n protocol: \"niceeval.query/v1\" as const,\n outcome: \"failure\" as const,\n operation: operation ?? null,\n failure: Object.freeze(detail),\n });\n}\nfunction queryFailureDetail(error: Error): InspectionFailureDocument[\"failure\"] {\n const cause = error.cause;\n if (cause instanceof CurrentTargetUnavailable || cause instanceof InspectionOperationError && cause.code === \"current-target-unavailable\")\n return {\n code: \"current-target-unavailable\", reason: `${cause.reason} Use overview.get or an exact run.get to read recorded results.`, correction: \"fix-request\",\n };\n if (cause instanceof InspectionOperationError) {\n if (cause.code === \"inspection-selection-missing\") {\n return Object.freeze({\n code: cause.code,\n reason: cause.reason,\n correction: \"choose-existing-selection\" as const,\n });\n }\n if (cause.code === \"inspection-result-invalid\") {\n return Object.freeze({\n code: cause.code,\n reason: cause.reason,\n correction: \"upgrade-or-report\" as const,\n });\n }\n if (cause.code === \"inspection-record-integrity-failure\") {\n return Object.freeze({\n code: cause.code,\n reason: \"The selected sealed Run does not form a closed Record publication.\",\n identity: cause.identity,\n correction: \"fix-record-source\" as const,\n });\n }\n if (cause.code === \"restart-required\") {\n return Object.freeze({\n code: cause.code,\n reason: cause.reason,\n correction: \"restart\" as const,\n });\n }\n if (cause.code === \"evidence-budget-exceeded\") {\n return Object.freeze({\n code: cause.code,\n reason: cause.reason,\n correction: \"retry\" as const,\n });\n }\n return Object.freeze({\n code: cause.code,\n reason: \"The fixed Inspection operation could not be completed.\",\n correction: \"retry\" as const,\n });\n }\n if (cause instanceof InspectionIntegrityError) {\n return Object.freeze({\n code: cause.code,\n reason: \"The selected sealed Run does not form a closed Record publication.\",\n identity: Object.freeze({ runId: cause.runId }),\n correction: \"fix-record-source\" as const,\n });\n }\n if (cause instanceof InspectionSourceError) {\n const recordError = cause.cause instanceof SqliteRecordError ? cause.cause : undefined;\n const operationalFailure = recordError?.code === \"record-write-busy\" || recordError?.code === \"record-resource-limit-exceeded\";\n const migrationRequired = recordError?.code === \"record-schema-migration-required\";\n const diagnostic = recordError === undefined ? cause.reason : `[${recordError.code}; ${recordError.operation}] ${cause.reason}`;\n return Object.freeze({\n code: operationalFailure ? \"inspection-operation-failed\" as const : \"inspection-source-invalid\" as const,\n reason: `The selected Record source could not be opened: ${diagnostic}${migrationRequired\n ? \" Stop old NiceEval processes and run a normal experiment in the original project to upgrade this supported format. External Records are never migrated in place.\"\n : \"\"}`,\n correction: recordError?.code === \"record-write-busy\" ? \"retry\" as const\n : recordError?.code === \"record-resource-limit-exceeded\" || recordError?.code === \"record-runtime-unsupported\"\n ? \"upgrade-or-report\" as const : \"fix-record-source\" as const,\n });\n }\n if (isInspectionCodecFailure(cause)) {\n return Object.freeze({\n code: cause.code,\n reason: cause.code === \"inspection-request-invalid\"\n ? \"The query request does not match niceeval.query/v1.\"\n : \"NiceEval could not encode the fixed Inspection result.\",\n correction: cause.code === \"inspection-request-invalid\"\n ? \"fix-request\" as const\n : \"upgrade-or-report\" as const,\n });\n }\n const requestFailure = [\"parse arguments\", \"read request\", \"parse request JSON\", \"decode request\"].includes(error.operation);\n return requestFailure\n ? Object.freeze({\n code: \"inspection-request-invalid\" as const,\n reason: \"The query request could not be read as niceeval.query/v1.\",\n correction: \"fix-request\" as const,\n })\n : Object.freeze({\n code: \"inspection-operation-failed\" as const,\n reason: \"The fixed Inspection operation could not be completed.\",\n correction: \"retry\" as const,\n });\n}\nfunction isInspectionCodecFailure(value: unknown): value is {\n readonly code: \"inspection-request-invalid\" | \"inspection-result-invalid\";\n} {\n return typeof value === \"object\" && value !== null &&\n (Reflect.get(value, \"code\") === \"inspection-request-invalid\" ||\n Reflect.get(value, \"code\") === \"inspection-result-invalid\");\n}\nexport const inspectionQueryCliCommand: CliCommandContribution<Requirements, Error> = Object.freeze({\n name: \"query\",\n summary: \"run one fixed machine Inspection operation\",\n options: QUERY_CLI_OPTIONS,\n run: runQuery,\n});\n"]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { CliArguments, CliInvocationFacts, CliOutput } from "../../cli/application.cjs";
|
|
2
2
|
import { CliFeatureError, type CliCommandContribution } from "../../cli/contribution.cjs";
|
|
3
|
+
import { ProjectConfiguration } from "../../cli/project-configuration.cjs";
|
|
3
4
|
export declare const QUERY_CLI_OPTIONS: Readonly<{
|
|
4
5
|
request: Readonly<{
|
|
5
6
|
readonly type: "string" | "boolean";
|
|
@@ -23,7 +24,7 @@ export declare const QUERY_CLI_OPTIONS: Readonly<{
|
|
|
23
24
|
readonly help?: import("../../cli/application.cjs").CliOptionHelp;
|
|
24
25
|
}>;
|
|
25
26
|
}>;
|
|
26
|
-
type Requirements = CliArguments | CliInvocationFacts | CliOutput;
|
|
27
|
+
type Requirements = CliArguments | CliInvocationFacts | CliOutput | ProjectConfiguration;
|
|
27
28
|
type Error = CliFeatureError;
|
|
28
29
|
export declare const inspectionQueryCliCommand: CliCommandContribution<Requirements, Error>;
|
|
29
30
|
export {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { CliArguments, CliInvocationFacts, CliOutput } from "../../cli/application.mjs";
|
|
2
2
|
import { CliFeatureError, type CliCommandContribution } from "../../cli/contribution.mjs";
|
|
3
|
+
import { ProjectConfiguration } from "../../cli/project-configuration.mjs";
|
|
3
4
|
export declare const QUERY_CLI_OPTIONS: Readonly<{
|
|
4
5
|
request: Readonly<{
|
|
5
6
|
readonly type: "string" | "boolean";
|
|
@@ -23,7 +24,7 @@ export declare const QUERY_CLI_OPTIONS: Readonly<{
|
|
|
23
24
|
readonly help?: import("../../cli/application.mjs").CliOptionHelp;
|
|
24
25
|
}>;
|
|
25
26
|
}>;
|
|
26
|
-
type Requirements = CliArguments | CliInvocationFacts | CliOutput;
|
|
27
|
+
type Requirements = CliArguments | CliInvocationFacts | CliOutput | ProjectConfiguration;
|
|
27
28
|
type Error = CliFeatureError;
|
|
28
29
|
export declare const inspectionQueryCliCommand: CliCommandContribution<Requirements, Error>;
|
|
29
30
|
export {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { CliArguments, CliInvocationFacts, CliOutput } from "../../cli/application.js";
|
|
2
2
|
import { CliFeatureError, type CliCommandContribution } from "../../cli/contribution.js";
|
|
3
|
+
import { ProjectConfiguration } from "../../cli/project-configuration.js";
|
|
3
4
|
export declare const QUERY_CLI_OPTIONS: Readonly<{
|
|
4
5
|
request: Readonly<{
|
|
5
6
|
readonly type: "string" | "boolean";
|
|
@@ -23,7 +24,7 @@ export declare const QUERY_CLI_OPTIONS: Readonly<{
|
|
|
23
24
|
readonly help?: import("../../cli/application.js").CliOptionHelp;
|
|
24
25
|
}>;
|
|
25
26
|
}>;
|
|
26
|
-
type Requirements = CliArguments | CliInvocationFacts | CliOutput;
|
|
27
|
+
type Requirements = CliArguments | CliInvocationFacts | CliOutput | ProjectConfiguration;
|
|
27
28
|
type Error = CliFeatureError;
|
|
28
29
|
export declare const inspectionQueryCliCommand: CliCommandContribution<Requirements, Error>;
|
|
29
30
|
export {};
|
|
@@ -183,6 +183,7 @@ function newScanState() {
|
|
|
183
183
|
scopeIds: new Map(), clockUnits: new Map(), resolvedLinks: [], causeEdges: new Map(),
|
|
184
184
|
eventIds: new Set(), evidenceIds: new Set(), traceIdsForIndex: [], eventIdsForIndex: [], evidenceIdsForIndex: [],
|
|
185
185
|
sourceBytes: 0, targetBytes: 0, artifacts: new Map(), parsedArtifacts: new Map(), targets: new Map(),
|
|
186
|
+
descriptors: undefined,
|
|
186
187
|
};
|
|
187
188
|
}
|
|
188
189
|
function readArtifact(resolved, state, artifactId) {
|
|
@@ -238,6 +239,56 @@ function verifyEvidence(resolved, state, evidence) {
|
|
|
238
239
|
state.targets.set(cacheKey, verified);
|
|
239
240
|
return verified;
|
|
240
241
|
}
|
|
242
|
+
function displayStrings(block) {
|
|
243
|
+
switch (block.kind) {
|
|
244
|
+
case "text": return [block.text];
|
|
245
|
+
case "message": return block.speaker === undefined ? [block.text] : [block.text, block.speaker];
|
|
246
|
+
case "fields": return block.fields.flatMap((field) => typeof field.value === "string" ? [field.label, field.value] : [field.label]);
|
|
247
|
+
case "code": return block.language === undefined ? [block.text] : [block.text, block.language];
|
|
248
|
+
case "image": return [block.alt];
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
/** Display blocks are re-validated on read so a hostile or foreign writer cannot bypass acceptance rules. */
|
|
252
|
+
function verifyDisplay(resolved, state, display) {
|
|
253
|
+
if (display === undefined)
|
|
254
|
+
return;
|
|
255
|
+
const limits = schema_ts_1.ExecutionTraceRecordLimits;
|
|
256
|
+
if (display.length > limits.maximumDisplayBlocksPerEvent) {
|
|
257
|
+
throw integrity("Execution display exceeds its fixed block limit.");
|
|
258
|
+
}
|
|
259
|
+
if ((0, bytes_ts_1.utf8ByteLength)((0, canonical_ts_1.canonicalRecordJsonText)(display)) > limits.maximumDisplayBytesPerEvent) {
|
|
260
|
+
throw integrity("Execution display exceeds its fixed byte limit.");
|
|
261
|
+
}
|
|
262
|
+
for (const block of display) {
|
|
263
|
+
if (displayStrings(block).some(schema_ts_1.displayTextHasForbiddenCharacter)) {
|
|
264
|
+
throw integrity("Execution display contains a control or bidirectional formatting character.");
|
|
265
|
+
}
|
|
266
|
+
if (block.kind === "fields" && block.fields.length > limits.maximumDisplayFields) {
|
|
267
|
+
throw integrity("Execution display fields exceed their fixed limit.");
|
|
268
|
+
}
|
|
269
|
+
const singleLine = block.kind === "fields" ? block.fields.map((field) => field.label)
|
|
270
|
+
: block.kind === "message" ? block.speaker === undefined ? [] : [block.speaker]
|
|
271
|
+
: block.kind === "code" ? block.language === undefined ? [] : [block.language]
|
|
272
|
+
: block.kind === "image" ? [block.alt] : [];
|
|
273
|
+
const maximumBytes = block.kind === "image" ? limits.maximumDisplayAltBytes : limits.maximumDisplayLabelBytes;
|
|
274
|
+
if (singleLine.some((text) => text.includes("\n") || (0, bytes_ts_1.utf8ByteLength)(text) > maximumBytes)) {
|
|
275
|
+
throw integrity("Execution display label exceeds its single-line or byte limit.");
|
|
276
|
+
}
|
|
277
|
+
if (block.kind !== "image")
|
|
278
|
+
continue;
|
|
279
|
+
if (state.descriptors === undefined) {
|
|
280
|
+
const read = (0, artifacts_ts_1.readInspectionArtifactDescriptors)(resolved);
|
|
281
|
+
if (effect_1.Result.isFailure(read))
|
|
282
|
+
throw integrity("Execution display image artifacts are unreadable.");
|
|
283
|
+
state.descriptors = read.success;
|
|
284
|
+
}
|
|
285
|
+
const descriptor = state.descriptors.get(block.artifactId);
|
|
286
|
+
if (descriptor === undefined || descriptor.sha256 !== block.sha256 ||
|
|
287
|
+
descriptor.byteLength !== block.byteLength || descriptor.mediaType !== block.mediaType) {
|
|
288
|
+
throw integrity("Execution display image artifact closure is invalid.");
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
}
|
|
241
292
|
function observeRecord(resolved, state, record) {
|
|
242
293
|
if (record.kind === "trace-header") {
|
|
243
294
|
if (state.headers.has(record.traceId) || state.sourceTraceIds.has(record.sourceTraceId)) {
|
|
@@ -288,6 +339,7 @@ function observeRecord(resolved, state, record) {
|
|
|
288
339
|
state.evidenceIdsForIndex.push(evidence.evidenceId);
|
|
289
340
|
verifyEvidence(resolved, state, evidence);
|
|
290
341
|
}
|
|
342
|
+
verifyDisplay(resolved, state, record.display);
|
|
291
343
|
const membershipScopes = new Set();
|
|
292
344
|
const declaredScopes = state.scopeIds.get(record.traceId);
|
|
293
345
|
for (const membership of record.scopeMemberships) {
|
|
@@ -404,7 +456,8 @@ function scanCollection(resolved, visit) {
|
|
|
404
456
|
function matches(event, filters) {
|
|
405
457
|
return (filters.traceId === undefined || event.traceId === filters.traceId) &&
|
|
406
458
|
(filters.sourceId === undefined || event.source.id === filters.sourceId) &&
|
|
407
|
-
(filters.actorId === undefined || event.actor?.id === filters.actorId)
|
|
459
|
+
(filters.actorId === undefined || event.actor?.id === filters.actorId) &&
|
|
460
|
+
(filters.eventType === undefined || event.type === filters.eventType);
|
|
408
461
|
}
|
|
409
462
|
exports.EXECUTION_TRACE_CONTINUATION_FAMILIES = Object.freeze({
|
|
410
463
|
executionTraces: definition_ts_1.executionTracesRecordCollection.family,
|
|
@@ -423,6 +476,7 @@ function continuationBinding(context, lastOrdinal) {
|
|
|
423
476
|
traceId: context.filters.traceId ?? null,
|
|
424
477
|
sourceId: context.filters.sourceId ?? null,
|
|
425
478
|
actorId: context.filters.actorId ?? null,
|
|
479
|
+
eventType: context.filters.eventType ?? null,
|
|
426
480
|
}),
|
|
427
481
|
lastOrdinal,
|
|
428
482
|
});
|
|
@@ -464,8 +518,52 @@ function continuationSourceFamily(token) {
|
|
|
464
518
|
return undefined;
|
|
465
519
|
}
|
|
466
520
|
}
|
|
521
|
+
/** UTF-8-safe prefix: never splits a code point; omitted bytes count the remainder. */
|
|
522
|
+
function previewText(value, limit) {
|
|
523
|
+
const total = (0, bytes_ts_1.utf8ByteLength)(value);
|
|
524
|
+
if (total <= limit)
|
|
525
|
+
return Object.freeze({ preview: value, omittedBytes: 0 });
|
|
526
|
+
let used = 0;
|
|
527
|
+
let end = 0;
|
|
528
|
+
for (const character of value) {
|
|
529
|
+
const size = (0, bytes_ts_1.utf8ByteLength)(character);
|
|
530
|
+
if (used + size > limit)
|
|
531
|
+
break;
|
|
532
|
+
used += size;
|
|
533
|
+
end += character.length;
|
|
534
|
+
}
|
|
535
|
+
return Object.freeze({ preview: value.slice(0, end), omittedBytes: total - used });
|
|
536
|
+
}
|
|
537
|
+
function previewBlock(block, limit) {
|
|
538
|
+
switch (block.kind) {
|
|
539
|
+
case "text": return Object.freeze({ kind: "text", text: previewText(block.text, limit) });
|
|
540
|
+
case "message": return Object.freeze({
|
|
541
|
+
kind: "message", role: block.role,
|
|
542
|
+
...(block.speaker === undefined ? {} : { speaker: block.speaker }),
|
|
543
|
+
text: previewText(block.text, limit),
|
|
544
|
+
});
|
|
545
|
+
case "fields": return Object.freeze({
|
|
546
|
+
kind: "fields",
|
|
547
|
+
fields: Object.freeze(block.fields.map((field) => Object.freeze({
|
|
548
|
+
label: field.label,
|
|
549
|
+
value: typeof field.value === "string" ? previewText(field.value, limit) : field.value,
|
|
550
|
+
}))),
|
|
551
|
+
});
|
|
552
|
+
case "code": return Object.freeze({
|
|
553
|
+
kind: "code",
|
|
554
|
+
...(block.language === undefined ? {} : { language: block.language }),
|
|
555
|
+
text: previewText(block.text, limit),
|
|
556
|
+
});
|
|
557
|
+
case "image": return Object.freeze({ ...block });
|
|
558
|
+
}
|
|
559
|
+
}
|
|
560
|
+
function previewDisplay(display, limit) {
|
|
561
|
+
return display === undefined
|
|
562
|
+
? Object.freeze({ state: "absent" })
|
|
563
|
+
: Object.freeze({ state: "present", blocks: Object.freeze(display.map((block) => previewBlock(block, limit))) });
|
|
564
|
+
}
|
|
467
565
|
function outlineEvent(event) {
|
|
468
|
-
|
|
566
|
+
const envelope = {
|
|
469
567
|
traceId: event.traceId,
|
|
470
568
|
eventId: event.eventId,
|
|
471
569
|
origin: Object.freeze({ kind: "execution-event", eventId: event.eventId }),
|
|
@@ -478,13 +576,24 @@ function outlineEvent(event) {
|
|
|
478
576
|
links: event.links,
|
|
479
577
|
evidence: Object.freeze(event.evidence.map(({ evidenceId, key, label }) => Object.freeze({ evidenceId, key, label }))),
|
|
480
578
|
scopeMemberships: event.scopeMemberships,
|
|
481
|
-
}
|
|
579
|
+
};
|
|
580
|
+
let limit = schema_ts_1.ExecutionTraceRecordLimits.maximumDisplayPreviewBytes;
|
|
581
|
+
while (true) {
|
|
582
|
+
const projected = Object.freeze({ ...envelope, display: previewDisplay(event.display, limit) });
|
|
583
|
+
if (event.display === undefined || (0, bytes_ts_1.utf8ByteLength)(JSON.stringify(projected)) <= schema_ts_1.ExecutionTraceRecordLimits.maximumOutlineEventBytes)
|
|
584
|
+
return projected;
|
|
585
|
+
// Existing envelope fields have no preview shape; retain them under the page budget.
|
|
586
|
+
if (limit === 0)
|
|
587
|
+
return projected;
|
|
588
|
+
limit = Math.floor(limit / 2);
|
|
589
|
+
}
|
|
482
590
|
}
|
|
483
591
|
function projectExecutionTraceOutline(source, resolved, request) {
|
|
484
592
|
const filters = Object.freeze({
|
|
485
593
|
...(request.traceId === undefined ? {} : { traceId: request.traceId }),
|
|
486
594
|
...(request.sourceId === undefined ? {} : { sourceId: request.sourceId }),
|
|
487
595
|
...(request.actorId === undefined ? {} : { actorId: request.actorId }),
|
|
596
|
+
...(request.eventType === undefined ? {} : { eventType: request.eventType }),
|
|
488
597
|
});
|
|
489
598
|
const nativeAttachment = collectionAttachment(resolved);
|
|
490
599
|
if (request.continuation !== undefined && nativeAttachment === undefined &&
|
|
@@ -503,12 +612,10 @@ function projectExecutionTraceOutline(source, resolved, request) {
|
|
|
503
612
|
let matched = 0;
|
|
504
613
|
let priorMatches = 0;
|
|
505
614
|
let pageFull = false;
|
|
506
|
-
const matchedTraceIds = new Set();
|
|
507
615
|
const scanned = scanCollection(resolved, (record, collectionOrdinal) => {
|
|
508
616
|
if (record.kind !== "event" || !matches(record, filters))
|
|
509
617
|
return;
|
|
510
618
|
matched += 1;
|
|
511
|
-
matchedTraceIds.add(record.traceId);
|
|
512
619
|
if (collectionOrdinal <= resumeAfter) {
|
|
513
620
|
priorMatches += 1;
|
|
514
621
|
return;
|
|
@@ -535,10 +642,9 @@ function projectExecutionTraceOutline(source, resolved, request) {
|
|
|
535
642
|
});
|
|
536
643
|
const remaining = Math.max(0, matched - priorMatches - retained.length);
|
|
537
644
|
const lastOrdinal = retained.at(-1)?.collectionOrdinal;
|
|
538
|
-
const hasEventFilter = filters.sourceId !== undefined || filters.actorId !== undefined;
|
|
539
645
|
const traceHeaders = [...scanned.state.headers.values()]
|
|
540
|
-
|
|
541
|
-
(
|
|
646
|
+
// An empty filtered page does not prove the producer captured all events.
|
|
647
|
+
.filter((header) => filters.traceId === undefined || header.traceId === filters.traceId)
|
|
542
648
|
.map((header) => Object.freeze({
|
|
543
649
|
...header,
|
|
544
650
|
eventCount: scanned.state.eventCounts.get(header.traceId) ?? 0,
|