@bjoernrochel/sevro 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CONTRIBUTING.md +34 -4
- package/README.md +7 -6
- package/dist/examples/basic/graded.json +13 -0
- package/dist/examples/basic/host.js +9 -0
- package/dist/examples/basic/host.js.map +1 -0
- package/dist/examples/basic/prompt-only.json +7 -0
- package/dist/examples/recipes/candidate.js +23 -0
- package/dist/examples/recipes/candidate.js.map +1 -0
- package/dist/examples/recipes/cases/coding-change.json +21 -0
- package/dist/examples/recipes/cases/host-tools.json +21 -0
- package/dist/examples/recipes/cases/mise.json +21 -0
- package/dist/examples/recipes/cases/node.json +21 -0
- package/dist/examples/recipes/cases/python-uv.json +21 -0
- package/dist/examples/recipes/cases/semantic.json +17 -0
- package/dist/examples/recipes/coding-change/check.js +16 -0
- package/dist/examples/recipes/coding-change/check.js.map +1 -0
- package/dist/examples/recipes/executable.js +20 -0
- package/dist/examples/recipes/executable.js.map +1 -0
- package/dist/examples/recipes/extension-artifacts.js +56 -0
- package/dist/examples/recipes/extension-artifacts.js.map +1 -0
- package/dist/examples/recipes/extension-methods.js +167 -0
- package/dist/examples/recipes/extension-methods.js.map +1 -0
- package/dist/examples/recipes/extension.js +28 -0
- package/dist/examples/recipes/extension.js.map +1 -0
- package/dist/examples/recipes/modules.js +9 -0
- package/dist/examples/recipes/modules.js.map +1 -0
- package/dist/examples/recipes/repository-skill/.agents/skills/startup-guide/SKILL.md +7 -0
- package/dist/examples/recipes/repository-skill/.claude/skills/startup-guide/SKILL.md +7 -0
- package/dist/examples/recipes/repository-skill/README.md +3 -0
- package/dist/examples/recipes/run-inputs.js +144 -0
- package/dist/examples/recipes/run-inputs.js.map +1 -0
- package/dist/examples/recipes/run-options.js +103 -0
- package/dist/examples/recipes/run-options.js.map +1 -0
- package/dist/examples/recipes/run.js +62 -0
- package/dist/examples/recipes/run.js.map +1 -0
- package/dist/examples/recipes/runtime/empty.json +1 -0
- package/dist/examples/recipes/runtime/goals.json +1 -0
- package/dist/examples/recipes/runtime/mise.json +6 -0
- package/dist/examples/recipes/runtime/path.json +1 -0
- package/dist/examples/recipes/runtime/plugins.json +4 -0
- package/dist/examples/recipes/runtime/python-uv.json +10 -0
- package/dist/examples/recipes/semantic-judge.js +27 -0
- package/dist/examples/recipes/semantic-judge.js.map +1 -0
- package/dist/examples/templates/coding/adapter.js +14 -0
- package/dist/examples/templates/coding/adapter.js.map +1 -0
- package/dist/examples/templates/coding/case.json +15 -0
- package/dist/examples/templates/repository-skill/.agents/skills/startup-guide/SKILL.md +6 -0
- package/dist/examples/templates/repository-skill/extension-data.js +61 -0
- package/dist/examples/templates/repository-skill/extension-data.js.map +1 -0
- package/dist/examples/templates/repository-skill/extension.js +29 -0
- package/dist/examples/templates/repository-skill/extension.js.map +1 -0
- package/dist/examples/templates/response/adapter.js +13 -0
- package/dist/examples/templates/response/adapter.js.map +1 -0
- package/dist/examples/templates/response/case.json +13 -0
- package/dist/src/advisory.js +86 -0
- package/dist/src/advisory.js.map +1 -0
- package/dist/src/candidate-artifacts.js +139 -0
- package/dist/src/candidate-artifacts.js.map +1 -0
- package/dist/src/candidate-codex-state.js +110 -0
- package/dist/src/candidate-codex-state.js.map +1 -0
- package/dist/src/case-validation.js +92 -0
- package/dist/src/case-validation.js.map +1 -0
- package/dist/src/cli/cancellation.js +21 -0
- package/dist/src/cli/cancellation.js.map +1 -0
- package/dist/src/cli/command.js +60 -0
- package/dist/src/cli/command.js.map +1 -0
- package/dist/src/cli/completion.js +14 -0
- package/dist/src/cli/completion.js.map +1 -0
- package/dist/src/cli/demo.js +45 -0
- package/dist/src/cli/demo.js.map +1 -0
- package/dist/src/cli/evaluation.js +40 -0
- package/dist/src/cli/evaluation.js.map +1 -0
- package/dist/src/cli/extension.js +54 -0
- package/dist/src/cli/extension.js.map +1 -0
- package/dist/src/cli/help.js +190 -0
- package/dist/src/cli/help.js.map +1 -0
- package/dist/src/cli/hosts.js +33 -0
- package/dist/src/cli/hosts.js.map +1 -0
- package/dist/src/cli/init-settings.js +29 -0
- package/dist/src/cli/init-settings.js.map +1 -0
- package/dist/src/cli/init.js +82 -0
- package/dist/src/cli/init.js.map +1 -0
- package/dist/src/cli/invocation.js +431 -0
- package/dist/src/cli/invocation.js.map +1 -0
- package/dist/src/cli/loading.js +110 -0
- package/dist/src/cli/loading.js.map +1 -0
- package/dist/src/cli/preparation.js +88 -0
- package/dist/src/cli/preparation.js.map +1 -0
- package/dist/src/cli/presentation.js +61 -0
- package/dist/src/cli/presentation.js.map +1 -0
- package/dist/src/cli/progress.js +5 -0
- package/dist/src/cli/progress.js.map +1 -0
- package/dist/src/cli/run-manifest.js +108 -0
- package/dist/src/cli/run-manifest.js.map +1 -0
- package/dist/src/cli/run-options.js +367 -0
- package/dist/src/cli/run-options.js.map +1 -0
- package/dist/src/cli/run-overrides.js +51 -0
- package/dist/src/cli/run-overrides.js.map +1 -0
- package/dist/src/cli/settings.js +127 -0
- package/dist/src/cli/settings.js.map +1 -0
- package/dist/src/cli/summary.js +28 -0
- package/dist/src/cli/summary.js.map +1 -0
- package/dist/src/cli.js +20 -0
- package/dist/src/cli.js.map +1 -0
- package/dist/src/contract-types.js +2 -0
- package/dist/src/contract-types.js.map +1 -0
- package/dist/src/engine.js +4 -0
- package/dist/src/engine.js.map +1 -0
- package/dist/src/evaluation/advisory.js +85 -0
- package/dist/src/evaluation/advisory.js.map +1 -0
- package/dist/src/evaluation/check-plan.js +292 -0
- package/dist/src/evaluation/check-plan.js.map +1 -0
- package/dist/src/evaluation/collection.js +61 -0
- package/dist/src/evaluation/collection.js.map +1 -0
- package/dist/src/evaluation/context.js +2 -0
- package/dist/src/evaluation/context.js.map +1 -0
- package/dist/src/evaluation/grading-host.js +28 -0
- package/dist/src/evaluation/grading-host.js.map +1 -0
- package/dist/src/evaluation/grading.js +154 -0
- package/dist/src/evaluation/grading.js.map +1 -0
- package/dist/src/evaluation/invocation-plan.js +312 -0
- package/dist/src/evaluation/invocation-plan.js.map +1 -0
- package/dist/src/evaluation/plan.js +376 -0
- package/dist/src/evaluation/plan.js.map +1 -0
- package/dist/src/evaluation/progress.js +14 -0
- package/dist/src/evaluation/progress.js.map +1 -0
- package/dist/src/evaluation/resources.js +159 -0
- package/dist/src/evaluation/resources.js.map +1 -0
- package/dist/src/evaluation/run.js +148 -0
- package/dist/src/evaluation/run.js.map +1 -0
- package/dist/src/evaluation/scheduler.js +27 -0
- package/dist/src/evaluation/scheduler.js.map +1 -0
- package/dist/src/evaluation/semantic.js +183 -0
- package/dist/src/evaluation/semantic.js.map +1 -0
- package/dist/src/evaluation/trial.js +593 -0
- package/dist/src/evaluation/trial.js.map +1 -0
- package/dist/src/evaluation/types.js +20 -0
- package/dist/src/evaluation/types.js.map +1 -0
- package/dist/src/evidence/host-results.js +67 -0
- package/dist/src/evidence/host-results.js.map +1 -0
- package/dist/src/evidence/retained-artifacts.js +17 -0
- package/dist/src/evidence/retained-artifacts.js.map +1 -0
- package/dist/src/evidence/trial-writer.js +131 -0
- package/dist/src/evidence/trial-writer.js.map +1 -0
- package/dist/src/evidence/usage.js +14 -0
- package/dist/src/evidence/usage.js.map +1 -0
- package/dist/src/executable.js +20 -0
- package/dist/src/executable.js.map +1 -0
- package/dist/src/extension-client.js +212 -0
- package/dist/src/extension-client.js.map +1 -0
- package/dist/src/extension-session.js +236 -0
- package/dist/src/extension-session.js.map +1 -0
- package/dist/src/fixtures/advisory.js +206 -0
- package/dist/src/fixtures/advisory.js.map +1 -0
- package/dist/src/fixtures/bin.js +41 -0
- package/dist/src/fixtures/bin.js.map +1 -0
- package/dist/src/fixtures/cleanup.js +43 -0
- package/dist/src/fixtures/cleanup.js.map +1 -0
- package/dist/src/fixtures/create.js +94 -0
- package/dist/src/fixtures/create.js.map +1 -0
- package/dist/src/fixtures/generated.js +181 -0
- package/dist/src/fixtures/generated.js.map +1 -0
- package/dist/src/fixtures/git-hooks.js +16 -0
- package/dist/src/fixtures/git-hooks.js.map +1 -0
- package/dist/src/fixtures/preparation.js +201 -0
- package/dist/src/fixtures/preparation.js.map +1 -0
- package/dist/src/fixtures/repository.js +255 -0
- package/dist/src/fixtures/repository.js.map +1 -0
- package/dist/src/fixtures/setup.js +175 -0
- package/dist/src/fixtures/setup.js.map +1 -0
- package/dist/src/fixtures/tools.js +57 -0
- package/dist/src/fixtures/tools.js.map +1 -0
- package/dist/src/fixtures/workspace-state.js +155 -0
- package/dist/src/fixtures/workspace-state.js.map +1 -0
- package/dist/src/generated/cli-result.cjs +2 -0
- package/dist/src/generated/extension.cjs +2 -0
- package/dist/src/generated/report.cjs +2 -0
- package/dist/src/generated/run-evidence.cjs +2 -0
- package/dist/src/generated/runtime.cjs +2 -0
- package/dist/src/git.js +72 -0
- package/dist/src/git.js.map +1 -0
- package/dist/src/graders/artifact.js +68 -0
- package/dist/src/graders/artifact.js.map +1 -0
- package/dist/src/graders/git-head.js +112 -0
- package/dist/src/graders/git-head.js.map +1 -0
- package/dist/src/graders/output.js +345 -0
- package/dist/src/graders/output.js.map +1 -0
- package/dist/src/graders/semantic.js +132 -0
- package/dist/src/graders/semantic.js.map +1 -0
- package/dist/src/graders/shell.js +321 -0
- package/dist/src/graders/shell.js.map +1 -0
- package/dist/src/host-diagnostic-redaction.js +52 -0
- package/dist/src/host-diagnostic-redaction.js.map +1 -0
- package/dist/src/host-diagnostics.js +248 -0
- package/dist/src/host-diagnostics.js.map +1 -0
- package/dist/src/hosts/claude-continuation.js +89 -0
- package/dist/src/hosts/claude-continuation.js.map +1 -0
- package/dist/src/hosts/claude-credential.js +121 -0
- package/dist/src/hosts/claude-credential.js.map +1 -0
- package/dist/src/hosts/claude-events.js +136 -0
- package/dist/src/hosts/claude-events.js.map +1 -0
- package/dist/src/hosts/claude-keychain.js +100 -0
- package/dist/src/hosts/claude-keychain.js.map +1 -0
- package/dist/src/hosts/claude-login-recovery.js +67 -0
- package/dist/src/hosts/claude-login-recovery.js.map +1 -0
- package/dist/src/hosts/claude-login-refresh.js +146 -0
- package/dist/src/hosts/claude-login-refresh.js.map +1 -0
- package/dist/src/hosts/claude-login-store.js +124 -0
- package/dist/src/hosts/claude-login-store.js.map +1 -0
- package/dist/src/hosts/claude-login.js +74 -0
- package/dist/src/hosts/claude-login.js.map +1 -0
- package/dist/src/hosts/claude-native-goal.js +138 -0
- package/dist/src/hosts/claude-native-goal.js.map +1 -0
- package/dist/src/hosts/claude-process.js +10 -0
- package/dist/src/hosts/claude-process.js.map +1 -0
- package/dist/src/hosts/claude-refresh-lock.js +76 -0
- package/dist/src/hosts/claude-refresh-lock.js.map +1 -0
- package/dist/src/hosts/claude-repository-invocation.js +229 -0
- package/dist/src/hosts/claude-repository-invocation.js.map +1 -0
- package/dist/src/hosts/claude-settings.js +156 -0
- package/dist/src/hosts/claude-settings.js.map +1 -0
- package/dist/src/hosts/claude-skill-activations.js +131 -0
- package/dist/src/hosts/claude-skill-activations.js.map +1 -0
- package/dist/src/hosts/claude-state.js +237 -0
- package/dist/src/hosts/claude-state.js.map +1 -0
- package/dist/src/hosts/claude-tool-calls.js +150 -0
- package/dist/src/hosts/claude-tool-calls.js.map +1 -0
- package/dist/src/hosts/claude.js +373 -0
- package/dist/src/hosts/claude.js.map +1 -0
- package/dist/src/hosts/codex-app-server.js +764 -0
- package/dist/src/hosts/codex-app-server.js.map +1 -0
- package/dist/src/hosts/codex-configuration.js +91 -0
- package/dist/src/hosts/codex-configuration.js.map +1 -0
- package/dist/src/hosts/codex-events.js +104 -0
- package/dist/src/hosts/codex-events.js.map +1 -0
- package/dist/src/hosts/codex-exec-controls.js +434 -0
- package/dist/src/hosts/codex-exec-controls.js.map +1 -0
- package/dist/src/hosts/codex-invocation.js +54 -0
- package/dist/src/hosts/codex-invocation.js.map +1 -0
- package/dist/src/hosts/codex-marketplace.js +185 -0
- package/dist/src/hosts/codex-marketplace.js.map +1 -0
- package/dist/src/hosts/codex-native-calls.js +516 -0
- package/dist/src/hosts/codex-native-calls.js.map +1 -0
- package/dist/src/hosts/codex-process.js +10 -0
- package/dist/src/hosts/codex-process.js.map +1 -0
- package/dist/src/hosts/codex-profile.js +206 -0
- package/dist/src/hosts/codex-profile.js.map +1 -0
- package/dist/src/hosts/codex-session-files.js +89 -0
- package/dist/src/hosts/codex-session-files.js.map +1 -0
- package/dist/src/hosts/codex-state.js +310 -0
- package/dist/src/hosts/codex-state.js.map +1 -0
- package/dist/src/hosts/codex.js +527 -0
- package/dist/src/hosts/codex.js.map +1 -0
- package/dist/src/hosts/isolation-common.js +43 -0
- package/dist/src/hosts/isolation-common.js.map +1 -0
- package/dist/src/hosts/isolation-roots.js +64 -0
- package/dist/src/hosts/isolation-roots.js.map +1 -0
- package/dist/src/hosts/isolation.js +12 -0
- package/dist/src/hosts/isolation.js.map +1 -0
- package/dist/src/hosts/linux-sandbox.js +127 -0
- package/dist/src/hosts/linux-sandbox.js.map +1 -0
- package/dist/src/hosts/mac-sandbox.js +137 -0
- package/dist/src/hosts/mac-sandbox.js.map +1 -0
- package/dist/src/hosts/native-controls.js +151 -0
- package/dist/src/hosts/native-controls.js.map +1 -0
- package/dist/src/hosts/native-request.js +33 -0
- package/dist/src/hosts/native-request.js.map +1 -0
- package/dist/src/hosts/process-lifecycle.js +167 -0
- package/dist/src/hosts/process-lifecycle.js.map +1 -0
- package/dist/src/hosts/protected-worktrees.js +81 -0
- package/dist/src/hosts/protected-worktrees.js.map +1 -0
- package/dist/src/hosts/skill-hook-catalog.js +100 -0
- package/dist/src/hosts/skill-hook-catalog.js.map +1 -0
- package/dist/src/hosts/skill-hook-handler.js +228 -0
- package/dist/src/hosts/skill-hook-handler.js.map +1 -0
- package/dist/src/hosts/skill-hooks.js +423 -0
- package/dist/src/hosts/skill-hooks.js.map +1 -0
- package/dist/src/hosts/workspace-fingerprint.js +72 -0
- package/dist/src/hosts/workspace-fingerprint.js.map +1 -0
- package/dist/src/identity.js +167 -0
- package/dist/src/identity.js.map +1 -0
- package/dist/src/instrumentation.js +83 -0
- package/dist/src/instrumentation.js.map +1 -0
- package/dist/src/native-transcript-state.js +85 -0
- package/dist/src/native-transcript-state.js.map +1 -0
- package/dist/src/native-transcript-view.js +65 -0
- package/dist/src/native-transcript-view.js.map +1 -0
- package/dist/src/native-transcripts.js +208 -0
- package/dist/src/native-transcripts.js.map +1 -0
- package/dist/src/paths.js +13 -0
- package/dist/src/paths.js.map +1 -0
- package/dist/src/process-lifecycle.js +101 -0
- package/dist/src/process-lifecycle.js.map +1 -0
- package/dist/src/provenance.js +263 -0
- package/dist/src/provenance.js.map +1 -0
- package/dist/src/prune.js +228 -0
- package/dist/src/prune.js.map +1 -0
- package/dist/src/report.js +276 -0
- package/dist/src/report.js.map +1 -0
- package/dist/src/resolved-case.js +29 -0
- package/dist/src/resolved-case.js.map +1 -0
- package/dist/src/results-lock.js +40 -0
- package/dist/src/results-lock.js.map +1 -0
- package/dist/src/results.js +127 -0
- package/dist/src/results.js.map +1 -0
- package/dist/src/run-owner.js +283 -0
- package/dist/src/run-owner.js.map +1 -0
- package/dist/src/runner-paths.js +11 -0
- package/dist/src/runner-paths.js.map +1 -0
- package/dist/src/runtime/config.js +323 -0
- package/dist/src/runtime/config.js.map +1 -0
- package/dist/src/runtime/discovery-apple.js +65 -0
- package/dist/src/runtime/discovery-apple.js.map +1 -0
- package/dist/src/runtime/discovery-providers.js +37 -0
- package/dist/src/runtime/discovery-providers.js.map +1 -0
- package/dist/src/runtime/discovery.js +40 -0
- package/dist/src/runtime/discovery.js.map +1 -0
- package/dist/src/runtime/hook-processes.js +81 -0
- package/dist/src/runtime/hook-processes.js.map +1 -0
- package/dist/src/runtime/hooks.js +304 -0
- package/dist/src/runtime/hooks.js.map +1 -0
- package/dist/src/runtime/paths.js +244 -0
- package/dist/src/runtime/paths.js.map +1 -0
- package/dist/src/runtime/query.js +76 -0
- package/dist/src/runtime/query.js.map +1 -0
- package/dist/src/runtime/seeds.js +98 -0
- package/dist/src/runtime/seeds.js.map +1 -0
- package/dist/src/runtime/shared-cache.js +81 -0
- package/dist/src/runtime/shared-cache.js.map +1 -0
- package/dist/src/runtime/state.js +106 -0
- package/dist/src/runtime/state.js.map +1 -0
- package/dist/src/runtime-process.js +148 -0
- package/dist/src/runtime-process.js.map +1 -0
- package/dist/src/schema-types.js +2 -0
- package/dist/src/schema-types.js.map +1 -0
- package/dist/src/schema.js +16 -0
- package/dist/src/schema.js.map +1 -0
- package/dist/src/shell.js +5 -0
- package/dist/src/shell.js.map +1 -0
- package/dist/src/sqlite-lock.js +18 -0
- package/dist/src/sqlite-lock.js.map +1 -0
- package/dist/src/storage.js +21 -0
- package/dist/src/storage.js.map +1 -0
- package/dist/src/transcript-retention.js +109 -0
- package/dist/src/transcript-retention.js.map +1 -0
- package/dist/src/value-guards.js +26 -0
- package/dist/src/value-guards.js.map +1 -0
- package/docs/architecture.md +5 -2
- package/docs/creating-cases.md +2 -3
- package/docs/development-cli.md +12 -7
- package/docs/documentation-quality.md +4 -3
- package/docs/evaluation-workflow.md +8 -8
- package/docs/getting-started.md +7 -6
- package/docs/guide-evaluation.md +1 -1
- package/docs/identity-v1.md +4 -1
- package/docs/installing.md +31 -13
- package/docs/licensing.md +2 -2
- package/docs/native-hosts.md +1 -1
- package/docs/recipes.md +41 -40
- package/docs/releases.md +20 -4
- package/docs/run-settings-v1.md +3 -3
- package/docs/specs/repository-guide.md +1 -1
- package/docs/troubleshooting.md +1 -1
- package/docs/typescript-quality.md +18 -1
- package/examples/recipes/executable.ts +19 -0
- package/examples/recipes/extension-artifacts.ts +1 -1
- package/examples/recipes/extension.ts +2 -1
- package/examples/recipes/modules.ts +9 -0
- package/examples/recipes/run-inputs.ts +14 -19
- package/examples/recipes/run-options.ts +9 -8
- package/examples/recipes/run.ts +21 -7
- package/examples/templates/repository-skill/extension-data.ts +1 -1
- package/examples/templates/repository-skill/extension.ts +2 -1
- package/package.json +14 -6
- package/src/cli/demo.ts +3 -2
- package/src/cli/help.ts +4 -3
- package/src/cli/init-settings.ts +5 -4
- package/src/cli/init.ts +9 -8
- package/src/cli/invocation.ts +2 -1
- package/src/cli/preparation.ts +2 -2
- package/src/cli.ts +1 -1
- package/src/executable.ts +19 -0
- package/src/extension-client.ts +6 -12
- package/src/fixtures/setup.ts +3 -2
- package/src/git.ts +2 -1
- package/src/graders/git-head.ts +3 -2
- package/src/graders/shell.ts +4 -3
- package/src/hosts/claude-keychain.ts +3 -2
- package/src/hosts/claude-login-refresh.ts +3 -2
- package/src/hosts/claude-refresh-lock.ts +2 -1
- package/src/hosts/isolation-roots.ts +3 -2
- package/src/hosts/process-lifecycle.ts +4 -6
- package/src/hosts/protected-worktrees.ts +2 -1
- package/src/hosts/skill-hook-handler.ts +1 -1
- package/src/hosts/skill-hooks.ts +10 -2
- package/src/provenance.ts +7 -6
- package/src/results-lock.ts +4 -4
- package/src/run-owner.ts +15 -9
- package/src/runner-paths.ts +21 -0
- package/src/runtime/hook-processes.ts +2 -1
- package/src/runtime/hooks.ts +9 -7
- package/src/runtime-process.ts +194 -0
- package/src/sqlite-lock.ts +25 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// Generated by bun run schemas:generate; do not edit.
|
|
2
|
+
"use strict";module.exports = validate25;module.exports.default = validate25;const schema49 = {"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"urn:sevro:schema:run-evidence:v1","title":"Sevro retained run evidence v1","type":"object","required":["format","runId","evaluationIdentity","configuration","runner","project","extension","condition","graders","routes","result","trials"],"properties":{"format":{"const":"sevro.run-evidence.v1"},"runId":{"type":"string","minLength":1},"evaluationIdentity":{"type":"object","required":["algorithm","digest","dimensions"],"properties":{"algorithm":{"const":"sevro.identity.v1"},"digest":{"$ref":"#/$defs/digest"},"dimensions":{"type":"object","required":["runnerBuildDigest","projectDigest","configurationDigest","extensionDigest","extensionProtocol","caseDigest","fixtureDigest","checksDigest","requiredEvidenceDigest","evaluatorDigest","graderDigest","instrumentationDigest","routeDigest","condition","trialCount","passThreshold"],"properties":{"runnerBuildDigest":{"$ref":"#/$defs/digest"},"projectDigest":{"$ref":"#/$defs/digest"},"configurationDigest":{"$ref":"#/$defs/digest"},"extensionDigest":{"oneOf":[{"$ref":"#/$defs/digest"},{"type":"null"}]},"extensionProtocol":{"enum":["sevro.extension.v1",null]},"caseDigest":{"$ref":"#/$defs/digest"},"fixtureDigest":{"$ref":"#/$defs/digest"},"checksDigest":{"$ref":"#/$defs/digest"},"requiredEvidenceDigest":{"$ref":"#/$defs/digest"},"evaluatorDigest":{"$ref":"#/$defs/digest"},"graderDigest":{"$ref":"#/$defs/digest"},"instrumentationDigest":{"$ref":"#/$defs/digest"},"routeDigest":{"$ref":"#/$defs/digest"},"condition":{"enum":["passive","enforced"]},"trialCount":{"type":"integer","minimum":1},"passThreshold":{"type":"number","exclusiveMinimum":0,"maximum":1}},"additionalProperties":false}},"additionalProperties":false},"configuration":{"type":"object","required":["digest","redacted"],"properties":{"digest":{"$ref":"#/$defs/digest"},"redacted":{"type":"object"},"resolved":{"type":"object"}},"additionalProperties":false},"runner":{"$ref":"#/$defs/runner"},"project":{"type":"object","required":["root","revision","dirtyPatchDigest"],"properties":{"root":{"$ref":"#/$defs/fileUrl"},"revision":{"type":["string","null"]},"dirtyPatchDigest":{"oneOf":[{"$ref":"#/$defs/digest"},{"type":"null"}]}},"additionalProperties":false},"extension":{"oneOf":[{"type":"null"},{"$ref":"#/$defs/extension"}]},"condition":{"type":"object","required":["requested","actual","requestedInstrumentation","appliedInstrumentation"],"properties":{"requested":{"enum":["passive","enforced"]},"actual":{"enum":["passive","enforced","unknown"]},"requestedInstrumentation":{"$ref":"#/$defs/instrumentationList"},"appliedInstrumentation":{"$ref":"#/$defs/instrumentationList"}},"additionalProperties":false},"graders":{"type":"object","required":["active","replacedDefaults"],"properties":{"active":{"type":"array","items":{"$ref":"#/$defs/grader"}},"replacedDefaults":{"type":"array","items":{"type":"string","minLength":1},"uniqueItems":true}},"additionalProperties":false},"routes":{"type":"array","items":{"$ref":"#/$defs/route"}},"result":{"$ref":"urn:sevro:schema:cli-result:v1"},"trials":{"type":"array","items":{"$ref":"#/$defs/trialEvidence"}},"diagnostic":{"$ref":"#/$defs/diagnostic"}},"additionalProperties":false,"$defs":{"digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"fileUrl":{"type":"string","pattern":"^file:///"},"runner":{"oneOf":[{"type":"object","required":["source","packageName","version","buildDigest"],"properties":{"source":{"const":"package"},"packageName":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"buildDigest":{"$ref":"#/$defs/digest"}},"additionalProperties":false},{"type":"object","required":["source","root","revision","dirtyPatchDigest","buildDigest"],"properties":{"source":{"const":"checkout"},"root":{"$ref":"#/$defs/fileUrl"},"revision":{"type":"string","minLength":1},"dirtyPatchDigest":{"oneOf":[{"$ref":"#/$defs/digest"},{"type":"null"}]},"buildDigest":{"$ref":"#/$defs/digest"}},"additionalProperties":false}]},"extension":{"type":"object","required":["id","version","sourceDigest","configurationDigest","protocol","capabilities","replacements"],"properties":{"id":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"sourceDigest":{"$ref":"#/$defs/digest"},"configurationDigest":{"$ref":"#/$defs/digest"},"protocol":{"const":"sevro.extension.v1"},"capabilities":{"type":"array","items":{"type":"string","minLength":1},"uniqueItems":true},"replacements":{"type":"object","required":["graders","taskVerdictPolicy"],"properties":{"graders":{"type":"array","items":{"type":"string","minLength":1},"uniqueItems":true},"taskVerdictPolicy":{"type":["string","null"]}},"additionalProperties":false}},"additionalProperties":false},"instrumentationList":{"type":"array","items":{"type":"object","required":["id","configuration"],"properties":{"id":{"type":"string","minLength":1},"configuration":{"type":"object"}},"additionalProperties":false}},"grader":{"type":"object","required":["id","source","version"],"properties":{"id":{"type":"string","minLength":1},"source":{"enum":["builtin","extension"]},"version":{"type":"string","minLength":1}},"additionalProperties":false},"route":{"type":"object","required":["role","host","model","effort"],"properties":{"role":{"enum":["candidate","semantic","advisory"]},"host":{"type":"string","minLength":1},"model":{"type":"string","minLength":1},"effort":{"type":"string","minLength":1}},"additionalProperties":false},"advisoryReview":{"oneOf":[{"type":"null"},{"type":"object","required":["status","assessment","usage","rawResult"],"properties":{"status":{"enum":["completed","failed","not_run"]},"assessment":{"oneOf":[{"type":"null"},{"type":"object","required":["verdict","overallScore","dimensions","strengths","weaknesses","summary"],"properties":{"verdict":{"enum":["pass","fail"]},"overallScore":{"type":"integer","minimum":1,"maximum":5},"dimensions":{"type":"object","required":["correctness","maintainability","testQuality","scopeDiscipline"],"properties":{"correctness":{"type":"integer","minimum":1,"maximum":5},"maintainability":{"type":"integer","minimum":1,"maximum":5},"testQuality":{"type":"integer","minimum":1,"maximum":5},"scopeDiscipline":{"type":"integer","minimum":1,"maximum":5}},"additionalProperties":false},"strengths":{"type":"array","items":{"type":"string"}},"weaknesses":{"type":"array","items":{"type":"string"}},"summary":{"type":"string","minLength":1}},"additionalProperties":false}]},"usage":{"type":"object","required":["inputTokens","outputTokens","costUsd","complete"],"properties":{"inputTokens":{"type":["integer","null"],"minimum":0},"outputTokens":{"type":["integer","null"],"minimum":0},"costUsd":{"type":["number","null"],"minimum":0},"complete":{"type":"boolean"}},"additionalProperties":false},"rawResult":{"type":"object","required":["source","path","sha256"],"properties":{"source":{"type":"string","minLength":1},"path":{"oneOf":[{"$ref":"#/$defs/fileUrl"},{"type":"null"}]},"sha256":{"oneOf":[{"$ref":"#/$defs/digest"},{"type":"null"}]}},"additionalProperties":false}},"additionalProperties":false}]},"trialEvidence":{"type":"object","required":["caseId","trial","executionMode","condition","observationCompleteness","observations","metrics","taskVerdictPolicy","routes","usage","rawResult","artifactRefs"],"properties":{"caseId":{"type":"string","minLength":1},"trial":{"type":"integer","minimum":1},"executionMode":{"enum":["executed","dry","unknown"]},"candidateDurationMs":{"type":["number","null"],"minimum":0},"condition":{"type":"object","required":["requested","actual","appliedInstrumentation"],"properties":{"requested":{"enum":["passive","enforced"]},"actual":{"enum":["passive","enforced","unknown"]},"appliedInstrumentation":{"$ref":"#/$defs/instrumentationList"}},"additionalProperties":false},"observationCompleteness":{"enum":["complete","partial","unavailable"]},"observations":{"type":"array","items":{"type":"object","required":["id","source","completeness","data"],"properties":{"id":{"type":"string","minLength":1},"source":{"type":"string","minLength":1},"completeness":{"enum":["complete","partial","unavailable"]},"data":{"type":"object"}},"additionalProperties":false}},"metrics":{"type":"array","items":{"$ref":"#/$defs/metric"}},"domainOutcomes":{"type":"array","items":{"type":"object","required":["id","status","evidenceRefs"],"properties":{"id":{"type":"string","minLength":1},"status":{"enum":["passed","failed","unavailable"]},"detail":{"type":"string","maxLength":4096},"evidenceRefs":{"type":"array","items":{"type":"string","minLength":1},"uniqueItems":true},"data":{"type":"object"}},"additionalProperties":false}},"taskVerdictPolicy":{"oneOf":[{"type":"null"},{"type":"object","required":["id","recommendation"],"properties":{"id":{"type":"string","minLength":1},"recommendation":{"enum":["passed","failed","not_assessed",null]}},"additionalProperties":false}]},"advisoryReview":{"$ref":"#/$defs/advisoryReview"},"routes":{"type":"array","items":{"$ref":"#/$defs/route"}},"usage":{"type":"object","required":["inputTokens","outputTokens","costUsd","complete"],"properties":{"inputTokens":{"type":["integer","null"],"minimum":0},"outputTokens":{"type":["integer","null"],"minimum":0},"costUsd":{"type":["number","null"],"minimum":0},"complete":{"type":"boolean"}},"additionalProperties":false},"rawResult":{"type":"object","required":["source","path","sha256"],"properties":{"source":{"type":"string","minLength":1},"path":{"oneOf":[{"$ref":"#/$defs/fileUrl"},{"type":"null"}]},"sha256":{"oneOf":[{"$ref":"#/$defs/digest"},{"type":"null"}]}},"additionalProperties":false},"artifactRefs":{"type":"array","items":{"type":"object","required":["id","path","sha256"],"properties":{"id":{"type":"string","minLength":1},"path":{"$ref":"#/$defs/fileUrl"},"sha256":{"$ref":"#/$defs/digest"},"gitExclude":{"type":"boolean"},"executable":{"type":"boolean"}},"additionalProperties":false}}},"additionalProperties":false},"diagnostic":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","minLength":1},"message":{"type":"string","minLength":1,"maxLength":4096}},"additionalProperties":false},"metric":{"type":"object","required":["id","value","unit"],"properties":{"id":{"type":"string","minLength":1},"value":{"type":["number","null"]},"unit":{"type":"string","minLength":1}},"additionalProperties":false}}};const schema50 = {"type":"string","pattern":"^[a-f0-9]{64}$"};const schema66 = {"type":"string","pattern":"^file:///"};const schema74 = {"type":"array","items":{"type":"object","required":["id","configuration"],"properties":{"id":{"type":"string","minLength":1},"configuration":{"type":"object"}},"additionalProperties":false}};const schema76 = {"type":"object","required":["id","source","version"],"properties":{"id":{"type":"string","minLength":1},"source":{"enum":["builtin","extension"]},"version":{"type":"string","minLength":1}},"additionalProperties":false};const schema77 = {"type":"object","required":["role","host","model","effort"],"properties":{"role":{"enum":["candidate","semantic","advisory"]},"host":{"type":"string","minLength":1},"model":{"type":"string","minLength":1},"effort":{"type":"string","minLength":1}},"additionalProperties":false};const schema89 = {"type":"object","required":["code","message"],"properties":{"code":{"type":"string","minLength":1},"message":{"type":"string","minLength":1,"maxLength":4096}},"additionalProperties":false};const func1 = Object.prototype.hasOwnProperty;const func2 = require("ajv/dist/runtime/ucs2length").default;const pattern5 = new RegExp("^[a-f0-9]{64}$", "u");const pattern20 = new RegExp("^file:///", "u");const schema64 = {"oneOf":[{"type":"object","required":["source","packageName","version","buildDigest"],"properties":{"source":{"const":"package"},"packageName":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"buildDigest":{"$ref":"#/$defs/digest"}},"additionalProperties":false},{"type":"object","required":["source","root","revision","dirtyPatchDigest","buildDigest"],"properties":{"source":{"const":"checkout"},"root":{"$ref":"#/$defs/fileUrl"},"revision":{"type":"string","minLength":1},"dirtyPatchDigest":{"oneOf":[{"$ref":"#/$defs/digest"},{"type":"null"}]},"buildDigest":{"$ref":"#/$defs/digest"}},"additionalProperties":false}]};function validate26(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate26.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs0 = errors;let valid0 = false;let passing0 = null;const _errs1 = errors;if(errors === _errs1){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((((data.source === undefined) && (missing0 = "source")) || ((data.packageName === undefined) && (missing0 = "packageName"))) || ((data.version === undefined) && (missing0 = "version"))) || ((data.buildDigest === undefined) && (missing0 = "buildDigest"))){const err0 = {instancePath,schemaPath:"#/oneOf/0/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}else {const _errs3 = errors;for(const key0 in data){if(!((((key0 === "source") || (key0 === "packageName")) || (key0 === "version")) || (key0 === "buildDigest"))){const err1 = {instancePath,schemaPath:"#/oneOf/0/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;break;}}if(_errs3 === errors){if(data.source !== undefined){const _errs4 = errors;if("package" !== data.source){const err2 = {instancePath:instancePath+"/source",schemaPath:"#/oneOf/0/properties/source/const",keyword:"const",params:{allowedValue: "package"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}var valid1 = _errs4 === errors;}else {var valid1 = true;}if(valid1){if(data.packageName !== undefined){let data1 = data.packageName;const _errs5 = errors;if(errors === _errs5){if(typeof data1 === "string"){if(func2(data1) < 1){const err3 = {instancePath:instancePath+"/packageName",schemaPath:"#/oneOf/0/properties/packageName/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}else {const err4 = {instancePath:instancePath+"/packageName",schemaPath:"#/oneOf/0/properties/packageName/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}var valid1 = _errs5 === errors;}else {var valid1 = true;}if(valid1){if(data.version !== undefined){let data2 = data.version;const _errs7 = errors;if(errors === _errs7){if(typeof data2 === "string"){if(func2(data2) < 1){const err5 = {instancePath:instancePath+"/version",schemaPath:"#/oneOf/0/properties/version/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}else {const err6 = {instancePath:instancePath+"/version",schemaPath:"#/oneOf/0/properties/version/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}var valid1 = _errs7 === errors;}else {var valid1 = true;}if(valid1){if(data.buildDigest !== undefined){let data3 = data.buildDigest;const _errs9 = errors;const _errs10 = errors;if(errors === _errs10){if(typeof data3 === "string"){if(!pattern5.test(data3)){const err7 = {instancePath:instancePath+"/buildDigest",schemaPath:"#/$defs/digest/pattern",keyword:"pattern",params:{pattern: "^[a-f0-9]{64}$"},message:"must match pattern \""+"^[a-f0-9]{64}$"+"\""};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}else {const err8 = {instancePath:instancePath+"/buildDigest",schemaPath:"#/$defs/digest/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}var valid1 = _errs9 === errors;}else {var valid1 = true;}}}}}}}else {const err9 = {instancePath,schemaPath:"#/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}var _valid0 = _errs1 === errors;if(_valid0){valid0 = true;passing0 = 0;var props0 = true;}const _errs12 = errors;if(errors === _errs12){if(data && typeof data == "object" && !Array.isArray(data)){let missing1;if((((((data.source === undefined) && (missing1 = "source")) || ((data.root === undefined) && (missing1 = "root"))) || ((data.revision === undefined) && (missing1 = "revision"))) || ((data.dirtyPatchDigest === undefined) && (missing1 = "dirtyPatchDigest"))) || ((data.buildDigest === undefined) && (missing1 = "buildDigest"))){const err10 = {instancePath,schemaPath:"#/oneOf/1/required",keyword:"required",params:{missingProperty: missing1},message:"must have required property '"+missing1+"'"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}else {const _errs14 = errors;for(const key1 in data){if(!(((((key1 === "source") || (key1 === "root")) || (key1 === "revision")) || (key1 === "dirtyPatchDigest")) || (key1 === "buildDigest"))){const err11 = {instancePath,schemaPath:"#/oneOf/1/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;break;}}if(_errs14 === errors){if(data.source !== undefined){const _errs15 = errors;if("checkout" !== data.source){const err12 = {instancePath:instancePath+"/source",schemaPath:"#/oneOf/1/properties/source/const",keyword:"const",params:{allowedValue: "checkout"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}var valid3 = _errs15 === errors;}else {var valid3 = true;}if(valid3){if(data.root !== undefined){let data5 = data.root;const _errs16 = errors;const _errs17 = errors;if(errors === _errs17){if(typeof data5 === "string"){if(!pattern20.test(data5)){const err13 = {instancePath:instancePath+"/root",schemaPath:"#/$defs/fileUrl/pattern",keyword:"pattern",params:{pattern: "^file:///"},message:"must match pattern \""+"^file:///"+"\""};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}else {const err14 = {instancePath:instancePath+"/root",schemaPath:"#/$defs/fileUrl/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}var valid3 = _errs16 === errors;}else {var valid3 = true;}if(valid3){if(data.revision !== undefined){let data6 = data.revision;const _errs19 = errors;if(errors === _errs19){if(typeof data6 === "string"){if(func2(data6) < 1){const err15 = {instancePath:instancePath+"/revision",schemaPath:"#/oneOf/1/properties/revision/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}else {const err16 = {instancePath:instancePath+"/revision",schemaPath:"#/oneOf/1/properties/revision/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}var valid3 = _errs19 === errors;}else {var valid3 = true;}if(valid3){if(data.dirtyPatchDigest !== undefined){let data7 = data.dirtyPatchDigest;const _errs21 = errors;const _errs22 = errors;let valid5 = false;let passing1 = null;const _errs23 = errors;const _errs24 = errors;if(errors === _errs24){if(typeof data7 === "string"){if(!pattern5.test(data7)){const err17 = {instancePath:instancePath+"/dirtyPatchDigest",schemaPath:"#/$defs/digest/pattern",keyword:"pattern",params:{pattern: "^[a-f0-9]{64}$"},message:"must match pattern \""+"^[a-f0-9]{64}$"+"\""};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}else {const err18 = {instancePath:instancePath+"/dirtyPatchDigest",schemaPath:"#/$defs/digest/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}var _valid1 = _errs23 === errors;if(_valid1){valid5 = true;passing1 = 0;}const _errs26 = errors;if(data7 !== null){const err19 = {instancePath:instancePath+"/dirtyPatchDigest",schemaPath:"#/oneOf/1/properties/dirtyPatchDigest/oneOf/1/type",keyword:"type",params:{type: "null"},message:"must be null"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}var _valid1 = _errs26 === errors;if(_valid1 && valid5){valid5 = false;passing1 = [passing1, 1];}else {if(_valid1){valid5 = true;passing1 = 1;}}if(!valid5){const err20 = {instancePath:instancePath+"/dirtyPatchDigest",schemaPath:"#/oneOf/1/properties/dirtyPatchDigest/oneOf",keyword:"oneOf",params:{passingSchemas: passing1},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}else {errors = _errs22;if(vErrors !== null){if(_errs22){vErrors.length = _errs22;}else {vErrors = null;}}}var valid3 = _errs21 === errors;}else {var valid3 = true;}if(valid3){if(data.buildDigest !== undefined){let data8 = data.buildDigest;const _errs28 = errors;const _errs29 = errors;if(errors === _errs29){if(typeof data8 === "string"){if(!pattern5.test(data8)){const err21 = {instancePath:instancePath+"/buildDigest",schemaPath:"#/$defs/digest/pattern",keyword:"pattern",params:{pattern: "^[a-f0-9]{64}$"},message:"must match pattern \""+"^[a-f0-9]{64}$"+"\""};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}else {const err22 = {instancePath:instancePath+"/buildDigest",schemaPath:"#/$defs/digest/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}var valid3 = _errs28 === errors;}else {var valid3 = true;}}}}}}}}else {const err23 = {instancePath,schemaPath:"#/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}var _valid0 = _errs12 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 1];}else {if(_valid0){valid0 = true;passing0 = 1;if(props0 !== true){props0 = true;}}}if(!valid0){const err24 = {instancePath,schemaPath:"#/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;validate26.errors = vErrors;return false;}else {errors = _errs0;if(vErrors !== null){if(_errs0){vErrors.length = _errs0;}else {vErrors = null;}}}validate26.errors = vErrors;evaluated0.props = props0;return errors === 0;}validate26.evaluated = {"dynamicProps":true,"dynamicItems":false};const schema71 = {"type":"object","required":["id","version","sourceDigest","configurationDigest","protocol","capabilities","replacements"],"properties":{"id":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"sourceDigest":{"$ref":"#/$defs/digest"},"configurationDigest":{"$ref":"#/$defs/digest"},"protocol":{"const":"sevro.extension.v1"},"capabilities":{"type":"array","items":{"type":"string","minLength":1},"uniqueItems":true},"replacements":{"type":"object","required":["graders","taskVerdictPolicy"],"properties":{"graders":{"type":"array","items":{"type":"string","minLength":1},"uniqueItems":true},"taskVerdictPolicy":{"type":["string","null"]}},"additionalProperties":false}},"additionalProperties":false};function validate28(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate28.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if((((((((data.id === undefined) && (missing0 = "id")) || ((data.version === undefined) && (missing0 = "version"))) || ((data.sourceDigest === undefined) && (missing0 = "sourceDigest"))) || ((data.configurationDigest === undefined) && (missing0 = "configurationDigest"))) || ((data.protocol === undefined) && (missing0 = "protocol"))) || ((data.capabilities === undefined) && (missing0 = "capabilities"))) || ((data.replacements === undefined) && (missing0 = "replacements"))){validate28.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {const _errs1 = errors;for(const key0 in data){if(!(((((((key0 === "id") || (key0 === "version")) || (key0 === "sourceDigest")) || (key0 === "configurationDigest")) || (key0 === "protocol")) || (key0 === "capabilities")) || (key0 === "replacements"))){validate28.errors = [{instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"}];return false;break;}}if(_errs1 === errors){if(data.id !== undefined){let data0 = data.id;const _errs2 = errors;if(errors === _errs2){if(typeof data0 === "string"){if(func2(data0) < 1){validate28.errors = [{instancePath:instancePath+"/id",schemaPath:"#/properties/id/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate28.errors = [{instancePath:instancePath+"/id",schemaPath:"#/properties/id/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs2 === errors;}else {var valid0 = true;}if(valid0){if(data.version !== undefined){let data1 = data.version;const _errs4 = errors;if(errors === _errs4){if(typeof data1 === "string"){if(func2(data1) < 1){validate28.errors = [{instancePath:instancePath+"/version",schemaPath:"#/properties/version/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate28.errors = [{instancePath:instancePath+"/version",schemaPath:"#/properties/version/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs4 === errors;}else {var valid0 = true;}if(valid0){if(data.sourceDigest !== undefined){let data2 = data.sourceDigest;const _errs6 = errors;const _errs7 = errors;if(errors === _errs7){if(typeof data2 === "string"){if(!pattern5.test(data2)){validate28.errors = [{instancePath:instancePath+"/sourceDigest",schemaPath:"#/$defs/digest/pattern",keyword:"pattern",params:{pattern: "^[a-f0-9]{64}$"},message:"must match pattern \""+"^[a-f0-9]{64}$"+"\""}];return false;}}else {validate28.errors = [{instancePath:instancePath+"/sourceDigest",schemaPath:"#/$defs/digest/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs6 === errors;}else {var valid0 = true;}if(valid0){if(data.configurationDigest !== undefined){let data3 = data.configurationDigest;const _errs9 = errors;const _errs10 = errors;if(errors === _errs10){if(typeof data3 === "string"){if(!pattern5.test(data3)){validate28.errors = [{instancePath:instancePath+"/configurationDigest",schemaPath:"#/$defs/digest/pattern",keyword:"pattern",params:{pattern: "^[a-f0-9]{64}$"},message:"must match pattern \""+"^[a-f0-9]{64}$"+"\""}];return false;}}else {validate28.errors = [{instancePath:instancePath+"/configurationDigest",schemaPath:"#/$defs/digest/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs9 === errors;}else {var valid0 = true;}if(valid0){if(data.protocol !== undefined){const _errs12 = errors;if("sevro.extension.v1" !== data.protocol){validate28.errors = [{instancePath:instancePath+"/protocol",schemaPath:"#/properties/protocol/const",keyword:"const",params:{allowedValue: "sevro.extension.v1"},message:"must be equal to constant"}];return false;}var valid0 = _errs12 === errors;}else {var valid0 = true;}if(valid0){if(data.capabilities !== undefined){let data5 = data.capabilities;const _errs13 = errors;if(errors === _errs13){if(Array.isArray(data5)){var valid3 = true;const len0 = data5.length;for(let i0=0; i0<len0; i0++){let data6 = data5[i0];const _errs15 = errors;if(errors === _errs15){if(typeof data6 === "string"){if(func2(data6) < 1){validate28.errors = [{instancePath:instancePath+"/capabilities/" + i0,schemaPath:"#/properties/capabilities/items/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate28.errors = [{instancePath:instancePath+"/capabilities/" + i0,schemaPath:"#/properties/capabilities/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid3 = _errs15 === errors;if(!valid3){break;}}if(valid3){let i1 = data5.length;let j0;if(i1 > 1){const indices0 = {};for(;i1--;){let item0 = data5[i1];if(typeof item0 !== "string"){continue;}if(typeof indices0[item0] == "number"){j0 = indices0[item0];validate28.errors = [{instancePath:instancePath+"/capabilities",schemaPath:"#/properties/capabilities/uniqueItems",keyword:"uniqueItems",params:{i: i1, j: j0},message:"must NOT have duplicate items (items ## "+j0+" and "+i1+" are identical)"}];return false;break;}indices0[item0] = i1;}}}}else {validate28.errors = [{instancePath:instancePath+"/capabilities",schemaPath:"#/properties/capabilities/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid0 = _errs13 === errors;}else {var valid0 = true;}if(valid0){if(data.replacements !== undefined){let data7 = data.replacements;const _errs17 = errors;if(errors === _errs17){if(data7 && typeof data7 == "object" && !Array.isArray(data7)){let missing1;if(((data7.graders === undefined) && (missing1 = "graders")) || ((data7.taskVerdictPolicy === undefined) && (missing1 = "taskVerdictPolicy"))){validate28.errors = [{instancePath:instancePath+"/replacements",schemaPath:"#/properties/replacements/required",keyword:"required",params:{missingProperty: missing1},message:"must have required property '"+missing1+"'"}];return false;}else {const _errs19 = errors;for(const key1 in data7){if(!((key1 === "graders") || (key1 === "taskVerdictPolicy"))){validate28.errors = [{instancePath:instancePath+"/replacements",schemaPath:"#/properties/replacements/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"}];return false;break;}}if(_errs19 === errors){if(data7.graders !== undefined){let data8 = data7.graders;const _errs20 = errors;if(errors === _errs20){if(Array.isArray(data8)){var valid6 = true;const len1 = data8.length;for(let i2=0; i2<len1; i2++){let data9 = data8[i2];const _errs22 = errors;if(errors === _errs22){if(typeof data9 === "string"){if(func2(data9) < 1){validate28.errors = [{instancePath:instancePath+"/replacements/graders/" + i2,schemaPath:"#/properties/replacements/properties/graders/items/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate28.errors = [{instancePath:instancePath+"/replacements/graders/" + i2,schemaPath:"#/properties/replacements/properties/graders/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid6 = _errs22 === errors;if(!valid6){break;}}if(valid6){let i3 = data8.length;let j1;if(i3 > 1){const indices1 = {};for(;i3--;){let item1 = data8[i3];if(typeof item1 !== "string"){continue;}if(typeof indices1[item1] == "number"){j1 = indices1[item1];validate28.errors = [{instancePath:instancePath+"/replacements/graders",schemaPath:"#/properties/replacements/properties/graders/uniqueItems",keyword:"uniqueItems",params:{i: i3, j: j1},message:"must NOT have duplicate items (items ## "+j1+" and "+i3+" are identical)"}];return false;break;}indices1[item1] = i3;}}}}else {validate28.errors = [{instancePath:instancePath+"/replacements/graders",schemaPath:"#/properties/replacements/properties/graders/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid5 = _errs20 === errors;}else {var valid5 = true;}if(valid5){if(data7.taskVerdictPolicy !== undefined){let data10 = data7.taskVerdictPolicy;const _errs24 = errors;if((typeof data10 !== "string") && (data10 !== null)){validate28.errors = [{instancePath:instancePath+"/replacements/taskVerdictPolicy",schemaPath:"#/properties/replacements/properties/taskVerdictPolicy/type",keyword:"type",params:{type: schema71.properties.replacements.properties.taskVerdictPolicy.type},message:"must be string,null"}];return false;}var valid5 = _errs24 === errors;}else {var valid5 = true;}}}}}else {validate28.errors = [{instancePath:instancePath+"/replacements",schemaPath:"#/properties/replacements/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid0 = _errs17 === errors;}else {var valid0 = true;}}}}}}}}}}else {validate28.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate28.errors = vErrors;return errors === 0;}validate28.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema31 = {"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"urn:sevro:schema:cli-result:v1","title":"Sevro CLI JSON result v1","type":"object","required":["format","runId","execution","grading","task","exitCode","evidencePath","cases"],"properties":{"format":{"const":"sevro.cli-result.v1"},"runId":{"type":["string","null"]},"execution":{"$ref":"#/$defs/execution"},"grading":{"$ref":"#/$defs/grading"},"task":{"$ref":"#/$defs/task"},"exitCode":{"enum":[0,1,2,3,4,64,70,130,143]},"evidencePath":{"type":["string","null"]},"cases":{"type":"array","items":{"$ref":"#/$defs/case"}},"diagnostic":{"$ref":"#/$defs/diagnostic"}},"allOf":[{"$ref":"#/$defs/stateConsistency"}],"additionalProperties":false,"$defs":{"stateConsistency":{"allOf":[{"if":{"properties":{"execution":{"properties":{"status":{"enum":["failed","cancelled","not_run"]}}}}},"then":{"properties":{"task":{"properties":{"verdict":{"not":{"const":"passed"}}}}}}},{"if":{"properties":{"grading":{"properties":{"status":{"enum":["error","unavailable","not_requested"]}}}}},"then":{"properties":{"task":{"properties":{"verdict":{"not":{"const":"passed"}}}}}}}]},"execution":{"type":"object","required":["status"],"properties":{"status":{"enum":["completed","failed","cancelled","not_run"]},"errorCode":{"type":"string","minLength":1}},"additionalProperties":false},"grading":{"type":"object","required":["status"],"properties":{"status":{"enum":["completed","error","unavailable","not_requested"]},"errorCode":{"type":"string","minLength":1}},"additionalProperties":false},"task":{"type":"object","required":["verdict"],"properties":{"verdict":{"enum":["passed","failed","not_assessed"]}},"additionalProperties":false},"check":{"type":"object","required":["id","grader","status"],"properties":{"id":{"type":"string","minLength":1},"grader":{"type":"string","minLength":1},"status":{"enum":["passed","failed","unavailable"]},"detail":{"type":"string","maxLength":4096},"evidenceRefs":{"type":"array","items":{"type":"string","minLength":1},"uniqueItems":true}},"additionalProperties":false},"domainOutcome":{"type":"object","required":["id","status","evidenceRefs"],"properties":{"id":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)+$","maxLength":128},"status":{"enum":["passed","failed","unavailable"]},"detail":{"type":"string","maxLength":4096},"evidenceRefs":{"type":"array","items":{"type":"string","minLength":1},"uniqueItems":true},"data":{"type":"object"}},"additionalProperties":false},"trial":{"type":"object","required":["trial","execution","grading","task","checks","artifactPath"],"properties":{"trial":{"type":"integer","minimum":1},"execution":{"$ref":"#/$defs/execution"},"grading":{"$ref":"#/$defs/grading"},"task":{"$ref":"#/$defs/task"},"checks":{"type":"array","items":{"$ref":"#/$defs/check"}},"domainOutcomes":{"type":"array","items":{"$ref":"#/$defs/domainOutcome"}},"artifactPath":{"type":["string","null"]}},"allOf":[{"$ref":"#/$defs/stateConsistency"}],"additionalProperties":false},"case":{"type":"object","required":["caseId","execution","grading","task","trials"],"properties":{"caseId":{"type":"string","minLength":1},"execution":{"$ref":"#/$defs/execution"},"grading":{"$ref":"#/$defs/grading"},"task":{"$ref":"#/$defs/task"},"trials":{"type":"array","items":{"$ref":"#/$defs/trial"}}},"allOf":[{"$ref":"#/$defs/stateConsistency"}],"additionalProperties":false},"diagnostic":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","minLength":1},"message":{"type":"string","minLength":1,"maxLength":4096}},"additionalProperties":false}}};const schema32 = {"allOf":[{"if":{"properties":{"execution":{"properties":{"status":{"enum":["failed","cancelled","not_run"]}}}}},"then":{"properties":{"task":{"properties":{"verdict":{"not":{"const":"passed"}}}}}}},{"if":{"properties":{"grading":{"properties":{"status":{"enum":["error","unavailable","not_requested"]}}}}},"then":{"properties":{"task":{"properties":{"verdict":{"not":{"const":"passed"}}}}}}}]};const schema33 = {"type":"object","required":["status"],"properties":{"status":{"enum":["completed","failed","cancelled","not_run"]},"errorCode":{"type":"string","minLength":1}},"additionalProperties":false};const schema34 = {"type":"object","required":["status"],"properties":{"status":{"enum":["completed","error","unavailable","not_requested"]},"errorCode":{"type":"string","minLength":1}},"additionalProperties":false};const schema35 = {"type":"object","required":["verdict"],"properties":{"verdict":{"enum":["passed","failed","not_assessed"]}},"additionalProperties":false};const schema48 = {"type":"object","required":["code","message"],"properties":{"code":{"type":"string","minLength":1},"message":{"type":"string","minLength":1,"maxLength":4096}},"additionalProperties":false};const schema36 = {"type":"object","required":["caseId","execution","grading","task","trials"],"properties":{"caseId":{"type":"string","minLength":1},"execution":{"$ref":"#/$defs/execution"},"grading":{"$ref":"#/$defs/grading"},"task":{"$ref":"#/$defs/task"},"trials":{"type":"array","items":{"$ref":"#/$defs/trial"}}},"allOf":[{"$ref":"#/$defs/stateConsistency"}],"additionalProperties":false};const schema41 = {"type":"object","required":["trial","execution","grading","task","checks","artifactPath"],"properties":{"trial":{"type":"integer","minimum":1},"execution":{"$ref":"#/$defs/execution"},"grading":{"$ref":"#/$defs/grading"},"task":{"$ref":"#/$defs/task"},"checks":{"type":"array","items":{"$ref":"#/$defs/check"}},"domainOutcomes":{"type":"array","items":{"$ref":"#/$defs/domainOutcome"}},"artifactPath":{"type":["string","null"]}},"allOf":[{"$ref":"#/$defs/stateConsistency"}],"additionalProperties":false};const schema46 = {"type":"object","required":["id","grader","status"],"properties":{"id":{"type":"string","minLength":1},"grader":{"type":"string","minLength":1},"status":{"enum":["passed","failed","unavailable"]},"detail":{"type":"string","maxLength":4096},"evidenceRefs":{"type":"array","items":{"type":"string","minLength":1},"uniqueItems":true}},"additionalProperties":false};const schema47 = {"type":"object","required":["id","status","evidenceRefs"],"properties":{"id":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)+$","maxLength":128},"status":{"enum":["passed","failed","unavailable"]},"detail":{"type":"string","maxLength":4096},"evidenceRefs":{"type":"array","items":{"type":"string","minLength":1},"uniqueItems":true},"data":{"type":"object"}},"additionalProperties":false};const pattern4 = new RegExp("^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)+$", "u");function validate22(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate22.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs3 = errors;const _errs4 = errors;let valid3 = true;const _errs5 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.execution !== undefined){let data0 = data.execution;if(data0 && typeof data0 == "object" && !Array.isArray(data0)){if(data0.status !== undefined){let data1 = data0.status;if(!(((data1 === "failed") || (data1 === "cancelled")) || (data1 === "not_run"))){const err0 = {};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}}}}}var _valid0 = _errs5 === errors;errors = _errs4;if(vErrors !== null){if(_errs4){vErrors.length = _errs4;}else {vErrors = null;}}if(_valid0){const _errs8 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.task !== undefined){let data2 = data.task;if(data2 && typeof data2 == "object" && !Array.isArray(data2)){if(data2.verdict !== undefined){const _errs11 = errors;const _errs12 = errors;if("passed" !== data2.verdict){const err1 = {};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}var valid8 = _errs12 === errors;if(valid8){validate22.errors = [{instancePath:instancePath+"/task/verdict",schemaPath:"#/$defs/stateConsistency/allOf/0/then/properties/task/properties/verdict/not",keyword:"not",params:{},message:"must NOT be valid"}];return false;}else {errors = _errs11;if(vErrors !== null){if(_errs11){vErrors.length = _errs11;}else {vErrors = null;}}}}}}}var _valid0 = _errs8 === errors;valid3 = _valid0;if(valid3){var props0 = {};props0.task = true;props0.execution = true;}}if(!valid3){const err2 = {instancePath,schemaPath:"#/$defs/stateConsistency/allOf/0/if",keyword:"if",params:{failingKeyword: "then"},message:"must match \"then\" schema"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;validate22.errors = vErrors;return false;}var valid2 = _errs3 === errors;if(valid2){const _errs13 = errors;const _errs14 = errors;let valid9 = true;const _errs15 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.grading !== undefined){let data4 = data.grading;if(data4 && typeof data4 == "object" && !Array.isArray(data4)){if(data4.status !== undefined){let data5 = data4.status;if(!(((data5 === "error") || (data5 === "unavailable")) || (data5 === "not_requested"))){const err3 = {};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}}}}var _valid1 = _errs15 === errors;errors = _errs14;if(vErrors !== null){if(_errs14){vErrors.length = _errs14;}else {vErrors = null;}}if(_valid1){const _errs18 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.task !== undefined){let data6 = data.task;if(data6 && typeof data6 == "object" && !Array.isArray(data6)){if(data6.verdict !== undefined){const _errs21 = errors;const _errs22 = errors;if("passed" !== data6.verdict){const err4 = {};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}var valid14 = _errs22 === errors;if(valid14){validate22.errors = [{instancePath:instancePath+"/task/verdict",schemaPath:"#/$defs/stateConsistency/allOf/1/then/properties/task/properties/verdict/not",keyword:"not",params:{},message:"must NOT be valid"}];return false;}else {errors = _errs21;if(vErrors !== null){if(_errs21){vErrors.length = _errs21;}else {vErrors = null;}}}}}}}var _valid1 = _errs18 === errors;valid9 = _valid1;if(valid9){var props1 = {};props1.task = true;props1.grading = true;}}if(!valid9){const err5 = {instancePath,schemaPath:"#/$defs/stateConsistency/allOf/1/if",keyword:"if",params:{failingKeyword: "then"},message:"must match \"then\" schema"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;validate22.errors = vErrors;return false;}var valid2 = _errs13 === errors;if(valid2){if(props0 !== true && props1 !== undefined){if(props1 === true){props0 = true;}else {props0 = props0 || {};Object.assign(props0, props1);}}}}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((((((data.trial === undefined) && (missing0 = "trial")) || ((data.execution === undefined) && (missing0 = "execution"))) || ((data.grading === undefined) && (missing0 = "grading"))) || ((data.task === undefined) && (missing0 = "task"))) || ((data.checks === undefined) && (missing0 = "checks"))) || ((data.artifactPath === undefined) && (missing0 = "artifactPath"))){validate22.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {const _errs23 = errors;for(const key0 in data){if(!(((((((key0 === "trial") || (key0 === "execution")) || (key0 === "grading")) || (key0 === "task")) || (key0 === "checks")) || (key0 === "domainOutcomes")) || (key0 === "artifactPath"))){validate22.errors = [{instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"}];return false;break;}}if(_errs23 === errors){if(data.trial !== undefined){let data8 = data.trial;const _errs24 = errors;if(!(((typeof data8 == "number") && (!(data8 % 1) && !isNaN(data8))) && (isFinite(data8)))){validate22.errors = [{instancePath:instancePath+"/trial",schemaPath:"#/properties/trial/type",keyword:"type",params:{type: "integer"},message:"must be integer"}];return false;}if(errors === _errs24){if((typeof data8 == "number") && (isFinite(data8))){if(data8 < 1 || isNaN(data8)){validate22.errors = [{instancePath:instancePath+"/trial",schemaPath:"#/properties/trial/minimum",keyword:"minimum",params:{comparison: ">=", limit: 1},message:"must be >= 1"}];return false;}}}var valid15 = _errs24 === errors;}else {var valid15 = true;}if(valid15){if(data.execution !== undefined){let data9 = data.execution;const _errs26 = errors;const _errs27 = errors;if(errors === _errs27){if(data9 && typeof data9 == "object" && !Array.isArray(data9)){let missing1;if((data9.status === undefined) && (missing1 = "status")){validate22.errors = [{instancePath:instancePath+"/execution",schemaPath:"#/$defs/execution/required",keyword:"required",params:{missingProperty: missing1},message:"must have required property '"+missing1+"'"}];return false;}else {const _errs29 = errors;for(const key1 in data9){if(!((key1 === "status") || (key1 === "errorCode"))){validate22.errors = [{instancePath:instancePath+"/execution",schemaPath:"#/$defs/execution/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"}];return false;break;}}if(_errs29 === errors){if(data9.status !== undefined){let data10 = data9.status;const _errs30 = errors;if(!((((data10 === "completed") || (data10 === "failed")) || (data10 === "cancelled")) || (data10 === "not_run"))){validate22.errors = [{instancePath:instancePath+"/execution/status",schemaPath:"#/$defs/execution/properties/status/enum",keyword:"enum",params:{allowedValues: schema33.properties.status.enum},message:"must be equal to one of the allowed values"}];return false;}var valid17 = _errs30 === errors;}else {var valid17 = true;}if(valid17){if(data9.errorCode !== undefined){let data11 = data9.errorCode;const _errs31 = errors;if(errors === _errs31){if(typeof data11 === "string"){if(func2(data11) < 1){validate22.errors = [{instancePath:instancePath+"/execution/errorCode",schemaPath:"#/$defs/execution/properties/errorCode/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate22.errors = [{instancePath:instancePath+"/execution/errorCode",schemaPath:"#/$defs/execution/properties/errorCode/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid17 = _errs31 === errors;}else {var valid17 = true;}}}}}else {validate22.errors = [{instancePath:instancePath+"/execution",schemaPath:"#/$defs/execution/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid15 = _errs26 === errors;}else {var valid15 = true;}if(valid15){if(data.grading !== undefined){let data12 = data.grading;const _errs33 = errors;const _errs34 = errors;if(errors === _errs34){if(data12 && typeof data12 == "object" && !Array.isArray(data12)){let missing2;if((data12.status === undefined) && (missing2 = "status")){validate22.errors = [{instancePath:instancePath+"/grading",schemaPath:"#/$defs/grading/required",keyword:"required",params:{missingProperty: missing2},message:"must have required property '"+missing2+"'"}];return false;}else {const _errs36 = errors;for(const key2 in data12){if(!((key2 === "status") || (key2 === "errorCode"))){validate22.errors = [{instancePath:instancePath+"/grading",schemaPath:"#/$defs/grading/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"}];return false;break;}}if(_errs36 === errors){if(data12.status !== undefined){let data13 = data12.status;const _errs37 = errors;if(!((((data13 === "completed") || (data13 === "error")) || (data13 === "unavailable")) || (data13 === "not_requested"))){validate22.errors = [{instancePath:instancePath+"/grading/status",schemaPath:"#/$defs/grading/properties/status/enum",keyword:"enum",params:{allowedValues: schema34.properties.status.enum},message:"must be equal to one of the allowed values"}];return false;}var valid19 = _errs37 === errors;}else {var valid19 = true;}if(valid19){if(data12.errorCode !== undefined){let data14 = data12.errorCode;const _errs38 = errors;if(errors === _errs38){if(typeof data14 === "string"){if(func2(data14) < 1){validate22.errors = [{instancePath:instancePath+"/grading/errorCode",schemaPath:"#/$defs/grading/properties/errorCode/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate22.errors = [{instancePath:instancePath+"/grading/errorCode",schemaPath:"#/$defs/grading/properties/errorCode/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid19 = _errs38 === errors;}else {var valid19 = true;}}}}}else {validate22.errors = [{instancePath:instancePath+"/grading",schemaPath:"#/$defs/grading/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid15 = _errs33 === errors;}else {var valid15 = true;}if(valid15){if(data.task !== undefined){let data15 = data.task;const _errs40 = errors;const _errs41 = errors;if(errors === _errs41){if(data15 && typeof data15 == "object" && !Array.isArray(data15)){let missing3;if((data15.verdict === undefined) && (missing3 = "verdict")){validate22.errors = [{instancePath:instancePath+"/task",schemaPath:"#/$defs/task/required",keyword:"required",params:{missingProperty: missing3},message:"must have required property '"+missing3+"'"}];return false;}else {const _errs43 = errors;for(const key3 in data15){if(!(key3 === "verdict")){validate22.errors = [{instancePath:instancePath+"/task",schemaPath:"#/$defs/task/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key3},message:"must NOT have additional properties"}];return false;break;}}if(_errs43 === errors){if(data15.verdict !== undefined){let data16 = data15.verdict;if(!(((data16 === "passed") || (data16 === "failed")) || (data16 === "not_assessed"))){validate22.errors = [{instancePath:instancePath+"/task/verdict",schemaPath:"#/$defs/task/properties/verdict/enum",keyword:"enum",params:{allowedValues: schema35.properties.verdict.enum},message:"must be equal to one of the allowed values"}];return false;}}}}}else {validate22.errors = [{instancePath:instancePath+"/task",schemaPath:"#/$defs/task/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid15 = _errs40 === errors;}else {var valid15 = true;}if(valid15){if(data.checks !== undefined){let data17 = data.checks;const _errs45 = errors;if(errors === _errs45){if(Array.isArray(data17)){var valid22 = true;const len0 = data17.length;for(let i0=0; i0<len0; i0++){let data18 = data17[i0];const _errs47 = errors;const _errs48 = errors;if(errors === _errs48){if(data18 && typeof data18 == "object" && !Array.isArray(data18)){let missing4;if((((data18.id === undefined) && (missing4 = "id")) || ((data18.grader === undefined) && (missing4 = "grader"))) || ((data18.status === undefined) && (missing4 = "status"))){validate22.errors = [{instancePath:instancePath+"/checks/" + i0,schemaPath:"#/$defs/check/required",keyword:"required",params:{missingProperty: missing4},message:"must have required property '"+missing4+"'"}];return false;}else {const _errs50 = errors;for(const key4 in data18){if(!(((((key4 === "id") || (key4 === "grader")) || (key4 === "status")) || (key4 === "detail")) || (key4 === "evidenceRefs"))){validate22.errors = [{instancePath:instancePath+"/checks/" + i0,schemaPath:"#/$defs/check/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key4},message:"must NOT have additional properties"}];return false;break;}}if(_errs50 === errors){if(data18.id !== undefined){let data19 = data18.id;const _errs51 = errors;if(errors === _errs51){if(typeof data19 === "string"){if(func2(data19) < 1){validate22.errors = [{instancePath:instancePath+"/checks/" + i0+"/id",schemaPath:"#/$defs/check/properties/id/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate22.errors = [{instancePath:instancePath+"/checks/" + i0+"/id",schemaPath:"#/$defs/check/properties/id/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid24 = _errs51 === errors;}else {var valid24 = true;}if(valid24){if(data18.grader !== undefined){let data20 = data18.grader;const _errs53 = errors;if(errors === _errs53){if(typeof data20 === "string"){if(func2(data20) < 1){validate22.errors = [{instancePath:instancePath+"/checks/" + i0+"/grader",schemaPath:"#/$defs/check/properties/grader/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate22.errors = [{instancePath:instancePath+"/checks/" + i0+"/grader",schemaPath:"#/$defs/check/properties/grader/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid24 = _errs53 === errors;}else {var valid24 = true;}if(valid24){if(data18.status !== undefined){let data21 = data18.status;const _errs55 = errors;if(!(((data21 === "passed") || (data21 === "failed")) || (data21 === "unavailable"))){validate22.errors = [{instancePath:instancePath+"/checks/" + i0+"/status",schemaPath:"#/$defs/check/properties/status/enum",keyword:"enum",params:{allowedValues: schema46.properties.status.enum},message:"must be equal to one of the allowed values"}];return false;}var valid24 = _errs55 === errors;}else {var valid24 = true;}if(valid24){if(data18.detail !== undefined){let data22 = data18.detail;const _errs56 = errors;if(errors === _errs56){if(typeof data22 === "string"){if(func2(data22) > 4096){validate22.errors = [{instancePath:instancePath+"/checks/" + i0+"/detail",schemaPath:"#/$defs/check/properties/detail/maxLength",keyword:"maxLength",params:{limit: 4096},message:"must NOT have more than 4096 characters"}];return false;}}else {validate22.errors = [{instancePath:instancePath+"/checks/" + i0+"/detail",schemaPath:"#/$defs/check/properties/detail/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid24 = _errs56 === errors;}else {var valid24 = true;}if(valid24){if(data18.evidenceRefs !== undefined){let data23 = data18.evidenceRefs;const _errs58 = errors;if(errors === _errs58){if(Array.isArray(data23)){var valid25 = true;const len1 = data23.length;for(let i1=0; i1<len1; i1++){let data24 = data23[i1];const _errs60 = errors;if(errors === _errs60){if(typeof data24 === "string"){if(func2(data24) < 1){validate22.errors = [{instancePath:instancePath+"/checks/" + i0+"/evidenceRefs/" + i1,schemaPath:"#/$defs/check/properties/evidenceRefs/items/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate22.errors = [{instancePath:instancePath+"/checks/" + i0+"/evidenceRefs/" + i1,schemaPath:"#/$defs/check/properties/evidenceRefs/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid25 = _errs60 === errors;if(!valid25){break;}}if(valid25){let i2 = data23.length;let j0;if(i2 > 1){const indices0 = {};for(;i2--;){let item0 = data23[i2];if(typeof item0 !== "string"){continue;}if(typeof indices0[item0] == "number"){j0 = indices0[item0];validate22.errors = [{instancePath:instancePath+"/checks/" + i0+"/evidenceRefs",schemaPath:"#/$defs/check/properties/evidenceRefs/uniqueItems",keyword:"uniqueItems",params:{i: i2, j: j0},message:"must NOT have duplicate items (items ## "+j0+" and "+i2+" are identical)"}];return false;break;}indices0[item0] = i2;}}}}else {validate22.errors = [{instancePath:instancePath+"/checks/" + i0+"/evidenceRefs",schemaPath:"#/$defs/check/properties/evidenceRefs/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid24 = _errs58 === errors;}else {var valid24 = true;}}}}}}}}else {validate22.errors = [{instancePath:instancePath+"/checks/" + i0,schemaPath:"#/$defs/check/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid22 = _errs47 === errors;if(!valid22){break;}}}else {validate22.errors = [{instancePath:instancePath+"/checks",schemaPath:"#/properties/checks/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid15 = _errs45 === errors;}else {var valid15 = true;}if(valid15){if(data.domainOutcomes !== undefined){let data25 = data.domainOutcomes;const _errs62 = errors;if(errors === _errs62){if(Array.isArray(data25)){var valid27 = true;const len2 = data25.length;for(let i3=0; i3<len2; i3++){let data26 = data25[i3];const _errs64 = errors;const _errs65 = errors;if(errors === _errs65){if(data26 && typeof data26 == "object" && !Array.isArray(data26)){let missing5;if((((data26.id === undefined) && (missing5 = "id")) || ((data26.status === undefined) && (missing5 = "status"))) || ((data26.evidenceRefs === undefined) && (missing5 = "evidenceRefs"))){validate22.errors = [{instancePath:instancePath+"/domainOutcomes/" + i3,schemaPath:"#/$defs/domainOutcome/required",keyword:"required",params:{missingProperty: missing5},message:"must have required property '"+missing5+"'"}];return false;}else {const _errs67 = errors;for(const key5 in data26){if(!(((((key5 === "id") || (key5 === "status")) || (key5 === "detail")) || (key5 === "evidenceRefs")) || (key5 === "data"))){validate22.errors = [{instancePath:instancePath+"/domainOutcomes/" + i3,schemaPath:"#/$defs/domainOutcome/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key5},message:"must NOT have additional properties"}];return false;break;}}if(_errs67 === errors){if(data26.id !== undefined){let data27 = data26.id;const _errs68 = errors;if(errors === _errs68){if(typeof data27 === "string"){if(func2(data27) > 128){validate22.errors = [{instancePath:instancePath+"/domainOutcomes/" + i3+"/id",schemaPath:"#/$defs/domainOutcome/properties/id/maxLength",keyword:"maxLength",params:{limit: 128},message:"must NOT have more than 128 characters"}];return false;}else {if(!pattern4.test(data27)){validate22.errors = [{instancePath:instancePath+"/domainOutcomes/" + i3+"/id",schemaPath:"#/$defs/domainOutcome/properties/id/pattern",keyword:"pattern",params:{pattern: "^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)+$"},message:"must match pattern \""+"^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)+$"+"\""}];return false;}}}else {validate22.errors = [{instancePath:instancePath+"/domainOutcomes/" + i3+"/id",schemaPath:"#/$defs/domainOutcome/properties/id/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid29 = _errs68 === errors;}else {var valid29 = true;}if(valid29){if(data26.status !== undefined){let data28 = data26.status;const _errs70 = errors;if(!(((data28 === "passed") || (data28 === "failed")) || (data28 === "unavailable"))){validate22.errors = [{instancePath:instancePath+"/domainOutcomes/" + i3+"/status",schemaPath:"#/$defs/domainOutcome/properties/status/enum",keyword:"enum",params:{allowedValues: schema47.properties.status.enum},message:"must be equal to one of the allowed values"}];return false;}var valid29 = _errs70 === errors;}else {var valid29 = true;}if(valid29){if(data26.detail !== undefined){let data29 = data26.detail;const _errs71 = errors;if(errors === _errs71){if(typeof data29 === "string"){if(func2(data29) > 4096){validate22.errors = [{instancePath:instancePath+"/domainOutcomes/" + i3+"/detail",schemaPath:"#/$defs/domainOutcome/properties/detail/maxLength",keyword:"maxLength",params:{limit: 4096},message:"must NOT have more than 4096 characters"}];return false;}}else {validate22.errors = [{instancePath:instancePath+"/domainOutcomes/" + i3+"/detail",schemaPath:"#/$defs/domainOutcome/properties/detail/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid29 = _errs71 === errors;}else {var valid29 = true;}if(valid29){if(data26.evidenceRefs !== undefined){let data30 = data26.evidenceRefs;const _errs73 = errors;if(errors === _errs73){if(Array.isArray(data30)){var valid30 = true;const len3 = data30.length;for(let i4=0; i4<len3; i4++){let data31 = data30[i4];const _errs75 = errors;if(errors === _errs75){if(typeof data31 === "string"){if(func2(data31) < 1){validate22.errors = [{instancePath:instancePath+"/domainOutcomes/" + i3+"/evidenceRefs/" + i4,schemaPath:"#/$defs/domainOutcome/properties/evidenceRefs/items/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate22.errors = [{instancePath:instancePath+"/domainOutcomes/" + i3+"/evidenceRefs/" + i4,schemaPath:"#/$defs/domainOutcome/properties/evidenceRefs/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid30 = _errs75 === errors;if(!valid30){break;}}if(valid30){let i5 = data30.length;let j1;if(i5 > 1){const indices1 = {};for(;i5--;){let item1 = data30[i5];if(typeof item1 !== "string"){continue;}if(typeof indices1[item1] == "number"){j1 = indices1[item1];validate22.errors = [{instancePath:instancePath+"/domainOutcomes/" + i3+"/evidenceRefs",schemaPath:"#/$defs/domainOutcome/properties/evidenceRefs/uniqueItems",keyword:"uniqueItems",params:{i: i5, j: j1},message:"must NOT have duplicate items (items ## "+j1+" and "+i5+" are identical)"}];return false;break;}indices1[item1] = i5;}}}}else {validate22.errors = [{instancePath:instancePath+"/domainOutcomes/" + i3+"/evidenceRefs",schemaPath:"#/$defs/domainOutcome/properties/evidenceRefs/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid29 = _errs73 === errors;}else {var valid29 = true;}if(valid29){if(data26.data !== undefined){let data32 = data26.data;const _errs77 = errors;if(!(data32 && typeof data32 == "object" && !Array.isArray(data32))){validate22.errors = [{instancePath:instancePath+"/domainOutcomes/" + i3+"/data",schemaPath:"#/$defs/domainOutcome/properties/data/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}var valid29 = _errs77 === errors;}else {var valid29 = true;}}}}}}}}else {validate22.errors = [{instancePath:instancePath+"/domainOutcomes/" + i3,schemaPath:"#/$defs/domainOutcome/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid27 = _errs64 === errors;if(!valid27){break;}}}else {validate22.errors = [{instancePath:instancePath+"/domainOutcomes",schemaPath:"#/properties/domainOutcomes/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid15 = _errs62 === errors;}else {var valid15 = true;}if(valid15){if(data.artifactPath !== undefined){let data33 = data.artifactPath;const _errs79 = errors;if((typeof data33 !== "string") && (data33 !== null)){validate22.errors = [{instancePath:instancePath+"/artifactPath",schemaPath:"#/properties/artifactPath/type",keyword:"type",params:{type: schema41.properties.artifactPath.type},message:"must be string,null"}];return false;}var valid15 = _errs79 === errors;}else {var valid15 = true;}}}}}}}}}}else {validate22.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate22.errors = vErrors;return errors === 0;}validate22.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};function validate21(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate21.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs3 = errors;const _errs4 = errors;let valid3 = true;const _errs5 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.execution !== undefined){let data0 = data.execution;if(data0 && typeof data0 == "object" && !Array.isArray(data0)){if(data0.status !== undefined){let data1 = data0.status;if(!(((data1 === "failed") || (data1 === "cancelled")) || (data1 === "not_run"))){const err0 = {};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}}}}}var _valid0 = _errs5 === errors;errors = _errs4;if(vErrors !== null){if(_errs4){vErrors.length = _errs4;}else {vErrors = null;}}if(_valid0){const _errs8 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.task !== undefined){let data2 = data.task;if(data2 && typeof data2 == "object" && !Array.isArray(data2)){if(data2.verdict !== undefined){const _errs11 = errors;const _errs12 = errors;if("passed" !== data2.verdict){const err1 = {};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}var valid8 = _errs12 === errors;if(valid8){validate21.errors = [{instancePath:instancePath+"/task/verdict",schemaPath:"#/$defs/stateConsistency/allOf/0/then/properties/task/properties/verdict/not",keyword:"not",params:{},message:"must NOT be valid"}];return false;}else {errors = _errs11;if(vErrors !== null){if(_errs11){vErrors.length = _errs11;}else {vErrors = null;}}}}}}}var _valid0 = _errs8 === errors;valid3 = _valid0;if(valid3){var props0 = {};props0.task = true;props0.execution = true;}}if(!valid3){const err2 = {instancePath,schemaPath:"#/$defs/stateConsistency/allOf/0/if",keyword:"if",params:{failingKeyword: "then"},message:"must match \"then\" schema"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;validate21.errors = vErrors;return false;}var valid2 = _errs3 === errors;if(valid2){const _errs13 = errors;const _errs14 = errors;let valid9 = true;const _errs15 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.grading !== undefined){let data4 = data.grading;if(data4 && typeof data4 == "object" && !Array.isArray(data4)){if(data4.status !== undefined){let data5 = data4.status;if(!(((data5 === "error") || (data5 === "unavailable")) || (data5 === "not_requested"))){const err3 = {};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}}}}var _valid1 = _errs15 === errors;errors = _errs14;if(vErrors !== null){if(_errs14){vErrors.length = _errs14;}else {vErrors = null;}}if(_valid1){const _errs18 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.task !== undefined){let data6 = data.task;if(data6 && typeof data6 == "object" && !Array.isArray(data6)){if(data6.verdict !== undefined){const _errs21 = errors;const _errs22 = errors;if("passed" !== data6.verdict){const err4 = {};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}var valid14 = _errs22 === errors;if(valid14){validate21.errors = [{instancePath:instancePath+"/task/verdict",schemaPath:"#/$defs/stateConsistency/allOf/1/then/properties/task/properties/verdict/not",keyword:"not",params:{},message:"must NOT be valid"}];return false;}else {errors = _errs21;if(vErrors !== null){if(_errs21){vErrors.length = _errs21;}else {vErrors = null;}}}}}}}var _valid1 = _errs18 === errors;valid9 = _valid1;if(valid9){var props1 = {};props1.task = true;props1.grading = true;}}if(!valid9){const err5 = {instancePath,schemaPath:"#/$defs/stateConsistency/allOf/1/if",keyword:"if",params:{failingKeyword: "then"},message:"must match \"then\" schema"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;validate21.errors = vErrors;return false;}var valid2 = _errs13 === errors;if(valid2){if(props0 !== true && props1 !== undefined){if(props1 === true){props0 = true;}else {props0 = props0 || {};Object.assign(props0, props1);}}}}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if((((((data.caseId === undefined) && (missing0 = "caseId")) || ((data.execution === undefined) && (missing0 = "execution"))) || ((data.grading === undefined) && (missing0 = "grading"))) || ((data.task === undefined) && (missing0 = "task"))) || ((data.trials === undefined) && (missing0 = "trials"))){validate21.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {const _errs23 = errors;for(const key0 in data){if(!(((((key0 === "caseId") || (key0 === "execution")) || (key0 === "grading")) || (key0 === "task")) || (key0 === "trials"))){validate21.errors = [{instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"}];return false;break;}}if(_errs23 === errors){if(data.caseId !== undefined){let data8 = data.caseId;const _errs24 = errors;if(errors === _errs24){if(typeof data8 === "string"){if(func2(data8) < 1){validate21.errors = [{instancePath:instancePath+"/caseId",schemaPath:"#/properties/caseId/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate21.errors = [{instancePath:instancePath+"/caseId",schemaPath:"#/properties/caseId/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid15 = _errs24 === errors;}else {var valid15 = true;}if(valid15){if(data.execution !== undefined){let data9 = data.execution;const _errs26 = errors;const _errs27 = errors;if(errors === _errs27){if(data9 && typeof data9 == "object" && !Array.isArray(data9)){let missing1;if((data9.status === undefined) && (missing1 = "status")){validate21.errors = [{instancePath:instancePath+"/execution",schemaPath:"#/$defs/execution/required",keyword:"required",params:{missingProperty: missing1},message:"must have required property '"+missing1+"'"}];return false;}else {const _errs29 = errors;for(const key1 in data9){if(!((key1 === "status") || (key1 === "errorCode"))){validate21.errors = [{instancePath:instancePath+"/execution",schemaPath:"#/$defs/execution/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"}];return false;break;}}if(_errs29 === errors){if(data9.status !== undefined){let data10 = data9.status;const _errs30 = errors;if(!((((data10 === "completed") || (data10 === "failed")) || (data10 === "cancelled")) || (data10 === "not_run"))){validate21.errors = [{instancePath:instancePath+"/execution/status",schemaPath:"#/$defs/execution/properties/status/enum",keyword:"enum",params:{allowedValues: schema33.properties.status.enum},message:"must be equal to one of the allowed values"}];return false;}var valid17 = _errs30 === errors;}else {var valid17 = true;}if(valid17){if(data9.errorCode !== undefined){let data11 = data9.errorCode;const _errs31 = errors;if(errors === _errs31){if(typeof data11 === "string"){if(func2(data11) < 1){validate21.errors = [{instancePath:instancePath+"/execution/errorCode",schemaPath:"#/$defs/execution/properties/errorCode/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate21.errors = [{instancePath:instancePath+"/execution/errorCode",schemaPath:"#/$defs/execution/properties/errorCode/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid17 = _errs31 === errors;}else {var valid17 = true;}}}}}else {validate21.errors = [{instancePath:instancePath+"/execution",schemaPath:"#/$defs/execution/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid15 = _errs26 === errors;}else {var valid15 = true;}if(valid15){if(data.grading !== undefined){let data12 = data.grading;const _errs33 = errors;const _errs34 = errors;if(errors === _errs34){if(data12 && typeof data12 == "object" && !Array.isArray(data12)){let missing2;if((data12.status === undefined) && (missing2 = "status")){validate21.errors = [{instancePath:instancePath+"/grading",schemaPath:"#/$defs/grading/required",keyword:"required",params:{missingProperty: missing2},message:"must have required property '"+missing2+"'"}];return false;}else {const _errs36 = errors;for(const key2 in data12){if(!((key2 === "status") || (key2 === "errorCode"))){validate21.errors = [{instancePath:instancePath+"/grading",schemaPath:"#/$defs/grading/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"}];return false;break;}}if(_errs36 === errors){if(data12.status !== undefined){let data13 = data12.status;const _errs37 = errors;if(!((((data13 === "completed") || (data13 === "error")) || (data13 === "unavailable")) || (data13 === "not_requested"))){validate21.errors = [{instancePath:instancePath+"/grading/status",schemaPath:"#/$defs/grading/properties/status/enum",keyword:"enum",params:{allowedValues: schema34.properties.status.enum},message:"must be equal to one of the allowed values"}];return false;}var valid19 = _errs37 === errors;}else {var valid19 = true;}if(valid19){if(data12.errorCode !== undefined){let data14 = data12.errorCode;const _errs38 = errors;if(errors === _errs38){if(typeof data14 === "string"){if(func2(data14) < 1){validate21.errors = [{instancePath:instancePath+"/grading/errorCode",schemaPath:"#/$defs/grading/properties/errorCode/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate21.errors = [{instancePath:instancePath+"/grading/errorCode",schemaPath:"#/$defs/grading/properties/errorCode/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid19 = _errs38 === errors;}else {var valid19 = true;}}}}}else {validate21.errors = [{instancePath:instancePath+"/grading",schemaPath:"#/$defs/grading/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid15 = _errs33 === errors;}else {var valid15 = true;}if(valid15){if(data.task !== undefined){let data15 = data.task;const _errs40 = errors;const _errs41 = errors;if(errors === _errs41){if(data15 && typeof data15 == "object" && !Array.isArray(data15)){let missing3;if((data15.verdict === undefined) && (missing3 = "verdict")){validate21.errors = [{instancePath:instancePath+"/task",schemaPath:"#/$defs/task/required",keyword:"required",params:{missingProperty: missing3},message:"must have required property '"+missing3+"'"}];return false;}else {const _errs43 = errors;for(const key3 in data15){if(!(key3 === "verdict")){validate21.errors = [{instancePath:instancePath+"/task",schemaPath:"#/$defs/task/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key3},message:"must NOT have additional properties"}];return false;break;}}if(_errs43 === errors){if(data15.verdict !== undefined){let data16 = data15.verdict;if(!(((data16 === "passed") || (data16 === "failed")) || (data16 === "not_assessed"))){validate21.errors = [{instancePath:instancePath+"/task/verdict",schemaPath:"#/$defs/task/properties/verdict/enum",keyword:"enum",params:{allowedValues: schema35.properties.verdict.enum},message:"must be equal to one of the allowed values"}];return false;}}}}}else {validate21.errors = [{instancePath:instancePath+"/task",schemaPath:"#/$defs/task/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid15 = _errs40 === errors;}else {var valid15 = true;}if(valid15){if(data.trials !== undefined){let data17 = data.trials;const _errs45 = errors;if(errors === _errs45){if(Array.isArray(data17)){var valid22 = true;const len0 = data17.length;for(let i0=0; i0<len0; i0++){const _errs47 = errors;if(!(validate22(data17[i0], {instancePath:instancePath+"/trials/" + i0,parentData:data17,parentDataProperty:i0,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate22.errors : vErrors.concat(validate22.errors);errors = vErrors.length;}var valid22 = _errs47 === errors;if(!valid22){break;}}}else {validate21.errors = [{instancePath:instancePath+"/trials",schemaPath:"#/properties/trials/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid15 = _errs45 === errors;}else {var valid15 = true;}}}}}}}}else {validate21.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate21.errors = vErrors;return errors === 0;}validate21.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};function validate20(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){/*# sourceURL="urn:sevro:schema:cli-result:v1" */;let vErrors = null;let errors = 0;const evaluated0 = validate20.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs3 = errors;const _errs4 = errors;let valid3 = true;const _errs5 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.execution !== undefined){let data0 = data.execution;if(data0 && typeof data0 == "object" && !Array.isArray(data0)){if(data0.status !== undefined){let data1 = data0.status;if(!(((data1 === "failed") || (data1 === "cancelled")) || (data1 === "not_run"))){const err0 = {};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}}}}}var _valid0 = _errs5 === errors;errors = _errs4;if(vErrors !== null){if(_errs4){vErrors.length = _errs4;}else {vErrors = null;}}if(_valid0){const _errs8 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.task !== undefined){let data2 = data.task;if(data2 && typeof data2 == "object" && !Array.isArray(data2)){if(data2.verdict !== undefined){const _errs11 = errors;const _errs12 = errors;if("passed" !== data2.verdict){const err1 = {};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}var valid8 = _errs12 === errors;if(valid8){validate20.errors = [{instancePath:instancePath+"/task/verdict",schemaPath:"#/$defs/stateConsistency/allOf/0/then/properties/task/properties/verdict/not",keyword:"not",params:{},message:"must NOT be valid"}];return false;}else {errors = _errs11;if(vErrors !== null){if(_errs11){vErrors.length = _errs11;}else {vErrors = null;}}}}}}}var _valid0 = _errs8 === errors;valid3 = _valid0;if(valid3){var props0 = {};props0.task = true;props0.execution = true;}}if(!valid3){const err2 = {instancePath,schemaPath:"#/$defs/stateConsistency/allOf/0/if",keyword:"if",params:{failingKeyword: "then"},message:"must match \"then\" schema"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;validate20.errors = vErrors;return false;}var valid2 = _errs3 === errors;if(valid2){const _errs13 = errors;const _errs14 = errors;let valid9 = true;const _errs15 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.grading !== undefined){let data4 = data.grading;if(data4 && typeof data4 == "object" && !Array.isArray(data4)){if(data4.status !== undefined){let data5 = data4.status;if(!(((data5 === "error") || (data5 === "unavailable")) || (data5 === "not_requested"))){const err3 = {};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}}}}var _valid1 = _errs15 === errors;errors = _errs14;if(vErrors !== null){if(_errs14){vErrors.length = _errs14;}else {vErrors = null;}}if(_valid1){const _errs18 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.task !== undefined){let data6 = data.task;if(data6 && typeof data6 == "object" && !Array.isArray(data6)){if(data6.verdict !== undefined){const _errs21 = errors;const _errs22 = errors;if("passed" !== data6.verdict){const err4 = {};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}var valid14 = _errs22 === errors;if(valid14){validate20.errors = [{instancePath:instancePath+"/task/verdict",schemaPath:"#/$defs/stateConsistency/allOf/1/then/properties/task/properties/verdict/not",keyword:"not",params:{},message:"must NOT be valid"}];return false;}else {errors = _errs21;if(vErrors !== null){if(_errs21){vErrors.length = _errs21;}else {vErrors = null;}}}}}}}var _valid1 = _errs18 === errors;valid9 = _valid1;if(valid9){var props1 = {};props1.task = true;props1.grading = true;}}if(!valid9){const err5 = {instancePath,schemaPath:"#/$defs/stateConsistency/allOf/1/if",keyword:"if",params:{failingKeyword: "then"},message:"must match \"then\" schema"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;validate20.errors = vErrors;return false;}var valid2 = _errs13 === errors;if(valid2){if(props0 !== true && props1 !== undefined){if(props1 === true){props0 = true;}else {props0 = props0 || {};Object.assign(props0, props1);}}}}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((((((((data.format === undefined) && (missing0 = "format")) || ((data.runId === undefined) && (missing0 = "runId"))) || ((data.execution === undefined) && (missing0 = "execution"))) || ((data.grading === undefined) && (missing0 = "grading"))) || ((data.task === undefined) && (missing0 = "task"))) || ((data.exitCode === undefined) && (missing0 = "exitCode"))) || ((data.evidencePath === undefined) && (missing0 = "evidencePath"))) || ((data.cases === undefined) && (missing0 = "cases"))){validate20.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {const _errs23 = errors;for(const key0 in data){if(!(func1.call(schema31.properties, key0))){validate20.errors = [{instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"}];return false;break;}}if(_errs23 === errors){if(data.format !== undefined){const _errs24 = errors;if("sevro.cli-result.v1" !== data.format){validate20.errors = [{instancePath:instancePath+"/format",schemaPath:"#/properties/format/const",keyword:"const",params:{allowedValue: "sevro.cli-result.v1"},message:"must be equal to constant"}];return false;}var valid15 = _errs24 === errors;}else {var valid15 = true;}if(valid15){if(data.runId !== undefined){let data9 = data.runId;const _errs25 = errors;if((typeof data9 !== "string") && (data9 !== null)){validate20.errors = [{instancePath:instancePath+"/runId",schemaPath:"#/properties/runId/type",keyword:"type",params:{type: schema31.properties.runId.type},message:"must be string,null"}];return false;}var valid15 = _errs25 === errors;}else {var valid15 = true;}if(valid15){if(data.execution !== undefined){let data10 = data.execution;const _errs27 = errors;const _errs28 = errors;if(errors === _errs28){if(data10 && typeof data10 == "object" && !Array.isArray(data10)){let missing1;if((data10.status === undefined) && (missing1 = "status")){validate20.errors = [{instancePath:instancePath+"/execution",schemaPath:"#/$defs/execution/required",keyword:"required",params:{missingProperty: missing1},message:"must have required property '"+missing1+"'"}];return false;}else {const _errs30 = errors;for(const key1 in data10){if(!((key1 === "status") || (key1 === "errorCode"))){validate20.errors = [{instancePath:instancePath+"/execution",schemaPath:"#/$defs/execution/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"}];return false;break;}}if(_errs30 === errors){if(data10.status !== undefined){let data11 = data10.status;const _errs31 = errors;if(!((((data11 === "completed") || (data11 === "failed")) || (data11 === "cancelled")) || (data11 === "not_run"))){validate20.errors = [{instancePath:instancePath+"/execution/status",schemaPath:"#/$defs/execution/properties/status/enum",keyword:"enum",params:{allowedValues: schema33.properties.status.enum},message:"must be equal to one of the allowed values"}];return false;}var valid17 = _errs31 === errors;}else {var valid17 = true;}if(valid17){if(data10.errorCode !== undefined){let data12 = data10.errorCode;const _errs32 = errors;if(errors === _errs32){if(typeof data12 === "string"){if(func2(data12) < 1){validate20.errors = [{instancePath:instancePath+"/execution/errorCode",schemaPath:"#/$defs/execution/properties/errorCode/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate20.errors = [{instancePath:instancePath+"/execution/errorCode",schemaPath:"#/$defs/execution/properties/errorCode/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid17 = _errs32 === errors;}else {var valid17 = true;}}}}}else {validate20.errors = [{instancePath:instancePath+"/execution",schemaPath:"#/$defs/execution/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid15 = _errs27 === errors;}else {var valid15 = true;}if(valid15){if(data.grading !== undefined){let data13 = data.grading;const _errs34 = errors;const _errs35 = errors;if(errors === _errs35){if(data13 && typeof data13 == "object" && !Array.isArray(data13)){let missing2;if((data13.status === undefined) && (missing2 = "status")){validate20.errors = [{instancePath:instancePath+"/grading",schemaPath:"#/$defs/grading/required",keyword:"required",params:{missingProperty: missing2},message:"must have required property '"+missing2+"'"}];return false;}else {const _errs37 = errors;for(const key2 in data13){if(!((key2 === "status") || (key2 === "errorCode"))){validate20.errors = [{instancePath:instancePath+"/grading",schemaPath:"#/$defs/grading/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"}];return false;break;}}if(_errs37 === errors){if(data13.status !== undefined){let data14 = data13.status;const _errs38 = errors;if(!((((data14 === "completed") || (data14 === "error")) || (data14 === "unavailable")) || (data14 === "not_requested"))){validate20.errors = [{instancePath:instancePath+"/grading/status",schemaPath:"#/$defs/grading/properties/status/enum",keyword:"enum",params:{allowedValues: schema34.properties.status.enum},message:"must be equal to one of the allowed values"}];return false;}var valid19 = _errs38 === errors;}else {var valid19 = true;}if(valid19){if(data13.errorCode !== undefined){let data15 = data13.errorCode;const _errs39 = errors;if(errors === _errs39){if(typeof data15 === "string"){if(func2(data15) < 1){validate20.errors = [{instancePath:instancePath+"/grading/errorCode",schemaPath:"#/$defs/grading/properties/errorCode/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate20.errors = [{instancePath:instancePath+"/grading/errorCode",schemaPath:"#/$defs/grading/properties/errorCode/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid19 = _errs39 === errors;}else {var valid19 = true;}}}}}else {validate20.errors = [{instancePath:instancePath+"/grading",schemaPath:"#/$defs/grading/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid15 = _errs34 === errors;}else {var valid15 = true;}if(valid15){if(data.task !== undefined){let data16 = data.task;const _errs41 = errors;const _errs42 = errors;if(errors === _errs42){if(data16 && typeof data16 == "object" && !Array.isArray(data16)){let missing3;if((data16.verdict === undefined) && (missing3 = "verdict")){validate20.errors = [{instancePath:instancePath+"/task",schemaPath:"#/$defs/task/required",keyword:"required",params:{missingProperty: missing3},message:"must have required property '"+missing3+"'"}];return false;}else {const _errs44 = errors;for(const key3 in data16){if(!(key3 === "verdict")){validate20.errors = [{instancePath:instancePath+"/task",schemaPath:"#/$defs/task/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key3},message:"must NOT have additional properties"}];return false;break;}}if(_errs44 === errors){if(data16.verdict !== undefined){let data17 = data16.verdict;if(!(((data17 === "passed") || (data17 === "failed")) || (data17 === "not_assessed"))){validate20.errors = [{instancePath:instancePath+"/task/verdict",schemaPath:"#/$defs/task/properties/verdict/enum",keyword:"enum",params:{allowedValues: schema35.properties.verdict.enum},message:"must be equal to one of the allowed values"}];return false;}}}}}else {validate20.errors = [{instancePath:instancePath+"/task",schemaPath:"#/$defs/task/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid15 = _errs41 === errors;}else {var valid15 = true;}if(valid15){if(data.exitCode !== undefined){let data18 = data.exitCode;const _errs46 = errors;if(!(((((((((data18 === 0) || (data18 === 1)) || (data18 === 2)) || (data18 === 3)) || (data18 === 4)) || (data18 === 64)) || (data18 === 70)) || (data18 === 130)) || (data18 === 143))){validate20.errors = [{instancePath:instancePath+"/exitCode",schemaPath:"#/properties/exitCode/enum",keyword:"enum",params:{allowedValues: schema31.properties.exitCode.enum},message:"must be equal to one of the allowed values"}];return false;}var valid15 = _errs46 === errors;}else {var valid15 = true;}if(valid15){if(data.evidencePath !== undefined){let data19 = data.evidencePath;const _errs47 = errors;if((typeof data19 !== "string") && (data19 !== null)){validate20.errors = [{instancePath:instancePath+"/evidencePath",schemaPath:"#/properties/evidencePath/type",keyword:"type",params:{type: schema31.properties.evidencePath.type},message:"must be string,null"}];return false;}var valid15 = _errs47 === errors;}else {var valid15 = true;}if(valid15){if(data.cases !== undefined){let data20 = data.cases;const _errs49 = errors;if(errors === _errs49){if(Array.isArray(data20)){var valid22 = true;const len0 = data20.length;for(let i0=0; i0<len0; i0++){const _errs51 = errors;if(!(validate21(data20[i0], {instancePath:instancePath+"/cases/" + i0,parentData:data20,parentDataProperty:i0,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate21.errors : vErrors.concat(validate21.errors);errors = vErrors.length;}var valid22 = _errs51 === errors;if(!valid22){break;}}}else {validate20.errors = [{instancePath:instancePath+"/cases",schemaPath:"#/properties/cases/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid15 = _errs49 === errors;}else {var valid15 = true;}if(valid15){if(data.diagnostic !== undefined){let data22 = data.diagnostic;const _errs52 = errors;const _errs53 = errors;if(errors === _errs53){if(data22 && typeof data22 == "object" && !Array.isArray(data22)){let missing4;if(((data22.code === undefined) && (missing4 = "code")) || ((data22.message === undefined) && (missing4 = "message"))){validate20.errors = [{instancePath:instancePath+"/diagnostic",schemaPath:"#/$defs/diagnostic/required",keyword:"required",params:{missingProperty: missing4},message:"must have required property '"+missing4+"'"}];return false;}else {const _errs55 = errors;for(const key4 in data22){if(!((key4 === "code") || (key4 === "message"))){validate20.errors = [{instancePath:instancePath+"/diagnostic",schemaPath:"#/$defs/diagnostic/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key4},message:"must NOT have additional properties"}];return false;break;}}if(_errs55 === errors){if(data22.code !== undefined){let data23 = data22.code;const _errs56 = errors;if(errors === _errs56){if(typeof data23 === "string"){if(func2(data23) < 1){validate20.errors = [{instancePath:instancePath+"/diagnostic/code",schemaPath:"#/$defs/diagnostic/properties/code/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate20.errors = [{instancePath:instancePath+"/diagnostic/code",schemaPath:"#/$defs/diagnostic/properties/code/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid24 = _errs56 === errors;}else {var valid24 = true;}if(valid24){if(data22.message !== undefined){let data24 = data22.message;const _errs58 = errors;if(errors === _errs58){if(typeof data24 === "string"){if(func2(data24) > 4096){validate20.errors = [{instancePath:instancePath+"/diagnostic/message",schemaPath:"#/$defs/diagnostic/properties/message/maxLength",keyword:"maxLength",params:{limit: 4096},message:"must NOT have more than 4096 characters"}];return false;}else {if(func2(data24) < 1){validate20.errors = [{instancePath:instancePath+"/diagnostic/message",schemaPath:"#/$defs/diagnostic/properties/message/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}}else {validate20.errors = [{instancePath:instancePath+"/diagnostic/message",schemaPath:"#/$defs/diagnostic/properties/message/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid24 = _errs58 === errors;}else {var valid24 = true;}}}}}else {validate20.errors = [{instancePath:instancePath+"/diagnostic",schemaPath:"#/$defs/diagnostic/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid15 = _errs52 === errors;}else {var valid15 = true;}}}}}}}}}}}}else {validate20.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate20.errors = vErrors;return errors === 0;}validate20.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema78 = {"type":"object","required":["caseId","trial","executionMode","condition","observationCompleteness","observations","metrics","taskVerdictPolicy","routes","usage","rawResult","artifactRefs"],"properties":{"caseId":{"type":"string","minLength":1},"trial":{"type":"integer","minimum":1},"executionMode":{"enum":["executed","dry","unknown"]},"candidateDurationMs":{"type":["number","null"],"minimum":0},"condition":{"type":"object","required":["requested","actual","appliedInstrumentation"],"properties":{"requested":{"enum":["passive","enforced"]},"actual":{"enum":["passive","enforced","unknown"]},"appliedInstrumentation":{"$ref":"#/$defs/instrumentationList"}},"additionalProperties":false},"observationCompleteness":{"enum":["complete","partial","unavailable"]},"observations":{"type":"array","items":{"type":"object","required":["id","source","completeness","data"],"properties":{"id":{"type":"string","minLength":1},"source":{"type":"string","minLength":1},"completeness":{"enum":["complete","partial","unavailable"]},"data":{"type":"object"}},"additionalProperties":false}},"metrics":{"type":"array","items":{"$ref":"#/$defs/metric"}},"domainOutcomes":{"type":"array","items":{"type":"object","required":["id","status","evidenceRefs"],"properties":{"id":{"type":"string","minLength":1},"status":{"enum":["passed","failed","unavailable"]},"detail":{"type":"string","maxLength":4096},"evidenceRefs":{"type":"array","items":{"type":"string","minLength":1},"uniqueItems":true},"data":{"type":"object"}},"additionalProperties":false}},"taskVerdictPolicy":{"oneOf":[{"type":"null"},{"type":"object","required":["id","recommendation"],"properties":{"id":{"type":"string","minLength":1},"recommendation":{"enum":["passed","failed","not_assessed",null]}},"additionalProperties":false}]},"advisoryReview":{"$ref":"#/$defs/advisoryReview"},"routes":{"type":"array","items":{"$ref":"#/$defs/route"}},"usage":{"type":"object","required":["inputTokens","outputTokens","costUsd","complete"],"properties":{"inputTokens":{"type":["integer","null"],"minimum":0},"outputTokens":{"type":["integer","null"],"minimum":0},"costUsd":{"type":["number","null"],"minimum":0},"complete":{"type":"boolean"}},"additionalProperties":false},"rawResult":{"type":"object","required":["source","path","sha256"],"properties":{"source":{"type":"string","minLength":1},"path":{"oneOf":[{"$ref":"#/$defs/fileUrl"},{"type":"null"}]},"sha256":{"oneOf":[{"$ref":"#/$defs/digest"},{"type":"null"}]}},"additionalProperties":false},"artifactRefs":{"type":"array","items":{"type":"object","required":["id","path","sha256"],"properties":{"id":{"type":"string","minLength":1},"path":{"$ref":"#/$defs/fileUrl"},"sha256":{"$ref":"#/$defs/digest"},"gitExclude":{"type":"boolean"},"executable":{"type":"boolean"}},"additionalProperties":false}}},"additionalProperties":false};const schema80 = {"type":"object","required":["id","value","unit"],"properties":{"id":{"type":"string","minLength":1},"value":{"type":["number","null"]},"unit":{"type":"string","minLength":1}},"additionalProperties":false};const schema81 = {"oneOf":[{"type":"null"},{"type":"object","required":["status","assessment","usage","rawResult"],"properties":{"status":{"enum":["completed","failed","not_run"]},"assessment":{"oneOf":[{"type":"null"},{"type":"object","required":["verdict","overallScore","dimensions","strengths","weaknesses","summary"],"properties":{"verdict":{"enum":["pass","fail"]},"overallScore":{"type":"integer","minimum":1,"maximum":5},"dimensions":{"type":"object","required":["correctness","maintainability","testQuality","scopeDiscipline"],"properties":{"correctness":{"type":"integer","minimum":1,"maximum":5},"maintainability":{"type":"integer","minimum":1,"maximum":5},"testQuality":{"type":"integer","minimum":1,"maximum":5},"scopeDiscipline":{"type":"integer","minimum":1,"maximum":5}},"additionalProperties":false},"strengths":{"type":"array","items":{"type":"string"}},"weaknesses":{"type":"array","items":{"type":"string"}},"summary":{"type":"string","minLength":1}},"additionalProperties":false}]},"usage":{"type":"object","required":["inputTokens","outputTokens","costUsd","complete"],"properties":{"inputTokens":{"type":["integer","null"],"minimum":0},"outputTokens":{"type":["integer","null"],"minimum":0},"costUsd":{"type":["number","null"],"minimum":0},"complete":{"type":"boolean"}},"additionalProperties":false},"rawResult":{"type":"object","required":["source","path","sha256"],"properties":{"source":{"type":"string","minLength":1},"path":{"oneOf":[{"$ref":"#/$defs/fileUrl"},{"type":"null"}]},"sha256":{"oneOf":[{"$ref":"#/$defs/digest"},{"type":"null"}]}},"additionalProperties":false}},"additionalProperties":false}]};function validate32(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate32.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs0 = errors;let valid0 = false;let passing0 = null;const _errs1 = errors;if(data !== null){const err0 = {instancePath,schemaPath:"#/oneOf/0/type",keyword:"type",params:{type: "null"},message:"must be null"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}var _valid0 = _errs1 === errors;if(_valid0){valid0 = true;passing0 = 0;}const _errs3 = errors;if(errors === _errs3){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((((data.status === undefined) && (missing0 = "status")) || ((data.assessment === undefined) && (missing0 = "assessment"))) || ((data.usage === undefined) && (missing0 = "usage"))) || ((data.rawResult === undefined) && (missing0 = "rawResult"))){const err1 = {instancePath,schemaPath:"#/oneOf/1/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}else {const _errs5 = errors;for(const key0 in data){if(!((((key0 === "status") || (key0 === "assessment")) || (key0 === "usage")) || (key0 === "rawResult"))){const err2 = {instancePath,schemaPath:"#/oneOf/1/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;break;}}if(_errs5 === errors){if(data.status !== undefined){let data0 = data.status;const _errs6 = errors;if(!(((data0 === "completed") || (data0 === "failed")) || (data0 === "not_run"))){const err3 = {instancePath:instancePath+"/status",schemaPath:"#/oneOf/1/properties/status/enum",keyword:"enum",params:{allowedValues: schema81.oneOf[1].properties.status.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}var valid1 = _errs6 === errors;}else {var valid1 = true;}if(valid1){if(data.assessment !== undefined){let data1 = data.assessment;const _errs7 = errors;const _errs8 = errors;let valid2 = false;let passing1 = null;const _errs9 = errors;if(data1 !== null){const err4 = {instancePath:instancePath+"/assessment",schemaPath:"#/oneOf/1/properties/assessment/oneOf/0/type",keyword:"type",params:{type: "null"},message:"must be null"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}var _valid1 = _errs9 === errors;if(_valid1){valid2 = true;passing1 = 0;}const _errs11 = errors;if(errors === _errs11){if(data1 && typeof data1 == "object" && !Array.isArray(data1)){let missing1;if(((((((data1.verdict === undefined) && (missing1 = "verdict")) || ((data1.overallScore === undefined) && (missing1 = "overallScore"))) || ((data1.dimensions === undefined) && (missing1 = "dimensions"))) || ((data1.strengths === undefined) && (missing1 = "strengths"))) || ((data1.weaknesses === undefined) && (missing1 = "weaknesses"))) || ((data1.summary === undefined) && (missing1 = "summary"))){const err5 = {instancePath:instancePath+"/assessment",schemaPath:"#/oneOf/1/properties/assessment/oneOf/1/required",keyword:"required",params:{missingProperty: missing1},message:"must have required property '"+missing1+"'"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}else {const _errs13 = errors;for(const key1 in data1){if(!((((((key1 === "verdict") || (key1 === "overallScore")) || (key1 === "dimensions")) || (key1 === "strengths")) || (key1 === "weaknesses")) || (key1 === "summary"))){const err6 = {instancePath:instancePath+"/assessment",schemaPath:"#/oneOf/1/properties/assessment/oneOf/1/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;break;}}if(_errs13 === errors){if(data1.verdict !== undefined){let data2 = data1.verdict;const _errs14 = errors;if(!((data2 === "pass") || (data2 === "fail"))){const err7 = {instancePath:instancePath+"/assessment/verdict",schemaPath:"#/oneOf/1/properties/assessment/oneOf/1/properties/verdict/enum",keyword:"enum",params:{allowedValues: schema81.oneOf[1].properties.assessment.oneOf[1].properties.verdict.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}var valid3 = _errs14 === errors;}else {var valid3 = true;}if(valid3){if(data1.overallScore !== undefined){let data3 = data1.overallScore;const _errs15 = errors;if(!(((typeof data3 == "number") && (!(data3 % 1) && !isNaN(data3))) && (isFinite(data3)))){const err8 = {instancePath:instancePath+"/assessment/overallScore",schemaPath:"#/oneOf/1/properties/assessment/oneOf/1/properties/overallScore/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}if(errors === _errs15){if((typeof data3 == "number") && (isFinite(data3))){if(data3 > 5 || isNaN(data3)){const err9 = {instancePath:instancePath+"/assessment/overallScore",schemaPath:"#/oneOf/1/properties/assessment/oneOf/1/properties/overallScore/maximum",keyword:"maximum",params:{comparison: "<=", limit: 5},message:"must be <= 5"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}else {if(data3 < 1 || isNaN(data3)){const err10 = {instancePath:instancePath+"/assessment/overallScore",schemaPath:"#/oneOf/1/properties/assessment/oneOf/1/properties/overallScore/minimum",keyword:"minimum",params:{comparison: ">=", limit: 1},message:"must be >= 1"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}}}var valid3 = _errs15 === errors;}else {var valid3 = true;}if(valid3){if(data1.dimensions !== undefined){let data4 = data1.dimensions;const _errs17 = errors;if(errors === _errs17){if(data4 && typeof data4 == "object" && !Array.isArray(data4)){let missing2;if(((((data4.correctness === undefined) && (missing2 = "correctness")) || ((data4.maintainability === undefined) && (missing2 = "maintainability"))) || ((data4.testQuality === undefined) && (missing2 = "testQuality"))) || ((data4.scopeDiscipline === undefined) && (missing2 = "scopeDiscipline"))){const err11 = {instancePath:instancePath+"/assessment/dimensions",schemaPath:"#/oneOf/1/properties/assessment/oneOf/1/properties/dimensions/required",keyword:"required",params:{missingProperty: missing2},message:"must have required property '"+missing2+"'"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}else {const _errs19 = errors;for(const key2 in data4){if(!((((key2 === "correctness") || (key2 === "maintainability")) || (key2 === "testQuality")) || (key2 === "scopeDiscipline"))){const err12 = {instancePath:instancePath+"/assessment/dimensions",schemaPath:"#/oneOf/1/properties/assessment/oneOf/1/properties/dimensions/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;break;}}if(_errs19 === errors){if(data4.correctness !== undefined){let data5 = data4.correctness;const _errs20 = errors;if(!(((typeof data5 == "number") && (!(data5 % 1) && !isNaN(data5))) && (isFinite(data5)))){const err13 = {instancePath:instancePath+"/assessment/dimensions/correctness",schemaPath:"#/oneOf/1/properties/assessment/oneOf/1/properties/dimensions/properties/correctness/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}if(errors === _errs20){if((typeof data5 == "number") && (isFinite(data5))){if(data5 > 5 || isNaN(data5)){const err14 = {instancePath:instancePath+"/assessment/dimensions/correctness",schemaPath:"#/oneOf/1/properties/assessment/oneOf/1/properties/dimensions/properties/correctness/maximum",keyword:"maximum",params:{comparison: "<=", limit: 5},message:"must be <= 5"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}else {if(data5 < 1 || isNaN(data5)){const err15 = {instancePath:instancePath+"/assessment/dimensions/correctness",schemaPath:"#/oneOf/1/properties/assessment/oneOf/1/properties/dimensions/properties/correctness/minimum",keyword:"minimum",params:{comparison: ">=", limit: 1},message:"must be >= 1"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}}}var valid4 = _errs20 === errors;}else {var valid4 = true;}if(valid4){if(data4.maintainability !== undefined){let data6 = data4.maintainability;const _errs22 = errors;if(!(((typeof data6 == "number") && (!(data6 % 1) && !isNaN(data6))) && (isFinite(data6)))){const err16 = {instancePath:instancePath+"/assessment/dimensions/maintainability",schemaPath:"#/oneOf/1/properties/assessment/oneOf/1/properties/dimensions/properties/maintainability/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}if(errors === _errs22){if((typeof data6 == "number") && (isFinite(data6))){if(data6 > 5 || isNaN(data6)){const err17 = {instancePath:instancePath+"/assessment/dimensions/maintainability",schemaPath:"#/oneOf/1/properties/assessment/oneOf/1/properties/dimensions/properties/maintainability/maximum",keyword:"maximum",params:{comparison: "<=", limit: 5},message:"must be <= 5"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}else {if(data6 < 1 || isNaN(data6)){const err18 = {instancePath:instancePath+"/assessment/dimensions/maintainability",schemaPath:"#/oneOf/1/properties/assessment/oneOf/1/properties/dimensions/properties/maintainability/minimum",keyword:"minimum",params:{comparison: ">=", limit: 1},message:"must be >= 1"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}}}var valid4 = _errs22 === errors;}else {var valid4 = true;}if(valid4){if(data4.testQuality !== undefined){let data7 = data4.testQuality;const _errs24 = errors;if(!(((typeof data7 == "number") && (!(data7 % 1) && !isNaN(data7))) && (isFinite(data7)))){const err19 = {instancePath:instancePath+"/assessment/dimensions/testQuality",schemaPath:"#/oneOf/1/properties/assessment/oneOf/1/properties/dimensions/properties/testQuality/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}if(errors === _errs24){if((typeof data7 == "number") && (isFinite(data7))){if(data7 > 5 || isNaN(data7)){const err20 = {instancePath:instancePath+"/assessment/dimensions/testQuality",schemaPath:"#/oneOf/1/properties/assessment/oneOf/1/properties/dimensions/properties/testQuality/maximum",keyword:"maximum",params:{comparison: "<=", limit: 5},message:"must be <= 5"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}else {if(data7 < 1 || isNaN(data7)){const err21 = {instancePath:instancePath+"/assessment/dimensions/testQuality",schemaPath:"#/oneOf/1/properties/assessment/oneOf/1/properties/dimensions/properties/testQuality/minimum",keyword:"minimum",params:{comparison: ">=", limit: 1},message:"must be >= 1"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}}}var valid4 = _errs24 === errors;}else {var valid4 = true;}if(valid4){if(data4.scopeDiscipline !== undefined){let data8 = data4.scopeDiscipline;const _errs26 = errors;if(!(((typeof data8 == "number") && (!(data8 % 1) && !isNaN(data8))) && (isFinite(data8)))){const err22 = {instancePath:instancePath+"/assessment/dimensions/scopeDiscipline",schemaPath:"#/oneOf/1/properties/assessment/oneOf/1/properties/dimensions/properties/scopeDiscipline/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}if(errors === _errs26){if((typeof data8 == "number") && (isFinite(data8))){if(data8 > 5 || isNaN(data8)){const err23 = {instancePath:instancePath+"/assessment/dimensions/scopeDiscipline",schemaPath:"#/oneOf/1/properties/assessment/oneOf/1/properties/dimensions/properties/scopeDiscipline/maximum",keyword:"maximum",params:{comparison: "<=", limit: 5},message:"must be <= 5"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}else {if(data8 < 1 || isNaN(data8)){const err24 = {instancePath:instancePath+"/assessment/dimensions/scopeDiscipline",schemaPath:"#/oneOf/1/properties/assessment/oneOf/1/properties/dimensions/properties/scopeDiscipline/minimum",keyword:"minimum",params:{comparison: ">=", limit: 1},message:"must be >= 1"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}}}var valid4 = _errs26 === errors;}else {var valid4 = true;}}}}}}}else {const err25 = {instancePath:instancePath+"/assessment/dimensions",schemaPath:"#/oneOf/1/properties/assessment/oneOf/1/properties/dimensions/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}var valid3 = _errs17 === errors;}else {var valid3 = true;}if(valid3){if(data1.strengths !== undefined){let data9 = data1.strengths;const _errs28 = errors;if(errors === _errs28){if(Array.isArray(data9)){var valid5 = true;const len0 = data9.length;for(let i0=0; i0<len0; i0++){const _errs30 = errors;if(typeof data9[i0] !== "string"){const err26 = {instancePath:instancePath+"/assessment/strengths/" + i0,schemaPath:"#/oneOf/1/properties/assessment/oneOf/1/properties/strengths/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}var valid5 = _errs30 === errors;if(!valid5){break;}}}else {const err27 = {instancePath:instancePath+"/assessment/strengths",schemaPath:"#/oneOf/1/properties/assessment/oneOf/1/properties/strengths/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}}var valid3 = _errs28 === errors;}else {var valid3 = true;}if(valid3){if(data1.weaknesses !== undefined){let data11 = data1.weaknesses;const _errs32 = errors;if(errors === _errs32){if(Array.isArray(data11)){var valid6 = true;const len1 = data11.length;for(let i1=0; i1<len1; i1++){const _errs34 = errors;if(typeof data11[i1] !== "string"){const err28 = {instancePath:instancePath+"/assessment/weaknesses/" + i1,schemaPath:"#/oneOf/1/properties/assessment/oneOf/1/properties/weaknesses/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}var valid6 = _errs34 === errors;if(!valid6){break;}}}else {const err29 = {instancePath:instancePath+"/assessment/weaknesses",schemaPath:"#/oneOf/1/properties/assessment/oneOf/1/properties/weaknesses/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}}var valid3 = _errs32 === errors;}else {var valid3 = true;}if(valid3){if(data1.summary !== undefined){let data13 = data1.summary;const _errs36 = errors;if(errors === _errs36){if(typeof data13 === "string"){if(func2(data13) < 1){const err30 = {instancePath:instancePath+"/assessment/summary",schemaPath:"#/oneOf/1/properties/assessment/oneOf/1/properties/summary/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}}else {const err31 = {instancePath:instancePath+"/assessment/summary",schemaPath:"#/oneOf/1/properties/assessment/oneOf/1/properties/summary/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}}var valid3 = _errs36 === errors;}else {var valid3 = true;}}}}}}}}}else {const err32 = {instancePath:instancePath+"/assessment",schemaPath:"#/oneOf/1/properties/assessment/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err32];}else {vErrors.push(err32);}errors++;}}var _valid1 = _errs11 === errors;if(_valid1 && valid2){valid2 = false;passing1 = [passing1, 1];}else {if(_valid1){valid2 = true;passing1 = 1;}}if(!valid2){const err33 = {instancePath:instancePath+"/assessment",schemaPath:"#/oneOf/1/properties/assessment/oneOf",keyword:"oneOf",params:{passingSchemas: passing1},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err33];}else {vErrors.push(err33);}errors++;}else {errors = _errs8;if(vErrors !== null){if(_errs8){vErrors.length = _errs8;}else {vErrors = null;}}}var valid1 = _errs7 === errors;}else {var valid1 = true;}if(valid1){if(data.usage !== undefined){let data14 = data.usage;const _errs38 = errors;if(errors === _errs38){if(data14 && typeof data14 == "object" && !Array.isArray(data14)){let missing3;if(((((data14.inputTokens === undefined) && (missing3 = "inputTokens")) || ((data14.outputTokens === undefined) && (missing3 = "outputTokens"))) || ((data14.costUsd === undefined) && (missing3 = "costUsd"))) || ((data14.complete === undefined) && (missing3 = "complete"))){const err34 = {instancePath:instancePath+"/usage",schemaPath:"#/oneOf/1/properties/usage/required",keyword:"required",params:{missingProperty: missing3},message:"must have required property '"+missing3+"'"};if(vErrors === null){vErrors = [err34];}else {vErrors.push(err34);}errors++;}else {const _errs40 = errors;for(const key3 in data14){if(!((((key3 === "inputTokens") || (key3 === "outputTokens")) || (key3 === "costUsd")) || (key3 === "complete"))){const err35 = {instancePath:instancePath+"/usage",schemaPath:"#/oneOf/1/properties/usage/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key3},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err35];}else {vErrors.push(err35);}errors++;break;}}if(_errs40 === errors){if(data14.inputTokens !== undefined){let data15 = data14.inputTokens;const _errs41 = errors;if((!(((typeof data15 == "number") && (!(data15 % 1) && !isNaN(data15))) && (isFinite(data15)))) && (data15 !== null)){const err36 = {instancePath:instancePath+"/usage/inputTokens",schemaPath:"#/oneOf/1/properties/usage/properties/inputTokens/type",keyword:"type",params:{type: schema81.oneOf[1].properties.usage.properties.inputTokens.type},message:"must be integer,null"};if(vErrors === null){vErrors = [err36];}else {vErrors.push(err36);}errors++;}if(errors === _errs41){if((typeof data15 == "number") && (isFinite(data15))){if(data15 < 0 || isNaN(data15)){const err37 = {instancePath:instancePath+"/usage/inputTokens",schemaPath:"#/oneOf/1/properties/usage/properties/inputTokens/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err37];}else {vErrors.push(err37);}errors++;}}}var valid7 = _errs41 === errors;}else {var valid7 = true;}if(valid7){if(data14.outputTokens !== undefined){let data16 = data14.outputTokens;const _errs43 = errors;if((!(((typeof data16 == "number") && (!(data16 % 1) && !isNaN(data16))) && (isFinite(data16)))) && (data16 !== null)){const err38 = {instancePath:instancePath+"/usage/outputTokens",schemaPath:"#/oneOf/1/properties/usage/properties/outputTokens/type",keyword:"type",params:{type: schema81.oneOf[1].properties.usage.properties.outputTokens.type},message:"must be integer,null"};if(vErrors === null){vErrors = [err38];}else {vErrors.push(err38);}errors++;}if(errors === _errs43){if((typeof data16 == "number") && (isFinite(data16))){if(data16 < 0 || isNaN(data16)){const err39 = {instancePath:instancePath+"/usage/outputTokens",schemaPath:"#/oneOf/1/properties/usage/properties/outputTokens/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err39];}else {vErrors.push(err39);}errors++;}}}var valid7 = _errs43 === errors;}else {var valid7 = true;}if(valid7){if(data14.costUsd !== undefined){let data17 = data14.costUsd;const _errs45 = errors;if((!((typeof data17 == "number") && (isFinite(data17)))) && (data17 !== null)){const err40 = {instancePath:instancePath+"/usage/costUsd",schemaPath:"#/oneOf/1/properties/usage/properties/costUsd/type",keyword:"type",params:{type: schema81.oneOf[1].properties.usage.properties.costUsd.type},message:"must be number,null"};if(vErrors === null){vErrors = [err40];}else {vErrors.push(err40);}errors++;}if(errors === _errs45){if((typeof data17 == "number") && (isFinite(data17))){if(data17 < 0 || isNaN(data17)){const err41 = {instancePath:instancePath+"/usage/costUsd",schemaPath:"#/oneOf/1/properties/usage/properties/costUsd/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err41];}else {vErrors.push(err41);}errors++;}}}var valid7 = _errs45 === errors;}else {var valid7 = true;}if(valid7){if(data14.complete !== undefined){const _errs47 = errors;if(typeof data14.complete !== "boolean"){const err42 = {instancePath:instancePath+"/usage/complete",schemaPath:"#/oneOf/1/properties/usage/properties/complete/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err42];}else {vErrors.push(err42);}errors++;}var valid7 = _errs47 === errors;}else {var valid7 = true;}}}}}}}else {const err43 = {instancePath:instancePath+"/usage",schemaPath:"#/oneOf/1/properties/usage/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err43];}else {vErrors.push(err43);}errors++;}}var valid1 = _errs38 === errors;}else {var valid1 = true;}if(valid1){if(data.rawResult !== undefined){let data19 = data.rawResult;const _errs49 = errors;if(errors === _errs49){if(data19 && typeof data19 == "object" && !Array.isArray(data19)){let missing4;if((((data19.source === undefined) && (missing4 = "source")) || ((data19.path === undefined) && (missing4 = "path"))) || ((data19.sha256 === undefined) && (missing4 = "sha256"))){const err44 = {instancePath:instancePath+"/rawResult",schemaPath:"#/oneOf/1/properties/rawResult/required",keyword:"required",params:{missingProperty: missing4},message:"must have required property '"+missing4+"'"};if(vErrors === null){vErrors = [err44];}else {vErrors.push(err44);}errors++;}else {const _errs51 = errors;for(const key4 in data19){if(!(((key4 === "source") || (key4 === "path")) || (key4 === "sha256"))){const err45 = {instancePath:instancePath+"/rawResult",schemaPath:"#/oneOf/1/properties/rawResult/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key4},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err45];}else {vErrors.push(err45);}errors++;break;}}if(_errs51 === errors){if(data19.source !== undefined){let data20 = data19.source;const _errs52 = errors;if(errors === _errs52){if(typeof data20 === "string"){if(func2(data20) < 1){const err46 = {instancePath:instancePath+"/rawResult/source",schemaPath:"#/oneOf/1/properties/rawResult/properties/source/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err46];}else {vErrors.push(err46);}errors++;}}else {const err47 = {instancePath:instancePath+"/rawResult/source",schemaPath:"#/oneOf/1/properties/rawResult/properties/source/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err47];}else {vErrors.push(err47);}errors++;}}var valid8 = _errs52 === errors;}else {var valid8 = true;}if(valid8){if(data19.path !== undefined){let data21 = data19.path;const _errs54 = errors;const _errs55 = errors;let valid9 = false;let passing2 = null;const _errs56 = errors;const _errs57 = errors;if(errors === _errs57){if(typeof data21 === "string"){if(!pattern20.test(data21)){const err48 = {instancePath:instancePath+"/rawResult/path",schemaPath:"#/$defs/fileUrl/pattern",keyword:"pattern",params:{pattern: "^file:///"},message:"must match pattern \""+"^file:///"+"\""};if(vErrors === null){vErrors = [err48];}else {vErrors.push(err48);}errors++;}}else {const err49 = {instancePath:instancePath+"/rawResult/path",schemaPath:"#/$defs/fileUrl/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err49];}else {vErrors.push(err49);}errors++;}}var _valid2 = _errs56 === errors;if(_valid2){valid9 = true;passing2 = 0;}const _errs59 = errors;if(data21 !== null){const err50 = {instancePath:instancePath+"/rawResult/path",schemaPath:"#/oneOf/1/properties/rawResult/properties/path/oneOf/1/type",keyword:"type",params:{type: "null"},message:"must be null"};if(vErrors === null){vErrors = [err50];}else {vErrors.push(err50);}errors++;}var _valid2 = _errs59 === errors;if(_valid2 && valid9){valid9 = false;passing2 = [passing2, 1];}else {if(_valid2){valid9 = true;passing2 = 1;}}if(!valid9){const err51 = {instancePath:instancePath+"/rawResult/path",schemaPath:"#/oneOf/1/properties/rawResult/properties/path/oneOf",keyword:"oneOf",params:{passingSchemas: passing2},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err51];}else {vErrors.push(err51);}errors++;}else {errors = _errs55;if(vErrors !== null){if(_errs55){vErrors.length = _errs55;}else {vErrors = null;}}}var valid8 = _errs54 === errors;}else {var valid8 = true;}if(valid8){if(data19.sha256 !== undefined){let data22 = data19.sha256;const _errs61 = errors;const _errs62 = errors;let valid11 = false;let passing3 = null;const _errs63 = errors;const _errs64 = errors;if(errors === _errs64){if(typeof data22 === "string"){if(!pattern5.test(data22)){const err52 = {instancePath:instancePath+"/rawResult/sha256",schemaPath:"#/$defs/digest/pattern",keyword:"pattern",params:{pattern: "^[a-f0-9]{64}$"},message:"must match pattern \""+"^[a-f0-9]{64}$"+"\""};if(vErrors === null){vErrors = [err52];}else {vErrors.push(err52);}errors++;}}else {const err53 = {instancePath:instancePath+"/rawResult/sha256",schemaPath:"#/$defs/digest/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err53];}else {vErrors.push(err53);}errors++;}}var _valid3 = _errs63 === errors;if(_valid3){valid11 = true;passing3 = 0;}const _errs66 = errors;if(data22 !== null){const err54 = {instancePath:instancePath+"/rawResult/sha256",schemaPath:"#/oneOf/1/properties/rawResult/properties/sha256/oneOf/1/type",keyword:"type",params:{type: "null"},message:"must be null"};if(vErrors === null){vErrors = [err54];}else {vErrors.push(err54);}errors++;}var _valid3 = _errs66 === errors;if(_valid3 && valid11){valid11 = false;passing3 = [passing3, 1];}else {if(_valid3){valid11 = true;passing3 = 1;}}if(!valid11){const err55 = {instancePath:instancePath+"/rawResult/sha256",schemaPath:"#/oneOf/1/properties/rawResult/properties/sha256/oneOf",keyword:"oneOf",params:{passingSchemas: passing3},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err55];}else {vErrors.push(err55);}errors++;}else {errors = _errs62;if(vErrors !== null){if(_errs62){vErrors.length = _errs62;}else {vErrors = null;}}}var valid8 = _errs61 === errors;}else {var valid8 = true;}}}}}}else {const err56 = {instancePath:instancePath+"/rawResult",schemaPath:"#/oneOf/1/properties/rawResult/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err56];}else {vErrors.push(err56);}errors++;}}var valid1 = _errs49 === errors;}else {var valid1 = true;}}}}}}}else {const err57 = {instancePath,schemaPath:"#/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err57];}else {vErrors.push(err57);}errors++;}}var _valid0 = _errs3 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 1];}else {if(_valid0){valid0 = true;passing0 = 1;var props1 = true;}}if(!valid0){const err58 = {instancePath,schemaPath:"#/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err58];}else {vErrors.push(err58);}errors++;validate32.errors = vErrors;return false;}else {errors = _errs0;if(vErrors !== null){if(_errs0){vErrors.length = _errs0;}else {vErrors = null;}}}validate32.errors = vErrors;evaluated0.props = props1;return errors === 0;}validate32.evaluated = {"dynamicProps":true,"dynamicItems":false};function validate31(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate31.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((((((((((((data.caseId === undefined) && (missing0 = "caseId")) || ((data.trial === undefined) && (missing0 = "trial"))) || ((data.executionMode === undefined) && (missing0 = "executionMode"))) || ((data.condition === undefined) && (missing0 = "condition"))) || ((data.observationCompleteness === undefined) && (missing0 = "observationCompleteness"))) || ((data.observations === undefined) && (missing0 = "observations"))) || ((data.metrics === undefined) && (missing0 = "metrics"))) || ((data.taskVerdictPolicy === undefined) && (missing0 = "taskVerdictPolicy"))) || ((data.routes === undefined) && (missing0 = "routes"))) || ((data.usage === undefined) && (missing0 = "usage"))) || ((data.rawResult === undefined) && (missing0 = "rawResult"))) || ((data.artifactRefs === undefined) && (missing0 = "artifactRefs"))){validate31.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {const _errs1 = errors;for(const key0 in data){if(!(func1.call(schema78.properties, key0))){validate31.errors = [{instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"}];return false;break;}}if(_errs1 === errors){if(data.caseId !== undefined){let data0 = data.caseId;const _errs2 = errors;if(errors === _errs2){if(typeof data0 === "string"){if(func2(data0) < 1){validate31.errors = [{instancePath:instancePath+"/caseId",schemaPath:"#/properties/caseId/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate31.errors = [{instancePath:instancePath+"/caseId",schemaPath:"#/properties/caseId/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs2 === errors;}else {var valid0 = true;}if(valid0){if(data.trial !== undefined){let data1 = data.trial;const _errs4 = errors;if(!(((typeof data1 == "number") && (!(data1 % 1) && !isNaN(data1))) && (isFinite(data1)))){validate31.errors = [{instancePath:instancePath+"/trial",schemaPath:"#/properties/trial/type",keyword:"type",params:{type: "integer"},message:"must be integer"}];return false;}if(errors === _errs4){if((typeof data1 == "number") && (isFinite(data1))){if(data1 < 1 || isNaN(data1)){validate31.errors = [{instancePath:instancePath+"/trial",schemaPath:"#/properties/trial/minimum",keyword:"minimum",params:{comparison: ">=", limit: 1},message:"must be >= 1"}];return false;}}}var valid0 = _errs4 === errors;}else {var valid0 = true;}if(valid0){if(data.executionMode !== undefined){let data2 = data.executionMode;const _errs6 = errors;if(!(((data2 === "executed") || (data2 === "dry")) || (data2 === "unknown"))){validate31.errors = [{instancePath:instancePath+"/executionMode",schemaPath:"#/properties/executionMode/enum",keyword:"enum",params:{allowedValues: schema78.properties.executionMode.enum},message:"must be equal to one of the allowed values"}];return false;}var valid0 = _errs6 === errors;}else {var valid0 = true;}if(valid0){if(data.candidateDurationMs !== undefined){let data3 = data.candidateDurationMs;const _errs7 = errors;if((!((typeof data3 == "number") && (isFinite(data3)))) && (data3 !== null)){validate31.errors = [{instancePath:instancePath+"/candidateDurationMs",schemaPath:"#/properties/candidateDurationMs/type",keyword:"type",params:{type: schema78.properties.candidateDurationMs.type},message:"must be number,null"}];return false;}if(errors === _errs7){if((typeof data3 == "number") && (isFinite(data3))){if(data3 < 0 || isNaN(data3)){validate31.errors = [{instancePath:instancePath+"/candidateDurationMs",schemaPath:"#/properties/candidateDurationMs/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"}];return false;}}}var valid0 = _errs7 === errors;}else {var valid0 = true;}if(valid0){if(data.condition !== undefined){let data4 = data.condition;const _errs9 = errors;if(errors === _errs9){if(data4 && typeof data4 == "object" && !Array.isArray(data4)){let missing1;if((((data4.requested === undefined) && (missing1 = "requested")) || ((data4.actual === undefined) && (missing1 = "actual"))) || ((data4.appliedInstrumentation === undefined) && (missing1 = "appliedInstrumentation"))){validate31.errors = [{instancePath:instancePath+"/condition",schemaPath:"#/properties/condition/required",keyword:"required",params:{missingProperty: missing1},message:"must have required property '"+missing1+"'"}];return false;}else {const _errs11 = errors;for(const key1 in data4){if(!(((key1 === "requested") || (key1 === "actual")) || (key1 === "appliedInstrumentation"))){validate31.errors = [{instancePath:instancePath+"/condition",schemaPath:"#/properties/condition/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"}];return false;break;}}if(_errs11 === errors){if(data4.requested !== undefined){let data5 = data4.requested;const _errs12 = errors;if(!((data5 === "passive") || (data5 === "enforced"))){validate31.errors = [{instancePath:instancePath+"/condition/requested",schemaPath:"#/properties/condition/properties/requested/enum",keyword:"enum",params:{allowedValues: schema78.properties.condition.properties.requested.enum},message:"must be equal to one of the allowed values"}];return false;}var valid1 = _errs12 === errors;}else {var valid1 = true;}if(valid1){if(data4.actual !== undefined){let data6 = data4.actual;const _errs13 = errors;if(!(((data6 === "passive") || (data6 === "enforced")) || (data6 === "unknown"))){validate31.errors = [{instancePath:instancePath+"/condition/actual",schemaPath:"#/properties/condition/properties/actual/enum",keyword:"enum",params:{allowedValues: schema78.properties.condition.properties.actual.enum},message:"must be equal to one of the allowed values"}];return false;}var valid1 = _errs13 === errors;}else {var valid1 = true;}if(valid1){if(data4.appliedInstrumentation !== undefined){let data7 = data4.appliedInstrumentation;const _errs14 = errors;const _errs15 = errors;if(errors === _errs15){if(Array.isArray(data7)){var valid3 = true;const len0 = data7.length;for(let i0=0; i0<len0; i0++){let data8 = data7[i0];const _errs17 = errors;if(errors === _errs17){if(data8 && typeof data8 == "object" && !Array.isArray(data8)){let missing2;if(((data8.id === undefined) && (missing2 = "id")) || ((data8.configuration === undefined) && (missing2 = "configuration"))){validate31.errors = [{instancePath:instancePath+"/condition/appliedInstrumentation/" + i0,schemaPath:"#/$defs/instrumentationList/items/required",keyword:"required",params:{missingProperty: missing2},message:"must have required property '"+missing2+"'"}];return false;}else {const _errs19 = errors;for(const key2 in data8){if(!((key2 === "id") || (key2 === "configuration"))){validate31.errors = [{instancePath:instancePath+"/condition/appliedInstrumentation/" + i0,schemaPath:"#/$defs/instrumentationList/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"}];return false;break;}}if(_errs19 === errors){if(data8.id !== undefined){let data9 = data8.id;const _errs20 = errors;if(errors === _errs20){if(typeof data9 === "string"){if(func2(data9) < 1){validate31.errors = [{instancePath:instancePath+"/condition/appliedInstrumentation/" + i0+"/id",schemaPath:"#/$defs/instrumentationList/items/properties/id/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate31.errors = [{instancePath:instancePath+"/condition/appliedInstrumentation/" + i0+"/id",schemaPath:"#/$defs/instrumentationList/items/properties/id/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid4 = _errs20 === errors;}else {var valid4 = true;}if(valid4){if(data8.configuration !== undefined){let data10 = data8.configuration;const _errs22 = errors;if(!(data10 && typeof data10 == "object" && !Array.isArray(data10))){validate31.errors = [{instancePath:instancePath+"/condition/appliedInstrumentation/" + i0+"/configuration",schemaPath:"#/$defs/instrumentationList/items/properties/configuration/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}var valid4 = _errs22 === errors;}else {var valid4 = true;}}}}}else {validate31.errors = [{instancePath:instancePath+"/condition/appliedInstrumentation/" + i0,schemaPath:"#/$defs/instrumentationList/items/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid3 = _errs17 === errors;if(!valid3){break;}}}else {validate31.errors = [{instancePath:instancePath+"/condition/appliedInstrumentation",schemaPath:"#/$defs/instrumentationList/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid1 = _errs14 === errors;}else {var valid1 = true;}}}}}}else {validate31.errors = [{instancePath:instancePath+"/condition",schemaPath:"#/properties/condition/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid0 = _errs9 === errors;}else {var valid0 = true;}if(valid0){if(data.observationCompleteness !== undefined){let data11 = data.observationCompleteness;const _errs24 = errors;if(!(((data11 === "complete") || (data11 === "partial")) || (data11 === "unavailable"))){validate31.errors = [{instancePath:instancePath+"/observationCompleteness",schemaPath:"#/properties/observationCompleteness/enum",keyword:"enum",params:{allowedValues: schema78.properties.observationCompleteness.enum},message:"must be equal to one of the allowed values"}];return false;}var valid0 = _errs24 === errors;}else {var valid0 = true;}if(valid0){if(data.observations !== undefined){let data12 = data.observations;const _errs25 = errors;if(errors === _errs25){if(Array.isArray(data12)){var valid5 = true;const len1 = data12.length;for(let i1=0; i1<len1; i1++){let data13 = data12[i1];const _errs27 = errors;if(errors === _errs27){if(data13 && typeof data13 == "object" && !Array.isArray(data13)){let missing3;if(((((data13.id === undefined) && (missing3 = "id")) || ((data13.source === undefined) && (missing3 = "source"))) || ((data13.completeness === undefined) && (missing3 = "completeness"))) || ((data13.data === undefined) && (missing3 = "data"))){validate31.errors = [{instancePath:instancePath+"/observations/" + i1,schemaPath:"#/properties/observations/items/required",keyword:"required",params:{missingProperty: missing3},message:"must have required property '"+missing3+"'"}];return false;}else {const _errs29 = errors;for(const key3 in data13){if(!((((key3 === "id") || (key3 === "source")) || (key3 === "completeness")) || (key3 === "data"))){validate31.errors = [{instancePath:instancePath+"/observations/" + i1,schemaPath:"#/properties/observations/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key3},message:"must NOT have additional properties"}];return false;break;}}if(_errs29 === errors){if(data13.id !== undefined){let data14 = data13.id;const _errs30 = errors;if(errors === _errs30){if(typeof data14 === "string"){if(func2(data14) < 1){validate31.errors = [{instancePath:instancePath+"/observations/" + i1+"/id",schemaPath:"#/properties/observations/items/properties/id/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate31.errors = [{instancePath:instancePath+"/observations/" + i1+"/id",schemaPath:"#/properties/observations/items/properties/id/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid6 = _errs30 === errors;}else {var valid6 = true;}if(valid6){if(data13.source !== undefined){let data15 = data13.source;const _errs32 = errors;if(errors === _errs32){if(typeof data15 === "string"){if(func2(data15) < 1){validate31.errors = [{instancePath:instancePath+"/observations/" + i1+"/source",schemaPath:"#/properties/observations/items/properties/source/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate31.errors = [{instancePath:instancePath+"/observations/" + i1+"/source",schemaPath:"#/properties/observations/items/properties/source/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid6 = _errs32 === errors;}else {var valid6 = true;}if(valid6){if(data13.completeness !== undefined){let data16 = data13.completeness;const _errs34 = errors;if(!(((data16 === "complete") || (data16 === "partial")) || (data16 === "unavailable"))){validate31.errors = [{instancePath:instancePath+"/observations/" + i1+"/completeness",schemaPath:"#/properties/observations/items/properties/completeness/enum",keyword:"enum",params:{allowedValues: schema78.properties.observations.items.properties.completeness.enum},message:"must be equal to one of the allowed values"}];return false;}var valid6 = _errs34 === errors;}else {var valid6 = true;}if(valid6){if(data13.data !== undefined){let data17 = data13.data;const _errs35 = errors;if(!(data17 && typeof data17 == "object" && !Array.isArray(data17))){validate31.errors = [{instancePath:instancePath+"/observations/" + i1+"/data",schemaPath:"#/properties/observations/items/properties/data/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}var valid6 = _errs35 === errors;}else {var valid6 = true;}}}}}}}else {validate31.errors = [{instancePath:instancePath+"/observations/" + i1,schemaPath:"#/properties/observations/items/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid5 = _errs27 === errors;if(!valid5){break;}}}else {validate31.errors = [{instancePath:instancePath+"/observations",schemaPath:"#/properties/observations/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid0 = _errs25 === errors;}else {var valid0 = true;}if(valid0){if(data.metrics !== undefined){let data18 = data.metrics;const _errs37 = errors;if(errors === _errs37){if(Array.isArray(data18)){var valid7 = true;const len2 = data18.length;for(let i2=0; i2<len2; i2++){let data19 = data18[i2];const _errs39 = errors;const _errs40 = errors;if(errors === _errs40){if(data19 && typeof data19 == "object" && !Array.isArray(data19)){let missing4;if((((data19.id === undefined) && (missing4 = "id")) || ((data19.value === undefined) && (missing4 = "value"))) || ((data19.unit === undefined) && (missing4 = "unit"))){validate31.errors = [{instancePath:instancePath+"/metrics/" + i2,schemaPath:"#/$defs/metric/required",keyword:"required",params:{missingProperty: missing4},message:"must have required property '"+missing4+"'"}];return false;}else {const _errs42 = errors;for(const key4 in data19){if(!(((key4 === "id") || (key4 === "value")) || (key4 === "unit"))){validate31.errors = [{instancePath:instancePath+"/metrics/" + i2,schemaPath:"#/$defs/metric/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key4},message:"must NOT have additional properties"}];return false;break;}}if(_errs42 === errors){if(data19.id !== undefined){let data20 = data19.id;const _errs43 = errors;if(errors === _errs43){if(typeof data20 === "string"){if(func2(data20) < 1){validate31.errors = [{instancePath:instancePath+"/metrics/" + i2+"/id",schemaPath:"#/$defs/metric/properties/id/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate31.errors = [{instancePath:instancePath+"/metrics/" + i2+"/id",schemaPath:"#/$defs/metric/properties/id/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid9 = _errs43 === errors;}else {var valid9 = true;}if(valid9){if(data19.value !== undefined){let data21 = data19.value;const _errs45 = errors;if((!((typeof data21 == "number") && (isFinite(data21)))) && (data21 !== null)){validate31.errors = [{instancePath:instancePath+"/metrics/" + i2+"/value",schemaPath:"#/$defs/metric/properties/value/type",keyword:"type",params:{type: schema80.properties.value.type},message:"must be number,null"}];return false;}var valid9 = _errs45 === errors;}else {var valid9 = true;}if(valid9){if(data19.unit !== undefined){let data22 = data19.unit;const _errs47 = errors;if(errors === _errs47){if(typeof data22 === "string"){if(func2(data22) < 1){validate31.errors = [{instancePath:instancePath+"/metrics/" + i2+"/unit",schemaPath:"#/$defs/metric/properties/unit/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate31.errors = [{instancePath:instancePath+"/metrics/" + i2+"/unit",schemaPath:"#/$defs/metric/properties/unit/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid9 = _errs47 === errors;}else {var valid9 = true;}}}}}}else {validate31.errors = [{instancePath:instancePath+"/metrics/" + i2,schemaPath:"#/$defs/metric/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid7 = _errs39 === errors;if(!valid7){break;}}}else {validate31.errors = [{instancePath:instancePath+"/metrics",schemaPath:"#/properties/metrics/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid0 = _errs37 === errors;}else {var valid0 = true;}if(valid0){if(data.domainOutcomes !== undefined){let data23 = data.domainOutcomes;const _errs49 = errors;if(errors === _errs49){if(Array.isArray(data23)){var valid10 = true;const len3 = data23.length;for(let i3=0; i3<len3; i3++){let data24 = data23[i3];const _errs51 = errors;if(errors === _errs51){if(data24 && typeof data24 == "object" && !Array.isArray(data24)){let missing5;if((((data24.id === undefined) && (missing5 = "id")) || ((data24.status === undefined) && (missing5 = "status"))) || ((data24.evidenceRefs === undefined) && (missing5 = "evidenceRefs"))){validate31.errors = [{instancePath:instancePath+"/domainOutcomes/" + i3,schemaPath:"#/properties/domainOutcomes/items/required",keyword:"required",params:{missingProperty: missing5},message:"must have required property '"+missing5+"'"}];return false;}else {const _errs53 = errors;for(const key5 in data24){if(!(((((key5 === "id") || (key5 === "status")) || (key5 === "detail")) || (key5 === "evidenceRefs")) || (key5 === "data"))){validate31.errors = [{instancePath:instancePath+"/domainOutcomes/" + i3,schemaPath:"#/properties/domainOutcomes/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key5},message:"must NOT have additional properties"}];return false;break;}}if(_errs53 === errors){if(data24.id !== undefined){let data25 = data24.id;const _errs54 = errors;if(errors === _errs54){if(typeof data25 === "string"){if(func2(data25) < 1){validate31.errors = [{instancePath:instancePath+"/domainOutcomes/" + i3+"/id",schemaPath:"#/properties/domainOutcomes/items/properties/id/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate31.errors = [{instancePath:instancePath+"/domainOutcomes/" + i3+"/id",schemaPath:"#/properties/domainOutcomes/items/properties/id/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid11 = _errs54 === errors;}else {var valid11 = true;}if(valid11){if(data24.status !== undefined){let data26 = data24.status;const _errs56 = errors;if(!(((data26 === "passed") || (data26 === "failed")) || (data26 === "unavailable"))){validate31.errors = [{instancePath:instancePath+"/domainOutcomes/" + i3+"/status",schemaPath:"#/properties/domainOutcomes/items/properties/status/enum",keyword:"enum",params:{allowedValues: schema78.properties.domainOutcomes.items.properties.status.enum},message:"must be equal to one of the allowed values"}];return false;}var valid11 = _errs56 === errors;}else {var valid11 = true;}if(valid11){if(data24.detail !== undefined){let data27 = data24.detail;const _errs57 = errors;if(errors === _errs57){if(typeof data27 === "string"){if(func2(data27) > 4096){validate31.errors = [{instancePath:instancePath+"/domainOutcomes/" + i3+"/detail",schemaPath:"#/properties/domainOutcomes/items/properties/detail/maxLength",keyword:"maxLength",params:{limit: 4096},message:"must NOT have more than 4096 characters"}];return false;}}else {validate31.errors = [{instancePath:instancePath+"/domainOutcomes/" + i3+"/detail",schemaPath:"#/properties/domainOutcomes/items/properties/detail/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid11 = _errs57 === errors;}else {var valid11 = true;}if(valid11){if(data24.evidenceRefs !== undefined){let data28 = data24.evidenceRefs;const _errs59 = errors;if(errors === _errs59){if(Array.isArray(data28)){var valid12 = true;const len4 = data28.length;for(let i4=0; i4<len4; i4++){let data29 = data28[i4];const _errs61 = errors;if(errors === _errs61){if(typeof data29 === "string"){if(func2(data29) < 1){validate31.errors = [{instancePath:instancePath+"/domainOutcomes/" + i3+"/evidenceRefs/" + i4,schemaPath:"#/properties/domainOutcomes/items/properties/evidenceRefs/items/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate31.errors = [{instancePath:instancePath+"/domainOutcomes/" + i3+"/evidenceRefs/" + i4,schemaPath:"#/properties/domainOutcomes/items/properties/evidenceRefs/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid12 = _errs61 === errors;if(!valid12){break;}}if(valid12){let i5 = data28.length;let j0;if(i5 > 1){const indices0 = {};for(;i5--;){let item0 = data28[i5];if(typeof item0 !== "string"){continue;}if(typeof indices0[item0] == "number"){j0 = indices0[item0];validate31.errors = [{instancePath:instancePath+"/domainOutcomes/" + i3+"/evidenceRefs",schemaPath:"#/properties/domainOutcomes/items/properties/evidenceRefs/uniqueItems",keyword:"uniqueItems",params:{i: i5, j: j0},message:"must NOT have duplicate items (items ## "+j0+" and "+i5+" are identical)"}];return false;break;}indices0[item0] = i5;}}}}else {validate31.errors = [{instancePath:instancePath+"/domainOutcomes/" + i3+"/evidenceRefs",schemaPath:"#/properties/domainOutcomes/items/properties/evidenceRefs/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid11 = _errs59 === errors;}else {var valid11 = true;}if(valid11){if(data24.data !== undefined){let data30 = data24.data;const _errs63 = errors;if(!(data30 && typeof data30 == "object" && !Array.isArray(data30))){validate31.errors = [{instancePath:instancePath+"/domainOutcomes/" + i3+"/data",schemaPath:"#/properties/domainOutcomes/items/properties/data/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}var valid11 = _errs63 === errors;}else {var valid11 = true;}}}}}}}}else {validate31.errors = [{instancePath:instancePath+"/domainOutcomes/" + i3,schemaPath:"#/properties/domainOutcomes/items/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid10 = _errs51 === errors;if(!valid10){break;}}}else {validate31.errors = [{instancePath:instancePath+"/domainOutcomes",schemaPath:"#/properties/domainOutcomes/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid0 = _errs49 === errors;}else {var valid0 = true;}if(valid0){if(data.taskVerdictPolicy !== undefined){let data31 = data.taskVerdictPolicy;const _errs65 = errors;const _errs66 = errors;let valid14 = false;let passing0 = null;const _errs67 = errors;if(data31 !== null){const err0 = {instancePath:instancePath+"/taskVerdictPolicy",schemaPath:"#/properties/taskVerdictPolicy/oneOf/0/type",keyword:"type",params:{type: "null"},message:"must be null"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}var _valid0 = _errs67 === errors;if(_valid0){valid14 = true;passing0 = 0;}const _errs69 = errors;if(errors === _errs69){if(data31 && typeof data31 == "object" && !Array.isArray(data31)){let missing6;if(((data31.id === undefined) && (missing6 = "id")) || ((data31.recommendation === undefined) && (missing6 = "recommendation"))){const err1 = {instancePath:instancePath+"/taskVerdictPolicy",schemaPath:"#/properties/taskVerdictPolicy/oneOf/1/required",keyword:"required",params:{missingProperty: missing6},message:"must have required property '"+missing6+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}else {const _errs71 = errors;for(const key6 in data31){if(!((key6 === "id") || (key6 === "recommendation"))){const err2 = {instancePath:instancePath+"/taskVerdictPolicy",schemaPath:"#/properties/taskVerdictPolicy/oneOf/1/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key6},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;break;}}if(_errs71 === errors){if(data31.id !== undefined){let data32 = data31.id;const _errs72 = errors;if(errors === _errs72){if(typeof data32 === "string"){if(func2(data32) < 1){const err3 = {instancePath:instancePath+"/taskVerdictPolicy/id",schemaPath:"#/properties/taskVerdictPolicy/oneOf/1/properties/id/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}else {const err4 = {instancePath:instancePath+"/taskVerdictPolicy/id",schemaPath:"#/properties/taskVerdictPolicy/oneOf/1/properties/id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}var valid15 = _errs72 === errors;}else {var valid15 = true;}if(valid15){if(data31.recommendation !== undefined){let data33 = data31.recommendation;const _errs74 = errors;if(!((((data33 === "passed") || (data33 === "failed")) || (data33 === "not_assessed")) || (data33 === null))){const err5 = {instancePath:instancePath+"/taskVerdictPolicy/recommendation",schemaPath:"#/properties/taskVerdictPolicy/oneOf/1/properties/recommendation/enum",keyword:"enum",params:{allowedValues: schema78.properties.taskVerdictPolicy.oneOf[1].properties.recommendation.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}var valid15 = _errs74 === errors;}else {var valid15 = true;}}}}}else {const err6 = {instancePath:instancePath+"/taskVerdictPolicy",schemaPath:"#/properties/taskVerdictPolicy/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}var _valid0 = _errs69 === errors;if(_valid0 && valid14){valid14 = false;passing0 = [passing0, 1];}else {if(_valid0){valid14 = true;passing0 = 1;}}if(!valid14){const err7 = {instancePath:instancePath+"/taskVerdictPolicy",schemaPath:"#/properties/taskVerdictPolicy/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;validate31.errors = vErrors;return false;}else {errors = _errs66;if(vErrors !== null){if(_errs66){vErrors.length = _errs66;}else {vErrors = null;}}}var valid0 = _errs65 === errors;}else {var valid0 = true;}if(valid0){if(data.advisoryReview !== undefined){const _errs75 = errors;if(!(validate32(data.advisoryReview, {instancePath:instancePath+"/advisoryReview",parentData:data,parentDataProperty:"advisoryReview",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate32.errors : vErrors.concat(validate32.errors);errors = vErrors.length;}var valid0 = _errs75 === errors;}else {var valid0 = true;}if(valid0){if(data.routes !== undefined){let data35 = data.routes;const _errs76 = errors;if(errors === _errs76){if(Array.isArray(data35)){var valid16 = true;const len5 = data35.length;for(let i6=0; i6<len5; i6++){let data36 = data35[i6];const _errs78 = errors;const _errs79 = errors;if(errors === _errs79){if(data36 && typeof data36 == "object" && !Array.isArray(data36)){let missing7;if(((((data36.role === undefined) && (missing7 = "role")) || ((data36.host === undefined) && (missing7 = "host"))) || ((data36.model === undefined) && (missing7 = "model"))) || ((data36.effort === undefined) && (missing7 = "effort"))){validate31.errors = [{instancePath:instancePath+"/routes/" + i6,schemaPath:"#/$defs/route/required",keyword:"required",params:{missingProperty: missing7},message:"must have required property '"+missing7+"'"}];return false;}else {const _errs81 = errors;for(const key7 in data36){if(!((((key7 === "role") || (key7 === "host")) || (key7 === "model")) || (key7 === "effort"))){validate31.errors = [{instancePath:instancePath+"/routes/" + i6,schemaPath:"#/$defs/route/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key7},message:"must NOT have additional properties"}];return false;break;}}if(_errs81 === errors){if(data36.role !== undefined){let data37 = data36.role;const _errs82 = errors;if(!(((data37 === "candidate") || (data37 === "semantic")) || (data37 === "advisory"))){validate31.errors = [{instancePath:instancePath+"/routes/" + i6+"/role",schemaPath:"#/$defs/route/properties/role/enum",keyword:"enum",params:{allowedValues: schema77.properties.role.enum},message:"must be equal to one of the allowed values"}];return false;}var valid18 = _errs82 === errors;}else {var valid18 = true;}if(valid18){if(data36.host !== undefined){let data38 = data36.host;const _errs83 = errors;if(errors === _errs83){if(typeof data38 === "string"){if(func2(data38) < 1){validate31.errors = [{instancePath:instancePath+"/routes/" + i6+"/host",schemaPath:"#/$defs/route/properties/host/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate31.errors = [{instancePath:instancePath+"/routes/" + i6+"/host",schemaPath:"#/$defs/route/properties/host/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid18 = _errs83 === errors;}else {var valid18 = true;}if(valid18){if(data36.model !== undefined){let data39 = data36.model;const _errs85 = errors;if(errors === _errs85){if(typeof data39 === "string"){if(func2(data39) < 1){validate31.errors = [{instancePath:instancePath+"/routes/" + i6+"/model",schemaPath:"#/$defs/route/properties/model/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate31.errors = [{instancePath:instancePath+"/routes/" + i6+"/model",schemaPath:"#/$defs/route/properties/model/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid18 = _errs85 === errors;}else {var valid18 = true;}if(valid18){if(data36.effort !== undefined){let data40 = data36.effort;const _errs87 = errors;if(errors === _errs87){if(typeof data40 === "string"){if(func2(data40) < 1){validate31.errors = [{instancePath:instancePath+"/routes/" + i6+"/effort",schemaPath:"#/$defs/route/properties/effort/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate31.errors = [{instancePath:instancePath+"/routes/" + i6+"/effort",schemaPath:"#/$defs/route/properties/effort/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid18 = _errs87 === errors;}else {var valid18 = true;}}}}}}}else {validate31.errors = [{instancePath:instancePath+"/routes/" + i6,schemaPath:"#/$defs/route/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid16 = _errs78 === errors;if(!valid16){break;}}}else {validate31.errors = [{instancePath:instancePath+"/routes",schemaPath:"#/properties/routes/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid0 = _errs76 === errors;}else {var valid0 = true;}if(valid0){if(data.usage !== undefined){let data41 = data.usage;const _errs89 = errors;if(errors === _errs89){if(data41 && typeof data41 == "object" && !Array.isArray(data41)){let missing8;if(((((data41.inputTokens === undefined) && (missing8 = "inputTokens")) || ((data41.outputTokens === undefined) && (missing8 = "outputTokens"))) || ((data41.costUsd === undefined) && (missing8 = "costUsd"))) || ((data41.complete === undefined) && (missing8 = "complete"))){validate31.errors = [{instancePath:instancePath+"/usage",schemaPath:"#/properties/usage/required",keyword:"required",params:{missingProperty: missing8},message:"must have required property '"+missing8+"'"}];return false;}else {const _errs91 = errors;for(const key8 in data41){if(!((((key8 === "inputTokens") || (key8 === "outputTokens")) || (key8 === "costUsd")) || (key8 === "complete"))){validate31.errors = [{instancePath:instancePath+"/usage",schemaPath:"#/properties/usage/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key8},message:"must NOT have additional properties"}];return false;break;}}if(_errs91 === errors){if(data41.inputTokens !== undefined){let data42 = data41.inputTokens;const _errs92 = errors;if((!(((typeof data42 == "number") && (!(data42 % 1) && !isNaN(data42))) && (isFinite(data42)))) && (data42 !== null)){validate31.errors = [{instancePath:instancePath+"/usage/inputTokens",schemaPath:"#/properties/usage/properties/inputTokens/type",keyword:"type",params:{type: schema78.properties.usage.properties.inputTokens.type},message:"must be integer,null"}];return false;}if(errors === _errs92){if((typeof data42 == "number") && (isFinite(data42))){if(data42 < 0 || isNaN(data42)){validate31.errors = [{instancePath:instancePath+"/usage/inputTokens",schemaPath:"#/properties/usage/properties/inputTokens/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"}];return false;}}}var valid19 = _errs92 === errors;}else {var valid19 = true;}if(valid19){if(data41.outputTokens !== undefined){let data43 = data41.outputTokens;const _errs94 = errors;if((!(((typeof data43 == "number") && (!(data43 % 1) && !isNaN(data43))) && (isFinite(data43)))) && (data43 !== null)){validate31.errors = [{instancePath:instancePath+"/usage/outputTokens",schemaPath:"#/properties/usage/properties/outputTokens/type",keyword:"type",params:{type: schema78.properties.usage.properties.outputTokens.type},message:"must be integer,null"}];return false;}if(errors === _errs94){if((typeof data43 == "number") && (isFinite(data43))){if(data43 < 0 || isNaN(data43)){validate31.errors = [{instancePath:instancePath+"/usage/outputTokens",schemaPath:"#/properties/usage/properties/outputTokens/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"}];return false;}}}var valid19 = _errs94 === errors;}else {var valid19 = true;}if(valid19){if(data41.costUsd !== undefined){let data44 = data41.costUsd;const _errs96 = errors;if((!((typeof data44 == "number") && (isFinite(data44)))) && (data44 !== null)){validate31.errors = [{instancePath:instancePath+"/usage/costUsd",schemaPath:"#/properties/usage/properties/costUsd/type",keyword:"type",params:{type: schema78.properties.usage.properties.costUsd.type},message:"must be number,null"}];return false;}if(errors === _errs96){if((typeof data44 == "number") && (isFinite(data44))){if(data44 < 0 || isNaN(data44)){validate31.errors = [{instancePath:instancePath+"/usage/costUsd",schemaPath:"#/properties/usage/properties/costUsd/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"}];return false;}}}var valid19 = _errs96 === errors;}else {var valid19 = true;}if(valid19){if(data41.complete !== undefined){const _errs98 = errors;if(typeof data41.complete !== "boolean"){validate31.errors = [{instancePath:instancePath+"/usage/complete",schemaPath:"#/properties/usage/properties/complete/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"}];return false;}var valid19 = _errs98 === errors;}else {var valid19 = true;}}}}}}}else {validate31.errors = [{instancePath:instancePath+"/usage",schemaPath:"#/properties/usage/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid0 = _errs89 === errors;}else {var valid0 = true;}if(valid0){if(data.rawResult !== undefined){let data46 = data.rawResult;const _errs100 = errors;if(errors === _errs100){if(data46 && typeof data46 == "object" && !Array.isArray(data46)){let missing9;if((((data46.source === undefined) && (missing9 = "source")) || ((data46.path === undefined) && (missing9 = "path"))) || ((data46.sha256 === undefined) && (missing9 = "sha256"))){validate31.errors = [{instancePath:instancePath+"/rawResult",schemaPath:"#/properties/rawResult/required",keyword:"required",params:{missingProperty: missing9},message:"must have required property '"+missing9+"'"}];return false;}else {const _errs102 = errors;for(const key9 in data46){if(!(((key9 === "source") || (key9 === "path")) || (key9 === "sha256"))){validate31.errors = [{instancePath:instancePath+"/rawResult",schemaPath:"#/properties/rawResult/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key9},message:"must NOT have additional properties"}];return false;break;}}if(_errs102 === errors){if(data46.source !== undefined){let data47 = data46.source;const _errs103 = errors;if(errors === _errs103){if(typeof data47 === "string"){if(func2(data47) < 1){validate31.errors = [{instancePath:instancePath+"/rawResult/source",schemaPath:"#/properties/rawResult/properties/source/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate31.errors = [{instancePath:instancePath+"/rawResult/source",schemaPath:"#/properties/rawResult/properties/source/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid20 = _errs103 === errors;}else {var valid20 = true;}if(valid20){if(data46.path !== undefined){let data48 = data46.path;const _errs105 = errors;const _errs106 = errors;let valid21 = false;let passing1 = null;const _errs107 = errors;const _errs108 = errors;if(errors === _errs108){if(typeof data48 === "string"){if(!pattern20.test(data48)){const err8 = {instancePath:instancePath+"/rawResult/path",schemaPath:"#/$defs/fileUrl/pattern",keyword:"pattern",params:{pattern: "^file:///"},message:"must match pattern \""+"^file:///"+"\""};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}else {const err9 = {instancePath:instancePath+"/rawResult/path",schemaPath:"#/$defs/fileUrl/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}var _valid1 = _errs107 === errors;if(_valid1){valid21 = true;passing1 = 0;}const _errs110 = errors;if(data48 !== null){const err10 = {instancePath:instancePath+"/rawResult/path",schemaPath:"#/properties/rawResult/properties/path/oneOf/1/type",keyword:"type",params:{type: "null"},message:"must be null"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}var _valid1 = _errs110 === errors;if(_valid1 && valid21){valid21 = false;passing1 = [passing1, 1];}else {if(_valid1){valid21 = true;passing1 = 1;}}if(!valid21){const err11 = {instancePath:instancePath+"/rawResult/path",schemaPath:"#/properties/rawResult/properties/path/oneOf",keyword:"oneOf",params:{passingSchemas: passing1},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;validate31.errors = vErrors;return false;}else {errors = _errs106;if(vErrors !== null){if(_errs106){vErrors.length = _errs106;}else {vErrors = null;}}}var valid20 = _errs105 === errors;}else {var valid20 = true;}if(valid20){if(data46.sha256 !== undefined){let data49 = data46.sha256;const _errs112 = errors;const _errs113 = errors;let valid23 = false;let passing2 = null;const _errs114 = errors;const _errs115 = errors;if(errors === _errs115){if(typeof data49 === "string"){if(!pattern5.test(data49)){const err12 = {instancePath:instancePath+"/rawResult/sha256",schemaPath:"#/$defs/digest/pattern",keyword:"pattern",params:{pattern: "^[a-f0-9]{64}$"},message:"must match pattern \""+"^[a-f0-9]{64}$"+"\""};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}else {const err13 = {instancePath:instancePath+"/rawResult/sha256",schemaPath:"#/$defs/digest/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}var _valid2 = _errs114 === errors;if(_valid2){valid23 = true;passing2 = 0;}const _errs117 = errors;if(data49 !== null){const err14 = {instancePath:instancePath+"/rawResult/sha256",schemaPath:"#/properties/rawResult/properties/sha256/oneOf/1/type",keyword:"type",params:{type: "null"},message:"must be null"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}var _valid2 = _errs117 === errors;if(_valid2 && valid23){valid23 = false;passing2 = [passing2, 1];}else {if(_valid2){valid23 = true;passing2 = 1;}}if(!valid23){const err15 = {instancePath:instancePath+"/rawResult/sha256",schemaPath:"#/properties/rawResult/properties/sha256/oneOf",keyword:"oneOf",params:{passingSchemas: passing2},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;validate31.errors = vErrors;return false;}else {errors = _errs113;if(vErrors !== null){if(_errs113){vErrors.length = _errs113;}else {vErrors = null;}}}var valid20 = _errs112 === errors;}else {var valid20 = true;}}}}}}else {validate31.errors = [{instancePath:instancePath+"/rawResult",schemaPath:"#/properties/rawResult/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid0 = _errs100 === errors;}else {var valid0 = true;}if(valid0){if(data.artifactRefs !== undefined){let data50 = data.artifactRefs;const _errs119 = errors;if(errors === _errs119){if(Array.isArray(data50)){var valid25 = true;const len6 = data50.length;for(let i7=0; i7<len6; i7++){let data51 = data50[i7];const _errs121 = errors;if(errors === _errs121){if(data51 && typeof data51 == "object" && !Array.isArray(data51)){let missing10;if((((data51.id === undefined) && (missing10 = "id")) || ((data51.path === undefined) && (missing10 = "path"))) || ((data51.sha256 === undefined) && (missing10 = "sha256"))){validate31.errors = [{instancePath:instancePath+"/artifactRefs/" + i7,schemaPath:"#/properties/artifactRefs/items/required",keyword:"required",params:{missingProperty: missing10},message:"must have required property '"+missing10+"'"}];return false;}else {const _errs123 = errors;for(const key10 in data51){if(!(((((key10 === "id") || (key10 === "path")) || (key10 === "sha256")) || (key10 === "gitExclude")) || (key10 === "executable"))){validate31.errors = [{instancePath:instancePath+"/artifactRefs/" + i7,schemaPath:"#/properties/artifactRefs/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key10},message:"must NOT have additional properties"}];return false;break;}}if(_errs123 === errors){if(data51.id !== undefined){let data52 = data51.id;const _errs124 = errors;if(errors === _errs124){if(typeof data52 === "string"){if(func2(data52) < 1){validate31.errors = [{instancePath:instancePath+"/artifactRefs/" + i7+"/id",schemaPath:"#/properties/artifactRefs/items/properties/id/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate31.errors = [{instancePath:instancePath+"/artifactRefs/" + i7+"/id",schemaPath:"#/properties/artifactRefs/items/properties/id/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid26 = _errs124 === errors;}else {var valid26 = true;}if(valid26){if(data51.path !== undefined){let data53 = data51.path;const _errs126 = errors;const _errs127 = errors;if(errors === _errs127){if(typeof data53 === "string"){if(!pattern20.test(data53)){validate31.errors = [{instancePath:instancePath+"/artifactRefs/" + i7+"/path",schemaPath:"#/$defs/fileUrl/pattern",keyword:"pattern",params:{pattern: "^file:///"},message:"must match pattern \""+"^file:///"+"\""}];return false;}}else {validate31.errors = [{instancePath:instancePath+"/artifactRefs/" + i7+"/path",schemaPath:"#/$defs/fileUrl/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid26 = _errs126 === errors;}else {var valid26 = true;}if(valid26){if(data51.sha256 !== undefined){let data54 = data51.sha256;const _errs129 = errors;const _errs130 = errors;if(errors === _errs130){if(typeof data54 === "string"){if(!pattern5.test(data54)){validate31.errors = [{instancePath:instancePath+"/artifactRefs/" + i7+"/sha256",schemaPath:"#/$defs/digest/pattern",keyword:"pattern",params:{pattern: "^[a-f0-9]{64}$"},message:"must match pattern \""+"^[a-f0-9]{64}$"+"\""}];return false;}}else {validate31.errors = [{instancePath:instancePath+"/artifactRefs/" + i7+"/sha256",schemaPath:"#/$defs/digest/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid26 = _errs129 === errors;}else {var valid26 = true;}if(valid26){if(data51.gitExclude !== undefined){const _errs132 = errors;if(typeof data51.gitExclude !== "boolean"){validate31.errors = [{instancePath:instancePath+"/artifactRefs/" + i7+"/gitExclude",schemaPath:"#/properties/artifactRefs/items/properties/gitExclude/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"}];return false;}var valid26 = _errs132 === errors;}else {var valid26 = true;}if(valid26){if(data51.executable !== undefined){const _errs134 = errors;if(typeof data51.executable !== "boolean"){validate31.errors = [{instancePath:instancePath+"/artifactRefs/" + i7+"/executable",schemaPath:"#/properties/artifactRefs/items/properties/executable/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"}];return false;}var valid26 = _errs134 === errors;}else {var valid26 = true;}}}}}}}}else {validate31.errors = [{instancePath:instancePath+"/artifactRefs/" + i7,schemaPath:"#/properties/artifactRefs/items/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid25 = _errs121 === errors;if(!valid25){break;}}}else {validate31.errors = [{instancePath:instancePath+"/artifactRefs",schemaPath:"#/properties/artifactRefs/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid0 = _errs119 === errors;}else {var valid0 = true;}}}}}}}}}}}}}}}}}}else {validate31.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate31.errors = vErrors;return errors === 0;}validate31.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};function validate25(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){/*# sourceURL="urn:sevro:schema:run-evidence:v1" */;let vErrors = null;let errors = 0;const evaluated0 = validate25.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((((((((((((data.format === undefined) && (missing0 = "format")) || ((data.runId === undefined) && (missing0 = "runId"))) || ((data.evaluationIdentity === undefined) && (missing0 = "evaluationIdentity"))) || ((data.configuration === undefined) && (missing0 = "configuration"))) || ((data.runner === undefined) && (missing0 = "runner"))) || ((data.project === undefined) && (missing0 = "project"))) || ((data.extension === undefined) && (missing0 = "extension"))) || ((data.condition === undefined) && (missing0 = "condition"))) || ((data.graders === undefined) && (missing0 = "graders"))) || ((data.routes === undefined) && (missing0 = "routes"))) || ((data.result === undefined) && (missing0 = "result"))) || ((data.trials === undefined) && (missing0 = "trials"))){validate25.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {const _errs1 = errors;for(const key0 in data){if(!(func1.call(schema49.properties, key0))){validate25.errors = [{instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"}];return false;break;}}if(_errs1 === errors){if(data.format !== undefined){const _errs2 = errors;if("sevro.run-evidence.v1" !== data.format){validate25.errors = [{instancePath:instancePath+"/format",schemaPath:"#/properties/format/const",keyword:"const",params:{allowedValue: "sevro.run-evidence.v1"},message:"must be equal to constant"}];return false;}var valid0 = _errs2 === errors;}else {var valid0 = true;}if(valid0){if(data.runId !== undefined){let data1 = data.runId;const _errs3 = errors;if(errors === _errs3){if(typeof data1 === "string"){if(func2(data1) < 1){validate25.errors = [{instancePath:instancePath+"/runId",schemaPath:"#/properties/runId/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate25.errors = [{instancePath:instancePath+"/runId",schemaPath:"#/properties/runId/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs3 === errors;}else {var valid0 = true;}if(valid0){if(data.evaluationIdentity !== undefined){let data2 = data.evaluationIdentity;const _errs5 = errors;if(errors === _errs5){if(data2 && typeof data2 == "object" && !Array.isArray(data2)){let missing1;if((((data2.algorithm === undefined) && (missing1 = "algorithm")) || ((data2.digest === undefined) && (missing1 = "digest"))) || ((data2.dimensions === undefined) && (missing1 = "dimensions"))){validate25.errors = [{instancePath:instancePath+"/evaluationIdentity",schemaPath:"#/properties/evaluationIdentity/required",keyword:"required",params:{missingProperty: missing1},message:"must have required property '"+missing1+"'"}];return false;}else {const _errs7 = errors;for(const key1 in data2){if(!(((key1 === "algorithm") || (key1 === "digest")) || (key1 === "dimensions"))){validate25.errors = [{instancePath:instancePath+"/evaluationIdentity",schemaPath:"#/properties/evaluationIdentity/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"}];return false;break;}}if(_errs7 === errors){if(data2.algorithm !== undefined){const _errs8 = errors;if("sevro.identity.v1" !== data2.algorithm){validate25.errors = [{instancePath:instancePath+"/evaluationIdentity/algorithm",schemaPath:"#/properties/evaluationIdentity/properties/algorithm/const",keyword:"const",params:{allowedValue: "sevro.identity.v1"},message:"must be equal to constant"}];return false;}var valid1 = _errs8 === errors;}else {var valid1 = true;}if(valid1){if(data2.digest !== undefined){let data4 = data2.digest;const _errs9 = errors;const _errs10 = errors;if(errors === _errs10){if(typeof data4 === "string"){if(!pattern5.test(data4)){validate25.errors = [{instancePath:instancePath+"/evaluationIdentity/digest",schemaPath:"#/$defs/digest/pattern",keyword:"pattern",params:{pattern: "^[a-f0-9]{64}$"},message:"must match pattern \""+"^[a-f0-9]{64}$"+"\""}];return false;}}else {validate25.errors = [{instancePath:instancePath+"/evaluationIdentity/digest",schemaPath:"#/$defs/digest/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid1 = _errs9 === errors;}else {var valid1 = true;}if(valid1){if(data2.dimensions !== undefined){let data5 = data2.dimensions;const _errs12 = errors;if(errors === _errs12){if(data5 && typeof data5 == "object" && !Array.isArray(data5)){let missing2;if(((((((((((((((((data5.runnerBuildDigest === undefined) && (missing2 = "runnerBuildDigest")) || ((data5.projectDigest === undefined) && (missing2 = "projectDigest"))) || ((data5.configurationDigest === undefined) && (missing2 = "configurationDigest"))) || ((data5.extensionDigest === undefined) && (missing2 = "extensionDigest"))) || ((data5.extensionProtocol === undefined) && (missing2 = "extensionProtocol"))) || ((data5.caseDigest === undefined) && (missing2 = "caseDigest"))) || ((data5.fixtureDigest === undefined) && (missing2 = "fixtureDigest"))) || ((data5.checksDigest === undefined) && (missing2 = "checksDigest"))) || ((data5.requiredEvidenceDigest === undefined) && (missing2 = "requiredEvidenceDigest"))) || ((data5.evaluatorDigest === undefined) && (missing2 = "evaluatorDigest"))) || ((data5.graderDigest === undefined) && (missing2 = "graderDigest"))) || ((data5.instrumentationDigest === undefined) && (missing2 = "instrumentationDigest"))) || ((data5.routeDigest === undefined) && (missing2 = "routeDigest"))) || ((data5.condition === undefined) && (missing2 = "condition"))) || ((data5.trialCount === undefined) && (missing2 = "trialCount"))) || ((data5.passThreshold === undefined) && (missing2 = "passThreshold"))){validate25.errors = [{instancePath:instancePath+"/evaluationIdentity/dimensions",schemaPath:"#/properties/evaluationIdentity/properties/dimensions/required",keyword:"required",params:{missingProperty: missing2},message:"must have required property '"+missing2+"'"}];return false;}else {const _errs14 = errors;for(const key2 in data5){if(!(func1.call(schema49.properties.evaluationIdentity.properties.dimensions.properties, key2))){validate25.errors = [{instancePath:instancePath+"/evaluationIdentity/dimensions",schemaPath:"#/properties/evaluationIdentity/properties/dimensions/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"}];return false;break;}}if(_errs14 === errors){if(data5.runnerBuildDigest !== undefined){let data6 = data5.runnerBuildDigest;const _errs15 = errors;const _errs16 = errors;if(errors === _errs16){if(typeof data6 === "string"){if(!pattern5.test(data6)){validate25.errors = [{instancePath:instancePath+"/evaluationIdentity/dimensions/runnerBuildDigest",schemaPath:"#/$defs/digest/pattern",keyword:"pattern",params:{pattern: "^[a-f0-9]{64}$"},message:"must match pattern \""+"^[a-f0-9]{64}$"+"\""}];return false;}}else {validate25.errors = [{instancePath:instancePath+"/evaluationIdentity/dimensions/runnerBuildDigest",schemaPath:"#/$defs/digest/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid3 = _errs15 === errors;}else {var valid3 = true;}if(valid3){if(data5.projectDigest !== undefined){let data7 = data5.projectDigest;const _errs18 = errors;const _errs19 = errors;if(errors === _errs19){if(typeof data7 === "string"){if(!pattern5.test(data7)){validate25.errors = [{instancePath:instancePath+"/evaluationIdentity/dimensions/projectDigest",schemaPath:"#/$defs/digest/pattern",keyword:"pattern",params:{pattern: "^[a-f0-9]{64}$"},message:"must match pattern \""+"^[a-f0-9]{64}$"+"\""}];return false;}}else {validate25.errors = [{instancePath:instancePath+"/evaluationIdentity/dimensions/projectDigest",schemaPath:"#/$defs/digest/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid3 = _errs18 === errors;}else {var valid3 = true;}if(valid3){if(data5.configurationDigest !== undefined){let data8 = data5.configurationDigest;const _errs21 = errors;const _errs22 = errors;if(errors === _errs22){if(typeof data8 === "string"){if(!pattern5.test(data8)){validate25.errors = [{instancePath:instancePath+"/evaluationIdentity/dimensions/configurationDigest",schemaPath:"#/$defs/digest/pattern",keyword:"pattern",params:{pattern: "^[a-f0-9]{64}$"},message:"must match pattern \""+"^[a-f0-9]{64}$"+"\""}];return false;}}else {validate25.errors = [{instancePath:instancePath+"/evaluationIdentity/dimensions/configurationDigest",schemaPath:"#/$defs/digest/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid3 = _errs21 === errors;}else {var valid3 = true;}if(valid3){if(data5.extensionDigest !== undefined){let data9 = data5.extensionDigest;const _errs24 = errors;const _errs25 = errors;let valid7 = false;let passing0 = null;const _errs26 = errors;const _errs27 = errors;if(errors === _errs27){if(typeof data9 === "string"){if(!pattern5.test(data9)){const err0 = {instancePath:instancePath+"/evaluationIdentity/dimensions/extensionDigest",schemaPath:"#/$defs/digest/pattern",keyword:"pattern",params:{pattern: "^[a-f0-9]{64}$"},message:"must match pattern \""+"^[a-f0-9]{64}$"+"\""};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}}else {const err1 = {instancePath:instancePath+"/evaluationIdentity/dimensions/extensionDigest",schemaPath:"#/$defs/digest/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}var _valid0 = _errs26 === errors;if(_valid0){valid7 = true;passing0 = 0;}const _errs29 = errors;if(data9 !== null){const err2 = {instancePath:instancePath+"/evaluationIdentity/dimensions/extensionDigest",schemaPath:"#/properties/evaluationIdentity/properties/dimensions/properties/extensionDigest/oneOf/1/type",keyword:"type",params:{type: "null"},message:"must be null"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}var _valid0 = _errs29 === errors;if(_valid0 && valid7){valid7 = false;passing0 = [passing0, 1];}else {if(_valid0){valid7 = true;passing0 = 1;}}if(!valid7){const err3 = {instancePath:instancePath+"/evaluationIdentity/dimensions/extensionDigest",schemaPath:"#/properties/evaluationIdentity/properties/dimensions/properties/extensionDigest/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;validate25.errors = vErrors;return false;}else {errors = _errs25;if(vErrors !== null){if(_errs25){vErrors.length = _errs25;}else {vErrors = null;}}}var valid3 = _errs24 === errors;}else {var valid3 = true;}if(valid3){if(data5.extensionProtocol !== undefined){let data10 = data5.extensionProtocol;const _errs31 = errors;if(!((data10 === "sevro.extension.v1") || (data10 === null))){validate25.errors = [{instancePath:instancePath+"/evaluationIdentity/dimensions/extensionProtocol",schemaPath:"#/properties/evaluationIdentity/properties/dimensions/properties/extensionProtocol/enum",keyword:"enum",params:{allowedValues: schema49.properties.evaluationIdentity.properties.dimensions.properties.extensionProtocol.enum},message:"must be equal to one of the allowed values"}];return false;}var valid3 = _errs31 === errors;}else {var valid3 = true;}if(valid3){if(data5.caseDigest !== undefined){let data11 = data5.caseDigest;const _errs32 = errors;const _errs33 = errors;if(errors === _errs33){if(typeof data11 === "string"){if(!pattern5.test(data11)){validate25.errors = [{instancePath:instancePath+"/evaluationIdentity/dimensions/caseDigest",schemaPath:"#/$defs/digest/pattern",keyword:"pattern",params:{pattern: "^[a-f0-9]{64}$"},message:"must match pattern \""+"^[a-f0-9]{64}$"+"\""}];return false;}}else {validate25.errors = [{instancePath:instancePath+"/evaluationIdentity/dimensions/caseDigest",schemaPath:"#/$defs/digest/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid3 = _errs32 === errors;}else {var valid3 = true;}if(valid3){if(data5.fixtureDigest !== undefined){let data12 = data5.fixtureDigest;const _errs35 = errors;const _errs36 = errors;if(errors === _errs36){if(typeof data12 === "string"){if(!pattern5.test(data12)){validate25.errors = [{instancePath:instancePath+"/evaluationIdentity/dimensions/fixtureDigest",schemaPath:"#/$defs/digest/pattern",keyword:"pattern",params:{pattern: "^[a-f0-9]{64}$"},message:"must match pattern \""+"^[a-f0-9]{64}$"+"\""}];return false;}}else {validate25.errors = [{instancePath:instancePath+"/evaluationIdentity/dimensions/fixtureDigest",schemaPath:"#/$defs/digest/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid3 = _errs35 === errors;}else {var valid3 = true;}if(valid3){if(data5.checksDigest !== undefined){let data13 = data5.checksDigest;const _errs38 = errors;const _errs39 = errors;if(errors === _errs39){if(typeof data13 === "string"){if(!pattern5.test(data13)){validate25.errors = [{instancePath:instancePath+"/evaluationIdentity/dimensions/checksDigest",schemaPath:"#/$defs/digest/pattern",keyword:"pattern",params:{pattern: "^[a-f0-9]{64}$"},message:"must match pattern \""+"^[a-f0-9]{64}$"+"\""}];return false;}}else {validate25.errors = [{instancePath:instancePath+"/evaluationIdentity/dimensions/checksDigest",schemaPath:"#/$defs/digest/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid3 = _errs38 === errors;}else {var valid3 = true;}if(valid3){if(data5.requiredEvidenceDigest !== undefined){let data14 = data5.requiredEvidenceDigest;const _errs41 = errors;const _errs42 = errors;if(errors === _errs42){if(typeof data14 === "string"){if(!pattern5.test(data14)){validate25.errors = [{instancePath:instancePath+"/evaluationIdentity/dimensions/requiredEvidenceDigest",schemaPath:"#/$defs/digest/pattern",keyword:"pattern",params:{pattern: "^[a-f0-9]{64}$"},message:"must match pattern \""+"^[a-f0-9]{64}$"+"\""}];return false;}}else {validate25.errors = [{instancePath:instancePath+"/evaluationIdentity/dimensions/requiredEvidenceDigest",schemaPath:"#/$defs/digest/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid3 = _errs41 === errors;}else {var valid3 = true;}if(valid3){if(data5.evaluatorDigest !== undefined){let data15 = data5.evaluatorDigest;const _errs44 = errors;const _errs45 = errors;if(errors === _errs45){if(typeof data15 === "string"){if(!pattern5.test(data15)){validate25.errors = [{instancePath:instancePath+"/evaluationIdentity/dimensions/evaluatorDigest",schemaPath:"#/$defs/digest/pattern",keyword:"pattern",params:{pattern: "^[a-f0-9]{64}$"},message:"must match pattern \""+"^[a-f0-9]{64}$"+"\""}];return false;}}else {validate25.errors = [{instancePath:instancePath+"/evaluationIdentity/dimensions/evaluatorDigest",schemaPath:"#/$defs/digest/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid3 = _errs44 === errors;}else {var valid3 = true;}if(valid3){if(data5.graderDigest !== undefined){let data16 = data5.graderDigest;const _errs47 = errors;const _errs48 = errors;if(errors === _errs48){if(typeof data16 === "string"){if(!pattern5.test(data16)){validate25.errors = [{instancePath:instancePath+"/evaluationIdentity/dimensions/graderDigest",schemaPath:"#/$defs/digest/pattern",keyword:"pattern",params:{pattern: "^[a-f0-9]{64}$"},message:"must match pattern \""+"^[a-f0-9]{64}$"+"\""}];return false;}}else {validate25.errors = [{instancePath:instancePath+"/evaluationIdentity/dimensions/graderDigest",schemaPath:"#/$defs/digest/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid3 = _errs47 === errors;}else {var valid3 = true;}if(valid3){if(data5.instrumentationDigest !== undefined){let data17 = data5.instrumentationDigest;const _errs50 = errors;const _errs51 = errors;if(errors === _errs51){if(typeof data17 === "string"){if(!pattern5.test(data17)){validate25.errors = [{instancePath:instancePath+"/evaluationIdentity/dimensions/instrumentationDigest",schemaPath:"#/$defs/digest/pattern",keyword:"pattern",params:{pattern: "^[a-f0-9]{64}$"},message:"must match pattern \""+"^[a-f0-9]{64}$"+"\""}];return false;}}else {validate25.errors = [{instancePath:instancePath+"/evaluationIdentity/dimensions/instrumentationDigest",schemaPath:"#/$defs/digest/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid3 = _errs50 === errors;}else {var valid3 = true;}if(valid3){if(data5.routeDigest !== undefined){let data18 = data5.routeDigest;const _errs53 = errors;const _errs54 = errors;if(errors === _errs54){if(typeof data18 === "string"){if(!pattern5.test(data18)){validate25.errors = [{instancePath:instancePath+"/evaluationIdentity/dimensions/routeDigest",schemaPath:"#/$defs/digest/pattern",keyword:"pattern",params:{pattern: "^[a-f0-9]{64}$"},message:"must match pattern \""+"^[a-f0-9]{64}$"+"\""}];return false;}}else {validate25.errors = [{instancePath:instancePath+"/evaluationIdentity/dimensions/routeDigest",schemaPath:"#/$defs/digest/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid3 = _errs53 === errors;}else {var valid3 = true;}if(valid3){if(data5.condition !== undefined){let data19 = data5.condition;const _errs56 = errors;if(!((data19 === "passive") || (data19 === "enforced"))){validate25.errors = [{instancePath:instancePath+"/evaluationIdentity/dimensions/condition",schemaPath:"#/properties/evaluationIdentity/properties/dimensions/properties/condition/enum",keyword:"enum",params:{allowedValues: schema49.properties.evaluationIdentity.properties.dimensions.properties.condition.enum},message:"must be equal to one of the allowed values"}];return false;}var valid3 = _errs56 === errors;}else {var valid3 = true;}if(valid3){if(data5.trialCount !== undefined){let data20 = data5.trialCount;const _errs57 = errors;if(!(((typeof data20 == "number") && (!(data20 % 1) && !isNaN(data20))) && (isFinite(data20)))){validate25.errors = [{instancePath:instancePath+"/evaluationIdentity/dimensions/trialCount",schemaPath:"#/properties/evaluationIdentity/properties/dimensions/properties/trialCount/type",keyword:"type",params:{type: "integer"},message:"must be integer"}];return false;}if(errors === _errs57){if((typeof data20 == "number") && (isFinite(data20))){if(data20 < 1 || isNaN(data20)){validate25.errors = [{instancePath:instancePath+"/evaluationIdentity/dimensions/trialCount",schemaPath:"#/properties/evaluationIdentity/properties/dimensions/properties/trialCount/minimum",keyword:"minimum",params:{comparison: ">=", limit: 1},message:"must be >= 1"}];return false;}}}var valid3 = _errs57 === errors;}else {var valid3 = true;}if(valid3){if(data5.passThreshold !== undefined){let data21 = data5.passThreshold;const _errs59 = errors;if(errors === _errs59){if((typeof data21 == "number") && (isFinite(data21))){if(data21 > 1 || isNaN(data21)){validate25.errors = [{instancePath:instancePath+"/evaluationIdentity/dimensions/passThreshold",schemaPath:"#/properties/evaluationIdentity/properties/dimensions/properties/passThreshold/maximum",keyword:"maximum",params:{comparison: "<=", limit: 1},message:"must be <= 1"}];return false;}else {if(data21 <= 0 || isNaN(data21)){validate25.errors = [{instancePath:instancePath+"/evaluationIdentity/dimensions/passThreshold",schemaPath:"#/properties/evaluationIdentity/properties/dimensions/properties/passThreshold/exclusiveMinimum",keyword:"exclusiveMinimum",params:{comparison: ">", limit: 0},message:"must be > 0"}];return false;}}}else {validate25.errors = [{instancePath:instancePath+"/evaluationIdentity/dimensions/passThreshold",schemaPath:"#/properties/evaluationIdentity/properties/dimensions/properties/passThreshold/type",keyword:"type",params:{type: "number"},message:"must be number"}];return false;}}var valid3 = _errs59 === errors;}else {var valid3 = true;}}}}}}}}}}}}}}}}}}}else {validate25.errors = [{instancePath:instancePath+"/evaluationIdentity/dimensions",schemaPath:"#/properties/evaluationIdentity/properties/dimensions/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid1 = _errs12 === errors;}else {var valid1 = true;}}}}}}else {validate25.errors = [{instancePath:instancePath+"/evaluationIdentity",schemaPath:"#/properties/evaluationIdentity/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid0 = _errs5 === errors;}else {var valid0 = true;}if(valid0){if(data.configuration !== undefined){let data22 = data.configuration;const _errs61 = errors;if(errors === _errs61){if(data22 && typeof data22 == "object" && !Array.isArray(data22)){let missing3;if(((data22.digest === undefined) && (missing3 = "digest")) || ((data22.redacted === undefined) && (missing3 = "redacted"))){validate25.errors = [{instancePath:instancePath+"/configuration",schemaPath:"#/properties/configuration/required",keyword:"required",params:{missingProperty: missing3},message:"must have required property '"+missing3+"'"}];return false;}else {const _errs63 = errors;for(const key3 in data22){if(!(((key3 === "digest") || (key3 === "redacted")) || (key3 === "resolved"))){validate25.errors = [{instancePath:instancePath+"/configuration",schemaPath:"#/properties/configuration/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key3},message:"must NOT have additional properties"}];return false;break;}}if(_errs63 === errors){if(data22.digest !== undefined){let data23 = data22.digest;const _errs64 = errors;const _errs65 = errors;if(errors === _errs65){if(typeof data23 === "string"){if(!pattern5.test(data23)){validate25.errors = [{instancePath:instancePath+"/configuration/digest",schemaPath:"#/$defs/digest/pattern",keyword:"pattern",params:{pattern: "^[a-f0-9]{64}$"},message:"must match pattern \""+"^[a-f0-9]{64}$"+"\""}];return false;}}else {validate25.errors = [{instancePath:instancePath+"/configuration/digest",schemaPath:"#/$defs/digest/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid17 = _errs64 === errors;}else {var valid17 = true;}if(valid17){if(data22.redacted !== undefined){let data24 = data22.redacted;const _errs67 = errors;if(!(data24 && typeof data24 == "object" && !Array.isArray(data24))){validate25.errors = [{instancePath:instancePath+"/configuration/redacted",schemaPath:"#/properties/configuration/properties/redacted/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}var valid17 = _errs67 === errors;}else {var valid17 = true;}if(valid17){if(data22.resolved !== undefined){let data25 = data22.resolved;const _errs69 = errors;if(!(data25 && typeof data25 == "object" && !Array.isArray(data25))){validate25.errors = [{instancePath:instancePath+"/configuration/resolved",schemaPath:"#/properties/configuration/properties/resolved/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}var valid17 = _errs69 === errors;}else {var valid17 = true;}}}}}}else {validate25.errors = [{instancePath:instancePath+"/configuration",schemaPath:"#/properties/configuration/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid0 = _errs61 === errors;}else {var valid0 = true;}if(valid0){if(data.runner !== undefined){const _errs71 = errors;if(!(validate26(data.runner, {instancePath:instancePath+"/runner",parentData:data,parentDataProperty:"runner",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate26.errors : vErrors.concat(validate26.errors);errors = vErrors.length;}var valid0 = _errs71 === errors;}else {var valid0 = true;}if(valid0){if(data.project !== undefined){let data27 = data.project;const _errs72 = errors;if(errors === _errs72){if(data27 && typeof data27 == "object" && !Array.isArray(data27)){let missing4;if((((data27.root === undefined) && (missing4 = "root")) || ((data27.revision === undefined) && (missing4 = "revision"))) || ((data27.dirtyPatchDigest === undefined) && (missing4 = "dirtyPatchDigest"))){validate25.errors = [{instancePath:instancePath+"/project",schemaPath:"#/properties/project/required",keyword:"required",params:{missingProperty: missing4},message:"must have required property '"+missing4+"'"}];return false;}else {const _errs74 = errors;for(const key4 in data27){if(!(((key4 === "root") || (key4 === "revision")) || (key4 === "dirtyPatchDigest"))){validate25.errors = [{instancePath:instancePath+"/project",schemaPath:"#/properties/project/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key4},message:"must NOT have additional properties"}];return false;break;}}if(_errs74 === errors){if(data27.root !== undefined){let data28 = data27.root;const _errs75 = errors;const _errs76 = errors;if(errors === _errs76){if(typeof data28 === "string"){if(!pattern20.test(data28)){validate25.errors = [{instancePath:instancePath+"/project/root",schemaPath:"#/$defs/fileUrl/pattern",keyword:"pattern",params:{pattern: "^file:///"},message:"must match pattern \""+"^file:///"+"\""}];return false;}}else {validate25.errors = [{instancePath:instancePath+"/project/root",schemaPath:"#/$defs/fileUrl/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid19 = _errs75 === errors;}else {var valid19 = true;}if(valid19){if(data27.revision !== undefined){let data29 = data27.revision;const _errs78 = errors;if((typeof data29 !== "string") && (data29 !== null)){validate25.errors = [{instancePath:instancePath+"/project/revision",schemaPath:"#/properties/project/properties/revision/type",keyword:"type",params:{type: schema49.properties.project.properties.revision.type},message:"must be string,null"}];return false;}var valid19 = _errs78 === errors;}else {var valid19 = true;}if(valid19){if(data27.dirtyPatchDigest !== undefined){let data30 = data27.dirtyPatchDigest;const _errs80 = errors;const _errs81 = errors;let valid21 = false;let passing1 = null;const _errs82 = errors;const _errs83 = errors;if(errors === _errs83){if(typeof data30 === "string"){if(!pattern5.test(data30)){const err4 = {instancePath:instancePath+"/project/dirtyPatchDigest",schemaPath:"#/$defs/digest/pattern",keyword:"pattern",params:{pattern: "^[a-f0-9]{64}$"},message:"must match pattern \""+"^[a-f0-9]{64}$"+"\""};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}else {const err5 = {instancePath:instancePath+"/project/dirtyPatchDigest",schemaPath:"#/$defs/digest/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}var _valid1 = _errs82 === errors;if(_valid1){valid21 = true;passing1 = 0;}const _errs85 = errors;if(data30 !== null){const err6 = {instancePath:instancePath+"/project/dirtyPatchDigest",schemaPath:"#/properties/project/properties/dirtyPatchDigest/oneOf/1/type",keyword:"type",params:{type: "null"},message:"must be null"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}var _valid1 = _errs85 === errors;if(_valid1 && valid21){valid21 = false;passing1 = [passing1, 1];}else {if(_valid1){valid21 = true;passing1 = 1;}}if(!valid21){const err7 = {instancePath:instancePath+"/project/dirtyPatchDigest",schemaPath:"#/properties/project/properties/dirtyPatchDigest/oneOf",keyword:"oneOf",params:{passingSchemas: passing1},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;validate25.errors = vErrors;return false;}else {errors = _errs81;if(vErrors !== null){if(_errs81){vErrors.length = _errs81;}else {vErrors = null;}}}var valid19 = _errs80 === errors;}else {var valid19 = true;}}}}}}else {validate25.errors = [{instancePath:instancePath+"/project",schemaPath:"#/properties/project/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid0 = _errs72 === errors;}else {var valid0 = true;}if(valid0){if(data.extension !== undefined){let data31 = data.extension;const _errs87 = errors;const _errs88 = errors;let valid23 = false;let passing2 = null;const _errs89 = errors;if(data31 !== null){const err8 = {instancePath:instancePath+"/extension",schemaPath:"#/properties/extension/oneOf/0/type",keyword:"type",params:{type: "null"},message:"must be null"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}var _valid2 = _errs89 === errors;if(_valid2){valid23 = true;passing2 = 0;}const _errs91 = errors;if(!(validate28(data31, {instancePath:instancePath+"/extension",parentData:data,parentDataProperty:"extension",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate28.errors : vErrors.concat(validate28.errors);errors = vErrors.length;}var _valid2 = _errs91 === errors;if(_valid2 && valid23){valid23 = false;passing2 = [passing2, 1];}else {if(_valid2){valid23 = true;passing2 = 1;}}if(!valid23){const err9 = {instancePath:instancePath+"/extension",schemaPath:"#/properties/extension/oneOf",keyword:"oneOf",params:{passingSchemas: passing2},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;validate25.errors = vErrors;return false;}else {errors = _errs88;if(vErrors !== null){if(_errs88){vErrors.length = _errs88;}else {vErrors = null;}}}var valid0 = _errs87 === errors;}else {var valid0 = true;}if(valid0){if(data.condition !== undefined){let data32 = data.condition;const _errs92 = errors;if(errors === _errs92){if(data32 && typeof data32 == "object" && !Array.isArray(data32)){let missing5;if(((((data32.requested === undefined) && (missing5 = "requested")) || ((data32.actual === undefined) && (missing5 = "actual"))) || ((data32.requestedInstrumentation === undefined) && (missing5 = "requestedInstrumentation"))) || ((data32.appliedInstrumentation === undefined) && (missing5 = "appliedInstrumentation"))){validate25.errors = [{instancePath:instancePath+"/condition",schemaPath:"#/properties/condition/required",keyword:"required",params:{missingProperty: missing5},message:"must have required property '"+missing5+"'"}];return false;}else {const _errs94 = errors;for(const key5 in data32){if(!((((key5 === "requested") || (key5 === "actual")) || (key5 === "requestedInstrumentation")) || (key5 === "appliedInstrumentation"))){validate25.errors = [{instancePath:instancePath+"/condition",schemaPath:"#/properties/condition/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key5},message:"must NOT have additional properties"}];return false;break;}}if(_errs94 === errors){if(data32.requested !== undefined){let data33 = data32.requested;const _errs95 = errors;if(!((data33 === "passive") || (data33 === "enforced"))){validate25.errors = [{instancePath:instancePath+"/condition/requested",schemaPath:"#/properties/condition/properties/requested/enum",keyword:"enum",params:{allowedValues: schema49.properties.condition.properties.requested.enum},message:"must be equal to one of the allowed values"}];return false;}var valid24 = _errs95 === errors;}else {var valid24 = true;}if(valid24){if(data32.actual !== undefined){let data34 = data32.actual;const _errs96 = errors;if(!(((data34 === "passive") || (data34 === "enforced")) || (data34 === "unknown"))){validate25.errors = [{instancePath:instancePath+"/condition/actual",schemaPath:"#/properties/condition/properties/actual/enum",keyword:"enum",params:{allowedValues: schema49.properties.condition.properties.actual.enum},message:"must be equal to one of the allowed values"}];return false;}var valid24 = _errs96 === errors;}else {var valid24 = true;}if(valid24){if(data32.requestedInstrumentation !== undefined){let data35 = data32.requestedInstrumentation;const _errs97 = errors;const _errs98 = errors;if(errors === _errs98){if(Array.isArray(data35)){var valid26 = true;const len0 = data35.length;for(let i0=0; i0<len0; i0++){let data36 = data35[i0];const _errs100 = errors;if(errors === _errs100){if(data36 && typeof data36 == "object" && !Array.isArray(data36)){let missing6;if(((data36.id === undefined) && (missing6 = "id")) || ((data36.configuration === undefined) && (missing6 = "configuration"))){validate25.errors = [{instancePath:instancePath+"/condition/requestedInstrumentation/" + i0,schemaPath:"#/$defs/instrumentationList/items/required",keyword:"required",params:{missingProperty: missing6},message:"must have required property '"+missing6+"'"}];return false;}else {const _errs102 = errors;for(const key6 in data36){if(!((key6 === "id") || (key6 === "configuration"))){validate25.errors = [{instancePath:instancePath+"/condition/requestedInstrumentation/" + i0,schemaPath:"#/$defs/instrumentationList/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key6},message:"must NOT have additional properties"}];return false;break;}}if(_errs102 === errors){if(data36.id !== undefined){let data37 = data36.id;const _errs103 = errors;if(errors === _errs103){if(typeof data37 === "string"){if(func2(data37) < 1){validate25.errors = [{instancePath:instancePath+"/condition/requestedInstrumentation/" + i0+"/id",schemaPath:"#/$defs/instrumentationList/items/properties/id/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate25.errors = [{instancePath:instancePath+"/condition/requestedInstrumentation/" + i0+"/id",schemaPath:"#/$defs/instrumentationList/items/properties/id/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid27 = _errs103 === errors;}else {var valid27 = true;}if(valid27){if(data36.configuration !== undefined){let data38 = data36.configuration;const _errs105 = errors;if(!(data38 && typeof data38 == "object" && !Array.isArray(data38))){validate25.errors = [{instancePath:instancePath+"/condition/requestedInstrumentation/" + i0+"/configuration",schemaPath:"#/$defs/instrumentationList/items/properties/configuration/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}var valid27 = _errs105 === errors;}else {var valid27 = true;}}}}}else {validate25.errors = [{instancePath:instancePath+"/condition/requestedInstrumentation/" + i0,schemaPath:"#/$defs/instrumentationList/items/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid26 = _errs100 === errors;if(!valid26){break;}}}else {validate25.errors = [{instancePath:instancePath+"/condition/requestedInstrumentation",schemaPath:"#/$defs/instrumentationList/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid24 = _errs97 === errors;}else {var valid24 = true;}if(valid24){if(data32.appliedInstrumentation !== undefined){let data39 = data32.appliedInstrumentation;const _errs107 = errors;const _errs108 = errors;if(errors === _errs108){if(Array.isArray(data39)){var valid29 = true;const len1 = data39.length;for(let i1=0; i1<len1; i1++){let data40 = data39[i1];const _errs110 = errors;if(errors === _errs110){if(data40 && typeof data40 == "object" && !Array.isArray(data40)){let missing7;if(((data40.id === undefined) && (missing7 = "id")) || ((data40.configuration === undefined) && (missing7 = "configuration"))){validate25.errors = [{instancePath:instancePath+"/condition/appliedInstrumentation/" + i1,schemaPath:"#/$defs/instrumentationList/items/required",keyword:"required",params:{missingProperty: missing7},message:"must have required property '"+missing7+"'"}];return false;}else {const _errs112 = errors;for(const key7 in data40){if(!((key7 === "id") || (key7 === "configuration"))){validate25.errors = [{instancePath:instancePath+"/condition/appliedInstrumentation/" + i1,schemaPath:"#/$defs/instrumentationList/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key7},message:"must NOT have additional properties"}];return false;break;}}if(_errs112 === errors){if(data40.id !== undefined){let data41 = data40.id;const _errs113 = errors;if(errors === _errs113){if(typeof data41 === "string"){if(func2(data41) < 1){validate25.errors = [{instancePath:instancePath+"/condition/appliedInstrumentation/" + i1+"/id",schemaPath:"#/$defs/instrumentationList/items/properties/id/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate25.errors = [{instancePath:instancePath+"/condition/appliedInstrumentation/" + i1+"/id",schemaPath:"#/$defs/instrumentationList/items/properties/id/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid30 = _errs113 === errors;}else {var valid30 = true;}if(valid30){if(data40.configuration !== undefined){let data42 = data40.configuration;const _errs115 = errors;if(!(data42 && typeof data42 == "object" && !Array.isArray(data42))){validate25.errors = [{instancePath:instancePath+"/condition/appliedInstrumentation/" + i1+"/configuration",schemaPath:"#/$defs/instrumentationList/items/properties/configuration/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}var valid30 = _errs115 === errors;}else {var valid30 = true;}}}}}else {validate25.errors = [{instancePath:instancePath+"/condition/appliedInstrumentation/" + i1,schemaPath:"#/$defs/instrumentationList/items/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid29 = _errs110 === errors;if(!valid29){break;}}}else {validate25.errors = [{instancePath:instancePath+"/condition/appliedInstrumentation",schemaPath:"#/$defs/instrumentationList/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid24 = _errs107 === errors;}else {var valid24 = true;}}}}}}}else {validate25.errors = [{instancePath:instancePath+"/condition",schemaPath:"#/properties/condition/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid0 = _errs92 === errors;}else {var valid0 = true;}if(valid0){if(data.graders !== undefined){let data43 = data.graders;const _errs117 = errors;if(errors === _errs117){if(data43 && typeof data43 == "object" && !Array.isArray(data43)){let missing8;if(((data43.active === undefined) && (missing8 = "active")) || ((data43.replacedDefaults === undefined) && (missing8 = "replacedDefaults"))){validate25.errors = [{instancePath:instancePath+"/graders",schemaPath:"#/properties/graders/required",keyword:"required",params:{missingProperty: missing8},message:"must have required property '"+missing8+"'"}];return false;}else {const _errs119 = errors;for(const key8 in data43){if(!((key8 === "active") || (key8 === "replacedDefaults"))){validate25.errors = [{instancePath:instancePath+"/graders",schemaPath:"#/properties/graders/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key8},message:"must NOT have additional properties"}];return false;break;}}if(_errs119 === errors){if(data43.active !== undefined){let data44 = data43.active;const _errs120 = errors;if(errors === _errs120){if(Array.isArray(data44)){var valid32 = true;const len2 = data44.length;for(let i2=0; i2<len2; i2++){let data45 = data44[i2];const _errs122 = errors;const _errs123 = errors;if(errors === _errs123){if(data45 && typeof data45 == "object" && !Array.isArray(data45)){let missing9;if((((data45.id === undefined) && (missing9 = "id")) || ((data45.source === undefined) && (missing9 = "source"))) || ((data45.version === undefined) && (missing9 = "version"))){validate25.errors = [{instancePath:instancePath+"/graders/active/" + i2,schemaPath:"#/$defs/grader/required",keyword:"required",params:{missingProperty: missing9},message:"must have required property '"+missing9+"'"}];return false;}else {const _errs125 = errors;for(const key9 in data45){if(!(((key9 === "id") || (key9 === "source")) || (key9 === "version"))){validate25.errors = [{instancePath:instancePath+"/graders/active/" + i2,schemaPath:"#/$defs/grader/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key9},message:"must NOT have additional properties"}];return false;break;}}if(_errs125 === errors){if(data45.id !== undefined){let data46 = data45.id;const _errs126 = errors;if(errors === _errs126){if(typeof data46 === "string"){if(func2(data46) < 1){validate25.errors = [{instancePath:instancePath+"/graders/active/" + i2+"/id",schemaPath:"#/$defs/grader/properties/id/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate25.errors = [{instancePath:instancePath+"/graders/active/" + i2+"/id",schemaPath:"#/$defs/grader/properties/id/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid34 = _errs126 === errors;}else {var valid34 = true;}if(valid34){if(data45.source !== undefined){let data47 = data45.source;const _errs128 = errors;if(!((data47 === "builtin") || (data47 === "extension"))){validate25.errors = [{instancePath:instancePath+"/graders/active/" + i2+"/source",schemaPath:"#/$defs/grader/properties/source/enum",keyword:"enum",params:{allowedValues: schema76.properties.source.enum},message:"must be equal to one of the allowed values"}];return false;}var valid34 = _errs128 === errors;}else {var valid34 = true;}if(valid34){if(data45.version !== undefined){let data48 = data45.version;const _errs129 = errors;if(errors === _errs129){if(typeof data48 === "string"){if(func2(data48) < 1){validate25.errors = [{instancePath:instancePath+"/graders/active/" + i2+"/version",schemaPath:"#/$defs/grader/properties/version/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate25.errors = [{instancePath:instancePath+"/graders/active/" + i2+"/version",schemaPath:"#/$defs/grader/properties/version/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid34 = _errs129 === errors;}else {var valid34 = true;}}}}}}else {validate25.errors = [{instancePath:instancePath+"/graders/active/" + i2,schemaPath:"#/$defs/grader/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid32 = _errs122 === errors;if(!valid32){break;}}}else {validate25.errors = [{instancePath:instancePath+"/graders/active",schemaPath:"#/properties/graders/properties/active/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid31 = _errs120 === errors;}else {var valid31 = true;}if(valid31){if(data43.replacedDefaults !== undefined){let data49 = data43.replacedDefaults;const _errs131 = errors;if(errors === _errs131){if(Array.isArray(data49)){var valid35 = true;const len3 = data49.length;for(let i3=0; i3<len3; i3++){let data50 = data49[i3];const _errs133 = errors;if(errors === _errs133){if(typeof data50 === "string"){if(func2(data50) < 1){validate25.errors = [{instancePath:instancePath+"/graders/replacedDefaults/" + i3,schemaPath:"#/properties/graders/properties/replacedDefaults/items/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate25.errors = [{instancePath:instancePath+"/graders/replacedDefaults/" + i3,schemaPath:"#/properties/graders/properties/replacedDefaults/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid35 = _errs133 === errors;if(!valid35){break;}}if(valid35){let i4 = data49.length;let j0;if(i4 > 1){const indices0 = {};for(;i4--;){let item0 = data49[i4];if(typeof item0 !== "string"){continue;}if(typeof indices0[item0] == "number"){j0 = indices0[item0];validate25.errors = [{instancePath:instancePath+"/graders/replacedDefaults",schemaPath:"#/properties/graders/properties/replacedDefaults/uniqueItems",keyword:"uniqueItems",params:{i: i4, j: j0},message:"must NOT have duplicate items (items ## "+j0+" and "+i4+" are identical)"}];return false;break;}indices0[item0] = i4;}}}}else {validate25.errors = [{instancePath:instancePath+"/graders/replacedDefaults",schemaPath:"#/properties/graders/properties/replacedDefaults/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid31 = _errs131 === errors;}else {var valid31 = true;}}}}}else {validate25.errors = [{instancePath:instancePath+"/graders",schemaPath:"#/properties/graders/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid0 = _errs117 === errors;}else {var valid0 = true;}if(valid0){if(data.routes !== undefined){let data51 = data.routes;const _errs135 = errors;if(errors === _errs135){if(Array.isArray(data51)){var valid37 = true;const len4 = data51.length;for(let i5=0; i5<len4; i5++){let data52 = data51[i5];const _errs137 = errors;const _errs138 = errors;if(errors === _errs138){if(data52 && typeof data52 == "object" && !Array.isArray(data52)){let missing10;if(((((data52.role === undefined) && (missing10 = "role")) || ((data52.host === undefined) && (missing10 = "host"))) || ((data52.model === undefined) && (missing10 = "model"))) || ((data52.effort === undefined) && (missing10 = "effort"))){validate25.errors = [{instancePath:instancePath+"/routes/" + i5,schemaPath:"#/$defs/route/required",keyword:"required",params:{missingProperty: missing10},message:"must have required property '"+missing10+"'"}];return false;}else {const _errs140 = errors;for(const key10 in data52){if(!((((key10 === "role") || (key10 === "host")) || (key10 === "model")) || (key10 === "effort"))){validate25.errors = [{instancePath:instancePath+"/routes/" + i5,schemaPath:"#/$defs/route/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key10},message:"must NOT have additional properties"}];return false;break;}}if(_errs140 === errors){if(data52.role !== undefined){let data53 = data52.role;const _errs141 = errors;if(!(((data53 === "candidate") || (data53 === "semantic")) || (data53 === "advisory"))){validate25.errors = [{instancePath:instancePath+"/routes/" + i5+"/role",schemaPath:"#/$defs/route/properties/role/enum",keyword:"enum",params:{allowedValues: schema77.properties.role.enum},message:"must be equal to one of the allowed values"}];return false;}var valid39 = _errs141 === errors;}else {var valid39 = true;}if(valid39){if(data52.host !== undefined){let data54 = data52.host;const _errs142 = errors;if(errors === _errs142){if(typeof data54 === "string"){if(func2(data54) < 1){validate25.errors = [{instancePath:instancePath+"/routes/" + i5+"/host",schemaPath:"#/$defs/route/properties/host/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate25.errors = [{instancePath:instancePath+"/routes/" + i5+"/host",schemaPath:"#/$defs/route/properties/host/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid39 = _errs142 === errors;}else {var valid39 = true;}if(valid39){if(data52.model !== undefined){let data55 = data52.model;const _errs144 = errors;if(errors === _errs144){if(typeof data55 === "string"){if(func2(data55) < 1){validate25.errors = [{instancePath:instancePath+"/routes/" + i5+"/model",schemaPath:"#/$defs/route/properties/model/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate25.errors = [{instancePath:instancePath+"/routes/" + i5+"/model",schemaPath:"#/$defs/route/properties/model/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid39 = _errs144 === errors;}else {var valid39 = true;}if(valid39){if(data52.effort !== undefined){let data56 = data52.effort;const _errs146 = errors;if(errors === _errs146){if(typeof data56 === "string"){if(func2(data56) < 1){validate25.errors = [{instancePath:instancePath+"/routes/" + i5+"/effort",schemaPath:"#/$defs/route/properties/effort/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate25.errors = [{instancePath:instancePath+"/routes/" + i5+"/effort",schemaPath:"#/$defs/route/properties/effort/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid39 = _errs146 === errors;}else {var valid39 = true;}}}}}}}else {validate25.errors = [{instancePath:instancePath+"/routes/" + i5,schemaPath:"#/$defs/route/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid37 = _errs137 === errors;if(!valid37){break;}}}else {validate25.errors = [{instancePath:instancePath+"/routes",schemaPath:"#/properties/routes/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid0 = _errs135 === errors;}else {var valid0 = true;}if(valid0){if(data.result !== undefined){const _errs148 = errors;if(!(validate20(data.result, {instancePath:instancePath+"/result",parentData:data,parentDataProperty:"result",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate20.errors : vErrors.concat(validate20.errors);errors = vErrors.length;}var valid0 = _errs148 === errors;}else {var valid0 = true;}if(valid0){if(data.trials !== undefined){let data58 = data.trials;const _errs149 = errors;if(errors === _errs149){if(Array.isArray(data58)){var valid40 = true;const len5 = data58.length;for(let i6=0; i6<len5; i6++){const _errs151 = errors;if(!(validate31(data58[i6], {instancePath:instancePath+"/trials/" + i6,parentData:data58,parentDataProperty:i6,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate31.errors : vErrors.concat(validate31.errors);errors = vErrors.length;}var valid40 = _errs151 === errors;if(!valid40){break;}}}else {validate25.errors = [{instancePath:instancePath+"/trials",schemaPath:"#/properties/trials/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid0 = _errs149 === errors;}else {var valid0 = true;}if(valid0){if(data.diagnostic !== undefined){let data60 = data.diagnostic;const _errs152 = errors;const _errs153 = errors;if(errors === _errs153){if(data60 && typeof data60 == "object" && !Array.isArray(data60)){let missing11;if(((data60.code === undefined) && (missing11 = "code")) || ((data60.message === undefined) && (missing11 = "message"))){validate25.errors = [{instancePath:instancePath+"/diagnostic",schemaPath:"#/$defs/diagnostic/required",keyword:"required",params:{missingProperty: missing11},message:"must have required property '"+missing11+"'"}];return false;}else {const _errs155 = errors;for(const key11 in data60){if(!((key11 === "code") || (key11 === "message"))){validate25.errors = [{instancePath:instancePath+"/diagnostic",schemaPath:"#/$defs/diagnostic/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key11},message:"must NOT have additional properties"}];return false;break;}}if(_errs155 === errors){if(data60.code !== undefined){let data61 = data60.code;const _errs156 = errors;if(errors === _errs156){if(typeof data61 === "string"){if(func2(data61) < 1){validate25.errors = [{instancePath:instancePath+"/diagnostic/code",schemaPath:"#/$defs/diagnostic/properties/code/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate25.errors = [{instancePath:instancePath+"/diagnostic/code",schemaPath:"#/$defs/diagnostic/properties/code/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid42 = _errs156 === errors;}else {var valid42 = true;}if(valid42){if(data60.message !== undefined){let data62 = data60.message;const _errs158 = errors;if(errors === _errs158){if(typeof data62 === "string"){if(func2(data62) > 4096){validate25.errors = [{instancePath:instancePath+"/diagnostic/message",schemaPath:"#/$defs/diagnostic/properties/message/maxLength",keyword:"maxLength",params:{limit: 4096},message:"must NOT have more than 4096 characters"}];return false;}else {if(func2(data62) < 1){validate25.errors = [{instancePath:instancePath+"/diagnostic/message",schemaPath:"#/$defs/diagnostic/properties/message/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}}else {validate25.errors = [{instancePath:instancePath+"/diagnostic/message",schemaPath:"#/$defs/diagnostic/properties/message/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid42 = _errs158 === errors;}else {var valid42 = true;}}}}}else {validate25.errors = [{instancePath:instancePath+"/diagnostic",schemaPath:"#/$defs/diagnostic/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid0 = _errs152 === errors;}else {var valid0 = true;}}}}}}}}}}}}}}}}else {validate25.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate25.errors = vErrors;return errors === 0;}validate25.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};
|