niceeval 0.13.1 → 0.13.2
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 +25 -2
- package/README.md +9 -10
- package/README.zh.md +9 -10
- package/dist/agents/ai-sdk.cjs.map +1 -1
- package/dist/agents/ai-sdk.d.cts +1 -1
- package/dist/agents/ai-sdk.d.mts +1 -1
- package/dist/agents/ai-sdk.d.ts +1 -1
- package/dist/agents/bub-install-spec.cjs +19 -5
- package/dist/agents/bub-install-spec.cjs.map +1 -1
- package/dist/agents/bub-install-spec.d.cts +9 -2
- package/dist/agents/bub-install-spec.d.mts +9 -2
- package/dist/agents/bub-install-spec.d.ts +9 -2
- package/dist/agents/bub-install-spec.js +14 -12
- package/dist/agents/bub.cjs +10 -6
- package/dist/agents/bub.cjs.map +1 -1
- package/dist/agents/bub.d.cts +2 -2
- package/dist/agents/bub.d.mts +2 -2
- package/dist/agents/bub.d.ts +2 -2
- package/dist/agents/claude-code.cjs.map +1 -1
- package/dist/agents/claude-code.d.cts +2 -2
- package/dist/agents/claude-code.d.mts +2 -2
- package/dist/agents/claude-code.d.ts +2 -2
- package/dist/agents/codex.cjs +4 -4
- package/dist/agents/codex.cjs.map +1 -1
- package/dist/agents/codex.d.cts +3 -3
- package/dist/agents/codex.d.mts +3 -3
- package/dist/agents/codex.d.ts +3 -3
- package/dist/agents/coding-cli-versions.cjs +10 -1
- package/dist/agents/coding-cli-versions.cjs.map +1 -1
- package/dist/agents/coding-cli-versions.d.cts +8 -3
- package/dist/agents/coding-cli-versions.d.mts +8 -3
- package/dist/agents/coding-cli-versions.d.ts +8 -3
- package/dist/agents/coding-cli-versions.js +18 -12
- package/dist/agents/deepseek-harness.cjs +151 -0
- package/dist/agents/deepseek-harness.cjs.map +1 -0
- package/dist/agents/deepseek-harness.d.cts +14 -0
- package/dist/agents/deepseek-harness.d.mts +14 -0
- package/dist/agents/deepseek-harness.d.ts +14 -0
- package/dist/agents/deepseek-harness.js +7 -0
- package/dist/agents/deepseek-harness.js.map +1 -0
- package/dist/agents/exact-npm-plugins.cjs +28 -0
- package/dist/agents/exact-npm-plugins.cjs.map +1 -0
- package/dist/agents/exact-npm-plugins.d.cts +10 -0
- package/dist/agents/exact-npm-plugins.d.mts +10 -0
- package/dist/agents/exact-npm-plugins.d.ts +10 -0
- package/dist/agents/exact-npm-plugins.js +8 -0
- package/dist/agents/exact-npm-plugins.js.map +1 -0
- package/dist/agents/index.cjs +5 -1
- package/dist/agents/index.cjs.map +1 -1
- package/dist/agents/index.d.cts +4 -0
- package/dist/agents/index.d.mts +4 -0
- package/dist/agents/index.d.ts +4 -0
- package/dist/agents/index.js +54 -50
- package/dist/agents/index.mjs +54 -50
- package/dist/agents/omp.cjs +170 -0
- package/dist/agents/omp.cjs.map +1 -0
- package/dist/agents/omp.d.cts +14 -0
- package/dist/agents/omp.d.mts +14 -0
- package/dist/agents/omp.d.ts +14 -0
- package/dist/agents/omp.js +7 -0
- package/dist/agents/omp.js.map +1 -0
- package/dist/agents/openclaw.cjs +51 -2
- package/dist/agents/openclaw.cjs.map +1 -1
- package/dist/agents/openclaw.d.cts +2 -0
- package/dist/agents/openclaw.d.mts +2 -0
- package/dist/agents/openclaw.d.ts +2 -0
- package/dist/agents/types.cjs.map +1 -1
- package/dist/agents/types.d.cts +4 -4
- package/dist/agents/types.d.mts +4 -4
- package/dist/agents/types.d.ts +4 -4
- package/dist/agents/ui-message-stream.cjs +24 -7
- package/dist/agents/ui-message-stream.cjs.map +1 -1
- package/dist/analysis/api.cjs +28 -2
- package/dist/analysis/api.cjs.map +1 -1
- package/dist/analysis/api.d.cts +22 -1
- package/dist/analysis/api.d.mts +22 -1
- package/dist/analysis/api.d.ts +22 -1
- package/dist/analysis/api.js +8 -6
- package/dist/analysis/bindings.cjs +11 -18
- package/dist/analysis/bindings.cjs.map +1 -1
- package/dist/analysis/bindings.d.cts +177 -49
- package/dist/analysis/bindings.d.mts +177 -49
- package/dist/analysis/bindings.d.ts +177 -49
- package/dist/analysis/contracts.cjs +1 -0
- package/dist/analysis/contracts.cjs.map +1 -1
- package/dist/analysis/contracts.d.cts +43 -3
- package/dist/analysis/contracts.d.mts +43 -3
- package/dist/analysis/contracts.d.ts +43 -3
- package/dist/analysis/cost-projection.cjs +2 -1
- package/dist/analysis/cost-projection.cjs.map +1 -1
- package/dist/analysis/cost-projection.d.cts +1 -1
- package/dist/analysis/cost-projection.d.mts +1 -1
- package/dist/analysis/cost-projection.d.ts +1 -1
- package/dist/analysis/cost.cjs +13 -3
- package/dist/analysis/cost.cjs.map +1 -1
- package/dist/analysis/cost.d.cts +10 -3
- package/dist/analysis/cost.d.mts +10 -3
- package/dist/analysis/cost.d.ts +10 -3
- package/dist/analysis/experiment-groups.cjs +96 -0
- package/dist/analysis/experiment-groups.cjs.map +1 -0
- package/dist/analysis/experiment-groups.d.cts +9 -0
- package/dist/analysis/experiment-groups.d.mts +9 -0
- package/dist/analysis/experiment-groups.d.ts +9 -0
- package/dist/analysis/experiment-groups.js +10 -0
- package/dist/analysis/experiment-groups.js.map +1 -0
- package/dist/analysis/index.cjs +4 -1
- package/dist/analysis/index.cjs.map +1 -1
- package/dist/analysis/index.d.cts +4 -2
- package/dist/analysis/index.d.mts +4 -2
- package/dist/analysis/index.d.ts +4 -2
- package/dist/analysis/index.js +40 -36
- package/dist/analysis/index.mjs +40 -36
- package/dist/assertions/limits.cjs +4 -0
- package/dist/assertions/limits.cjs.map +1 -1
- package/dist/assertions/limits.d.cts +4 -0
- package/dist/assertions/limits.d.mts +4 -0
- package/dist/assertions/limits.d.ts +4 -0
- package/dist/assertions/match.cjs +63 -25
- package/dist/assertions/match.cjs.map +1 -1
- package/dist/assertions/match.d.cts +7 -0
- package/dist/assertions/match.d.mts +7 -0
- package/dist/assertions/match.d.ts +7 -0
- package/dist/assertions/record/attachment.cjs +32 -4
- package/dist/assertions/record/attachment.cjs.map +1 -1
- package/dist/assertions/record/diff.cjs +10 -4
- package/dist/assertions/record/diff.cjs.map +1 -1
- package/dist/assertions/record/producer.cjs +101 -4
- package/dist/assertions/record/producer.cjs.map +1 -1
- package/dist/assertions/record/producer.d.cts +4 -1
- package/dist/assertions/record/producer.d.mts +4 -1
- package/dist/assertions/record/producer.d.ts +4 -1
- package/dist/assertions/runtime.cjs +45 -5
- package/dist/assertions/runtime.cjs.map +1 -1
- package/dist/cli/record.cjs +113 -8
- package/dist/cli/record.cjs.map +1 -1
- package/dist/cli/record.d.cts +20 -1
- package/dist/cli/record.d.mts +20 -1
- package/dist/cli/record.d.ts +20 -1
- package/dist/cli/record.js +4 -2
- package/dist/cli.cjs +386 -31
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.d.cts +10 -2
- package/dist/cli.d.mts +10 -2
- package/dist/cli.d.ts +10 -2
- package/dist/context/send-retry.cjs +4 -4
- package/dist/context/send-retry.cjs.map +1 -1
- package/dist/coordination/host/runtime.cjs +8 -30
- package/dist/coordination/host/runtime.cjs.map +1 -1
- package/dist/coordination/host/runtime.d.cts +3 -3
- package/dist/coordination/host/runtime.d.mts +3 -3
- package/dist/coordination/host/runtime.d.ts +3 -3
- package/dist/coordination/host/types.cjs.map +1 -1
- package/dist/coordination/host/types.d.cts +0 -5
- package/dist/coordination/host/types.d.mts +0 -5
- package/dist/coordination/host/types.d.ts +0 -5
- package/dist/coordination/platform/node.cjs +90 -9
- package/dist/coordination/platform/node.cjs.map +1 -1
- package/dist/define.cjs +25 -1
- package/dist/define.cjs.map +1 -1
- package/dist/experiment/host/index.cjs +1 -0
- package/dist/experiment/host/index.cjs.map +1 -1
- package/dist/i18n/en.cjs +26 -8
- package/dist/i18n/en.cjs.map +1 -1
- package/dist/i18n/en.d.cts +19 -6
- package/dist/i18n/en.d.mts +19 -6
- package/dist/i18n/en.d.ts +19 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/o11y/parsers/hermes.cjs +1 -1
- package/dist/o11y/parsers/hermes.cjs.map +1 -1
- package/dist/o11y/prices.json +1 -1
- package/dist/o11y/record/families.cjs +12 -3
- package/dist/o11y/record/families.cjs.map +1 -1
- package/dist/o11y/record/families.d.cts +8 -8
- package/dist/o11y/record/families.d.mts +8 -8
- package/dist/o11y/record/families.d.ts +8 -8
- package/dist/o11y/record/family-projectors.d.cts +66 -18
- package/dist/o11y/record/family-projectors.d.mts +66 -18
- package/dist/o11y/record/family-projectors.d.ts +66 -18
- package/dist/o11y/record/family-writers.d.cts +11 -3
- package/dist/o11y/record/family-writers.d.mts +11 -3
- package/dist/o11y/record/family-writers.d.ts +11 -3
- package/dist/o11y/record/runner-producer.cjs +14 -4
- package/dist/o11y/record/runner-producer.cjs.map +1 -1
- package/dist/record/codec/core.d.cts +2 -2
- package/dist/record/codec/core.d.mts +2 -2
- package/dist/record/codec/core.d.ts +2 -2
- package/dist/record/family/catalog.d.cts +44 -12
- package/dist/record/family/catalog.d.mts +44 -12
- package/dist/record/family/catalog.d.ts +44 -12
- package/dist/record/family/index.js +128 -124
- package/dist/record/family/observability-v1.cjs +35 -0
- package/dist/record/family/observability-v1.cjs.map +1 -0
- package/dist/record/family/observability-v1.d.cts +3 -0
- package/dist/record/family/observability-v1.d.mts +3 -0
- package/dist/record/family/observability-v1.d.ts +3 -0
- package/dist/record/family/observability-v1.js +6 -0
- package/dist/record/family/observability-v1.js.map +1 -0
- package/dist/record/family/observability.cjs +58 -9
- package/dist/record/family/observability.cjs.map +1 -1
- package/dist/record/family/observability.d.cts +1014 -15
- package/dist/record/family/observability.d.mts +1014 -15
- package/dist/record/family/observability.d.ts +1014 -15
- package/dist/record/family/observability.js +22 -18
- package/dist/record/host/runtime.cjs +600 -31
- package/dist/record/host/runtime.cjs.map +1 -1
- package/dist/record/host/types.cjs.map +1 -1
- package/dist/record/host/types.d.cts +33 -9
- package/dist/record/host/types.d.mts +33 -9
- package/dist/record/host/types.d.ts +33 -9
- package/dist/record/maintenance/runtime.cjs +1 -2
- package/dist/record/maintenance/runtime.cjs.map +1 -1
- package/dist/record/model/core.cjs.map +1 -1
- package/dist/record/model/core.d.cts +1 -1
- package/dist/record/model/core.d.mts +1 -1
- package/dist/record/model/core.d.ts +1 -1
- package/dist/record/model/definition.d.cts +6 -6
- package/dist/record/model/definition.d.mts +6 -6
- package/dist/record/model/definition.d.ts +6 -6
- package/dist/record/model/identifiers.cjs +1 -1
- package/dist/record/model/identifiers.cjs.map +1 -1
- package/dist/record/model/identifiers.d.cts +1 -1
- package/dist/record/model/identifiers.d.mts +1 -1
- package/dist/record/model/identifiers.d.ts +1 -1
- package/dist/record/platform/node.cjs +159 -23
- package/dist/record/platform/node.cjs.map +1 -1
- package/dist/record/platform/services.cjs.map +1 -1
- package/dist/record/platform/services.d.cts +15 -2
- package/dist/record/platform/services.d.mts +15 -2
- package/dist/record/platform/services.d.ts +15 -2
- package/dist/record/reader/errors.cjs +37 -1
- package/dist/record/reader/errors.cjs.map +1 -1
- package/dist/record/reader/errors.d.cts +49 -1
- package/dist/record/reader/errors.d.mts +49 -1
- package/dist/record/reader/errors.d.ts +49 -1
- package/dist/record/reader/errors.js +22 -12
- package/dist/record/reader/format.cjs +76 -17
- package/dist/record/reader/format.cjs.map +1 -1
- package/dist/record/reader/format.d.cts +11 -4
- package/dist/record/reader/format.d.mts +11 -4
- package/dist/record/reader/format.d.ts +11 -4
- package/dist/record/reader/format.js +2 -0
- package/dist/record/reader/index.js +32 -18
- package/dist/record/reader/runtime.cjs +64 -0
- package/dist/record/reader/runtime.cjs.map +1 -1
- package/dist/record/reader/runtime.d.cts +15 -0
- package/dist/record/reader/runtime.d.mts +15 -0
- package/dist/record/reader/runtime.d.ts +15 -0
- package/dist/record/reader/runtime.js +2 -0
- package/dist/report/assets/styles.css +53 -29
- package/dist/report/built-in/analysis-values.cjs +21 -13
- package/dist/report/built-in/analysis-values.cjs.map +1 -1
- package/dist/report/built-in/analysis-values.d.cts +11 -22
- package/dist/report/built-in/analysis-values.d.mts +11 -22
- package/dist/report/built-in/analysis-values.d.ts +11 -22
- package/dist/report/built-in/analysis-values.js +4 -6
- package/dist/report/built-in/index.cjs +1 -3
- package/dist/report/built-in/index.cjs.map +1 -1
- package/dist/report/built-in/index.d.cts +1 -1
- package/dist/report/built-in/index.d.mts +1 -1
- package/dist/report/built-in/index.d.ts +1 -1
- package/dist/report/built-in/index.js +4 -8
- package/dist/report/built-in/index.mjs +4 -8
- package/dist/report/built-in/machine.cjs +0 -2
- package/dist/report/built-in/machine.cjs.map +1 -1
- package/dist/report/built-in/machine.d.cts +0 -2
- package/dist/report/built-in/machine.d.mts +0 -2
- package/dist/report/built-in/machine.d.ts +0 -2
- package/dist/report/built-in/result-components.cjs +49 -51
- package/dist/report/built-in/result-components.cjs.map +1 -1
- package/dist/report/built-in/result-components.d.cts +16 -17
- package/dist/report/built-in/result-components.d.mts +16 -17
- package/dist/report/built-in/result-components.d.ts +16 -17
- package/dist/report/built-in/result-components.js +0 -4
- package/dist/report/built-in/run-membership-overview.cjs +126 -17
- package/dist/report/built-in/run-membership-overview.cjs.map +1 -1
- package/dist/report/built-in/run-membership-overview.d.cts +14 -0
- package/dist/report/built-in/run-membership-overview.d.mts +14 -0
- package/dist/report/built-in/run-membership-overview.d.ts +14 -0
- package/dist/report/built-in/run-membership-overview.js +4 -2
- package/dist/report/built-in/standard.cjs +80 -45
- package/dist/report/built-in/standard.cjs.map +1 -1
- package/dist/report/built-in/standard.d.cts +19 -41
- package/dist/report/built-in/standard.d.mts +19 -41
- package/dist/report/built-in/standard.d.ts +19 -41
- package/dist/report/built-in/standard.js +6 -6
- package/dist/report/components/attempt-detail/compute.cjs +78 -2
- package/dist/report/components/attempt-detail/compute.cjs.map +1 -1
- package/dist/report/components/attempt-detail/compute.d.cts +1 -1
- package/dist/report/components/attempt-detail/compute.d.mts +1 -1
- package/dist/report/components/attempt-detail/compute.d.ts +1 -1
- package/dist/report/components/attempt-detail/content.cjs +1 -1
- package/dist/report/components/attempt-detail/content.cjs.map +1 -1
- package/dist/report/components/entity-lists/compute.cjs +42 -5
- package/dist/report/components/entity-lists/compute.cjs.map +1 -1
- package/dist/report/components/entity-lists/compute.d.cts +10 -8
- package/dist/report/components/entity-lists/compute.d.mts +10 -8
- package/dist/report/components/entity-lists/compute.d.ts +10 -8
- package/dist/report/components/entity-lists/content.cjs +31 -6
- package/dist/report/components/entity-lists/content.cjs.map +1 -1
- package/dist/report/components/entity-lists/index.cjs +9 -4
- package/dist/report/components/entity-lists/index.cjs.map +1 -1
- package/dist/report/components/entity-lists/index.d.cts +4 -7
- package/dist/report/components/entity-lists/index.d.mts +4 -7
- package/dist/report/components/entity-lists/index.d.ts +4 -7
- package/dist/report/components/summaries/compute.cjs +8 -1
- package/dist/report/components/summaries/compute.cjs.map +1 -1
- package/dist/report/components/summaries/compute.d.cts +9 -1
- package/dist/report/components/summaries/compute.d.mts +9 -1
- package/dist/report/components/summaries/compute.d.ts +9 -1
- package/dist/report/components/summaries/index.cjs +48 -4
- package/dist/report/components/summaries/index.cjs.map +1 -1
- package/dist/report/components/summaries/index.d.cts +7 -4
- package/dist/report/components/summaries/index.d.mts +7 -4
- package/dist/report/components/summaries/index.d.ts +7 -4
- package/dist/report/definition/cell.cjs +3 -0
- package/dist/report/definition/cell.cjs.map +1 -1
- package/dist/report/definition/cell.d.cts +2 -0
- package/dist/report/definition/cell.d.mts +2 -0
- package/dist/report/definition/cell.d.ts +2 -0
- package/dist/report/definition/primitives/chart.cjs +8 -5
- package/dist/report/definition/primitives/chart.cjs.map +1 -1
- package/dist/report/definition/primitives/points-dataset.cjs +1 -0
- package/dist/report/definition/primitives/points-dataset.cjs.map +1 -1
- package/dist/report/definition/primitives.cjs +15 -2
- package/dist/report/definition/primitives.cjs.map +1 -1
- package/dist/report/definition/report.cjs +27 -3
- package/dist/report/definition/report.cjs.map +1 -1
- package/dist/report/definition/report.d.cts +8 -0
- package/dist/report/definition/report.d.mts +8 -0
- package/dist/report/definition/report.d.ts +8 -0
- package/dist/report/execution/machine.cjs +30 -14
- package/dist/report/execution/machine.cjs.map +1 -1
- package/dist/report/execution/machine.d.cts +20 -10
- package/dist/report/execution/machine.d.mts +20 -10
- package/dist/report/execution/machine.d.ts +20 -10
- package/dist/report/execution/machine.js +6 -6
- package/dist/report/host/execute.cjs +25 -16
- package/dist/report/host/execute.cjs.map +1 -1
- package/dist/report/host/execute.d.cts +4 -0
- package/dist/report/host/execute.d.mts +4 -0
- package/dist/report/host/execute.d.ts +4 -0
- package/dist/report/host/from-record.cjs +22 -5
- package/dist/report/host/from-record.cjs.map +1 -1
- package/dist/report/host/machine.cjs +53 -11
- package/dist/report/host/machine.cjs.map +1 -1
- package/dist/report/host/site-runtime.cjs +9 -8
- package/dist/report/host/site-runtime.cjs.map +1 -1
- package/dist/report/host/site-runtime.d.cts +1 -1
- package/dist/report/host/site-runtime.d.mts +1 -1
- package/dist/report/host/site-runtime.d.ts +1 -1
- package/dist/report/host/static.cjs +56 -9
- package/dist/report/host/static.cjs.map +1 -1
- package/dist/report/index.cjs.map +1 -1
- package/dist/report/index.d.cts +1 -1
- package/dist/report/index.d.mts +1 -1
- package/dist/report/index.d.ts +1 -1
- package/dist/report/model/dataset.cjs +7 -2
- package/dist/report/model/dataset.cjs.map +1 -1
- package/dist/report/model/locale.cjs +2 -0
- package/dist/report/model/locale.cjs.map +1 -1
- package/dist/report/model/locale.d.cts +1 -0
- package/dist/report/model/locale.d.mts +1 -0
- package/dist/report/model/locale.d.ts +1 -0
- package/dist/report/model/metrics.cjs +3 -1
- package/dist/report/model/metrics.cjs.map +1 -1
- package/dist/report/model/pricing.cjs +16 -11
- package/dist/report/model/pricing.cjs.map +1 -1
- package/dist/report/react/styles.css +53 -29
- package/dist/runner/adoption.cjs +1 -0
- package/dist/runner/adoption.cjs.map +1 -1
- package/dist/runner/attempt.cjs +44 -5
- package/dist/runner/attempt.cjs.map +1 -1
- package/dist/runner/attempt.d.cts +13 -1
- package/dist/runner/attempt.d.mts +13 -1
- package/dist/runner/attempt.d.ts +13 -1
- package/dist/runner/config-identity.cjs +10 -2
- package/dist/runner/config-identity.cjs.map +1 -1
- package/dist/runner/config-identity.d.cts +4 -2
- package/dist/runner/config-identity.d.mts +4 -2
- package/dist/runner/config-identity.d.ts +4 -2
- package/dist/runner/feedback/human.cjs +298 -59
- package/dist/runner/feedback/human.cjs.map +1 -1
- package/dist/runner/feedback/json.cjs +14 -6
- package/dist/runner/feedback/json.cjs.map +1 -1
- package/dist/runner/feedback/json.d.cts +3 -2
- package/dist/runner/feedback/json.d.mts +3 -2
- package/dist/runner/feedback/json.d.ts +3 -2
- package/dist/runner/feedback/reducer.cjs +2 -0
- package/dist/runner/feedback/reducer.cjs.map +1 -1
- package/dist/runner/judge-config.cjs +1 -1
- package/dist/runner/judge-config.cjs.map +1 -1
- package/dist/runner/ledger.cjs +124 -12
- package/dist/runner/ledger.cjs.map +1 -1
- package/dist/runner/project-current.cjs +13 -5
- package/dist/runner/project-current.cjs.map +1 -1
- package/dist/runner/run.cjs +564 -256
- package/dist/runner/run.cjs.map +1 -1
- package/dist/runner/sandbox-pool.cjs +161 -30
- package/dist/runner/sandbox-pool.cjs.map +1 -1
- package/dist/runner/sandbox-pool.d.cts +34 -2
- package/dist/runner/sandbox-pool.d.mts +34 -2
- package/dist/runner/sandbox-pool.d.ts +34 -2
- package/dist/runner/shared-state-lease.cjs +803 -0
- package/dist/runner/shared-state-lease.cjs.map +1 -0
- package/dist/runner/shared-state-lease.d.cts +121 -0
- package/dist/runner/shared-state-lease.d.mts +121 -0
- package/dist/runner/shared-state-lease.d.ts +121 -0
- package/dist/runner/shared-state-lease.js +24 -0
- package/dist/runner/shared-state-lease.js.map +1 -0
- package/dist/runner/teardown-registry.cjs +97 -34
- package/dist/runner/teardown-registry.cjs.map +1 -1
- package/dist/runner/teardown-registry.d.cts +27 -1
- package/dist/runner/teardown-registry.d.mts +27 -1
- package/dist/runner/teardown-registry.d.ts +27 -1
- package/dist/runner/teardown-registry.js +20 -16
- package/dist/runner/types.cjs.map +1 -1
- package/dist/runner/types.d.cts +31 -5
- package/dist/runner/types.d.mts +31 -5
- package/dist/runner/types.d.ts +31 -5
- package/dist/sample/analysis.cjs +249 -459
- package/dist/sample/analysis.cjs.map +1 -1
- package/dist/sample/capability.cjs +138 -7
- package/dist/sample/capability.cjs.map +1 -1
- package/dist/sample/capability.d.cts +3 -1
- package/dist/sample/capability.d.mts +3 -1
- package/dist/sample/capability.d.ts +3 -1
- package/dist/sample/capability.js +8 -6
- package/dist/sandbox/docker-agent-image.cjs +5 -1
- package/dist/sandbox/docker-agent-image.cjs.map +1 -1
- package/dist/sandbox/docker-agent-image.d.cts +2 -0
- package/dist/sandbox/docker-agent-image.d.mts +2 -0
- package/dist/sandbox/docker-agent-image.d.ts +2 -0
- package/dist/sandbox/docker-agent-image.js +14 -10
- package/dist/sandbox/docker-profile/schema.cjs +283 -534
- package/dist/sandbox/docker-profile/schema.cjs.map +1 -1
- package/dist/sandbox/docker-profile/schema.d.cts +10 -27
- package/dist/sandbox/docker-profile/schema.d.mts +10 -27
- package/dist/sandbox/docker-profile/schema.d.ts +10 -27
- package/dist/sandbox/e2b-agent-template.cjs +5 -2
- package/dist/sandbox/e2b-agent-template.cjs.map +1 -1
- package/dist/sandbox/index.cjs +4 -2
- package/dist/sandbox/index.cjs.map +1 -1
- package/dist/sandbox/index.d.cts +1 -1
- package/dist/sandbox/index.d.mts +1 -1
- package/dist/sandbox/index.d.ts +1 -1
- package/dist/sandbox/index.js +120 -116
- package/dist/sandbox/index.mjs +120 -116
- package/dist/sandbox/keep-registry.cjs +28 -66
- package/dist/sandbox/keep-registry.cjs.map +1 -1
- package/dist/sandbox/types.cjs.map +1 -1
- package/dist/sandbox/types.d.cts +1 -1
- package/dist/sandbox/types.d.mts +1 -1
- package/dist/sandbox/types.d.ts +1 -1
- package/dist/shared/aggregate.cjs +16 -6
- package/dist/shared/aggregate.cjs.map +1 -1
- package/dist/shared/aggregate.d.cts +12 -4
- package/dist/shared/aggregate.d.mts +12 -4
- package/dist/shared/aggregate.d.ts +12 -4
- package/dist/shared/turn-label.cjs +20 -2
- package/dist/shared/turn-label.cjs.map +1 -1
- package/dist/shared/turn-label.d.cts +2 -0
- package/dist/shared/turn-label.d.mts +2 -0
- package/dist/shared/turn-label.d.ts +2 -0
- package/dist/shared/turn-label.js +4 -2
- package/dist/vendor/remark/remark-gfm.cjs +7 -7
- package/dist/vendor/remark/remark-gfm.cjs.map +1 -1
- package/dist/vendor/remark/remark-parse.cjs +12 -12
- package/dist/vendor/remark/remark-parse.cjs.map +1 -1
- package/dist/vendor/remark/remark.cjs +13 -13
- package/dist/vendor/remark/remark.cjs.map +1 -1
- package/dist/view/server.cjs +6 -0
- package/dist/view/server.cjs.map +1 -1
- package/docs-site/images/hitl-handshake-zh.svg +3 -3
- package/docs-site/zh/examples/ai-agent-application.mdx +1 -1
- package/docs-site/zh/examples/coding-agent-extensions.mdx +1 -1
- package/docs-site/zh/examples/integrations/ai-sdk-v7.mdx +4 -3
- package/docs-site/zh/examples/integrations/claude-sdk.mdx +3 -3
- package/docs-site/zh/examples/integrations/codex-sdk.mdx +5 -5
- package/docs-site/zh/examples/integrations/langgraph.mdx +4 -4
- package/docs-site/zh/examples/integrations/pi-sdk.mdx +5 -5
- package/docs-site/zh/explanation/adapter.mdx +5 -5
- package/docs-site/zh/explanation/assert.mdx +7 -7
- package/docs-site/zh/explanation/drive.mdx +4 -2
- package/docs-site/zh/explanation/evals.mdx +10 -8
- package/docs-site/zh/explanation/experiment.mdx +2 -2
- package/docs-site/zh/explanation/hitl.mdx +9 -9
- package/docs-site/zh/explanation/judge.mdx +5 -5
- package/docs-site/zh/explanation/overview.mdx +3 -3
- package/docs-site/zh/explanation/runner.mdx +1 -1
- package/docs-site/zh/index.mdx +3 -3
- package/docs-site/zh/reference/builtin-agents.mdx +13 -13
- package/docs-site/zh/reference/capabilities.mdx +1 -1
- package/docs-site/zh/reference/cli.mdx +18 -12
- package/docs-site/zh/reference/define-agent.mdx +130 -5
- package/docs-site/zh/reference/define-config.mdx +2 -2
- package/docs-site/zh/reference/define-eval.mdx +4 -4
- package/docs-site/zh/reference/events.mdx +11 -11
- package/docs-site/zh/reference/official-adapters.mdx +6 -6
- package/docs-site/zh/reference/results-data.mdx +6 -0
- package/docs-site/zh/troubleshooting/debugging.mdx +1 -1
- package/docs-site/zh/troubleshooting/recover-after-kill.mdx +37 -5
- package/docs-site/zh/tutorials/accept-results.mdx +72 -0
- package/docs-site/zh/tutorials/agent-onboarding.mdx +6 -6
- package/docs-site/zh/tutorials/authoring.mdx +9 -13
- package/docs-site/zh/tutorials/ci-integration.mdx +6 -6
- package/docs-site/zh/tutorials/compare-runs.mdx +61 -0
- package/docs-site/zh/tutorials/concurrency.mdx +13 -12
- package/docs-site/zh/tutorials/configuration.mdx +4 -6
- package/docs-site/zh/tutorials/connect-your-agent.mdx +1 -1
- package/docs-site/zh/tutorials/control-run-cost.mdx +58 -0
- package/docs-site/zh/tutorials/criteria-files.mdx +2 -2
- package/docs-site/zh/tutorials/custom-reports.mdx +2 -2
- package/docs-site/zh/tutorials/debug-lifecycle-plan.mdx +46 -0
- package/docs-site/zh/tutorials/docker-in-docker.mdx +52 -43
- package/docs-site/zh/tutorials/eval-groups.mdx +6 -6
- package/docs-site/zh/tutorials/evaluation-kinds.mdx +3 -3
- package/docs-site/zh/tutorials/experiments.mdx +2 -3
- package/docs-site/zh/tutorials/handle-execution-failures.mdx +18 -10
- package/docs-site/zh/tutorials/install-custom-sandbox-agent.mdx +16 -8
- package/docs-site/zh/tutorials/nixos-managed-dind.mdx +160 -0
- package/docs-site/zh/tutorials/plugins.mdx +14 -0
- package/docs-site/zh/tutorials/rerun-and-cache.mdx +4 -2
- package/docs-site/zh/tutorials/sandbox-agent.mdx +17 -11
- package/docs-site/zh/tutorials/sandbox-providers.mdx +17 -13
- package/docs-site/zh/tutorials/sandbox-reuse.mdx +12 -19
- package/docs-site/zh/tutorials/select-and-preview.mdx +65 -0
- package/docs-site/zh/tutorials/verify-judge.mdx +78 -0
- package/docs-site/zh/tutorials/viewing-results.mdx +38 -1
- package/docs-site/zh/tutorials/write-experiment.mdx +7 -5
- package/docs-site/zh/tutorials/write-send.mdx +9 -8
- package/package.json +9 -5
- package/dist/report/built-in/overview.cjs +0 -44
- package/dist/report/built-in/overview.cjs.map +0 -1
- package/dist/report/built-in/overview.d.cts +0 -6
- package/dist/report/built-in/overview.d.mts +0 -6
- package/dist/report/built-in/overview.d.ts +0 -6
- package/dist/report/built-in/overview.js +0 -9
- package/dist/report/built-in/overview.js.map +0 -1
- package/dist/runner/gate-lease.cjs +0 -283
- package/dist/runner/gate-lease.cjs.map +0 -1
- package/dist/runner/gate-lease.d.cts +0 -62
- package/dist/runner/gate-lease.d.mts +0 -62
- package/dist/runner/gate-lease.d.ts +0 -62
- package/dist/runner/gate-lease.js +0 -22
- package/dist/runner/gate-lease.js.map +0 -1
package/dist/i18n/en.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en.js","sourceRoot":"","sources":["en.ts"],"names":[],"mappings":"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","sourcesContent":["export const en = {\n \"agent.installFailed\": \"Install failed: {{key}}\\n{{tail}}\",\n \"agent.unknown\": \"Unknown agent \\\"{{name}}\\\". Registered agents: {{known}}.\",\n \"agent.diagnose.exitCode\": \"agent run exited with code {{code}}\",\n \"agent.diagnose.lastError\": \"last error: {{message}}\",\n \"agent.diagnose.noTranscript\": \"transcript was not generated\",\n \"agent.diagnose.outputTail\": \"output tail:\\n{{tail}}\",\n \"agent.diagnose.zeroEvents\": \"transcript exists but contains 0 events\",\n \"agent.ensure.identityMissingAgent\": \"AgentProvisioner.identity.agent must not be empty.\",\n \"agent.ensure.identityMissingRevision\": \"AgentProvisioner.identity.revision must not be empty (agent={{agent}}).\",\n \"agent.ensure.unstableVersion\": \"AgentProvisioner.identity.version must be an exact pin, not \\\"{{version}}\\\" (agent={{agent}}). Unpinned installs cannot participate in carry.\",\n \"agent.ensure.stagedNeedsPrepare\": \"A staged AgentProvisioner ({{agent}}) must provide prepare() to materialize a locked artifact outside the task network.\",\n \"agent.ensure.verifyOnlyHasPrepare\": \"verifyOnly mode never installs; AgentProvisioner ({{agent}}) must not also provide prepare().\",\n \"agent.ensure.prepareWrongMode\": \"prepare() is only valid for staged mode (agent={{agent}}, mode={{mode}}).\",\n \"agent.ensure.artifactMissingDigest\": \"staged artifact is missing digest (agent={{agent}}).\",\n \"agent.ensure.stagedMissingArtifact\": \"staged install is missing a prepared artifact (agent={{agent}}). The runner should prepare at Run scope, or ensure via the coordinator.\",\n \"agent.ensure.failed\": \"Agent Ensure failed (agent={{agent}}, phase={{phase}}): expected {{expected}}, actual {{actual}}. {{detail}}\\nNext: {{next}}\",\n \"agent.ensure.nextVerifyOnly\": \"Preinstall a matching Agent, or switch to a staged / sandbox-network provisioner.\",\n \"agent.ensure.nextInstallerMissing\": \"Use a prebuilt environment with this exact Agent identity, or install it explicitly in the Experiment layer with installTool().\",\n \"agent.ensure.nextRecheck\": \"Fix the install prefix, PATH, and exact version, then rerun; do not hand a broken environment to the task.\",\n \"agent.ensure.missingBin\": \"Command {{bin}} not found. {{tail}}\",\n \"agent.ensure.versionUnparseable\": \"Could not parse a version from `{{bin}} --version`: {{stdout}}\",\n \"agent.ensure.versionMismatch\": \"{{bin}} version mismatch: expected {{expected}}, actual {{actual}}.\",\n \"agent.ensure.digestMismatch\": \"staged artifact digest mismatch (agent={{agent}}): expected {{expected}}, actual {{actual}}.\",\n \"agent.ensure.npmPackFailed\": \"Host npm pack {{packageName}}@{{version}} failed:\\n{{tail}}\",\n \"agent.ensure.npmPackEmpty\": \"Host npm pack {{packageName}}@{{version}} produced no .tgz (dir {{dest}}).\",\n \"agent.ensure.npmInstallFailed\": \"In-sandbox install of {{agent}} from staged tarball failed:\\n{{tail}}\",\n \"agent.ensure.platformDetectFailed\": \"Could not detect the target platform from the main Sandbox (uname / ldd): {{tail}}\",\n \"agent.ensure.selfContainedInstallFailed\": \"Unpacking the {{agent}} self-contained package inside the sandbox failed (needs tar + gzip):\\n{{tail}}\",\n \"agent.ensure.npmMissingInSandbox\": \"The sandbox has no npm, and {{agent}} only publishes a Node-dependent npm package for this platform. When the task image ships no Node toolchain, publish a self-contained native package for that platform or supply a custom provisioner.\",\n \"agent.ensure.homeDetectFailed\": \"Could not detect sandbox $HOME; staged install needs to expand the user prefix.\",\n \"bub.homeDetectFailed\": \"Failed to detect sandbox $HOME (empty output from `printf $HOME`). Refusing to fall back to a provider-specific path; check the sandbox provider.\",\n \"bub.checkpointCaptureFailed\": \"bub checkpoint cache backfill failed (this sandbox is unaffected; later sandboxes will reinstall): {{error}}\",\n \"bub.checkpointRestoreFailed\": \"bub checkpoint restore failed, falling back to a full install: {{error}}\",\n \"bub.installFailed\": \"bub install failed after {{attempts}} attempts:\\n{{tail}}\",\n \"bub.setupNotRun\": \"bub adapter setup() has not run in this sandbox (missing home/workspace info). The runner must call setup before send.\",\n \"e2b.listNextItemsNotArray\": \"e2b Sandbox.list() paginator nextItems() returned a non-array ({{type}}), not the SandboxInfo[] promised by the SDK type contract\",\n \"checkpoint.emptyTar\": \"checkpoint: tar is empty (paths: {{paths}})\",\n \"checkpoint.archiveFailed\": \"checkpoint archive failed (exit {{exitCode}}): {{detail}}\",\n \"checkpoint.restoreFailed\": \"checkpoint restore failed (exit {{exitCode}}): {{detail}}\",\n \"skill.localMissing\": \"Local skill path \\\"{{path}}\\\" does not exist (resolved to {{resolved}}). Paths are resolved from the project root you run niceeval in.\",\n \"skill.localDirNoSkillFile\": \"Local skill directory \\\"{{path}}\\\" has no SKILL.md. A directory-shaped skill must contain SKILL.md at its root.\",\n \"skill.localUnsupportedShape\": \"Local skill path \\\"{{path}}\\\" has an unsupported shape. Accepted: a directory containing SKILL.md, or a single .md file.\",\n \"skill.repoCloneFailed\": \"Could not fetch repo skill {{source}} (ref: {{ref}}):\\n{{tail}}\",\n \"skill.repoNoSkills\": \"Repo skill {{source}} contains no SKILL.md.\",\n \"skill.repoAmbiguous\": \"Repo skill {{source}} contains multiple skills; select which ones to enable with `skills: [...]`. Available: {{available}}.\",\n \"skill.repoUnknownSkill\": \"Repo skill {{source}} (ref: {{ref}}) has no skill named \\\"{{skill}}\\\". Available: {{available}}.\",\n \"skill.copyFailed\": \"Could not install skill \\\"{{name}}\\\" into {{dest}}:\\n{{tail}}\",\n \"mcp.ambiguousTransport\": \"MCP server \\\"{{name}}\\\" specifies both \\\"command\\\" and \\\"url\\\" — pick one transport: \\\"command\\\" for a local stdio server, \\\"url\\\" for a remote Streamable HTTP endpoint.\",\n \"plugin.marketplaceFailed\": \"Could not connect {{agent}} marketplace \\\"{{name}}\\\" (source: {{source}}, ref: {{ref}}):\\n{{tail}}\",\n \"plugin.marketplaceVerifyFailed\": \"Could not read back the registered marketplace list after adding {{agent}} marketplace \\\"{{name}}\\\" ({{command}}):\\n{{tail}}\",\n \"plugin.marketplaceNameMismatch\": \"{{agent}} marketplace name mismatch: the configured name \\\"{{expected}}\\\" (source: {{source}}) is not in the registered list after add; actually registered: {{actual}}. \" +\n \"marketplace.name must equal the name declared in the target repo's manifest — use the real name.\",\n \"plugin.installFailed\": \"Could not install {{agent}} plugin \\\"{{name}}\\\" (marketplace: {{marketplace}}):\\n{{tail}}\",\n \"plugin.listFailed\": \"Could not read the installed {{agent}} plugin list ({{command}}):\\n{{tail}}\",\n \"plugin.removeFailed\": \"Could not remove the same-named installed {{agent}} plugin \\\"{{name}}\\\":\\n{{tail}}\\n\" +\n \"Installation converges the sandbox to the declaration: a leftover install under the same name is removed first, then reinstalled from the declared marketplace.\",\n \"nativeConfig.pathNotProjectRelative\": \"{{agent}} {{field}} only accepts relative paths inside the project root, got \\\"{{path}}\\\". Absolute paths, `..` segments and `~` paths are rejected; copy configs from outside the project into it first.\",\n \"nativeConfig.missing\": \"{{agent}} {{field}} points to a missing file: \\\"{{path}}\\\" (resolved to {{resolved}}). Paths resolve from the project root you run niceeval in (the directory containing niceeval.config.ts), not from eval / experiment source files.\",\n \"nativeConfig.escapesRoot\": \"{{agent}} {{field}} \\\"{{path}}\\\" resolves through a symlink to outside the project root ({{resolved}}). The config file must physically live inside the project root.\",\n \"nativeConfig.notFile\": \"{{agent}} {{field}} \\\"{{path}}\\\" is not a regular file. Point it at a complete official config file.\",\n \"nativeConfig.invalidSyntax\": \"{{agent}} {{field}} \\\"{{path}}\\\" is not valid {{format}}: {{detail}}\",\n \"nativeConfig.reservedKeys\": \"{{agent}} {{field}} \\\"{{path}}\\\" contains reserved keys: {{keys}}. These keys are owned by the experiment and the Adapter (model, auth, MCP and OTel are layered separately) — remove them from the file.\",\n \"nativeConfig.uploadFailed\": \"Could not upload native config file \\\"{{path}}\\\" into the sandbox ({{dest}}):\\n{{tail}}\",\n \"cli.all\": \"(all)\",\n \"cli.browserOpenFailed\": \"Could not open the browser automatically. Open manually: {{url}}\\n\",\n \"cli.clean.done\": \"Deleted .niceeval/ historical run artifacts.\\n\",\n \"cli.config.missing\": \"Could not find niceeval.config.ts.\\n\" +\n \"Ways to fix:\\n\" +\n \" - [init] Run `npx niceeval init` to scaffold niceeval.config.ts and evals/\\n\" +\n \" - [cd] Run from the project root that contains niceeval.config.ts\\n\" +\n \" Docs: node_modules/niceeval/docs-site/zh/tutorials/quickstart.mdx\",\n \"cli.config.noDefault\": \"niceeval.config.ts must default export defineConfig(...).\",\n \"cli.dry.header\": \"plan: {{attempts}} · {{evals}} × {{configs}} · attempts {{attemptCount}}\",\n \"cli.dry.unit.attempt\": \"attempt\",\n \"cli.dry.unit.attempts\": \"attempts\",\n \"cli.dry.unit.eval\": \"eval\",\n \"cli.dry.unit.evals\": \"evals\",\n \"cli.dry.unit.config\": \"config\",\n \"cli.dry.unit.configs\": \"configs\",\n \"cli.dry.affects\": \"affects {{evals}} · {{ids}}\",\n \"cli.dry.acceptHint\": \"accept: {{command}}\",\n \"cli.debug.usage\": \"error: niceeval debug expects exactly one Experiment selector and one Eval selector\\n\" +\n \" fix: niceeval debug <experiment> <eval> [--json]\\n\",\n \"cli.debug.flagUnsupported\": \"error: {{flag}} is not valid with niceeval debug\\n\" +\n \" fix: pass only <experiment> <eval>, optionally --json\\n\",\n \"cli.debug.experimentNoMatch\": \"error: Experiment selector \\\"{{selector}}\\\" matched nothing\\n\" +\n \" exact candidates: {{candidates}}\\n\",\n \"cli.debug.experimentAmbiguous\": \"error: Experiment selector \\\"{{selector}}\\\" is ambiguous\\n\" +\n \" exact candidates: {{candidates}}\\n\",\n \"cli.debug.evalNoMatch\": \"error: Eval selector \\\"{{selector}}\\\" matched nothing in Experiment \\\"{{experimentId}}\\\"\\n\" +\n \" exact candidates: {{candidates}}\\n\",\n \"cli.debug.evalAmbiguous\": \"error: Eval selector \\\"{{selector}}\\\" is ambiguous in Experiment \\\"{{experimentId}}\\\"\\n\" +\n \" exact candidates: {{candidates}}\\n\",\n \"cli.accept.choiceHeader\": \"previous-result {{selector}}{{change}} ({{evals}} evals)\\n\",\n \"cli.accept.prompt\": \" reuse these results? [y/N] \",\n \"cli.accept.nothingToAccept\": \"No difference in this plan can be accepted (nothing is blocked by the fingerprint gate).\\n\" +\n \"Running as planned.\\n\",\n \"cli.accept.equivalent\": \"equivalent command: {{command}}\\n\",\n \"cli.accept.noneChosen\": \"Nothing accepted; running as planned.\\n\",\n \"cli.accept.usage\": \"error: niceeval accept expects one or more locators in the form @<locator>...\\n\" +\n \" fix: copy an explicit locator from `niceeval exp --dry`, then run `niceeval accept @<locator>...`\\n\",\n \"cli.accept.flagUnsupported\": \"error: {{flag}} is not valid with niceeval accept\\n\" +\n \" fix: pass only @<locator> (and optionally --record <dir>)\\n\",\n \"cli.accept.failed\": \"error: could not accept result: {{error}}\\n\",\n \"cli.accept.done\": \"Accepted source Attempt {{sourceLocator}} into new Run {{runId}}. Result locator remains {{locator}}. Current fingerprint: {{fingerprint}}\\n\",\n \"cli.rename.usage\": \"error: niceeval exp rename expects exactly two arguments: an old id and a new id\\n\" +\n \" fix: niceeval exp rename <oldId> <newId> [--dry] [--json]\\n\",\n \"cli.rename.flagUnsupported\": \"error: {{flag}} is not valid with niceeval exp rename\\n\" +\n \" fix: pass only <oldId> <newId>, optionally --dry / --json\\n\",\n \"cli.rename.previewHeader\": \"exp rename preview: {{oldId}} -> {{newId}}\\n\",\n \"cli.rename.blocked\": \" blocked (nothing will be written): {{reason}}\\n\",\n \"cli.rename.migratingHeader\": \" {{count}} terminal results will migrate:\\n\",\n \"cli.rename.migratingRow\": \" {{evalId}} {{sourceLocator}} -> {{newId}}\\n\",\n \"cli.rename.excludedHeader\": \" {{count}} excluded (not migrated, does not block):\\n\",\n \"cli.rename.excludedRow\": \" {{evalId}} {{reason}}\\n\",\n \"cli.rename.doneHeader\": \"exp rename done: rebound {{count}} terminal results from {{oldId}} to {{newId}}.\\n\",\n \"cli.rename.snapshotPath\": \" new snapshot: {{path}}\\n\",\n \"cli.rename.doneRow\": \" {{evalId}} {{sourceLocator}} -> {{locator}}\\n\",\n \"cli.rename.error.sourceEmpty\": \"error: {{oldId}} has no readable terminal history to migrate to {{newId}}.\\n\" +\n \" fix: restore and verify {{oldId}}'s real results before retrying; with no old results, run `niceeval exp {{newId}}` and do not rename.\\n\" +\n \" exp rename does not move experiment source, nor delete or rewrite the old result tree.\\n\",\n \"cli.rename.error.targetNotFound\": \"error: new id \\\"{{newId}}\\\" is not discovered under this project's experiments/.\\n\" +\n \" fix: create or rename the experiment in experiments/ first (e.g. `git mv experiments/{{oldId}}.ts experiments/{{newId}}.ts`), then rerun.\\n\",\n \"cli.rename.error.targetHasResults\": \"error: {{newId}} already has terminal results for these evals; rename never overwrites existing results.\\n\" +\n \" fix: keep the target results, or explicitly clean the target history and re-preview; the command deletes nothing itself.\\n\",\n \"cli.rename.error.sourceUnreadable\": \"error: the Record for {{oldId}} is unreadable; cannot migrate to {{newId}}.\\n\" +\n \" fix: view this record with a niceeval version that reads its schemaVersion.\\n\",\n \"cli.rename.error.artifactUnavailable\": \"error: source evidence cannot be preserved ({{evalId}}); nothing will be written.\\n\" +\n \" fix: make the artifact reference and source locator readable, or rerun this eval.\\n\",\n \"cli.rename.error.nothingToMigrate\": \"error: nothing to migrate under {{oldId}}: no terminal passed/failed still selected by {{newId}}, or all excluded.\\n\" +\n \" fix: check that {{newId}}'s evals selector covers the old experiment's results.\\n\",\n \"cli.rename.conflicting\": \" conflicting evals: {{evals}}\\n\",\n \"cli.rename.failed\": \"error: exp rename failed: {{error}}\\n\",\n \"cli.error\": \"niceeval error: {{error}}\\n\",\n \"cli.flag.acceptNeedsSelector\": \"error: --accept needs a selector, for example --accept config:judge.model\\n\" +\n \" fix: run `niceeval exp <selection> --dry` first; every `previous-result` line prints the selectors it can accept, copy one verbatim\\n\" +\n \" differences you can accept in this plan: {{available}}\\n\",\n \"cli.flag.acceptWithRerunAll\": \"--accept cannot be combined with --rerun all: one says trust nothing from cache, the other says trust this difference anyway.\\n\" +\n \"Drop --rerun all to accept the difference, or drop --accept to rerun everything.\\n\",\n \"cli.flag.acceptNoSuchDifference\": \"No such difference in this plan: {{selectors}}.\\n\" +\n \"Differences you can accept here: {{available}}.\\n\" +\n \"Run `niceeval exp <selection> --dry` to see which entries each one blocks.\\n\",\n \"cli.flag.invalidNumber\": \"Flag --{{flag}} expects a number, got \\\"{{value}}\\\".\\n\",\n \"cli.flag.outputRemoved\": \"error: unknown option '--output'\\n fix: run without a flag for human text; use --json for the machine feed\\n\",\n \"cli.flag.strictRemoved\": \"Unknown option: --strict\\nExpress required facts with t.check(...) or await t.require(...) in the Eval source.\\n\",\n \"runner.budgetUnenforceable\": \"budget for {{budgetKey}}: several attempts completed without any cost data (agent reports no usage and the model is not in the price table) — the budget cannot be enforced for this agent; continuing without the guard.\\n\",\n \"runner.experimentTeardownFailed\": \"teardown for experiment {{experimentId}} failed: {{message}}. Record are unaffected, but host-side resources started by this experiment may not have been released; check manually.\\n\",\n \"runner.cleanupTimeout\": \"cleanup timed out after {{timeoutMs}}ms\\n\",\n \"runner.setupReturnedCleanup\": \"{{layer}} returned a function. setup does not carry cleanup and the returned value will not be executed — put the cleanup in the paired teardown of the same layer ({{hint}}); see the experiments tutorial on docs-site or docs/runner.md.\\n\",\n \"runner.experimentTeardownLate\": \"experiment {{experimentId}}'s teardown was not triggered by the normal countdown path; it has been executed by the end-of-run sweep instead. Record are unaffected; seeing this line means an unlocated intermittent scheduling issue fired — please record this run in the memory ledger.\\n\",\n \"runner.teardownRegistrationWriteFailed\": \"writing the crash-recovery teardown registration for experiment {{experimentId}} failed: {{message}}. The run continues normally, but a SIGKILL during this run cannot be recovered via `niceeval exp --teardown` or the startup self-heal — check disk space/permissions under .niceeval/teardowns/.\\n\",\n \"runner.coordinationRecovered\": \"recovered expired coordination state for {{experimentId}}; this run continues. Further recoveries are summarized at completion.\\n\",\n \"runner.gateLeaseWaiting\": \"waiting on another run for experiment {{experimentId}}'s concurrency slots: all {{effectiveN}} in use ({{holders}}). Concurrent runs share this experiment's slots, and the smallest maxConcurrency in play wins — this run declared {{declaredN}}. This run will dispatch when a slot is released or its owner's heartbeat expires.\\n\",\n \"runner.dispatchHaltedExperiment\": \"experiment halted (dispatch-halted): {{message}}\\n\",\n \"runner.dispatchHaltedEval\": \"eval halted: {{message}}\\n\",\n \"judge.modelMissing\": \"No judge model configured. Set it in the Experiment, Eval, or defineConfig judge config (there is no built-in default model, and no environment variable for it).\\n\" +\n \" Docs: node_modules/niceeval/docs-site/zh/tutorials/evaluation-kinds.mdx\",\n \"loaders.yamlMissing\": \"loadYaml(\\\"{{path}}\\\") needs a YAML parser: run `pnpm add yaml` first (or switch to loadJson with a JSON dataset).\",\n \"loaders.criteriaNoMatch\": \"These loadCriteria patterns matched no files (or everything they matched was excluded by a later `!` pattern): {{patterns}}. They are most likely misspelled, or the criteria files moved — patterns expand from the project root {{root}}, not from the eval file's directory. Check these against the real paths on disk, and drop the pattern if it is no longer needed; the other patterns having matches is no excuse, because letting this pass silently narrows the criteria, and narrowed criteria let an eval that should re-run keep carrying its old verdict.\",\n \"loaders.criteriaOutsideRoot\": \"loadCriteria matched \\\"{{path}}\\\", which lands outside the project root (it resolves to {{resolved}}): a criteria file's project-root-relative path is its fingerprint key, and that key stops being stable once it points out of the root. Move the tree (or the symlink's target) inside the project root {{root}}, or exclude that link with a `!` pattern.\",\n \"loaders.privateNoMatch\": \"These loadPrivate patterns matched no files (or everything they matched was excluded by a later `!` pattern): {{patterns}}. They are most likely misspelled, or the private files moved — patterns expand from the project root {{root}}, not from the eval file's directory. Check these against the real paths on disk; letting this pass silently would drop hidden inputs from the leak gate and the fingerprint.\",\n \"loaders.outsideDiscovery\": \"Read of \\\"{{path}}\\\" happened outside discovery: loaders may only be called at the module top level of an eval file (while discovery evaluates that module), which is the only point early enough for the file's content to enter this eval's fingerprint. Move the read to the module top level and keep the result in a constant that test(t) uses; loaders cannot be called at run time from test(t) or from lifecycle hooks.\",\n \"loaders.nonFileUrl\": \"A URL passed to a loader must use the file: protocol, but got {{protocol}} ({{url}}). Pass new URL(relativePath, import.meta.url) instead, or use a plain project-root-relative string path.\",\n \"cli.flag.parseError\": \"{{message}}\\nRun `niceeval --help` for usage.\\n\",\n \"cli.command.unknown\": \"Unknown command \\\"{{command}}\\\".\\nRun `niceeval --help` for usage.\\n\",\n \"cli.help\": \"niceeval — agent-native evals\\n\\n\" +\n \"Usage:\\n\" +\n \" niceeval exp [path|experiment] [eval-id-prefix…] run experiments\\n\" +\n \" niceeval exp list [experiment-prefix] list runnable configs (no dispatch)\\n\" +\n \" niceeval exp rename <oldId> <newId> rebind terminal results from old to new id\\n\" +\n \" --dry preview without writing; --record <root> select the actual Record root; --json one JSON document\\n\" +\n \" --teardown recover a killed run: run only the selected experiments'\\n\" +\n \" teardown (no attempts, no setup); combining it with eval id prefixes is an error\\n\" +\n \" niceeval debug <experiment> <eval> [--json] show the lifecycle command plan\\n\" +\n \" niceeval accept @<locator>... accept explicit historical results\\n\" +\n \" niceeval show [--run <run-id>...] render a Report in the terminal\\n\" +\n \" by default, show reads all results matching the current project identities;\\n\" +\n \" --experiment <id> is repeatable and narrows that current target\\n\" +\n \" --run <run-id> is repeatable and audits complete historical ids only\\n\" +\n \" --record <root> selects the actual Record root (default: .niceeval/record)\\n\" +\n \" --report overview (or omit it) uses the built-in overview; --page <route>\\n\" +\n \" selects an exact Report route; --json emits one Report show document\\n\" +\n \" niceeval list list discovered evals\\n\" +\n \" niceeval session list [--all] [experiment-prefix] query Sessions (read-only)\\n\" +\n \" niceeval session show <sessionId> show one Session (read-only)\\n\" +\n \" niceeval view [--run <run-id>...] [--out dir] [--port n] [--no-open]\\n\" +\n \" uses the same Record selection and built-in overview as show; live mode\\n\" +\n \" binds loopback only and rebuilds fixed ReportExecutions on Record changes\\n\" +\n \" --out <dir> exports one completed static site and starts no server\\n\" +\n \" niceeval sandbox list|enter|history|diff|stop inspect & destroy sandboxes kept by --keep-sandbox\\n\" +\n \" niceeval sandbox list --orphans / prune reclaim instances orphaned by a killed run\\n\" +\n \" niceeval clean delete .niceeval/ artifacts\\n\" +\n \" niceeval init scaffold config + evals/\\n\\n\" +\n \"Flags:\\n\" +\n \" --attempts n --max-concurrency n --max-build-concurrency n --timeout ms\\n\" +\n \" --budget usd --tag t\\n\" +\n \" --early-exit / --no-early-exit --rerun[=failed|all] --dry\\n\" +\n \" --json (command-specific JSON; exp runs use NDJSON; default is human text)\\n\" +\n \" --junit path --out dir --port n --open / --no-open -h, --help -v, --version\\n\\n\" +\n \"Positional args only select which evals to run (id prefixes); which agent and\\n\" +\n \"how to run come from experiments/ + flags. Resolution: flag > experiment >\\n\" +\n \"eval (timeoutMs / judge only) > niceeval.config.ts > built-in default, where\\n\" +\n \"config is the fallback floor, not an override; --timeout has no built-in default —\\n\" +\n \"with none of the four set, an attempt has no deadline. Configuration has no environment layer;\\n\" +\n \"environment variables hold credentials such as API keys.\\n\",\n \"cli.show.noResults\": \"No results found under {{root}}. Run `niceeval exp` first, then `niceeval show`.\\n\",\n \"cli.show.runDirMissing\": \"Record directory not found: {{dir}}\\n\",\n \"cli.show.noEvalMatch\": \"No results matched: {{pattern}}. Evals with results: {{evals}}\\n\",\n \"cli.show.noExperimentMatch\": \"No experiment matched --exp {{arg}}. Experiments with results: {{experiments}}\\n\",\n \"cli.show.expAmbiguous\": \"error: --exp {{arg}} matched {{matched}} experiments: {{candidates}}\\n fix: use one of the exact ids above, or a longer prefix — each --exp in a compare must resolve to exactly one experiment\\n\",\n \"cli.show.locatorExpConflict\": \"error: {{locator}} cannot combine with repeated --exp ({{exp}})\\n fix: drop the extra --exp flags — a locator already pins one attempt to one experiment; for a multi-condition comparison, drop the locator and use eval id prefixes with --exp instead\\n\",\n \"cli.show.statsLocatorConflict\": \"error: --stats cannot combine with a locator ({{locator}}) — a single attempt has no stability to measure\\n fix: drop the locator and use eval id prefixes / --exp to select a range for --stats\\n\",\n \"cli.show.statsReportConflict\": \"error: --stats cannot combine with --report ({{report}}) — --stats is a zero-config slice, it does not render a user report tree\\n fix: drop --report to use --stats, or drop --stats and put a StabilityMatrix in your own report file\\n\",\n \"cli.show.grepExecutionOnly\": \"error: --grep only combines with --execution — it narrows that block's text rendering, not a slice of its own\\n fix: add --execution, or drop --grep\\n\",\n \"cli.show.grepInvalidPattern\": \"error: --grep pattern is not a valid JS regular expression: \\\"{{pattern}}\\\" ({{message}})\\n fix: fix the pattern syntax (it is passed to `new RegExp(...)`)\\n\",\n \"cli.show.historyReportConflict\": \"`--history` and `--report` are mutually exclusive: both take over the main output. --history is the host's per-attempt execution timeline; for run-level trends, compose exp.runs inside your report file instead.\\n\",\n \"cli.show.jsonReportConflict\": \"error: --json cannot combine with --report ({{report}}) — a report tree says how to look at the data, --json says what the data is\\n fix: drop --report to use --json, or drop --json and read the report tree as text/HTML\\n\",\n \"cli.show.jsonMultiEvidenceConflict\": \"error: --json requires exactly one of --source/--execution/--timing/--diff at a time — the envelope's \\\"view\\\" is a single value, there is no combined shape for more than one\\n fix: drop the extra evidence flags, or make one --json call per flag\\n\",\n \"cli.show.locatorMalformed\": \"{{message}}\\n\",\n \"cli.show.locatorNotFound\": \"{{message}}\\n\",\n \"cli.show.locatorAmbiguous\": \"{{message}}\\n\",\n \"cli.eval.noMatch\": \"No eval matched: {{patterns}}.\\n\",\n \"cli.eval.noMatchHintExperiment\": \"Hint: \\\"{{pattern}}\\\" is an experiment{{kind}}; you probably meant: niceeval exp {{pattern}}\\n\",\n \"cli.eval.noMatchKnown\": \"Discovered {{count}} evals: {{evals}}\\n\",\n \"cli.exp.agentModelFlagUnsupported\": \"experiment runs do not support --agent / --model. Add or copy an experiment file and change its model instead.\\n\",\n \"cli.exp.forceUnsupported\": \"experiment runs do not support --force; use --rerun all.\\n\",\n \"cli.check.recordUnsupported\": \"`--record` only applies to niceeval exp, not niceeval check.\\n\",\n \"cli.exp.viewerFlagUnsupported\": \"`{{flag}}` only applies to niceeval {{command}}, not niceeval exp.\\n\",\n \"cli.exp.teardownNoEvalPatterns\": \"--teardown selects experiments only; it does not run any eval, so eval id patterns are not allowed with it. Use `niceeval exp <experiment path> --teardown`.\\n\",\n \"cli.exp.teardownDone\": \"teardown done: {{experimentId}}\\n\",\n \"cli.exp.teardownFailed\": \"teardown failed: {{experimentId}}: {{message}}\\n\",\n \"cli.experiment.noMatch\": \"No experiment matched: {{arg}}. Available paths: {{experiments}}.\\n\" +\n \"Run `niceeval exp <path> --dry` to preview a plan.\\n\",\n \"cli.experiment.viewerCommandHint\": \"Did you mean: niceeval {{command}}{{args}}\\n\",\n \"cli.experiment.noEvalPrefixMatch\": \"No eval matched prefix: {{pattern}} in experiments selected by {{selection}}.\\n\" +\n \"Positional args after the first select eval id prefixes. To run another experiment,\\n\" +\n \"run it as its own command: niceeval exp {{pattern}}\\n\",\n \"cli.experiment.noEvalsSelected\": \"No evals selected: {{selection}} matched 0 evals. Available eval prefixes: {{experiments}}.\\n\" +\n \"Run `niceeval exp {{selection}} --dry` to see what it covers, or drop the eval filter to run every eval selected by those experiments.\\n\",\n \"cli.experimentGroup\": \" path\",\n \"cli.fallbackCleanupTimeout\": \"\\ngraceful cleanup timed out; force-cleaning sandboxes...\\n\",\n \"cli.forceCleanupExit\": \"\\nForce-cleaning sandboxes and exiting...\\n\",\n \"cli.init.done\": \"Ready: evals/, niceeval.config.ts, and the niceeval agent-rules block in AGENTS.md (tells coding agents to read the bundled docs before writing evals).\\n\",\n \"cli.init.esmHint\": \"tip: this project's package.json has no \\\"type\\\": \\\"module\\\". niceeval runs either way, but CommonJS mode disallows top-level await in config/eval files — add \\\"type\\\": \\\"module\\\" to package.json for the smoothest path.\\n\",\n \"cli.interruptCleanup\": \"\\nInterrupted; cleaning up sandbox containers... (press again to force cleanup and exit)\\n\",\n \"cli.list.header\": \"Discovered {{count}} evals:\\n\",\n \"cli.noAgent\": \"No agent specified (use --agent <name>).\\n\",\n \"cli.none\": \"(none)\",\n \"cli.pressCtrlC\": \"Press Ctrl+C to exit.\\n\",\n \"cli.resultsPath\": \"Structured results: {{path}} (run.json + per-attempt result.json / events.json / trace.json / diff.json)\\n\",\n \"cli.run.experimentRequired\": \"Run evals through an experiment: use `niceeval exp [path|config] [eval id prefix]`.\\n\" +\n \" Docs: node_modules/niceeval/docs-site/zh/tutorials/write-experiment.mdx\\n\",\n \"cli.run.experimentRequiredHint\": \"Hint: \\\"{{pattern}}\\\" is an experiment{{kind}}; you probably meant: niceeval exp {{pattern}}\\n\",\n \"cli.run.experimentRequiredKnown\": \"Discovered experiments: {{experiments}}\\n\",\n \"cli.view.exportedDir\": \"Exported static report site: {{out}} (serve the whole directory with any static host; opening index.html via file:// cannot fetch artifacts)\\n\",\n \"cli.view.hotReloadComplete\": \"{{time}} [niceeval view] hot reload complete\\n\",\n \"cli.view.incompatible\": \"{{dir}}: written by niceeval {{producer}} (schemaVersion {{schemaVersion}}); this CLI reads schemaVersion {{supported}}.\\nRun `{{command}}` to view it.\\n\",\n \"cli.view.noResults\": \"No results found under {{root}}. Run `niceeval exp` first, then `niceeval view`.\\n\",\n \"cli.view.incompatibleForeign\": \"{{dir}}: written by {{name}} {{version}} (schemaVersion {{schemaVersion}}); this CLI reads schemaVersion {{supported}}.\\nOpen this report with the tool that produced it.\\n\",\n \"cli.view.urls\": \"niceeval view — open in a browser:\\n{{urls}}\\n\",\n \"codex.envPathManaged\": \"codexAgent config.env.PATH is not supported: PATH is a Sandbox-managed variable, so silently dropping or overriding it would break hooks and child processes without any error. \" +\n \"Prepend directories to it with the Sandbox factory's pathPrepend option instead (see docs/feature/sandbox/library.md).\",\n \"context.capabilityMissing\": \"Agent \\\"{{agent}}\\\" is not sandbox-backed (built with defineSandboxAgent), so t.{{method}} is unavailable. Use an agent built with defineSandboxAgent, or drop this assertion.\\n\" +\n \" Docs: node_modules/niceeval/docs-site/zh/tutorials/sandbox-agent.mdx\",\n \"context.skipEmpty\": \"skip() requires a non-empty reason.\",\n \"define.agentNameRequired\": \"defineAgent requires name.\",\n \"define.evalIdRejected\": \"defineEval does not accept id; ids are derived from file paths.\",\n \"define.evalEnvironmentEmpty\": \"defineEval environment must be a non-empty profile id when provided.\",\n \"define.evalTestRequired\": \"defineEval requires an async test(t) function.\",\n \"define.evalEvaluationKindRejected\": \"defineEval does not accept evaluationKind; it is always set to \\\"pass\\\" (pass eval kind). Use defineScoreEval for the score kind.\",\n \"define.evalConfigHashRejected\": \"defineEval does not accept configHash; configHash is computed during run planning.\",\n \"define.scoreEvalIdRejected\": \"defineScoreEval does not accept id; ids are derived from file paths.\",\n \"define.scoreEvalEnvironmentEmpty\": \"defineScoreEval environment must be a non-empty profile id when provided.\",\n \"define.scoreEvalTestRequired\": \"defineScoreEval requires an async test(t) function.\",\n \"define.scoreEvalEvaluationKindRejected\": \"defineScoreEval does not accept evaluationKind; it is always set to \\\"score\\\" (score eval kind). Use defineEval for the pass kind.\",\n \"define.scoreEvalConfigHashRejected\": \"defineScoreEval does not accept configHash; configHash is computed during run planning.\",\n \"define.experimentAgentRequired\": \"defineExperiment requires agent.\",\n \"define.experimentFlagNotJson\": \"experiment.flags.{{key}} is not JSON-serializable (functions / undefined / cycles / bigint are not allowed); flags are persisted verbatim into result runs and must be plain JSON.\",\n \"define.experimentLabelInvalid\": \"experiment.labels.{{key}} must be a string or a finite number; labels are report-side grouping coordinates persisted verbatim into result runs.\",\n \"define.experimentSetupNotFunction\": \"experiment.setup must be a function ((ctx) => void); use experiment.teardown for cleanup; to prepare the in-sandbox environment per experiment, chain .setup() hooks on the sandbox spec instead.\",\n \"define.experimentClassifyFailureNotFunction\": \"experiment.classifyFailure must be a function ((failure) => FailureClass | undefined); it classifies failures that surface as third-party errors and must return undefined for anything it does not recognize.\",\n \"define.experimentIdRejected\": \"defineExperiment does not accept id; ids are derived from file paths.\",\n \"define.sandboxAgentNameRequired\": \"defineSandboxAgent requires name.\",\n \"define.sandboxAgentEnsureRequired\": \"defineSandboxAgent requires an ensure declaration.\",\n \"define.sandboxCreateRequired\": \"defineSandbox requires a create() function.\",\n \"define.sandboxNameRequired\": \"defineSandbox requires name.\",\n \"docker.commandTimeout\": \"Command timed out after {{timeoutMs}}ms\",\n \"docker.containerNotInitialized\": \"Container not initialized\",\n \"docker.imagePullDone\": \"Docker image ready: {{image}}\",\n \"docker.imagePullStart\": \"Pulling Docker image: {{image}}...\",\n \"docker.readFileFailed\": \"Failed to read file {{path}}: {{stderr}}\",\n \"docker.unsupportedRuntime\": \"Unsupported runtime: {{runtime}}\",\n \"feedback.human.active\": \"ACTIVE\",\n \"feedback.human.budgetExhausted\": \"budget exhausted for {{experimentId}} (spent {{spent}}, unstarted {{unstarted}})\",\n \"feedback.human.compare\": \"Compare: niceeval view\",\n \"feedback.human.counts\": \"{{total}} total · {{reused}} reused · {{running}} running · {{queued}} queued · {{passed}} passed · {{failed}} failed · {{errored}} errored · {{skipped}} skipped\",\n \"feedback.human.diffHint\": \"Diff: niceeval show {{locator}} --diff\",\n \"feedback.human.evalHint\": \"Eval: niceeval show {{locator}} --source\",\n \"feedback.human.exampleLocator\": \"e.g. {{locator}}\",\n \"feedback.human.failuresHeader\": \"FAILURES\",\n \"feedback.human.failuresSoFar\": \"{{count}} so far\",\n \"feedback.human.failuresTotalKinds\": \"{{total}} total · {{kinds}} kinds\",\n \"feedback.human.heartbeat\": \"{{elapsed}} elapsed · {{counts}}\",\n \"feedback.human.inspect\": \"Inspect: niceeval show {{locator}}\",\n \"feedback.human.keptSandboxesHeader\": \"KEPT SANDBOXES\",\n \"feedback.human.moreActive\": \"… {{count}} more active\",\n \"feedback.human.moreFailureKinds\": \"+{{count}} more kinds — niceeval view\",\n \"feedback.human.nextHeader\": \"NEXT\",\n \"feedback.human.plan\": \"{{total}} attempts · {{evals}} evals × {{configs}} configs · concurrency {{concurrency}}\",\n \"feedback.human.planHeader\": \"PLAN\",\n \"feedback.human.resultFailed\": \"FAILED\",\n \"feedback.human.resultIncomplete\": \"INCOMPLETE\",\n \"feedback.human.resultInterrupted\": \"INTERRUPTED\",\n \"feedback.human.resultPassed\": \"PASSED\",\n \"feedback.human.recoveryHeader\": \"RECOVERY\",\n \"feedback.human.coordinationRecoveredSummary\": \"{{slots}} · {{locks}}\",\n \"feedback.human.unit.concurrencySlot\": \"concurrency slot\",\n \"feedback.human.unit.concurrencySlots\": \"concurrency slots\",\n \"feedback.human.unit.caseLock\": \"case lock\",\n \"feedback.human.unit.caseLocks\": \"case locks\",\n \"feedback.human.resultsHeader\": \"RESULTS\",\n \"feedback.human.resultsMore\": \"… {{count}} more\",\n \"feedback.human.reuse\": \"{{reused}} of {{total}} carried in from cache · {{toRun}} to run\",\n \"feedback.human.summaryLine\": \"{{passed}} passed · {{failed}} failed · {{errored}} errored ({{reused}} reused)\",\n \"feedback.human.summaryIncompleteLine\": \"{{passed}} passed · {{failed}} failed · {{errored}} errored · {{unstarted}} unstarted ({{reused}} reused)\",\n \"feedback.human.summaryAllReusedLine\": \"{{passed}} passed · {{failed}} failed · {{errored}} errored (all {{reused}} reused)\",\n \"feedback.human.suppressedFailures\": \"… {{count}} more failures suppressed\",\n \"feedback.human.trace\": \"Trace: niceeval show {{locator}} --execution\",\n \"feedback.human.warningsHeader\": \"WARNINGS\",\n \"feedback.phase.agentSetup\": \"agent setup\",\n \"feedback.phase.agentEnsure\": \"preparing agent\",\n \"feedback.phase.stateLoad\": \"loading experiment state\",\n \"feedback.phase.stateSave\": \"saving experiment state\",\n \"feedback.phase.evalRun\": \"running eval\",\n \"feedback.phase.sandboxCreate\": \"creating sandbox\",\n \"feedback.phase.sandboxQueue\": \"queued for sandbox\",\n \"feedback.phase.experimentSetup\": \"experiment setup\",\n \"feedback.phase.experimentTeardown\": \"experiment teardown\",\n \"feedback.phase.judgePrecheck\": \"judge precheck\",\n \"feedback.human.hookDone\": \"done\",\n \"feedback.human.hookFailed\": \"failed\",\n \"feedback.human.precheckJudge\": \"prechecking judge config\",\n \"feedback.human.precheckJudgeDone\": \"judge config ok\",\n \"feedback.human.precheckJudgeFailed\": \"judge precheck failed\",\n \"feedback.human.planExperimentConcurrency\": \"{{experimentId}} ≤{{limit}}\",\n \"feedback.human.countsWithElsewhere\": \"{{total}} total · {{reused}} reused · {{running}} running · {{elsewhere}} elsewhere · {{queued}} queued · {{passed}} passed · {{failed}} failed · {{errored}} errored · {{skipped}} skipped\",\n \"feedback.human.waitingOnAnotherRun\": \"waiting on another run\",\n \"feedback.human.lockWaitDetail\": \"{{count}} evals · pid {{pid}}\",\n \"feedback.human.lockWaitStarted\": \"waiting on another run · {{experimentId}} ({{count}} evals, pid {{pid}})\",\n \"feedback.human.lockWaitResolved\": \"lock wait resolved · {{experimentId}} ({{summary}}, {{elapsed}})\",\n \"feedback.human.lockWaitCarried\": \"{{count}} carried\",\n \"feedback.human.lockWaitDispatched\": \"{{count}} to run\",\n \"feedback.human.lockedRowSuffix\": \"locked\",\n \"feedback.phase.sandboxPrepare\": \"preparing sandbox\",\n \"feedback.phase.assertions\": \"evaluating assertions\",\n \"feedback.phase.teardown\": \"cleaning up\",\n \"feedback.phase.telemetryCollect\": \"collecting trace\",\n \"feedback.phase.telemetryConfigure\": \"configuring telemetry\",\n \"feedback.phase.workspaceBaseline\": \"preparing workspace\",\n \"feedback.phase.workspaceDiff\": \"capturing diff\",\n \"feedback.rendererError\": \" · [feedback] renderer failed while handling {{context}} (ignored): {{message}}\\n\",\n \"hitl.answerNeedsOptionOrText\": \"The object form of t.respond needs exactly one of optionId or text.\",\n \"hitl.invalidOption\": \"Answer \\\"{{optionId}}\\\" is not an option of request {{requestId}} ({{options}}).\",\n \"hitl.noOptions\": \"this request has no options\",\n \"hitl.requestMissingId\": \"This input.requested request has no stable id, so a response cannot be built — the adapter must give every pending request a stable id.\",\n \"hitl.respondAllEmpty\": \"There is no pending input.requested request; respond() / respondAll() cannot work. Confirm the turn parked with t.parked(), then answer via t.requireInputRequest() or t.respond().\",\n \"hitl.respondEmpty\": \"t.respond(...) requires at least one answer.\",\n \"hitl.stringAmbiguous\": \"There are {{count}} pending input requests; a plain-string answer cannot be matched to one. Use the { request, optionId } or { request, text } object form to name it explicitly.\",\n \"judge.apiKeyMissing\": \"judge is missing an API key: set NICEEVAL_JUDGE_KEY, or point judge.apiKeyEnv at another environment variable.\",\n \"judge.httpError\": \"judge HTTP {{status}}: {{body}}\",\n \"judge.probeFailed\": \"judge precheck failed: {{endpoint}} ({{model}}): {{error}}\",\n \"judge.probeTimeout\": \"judge precheck failed: {{endpoint}} ({{model}}) timed out {{attempts}} times ({{seconds}}s each) — the endpoint accepts connections but never answers; first check whether other traffic on the same account is saturating the gateway's concurrency, then verify judge.baseUrl\",\n \"judge.probeMissingKey\": \"judge model {{model}} is missing an API key; configure {{envHint}}\",\n \"live.more\": \"… {{hidden}} more ({{running}} running · {{waiting}} waiting · {{done}} done)\",\n \"live.running\": \" Running {{totalRuns}} attempts ({{evals}} evals × {{configs}} configs, concurrency {{concurrency}}) {{completed}}/{{total}} done\",\n \"live.runningUnknown\": \" Running... {{completed}}/{{total}} done\",\n \"live.waiting\": \"waiting for a slot...\",\n \"local.commandTimeout\": \"Command timed out after {{timeoutMs}}ms\",\n \"local.dirMissing\": \"local sandbox directory does not exist: {{dir}}. Create it first, or point localSandbox({ dir }) at an existing directory.\",\n \"local.dirNotWritable\": \"local sandbox directory is not writable: {{dir}} ({{message}})\",\n \"local.notARepo\": \"the current directory (and its parents) is not inside a git repository, so localSandbox() has no deterministic root to run in. cd into the repository you want to evaluate, or pass an explicit directory: localSandbox({ dir: \\\"/path/to/repo\\\" }).\",\n \"local.userUnsupported\": 'the local sandbox provider does not support execution identity overrides, got { user: \"{{user}}\" } — niceeval does not escalate or switch identity on your machine. Use a container provider (docker / e2b / vercel) for steps that need a different user.',\n \"report.assertionThreshold\": \" (got {{score}} < {{threshold}})\",\n \"report.error\": \"error\",\n \"report.errored\": \"errored\",\n \"report.failed\": \"failed\",\n \"report.gate\": \"gate\",\n \"report.passed\": \"passed\",\n \"report.result\": \"\\nResult: {{parts}} ({{duration}} · {{tokens}}{{cost}})\\n\\n\",\n \"report.runStart\": \"\\nRunning {{count}} evals{{extra}} (concurrency {{concurrency}})\\n\\n\",\n \"report.runStartExtra\": \" × {{configs}} configs = {{totalRuns}} runs\",\n \"report.viewHint\": \"Run `pnpm exec niceeval view` to see the results in the graphical viewer.\\n\",\n \"report.skipped\": \"skipped\",\n \"report.soft\": \"soft\",\n \"report.summary.errored\": \"{{count}} errored\",\n \"report.summary.failed\": \"{{count}} failed\",\n \"report.summary.passed\": \"{{count}} passed\",\n \"report.summary.skipped\": \"{{count}} skipped\",\n \"report.table.agent\": \"Agent\",\n \"report.table.avgDuration\": \"Avg Duration\",\n \"report.table.cost\": \"Cost\",\n \"report.table.default\": \"default\",\n \"report.table.duration\": \"Duration\",\n \"report.table.eval\": \"Eval\",\n \"report.table.evalTitle\": \"Eval Record:\",\n \"report.table.experiment\": \"Experiment\",\n \"report.table.experimentsTitle\": \"Experiments\",\n \"report.table.model\": \"Model\",\n \"report.table.reason\": \"Reason\",\n \"report.table.result\": \"Result\",\n \"report.table.runs\": \"Runs\",\n \"report.table.status\": \"Status\",\n \"report.table.successRate\": \"Success Rate\",\n \"report.table.tokens\": \"Tokens\",\n \"otel.noSpans\": \"otel: 0 spans this turn — endpoint not wired? (env not injected / service not restarted / no flush)\",\n \"otel.portInUse\": \"OTLP receiver port {{port}} is already in use (another process is bound to it). Pick a free port in defineConfig({ telemetry: { port } }), or stop whatever is using {{port}} and retry.\",\n \"otel.windowAttribution\": \"otel: spans missing our traceparent, attributing by time window (turns for this agent serialized; concurrency resumes once W3C propagation is confirmed)\",\n \"runner.diffProgress\": \"captured diff: {{changed}} changed / {{deleted}} deleted\",\n \"runner.failFast\": \"error {{code}} recurred consecutively on {{evalId}}; treating it as deterministic and skipping the remaining attempts for this config (fail-fast).\",\n \"runner.driveAgent\": \"driving agent...\",\n \"runner.evalSetup\": \"eval setup (installing dependencies)...\",\n \"runner.interrupted\": \" · interrupted: sandbox containers cleaned up; printing partial results completed so far.\\n\",\n \"runner.otlpInSandbox\": \"OTLP in-sandbox collector -> {{endpoint}}{{proto}}\",\n \"runner.otlpOverride\": \"OTLP receiver (host override) -> {{endpoint}}\",\n \"runner.otlpReceiver\": \"OTLP receiver -> {{endpoint}}{{proto}}\",\n \"runner.otlpShared\": \"OTLP shared receiver (run-scoped) -> {{endpoint}}\",\n \"runner.providerExclusiveSerial\": \" · [sandbox] the \\\"{{provider}}\\\" provider forces attempts to run one at a time (exclusive); concurrency stays at 1 for it regardless of --max-concurrency {{concurrency}}\\n\",\n \"runner.directAgentSandboxUnavailable\": \"Direct Agents do not have sandbox.{{method}}; use a Sandbox Agent or remove workspace assertions.\",\n \"runner.reporterDiagnostic\": \" · [diagnostic] {{stage}} failed (ignored): {{message}}\\n\",\n \"runner.skip\": \"skip: {{reason}}\",\n \"runner.startAgentSetup\": \"agent setup (install CLI / write config)...\",\n \"runner.startAgentEnsure\": \"preparing agent...\",\n \"runner.startAgentTracing\": \"agent tracing (write OTEL export config)...\",\n \"runner.startSandbox\": \"starting sandbox...\",\n \"runner.startSandboxSetup\": \"sandbox setup (environment provisioning hooks)...\",\n \"runner.startSandboxTeardown\": \"sandbox teardown (environment provisioning hooks)...\",\n \"runner.timeout\": \"attempt timed out ({{timeoutMs}}ms, from {{source}})\\nRecent progress:\\n{{recentLogs}}\",\n \"runner.traceSelected\": \" -> kept {{count}} semantic spans\",\n \"runner.useDirectAgent\": \"using Direct Agent (no Sandbox created)...\",\n \"sandbox.deadlineExceedsSession\": \"error: this attempt's timeout ({{timeoutMs}}ms) is longer than what a single {{provider}} session lives ({{limitMs}}ms); the sandbox would be reclaimed mid-attempt.\\n\" +\n \" fix: lower timeoutMs below {{limitMs}}ms, or declare a longer lifetimeMs on the sandbox spec if your plan allows it.\\n\",\n \"sandbox.providerNotImplemented\": \"{{provider}} sandbox provider is not implemented; use docker, vercel, e2b, or local\",\n \"sandbox.missingSpec\": \"sandbox agent needs a template-bearing SandboxLayer, but neither the Eval nor Experiment declared one — use dockerSandbox({ source: { type: \\\"image\\\", image } }), dockerSandbox({ source: { type: \\\"dockerfile\\\", context } }), dockerComposeSandbox({ file, workspaceService }), vercelSandbox({ snapshotId }), e2bSandbox({ template }), or localSandbox() from \\\"niceeval/sandbox\\\".\\n\" +\n \" Docs: node_modules/niceeval/docs-site/zh/tutorials/sandbox-providers.mdx\",\n \"sandbox.dependencyMissing.docker\": \"Docker sandbox requires 'dockerode'. Install it with: pnpm add dockerode @types/dockerode\",\n \"sandbox.dependencyMissing.e2b\": \"E2B sandbox requires 'e2b'. Install it with: pnpm add e2b\",\n \"sandbox.dependencyMissing.vercel\": \"Vercel sandbox requires '@vercel/sandbox'. Install it with: pnpm add @vercel/sandbox\",\n \"sandbox.forceCleanup\": \" · [sandbox] force-cleaning {{count}} sandboxes...\\n\",\n \"sandbox.provisionReconcileFailed\": \" · [sandbox] provision reconcile failed, aborting retry (a possibly-created instance could not be verified/killed): {{error}}\\n\",\n \"sandbox.provisionRetry\": \" · [sandbox] provisioning rate-limited, retrying in {{delayMs}}ms (attempt {{attempt}}/{{maxAttempts}})...\\n\",\n \"sandbox.stopFailed\": \" · [sandbox] failed to stop sandbox {{id}} (ignored; it keeps running, and billing, until this provider's own timeout — if it has one — reclaims it): {{message}}\\n\",\n \"sandbox.stopTimeout\": \"stop timed out ({{timeoutMs}}ms)\",\n \"sandbox.transferTimeout\": \"{{provider}} {{operation}} timed out transferring {{object}}. This is the provider SDK / HTTP round trip timing out, not the attempt's timeoutMs budget — raising --timeout will not help. \" +\n \"fix: split the transfer into smaller batches, bake large fixtures into the image/template, or download them inside the sandbox instead.\",\n \"o11y.sandboxTempNotWritable\": \"the in-sandbox OTLP collector cannot write {{path}}: the system temp directory is not writable by the sandbox's run user. This is an image environment defect, not an eval or niceeval configuration problem — \" +\n \"a provider's writability guarantee must cover more than workdir, since the runner puts the collector and the change ledger outside it. \" +\n \"fix: make /tmp writable for the run user (`chmod 1777 /tmp` in the image, or pick an image/user that does not mount /tmp read-only), then rerun — finished attempts carry over.\",\n \"assertions.evaluationError\": \"assertion evaluation error: {{error}}\",\n \"assertions.scoreInvalid\": \"t.score({{label}}, {{n}}) is invalid; points must be a non-negative finite number (n >= 0).\",\n \"session.rerunOriginal\": \"rerun the original command\",\n \"session.nextRerunOriginal\": \"NEXT rerun the original command\",\n \"session.fileFallback\": \"[file]\",\n \"session.tools\": \"{{count}} tools\",\n \"session.turn.primary\": \"turn {{turn}}\",\n \"session.turn.secondary\": \"session {{session}} · turn {{turn}}\",\n \"session.turnRetry\": \"turn retry {{attempt}}/{{maxAttempts}} ({{reason}}) — waiting {{seconds}}s\",\n \"session.turnRetryBudgetExhausted\": \" · attempt retry budget exhausted ({{maxRetries}} retries, {{reason}})\",\n \"session.turnRetrySendExhausted\": \" · retries exhausted ({{maxAttempts}} attempts, {{reason}})\",\n \"util.requiredEnv\": \"Missing required environment variable {{name}} (configure it in .env).\",\n \"vercel.fileNotFound\": \"File not found: {{path}}\",\n \"vercel.rotateFailed\": \"[VercelSandbox] session rotate failed ({{seconds}}s): {{error}}\",\n \"vercel.rotated\": \"[VercelSandbox] session rotated after {{seconds}}s -> {{sessionId}}\",\n \"vercel.userUnsupported\": 'the Vercel Sandbox provider only supports { user: \"root\" } (mapped to sudo: true) at the command level, got { user: \"{{user}}\" }. Use a container provider (docker / e2b) for other identities.',\n} as const;\nexport type MessageKey = keyof typeof en;\nexport type Messages = globalThis.Record<MessageKey, string>;\n"]}
|
|
1
|
+
{"version":3,"file":"en.js","sourceRoot":"","sources":["en.ts"],"names":[],"mappings":"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","sourcesContent":["export const en = {\n \"agent.installFailed\": \"Install failed: {{key}}\\n{{tail}}\",\n \"agent.unknown\": \"Unknown agent \\\"{{name}}\\\". Registered agents: {{known}}.\",\n \"agent.diagnose.exitCode\": \"agent run exited with code {{code}}\",\n \"agent.diagnose.lastError\": \"last error: {{message}}\",\n \"agent.diagnose.noTranscript\": \"transcript was not generated\",\n \"agent.diagnose.outputTail\": \"output tail:\\n{{tail}}\",\n \"agent.diagnose.zeroEvents\": \"transcript exists but contains 0 events\",\n \"agent.ensure.identityMissingAgent\": \"AgentProvisioner.identity.agent must not be empty.\",\n \"agent.ensure.identityMissingRevision\": \"AgentProvisioner.identity.revision must not be empty (agent={{agent}}).\",\n \"agent.ensure.unstableVersion\": \"AgentProvisioner.identity.version must be an exact pin, not \\\"{{version}}\\\" (agent={{agent}}). Unpinned installs cannot participate in carry.\",\n \"agent.ensure.stagedNeedsPrepare\": \"A staged AgentProvisioner ({{agent}}) must provide prepare() to materialize a locked artifact outside the task network.\",\n \"agent.ensure.verifyOnlyHasPrepare\": \"verifyOnly mode never installs; AgentProvisioner ({{agent}}) must not also provide prepare().\",\n \"agent.ensure.prepareWrongMode\": \"prepare() is only valid for staged mode (agent={{agent}}, mode={{mode}}).\",\n \"agent.ensure.artifactMissingDigest\": \"staged artifact is missing digest (agent={{agent}}).\",\n \"agent.ensure.stagedMissingArtifact\": \"staged install is missing a prepared artifact (agent={{agent}}). The runner should prepare at Run scope, or ensure via the coordinator.\",\n \"agent.ensure.failed\": \"Agent Ensure failed (agent={{agent}}, phase={{phase}}): expected {{expected}}, actual {{actual}}. {{detail}}\\nNext: {{next}}\",\n \"agent.ensure.nextVerifyOnly\": \"Preinstall a matching Agent, or switch to a staged / sandbox-network provisioner.\",\n \"agent.ensure.nextInstallerMissing\": \"Use a prebuilt environment with this exact Agent identity, or install it explicitly in the Experiment layer with installTool().\",\n \"agent.ensure.nextRecheck\": \"Fix the install prefix, PATH, and exact version, then rerun; do not hand a broken environment to the task.\",\n \"agent.ensure.missingBin\": \"Command {{bin}} not found. {{tail}}\",\n \"agent.ensure.versionUnparseable\": \"Could not parse a version from `{{bin}} --version`: {{stdout}}\",\n \"agent.ensure.versionMismatch\": \"{{bin}} version mismatch: expected {{expected}}, actual {{actual}}.\",\n \"agent.ensure.digestMismatch\": \"staged artifact digest mismatch (agent={{agent}}): expected {{expected}}, actual {{actual}}.\",\n \"agent.ensure.npmPackFailed\": \"Host npm pack {{packageName}}@{{version}} failed:\\n{{tail}}\",\n \"agent.ensure.npmPackEmpty\": \"Host npm pack {{packageName}}@{{version}} produced no .tgz (dir {{dest}}).\",\n \"agent.ensure.npmInstallFailed\": \"In-sandbox install of {{agent}} from staged tarball failed:\\n{{tail}}\",\n \"agent.ensure.platformDetectFailed\": \"Could not detect the target platform from the main Sandbox (uname / ldd): {{tail}}\",\n \"agent.ensure.selfContainedInstallFailed\": \"Unpacking the {{agent}} self-contained package inside the sandbox failed (needs tar + gzip):\\n{{tail}}\",\n \"agent.ensure.npmMissingInSandbox\": \"The sandbox has no npm, and {{agent}} only publishes a Node-dependent npm package for this platform. When the task image ships no Node toolchain, publish a self-contained native package for that platform or supply a custom provisioner.\",\n \"agent.ensure.homeDetectFailed\": \"Could not detect sandbox $HOME; staged install needs to expand the user prefix.\",\n \"bub.homeDetectFailed\": \"Failed to detect sandbox $HOME (empty output from `printf $HOME`). Refusing to fall back to a provider-specific path; check the sandbox provider.\",\n \"bub.checkpointCaptureFailed\": \"bub checkpoint cache backfill failed (this sandbox is unaffected; later sandboxes will reinstall): {{error}}\",\n \"bub.checkpointRestoreFailed\": \"bub checkpoint restore failed, falling back to a full install: {{error}}\",\n \"bub.installFailed\": \"bub install failed after {{attempts}} attempts:\\n{{tail}}\",\n \"bub.setupNotRun\": \"bub adapter setup() has not run in this sandbox (missing home/workspace info). The runner must call setup before send.\",\n \"e2b.listNextItemsNotArray\": \"e2b Sandbox.list() paginator nextItems() returned a non-array ({{type}}), not the SandboxInfo[] promised by the SDK type contract\",\n \"checkpoint.emptyTar\": \"checkpoint: tar is empty (paths: {{paths}})\",\n \"checkpoint.archiveFailed\": \"checkpoint archive failed (exit {{exitCode}}): {{detail}}\",\n \"checkpoint.restoreFailed\": \"checkpoint restore failed (exit {{exitCode}}): {{detail}}\",\n \"skill.localMissing\": \"Local skill path \\\"{{path}}\\\" does not exist (resolved to {{resolved}}). Paths are resolved from the project root you run niceeval in.\",\n \"skill.localDirNoSkillFile\": \"Local skill directory \\\"{{path}}\\\" has no SKILL.md. A directory-shaped skill must contain SKILL.md at its root.\",\n \"skill.localUnsupportedShape\": \"Local skill path \\\"{{path}}\\\" has an unsupported shape. Accepted: a directory containing SKILL.md, or a single .md file.\",\n \"skill.repoCloneFailed\": \"Could not fetch repo skill {{source}} (ref: {{ref}}):\\n{{tail}}\",\n \"skill.repoNoSkills\": \"Repo skill {{source}} contains no SKILL.md.\",\n \"skill.repoAmbiguous\": \"Repo skill {{source}} contains multiple skills; select which ones to enable with `skills: [...]`. Available: {{available}}.\",\n \"skill.repoUnknownSkill\": \"Repo skill {{source}} (ref: {{ref}}) has no skill named \\\"{{skill}}\\\". Available: {{available}}.\",\n \"skill.copyFailed\": \"Could not install skill \\\"{{name}}\\\" into {{dest}}:\\n{{tail}}\",\n \"mcp.ambiguousTransport\": \"MCP server \\\"{{name}}\\\" specifies both \\\"command\\\" and \\\"url\\\" — pick one transport: \\\"command\\\" for a local stdio server, \\\"url\\\" for a remote Streamable HTTP endpoint.\",\n \"plugin.marketplaceFailed\": \"Could not connect {{agent}} marketplace \\\"{{name}}\\\" (source: {{source}}, ref: {{ref}}):\\n{{tail}}\",\n \"plugin.marketplaceVerifyFailed\": \"Could not read back the registered marketplace list after adding {{agent}} marketplace \\\"{{name}}\\\" ({{command}}):\\n{{tail}}\",\n \"plugin.marketplaceNameMismatch\": \"{{agent}} marketplace name mismatch: the configured name \\\"{{expected}}\\\" (source: {{source}}) is not in the registered list after add; actually registered: {{actual}}. \" +\n \"marketplace.name must equal the name declared in the target repo's manifest — use the real name.\",\n \"plugin.installFailed\": \"Could not install {{agent}} plugin \\\"{{name}}\\\" (marketplace: {{marketplace}}):\\n{{tail}}\",\n \"plugin.listFailed\": \"Could not read the installed {{agent}} plugin list ({{command}}):\\n{{tail}}\",\n \"plugin.removeFailed\": \"Could not remove the same-named installed {{agent}} plugin \\\"{{name}}\\\":\\n{{tail}}\\n\" +\n \"Installation converges the sandbox to the declaration: a leftover install under the same name is removed first, then reinstalled from the declared marketplace.\",\n \"nativeConfig.pathNotProjectRelative\": \"{{agent}} {{field}} only accepts relative paths inside the project root, got \\\"{{path}}\\\". Absolute paths, `..` segments and `~` paths are rejected; copy configs from outside the project into it first.\",\n \"nativeConfig.missing\": \"{{agent}} {{field}} points to a missing file: \\\"{{path}}\\\" (resolved to {{resolved}}). Paths resolve from the project root you run niceeval in (the directory containing niceeval.config.ts), not from eval / experiment source files.\",\n \"nativeConfig.escapesRoot\": \"{{agent}} {{field}} \\\"{{path}}\\\" resolves through a symlink to outside the project root ({{resolved}}). The config file must physically live inside the project root.\",\n \"nativeConfig.notFile\": \"{{agent}} {{field}} \\\"{{path}}\\\" is not a regular file. Point it at a complete official config file.\",\n \"nativeConfig.invalidSyntax\": \"{{agent}} {{field}} \\\"{{path}}\\\" is not valid {{format}}: {{detail}}\",\n \"nativeConfig.reservedKeys\": \"{{agent}} {{field}} \\\"{{path}}\\\" contains reserved keys: {{keys}}. These keys are owned by the experiment and the Adapter (model, auth, MCP and OTel are layered separately) — remove them from the file.\",\n \"nativeConfig.uploadFailed\": \"Could not upload native config file \\\"{{path}}\\\" into the sandbox ({{dest}}):\\n{{tail}}\",\n \"cli.all\": \"(all)\",\n \"cli.browserOpenFailed\": \"Could not open the browser automatically. Open manually: {{url}}\\n\",\n \"cli.clean.done\": \"Deleted .niceeval/ historical run artifacts.\\n\",\n \"cli.config.missing\": \"Could not find niceeval.config.ts.\\n\" +\n \"Ways to fix:\\n\" +\n \" - [init] Run `npx niceeval init` to scaffold niceeval.config.ts and evals/\\n\" +\n \" - [cd] Run from the project root that contains niceeval.config.ts\\n\" +\n \" Docs: node_modules/niceeval/docs-site/zh/tutorials/quickstart.mdx\",\n \"cli.config.noDefault\": \"niceeval.config.ts must default export defineConfig(...).\",\n \"cli.dry.header\": \"plan: {{attempts}} · {{evals}} × {{configs}} · attempts {{attemptCount}}\",\n \"cli.dry.unit.attempt\": \"attempt\",\n \"cli.dry.unit.attempts\": \"attempts\",\n \"cli.dry.unit.eval\": \"eval\",\n \"cli.dry.unit.evals\": \"evals\",\n \"cli.dry.unit.config\": \"config\",\n \"cli.dry.unit.configs\": \"configs\",\n \"cli.dry.affects\": \"affects {{evals}} · {{ids}}\",\n \"cli.dry.acceptHint\": \"accept: {{command}}\",\n \"cli.debug.usage\": \"error: niceeval debug expects exactly one Experiment selector and one Eval selector\\n\" +\n \" fix: niceeval debug <experiment> <eval> [--json]\\n\",\n \"cli.debug.flagUnsupported\": \"error: {{flag}} is not valid with niceeval debug\\n\" +\n \" fix: pass only <experiment> <eval>, optionally --json\\n\",\n \"cli.debug.experimentNoMatch\": \"error: Experiment selector \\\"{{selector}}\\\" matched nothing\\n\" +\n \" exact candidates: {{candidates}}\\n\",\n \"cli.debug.experimentAmbiguous\": \"error: Experiment selector \\\"{{selector}}\\\" is ambiguous\\n\" +\n \" exact candidates: {{candidates}}\\n\",\n \"cli.debug.evalNoMatch\": \"error: Eval selector \\\"{{selector}}\\\" matched nothing in Experiment \\\"{{experimentId}}\\\"\\n\" +\n \" exact candidates: {{candidates}}\\n\",\n \"cli.debug.evalAmbiguous\": \"error: Eval selector \\\"{{selector}}\\\" is ambiguous in Experiment \\\"{{experimentId}}\\\"\\n\" +\n \" exact candidates: {{candidates}}\\n\",\n \"cli.accept.choiceHeader\": \"previous-result {{selector}}{{change}} ({{evals}} evals)\\n\",\n \"cli.accept.prompt\": \" reuse these results? [y/N] \",\n \"cli.accept.nothingToAccept\": \"No difference in this plan can be accepted (nothing is blocked by the fingerprint gate).\\n\" +\n \"Running as planned.\\n\",\n \"cli.accept.equivalent\": \"equivalent command: {{command}}\\n\",\n \"cli.accept.noneChosen\": \"Nothing accepted; running as planned.\\n\",\n \"cli.accept.usage\": \"error: niceeval accept expects one or more locators in the form @<locator>...\\n\" +\n \" fix: copy an explicit locator from `niceeval exp --dry`, then run `niceeval accept @<locator>...`\\n\",\n \"cli.accept.flagUnsupported\": \"error: {{flag}} is not valid with niceeval accept\\n\" +\n \" fix: pass only @<locator> (and optionally --record <dir>)\\n\",\n \"cli.accept.failed\": \"error: could not accept result: {{error}}\\n\",\n \"cli.accept.done\": \"Accepted source Attempt {{sourceLocator}} into new Run {{runId}}. Result locator remains {{locator}}. Current fingerprint: {{fingerprint}}\\n\",\n \"cli.rename.usage\": \"error: niceeval exp rename expects exactly two arguments: an old id and a new id\\n\" +\n \" fix: niceeval exp rename <oldId> <newId> [--dry] [--json]\\n\",\n \"cli.rename.flagUnsupported\": \"error: {{flag}} is not valid with niceeval exp rename\\n\" +\n \" fix: pass only <oldId> <newId>, optionally --dry / --json\\n\",\n \"cli.rename.previewHeader\": \"exp rename preview: {{oldId}} -> {{newId}}\\n\",\n \"cli.rename.blocked\": \" blocked (nothing will be written): {{reason}}\\n\",\n \"cli.rename.migratingHeader\": \" {{count}} terminal results will migrate:\\n\",\n \"cli.rename.migratingRow\": \" {{evalId}} {{sourceLocator}} -> {{newId}}\\n\",\n \"cli.rename.excludedHeader\": \" {{count}} excluded (not migrated, does not block):\\n\",\n \"cli.rename.excludedRow\": \" {{evalId}} {{reason}}\\n\",\n \"cli.rename.doneHeader\": \"exp rename done: rebound {{count}} terminal results from {{oldId}} to {{newId}}.\\n\",\n \"cli.rename.snapshotPath\": \" new snapshot: {{path}}\\n\",\n \"cli.rename.doneRow\": \" {{evalId}} {{sourceLocator}} -> {{locator}}\\n\",\n \"cli.rename.error.sourceEmpty\": \"error: {{oldId}} has no readable terminal history to migrate to {{newId}}.\\n\" +\n \" fix: restore and verify {{oldId}}'s real results before retrying; with no old results, run `niceeval exp {{newId}}` and do not rename.\\n\" +\n \" exp rename does not move experiment source, nor delete or rewrite the old result tree.\\n\",\n \"cli.rename.error.targetNotFound\": \"error: new id \\\"{{newId}}\\\" is not discovered under this project's experiments/.\\n\" +\n \" fix: create or rename the experiment in experiments/ first (e.g. `git mv experiments/{{oldId}}.ts experiments/{{newId}}.ts`), then rerun.\\n\",\n \"cli.rename.error.targetHasResults\": \"error: {{newId}} already has terminal results for these evals; rename never overwrites existing results.\\n\" +\n \" fix: keep the target results, or explicitly clean the target history and re-preview; the command deletes nothing itself.\\n\",\n \"cli.rename.error.sourceUnreadable\": \"error: the Record for {{oldId}} is unreadable; cannot migrate to {{newId}}.\\n\" +\n \" fix: view this record with a niceeval version that reads its schemaVersion.\\n\",\n \"cli.rename.error.artifactUnavailable\": \"error: source evidence cannot be preserved ({{evalId}}); nothing will be written.\\n\" +\n \" fix: make the artifact reference and source locator readable, or rerun this eval.\\n\",\n \"cli.rename.error.nothingToMigrate\": \"error: nothing to migrate under {{oldId}}: no terminal passed/failed still selected by {{newId}}, or all excluded.\\n\" +\n \" fix: check that {{newId}}'s evals selector covers the old experiment's results.\\n\",\n \"cli.rename.conflicting\": \" conflicting evals: {{evals}}\\n\",\n \"cli.rename.failed\": \"error: exp rename failed: {{error}}\\n\",\n \"cli.error\": \"niceeval error: {{error}}\\n\",\n \"cli.flag.acceptNeedsSelector\": \"error: --accept needs a selector, for example --accept config:judge.model\\n\" +\n \" fix: run `niceeval exp <selection> --dry` first; every `previous-result` line prints the selectors it can accept, copy one verbatim\\n\" +\n \" differences you can accept in this plan: {{available}}\\n\",\n \"cli.flag.acceptWithRerunAll\": \"--accept cannot be combined with --rerun all: one says trust nothing from cache, the other says trust this difference anyway.\\n\" +\n \"Drop --rerun all to accept the difference, or drop --accept to rerun everything.\\n\",\n \"cli.flag.acceptNoSuchDifference\": \"No such difference in this plan: {{selectors}}.\\n\" +\n \"Differences you can accept here: {{available}}.\\n\" +\n \"Run `niceeval exp <selection> --dry` to see which entries each one blocks.\\n\",\n \"cli.flag.invalidNumber\": \"Flag --{{flag}} expects a number, got \\\"{{value}}\\\".\\n\",\n \"cli.flag.outputRemoved\": \"error: unknown option '--output'\\n fix: run without a flag for human text; use --json for the machine feed\\n\",\n \"cli.flag.strictRemoved\": \"Unknown option: --strict\\nExpress required facts with t.check(...) or await t.check(...).orStop() in the Eval source.\\n\",\n \"runner.budgetUnenforceable\": \"budget for {{budgetKey}}: several attempts completed without any cost data (agent reports no usage and the model is not in the price table) — the budget cannot be enforced for this agent; continuing without the guard.\\n\",\n \"runner.experimentTeardownFailed\": \"teardown for experiment {{experimentId}} failed: {{message}}. Record are unaffected, but host-side resources started by this experiment may not have been released; check manually.\\n\",\n \"runner.cleanupTimeout\": \"cleanup timed out after {{timeoutMs}}ms\\n\",\n \"runner.setupReturnedCleanup\": \"{{layer}} returned a function. setup does not carry cleanup and the returned value will not be executed — put the cleanup in the paired teardown of the same layer ({{hint}}); see the experiments tutorial on docs-site or docs/runner.md.\\n\",\n \"runner.experimentTeardownLate\": \"experiment {{experimentId}}'s teardown was not triggered by the normal countdown path; it has been executed by the end-of-run sweep instead. Record are unaffected; seeing this line means an unlocated intermittent scheduling issue fired — please record this run in the memory ledger.\\n\",\n \"runner.teardownRegistrationWriteFailed\": \"writing the crash-recovery teardown registration for experiment {{experimentId}} failed: {{message}}. The run continues normally, but a SIGKILL during this run cannot be recovered via `niceeval exp --teardown` or the startup self-heal — check disk space/permissions under .niceeval/teardowns/.\\n\",\n \"runner.coordinationRecovered\": \"recovered expired coordination state for {{experimentId}}; this run continues. Further recoveries are summarized at completion.\\n\",\n \"runner.sharedStateWaiting\": \"waiting for sharedState key {{key}} to be released; this Invocation will not take it over automatically.\\n\",\n \"runner.sharedStateRecoveryRequired\": \"sharedState key {{key}} requires explicit recovery before another Invocation can use it. Inspect immutable owner evidence with `niceeval exp <selector> --teardown --recover-shared-state <key>`.\\n\",\n \"runner.sharedStateExplicitRecovered\": \"explicitly recovered sharedState key {{key}} for experiment {{experimentId}}.\\n\",\n \"cli.exp.sharedStateRecoveryFlags\": \"sharedState recovery requires `--teardown --recover-shared-state <key> --owner-token <token> --confirm-owner-terminated --confirm-remote-quiesced`.\\n\",\n \"cli.exp.sharedStateRecoveryJsonUnsupported\": \"error: explicit sharedState recovery does not support --json. Retry without --json; this recovery flow has a human-only interface.\\n\",\n \"cli.exp.sharedStateRecoveryTeardownRequired\": \"error: sharedState recovery requires the selected Experiment {{experimentId}} to declare teardown as a function. The active generation was left unchanged.\\n\",\n \"cli.exp.sharedStateRecoveryTarget\": \"sharedState recovery target:\\n key: {{key}}\\n experiment: {{experimentId}}\\n owner token: {{ownerToken}}\\n host: {{host}}\\n PID: {{pid}}\\n process identity: {{processIdentity}}\\n heartbeat: {{heartbeatAt}}\\n\",\n \"cli.exp.sharedStateRecoveryAlreadyReleased\": \"sharedState key {{key}} was already released after its cleanup; its immutable recovery generation is already complete.\\n\",\n \"cli.exp.sharedStateRecoveryRegistrationFailed\": \"error: sharedState recovery for {{key}} could not clear the exact interrupted teardown registration: {{message}}. The recovery generation remains closed.\\n\",\n \"cli.exp.sharedStateRecoveryAlreadyReleasedRegistrationFailed\": \"error: sharedState key {{key}} was already released, but NiceEval could not clear the exact stale teardown registration: {{message}}. It did not rerun teardown.\\n\",\n \"runner.dispatchHaltedExperiment\": \"experiment halted (dispatch-halted): {{message}}\\n\",\n \"runner.dispatchHaltedEval\": \"eval halted: {{message}}\\n\",\n \"judge.modelMissing\": \"No judge model configured. Set it in the Experiment, Eval, or defineConfig judge config (there is no built-in default model, and no environment variable for it).\\n\" +\n \" Docs: node_modules/niceeval/docs-site/zh/tutorials/evaluation-kinds.mdx\",\n \"loaders.yamlMissing\": \"loadYaml(\\\"{{path}}\\\") needs a YAML parser: run `pnpm add yaml` first (or switch to loadJson with a JSON dataset).\",\n \"loaders.criteriaNoMatch\": \"These loadCriteria patterns matched no files (or everything they matched was excluded by a later `!` pattern): {{patterns}}. They are most likely misspelled, or the criteria files moved — patterns expand from the project root {{root}}, not from the eval file's directory. Check these against the real paths on disk, and drop the pattern if it is no longer needed; the other patterns having matches is no excuse, because letting this pass silently narrows the criteria, and narrowed criteria let an eval that should re-run keep carrying its old verdict.\",\n \"loaders.criteriaOutsideRoot\": \"loadCriteria matched \\\"{{path}}\\\", which lands outside the project root (it resolves to {{resolved}}): a criteria file's project-root-relative path is its fingerprint key, and that key stops being stable once it points out of the root. Move the tree (or the symlink's target) inside the project root {{root}}, or exclude that link with a `!` pattern.\",\n \"loaders.privateNoMatch\": \"These loadPrivate patterns matched no files (or everything they matched was excluded by a later `!` pattern): {{patterns}}. They are most likely misspelled, or the private files moved — patterns expand from the project root {{root}}, not from the eval file's directory. Check these against the real paths on disk; letting this pass silently would drop hidden inputs from the leak gate and the fingerprint.\",\n \"loaders.outsideDiscovery\": \"Read of \\\"{{path}}\\\" happened outside discovery: loaders may only be called at the module top level of an eval file (while discovery evaluates that module), which is the only point early enough for the file's content to enter this eval's fingerprint. Move the read to the module top level and keep the result in a constant that test(t) uses; loaders cannot be called at run time from test(t) or from lifecycle hooks.\",\n \"loaders.nonFileUrl\": \"A URL passed to a loader must use the file: protocol, but got {{protocol}} ({{url}}). Pass new URL(relativePath, import.meta.url) instead, or use a plain project-root-relative string path.\",\n \"cli.flag.parseError\": \"{{message}}\\nRun `niceeval --help` for usage.\\n\",\n \"cli.command.unknown\": \"Unknown command \\\"{{command}}\\\".\\nRun `niceeval --help` for usage.\\n\",\n \"cli.help\": \"niceeval — agent-native evals\\n\\n\" +\n \"Usage:\\n\" +\n \" niceeval exp [path|experiment] [eval-id-prefix…] run experiments\\n\" +\n \" niceeval exp list [experiment-prefix] list runnable configs (no dispatch)\\n\" +\n \" niceeval exp rename <oldId> <newId> rebind terminal results from old to new id\\n\" +\n \" --dry preview without writing; --record <root> select the actual Record root; --json one JSON document\\n\" +\n \" --teardown recover a killed run: run only the selected experiments'\\n\" +\n \" teardown (no attempts, no setup); combining it with eval id prefixes is an error\\n\" +\n \" explicit sharedState recovery:\\n\" +\n \" niceeval exp <selector> --teardown --recover-shared-state <key>\\n\" +\n \" --owner-token <token> --confirm-owner-terminated --confirm-remote-quiesced\\n\" +\n \" reads immutable owner evidence from <key>; the selected Experiment must declare a teardown function\\n\" +\n \" (its current sharedState declaration may have changed); inspect or recover with human text (not --json)\\n\" +\n \" niceeval debug <experiment> <eval> [--json] show the lifecycle command plan\\n\" +\n \" niceeval accept @<locator>... accept explicit historical results\\n\" +\n \" niceeval show [--run <run-id>...] render a Report in the terminal\\n\" +\n \" by default, show reads all results matching the current project identities;\\n\" +\n \" --experiment <id> is repeatable and narrows that current target\\n\" +\n \" --run <run-id> is repeatable and audits complete historical ids only\\n\" +\n \" --record <root> selects the actual Record root (default: .niceeval/record)\\n\" +\n \" --report standard (or omit it) uses the built-in standard report; --page <route>\\n\" +\n \" selects an exact Report route; --json emits one Report show document\\n\" +\n \" niceeval list list discovered evals\\n\" +\n \" niceeval session list [--all] [experiment-prefix] query Sessions (read-only)\\n\" +\n \" niceeval session show <sessionId> show one Session (read-only)\\n\" +\n \" niceeval view [--run <run-id>...] [--out dir] [--port n] [--no-open]\\n\" +\n \" uses the same Record selection and built-in standard report as show; live mode\\n\" +\n \" binds loopback only and rebuilds fixed ReportExecutions on Record changes\\n\" +\n \" --out <dir> exports one completed static site and starts no server\\n\" +\n \" niceeval sandbox list|enter|history|diff|stop inspect & destroy sandboxes kept by --keep-sandbox\\n\" +\n \" niceeval sandbox list --orphans / prune reclaim instances orphaned by a killed run\\n\" +\n \" niceeval clean delete .niceeval/ artifacts\\n\" +\n \" niceeval init scaffold config + evals/\\n\\n\" +\n \"Flags:\\n\" +\n \" --attempts n --max-concurrency n --max-build-concurrency n --timeout ms\\n\" +\n \" --budget usd --tag t\\n\" +\n \" --early-exit / --no-early-exit --rerun[=failed|all] --dry\\n\" +\n \" --json (command-specific JSON; exp runs use NDJSON; default is human text)\\n\" +\n \" --junit path --out dir --port n --open / --no-open -h, --help -v, --version\\n\\n\" +\n \"Positional args only select which evals to run (id prefixes); which agent and\\n\" +\n \"how to run come from experiments/ + flags. Resolution: flag > experiment >\\n\" +\n \"eval (timeoutMs / judge only) > niceeval.config.ts > built-in default, where\\n\" +\n \"config is the fallback floor, not an override; --timeout has no built-in default —\\n\" +\n \"with none of the four set, an attempt has no deadline. Configuration has no environment layer;\\n\" +\n \"environment variables hold credentials such as API keys.\\n\",\n \"cli.show.noResults\": \"No results found under {{root}}. Run `niceeval exp` first, then `niceeval show`.\\n\",\n \"cli.show.runDirMissing\": \"Record directory not found: {{dir}}\\n\",\n \"cli.show.noEvalMatch\": \"No results matched: {{pattern}}. Evals with results: {{evals}}\\n\",\n \"cli.show.noExperimentMatch\": \"No experiment matched --exp {{arg}}. Experiments with results: {{experiments}}\\n\",\n \"cli.show.expAmbiguous\": \"error: --exp {{arg}} matched {{matched}} experiments: {{candidates}}\\n fix: use one of the exact ids above, or a longer prefix — each --exp in a compare must resolve to exactly one experiment\\n\",\n \"cli.show.locatorExpConflict\": \"error: {{locator}} cannot combine with repeated --exp ({{exp}})\\n fix: drop the extra --exp flags — a locator already pins one attempt to one experiment; for a multi-condition comparison, drop the locator and use eval id prefixes with --exp instead\\n\",\n \"cli.show.statsLocatorConflict\": \"error: --stats cannot combine with a locator ({{locator}}) — a single attempt has no stability to measure\\n fix: drop the locator and use eval id prefixes / --exp to select a range for --stats\\n\",\n \"cli.show.statsReportConflict\": \"error: --stats cannot combine with --report ({{report}}) — --stats is a zero-config slice, it does not render a user report tree\\n fix: drop --report to use --stats, or drop --stats and put a StabilityMatrix in your own report file\\n\",\n \"cli.show.grepExecutionOnly\": \"error: --grep only combines with --execution — it narrows that block's text rendering, not a slice of its own\\n fix: add --execution, or drop --grep\\n\",\n \"cli.show.grepInvalidPattern\": \"error: --grep pattern is not a valid JS regular expression: \\\"{{pattern}}\\\" ({{message}})\\n fix: fix the pattern syntax (it is passed to `new RegExp(...)`)\\n\",\n \"cli.show.historyReportConflict\": \"`--history` and `--report` are mutually exclusive: both take over the main output. --history is the host's per-attempt execution timeline; for run-level trends, compose exp.runs inside your report file instead.\\n\",\n \"cli.show.jsonReportConflict\": \"error: --json cannot combine with --report ({{report}}) — a report tree says how to look at the data, --json says what the data is\\n fix: drop --report to use --json, or drop --json and read the report tree as text/HTML\\n\",\n \"cli.show.jsonMultiEvidenceConflict\": \"error: --json requires exactly one of --source/--execution/--timing/--diff at a time — the envelope's \\\"view\\\" is a single value, there is no combined shape for more than one\\n fix: drop the extra evidence flags, or make one --json call per flag\\n\",\n \"cli.show.locatorMalformed\": \"{{message}}\\n\",\n \"cli.show.locatorNotFound\": \"{{message}}\\n\",\n \"cli.show.locatorAmbiguous\": \"{{message}}\\n\",\n \"cli.eval.noMatch\": \"No eval matched: {{patterns}}.\\n\",\n \"cli.eval.noMatchHintExperiment\": \"Hint: \\\"{{pattern}}\\\" is an experiment{{kind}}; you probably meant: niceeval exp {{pattern}}\\n\",\n \"cli.eval.noMatchKnown\": \"Discovered {{count}} evals: {{evals}}\\n\",\n \"cli.exp.agentModelFlagUnsupported\": \"experiment runs do not support --agent / --model. Add or copy an experiment file and change its model instead.\\n\",\n \"cli.exp.forceUnsupported\": \"experiment runs do not support --force; use --rerun all.\\n\",\n \"cli.check.recordUnsupported\": \"`--record` only applies to niceeval exp, not niceeval check.\\n\",\n \"cli.exp.viewerFlagUnsupported\": \"`{{flag}}` only applies to niceeval {{command}}, not niceeval exp.\\n\",\n \"cli.exp.teardownNoEvalPatterns\": \"--teardown selects experiments only; it does not run any eval, so eval id patterns are not allowed with it. Use `niceeval exp <experiment path> --teardown`.\\n\",\n \"cli.exp.teardownDone\": \"teardown done: {{experimentId}}\\n\",\n \"cli.exp.teardownFailed\": \"teardown failed: {{experimentId}}: {{message}}\\n\",\n \"cli.experiment.noMatch\": \"No experiment matched: {{arg}}. Available paths: {{experiments}}.\\n\" +\n \"Run `niceeval exp <path> --dry` to preview a plan.\\n\",\n \"cli.experiment.viewerCommandHint\": \"Did you mean: niceeval {{command}}{{args}}\\n\",\n \"cli.experiment.noEvalPrefixMatch\": \"No eval matched prefix: {{pattern}} in experiments selected by {{selection}}.\\n\" +\n \"Positional args after the first select eval id prefixes. To run another experiment,\\n\" +\n \"run it as its own command: niceeval exp {{pattern}}\\n\",\n \"cli.experiment.noEvalsSelected\": \"No evals selected: {{selection}} matched 0 evals. Available eval prefixes: {{experiments}}.\\n\" +\n \"Run `niceeval exp {{selection}} --dry` to see what it covers, or drop the eval filter to run every eval selected by those experiments.\\n\",\n \"cli.experimentGroup\": \" path\",\n \"cli.fallbackCleanupTimeout\": \"\\ngraceful cleanup timed out; force-cleaning sandboxes...\\n\",\n \"cli.forceCleanupExit\": \"\\nForce-cleaning sandboxes and exiting...\\n\",\n \"cli.init.done\": \"Ready: evals/, niceeval.config.ts, and the niceeval agent-rules block in AGENTS.md (tells coding agents to read the bundled docs before writing evals).\\n\",\n \"cli.init.esmHint\": \"tip: this project's package.json has no \\\"type\\\": \\\"module\\\". niceeval runs either way, but CommonJS mode disallows top-level await in config/eval files — add \\\"type\\\": \\\"module\\\" to package.json for the smoothest path.\\n\",\n \"cli.interruptCleanup\": \"\\nInterrupted; cleaning up sandbox containers... (press again to force cleanup and exit)\\n\",\n \"cli.list.header\": \"Discovered {{count}} evals:\\n\",\n \"cli.noAgent\": \"No agent specified (use --agent <name>).\\n\",\n \"cli.none\": \"(none)\",\n \"cli.pressCtrlC\": \"Press Ctrl+C to exit.\\n\",\n \"cli.resultsPath\": \"Structured results: {{path}} (run.json + per-attempt result.json / events.json / trace.json / diff.json)\\n\",\n \"cli.run.experimentRequired\": \"Run evals through an experiment: use `niceeval exp [path|config] [eval id prefix]`.\\n\" +\n \" Docs: node_modules/niceeval/docs-site/zh/tutorials/write-experiment.mdx\\n\",\n \"cli.run.experimentRequiredHint\": \"Hint: \\\"{{pattern}}\\\" is an experiment{{kind}}; you probably meant: niceeval exp {{pattern}}\\n\",\n \"cli.run.experimentRequiredKnown\": \"Discovered experiments: {{experiments}}\\n\",\n \"cli.view.exportedDir\": \"Exported static report site: {{out}} (serve the whole directory with any static host; opening index.html via file:// cannot fetch artifacts)\\n\",\n \"cli.view.hotReloadComplete\": \"{{time}} [niceeval view] hot reload complete\\n\",\n \"cli.view.incompatible\": \"{{dir}}: written by niceeval {{producer}} (schemaVersion {{schemaVersion}}); this CLI reads schemaVersion {{supported}}.\\nRun `{{command}}` to view it.\\n\",\n \"cli.view.noResults\": \"No results found under {{root}}. Run `niceeval exp` first, then `niceeval view`.\\n\",\n \"cli.view.incompatibleForeign\": \"{{dir}}: written by {{name}} {{version}} (schemaVersion {{schemaVersion}}); this CLI reads schemaVersion {{supported}}.\\nOpen this report with the tool that produced it.\\n\",\n \"cli.view.urls\": \"niceeval view — open in a browser:\\n{{urls}}\\n\",\n \"codex.envPathManaged\": \"codexAgent config.env.PATH is not supported: PATH is a Sandbox-managed variable, so silently dropping or overriding it would break hooks and child processes without any error. \" +\n \"Prepend directories to it with the Sandbox factory's pathPrepend option instead (see docs/feature/sandbox/library.md).\",\n \"context.capabilityMissing\": \"Agent \\\"{{agent}}\\\" is not sandbox-backed (built with defineSandboxAgent), so t.{{method}} is unavailable. Use an agent built with defineSandboxAgent, or drop this assertion.\\n\" +\n \" Docs: node_modules/niceeval/docs-site/zh/tutorials/sandbox-agent.mdx\",\n \"context.skipEmpty\": \"skip() requires a non-empty reason.\",\n \"define.agentNameRequired\": \"defineAgent requires name.\",\n \"define.evalIdRejected\": \"defineEval does not accept id; ids are derived from file paths.\",\n \"define.evalEnvironmentEmpty\": \"defineEval environment must be a non-empty profile id when provided.\",\n \"define.evalTestRequired\": \"defineEval requires an async test(t) function.\",\n \"define.evalEvaluationKindRejected\": \"defineEval does not accept evaluationKind; it is always set to \\\"pass\\\" (pass eval kind). Use defineScoreEval for the score kind.\",\n \"define.evalConfigHashRejected\": \"defineEval does not accept configHash; configHash is computed during run planning.\",\n \"define.scoreEvalIdRejected\": \"defineScoreEval does not accept id; ids are derived from file paths.\",\n \"define.scoreEvalEnvironmentEmpty\": \"defineScoreEval environment must be a non-empty profile id when provided.\",\n \"define.scoreEvalTestRequired\": \"defineScoreEval requires an async test(t) function.\",\n \"define.scoreEvalEvaluationKindRejected\": \"defineScoreEval does not accept evaluationKind; it is always set to \\\"score\\\" (score eval kind). Use defineEval for the pass kind.\",\n \"define.scoreEvalConfigHashRejected\": \"defineScoreEval does not accept configHash; configHash is computed during run planning.\",\n \"define.experimentAgentRequired\": \"defineExperiment requires agent.\",\n \"define.experimentFlagNotJson\": \"experiment.flags.{{key}} is not JSON-serializable (functions / undefined / cycles / bigint are not allowed); flags are persisted verbatim into result runs and must be plain JSON.\",\n \"define.experimentLabelInvalid\": \"experiment.labels.{{key}} must be a string or a finite number; labels are report-side grouping coordinates persisted verbatim into result runs.\",\n \"define.experimentSharedStateInvalid\": \"experiment.sharedState must be exactly { key }, where key is a stable, non-secret string matching [a-z0-9][a-z0-9._/-]{0,127}.\",\n \"define.experimentSetupNotFunction\": \"experiment.setup must be a function ((ctx) => void); use experiment.teardown for cleanup; to prepare the in-sandbox environment per experiment, chain .setup() hooks on the sandbox spec instead.\",\n \"define.experimentTeardownNotFunction\": \"Experiment teardown must be a function ((ctx) => void); use a function-valued paired lifecycle hook so normal cleanup and explicit sharedState recovery can both execute it.\",\n \"define.experimentClassifyFailureNotFunction\": \"experiment.classifyFailure must be a function ((failure) => FailureClass | undefined); it classifies failures that surface as third-party errors and must return undefined for anything it does not recognize.\",\n \"define.experimentIdRejected\": \"defineExperiment does not accept id; ids are derived from file paths.\",\n \"define.sandboxAgentNameRequired\": \"defineSandboxAgent requires name.\",\n \"define.sandboxAgentEnsureRequired\": \"defineSandboxAgent requires an ensure declaration.\",\n \"define.sandboxCreateRequired\": \"defineSandbox requires a create() function.\",\n \"define.sandboxNameRequired\": \"defineSandbox requires name.\",\n \"docker.commandTimeout\": \"Command timed out after {{timeoutMs}}ms\",\n \"docker.containerNotInitialized\": \"Container not initialized\",\n \"docker.imagePullDone\": \"Docker image ready: {{image}}\",\n \"docker.imagePullStart\": \"Pulling Docker image: {{image}}...\",\n \"docker.readFileFailed\": \"Failed to read file {{path}}: {{stderr}}\",\n \"docker.unsupportedRuntime\": \"Unsupported runtime: {{runtime}}\",\n \"feedback.human.active\": \"ACTIVE\",\n \"feedback.human.budgetExhausted\": \"budget exhausted for {{experimentId}} (spent {{spent}}, unstarted {{unstarted}})\",\n \"feedback.human.compare\": \"Compare: niceeval view\",\n \"feedback.human.counts\": \"{{total}} total · {{reused}} reused · {{running}} running · {{queued}} queued · {{passed}} passed · {{failed}} failed · {{errored}} errored · {{skipped}} skipped\",\n \"feedback.human.diffHint\": \"Diff: niceeval show {{locator}} --diff\",\n \"feedback.human.evalHint\": \"Eval: niceeval show {{locator}} --source\",\n \"feedback.human.exampleLocator\": \"e.g. {{locator}}\",\n \"feedback.human.failuresHeader\": \"FAILURES\",\n \"feedback.human.failuresSoFar\": \"{{count}} so far\",\n \"feedback.human.failuresTotalKinds\": \"{{total}} total · {{kinds}} kinds\",\n \"feedback.human.heartbeat\": \"{{elapsed}} elapsed · {{counts}}\",\n \"feedback.human.inspect\": \"Inspect: niceeval show {{locator}}\",\n \"feedback.human.keptSandboxesHeader\": \"KEPT SANDBOXES\",\n \"feedback.human.moreActive\": \"… {{count}} more active\",\n \"feedback.human.moreFailureKinds\": \"+{{count}} more kinds — niceeval view\",\n \"feedback.human.nextHeader\": \"NEXT\",\n \"feedback.human.plan\": \"{{total}} attempts · {{evals}} evals × {{configs}} configs · concurrency {{concurrency}}\",\n \"feedback.human.planHeader\": \"PLAN\",\n \"feedback.human.resultFailed\": \"FAILED\",\n \"feedback.human.resultIncomplete\": \"INCOMPLETE\",\n \"feedback.human.resultInterrupted\": \"INTERRUPTED\",\n \"feedback.human.resultPassed\": \"PASSED\",\n \"feedback.human.resultScored\": \"SCORED\",\n \"feedback.human.resultErrored\": \"ERRORED\",\n \"feedback.human.resultCompleted\": \"COMPLETED\",\n \"feedback.human.recoveryHeader\": \"RECOVERY\",\n \"feedback.human.unit.caseLock\": \"case lock\",\n \"feedback.human.unit.caseLocks\": \"case locks\",\n \"feedback.human.resultsHeader\": \"RESULTS\",\n \"feedback.human.errorsHeader\": \"ERRORS\",\n \"feedback.human.resultsMore\": \"… {{count}} more\",\n \"feedback.human.scoreSummaryLine\": \"{{scored}} scored · {{skipped}} skipped · {{errored}} errored ({{reused}} reused)\",\n \"feedback.human.reuse\": \"{{reused}} of {{total}} carried in from cache · {{toRun}} to run\",\n \"feedback.human.summaryLine\": \"{{passed}} passed · {{failed}} failed · {{errored}} errored ({{reused}} reused)\",\n \"feedback.human.summaryIncompleteLine\": \"{{passed}} passed · {{failed}} failed · {{errored}} errored · {{unstarted}} unstarted ({{reused}} reused)\",\n \"feedback.human.summaryAllReusedLine\": \"{{passed}} passed · {{failed}} failed · {{errored}} errored (all {{reused}} reused)\",\n \"feedback.human.suppressedFailures\": \"… {{count}} more failures suppressed\",\n \"feedback.human.trace\": \"Trace: niceeval show {{locator}} --execution\",\n \"feedback.human.warningsHeader\": \"WARNINGS\",\n \"feedback.phase.agentSetup\": \"agent setup\",\n \"feedback.phase.agentEnsure\": \"preparing agent\",\n \"feedback.phase.stateLoad\": \"loading experiment state\",\n \"feedback.phase.stateSave\": \"saving experiment state\",\n \"feedback.phase.evalRun\": \"running eval\",\n \"feedback.phase.sandboxCreate\": \"creating sandbox\",\n \"feedback.phase.sandboxQueue\": \"queued for sandbox\",\n \"feedback.phase.experimentSetup\": \"experiment setup\",\n \"feedback.phase.experimentTeardown\": \"experiment teardown\",\n \"feedback.phase.judgePrecheck\": \"judge precheck\",\n \"feedback.human.hookDone\": \"done\",\n \"feedback.human.hookFailed\": \"failed\",\n \"feedback.human.precheckJudge\": \"prechecking judge config\",\n \"feedback.human.precheckJudgeDone\": \"judge config ok\",\n \"feedback.human.precheckJudgeFailed\": \"judge precheck failed\",\n \"feedback.human.planExperimentConcurrency\": \"{{experimentId}} ≤{{limit}}\",\n \"feedback.human.countsWithElsewhere\": \"{{total}} total · {{reused}} reused · {{running}} running · {{elsewhere}} elsewhere · {{queued}} queued · {{passed}} passed · {{failed}} failed · {{errored}} errored · {{skipped}} skipped\",\n \"feedback.human.waitingOnAnotherRun\": \"waiting on another run\",\n \"feedback.human.lockWaitDetail\": \"{{count}} evals · pid {{pid}}\",\n \"feedback.human.lockWaitStarted\": \"waiting on another run · {{experimentId}} ({{count}} evals, pid {{pid}})\",\n \"feedback.human.lockWaitResolved\": \"lock wait resolved · {{experimentId}} ({{summary}}, {{elapsed}})\",\n \"feedback.human.lockWaitCarried\": \"{{count}} carried\",\n \"feedback.human.lockWaitDispatched\": \"{{count}} to run\",\n \"feedback.human.lockedRowSuffix\": \"locked\",\n \"feedback.phase.sandboxPrepare\": \"preparing sandbox\",\n \"feedback.phase.assertions\": \"evaluating assertions\",\n \"feedback.phase.teardown\": \"cleaning up\",\n \"feedback.phase.telemetryCollect\": \"collecting trace\",\n \"feedback.phase.telemetryConfigure\": \"configuring telemetry\",\n \"feedback.phase.workspaceBaseline\": \"preparing workspace\",\n \"feedback.phase.workspaceDiff\": \"capturing diff\",\n \"feedback.rendererError\": \" · [feedback] renderer failed while handling {{context}} (ignored): {{message}}\\n\",\n \"hitl.answerNeedsOptionOrText\": \"The object form of t.respond needs exactly one of optionId or text.\",\n \"hitl.invalidOption\": \"Answer \\\"{{optionId}}\\\" is not an option of request {{requestId}} ({{options}}).\",\n \"hitl.noOptions\": \"this request has no options\",\n \"hitl.requestMissingId\": \"This input.requested request has no stable id, so a response cannot be built — the adapter must give every pending request a stable id.\",\n \"hitl.respondAllEmpty\": \"There is no pending input.requested request; respond() / respondAll() cannot work. Confirm the turn has status waiting, then answer via t.requireInputRequest() or t.respond().\",\n \"hitl.respondEmpty\": \"t.respond(...) requires at least one answer.\",\n \"hitl.stringAmbiguous\": \"There are {{count}} pending input requests; a plain-string answer cannot be matched to one. Use the { request, optionId } or { request, text } object form to name it explicitly.\",\n \"judge.apiKeyMissing\": \"judge is missing an API key: set NICEEVAL_JUDGE_KEY, or point judge.apiKeyEnv at another environment variable.\",\n \"judge.httpError\": \"judge HTTP {{status}}: {{body}}\",\n \"judge.probeFailed\": \"judge precheck failed: {{endpoint}} ({{model}}): {{error}}\",\n \"judge.probeTimeout\": \"judge precheck failed: {{endpoint}} ({{model}}) timed out {{attempts}} times ({{seconds}}s each) — the endpoint accepts connections but never answers; first check whether other traffic on the same account is saturating the gateway's concurrency, then verify judge.baseUrl\",\n \"judge.probeMissingKey\": \"judge model {{model}} is missing an API key; configure {{envHint}}\",\n \"live.more\": \"… {{hidden}} more ({{running}} running · {{waiting}} waiting · {{done}} done)\",\n \"live.running\": \" Running {{totalRuns}} attempts ({{evals}} evals × {{configs}} configs, concurrency {{concurrency}}) {{completed}}/{{total}} done\",\n \"live.runningUnknown\": \" Running... {{completed}}/{{total}} done\",\n \"live.waiting\": \"waiting for a slot...\",\n \"local.commandTimeout\": \"Command timed out after {{timeoutMs}}ms\",\n \"local.dirMissing\": \"local sandbox directory does not exist: {{dir}}. Create it first, or point localSandbox({ dir }) at an existing directory.\",\n \"local.dirNotWritable\": \"local sandbox directory is not writable: {{dir}} ({{message}})\",\n \"local.notARepo\": \"the current directory (and its parents) is not inside a git repository, so localSandbox() has no deterministic root to run in. cd into the repository you want to evaluate, or pass an explicit directory: localSandbox({ dir: \\\"/path/to/repo\\\" }).\",\n \"local.userUnsupported\": 'the local sandbox provider does not support execution identity overrides, got { user: \"{{user}}\" } — niceeval does not escalate or switch identity on your machine. Use a container provider (docker / e2b / vercel) for steps that need a different user.',\n \"report.assertionThreshold\": \" (got {{score}} < {{threshold}})\",\n \"report.error\": \"error\",\n \"report.errored\": \"errored\",\n \"report.failed\": \"failed\",\n \"report.gate\": \"gate\",\n \"report.passed\": \"passed\",\n \"report.result\": \"\\nResult: {{parts}} ({{duration}} · {{tokens}}{{cost}})\\n\\n\",\n \"report.runStart\": \"\\nRunning {{count}} evals{{extra}} (concurrency {{concurrency}})\\n\\n\",\n \"report.runStartExtra\": \" × {{configs}} configs = {{totalRuns}} runs\",\n \"report.viewHint\": \"Run `pnpm exec niceeval view` to see the results in the graphical viewer.\\n\",\n \"report.skipped\": \"skipped\",\n \"report.soft\": \"soft\",\n \"report.summary.errored\": \"{{count}} errored\",\n \"report.summary.failed\": \"{{count}} failed\",\n \"report.summary.passed\": \"{{count}} passed\",\n \"report.summary.skipped\": \"{{count}} skipped\",\n \"report.table.agent\": \"Agent\",\n \"report.table.avgDuration\": \"Avg Duration\",\n \"report.table.cost\": \"Cost\",\n \"report.table.default\": \"default\",\n \"report.table.duration\": \"Duration\",\n \"report.table.eval\": \"Eval\",\n \"report.table.evalTitle\": \"Eval Record:\",\n \"report.table.experiment\": \"Experiment\",\n \"report.table.experimentsTitle\": \"Experiments\",\n \"report.table.model\": \"Model\",\n \"report.table.reason\": \"Reason\",\n \"report.table.result\": \"Result\",\n \"report.table.runs\": \"Runs\",\n \"report.table.status\": \"Status\",\n \"report.table.successRate\": \"Success Rate\",\n \"report.table.tokens\": \"Tokens\",\n \"otel.noSpans\": \"otel: 0 spans this turn — endpoint not wired? (env not injected / service not restarted / no flush)\",\n \"otel.portInUse\": \"OTLP receiver port {{port}} is already in use (another process is bound to it). Pick a free port in defineConfig({ telemetry: { port } }), or stop whatever is using {{port}} and retry.\",\n \"otel.windowAttribution\": \"otel: spans missing our traceparent, attributing by time window (turns for this agent serialized; concurrency resumes once W3C propagation is confirmed)\",\n \"runner.diffProgress\": \"captured diff: {{changed}} changed / {{deleted}} deleted\",\n \"runner.failFast\": \"error {{code}} recurred consecutively on {{evalId}}; treating it as deterministic and skipping the remaining attempts for this config (fail-fast).\",\n \"runner.driveAgent\": \"driving agent...\",\n \"runner.evalSetup\": \"eval setup (installing dependencies)...\",\n \"runner.interrupted\": \" · interrupted: sandbox containers cleaned up; printing partial results completed so far.\\n\",\n \"runner.otlpInSandbox\": \"OTLP in-sandbox collector -> {{endpoint}}{{proto}}\",\n \"runner.otlpOverride\": \"OTLP receiver (host override) -> {{endpoint}}\",\n \"runner.otlpReceiver\": \"OTLP receiver -> {{endpoint}}{{proto}}\",\n \"runner.otlpShared\": \"OTLP shared receiver (run-scoped) -> {{endpoint}}\",\n \"runner.providerExclusiveSerial\": \" · [sandbox] the \\\"{{provider}}\\\" provider forces attempts to run one at a time (exclusive); concurrency stays at 1 for it regardless of --max-concurrency {{concurrency}}\\n\",\n \"runner.directAgentSandboxUnavailable\": \"Direct Agents do not have sandbox.{{method}}; use a Sandbox Agent or remove workspace assertions.\",\n \"runner.reporterDiagnostic\": \" · [diagnostic] {{stage}} failed (ignored): {{message}}\\n\",\n \"runner.skip\": \"skip: {{reason}}\",\n \"runner.startAgentSetup\": \"agent setup (install CLI / write config)...\",\n \"runner.startAgentEnsure\": \"preparing agent...\",\n \"runner.startAgentTracing\": \"agent tracing (write OTEL export config)...\",\n \"runner.startSandbox\": \"starting sandbox...\",\n \"runner.startSandboxSetup\": \"sandbox setup (environment provisioning hooks)...\",\n \"runner.startSandboxTeardown\": \"sandbox teardown (environment provisioning hooks)...\",\n \"runner.timeout\": \"attempt timed out ({{timeoutMs}}ms, from {{source}})\\nRecent progress:\\n{{recentLogs}}\",\n \"runner.traceSelected\": \" -> kept {{count}} semantic spans\",\n \"runner.useDirectAgent\": \"using Direct Agent (no Sandbox created)...\",\n \"sandbox.deadlineExceedsSession\": \"error: this attempt's timeout ({{timeoutMs}}ms) is longer than what a single {{provider}} session lives ({{limitMs}}ms); the sandbox would be reclaimed mid-attempt.\\n\" +\n \" fix: lower timeoutMs below {{limitMs}}ms, or declare a longer lifetimeMs on the sandbox spec if your plan allows it.\\n\",\n \"sandbox.providerNotImplemented\": \"{{provider}} sandbox provider is not implemented; use docker, vercel, e2b, or local\",\n \"sandbox.missingSpec\": \"sandbox agent needs a template-bearing SandboxLayer, but neither the Eval nor Experiment declared one — use dockerSandbox({ source: { type: \\\"image\\\", image } }), dockerSandbox({ source: { type: \\\"dockerfile\\\", context } }), dockerComposeSandbox({ file, workspaceService }), vercelSandbox({ snapshotId }), e2bSandbox({ template }), or localSandbox() from \\\"niceeval/sandbox\\\".\\n\" +\n \" Docs: node_modules/niceeval/docs-site/zh/tutorials/sandbox-providers.mdx\",\n \"sandbox.dependencyMissing.docker\": \"Docker sandbox requires 'dockerode'. Install it with: pnpm add dockerode @types/dockerode\",\n \"sandbox.dependencyMissing.e2b\": \"E2B sandbox requires 'e2b'. Install it with: pnpm add e2b\",\n \"sandbox.dependencyMissing.vercel\": \"Vercel sandbox requires '@vercel/sandbox'. Install it with: pnpm add @vercel/sandbox\",\n \"sandbox.forceCleanup\": \" · [sandbox] force-cleaning {{count}} sandboxes...\\n\",\n \"sandbox.provisionReconcileFailed\": \" · [sandbox] provision reconcile failed, aborting retry (a possibly-created instance could not be verified/killed): {{error}}\\n\",\n \"sandbox.provisionRetry\": \" · [sandbox] provisioning rate-limited, retrying in {{delayMs}}ms (attempt {{attempt}}/{{maxAttempts}})...\\n\",\n \"sandbox.stopFailed\": \" · [sandbox] failed to stop sandbox {{id}} (ignored; it keeps running, and billing, until this provider's own timeout — if it has one — reclaims it): {{message}}\\n\",\n \"sandbox.stopTimeout\": \"stop timed out ({{timeoutMs}}ms)\",\n \"sandbox.transferTimeout\": \"{{provider}} {{operation}} timed out transferring {{object}}. This is the provider SDK / HTTP round trip timing out, not the attempt's timeoutMs budget — raising --timeout will not help. \" +\n \"fix: split the transfer into smaller batches, bake large fixtures into the image/template, or download them inside the sandbox instead.\",\n \"o11y.sandboxTempNotWritable\": \"the in-sandbox OTLP collector cannot write {{path}}: the system temp directory is not writable by the sandbox's run user. This is an image environment defect, not an eval or niceeval configuration problem — \" +\n \"a provider's writability guarantee must cover more than workdir, since the runner puts the collector and the change ledger outside it. \" +\n \"fix: make /tmp writable for the run user (`chmod 1777 /tmp` in the image, or pick an image/user that does not mount /tmp read-only), then rerun — finished attempts carry over.\",\n \"assertions.evaluationError\": \"assertion evaluation error: {{error}}\",\n \"assertions.scoreInvalid\": \"t.score({{label}}, {{n}}) is invalid; points must be a non-negative finite number (n >= 0).\",\n \"session.rerunOriginal\": \"rerun the original command\",\n \"session.nextRerunOriginal\": \"NEXT rerun the original command\",\n \"session.fileFallback\": \"[file]\",\n \"session.tools\": \"{{count}} tools\",\n \"session.turn.primary\": \"turn {{turn}}\",\n \"session.turn.secondary\": \"session {{session}} · turn {{turn}}\",\n \"session.turnRetry\": \"turn retry {{attempt}}/{{maxAttempts}} ({{reason}}) — waiting {{seconds}}s\",\n \"session.turnRetryBudgetExhausted\": \" · attempt retry budget exhausted ({{maxRetries}} retries, {{reason}})\",\n \"session.turnRetrySendExhausted\": \" · retries exhausted ({{maxAttempts}} attempts, {{reason}})\",\n \"util.requiredEnv\": \"Missing required environment variable {{name}} (configure it in .env).\",\n \"vercel.fileNotFound\": \"File not found: {{path}}\",\n \"vercel.rotateFailed\": \"[VercelSandbox] session rotate failed ({{seconds}}s): {{error}}\",\n \"vercel.rotated\": \"[VercelSandbox] session rotated after {{seconds}}s -> {{sessionId}}\",\n \"vercel.userUnsupported\": 'the Vercel Sandbox provider only supports { user: \"root\" } (mapped to sudo: true) at the command level, got { user: \"{{user}}\" }. Use a container provider (docker / e2b) for other identities.',\n} as const;\nexport type MessageKey = keyof typeof en;\nexport type Messages = globalThis.Record<MessageKey, string>;\n"]}
|
package/dist/i18n/en.d.cts
CHANGED
|
@@ -114,7 +114,7 @@ export declare const en: {
|
|
|
114
114
|
readonly "cli.flag.acceptNoSuchDifference": string;
|
|
115
115
|
readonly "cli.flag.invalidNumber": "Flag --{{flag}} expects a number, got \"{{value}}\".\n";
|
|
116
116
|
readonly "cli.flag.outputRemoved": "error: unknown option '--output'\n fix: run without a flag for human text; use --json for the machine feed\n";
|
|
117
|
-
readonly "cli.flag.strictRemoved": "Unknown option: --strict\nExpress required facts with t.check(...) or await t.
|
|
117
|
+
readonly "cli.flag.strictRemoved": "Unknown option: --strict\nExpress required facts with t.check(...) or await t.check(...).orStop() in the Eval source.\n";
|
|
118
118
|
readonly "runner.budgetUnenforceable": "budget for {{budgetKey}}: several attempts completed without any cost data (agent reports no usage and the model is not in the price table) — the budget cannot be enforced for this agent; continuing without the guard.\n";
|
|
119
119
|
readonly "runner.experimentTeardownFailed": "teardown for experiment {{experimentId}} failed: {{message}}. Record are unaffected, but host-side resources started by this experiment may not have been released; check manually.\n";
|
|
120
120
|
readonly "runner.cleanupTimeout": "cleanup timed out after {{timeoutMs}}ms\n";
|
|
@@ -122,7 +122,16 @@ export declare const en: {
|
|
|
122
122
|
readonly "runner.experimentTeardownLate": "experiment {{experimentId}}'s teardown was not triggered by the normal countdown path; it has been executed by the end-of-run sweep instead. Record are unaffected; seeing this line means an unlocated intermittent scheduling issue fired — please record this run in the memory ledger.\n";
|
|
123
123
|
readonly "runner.teardownRegistrationWriteFailed": "writing the crash-recovery teardown registration for experiment {{experimentId}} failed: {{message}}. The run continues normally, but a SIGKILL during this run cannot be recovered via `niceeval exp --teardown` or the startup self-heal — check disk space/permissions under .niceeval/teardowns/.\n";
|
|
124
124
|
readonly "runner.coordinationRecovered": "recovered expired coordination state for {{experimentId}}; this run continues. Further recoveries are summarized at completion.\n";
|
|
125
|
-
readonly "runner.
|
|
125
|
+
readonly "runner.sharedStateWaiting": "waiting for sharedState key {{key}} to be released; this Invocation will not take it over automatically.\n";
|
|
126
|
+
readonly "runner.sharedStateRecoveryRequired": "sharedState key {{key}} requires explicit recovery before another Invocation can use it. Inspect immutable owner evidence with `niceeval exp <selector> --teardown --recover-shared-state <key>`.\n";
|
|
127
|
+
readonly "runner.sharedStateExplicitRecovered": "explicitly recovered sharedState key {{key}} for experiment {{experimentId}}.\n";
|
|
128
|
+
readonly "cli.exp.sharedStateRecoveryFlags": "sharedState recovery requires `--teardown --recover-shared-state <key> --owner-token <token> --confirm-owner-terminated --confirm-remote-quiesced`.\n";
|
|
129
|
+
readonly "cli.exp.sharedStateRecoveryJsonUnsupported": "error: explicit sharedState recovery does not support --json. Retry without --json; this recovery flow has a human-only interface.\n";
|
|
130
|
+
readonly "cli.exp.sharedStateRecoveryTeardownRequired": "error: sharedState recovery requires the selected Experiment {{experimentId}} to declare teardown as a function. The active generation was left unchanged.\n";
|
|
131
|
+
readonly "cli.exp.sharedStateRecoveryTarget": "sharedState recovery target:\n key: {{key}}\n experiment: {{experimentId}}\n owner token: {{ownerToken}}\n host: {{host}}\n PID: {{pid}}\n process identity: {{processIdentity}}\n heartbeat: {{heartbeatAt}}\n";
|
|
132
|
+
readonly "cli.exp.sharedStateRecoveryAlreadyReleased": "sharedState key {{key}} was already released after its cleanup; its immutable recovery generation is already complete.\n";
|
|
133
|
+
readonly "cli.exp.sharedStateRecoveryRegistrationFailed": "error: sharedState recovery for {{key}} could not clear the exact interrupted teardown registration: {{message}}. The recovery generation remains closed.\n";
|
|
134
|
+
readonly "cli.exp.sharedStateRecoveryAlreadyReleasedRegistrationFailed": "error: sharedState key {{key}} was already released, but NiceEval could not clear the exact stale teardown registration: {{message}}. It did not rerun teardown.\n";
|
|
126
135
|
readonly "runner.dispatchHaltedExperiment": "experiment halted (dispatch-halted): {{message}}\n";
|
|
127
136
|
readonly "runner.dispatchHaltedEval": "eval halted: {{message}}\n";
|
|
128
137
|
readonly "judge.modelMissing": string;
|
|
@@ -202,7 +211,9 @@ export declare const en: {
|
|
|
202
211
|
readonly "define.experimentAgentRequired": "defineExperiment requires agent.";
|
|
203
212
|
readonly "define.experimentFlagNotJson": "experiment.flags.{{key}} is not JSON-serializable (functions / undefined / cycles / bigint are not allowed); flags are persisted verbatim into result runs and must be plain JSON.";
|
|
204
213
|
readonly "define.experimentLabelInvalid": "experiment.labels.{{key}} must be a string or a finite number; labels are report-side grouping coordinates persisted verbatim into result runs.";
|
|
214
|
+
readonly "define.experimentSharedStateInvalid": "experiment.sharedState must be exactly { key }, where key is a stable, non-secret string matching [a-z0-9][a-z0-9._/-]{0,127}.";
|
|
205
215
|
readonly "define.experimentSetupNotFunction": "experiment.setup must be a function ((ctx) => void); use experiment.teardown for cleanup; to prepare the in-sandbox environment per experiment, chain .setup() hooks on the sandbox spec instead.";
|
|
216
|
+
readonly "define.experimentTeardownNotFunction": "Experiment teardown must be a function ((ctx) => void); use a function-valued paired lifecycle hook so normal cleanup and explicit sharedState recovery can both execute it.";
|
|
206
217
|
readonly "define.experimentClassifyFailureNotFunction": "experiment.classifyFailure must be a function ((failure) => FailureClass | undefined); it classifies failures that surface as third-party errors and must return undefined for anything it does not recognize.";
|
|
207
218
|
readonly "define.experimentIdRejected": "defineExperiment does not accept id; ids are derived from file paths.";
|
|
208
219
|
readonly "define.sandboxAgentNameRequired": "defineSandboxAgent requires name.";
|
|
@@ -237,14 +248,16 @@ export declare const en: {
|
|
|
237
248
|
readonly "feedback.human.resultIncomplete": "INCOMPLETE";
|
|
238
249
|
readonly "feedback.human.resultInterrupted": "INTERRUPTED";
|
|
239
250
|
readonly "feedback.human.resultPassed": "PASSED";
|
|
251
|
+
readonly "feedback.human.resultScored": "SCORED";
|
|
252
|
+
readonly "feedback.human.resultErrored": "ERRORED";
|
|
253
|
+
readonly "feedback.human.resultCompleted": "COMPLETED";
|
|
240
254
|
readonly "feedback.human.recoveryHeader": "RECOVERY";
|
|
241
|
-
readonly "feedback.human.coordinationRecoveredSummary": "{{slots}} · {{locks}}";
|
|
242
|
-
readonly "feedback.human.unit.concurrencySlot": "concurrency slot";
|
|
243
|
-
readonly "feedback.human.unit.concurrencySlots": "concurrency slots";
|
|
244
255
|
readonly "feedback.human.unit.caseLock": "case lock";
|
|
245
256
|
readonly "feedback.human.unit.caseLocks": "case locks";
|
|
246
257
|
readonly "feedback.human.resultsHeader": "RESULTS";
|
|
258
|
+
readonly "feedback.human.errorsHeader": "ERRORS";
|
|
247
259
|
readonly "feedback.human.resultsMore": "… {{count}} more";
|
|
260
|
+
readonly "feedback.human.scoreSummaryLine": "{{scored}} scored · {{skipped}} skipped · {{errored}} errored ({{reused}} reused)";
|
|
248
261
|
readonly "feedback.human.reuse": "{{reused}} of {{total}} carried in from cache · {{toRun}} to run";
|
|
249
262
|
readonly "feedback.human.summaryLine": "{{passed}} passed · {{failed}} failed · {{errored}} errored ({{reused}} reused)";
|
|
250
263
|
readonly "feedback.human.summaryIncompleteLine": "{{passed}} passed · {{failed}} failed · {{errored}} errored · {{unstarted}} unstarted ({{reused}} reused)";
|
|
@@ -288,7 +301,7 @@ export declare const en: {
|
|
|
288
301
|
readonly "hitl.invalidOption": "Answer \"{{optionId}}\" is not an option of request {{requestId}} ({{options}}).";
|
|
289
302
|
readonly "hitl.noOptions": "this request has no options";
|
|
290
303
|
readonly "hitl.requestMissingId": "This input.requested request has no stable id, so a response cannot be built — the adapter must give every pending request a stable id.";
|
|
291
|
-
readonly "hitl.respondAllEmpty": "There is no pending input.requested request; respond() / respondAll() cannot work. Confirm the turn
|
|
304
|
+
readonly "hitl.respondAllEmpty": "There is no pending input.requested request; respond() / respondAll() cannot work. Confirm the turn has status waiting, then answer via t.requireInputRequest() or t.respond().";
|
|
292
305
|
readonly "hitl.respondEmpty": "t.respond(...) requires at least one answer.";
|
|
293
306
|
readonly "hitl.stringAmbiguous": "There are {{count}} pending input requests; a plain-string answer cannot be matched to one. Use the { request, optionId } or { request, text } object form to name it explicitly.";
|
|
294
307
|
readonly "judge.apiKeyMissing": "judge is missing an API key: set NICEEVAL_JUDGE_KEY, or point judge.apiKeyEnv at another environment variable.";
|
package/dist/i18n/en.d.mts
CHANGED
|
@@ -114,7 +114,7 @@ export declare const en: {
|
|
|
114
114
|
readonly "cli.flag.acceptNoSuchDifference": string;
|
|
115
115
|
readonly "cli.flag.invalidNumber": "Flag --{{flag}} expects a number, got \"{{value}}\".\n";
|
|
116
116
|
readonly "cli.flag.outputRemoved": "error: unknown option '--output'\n fix: run without a flag for human text; use --json for the machine feed\n";
|
|
117
|
-
readonly "cli.flag.strictRemoved": "Unknown option: --strict\nExpress required facts with t.check(...) or await t.
|
|
117
|
+
readonly "cli.flag.strictRemoved": "Unknown option: --strict\nExpress required facts with t.check(...) or await t.check(...).orStop() in the Eval source.\n";
|
|
118
118
|
readonly "runner.budgetUnenforceable": "budget for {{budgetKey}}: several attempts completed without any cost data (agent reports no usage and the model is not in the price table) — the budget cannot be enforced for this agent; continuing without the guard.\n";
|
|
119
119
|
readonly "runner.experimentTeardownFailed": "teardown for experiment {{experimentId}} failed: {{message}}. Record are unaffected, but host-side resources started by this experiment may not have been released; check manually.\n";
|
|
120
120
|
readonly "runner.cleanupTimeout": "cleanup timed out after {{timeoutMs}}ms\n";
|
|
@@ -122,7 +122,16 @@ export declare const en: {
|
|
|
122
122
|
readonly "runner.experimentTeardownLate": "experiment {{experimentId}}'s teardown was not triggered by the normal countdown path; it has been executed by the end-of-run sweep instead. Record are unaffected; seeing this line means an unlocated intermittent scheduling issue fired — please record this run in the memory ledger.\n";
|
|
123
123
|
readonly "runner.teardownRegistrationWriteFailed": "writing the crash-recovery teardown registration for experiment {{experimentId}} failed: {{message}}. The run continues normally, but a SIGKILL during this run cannot be recovered via `niceeval exp --teardown` or the startup self-heal — check disk space/permissions under .niceeval/teardowns/.\n";
|
|
124
124
|
readonly "runner.coordinationRecovered": "recovered expired coordination state for {{experimentId}}; this run continues. Further recoveries are summarized at completion.\n";
|
|
125
|
-
readonly "runner.
|
|
125
|
+
readonly "runner.sharedStateWaiting": "waiting for sharedState key {{key}} to be released; this Invocation will not take it over automatically.\n";
|
|
126
|
+
readonly "runner.sharedStateRecoveryRequired": "sharedState key {{key}} requires explicit recovery before another Invocation can use it. Inspect immutable owner evidence with `niceeval exp <selector> --teardown --recover-shared-state <key>`.\n";
|
|
127
|
+
readonly "runner.sharedStateExplicitRecovered": "explicitly recovered sharedState key {{key}} for experiment {{experimentId}}.\n";
|
|
128
|
+
readonly "cli.exp.sharedStateRecoveryFlags": "sharedState recovery requires `--teardown --recover-shared-state <key> --owner-token <token> --confirm-owner-terminated --confirm-remote-quiesced`.\n";
|
|
129
|
+
readonly "cli.exp.sharedStateRecoveryJsonUnsupported": "error: explicit sharedState recovery does not support --json. Retry without --json; this recovery flow has a human-only interface.\n";
|
|
130
|
+
readonly "cli.exp.sharedStateRecoveryTeardownRequired": "error: sharedState recovery requires the selected Experiment {{experimentId}} to declare teardown as a function. The active generation was left unchanged.\n";
|
|
131
|
+
readonly "cli.exp.sharedStateRecoveryTarget": "sharedState recovery target:\n key: {{key}}\n experiment: {{experimentId}}\n owner token: {{ownerToken}}\n host: {{host}}\n PID: {{pid}}\n process identity: {{processIdentity}}\n heartbeat: {{heartbeatAt}}\n";
|
|
132
|
+
readonly "cli.exp.sharedStateRecoveryAlreadyReleased": "sharedState key {{key}} was already released after its cleanup; its immutable recovery generation is already complete.\n";
|
|
133
|
+
readonly "cli.exp.sharedStateRecoveryRegistrationFailed": "error: sharedState recovery for {{key}} could not clear the exact interrupted teardown registration: {{message}}. The recovery generation remains closed.\n";
|
|
134
|
+
readonly "cli.exp.sharedStateRecoveryAlreadyReleasedRegistrationFailed": "error: sharedState key {{key}} was already released, but NiceEval could not clear the exact stale teardown registration: {{message}}. It did not rerun teardown.\n";
|
|
126
135
|
readonly "runner.dispatchHaltedExperiment": "experiment halted (dispatch-halted): {{message}}\n";
|
|
127
136
|
readonly "runner.dispatchHaltedEval": "eval halted: {{message}}\n";
|
|
128
137
|
readonly "judge.modelMissing": string;
|
|
@@ -202,7 +211,9 @@ export declare const en: {
|
|
|
202
211
|
readonly "define.experimentAgentRequired": "defineExperiment requires agent.";
|
|
203
212
|
readonly "define.experimentFlagNotJson": "experiment.flags.{{key}} is not JSON-serializable (functions / undefined / cycles / bigint are not allowed); flags are persisted verbatim into result runs and must be plain JSON.";
|
|
204
213
|
readonly "define.experimentLabelInvalid": "experiment.labels.{{key}} must be a string or a finite number; labels are report-side grouping coordinates persisted verbatim into result runs.";
|
|
214
|
+
readonly "define.experimentSharedStateInvalid": "experiment.sharedState must be exactly { key }, where key is a stable, non-secret string matching [a-z0-9][a-z0-9._/-]{0,127}.";
|
|
205
215
|
readonly "define.experimentSetupNotFunction": "experiment.setup must be a function ((ctx) => void); use experiment.teardown for cleanup; to prepare the in-sandbox environment per experiment, chain .setup() hooks on the sandbox spec instead.";
|
|
216
|
+
readonly "define.experimentTeardownNotFunction": "Experiment teardown must be a function ((ctx) => void); use a function-valued paired lifecycle hook so normal cleanup and explicit sharedState recovery can both execute it.";
|
|
206
217
|
readonly "define.experimentClassifyFailureNotFunction": "experiment.classifyFailure must be a function ((failure) => FailureClass | undefined); it classifies failures that surface as third-party errors and must return undefined for anything it does not recognize.";
|
|
207
218
|
readonly "define.experimentIdRejected": "defineExperiment does not accept id; ids are derived from file paths.";
|
|
208
219
|
readonly "define.sandboxAgentNameRequired": "defineSandboxAgent requires name.";
|
|
@@ -237,14 +248,16 @@ export declare const en: {
|
|
|
237
248
|
readonly "feedback.human.resultIncomplete": "INCOMPLETE";
|
|
238
249
|
readonly "feedback.human.resultInterrupted": "INTERRUPTED";
|
|
239
250
|
readonly "feedback.human.resultPassed": "PASSED";
|
|
251
|
+
readonly "feedback.human.resultScored": "SCORED";
|
|
252
|
+
readonly "feedback.human.resultErrored": "ERRORED";
|
|
253
|
+
readonly "feedback.human.resultCompleted": "COMPLETED";
|
|
240
254
|
readonly "feedback.human.recoveryHeader": "RECOVERY";
|
|
241
|
-
readonly "feedback.human.coordinationRecoveredSummary": "{{slots}} · {{locks}}";
|
|
242
|
-
readonly "feedback.human.unit.concurrencySlot": "concurrency slot";
|
|
243
|
-
readonly "feedback.human.unit.concurrencySlots": "concurrency slots";
|
|
244
255
|
readonly "feedback.human.unit.caseLock": "case lock";
|
|
245
256
|
readonly "feedback.human.unit.caseLocks": "case locks";
|
|
246
257
|
readonly "feedback.human.resultsHeader": "RESULTS";
|
|
258
|
+
readonly "feedback.human.errorsHeader": "ERRORS";
|
|
247
259
|
readonly "feedback.human.resultsMore": "… {{count}} more";
|
|
260
|
+
readonly "feedback.human.scoreSummaryLine": "{{scored}} scored · {{skipped}} skipped · {{errored}} errored ({{reused}} reused)";
|
|
248
261
|
readonly "feedback.human.reuse": "{{reused}} of {{total}} carried in from cache · {{toRun}} to run";
|
|
249
262
|
readonly "feedback.human.summaryLine": "{{passed}} passed · {{failed}} failed · {{errored}} errored ({{reused}} reused)";
|
|
250
263
|
readonly "feedback.human.summaryIncompleteLine": "{{passed}} passed · {{failed}} failed · {{errored}} errored · {{unstarted}} unstarted ({{reused}} reused)";
|
|
@@ -288,7 +301,7 @@ export declare const en: {
|
|
|
288
301
|
readonly "hitl.invalidOption": "Answer \"{{optionId}}\" is not an option of request {{requestId}} ({{options}}).";
|
|
289
302
|
readonly "hitl.noOptions": "this request has no options";
|
|
290
303
|
readonly "hitl.requestMissingId": "This input.requested request has no stable id, so a response cannot be built — the adapter must give every pending request a stable id.";
|
|
291
|
-
readonly "hitl.respondAllEmpty": "There is no pending input.requested request; respond() / respondAll() cannot work. Confirm the turn
|
|
304
|
+
readonly "hitl.respondAllEmpty": "There is no pending input.requested request; respond() / respondAll() cannot work. Confirm the turn has status waiting, then answer via t.requireInputRequest() or t.respond().";
|
|
292
305
|
readonly "hitl.respondEmpty": "t.respond(...) requires at least one answer.";
|
|
293
306
|
readonly "hitl.stringAmbiguous": "There are {{count}} pending input requests; a plain-string answer cannot be matched to one. Use the { request, optionId } or { request, text } object form to name it explicitly.";
|
|
294
307
|
readonly "judge.apiKeyMissing": "judge is missing an API key: set NICEEVAL_JUDGE_KEY, or point judge.apiKeyEnv at another environment variable.";
|
package/dist/i18n/en.d.ts
CHANGED
|
@@ -114,7 +114,7 @@ export declare const en: {
|
|
|
114
114
|
readonly "cli.flag.acceptNoSuchDifference": string;
|
|
115
115
|
readonly "cli.flag.invalidNumber": "Flag --{{flag}} expects a number, got \"{{value}}\".\n";
|
|
116
116
|
readonly "cli.flag.outputRemoved": "error: unknown option '--output'\n fix: run without a flag for human text; use --json for the machine feed\n";
|
|
117
|
-
readonly "cli.flag.strictRemoved": "Unknown option: --strict\nExpress required facts with t.check(...) or await t.
|
|
117
|
+
readonly "cli.flag.strictRemoved": "Unknown option: --strict\nExpress required facts with t.check(...) or await t.check(...).orStop() in the Eval source.\n";
|
|
118
118
|
readonly "runner.budgetUnenforceable": "budget for {{budgetKey}}: several attempts completed without any cost data (agent reports no usage and the model is not in the price table) — the budget cannot be enforced for this agent; continuing without the guard.\n";
|
|
119
119
|
readonly "runner.experimentTeardownFailed": "teardown for experiment {{experimentId}} failed: {{message}}. Record are unaffected, but host-side resources started by this experiment may not have been released; check manually.\n";
|
|
120
120
|
readonly "runner.cleanupTimeout": "cleanup timed out after {{timeoutMs}}ms\n";
|
|
@@ -122,7 +122,16 @@ export declare const en: {
|
|
|
122
122
|
readonly "runner.experimentTeardownLate": "experiment {{experimentId}}'s teardown was not triggered by the normal countdown path; it has been executed by the end-of-run sweep instead. Record are unaffected; seeing this line means an unlocated intermittent scheduling issue fired — please record this run in the memory ledger.\n";
|
|
123
123
|
readonly "runner.teardownRegistrationWriteFailed": "writing the crash-recovery teardown registration for experiment {{experimentId}} failed: {{message}}. The run continues normally, but a SIGKILL during this run cannot be recovered via `niceeval exp --teardown` or the startup self-heal — check disk space/permissions under .niceeval/teardowns/.\n";
|
|
124
124
|
readonly "runner.coordinationRecovered": "recovered expired coordination state for {{experimentId}}; this run continues. Further recoveries are summarized at completion.\n";
|
|
125
|
-
readonly "runner.
|
|
125
|
+
readonly "runner.sharedStateWaiting": "waiting for sharedState key {{key}} to be released; this Invocation will not take it over automatically.\n";
|
|
126
|
+
readonly "runner.sharedStateRecoveryRequired": "sharedState key {{key}} requires explicit recovery before another Invocation can use it. Inspect immutable owner evidence with `niceeval exp <selector> --teardown --recover-shared-state <key>`.\n";
|
|
127
|
+
readonly "runner.sharedStateExplicitRecovered": "explicitly recovered sharedState key {{key}} for experiment {{experimentId}}.\n";
|
|
128
|
+
readonly "cli.exp.sharedStateRecoveryFlags": "sharedState recovery requires `--teardown --recover-shared-state <key> --owner-token <token> --confirm-owner-terminated --confirm-remote-quiesced`.\n";
|
|
129
|
+
readonly "cli.exp.sharedStateRecoveryJsonUnsupported": "error: explicit sharedState recovery does not support --json. Retry without --json; this recovery flow has a human-only interface.\n";
|
|
130
|
+
readonly "cli.exp.sharedStateRecoveryTeardownRequired": "error: sharedState recovery requires the selected Experiment {{experimentId}} to declare teardown as a function. The active generation was left unchanged.\n";
|
|
131
|
+
readonly "cli.exp.sharedStateRecoveryTarget": "sharedState recovery target:\n key: {{key}}\n experiment: {{experimentId}}\n owner token: {{ownerToken}}\n host: {{host}}\n PID: {{pid}}\n process identity: {{processIdentity}}\n heartbeat: {{heartbeatAt}}\n";
|
|
132
|
+
readonly "cli.exp.sharedStateRecoveryAlreadyReleased": "sharedState key {{key}} was already released after its cleanup; its immutable recovery generation is already complete.\n";
|
|
133
|
+
readonly "cli.exp.sharedStateRecoveryRegistrationFailed": "error: sharedState recovery for {{key}} could not clear the exact interrupted teardown registration: {{message}}. The recovery generation remains closed.\n";
|
|
134
|
+
readonly "cli.exp.sharedStateRecoveryAlreadyReleasedRegistrationFailed": "error: sharedState key {{key}} was already released, but NiceEval could not clear the exact stale teardown registration: {{message}}. It did not rerun teardown.\n";
|
|
126
135
|
readonly "runner.dispatchHaltedExperiment": "experiment halted (dispatch-halted): {{message}}\n";
|
|
127
136
|
readonly "runner.dispatchHaltedEval": "eval halted: {{message}}\n";
|
|
128
137
|
readonly "judge.modelMissing": string;
|
|
@@ -202,7 +211,9 @@ export declare const en: {
|
|
|
202
211
|
readonly "define.experimentAgentRequired": "defineExperiment requires agent.";
|
|
203
212
|
readonly "define.experimentFlagNotJson": "experiment.flags.{{key}} is not JSON-serializable (functions / undefined / cycles / bigint are not allowed); flags are persisted verbatim into result runs and must be plain JSON.";
|
|
204
213
|
readonly "define.experimentLabelInvalid": "experiment.labels.{{key}} must be a string or a finite number; labels are report-side grouping coordinates persisted verbatim into result runs.";
|
|
214
|
+
readonly "define.experimentSharedStateInvalid": "experiment.sharedState must be exactly { key }, where key is a stable, non-secret string matching [a-z0-9][a-z0-9._/-]{0,127}.";
|
|
205
215
|
readonly "define.experimentSetupNotFunction": "experiment.setup must be a function ((ctx) => void); use experiment.teardown for cleanup; to prepare the in-sandbox environment per experiment, chain .setup() hooks on the sandbox spec instead.";
|
|
216
|
+
readonly "define.experimentTeardownNotFunction": "Experiment teardown must be a function ((ctx) => void); use a function-valued paired lifecycle hook so normal cleanup and explicit sharedState recovery can both execute it.";
|
|
206
217
|
readonly "define.experimentClassifyFailureNotFunction": "experiment.classifyFailure must be a function ((failure) => FailureClass | undefined); it classifies failures that surface as third-party errors and must return undefined for anything it does not recognize.";
|
|
207
218
|
readonly "define.experimentIdRejected": "defineExperiment does not accept id; ids are derived from file paths.";
|
|
208
219
|
readonly "define.sandboxAgentNameRequired": "defineSandboxAgent requires name.";
|
|
@@ -237,14 +248,16 @@ export declare const en: {
|
|
|
237
248
|
readonly "feedback.human.resultIncomplete": "INCOMPLETE";
|
|
238
249
|
readonly "feedback.human.resultInterrupted": "INTERRUPTED";
|
|
239
250
|
readonly "feedback.human.resultPassed": "PASSED";
|
|
251
|
+
readonly "feedback.human.resultScored": "SCORED";
|
|
252
|
+
readonly "feedback.human.resultErrored": "ERRORED";
|
|
253
|
+
readonly "feedback.human.resultCompleted": "COMPLETED";
|
|
240
254
|
readonly "feedback.human.recoveryHeader": "RECOVERY";
|
|
241
|
-
readonly "feedback.human.coordinationRecoveredSummary": "{{slots}} · {{locks}}";
|
|
242
|
-
readonly "feedback.human.unit.concurrencySlot": "concurrency slot";
|
|
243
|
-
readonly "feedback.human.unit.concurrencySlots": "concurrency slots";
|
|
244
255
|
readonly "feedback.human.unit.caseLock": "case lock";
|
|
245
256
|
readonly "feedback.human.unit.caseLocks": "case locks";
|
|
246
257
|
readonly "feedback.human.resultsHeader": "RESULTS";
|
|
258
|
+
readonly "feedback.human.errorsHeader": "ERRORS";
|
|
247
259
|
readonly "feedback.human.resultsMore": "… {{count}} more";
|
|
260
|
+
readonly "feedback.human.scoreSummaryLine": "{{scored}} scored · {{skipped}} skipped · {{errored}} errored ({{reused}} reused)";
|
|
248
261
|
readonly "feedback.human.reuse": "{{reused}} of {{total}} carried in from cache · {{toRun}} to run";
|
|
249
262
|
readonly "feedback.human.summaryLine": "{{passed}} passed · {{failed}} failed · {{errored}} errored ({{reused}} reused)";
|
|
250
263
|
readonly "feedback.human.summaryIncompleteLine": "{{passed}} passed · {{failed}} failed · {{errored}} errored · {{unstarted}} unstarted ({{reused}} reused)";
|
|
@@ -288,7 +301,7 @@ export declare const en: {
|
|
|
288
301
|
readonly "hitl.invalidOption": "Answer \"{{optionId}}\" is not an option of request {{requestId}} ({{options}}).";
|
|
289
302
|
readonly "hitl.noOptions": "this request has no options";
|
|
290
303
|
readonly "hitl.requestMissingId": "This input.requested request has no stable id, so a response cannot be built — the adapter must give every pending request a stable id.";
|
|
291
|
-
readonly "hitl.respondAllEmpty": "There is no pending input.requested request; respond() / respondAll() cannot work. Confirm the turn
|
|
304
|
+
readonly "hitl.respondAllEmpty": "There is no pending input.requested request; respond() / respondAll() cannot work. Confirm the turn has status waiting, then answer via t.requireInputRequest() or t.respond().";
|
|
292
305
|
readonly "hitl.respondEmpty": "t.respond(...) requires at least one answer.";
|
|
293
306
|
readonly "hitl.stringAmbiguous": "There are {{count}} pending input requests; a plain-string answer cannot be matched to one. Use the { request, optionId } or { request, text } object form to name it explicitly.";
|
|
294
307
|
readonly "judge.apiKeyMissing": "judge is missing an API key: set NICEEVAL_JUDGE_KEY, or point judge.apiKeyEnv at another environment variable.";
|