@xoxoai/checkmate 0.6.7 → 0.7.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/dist/checkmate.js +13375 -0
- package/package.json +14 -100
- package/plugin/.claude-plugin/plugin.json +10 -0
- package/plugin/bin/checkmate.ts +3 -0
- package/plugin/contracts/finding.schema.json +78 -0
- package/plugin/contracts/gap.schema.json +56 -0
- package/plugin/contracts/plan-candidate.schema.json +103 -0
- package/plugin/contracts/plan-delta.schema.json +63 -0
- package/plugin/contracts/plan-patch.schema.json +116 -0
- package/plugin/contracts/plan-request.schema.json +108 -0
- package/plugin/contracts/plan.schema.json +313 -0
- package/plugin/contracts/profile.schema.json +154 -0
- package/plugin/contracts/response.schema.json +25 -0
- package/plugin/contracts/result.schema.json +410 -0
- package/plugin/dist/checkmate.js +13012 -0
- package/plugin/package.json +4 -0
- package/plugin/references/browser.md +35 -0
- package/plugin/references/http.md +30 -0
- package/plugin/references/workflow.md +122 -0
- package/plugin/skills/execute/SKILL.md +92 -0
- package/plugin/skills/plan/SKILL.md +94 -0
- package/plugin/skills/report/SKILL.md +28 -0
- package/plugin/skills/revise/SKILL.md +43 -0
- package/plugin/skills/setup/SKILL.md +82 -0
- package/plugin/skills/status/SKILL.md +20 -0
- package/plugin/skills/ui/SKILL.md +26 -0
- package/plugin/src/actor.ts +21 -0
- package/plugin/src/cli.ts +1133 -0
- package/plugin/src/contracts.ts +342 -0
- package/plugin/src/index.ts +52 -0
- package/plugin/src/plans.ts +1028 -0
- package/plugin/src/render.ts +544 -0
- package/plugin/src/runs.ts +868 -0
- package/plugin/src/store.ts +384 -0
- package/plugin/src/targets.ts +205 -0
- package/plugin/src/types.ts +319 -0
- package/plugin/src/ui/assets/client.js +501 -0
- package/plugin/src/ui/assets/favicon.svg +1 -0
- package/plugin/src/ui/assets/fonts/inter-OFL.txt +93 -0
- package/plugin/src/ui/assets/fonts/inter.woff2 +0 -0
- package/plugin/src/ui/assets/fonts/jetbrains-mono-OFL.txt +93 -0
- package/plugin/src/ui/assets/fonts/jetbrains-mono.woff2 +0 -0
- package/plugin/src/ui/assets/fonts/space-grotesk-OFL.txt +93 -0
- package/plugin/src/ui/assets/fonts/space-grotesk.woff2 +0 -0
- package/plugin/src/ui/assets/style.css +1926 -0
- package/plugin/src/ui/edit.ts +305 -0
- package/plugin/src/ui/forms.ts +209 -0
- package/plugin/src/ui/html.ts +130 -0
- package/plugin/src/ui/layout.ts +198 -0
- package/plugin/src/ui/lists.ts +645 -0
- package/plugin/src/ui/plan.ts +577 -0
- package/plugin/src/ui/run.ts +489 -0
- package/plugin/src/ui/server.ts +684 -0
- package/plugin/src/validators.d.ts +13 -0
- package/plugin/src/validators.js +1 -0
- package/plugin/src/views.ts +839 -0
- package/LICENSE +0 -21
- package/README.md +0 -294
- package/bin/checkmate.js +0 -13
- package/dist/ai/client.d.ts +0 -64
- package/dist/ai/client.d.ts.map +0 -1
- package/dist/ai/client.js +0 -313
- package/dist/ai/client.js.map +0 -1
- package/dist/ai/message-handler.d.ts +0 -9
- package/dist/ai/message-handler.d.ts.map +0 -1
- package/dist/ai/message-handler.js +0 -50
- package/dist/ai/message-handler.js.map +0 -1
- package/dist/ai/message-history.d.ts +0 -17
- package/dist/ai/message-history.d.ts.map +0 -1
- package/dist/ai/message-history.js +0 -45
- package/dist/ai/message-history.js.map +0 -1
- package/dist/ai/prompts.d.ts +0 -4
- package/dist/ai/prompts.d.ts.map +0 -1
- package/dist/ai/prompts.js +0 -24
- package/dist/ai/prompts.js.map +0 -1
- package/dist/ai/rate-limit-policy.d.ts +0 -9
- package/dist/ai/rate-limit-policy.d.ts.map +0 -1
- package/dist/ai/rate-limit-policy.js +0 -34
- package/dist/ai/rate-limit-policy.js.map +0 -1
- package/dist/ai/tool-response-handler.d.ts +0 -16
- package/dist/ai/tool-response-handler.d.ts.map +0 -1
- package/dist/ai/tool-response-handler.js +0 -85
- package/dist/ai/tool-response-handler.js.map +0 -1
- package/dist/ai/turn-processor.d.ts +0 -34
- package/dist/ai/turn-processor.d.ts.map +0 -1
- package/dist/ai/turn-processor.js +0 -107
- package/dist/ai/turn-processor.js.map +0 -1
- package/dist/api/allocate-run-identity.d.ts +0 -8
- package/dist/api/allocate-run-identity.d.ts.map +0 -1
- package/dist/api/allocate-run-identity.js +0 -10
- package/dist/api/allocate-run-identity.js.map +0 -1
- package/dist/api/execute-prepared-run.d.ts +0 -22
- package/dist/api/execute-prepared-run.d.ts.map +0 -1
- package/dist/api/execute-prepared-run.js +0 -184
- package/dist/api/execute-prepared-run.js.map +0 -1
- package/dist/api/index.d.ts +0 -25
- package/dist/api/index.d.ts.map +0 -1
- package/dist/api/index.js +0 -69
- package/dist/api/index.js.map +0 -1
- package/dist/api/prepare-run.d.ts +0 -44
- package/dist/api/prepare-run.d.ts.map +0 -1
- package/dist/api/prepare-run.js +0 -261
- package/dist/api/prepare-run.js.map +0 -1
- package/dist/cli/diagnostic-relay.d.ts +0 -6
- package/dist/cli/diagnostic-relay.d.ts.map +0 -1
- package/dist/cli/diagnostic-relay.js +0 -6
- package/dist/cli/diagnostic-relay.js.map +0 -1
- package/dist/cli/main.d.ts +0 -21
- package/dist/cli/main.d.ts.map +0 -1
- package/dist/cli/main.js +0 -166
- package/dist/cli/main.js.map +0 -1
- package/dist/cli/protocol.d.ts +0 -57
- package/dist/cli/protocol.d.ts.map +0 -1
- package/dist/cli/protocol.js +0 -116
- package/dist/cli/protocol.js.map +0 -1
- package/dist/cli/reconcile-result.d.ts +0 -13
- package/dist/cli/reconcile-result.d.ts.map +0 -1
- package/dist/cli/reconcile-result.js +0 -300
- package/dist/cli/reconcile-result.js.map +0 -1
- package/dist/cli/run-parent.d.ts +0 -37
- package/dist/cli/run-parent.d.ts.map +0 -1
- package/dist/cli/run-parent.js +0 -491
- package/dist/cli/run-parent.js.map +0 -1
- package/dist/cli/signals.d.ts +0 -36
- package/dist/cli/signals.d.ts.map +0 -1
- package/dist/cli/signals.js +0 -85
- package/dist/cli/signals.js.map +0 -1
- package/dist/cli/static-commands.d.ts +0 -11
- package/dist/cli/static-commands.d.ts.map +0 -1
- package/dist/cli/static-commands.js +0 -83
- package/dist/cli/static-commands.js.map +0 -1
- package/dist/cli/worker-stream-guard.d.ts +0 -20
- package/dist/cli/worker-stream-guard.d.ts.map +0 -1
- package/dist/cli/worker-stream-guard.js +0 -41
- package/dist/cli/worker-stream-guard.js.map +0 -1
- package/dist/cli/worker.d.ts +0 -3
- package/dist/cli/worker.d.ts.map +0 -1
- package/dist/cli/worker.js +0 -111
- package/dist/cli/worker.js.map +0 -1
- package/dist/config/ingestion.d.ts +0 -58
- package/dist/config/ingestion.d.ts.map +0 -1
- package/dist/config/ingestion.js +0 -283
- package/dist/config/ingestion.js.map +0 -1
- package/dist/config/manifest.d.ts +0 -20
- package/dist/config/manifest.d.ts.map +0 -1
- package/dist/config/manifest.js +0 -91
- package/dist/config/manifest.js.map +0 -1
- package/dist/config/model-egress.d.ts +0 -10
- package/dist/config/model-egress.d.ts.map +0 -1
- package/dist/config/model-egress.js +0 -62
- package/dist/config/model-egress.js.map +0 -1
- package/dist/config/package-resolution.d.ts +0 -4
- package/dist/config/package-resolution.d.ts.map +0 -1
- package/dist/config/package-resolution.js +0 -24
- package/dist/config/package-resolution.js.map +0 -1
- package/dist/config/policy.d.ts +0 -44
- package/dist/config/policy.d.ts.map +0 -1
- package/dist/config/policy.js +0 -141
- package/dist/config/policy.js.map +0 -1
- package/dist/config/record.d.ts +0 -4
- package/dist/config/record.d.ts.map +0 -1
- package/dist/config/record.js +0 -10
- package/dist/config/record.js.map +0 -1
- package/dist/config/secrets.d.ts +0 -11
- package/dist/config/secrets.d.ts.map +0 -1
- package/dist/config/secrets.js +0 -42
- package/dist/config/secrets.js.map +0 -1
- package/dist/contracts/diagnostics.d.ts +0 -4
- package/dist/contracts/diagnostics.d.ts.map +0 -1
- package/dist/contracts/diagnostics.js +0 -31
- package/dist/contracts/diagnostics.js.map +0 -1
- package/dist/contracts/serialize.d.ts +0 -2
- package/dist/contracts/serialize.d.ts.map +0 -1
- package/dist/contracts/serialize.js +0 -90
- package/dist/contracts/serialize.js.map +0 -1
- package/dist/contracts/types.d.ts +0 -316
- package/dist/contracts/types.d.ts.map +0 -1
- package/dist/contracts/types.js +0 -74
- package/dist/contracts/types.js.map +0 -1
- package/dist/contracts/validator.d.ts +0 -8
- package/dist/contracts/validator.d.ts.map +0 -1
- package/dist/contracts/validator.js +0 -71
- package/dist/contracts/validator.js.map +0 -1
- package/dist/driver.d.ts +0 -97
- package/dist/driver.d.ts.map +0 -1
- package/dist/driver.js +0 -24
- package/dist/driver.js.map +0 -1
- package/dist/drivers/descriptor.d.ts +0 -15
- package/dist/drivers/descriptor.d.ts.map +0 -1
- package/dist/drivers/descriptor.js +0 -122
- package/dist/drivers/descriptor.js.map +0 -1
- package/dist/drivers/loader.d.ts +0 -18
- package/dist/drivers/loader.d.ts.map +0 -1
- package/dist/drivers/loader.js +0 -97
- package/dist/drivers/loader.js.map +0 -1
- package/dist/drivers/web/checkmate-driver.json +0 -47
- package/dist/drivers/web/index.d.ts +0 -6
- package/dist/drivers/web/index.d.ts.map +0 -1
- package/dist/drivers/web/index.js +0 -27
- package/dist/drivers/web/index.js.map +0 -1
- package/dist/drivers/web/session.d.ts +0 -25
- package/dist/drivers/web/session.d.ts.map +0 -1
- package/dist/drivers/web/session.js +0 -132
- package/dist/drivers/web/session.js.map +0 -1
- package/dist/drivers/web/tools/network-request-recorder.d.ts +0 -46
- package/dist/drivers/web/tools/network-request-recorder.d.ts.map +0 -1
- package/dist/drivers/web/tools/network-request-recorder.js +0 -164
- package/dist/drivers/web/tools/network-request-recorder.js.map +0 -1
- package/dist/drivers/web/tools/screenshot-service.d.ts +0 -10
- package/dist/drivers/web/tools/screenshot-service.d.ts.map +0 -1
- package/dist/drivers/web/tools/screenshot-service.js +0 -23
- package/dist/drivers/web/tools/screenshot-service.js.map +0 -1
- package/dist/drivers/web/tools/snapshot-filter/index.d.ts +0 -4
- package/dist/drivers/web/tools/snapshot-filter/index.d.ts.map +0 -1
- package/dist/drivers/web/tools/snapshot-filter/index.js +0 -4
- package/dist/drivers/web/tools/snapshot-filter/index.js.map +0 -1
- package/dist/drivers/web/tools/snapshot-filter/semantic-scorer.d.ts +0 -15
- package/dist/drivers/web/tools/snapshot-filter/semantic-scorer.d.ts.map +0 -1
- package/dist/drivers/web/tools/snapshot-filter/semantic-scorer.js +0 -99
- package/dist/drivers/web/tools/snapshot-filter/semantic-scorer.js.map +0 -1
- package/dist/drivers/web/tools/snapshot-filter/snapshot-filter.d.ts +0 -5
- package/dist/drivers/web/tools/snapshot-filter/snapshot-filter.d.ts.map +0 -1
- package/dist/drivers/web/tools/snapshot-filter/snapshot-filter.js +0 -56
- package/dist/drivers/web/tools/snapshot-filter/snapshot-filter.js.map +0 -1
- package/dist/drivers/web/tools/snapshot-filter/tree-reconstructor.d.ts +0 -3
- package/dist/drivers/web/tools/snapshot-filter/tree-reconstructor.d.ts.map +0 -1
- package/dist/drivers/web/tools/snapshot-filter/tree-reconstructor.js +0 -85
- package/dist/drivers/web/tools/snapshot-filter/tree-reconstructor.js.map +0 -1
- package/dist/drivers/web/tools/snapshot-service.d.ts +0 -31
- package/dist/drivers/web/tools/snapshot-service.d.ts.map +0 -1
- package/dist/drivers/web/tools/snapshot-service.js +0 -96
- package/dist/drivers/web/tools/snapshot-service.js.map +0 -1
- package/dist/drivers/web/tools/tool.d.ts +0 -76
- package/dist/drivers/web/tools/tool.d.ts.map +0 -1
- package/dist/drivers/web/tools/tool.js +0 -562
- package/dist/drivers/web/tools/tool.js.map +0 -1
- package/dist/drivers/web/tools/transient-state-tracker.d.ts +0 -26
- package/dist/drivers/web/tools/transient-state-tracker.d.ts.map +0 -1
- package/dist/drivers/web/tools/transient-state-tracker.js +0 -301
- package/dist/drivers/web/tools/transient-state-tracker.js.map +0 -1
- package/dist/drivers/web/tools/types.d.ts +0 -11
- package/dist/drivers/web/tools/types.d.ts.map +0 -1
- package/dist/drivers/web/tools/types.js +0 -2
- package/dist/drivers/web/tools/types.js.map +0 -1
- package/dist/evidence/atomic-file.d.ts +0 -23
- package/dist/evidence/atomic-file.d.ts.map +0 -1
- package/dist/evidence/atomic-file.js +0 -104
- package/dist/evidence/atomic-file.js.map +0 -1
- package/dist/evidence/layout.d.ts +0 -30
- package/dist/evidence/layout.d.ts.map +0 -1
- package/dist/evidence/layout.js +0 -152
- package/dist/evidence/layout.js.map +0 -1
- package/dist/evidence/retention.d.ts +0 -5
- package/dist/evidence/retention.d.ts.map +0 -1
- package/dist/evidence/retention.js +0 -10
- package/dist/evidence/retention.js.map +0 -1
- package/dist/evidence/store.d.ts +0 -101
- package/dist/evidence/store.d.ts.map +0 -1
- package/dist/evidence/store.js +0 -375
- package/dist/evidence/store.js.map +0 -1
- package/dist/evidence/terminal-finalizer.d.ts +0 -19
- package/dist/evidence/terminal-finalizer.d.ts.map +0 -1
- package/dist/evidence/terminal-finalizer.js +0 -56
- package/dist/evidence/terminal-finalizer.js.map +0 -1
- package/dist/index.d.ts +0 -9
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -12
- package/dist/index.js.map +0 -1
- package/dist/logging/invocation-logger.d.ts +0 -4
- package/dist/logging/invocation-logger.d.ts.map +0 -1
- package/dist/logging/invocation-logger.js +0 -25
- package/dist/logging/invocation-logger.js.map +0 -1
- package/dist/logging/level-logger.d.ts +0 -11
- package/dist/logging/level-logger.d.ts.map +0 -1
- package/dist/logging/level-logger.js +0 -82
- package/dist/logging/level-logger.js.map +0 -1
- package/dist/logging/types.d.ts +0 -8
- package/dist/logging/types.d.ts.map +0 -1
- package/dist/logging/types.js +0 -7
- package/dist/logging/types.js.map +0 -1
- package/dist/redaction/diagnostic-sanitizer.d.ts +0 -7
- package/dist/redaction/diagnostic-sanitizer.d.ts.map +0 -1
- package/dist/redaction/diagnostic-sanitizer.js +0 -42
- package/dist/redaction/diagnostic-sanitizer.js.map +0 -1
- package/dist/redaction/redactor.d.ts +0 -40
- package/dist/redaction/redactor.d.ts.map +0 -1
- package/dist/redaction/redactor.js +0 -176
- package/dist/redaction/redactor.js.map +0 -1
- package/dist/redaction/scrub.d.ts +0 -29
- package/dist/redaction/scrub.d.ts.map +0 -1
- package/dist/redaction/scrub.js +0 -54
- package/dist/redaction/scrub.js.map +0 -1
- package/dist/runtime/config.d.ts +0 -16
- package/dist/runtime/config.d.ts.map +0 -1
- package/dist/runtime/config.js +0 -2
- package/dist/runtime/config.js.map +0 -1
- package/dist/runtime/driver-boundary.d.ts +0 -16
- package/dist/runtime/driver-boundary.d.ts.map +0 -1
- package/dist/runtime/driver-boundary.js +0 -71
- package/dist/runtime/driver-boundary.js.map +0 -1
- package/dist/runtime/driver-session.d.ts +0 -9
- package/dist/runtime/driver-session.d.ts.map +0 -1
- package/dist/runtime/driver-session.js +0 -64
- package/dist/runtime/driver-session.js.map +0 -1
- package/dist/runtime/internal-step-evidence.d.ts +0 -30
- package/dist/runtime/internal-step-evidence.d.ts.map +0 -1
- package/dist/runtime/internal-step-evidence.js +0 -82
- package/dist/runtime/internal-step-evidence.js.map +0 -1
- package/dist/runtime/result-adapter.d.ts +0 -9
- package/dist/runtime/result-adapter.d.ts.map +0 -1
- package/dist/runtime/result-adapter.js +0 -77
- package/dist/runtime/result-adapter.js.map +0 -1
- package/dist/runtime/runner.d.ts +0 -43
- package/dist/runtime/runner.d.ts.map +0 -1
- package/dist/runtime/runner.js +0 -72
- package/dist/runtime/runner.js.map +0 -1
- package/dist/runtime/scenario-control.d.ts +0 -40
- package/dist/runtime/scenario-control.d.ts.map +0 -1
- package/dist/runtime/scenario-control.js +0 -94
- package/dist/runtime/scenario-control.js.map +0 -1
- package/dist/runtime/scenario-runner.d.ts +0 -41
- package/dist/runtime/scenario-runner.d.ts.map +0 -1
- package/dist/runtime/scenario-runner.js +0 -274
- package/dist/runtime/scenario-runner.js.map +0 -1
- package/dist/runtime/scenario-state.d.ts +0 -55
- package/dist/runtime/scenario-state.d.ts.map +0 -1
- package/dist/runtime/scenario-state.js +0 -128
- package/dist/runtime/scenario-state.js.map +0 -1
- package/dist/runtime/step-execution.d.ts +0 -27
- package/dist/runtime/step-execution.d.ts.map +0 -1
- package/dist/runtime/step-execution.js +0 -143
- package/dist/runtime/step-execution.js.map +0 -1
- package/dist/runtime/text.d.ts +0 -10
- package/dist/runtime/text.d.ts.map +0 -1
- package/dist/runtime/text.js +0 -25
- package/dist/runtime/text.js.map +0 -1
- package/dist/runtime/types.d.ts +0 -53
- package/dist/runtime/types.d.ts.map +0 -1
- package/dist/runtime/types.js +0 -2
- package/dist/runtime/types.js.map +0 -1
- package/dist/runtime/usage-tracker.d.ts +0 -37
- package/dist/runtime/usage-tracker.d.ts.map +0 -1
- package/dist/runtime/usage-tracker.js +0 -110
- package/dist/runtime/usage-tracker.js.map +0 -1
- package/dist/tools/define-agent-tool.d.ts +0 -20
- package/dist/tools/define-agent-tool.d.ts.map +0 -1
- package/dist/tools/define-agent-tool.js +0 -30
- package/dist/tools/define-agent-tool.js.map +0 -1
- package/dist/tools/dispatcher.d.ts +0 -19
- package/dist/tools/dispatcher.d.ts.map +0 -1
- package/dist/tools/dispatcher.js +0 -91
- package/dist/tools/dispatcher.js.map +0 -1
- package/dist/tools/loop-detector.d.ts +0 -27
- package/dist/tools/loop-detector.d.ts.map +0 -1
- package/dist/tools/loop-detector.js +0 -76
- package/dist/tools/loop-detector.js.map +0 -1
- package/dist/tools/registry.d.ts +0 -19
- package/dist/tools/registry.d.ts.map +0 -1
- package/dist/tools/registry.js +0 -54
- package/dist/tools/registry.js.map +0 -1
- package/dist/tools/step/result-tool.d.ts +0 -7
- package/dist/tools/step/result-tool.d.ts.map +0 -1
- package/dist/tools/step/result-tool.js +0 -34
- package/dist/tools/step/result-tool.js.map +0 -1
- package/dist/tools/tool-contract.d.ts +0 -3
- package/dist/tools/tool-contract.d.ts.map +0 -1
- package/dist/tools/tool-contract.js +0 -2
- package/dist/tools/tool-contract.js.map +0 -1
- package/dist/tools/types.d.ts +0 -210
- package/dist/tools/types.d.ts.map +0 -1
- package/dist/tools/types.js +0 -4
- package/dist/tools/types.js.map +0 -1
- package/docs/CLI.md +0 -59
- package/docs/CONFIGURATION.md +0 -105
- package/docs/DRIVERS.md +0 -79
- package/docs/EVIDENCE.md +0 -64
- package/schemas/checkmate-config.v1.json +0 -176
- package/schemas/describe-result.v1.json +0 -414
- package/schemas/driver-descriptor.v1.json +0 -66
- package/schemas/run-request.v1.json +0 -67
- package/schemas/run-result.v1.json +0 -333
- package/schemas/validation-result.v1.json +0 -86
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var R=(d,t)=>()=>{try{return t||d((t={exports:{}}).exports,t),t.exports}catch(O){throw t=0,O}};var re=R(M=>{"use strict";Object.defineProperty(M,"__esModule",{value:!0});function te(d){let t=d.length,O=0,z=0,Z;for(;z<t;)O++,Z=d.charCodeAt(z++),Z>=55296&&Z<=56319&&z<t&&(Z=d.charCodeAt(z),(Z&64512)===56320&&z++);return O}M.default=te;te.code='require("ajv/dist/runtime/ucs2length").default'});var ae=R((Xe,ie)=>{"use strict";ie.exports=function d(t,O){if(t===O)return!0;if(t&&O&&typeof t=="object"&&typeof O=="object"){if(t.constructor!==O.constructor)return!1;var z,Z,e;if(Array.isArray(t)){if(z=t.length,z!=O.length)return!1;for(Z=z;Z--!==0;)if(!d(t[Z],O[Z]))return!1;return!0}if(t.constructor===RegExp)return t.source===O.source&&t.flags===O.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===O.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===O.toString();if(e=Object.keys(t),z=e.length,z!==Object.keys(O).length)return!1;for(Z=z;Z--!==0;)if(!Object.prototype.hasOwnProperty.call(O,e[Z]))return!1;for(Z=z;Z--!==0;){var s=e[Z];if(!d(t[s],O[s]))return!1}return!0}return t!==t&&O!==O}});var pe=R(S=>{"use strict";Object.defineProperty(S,"__esModule",{value:!0});var ne=ae();ne.code='require("ajv/dist/runtime/equal").default';S.default=ne});var Q=R(D=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0});D.formatNames=D.fastFormats=D.fullFormats=void 0;function V(d,t){return{validate:d,compare:t}}D.fullFormats={date:V(ue,X),time:V(Y(!0),J),"date-time":V(oe(!0),ce),"iso-time":V(Y(),de),"iso-date-time":V(oe(),he),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:Le,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:Ee,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:xe,int32:{type:"number",validate:Ke},int64:{type:"number",validate:Ge},float:{type:"number",validate:le},double:{type:"number",validate:le},password:!0,binary:!0};D.fastFormats={...D.fullFormats,date:V(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,X),time:V(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,J),"date-time":V(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,ce),"iso-time":V(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,de),"iso-date-time":V(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,he),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};D.formatNames=Object.keys(D.fullFormats);function Ze(d){return d%4===0&&(d%100!==0||d%400===0)}var _e=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,Ne=[0,31,28,31,30,31,30,31,31,30,31,30,31];function ue(d){let t=_e.exec(d);if(!t)return!1;let O=+t[1],z=+t[2],Z=+t[3];return z>=1&&z<=12&&Z>=1&&Z<=(z===2&&Ze(O)?29:Ne[z])}function X(d,t){if(d&&t)return d>t?1:d<t?-1:0}var H=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function Y(d){return function(O){let z=H.exec(O);if(!z)return!1;let Z=+z[1],e=+z[2],s=+z[3],q=z[4],o=z[5]==="-"?-1:1,f=+(z[6]||0),h=+(z[7]||0);if(f>23||h>59||d&&!q)return!1;if(Z<=23&&e<=59&&s<60)return!0;let c=e-h*o,p=Z-f*o-(c<0?1:0);return(p===23||p===-1)&&(c===59||c===-1)&&s<61}}function J(d,t){if(!(d&&t))return;let O=new Date("2020-01-01T"+d).valueOf(),z=new Date("2020-01-01T"+t).valueOf();if(O&&z)return O-z}function de(d,t){if(!(d&&t))return;let O=H.exec(d),z=H.exec(t);if(O&&z)return d=O[1]+O[2]+O[3],t=z[1]+z[2]+z[3],d>t?1:d<t?-1:0}var W=/t|\s/i;function oe(d){let t=Y(d);return function(z){let Z=z.split(W);return Z.length===2&&ue(Z[0])&&t(Z[1])}}function ce(d,t){if(!(d&&t))return;let O=new Date(d).valueOf(),z=new Date(t).valueOf();if(O&&z)return O-z}function he(d,t){if(!(d&&t))return;let[O,z]=d.split(W),[Z,e]=t.split(W),s=X(O,Z);if(s!==void 0)return s||J(z,e)}var $e=/\/|:/,Te=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function Le(d){return $e.test(d)&&Te.test(d)}var me=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function xe(d){return me.lastIndex=0,me.test(d)}var Ve=-(2**31),De=2**31-1;function Ke(d){return Number.isInteger(d)&&d<=De&&d>=Ve}function Ge(d){return Number.isInteger(d)}function le(){return!0}var Fe=/[^\\]\\Z/;function Ee(d){if(Fe.test(d))return!1;try{return new RegExp(d),!0}catch{return!1}}});var es=qe,ee={$schema:"http://json-schema.org/draft-07/schema#",$id:"finding.schema.json",type:"object",properties:{id:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},type:{enum:["defect","potential_issue"]},severity:{enum:["low","medium","high","critical"]},assertionIds:{type:"array",items:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}\\.[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},minItems:1,uniqueItems:!0},requirementIds:{type:"array",items:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},minItems:1,uniqueItems:!0},title:{type:"string",minLength:1},expected:{type:"string",minLength:1},observed:{type:"string",minLength:1},reproduction:{type:"array",items:{type:"string",minLength:1},minItems:1,uniqueItems:!0},evidenceIds:{type:"array",items:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},minItems:1,uniqueItems:!0}},required:["id","type","severity","assertionIds","requirementIds","title","expected","observed","reproduction","evidenceIds"],additionalProperties:!1},E=Object.prototype.hasOwnProperty,A=re().default,j=new RegExp("^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$","u"),ge=new RegExp("^[A-Za-z0-9][A-Za-z0-9_-]{0,95}\\.[A-Za-z0-9][A-Za-z0-9_-]{0,95}$","u");function qe(d,{instancePath:t="",parentData:O,parentDataProperty:z,rootData:Z=d}={}){let e=null,s=0;if(d&&typeof d=="object"&&!Array.isArray(d)){if(d.id===void 0){let q={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"id"},message:"must have required property 'id'"};e===null?e=[q]:e.push(q),s++}if(d.type===void 0){let q={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"type"},message:"must have required property 'type'"};e===null?e=[q]:e.push(q),s++}if(d.severity===void 0){let q={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"severity"},message:"must have required property 'severity'"};e===null?e=[q]:e.push(q),s++}if(d.assertionIds===void 0){let q={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"assertionIds"},message:"must have required property 'assertionIds'"};e===null?e=[q]:e.push(q),s++}if(d.requirementIds===void 0){let q={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"requirementIds"},message:"must have required property 'requirementIds'"};e===null?e=[q]:e.push(q),s++}if(d.title===void 0){let q={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"title"},message:"must have required property 'title'"};e===null?e=[q]:e.push(q),s++}if(d.expected===void 0){let q={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"expected"},message:"must have required property 'expected'"};e===null?e=[q]:e.push(q),s++}if(d.observed===void 0){let q={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"observed"},message:"must have required property 'observed'"};e===null?e=[q]:e.push(q),s++}if(d.reproduction===void 0){let q={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"reproduction"},message:"must have required property 'reproduction'"};e===null?e=[q]:e.push(q),s++}if(d.evidenceIds===void 0){let q={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"evidenceIds"},message:"must have required property 'evidenceIds'"};e===null?e=[q]:e.push(q),s++}for(let q in d)if(!E.call(ee.properties,q)){let o={instancePath:t,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:q},message:"must NOT have additional properties"};e===null?e=[o]:e.push(o),s++}if(d.id!==void 0){let q=d.id;if(typeof q=="string"){if(!j.test(q)){let o={instancePath:t+"/id",schemaPath:"#/properties/id/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[o]:e.push(o),s++}}else{let o={instancePath:t+"/id",schemaPath:"#/properties/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}}if(d.type!==void 0){let q=d.type;if(!(q==="defect"||q==="potential_issue")){let o={instancePath:t+"/type",schemaPath:"#/properties/type/enum",keyword:"enum",params:{allowedValues:ee.properties.type.enum},message:"must be equal to one of the allowed values"};e===null?e=[o]:e.push(o),s++}}if(d.severity!==void 0){let q=d.severity;if(!(q==="low"||q==="medium"||q==="high"||q==="critical")){let o={instancePath:t+"/severity",schemaPath:"#/properties/severity/enum",keyword:"enum",params:{allowedValues:ee.properties.severity.enum},message:"must be equal to one of the allowed values"};e===null?e=[o]:e.push(o),s++}}if(d.assertionIds!==void 0){let q=d.assertionIds;if(Array.isArray(q)){if(q.length<1){let c={instancePath:t+"/assertionIds",schemaPath:"#/properties/assertionIds/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"};e===null?e=[c]:e.push(c),s++}let o=q.length;for(let c=0;c<o;c++){let p=q[c];if(typeof p=="string"){if(!ge.test(p)){let l={instancePath:t+"/assertionIds/"+c,schemaPath:"#/properties/assertionIds/items/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}\\.[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}\\.[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[l]:e.push(l),s++}}else{let l={instancePath:t+"/assertionIds/"+c,schemaPath:"#/properties/assertionIds/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}}let f=q.length,h;if(f>1){let c={};for(;f--;){let p=q[f];if(typeof p=="string"){if(typeof c[p]=="number"){h=c[p];let l={instancePath:t+"/assertionIds",schemaPath:"#/properties/assertionIds/uniqueItems",keyword:"uniqueItems",params:{i:f,j:h},message:"must NOT have duplicate items (items ## "+h+" and "+f+" are identical)"};e===null?e=[l]:e.push(l),s++;break}c[p]=f}}}}else{let o={instancePath:t+"/assertionIds",schemaPath:"#/properties/assertionIds/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[o]:e.push(o),s++}}if(d.requirementIds!==void 0){let q=d.requirementIds;if(Array.isArray(q)){if(q.length<1){let c={instancePath:t+"/requirementIds",schemaPath:"#/properties/requirementIds/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"};e===null?e=[c]:e.push(c),s++}let o=q.length;for(let c=0;c<o;c++){let p=q[c];if(typeof p=="string"){if(!j.test(p)){let l={instancePath:t+"/requirementIds/"+c,schemaPath:"#/properties/requirementIds/items/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[l]:e.push(l),s++}}else{let l={instancePath:t+"/requirementIds/"+c,schemaPath:"#/properties/requirementIds/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}}let f=q.length,h;if(f>1){let c={};for(;f--;){let p=q[f];if(typeof p=="string"){if(typeof c[p]=="number"){h=c[p];let l={instancePath:t+"/requirementIds",schemaPath:"#/properties/requirementIds/uniqueItems",keyword:"uniqueItems",params:{i:f,j:h},message:"must NOT have duplicate items (items ## "+h+" and "+f+" are identical)"};e===null?e=[l]:e.push(l),s++;break}c[p]=f}}}}else{let o={instancePath:t+"/requirementIds",schemaPath:"#/properties/requirementIds/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[o]:e.push(o),s++}}if(d.title!==void 0){let q=d.title;if(typeof q=="string"){if(A(q)<1){let o={instancePath:t+"/title",schemaPath:"#/properties/title/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[o]:e.push(o),s++}}else{let o={instancePath:t+"/title",schemaPath:"#/properties/title/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}}if(d.expected!==void 0){let q=d.expected;if(typeof q=="string"){if(A(q)<1){let o={instancePath:t+"/expected",schemaPath:"#/properties/expected/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[o]:e.push(o),s++}}else{let o={instancePath:t+"/expected",schemaPath:"#/properties/expected/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}}if(d.observed!==void 0){let q=d.observed;if(typeof q=="string"){if(A(q)<1){let o={instancePath:t+"/observed",schemaPath:"#/properties/observed/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[o]:e.push(o),s++}}else{let o={instancePath:t+"/observed",schemaPath:"#/properties/observed/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}}if(d.reproduction!==void 0){let q=d.reproduction;if(Array.isArray(q)){if(q.length<1){let c={instancePath:t+"/reproduction",schemaPath:"#/properties/reproduction/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"};e===null?e=[c]:e.push(c),s++}let o=q.length;for(let c=0;c<o;c++){let p=q[c];if(typeof p=="string"){if(A(p)<1){let l={instancePath:t+"/reproduction/"+c,schemaPath:"#/properties/reproduction/items/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[l]:e.push(l),s++}}else{let l={instancePath:t+"/reproduction/"+c,schemaPath:"#/properties/reproduction/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}}let f=q.length,h;if(f>1){let c={};for(;f--;){let p=q[f];if(typeof p=="string"){if(typeof c[p]=="number"){h=c[p];let l={instancePath:t+"/reproduction",schemaPath:"#/properties/reproduction/uniqueItems",keyword:"uniqueItems",params:{i:f,j:h},message:"must NOT have duplicate items (items ## "+h+" and "+f+" are identical)"};e===null?e=[l]:e.push(l),s++;break}c[p]=f}}}}else{let o={instancePath:t+"/reproduction",schemaPath:"#/properties/reproduction/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[o]:e.push(o),s++}}if(d.evidenceIds!==void 0){let q=d.evidenceIds;if(Array.isArray(q)){if(q.length<1){let c={instancePath:t+"/evidenceIds",schemaPath:"#/properties/evidenceIds/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"};e===null?e=[c]:e.push(c),s++}let o=q.length;for(let c=0;c<o;c++){let p=q[c];if(typeof p=="string"){if(!j.test(p)){let l={instancePath:t+"/evidenceIds/"+c,schemaPath:"#/properties/evidenceIds/items/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[l]:e.push(l),s++}}else{let l={instancePath:t+"/evidenceIds/"+c,schemaPath:"#/properties/evidenceIds/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}}let f=q.length,h;if(f>1){let c={};for(;f--;){let p=q[f];if(typeof p=="string"){if(typeof c[p]=="number"){h=c[p];let l={instancePath:t+"/evidenceIds",schemaPath:"#/properties/evidenceIds/uniqueItems",keyword:"uniqueItems",params:{i:f,j:h},message:"must NOT have duplicate items (items ## "+h+" and "+f+" are identical)"};e===null?e=[l]:e.push(l),s++;break}c[p]=f}}}}else{let o={instancePath:t+"/evidenceIds",schemaPath:"#/properties/evidenceIds/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[o]:e.push(o),s++}}}else{let q={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[q]:e.push(q),s++}return qe.errors=e,s===0}var ss=Pe,K={$schema:"http://json-schema.org/draft-07/schema#",$id:"gap.schema.json",type:"object",properties:{id:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},severity:{enum:["blocking","non_blocking"]},status:{enum:["open","resolved","deferred"]},requirementIds:{type:"array",items:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},minItems:0,uniqueItems:!0},testIds:{type:"array",items:{type:"string",pattern:"^([A-Za-z0-9][A-Za-z0-9_-]{0,95}:)?[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},minItems:0,uniqueItems:!0},question:{type:"string",minLength:1},consequence:{type:"string",minLength:1},decisionId:{anyOf:[{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},{type:"null"}]}},required:["id","severity","status","requirementIds","testIds","question","consequence","decisionId"],additionalProperties:!1},G=new RegExp("^([A-Za-z0-9][A-Za-z0-9_-]{0,95}:)?[A-Za-z0-9][A-Za-z0-9_-]{0,95}$","u");function Pe(d,{instancePath:t="",parentData:O,parentDataProperty:z,rootData:Z=d}={}){let e=null,s=0;if(d&&typeof d=="object"&&!Array.isArray(d)){if(d.id===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"id"},message:"must have required property 'id'"};e===null?e=[o]:e.push(o),s++}if(d.severity===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"severity"},message:"must have required property 'severity'"};e===null?e=[o]:e.push(o),s++}if(d.status===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"status"},message:"must have required property 'status'"};e===null?e=[o]:e.push(o),s++}if(d.requirementIds===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"requirementIds"},message:"must have required property 'requirementIds'"};e===null?e=[o]:e.push(o),s++}if(d.testIds===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"testIds"},message:"must have required property 'testIds'"};e===null?e=[o]:e.push(o),s++}if(d.question===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"question"},message:"must have required property 'question'"};e===null?e=[o]:e.push(o),s++}if(d.consequence===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"consequence"},message:"must have required property 'consequence'"};e===null?e=[o]:e.push(o),s++}if(d.decisionId===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"decisionId"},message:"must have required property 'decisionId'"};e===null?e=[o]:e.push(o),s++}for(let o in d)if(!(o==="id"||o==="severity"||o==="status"||o==="requirementIds"||o==="testIds"||o==="question"||o==="consequence"||o==="decisionId")){let f={instancePath:t,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:o},message:"must NOT have additional properties"};e===null?e=[f]:e.push(f),s++}if(d.id!==void 0){let o=d.id;if(typeof o=="string"){if(!j.test(o)){let f={instancePath:t+"/id",schemaPath:"#/properties/id/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[f]:e.push(f),s++}}else{let f={instancePath:t+"/id",schemaPath:"#/properties/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[f]:e.push(f),s++}}if(d.severity!==void 0){let o=d.severity;if(!(o==="blocking"||o==="non_blocking")){let f={instancePath:t+"/severity",schemaPath:"#/properties/severity/enum",keyword:"enum",params:{allowedValues:K.properties.severity.enum},message:"must be equal to one of the allowed values"};e===null?e=[f]:e.push(f),s++}}if(d.status!==void 0){let o=d.status;if(!(o==="open"||o==="resolved"||o==="deferred")){let f={instancePath:t+"/status",schemaPath:"#/properties/status/enum",keyword:"enum",params:{allowedValues:K.properties.status.enum},message:"must be equal to one of the allowed values"};e===null?e=[f]:e.push(f),s++}}if(d.requirementIds!==void 0){let o=d.requirementIds;if(Array.isArray(o)){if(o.length<0){let p={instancePath:t+"/requirementIds",schemaPath:"#/properties/requirementIds/minItems",keyword:"minItems",params:{limit:0},message:"must NOT have fewer than 0 items"};e===null?e=[p]:e.push(p),s++}let f=o.length;for(let p=0;p<f;p++){let l=o[p];if(typeof l=="string"){if(!j.test(l)){let r={instancePath:t+"/requirementIds/"+p,schemaPath:"#/properties/requirementIds/items/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[r]:e.push(r),s++}}else{let r={instancePath:t+"/requirementIds/"+p,schemaPath:"#/properties/requirementIds/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[r]:e.push(r),s++}}let h=o.length,c;if(h>1){let p={};for(;h--;){let l=o[h];if(typeof l=="string"){if(typeof p[l]=="number"){c=p[l];let r={instancePath:t+"/requirementIds",schemaPath:"#/properties/requirementIds/uniqueItems",keyword:"uniqueItems",params:{i:h,j:c},message:"must NOT have duplicate items (items ## "+c+" and "+h+" are identical)"};e===null?e=[r]:e.push(r),s++;break}p[l]=h}}}}else{let f={instancePath:t+"/requirementIds",schemaPath:"#/properties/requirementIds/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[f]:e.push(f),s++}}if(d.testIds!==void 0){let o=d.testIds;if(Array.isArray(o)){if(o.length<0){let p={instancePath:t+"/testIds",schemaPath:"#/properties/testIds/minItems",keyword:"minItems",params:{limit:0},message:"must NOT have fewer than 0 items"};e===null?e=[p]:e.push(p),s++}let f=o.length;for(let p=0;p<f;p++){let l=o[p];if(typeof l=="string"){if(!G.test(l)){let r={instancePath:t+"/testIds/"+p,schemaPath:"#/properties/testIds/items/pattern",keyword:"pattern",params:{pattern:"^([A-Za-z0-9][A-Za-z0-9_-]{0,95}:)?[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^([A-Za-z0-9][A-Za-z0-9_-]{0,95}:)?[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[r]:e.push(r),s++}}else{let r={instancePath:t+"/testIds/"+p,schemaPath:"#/properties/testIds/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[r]:e.push(r),s++}}let h=o.length,c;if(h>1){let p={};for(;h--;){let l=o[h];if(typeof l=="string"){if(typeof p[l]=="number"){c=p[l];let r={instancePath:t+"/testIds",schemaPath:"#/properties/testIds/uniqueItems",keyword:"uniqueItems",params:{i:h,j:c},message:"must NOT have duplicate items (items ## "+c+" and "+h+" are identical)"};e===null?e=[r]:e.push(r),s++;break}p[l]=h}}}}else{let f={instancePath:t+"/testIds",schemaPath:"#/properties/testIds/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[f]:e.push(f),s++}}if(d.question!==void 0){let o=d.question;if(typeof o=="string"){if(A(o)<1){let f={instancePath:t+"/question",schemaPath:"#/properties/question/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[f]:e.push(f),s++}}else{let f={instancePath:t+"/question",schemaPath:"#/properties/question/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[f]:e.push(f),s++}}if(d.consequence!==void 0){let o=d.consequence;if(typeof o=="string"){if(A(o)<1){let f={instancePath:t+"/consequence",schemaPath:"#/properties/consequence/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[f]:e.push(f),s++}}else{let f={instancePath:t+"/consequence",schemaPath:"#/properties/consequence/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[f]:e.push(f),s++}}if(d.decisionId!==void 0){let o=d.decisionId,f=s,h=!1,c=s;if(typeof o=="string"){if(!j.test(o)){let p={instancePath:t+"/decisionId",schemaPath:"#/properties/decisionId/anyOf/0/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[p]:e.push(p),s++}}else{let p={instancePath:t+"/decisionId",schemaPath:"#/properties/decisionId/anyOf/0/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[p]:e.push(p),s++}var q=c===s;if(h=h||q,!h){let p=s;if(o!==null){let r={instancePath:t+"/decisionId",schemaPath:"#/properties/decisionId/anyOf/1/type",keyword:"type",params:{type:"null"},message:"must be null"};e===null?e=[r]:e.push(r),s++}var q=p===s;h=h||q}if(h)s=f,e!==null&&(f?e.length=f:e=null);else{let p={instancePath:t+"/decisionId",schemaPath:"#/properties/decisionId/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};e===null?e=[p]:e.push(p),s++}}}else{let o={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[o]:e.push(o),s++}return Pe.errors=e,s===0}var ts=we,Ce={$schema:"http://json-schema.org/draft-07/schema#",$id:"plan-candidate.schema.json",type:"object",properties:{requirements:{$ref:"plan.schema.json#/properties/requirements"},tests:{type:"array",items:{type:"object",properties:{id:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},title:{type:"string",minLength:1,maxLength:200},requirementIds:{type:"array",items:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},minItems:1,uniqueItems:!0},capability:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},operations:{type:"array",items:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},minItems:1,uniqueItems:!0},dependsOn:{type:"array",items:{type:"string",pattern:"^([A-Za-z0-9][A-Za-z0-9_-]{0,95}:)?[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},minItems:0,uniqueItems:!0},preconditions:{type:"array",items:{type:"string",minLength:1},minItems:0,uniqueItems:!0},action:{type:"string",minLength:1},assertions:{type:"array",items:{$ref:"plan.schema.json#/definitions/assertion"},minItems:0,uniqueItems:!0}},required:["id","title","requirementIds","capability","operations","dependsOn","preconditions","action","assertions"],additionalProperties:!1},minItems:0,uniqueItems:!0},gaps:{type:"array",items:{$ref:"gap.schema.json"},minItems:0,uniqueItems:!0}},required:["tests","gaps"],additionalProperties:!1};var ke={type:"object",properties:{id:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},check:{type:"string",minLength:1},checkKind:{enum:["deterministic","agent_observation"]}},required:["id","check","checkKind"],additionalProperties:!1},$=pe().default;function we(d,{instancePath:t="",parentData:O,parentDataProperty:z,rootData:Z=d}={}){let e=null,s=0;if(d&&typeof d=="object"&&!Array.isArray(d)){if(d.tests===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"tests"},message:"must have required property 'tests'"};e===null?e=[o]:e.push(o),s++}if(d.gaps===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"gaps"},message:"must have required property 'gaps'"};e===null?e=[o]:e.push(o),s++}for(let o in d)if(!(o==="requirements"||o==="tests"||o==="gaps")){let f={instancePath:t,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:o},message:"must NOT have additional properties"};e===null?e=[f]:e.push(f),s++}if(d.requirements!==void 0){let o=d.requirements;if(Array.isArray(o)){if(o.length<1){let p={instancePath:t+"/requirements",schemaPath:"plan.schema.json#/properties/requirements/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"};e===null?e=[p]:e.push(p),s++}let f=o.length;for(let p=0;p<f;p++){let l=o[p];if(l&&typeof l=="object"&&!Array.isArray(l)){if(l.id===void 0){let r={instancePath:t+"/requirements/"+p,schemaPath:"plan.schema.json#/properties/requirements/items/required",keyword:"required",params:{missingProperty:"id"},message:"must have required property 'id'"};e===null?e=[r]:e.push(r),s++}if(l.text===void 0){let r={instancePath:t+"/requirements/"+p,schemaPath:"plan.schema.json#/properties/requirements/items/required",keyword:"required",params:{missingProperty:"text"},message:"must have required property 'text'"};e===null?e=[r]:e.push(r),s++}if(l.source===void 0){let r={instancePath:t+"/requirements/"+p,schemaPath:"plan.schema.json#/properties/requirements/items/required",keyword:"required",params:{missingProperty:"source"},message:"must have required property 'source'"};e===null?e=[r]:e.push(r),s++}for(let r in l)if(!(r==="id"||r==="text"||r==="source")){let i={instancePath:t+"/requirements/"+p,schemaPath:"plan.schema.json#/properties/requirements/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:r},message:"must NOT have additional properties"};e===null?e=[i]:e.push(i),s++}if(l.id!==void 0){let r=l.id;if(typeof r=="string"){if(!j.test(r)){let i={instancePath:t+"/requirements/"+p+"/id",schemaPath:"plan.schema.json#/properties/requirements/items/properties/id/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[i]:e.push(i),s++}}else{let i={instancePath:t+"/requirements/"+p+"/id",schemaPath:"plan.schema.json#/properties/requirements/items/properties/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}}if(l.text!==void 0){let r=l.text;if(typeof r=="string"){if(A(r)<1){let i={instancePath:t+"/requirements/"+p+"/text",schemaPath:"plan.schema.json#/properties/requirements/items/properties/text/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[i]:e.push(i),s++}}else{let i={instancePath:t+"/requirements/"+p+"/text",schemaPath:"plan.schema.json#/properties/requirements/items/properties/text/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}}if(l.source!==void 0){let r=l.source;if(typeof r=="string"){if(A(r)<1){let i={instancePath:t+"/requirements/"+p+"/source",schemaPath:"plan.schema.json#/properties/requirements/items/properties/source/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[i]:e.push(i),s++}}else{let i={instancePath:t+"/requirements/"+p+"/source",schemaPath:"plan.schema.json#/properties/requirements/items/properties/source/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}}}else{let r={instancePath:t+"/requirements/"+p,schemaPath:"plan.schema.json#/properties/requirements/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[r]:e.push(r),s++}}let h=o.length,c;if(h>1){e:for(;h--;)for(c=h;c--;)if($(o[h],o[c])){let p={instancePath:t+"/requirements",schemaPath:"plan.schema.json#/properties/requirements/uniqueItems",keyword:"uniqueItems",params:{i:h,j:c},message:"must NOT have duplicate items (items ## "+c+" and "+h+" are identical)"};e===null?e=[p]:e.push(p),s++;break e}}}else{let f={instancePath:t+"/requirements",schemaPath:"plan.schema.json#/properties/requirements/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[f]:e.push(f),s++}}if(d.tests!==void 0){let o=d.tests;if(Array.isArray(o)){if(o.length<0){let p={instancePath:t+"/tests",schemaPath:"#/properties/tests/minItems",keyword:"minItems",params:{limit:0},message:"must NOT have fewer than 0 items"};e===null?e=[p]:e.push(p),s++}let f=o.length;for(let p=0;p<f;p++){let l=o[p];if(l&&typeof l=="object"&&!Array.isArray(l)){if(l.id===void 0){let r={instancePath:t+"/tests/"+p,schemaPath:"#/properties/tests/items/required",keyword:"required",params:{missingProperty:"id"},message:"must have required property 'id'"};e===null?e=[r]:e.push(r),s++}if(l.title===void 0){let r={instancePath:t+"/tests/"+p,schemaPath:"#/properties/tests/items/required",keyword:"required",params:{missingProperty:"title"},message:"must have required property 'title'"};e===null?e=[r]:e.push(r),s++}if(l.requirementIds===void 0){let r={instancePath:t+"/tests/"+p,schemaPath:"#/properties/tests/items/required",keyword:"required",params:{missingProperty:"requirementIds"},message:"must have required property 'requirementIds'"};e===null?e=[r]:e.push(r),s++}if(l.capability===void 0){let r={instancePath:t+"/tests/"+p,schemaPath:"#/properties/tests/items/required",keyword:"required",params:{missingProperty:"capability"},message:"must have required property 'capability'"};e===null?e=[r]:e.push(r),s++}if(l.operations===void 0){let r={instancePath:t+"/tests/"+p,schemaPath:"#/properties/tests/items/required",keyword:"required",params:{missingProperty:"operations"},message:"must have required property 'operations'"};e===null?e=[r]:e.push(r),s++}if(l.dependsOn===void 0){let r={instancePath:t+"/tests/"+p,schemaPath:"#/properties/tests/items/required",keyword:"required",params:{missingProperty:"dependsOn"},message:"must have required property 'dependsOn'"};e===null?e=[r]:e.push(r),s++}if(l.preconditions===void 0){let r={instancePath:t+"/tests/"+p,schemaPath:"#/properties/tests/items/required",keyword:"required",params:{missingProperty:"preconditions"},message:"must have required property 'preconditions'"};e===null?e=[r]:e.push(r),s++}if(l.action===void 0){let r={instancePath:t+"/tests/"+p,schemaPath:"#/properties/tests/items/required",keyword:"required",params:{missingProperty:"action"},message:"must have required property 'action'"};e===null?e=[r]:e.push(r),s++}if(l.assertions===void 0){let r={instancePath:t+"/tests/"+p,schemaPath:"#/properties/tests/items/required",keyword:"required",params:{missingProperty:"assertions"},message:"must have required property 'assertions'"};e===null?e=[r]:e.push(r),s++}for(let r in l)if(!E.call(Ce.properties.tests.items.properties,r)){let i={instancePath:t+"/tests/"+p,schemaPath:"#/properties/tests/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:r},message:"must NOT have additional properties"};e===null?e=[i]:e.push(i),s++}if(l.id!==void 0){let r=l.id;if(typeof r=="string"){if(!j.test(r)){let i={instancePath:t+"/tests/"+p+"/id",schemaPath:"#/properties/tests/items/properties/id/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[i]:e.push(i),s++}}else{let i={instancePath:t+"/tests/"+p+"/id",schemaPath:"#/properties/tests/items/properties/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}}if(l.title!==void 0){let r=l.title;if(typeof r=="string"){if(A(r)>200){let i={instancePath:t+"/tests/"+p+"/title",schemaPath:"#/properties/tests/items/properties/title/maxLength",keyword:"maxLength",params:{limit:200},message:"must NOT have more than 200 characters"};e===null?e=[i]:e.push(i),s++}if(A(r)<1){let i={instancePath:t+"/tests/"+p+"/title",schemaPath:"#/properties/tests/items/properties/title/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[i]:e.push(i),s++}}else{let i={instancePath:t+"/tests/"+p+"/title",schemaPath:"#/properties/tests/items/properties/title/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}}if(l.requirementIds!==void 0){let r=l.requirementIds;if(Array.isArray(r)){if(r.length<1){let m={instancePath:t+"/tests/"+p+"/requirementIds",schemaPath:"#/properties/tests/items/properties/requirementIds/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"};e===null?e=[m]:e.push(m),s++}let i=r.length;for(let m=0;m<i;m++){let y=r[m];if(typeof y=="string"){if(!j.test(y)){let n={instancePath:t+"/tests/"+p+"/requirementIds/"+m,schemaPath:"#/properties/tests/items/properties/requirementIds/items/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[n]:e.push(n),s++}}else{let n={instancePath:t+"/tests/"+p+"/requirementIds/"+m,schemaPath:"#/properties/tests/items/properties/requirementIds/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}}let a=r.length,g;if(a>1){let m={};for(;a--;){let y=r[a];if(typeof y=="string"){if(typeof m[y]=="number"){g=m[y];let n={instancePath:t+"/tests/"+p+"/requirementIds",schemaPath:"#/properties/tests/items/properties/requirementIds/uniqueItems",keyword:"uniqueItems",params:{i:a,j:g},message:"must NOT have duplicate items (items ## "+g+" and "+a+" are identical)"};e===null?e=[n]:e.push(n),s++;break}m[y]=a}}}}else{let i={instancePath:t+"/tests/"+p+"/requirementIds",schemaPath:"#/properties/tests/items/properties/requirementIds/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[i]:e.push(i),s++}}if(l.capability!==void 0){let r=l.capability;if(typeof r=="string"){if(!j.test(r)){let i={instancePath:t+"/tests/"+p+"/capability",schemaPath:"#/properties/tests/items/properties/capability/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[i]:e.push(i),s++}}else{let i={instancePath:t+"/tests/"+p+"/capability",schemaPath:"#/properties/tests/items/properties/capability/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}}if(l.operations!==void 0){let r=l.operations;if(Array.isArray(r)){if(r.length<1){let m={instancePath:t+"/tests/"+p+"/operations",schemaPath:"#/properties/tests/items/properties/operations/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"};e===null?e=[m]:e.push(m),s++}let i=r.length;for(let m=0;m<i;m++){let y=r[m];if(typeof y=="string"){if(!j.test(y)){let n={instancePath:t+"/tests/"+p+"/operations/"+m,schemaPath:"#/properties/tests/items/properties/operations/items/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[n]:e.push(n),s++}}else{let n={instancePath:t+"/tests/"+p+"/operations/"+m,schemaPath:"#/properties/tests/items/properties/operations/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}}let a=r.length,g;if(a>1){let m={};for(;a--;){let y=r[a];if(typeof y=="string"){if(typeof m[y]=="number"){g=m[y];let n={instancePath:t+"/tests/"+p+"/operations",schemaPath:"#/properties/tests/items/properties/operations/uniqueItems",keyword:"uniqueItems",params:{i:a,j:g},message:"must NOT have duplicate items (items ## "+g+" and "+a+" are identical)"};e===null?e=[n]:e.push(n),s++;break}m[y]=a}}}}else{let i={instancePath:t+"/tests/"+p+"/operations",schemaPath:"#/properties/tests/items/properties/operations/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[i]:e.push(i),s++}}if(l.dependsOn!==void 0){let r=l.dependsOn;if(Array.isArray(r)){if(r.length<0){let m={instancePath:t+"/tests/"+p+"/dependsOn",schemaPath:"#/properties/tests/items/properties/dependsOn/minItems",keyword:"minItems",params:{limit:0},message:"must NOT have fewer than 0 items"};e===null?e=[m]:e.push(m),s++}let i=r.length;for(let m=0;m<i;m++){let y=r[m];if(typeof y=="string"){if(!G.test(y)){let n={instancePath:t+"/tests/"+p+"/dependsOn/"+m,schemaPath:"#/properties/tests/items/properties/dependsOn/items/pattern",keyword:"pattern",params:{pattern:"^([A-Za-z0-9][A-Za-z0-9_-]{0,95}:)?[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^([A-Za-z0-9][A-Za-z0-9_-]{0,95}:)?[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[n]:e.push(n),s++}}else{let n={instancePath:t+"/tests/"+p+"/dependsOn/"+m,schemaPath:"#/properties/tests/items/properties/dependsOn/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}}let a=r.length,g;if(a>1){let m={};for(;a--;){let y=r[a];if(typeof y=="string"){if(typeof m[y]=="number"){g=m[y];let n={instancePath:t+"/tests/"+p+"/dependsOn",schemaPath:"#/properties/tests/items/properties/dependsOn/uniqueItems",keyword:"uniqueItems",params:{i:a,j:g},message:"must NOT have duplicate items (items ## "+g+" and "+a+" are identical)"};e===null?e=[n]:e.push(n),s++;break}m[y]=a}}}}else{let i={instancePath:t+"/tests/"+p+"/dependsOn",schemaPath:"#/properties/tests/items/properties/dependsOn/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[i]:e.push(i),s++}}if(l.preconditions!==void 0){let r=l.preconditions;if(Array.isArray(r)){if(r.length<0){let m={instancePath:t+"/tests/"+p+"/preconditions",schemaPath:"#/properties/tests/items/properties/preconditions/minItems",keyword:"minItems",params:{limit:0},message:"must NOT have fewer than 0 items"};e===null?e=[m]:e.push(m),s++}let i=r.length;for(let m=0;m<i;m++){let y=r[m];if(typeof y=="string"){if(A(y)<1){let n={instancePath:t+"/tests/"+p+"/preconditions/"+m,schemaPath:"#/properties/tests/items/properties/preconditions/items/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[n]:e.push(n),s++}}else{let n={instancePath:t+"/tests/"+p+"/preconditions/"+m,schemaPath:"#/properties/tests/items/properties/preconditions/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}}let a=r.length,g;if(a>1){let m={};for(;a--;){let y=r[a];if(typeof y=="string"){if(typeof m[y]=="number"){g=m[y];let n={instancePath:t+"/tests/"+p+"/preconditions",schemaPath:"#/properties/tests/items/properties/preconditions/uniqueItems",keyword:"uniqueItems",params:{i:a,j:g},message:"must NOT have duplicate items (items ## "+g+" and "+a+" are identical)"};e===null?e=[n]:e.push(n),s++;break}m[y]=a}}}}else{let i={instancePath:t+"/tests/"+p+"/preconditions",schemaPath:"#/properties/tests/items/properties/preconditions/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[i]:e.push(i),s++}}if(l.action!==void 0){let r=l.action;if(typeof r=="string"){if(A(r)<1){let i={instancePath:t+"/tests/"+p+"/action",schemaPath:"#/properties/tests/items/properties/action/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[i]:e.push(i),s++}}else{let i={instancePath:t+"/tests/"+p+"/action",schemaPath:"#/properties/tests/items/properties/action/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}}if(l.assertions!==void 0){let r=l.assertions;if(Array.isArray(r)){if(r.length<0){let m={instancePath:t+"/tests/"+p+"/assertions",schemaPath:"#/properties/tests/items/properties/assertions/minItems",keyword:"minItems",params:{limit:0},message:"must NOT have fewer than 0 items"};e===null?e=[m]:e.push(m),s++}let i=r.length;for(let m=0;m<i;m++){let y=r[m];if(y&&typeof y=="object"&&!Array.isArray(y)){if(y.id===void 0){let n={instancePath:t+"/tests/"+p+"/assertions/"+m,schemaPath:"plan.schema.json#/definitions/assertion/required",keyword:"required",params:{missingProperty:"id"},message:"must have required property 'id'"};e===null?e=[n]:e.push(n),s++}if(y.check===void 0){let n={instancePath:t+"/tests/"+p+"/assertions/"+m,schemaPath:"plan.schema.json#/definitions/assertion/required",keyword:"required",params:{missingProperty:"check"},message:"must have required property 'check'"};e===null?e=[n]:e.push(n),s++}if(y.checkKind===void 0){let n={instancePath:t+"/tests/"+p+"/assertions/"+m,schemaPath:"plan.schema.json#/definitions/assertion/required",keyword:"required",params:{missingProperty:"checkKind"},message:"must have required property 'checkKind'"};e===null?e=[n]:e.push(n),s++}for(let n in y)if(!(n==="id"||n==="check"||n==="checkKind")){let u={instancePath:t+"/tests/"+p+"/assertions/"+m,schemaPath:"plan.schema.json#/definitions/assertion/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:n},message:"must NOT have additional properties"};e===null?e=[u]:e.push(u),s++}if(y.id!==void 0){let n=y.id;if(typeof n=="string"){if(!j.test(n)){let u={instancePath:t+"/tests/"+p+"/assertions/"+m+"/id",schemaPath:"plan.schema.json#/definitions/assertion/properties/id/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[u]:e.push(u),s++}}else{let u={instancePath:t+"/tests/"+p+"/assertions/"+m+"/id",schemaPath:"plan.schema.json#/definitions/assertion/properties/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[u]:e.push(u),s++}}if(y.check!==void 0){let n=y.check;if(typeof n=="string"){if(A(n)<1){let u={instancePath:t+"/tests/"+p+"/assertions/"+m+"/check",schemaPath:"plan.schema.json#/definitions/assertion/properties/check/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[u]:e.push(u),s++}}else{let u={instancePath:t+"/tests/"+p+"/assertions/"+m+"/check",schemaPath:"plan.schema.json#/definitions/assertion/properties/check/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[u]:e.push(u),s++}}if(y.checkKind!==void 0){let n=y.checkKind;if(!(n==="deterministic"||n==="agent_observation")){let u={instancePath:t+"/tests/"+p+"/assertions/"+m+"/checkKind",schemaPath:"plan.schema.json#/definitions/assertion/properties/checkKind/enum",keyword:"enum",params:{allowedValues:ke.properties.checkKind.enum},message:"must be equal to one of the allowed values"};e===null?e=[u]:e.push(u),s++}}}else{let n={instancePath:t+"/tests/"+p+"/assertions/"+m,schemaPath:"plan.schema.json#/definitions/assertion/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[n]:e.push(n),s++}}let a=r.length,g;if(a>1){e:for(;a--;)for(g=a;g--;)if($(r[a],r[g])){let m={instancePath:t+"/tests/"+p+"/assertions",schemaPath:"#/properties/tests/items/properties/assertions/uniqueItems",keyword:"uniqueItems",params:{i:a,j:g},message:"must NOT have duplicate items (items ## "+g+" and "+a+" are identical)"};e===null?e=[m]:e.push(m),s++;break e}}}else{let i={instancePath:t+"/tests/"+p+"/assertions",schemaPath:"#/properties/tests/items/properties/assertions/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[i]:e.push(i),s++}}}else{let r={instancePath:t+"/tests/"+p,schemaPath:"#/properties/tests/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[r]:e.push(r),s++}}let h=o.length,c;if(h>1){e:for(;h--;)for(c=h;c--;)if($(o[h],o[c])){let p={instancePath:t+"/tests",schemaPath:"#/properties/tests/uniqueItems",keyword:"uniqueItems",params:{i:h,j:c},message:"must NOT have duplicate items (items ## "+c+" and "+h+" are identical)"};e===null?e=[p]:e.push(p),s++;break e}}}else{let f={instancePath:t+"/tests",schemaPath:"#/properties/tests/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[f]:e.push(f),s++}}if(d.gaps!==void 0){let o=d.gaps;if(Array.isArray(o)){if(o.length<0){let p={instancePath:t+"/gaps",schemaPath:"#/properties/gaps/minItems",keyword:"minItems",params:{limit:0},message:"must NOT have fewer than 0 items"};e===null?e=[p]:e.push(p),s++}let f=o.length;for(let p=0;p<f;p++){let l=o[p];if(l&&typeof l=="object"&&!Array.isArray(l)){if(l.id===void 0){let r={instancePath:t+"/gaps/"+p,schemaPath:"gap.schema.json/required",keyword:"required",params:{missingProperty:"id"},message:"must have required property 'id'"};e===null?e=[r]:e.push(r),s++}if(l.severity===void 0){let r={instancePath:t+"/gaps/"+p,schemaPath:"gap.schema.json/required",keyword:"required",params:{missingProperty:"severity"},message:"must have required property 'severity'"};e===null?e=[r]:e.push(r),s++}if(l.status===void 0){let r={instancePath:t+"/gaps/"+p,schemaPath:"gap.schema.json/required",keyword:"required",params:{missingProperty:"status"},message:"must have required property 'status'"};e===null?e=[r]:e.push(r),s++}if(l.requirementIds===void 0){let r={instancePath:t+"/gaps/"+p,schemaPath:"gap.schema.json/required",keyword:"required",params:{missingProperty:"requirementIds"},message:"must have required property 'requirementIds'"};e===null?e=[r]:e.push(r),s++}if(l.testIds===void 0){let r={instancePath:t+"/gaps/"+p,schemaPath:"gap.schema.json/required",keyword:"required",params:{missingProperty:"testIds"},message:"must have required property 'testIds'"};e===null?e=[r]:e.push(r),s++}if(l.question===void 0){let r={instancePath:t+"/gaps/"+p,schemaPath:"gap.schema.json/required",keyword:"required",params:{missingProperty:"question"},message:"must have required property 'question'"};e===null?e=[r]:e.push(r),s++}if(l.consequence===void 0){let r={instancePath:t+"/gaps/"+p,schemaPath:"gap.schema.json/required",keyword:"required",params:{missingProperty:"consequence"},message:"must have required property 'consequence'"};e===null?e=[r]:e.push(r),s++}if(l.decisionId===void 0){let r={instancePath:t+"/gaps/"+p,schemaPath:"gap.schema.json/required",keyword:"required",params:{missingProperty:"decisionId"},message:"must have required property 'decisionId'"};e===null?e=[r]:e.push(r),s++}for(let r in l)if(!(r==="id"||r==="severity"||r==="status"||r==="requirementIds"||r==="testIds"||r==="question"||r==="consequence"||r==="decisionId")){let i={instancePath:t+"/gaps/"+p,schemaPath:"gap.schema.json/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:r},message:"must NOT have additional properties"};e===null?e=[i]:e.push(i),s++}if(l.id!==void 0){let r=l.id;if(typeof r=="string"){if(!j.test(r)){let i={instancePath:t+"/gaps/"+p+"/id",schemaPath:"gap.schema.json/properties/id/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[i]:e.push(i),s++}}else{let i={instancePath:t+"/gaps/"+p+"/id",schemaPath:"gap.schema.json/properties/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}}if(l.severity!==void 0){let r=l.severity;if(!(r==="blocking"||r==="non_blocking")){let i={instancePath:t+"/gaps/"+p+"/severity",schemaPath:"gap.schema.json/properties/severity/enum",keyword:"enum",params:{allowedValues:K.properties.severity.enum},message:"must be equal to one of the allowed values"};e===null?e=[i]:e.push(i),s++}}if(l.status!==void 0){let r=l.status;if(!(r==="open"||r==="resolved"||r==="deferred")){let i={instancePath:t+"/gaps/"+p+"/status",schemaPath:"gap.schema.json/properties/status/enum",keyword:"enum",params:{allowedValues:K.properties.status.enum},message:"must be equal to one of the allowed values"};e===null?e=[i]:e.push(i),s++}}if(l.requirementIds!==void 0){let r=l.requirementIds;if(Array.isArray(r)){if(r.length<0){let m={instancePath:t+"/gaps/"+p+"/requirementIds",schemaPath:"gap.schema.json/properties/requirementIds/minItems",keyword:"minItems",params:{limit:0},message:"must NOT have fewer than 0 items"};e===null?e=[m]:e.push(m),s++}let i=r.length;for(let m=0;m<i;m++){let y=r[m];if(typeof y=="string"){if(!j.test(y)){let n={instancePath:t+"/gaps/"+p+"/requirementIds/"+m,schemaPath:"gap.schema.json/properties/requirementIds/items/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[n]:e.push(n),s++}}else{let n={instancePath:t+"/gaps/"+p+"/requirementIds/"+m,schemaPath:"gap.schema.json/properties/requirementIds/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}}let a=r.length,g;if(a>1){let m={};for(;a--;){let y=r[a];if(typeof y=="string"){if(typeof m[y]=="number"){g=m[y];let n={instancePath:t+"/gaps/"+p+"/requirementIds",schemaPath:"gap.schema.json/properties/requirementIds/uniqueItems",keyword:"uniqueItems",params:{i:a,j:g},message:"must NOT have duplicate items (items ## "+g+" and "+a+" are identical)"};e===null?e=[n]:e.push(n),s++;break}m[y]=a}}}}else{let i={instancePath:t+"/gaps/"+p+"/requirementIds",schemaPath:"gap.schema.json/properties/requirementIds/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[i]:e.push(i),s++}}if(l.testIds!==void 0){let r=l.testIds;if(Array.isArray(r)){if(r.length<0){let m={instancePath:t+"/gaps/"+p+"/testIds",schemaPath:"gap.schema.json/properties/testIds/minItems",keyword:"minItems",params:{limit:0},message:"must NOT have fewer than 0 items"};e===null?e=[m]:e.push(m),s++}let i=r.length;for(let m=0;m<i;m++){let y=r[m];if(typeof y=="string"){if(!G.test(y)){let n={instancePath:t+"/gaps/"+p+"/testIds/"+m,schemaPath:"gap.schema.json/properties/testIds/items/pattern",keyword:"pattern",params:{pattern:"^([A-Za-z0-9][A-Za-z0-9_-]{0,95}:)?[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^([A-Za-z0-9][A-Za-z0-9_-]{0,95}:)?[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[n]:e.push(n),s++}}else{let n={instancePath:t+"/gaps/"+p+"/testIds/"+m,schemaPath:"gap.schema.json/properties/testIds/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}}let a=r.length,g;if(a>1){let m={};for(;a--;){let y=r[a];if(typeof y=="string"){if(typeof m[y]=="number"){g=m[y];let n={instancePath:t+"/gaps/"+p+"/testIds",schemaPath:"gap.schema.json/properties/testIds/uniqueItems",keyword:"uniqueItems",params:{i:a,j:g},message:"must NOT have duplicate items (items ## "+g+" and "+a+" are identical)"};e===null?e=[n]:e.push(n),s++;break}m[y]=a}}}}else{let i={instancePath:t+"/gaps/"+p+"/testIds",schemaPath:"gap.schema.json/properties/testIds/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[i]:e.push(i),s++}}if(l.question!==void 0){let r=l.question;if(typeof r=="string"){if(A(r)<1){let i={instancePath:t+"/gaps/"+p+"/question",schemaPath:"gap.schema.json/properties/question/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[i]:e.push(i),s++}}else{let i={instancePath:t+"/gaps/"+p+"/question",schemaPath:"gap.schema.json/properties/question/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}}if(l.consequence!==void 0){let r=l.consequence;if(typeof r=="string"){if(A(r)<1){let i={instancePath:t+"/gaps/"+p+"/consequence",schemaPath:"gap.schema.json/properties/consequence/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[i]:e.push(i),s++}}else{let i={instancePath:t+"/gaps/"+p+"/consequence",schemaPath:"gap.schema.json/properties/consequence/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}}if(l.decisionId!==void 0){let r=l.decisionId,i=s,a=!1,g=s;if(typeof r=="string"){if(!j.test(r)){let m={instancePath:t+"/gaps/"+p+"/decisionId",schemaPath:"gap.schema.json/properties/decisionId/anyOf/0/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[m]:e.push(m),s++}}else{let m={instancePath:t+"/gaps/"+p+"/decisionId",schemaPath:"gap.schema.json/properties/decisionId/anyOf/0/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}var q=g===s;if(a=a||q,!a){let m=s;if(r!==null){let n={instancePath:t+"/gaps/"+p+"/decisionId",schemaPath:"gap.schema.json/properties/decisionId/anyOf/1/type",keyword:"type",params:{type:"null"},message:"must be null"};e===null?e=[n]:e.push(n),s++}var q=m===s;a=a||q}if(a)s=i,e!==null&&(i?e.length=i:e=null);else{let m={instancePath:t+"/gaps/"+p+"/decisionId",schemaPath:"gap.schema.json/properties/decisionId/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};e===null?e=[m]:e.push(m),s++}}}else{let r={instancePath:t+"/gaps/"+p,schemaPath:"gap.schema.json/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[r]:e.push(r),s++}}let h=o.length,c;if(h>1){e:for(;h--;)for(c=h;c--;)if($(o[h],o[c])){let p={instancePath:t+"/gaps",schemaPath:"#/properties/gaps/uniqueItems",keyword:"uniqueItems",params:{i:h,j:c},message:"must NOT have duplicate items (items ## "+c+" and "+h+" are identical)"};e===null?e=[p]:e.push(p),s++;break e}}}else{let f={instancePath:t+"/gaps",schemaPath:"#/properties/gaps/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[f]:e.push(f),s++}}}else{let o={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[o]:e.push(o),s++}return we.errors=e,s===0}var rs=ve,Re={$schema:"http://json-schema.org/draft-07/schema#",$id:"plan-delta.schema.json",type:"object",properties:{tests:{type:"object",propertyNames:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},additionalProperties:{type:"object",properties:{action:{type:"string",minLength:1},preconditions:{type:"array",items:{type:"string",minLength:1},minItems:0,uniqueItems:!0},assertions:{type:"object",propertyNames:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},additionalProperties:{anyOf:[{type:"object",properties:{check:{type:"string",minLength:1},checkKind:{enum:["deterministic","agent_observation"]}},additionalProperties:!1,minProperties:1},{type:"null"}]},minProperties:1}},additionalProperties:!1,minProperties:1}}},required:["tests"],additionalProperties:!1};function ve(d,{instancePath:t="",parentData:O,parentDataProperty:z,rootData:Z=d}={}){let e=null,s=0;if(d&&typeof d=="object"&&!Array.isArray(d)){if(d.tests===void 0){let h={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"tests"},message:"must have required property 'tests'"};e===null?e=[h]:e.push(h),s++}for(let h in d)if(h!=="tests"){let c={instancePath:t,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:h},message:"must NOT have additional properties"};e===null?e=[c]:e.push(c),s++}if(d.tests!==void 0){let h=d.tests;if(h&&typeof h=="object"&&!Array.isArray(h)){for(let c in h){let p=s;if(typeof c=="string"&&!j.test(c)){let l={instancePath:t+"/tests",schemaPath:"#/properties/tests/propertyNames/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"',propertyName:c};e===null?e=[l]:e.push(l),s++}var q=p===s;if(!q){let l={instancePath:t+"/tests",schemaPath:"#/properties/tests/propertyNames",keyword:"propertyNames",params:{propertyName:c},message:"property name must be valid"};e===null?e=[l]:e.push(l),s++}}for(let c in h){let p=h[c];if(p&&typeof p=="object"&&!Array.isArray(p)){if(Object.keys(p).length<1){let l={instancePath:t+"/tests/"+c.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/properties/tests/additionalProperties/minProperties",keyword:"minProperties",params:{limit:1},message:"must NOT have fewer than 1 properties"};e===null?e=[l]:e.push(l),s++}for(let l in p)if(!(l==="action"||l==="preconditions"||l==="assertions")){let r={instancePath:t+"/tests/"+c.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/properties/tests/additionalProperties/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:l},message:"must NOT have additional properties"};e===null?e=[r]:e.push(r),s++}if(p.action!==void 0){let l=p.action;if(typeof l=="string"){if(A(l)<1){let r={instancePath:t+"/tests/"+c.replace(/~/g,"~0").replace(/\//g,"~1")+"/action",schemaPath:"#/properties/tests/additionalProperties/properties/action/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[r]:e.push(r),s++}}else{let r={instancePath:t+"/tests/"+c.replace(/~/g,"~0").replace(/\//g,"~1")+"/action",schemaPath:"#/properties/tests/additionalProperties/properties/action/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[r]:e.push(r),s++}}if(p.preconditions!==void 0){let l=p.preconditions;if(Array.isArray(l)){if(l.length<0){let g={instancePath:t+"/tests/"+c.replace(/~/g,"~0").replace(/\//g,"~1")+"/preconditions",schemaPath:"#/properties/tests/additionalProperties/properties/preconditions/minItems",keyword:"minItems",params:{limit:0},message:"must NOT have fewer than 0 items"};e===null?e=[g]:e.push(g),s++}let r=l.length;for(let g=0;g<r;g++){let m=l[g];if(typeof m=="string"){if(A(m)<1){let y={instancePath:t+"/tests/"+c.replace(/~/g,"~0").replace(/\//g,"~1")+"/preconditions/"+g,schemaPath:"#/properties/tests/additionalProperties/properties/preconditions/items/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[y]:e.push(y),s++}}else{let y={instancePath:t+"/tests/"+c.replace(/~/g,"~0").replace(/\//g,"~1")+"/preconditions/"+g,schemaPath:"#/properties/tests/additionalProperties/properties/preconditions/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[y]:e.push(y),s++}}let i=l.length,a;if(i>1){let g={};for(;i--;){let m=l[i];if(typeof m=="string"){if(typeof g[m]=="number"){a=g[m];let y={instancePath:t+"/tests/"+c.replace(/~/g,"~0").replace(/\//g,"~1")+"/preconditions",schemaPath:"#/properties/tests/additionalProperties/properties/preconditions/uniqueItems",keyword:"uniqueItems",params:{i,j:a},message:"must NOT have duplicate items (items ## "+a+" and "+i+" are identical)"};e===null?e=[y]:e.push(y),s++;break}g[m]=i}}}}else{let r={instancePath:t+"/tests/"+c.replace(/~/g,"~0").replace(/\//g,"~1")+"/preconditions",schemaPath:"#/properties/tests/additionalProperties/properties/preconditions/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[r]:e.push(r),s++}}if(p.assertions!==void 0){let l=p.assertions;if(l&&typeof l=="object"&&!Array.isArray(l)){if(Object.keys(l).length<1){let r={instancePath:t+"/tests/"+c.replace(/~/g,"~0").replace(/\//g,"~1")+"/assertions",schemaPath:"#/properties/tests/additionalProperties/properties/assertions/minProperties",keyword:"minProperties",params:{limit:1},message:"must NOT have fewer than 1 properties"};e===null?e=[r]:e.push(r),s++}for(let r in l){let i=s;if(typeof r=="string"&&!j.test(r)){let a={instancePath:t+"/tests/"+c.replace(/~/g,"~0").replace(/\//g,"~1")+"/assertions",schemaPath:"#/properties/tests/additionalProperties/properties/assertions/propertyNames/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"',propertyName:r};e===null?e=[a]:e.push(a),s++}var o=i===s;if(!o){let a={instancePath:t+"/tests/"+c.replace(/~/g,"~0").replace(/\//g,"~1")+"/assertions",schemaPath:"#/properties/tests/additionalProperties/properties/assertions/propertyNames",keyword:"propertyNames",params:{propertyName:r},message:"property name must be valid"};e===null?e=[a]:e.push(a),s++}}for(let r in l){let i=l[r],a=s,g=!1,m=s;if(i&&typeof i=="object"&&!Array.isArray(i)){if(Object.keys(i).length<1){let y={instancePath:t+"/tests/"+c.replace(/~/g,"~0").replace(/\//g,"~1")+"/assertions/"+r.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/properties/tests/additionalProperties/properties/assertions/additionalProperties/anyOf/0/minProperties",keyword:"minProperties",params:{limit:1},message:"must NOT have fewer than 1 properties"};e===null?e=[y]:e.push(y),s++}for(let y in i)if(!(y==="check"||y==="checkKind")){let n={instancePath:t+"/tests/"+c.replace(/~/g,"~0").replace(/\//g,"~1")+"/assertions/"+r.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/properties/tests/additionalProperties/properties/assertions/additionalProperties/anyOf/0/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:y},message:"must NOT have additional properties"};e===null?e=[n]:e.push(n),s++}if(i.check!==void 0){let y=i.check;if(typeof y=="string"){if(A(y)<1){let n={instancePath:t+"/tests/"+c.replace(/~/g,"~0").replace(/\//g,"~1")+"/assertions/"+r.replace(/~/g,"~0").replace(/\//g,"~1")+"/check",schemaPath:"#/properties/tests/additionalProperties/properties/assertions/additionalProperties/anyOf/0/properties/check/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[n]:e.push(n),s++}}else{let n={instancePath:t+"/tests/"+c.replace(/~/g,"~0").replace(/\//g,"~1")+"/assertions/"+r.replace(/~/g,"~0").replace(/\//g,"~1")+"/check",schemaPath:"#/properties/tests/additionalProperties/properties/assertions/additionalProperties/anyOf/0/properties/check/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}}if(i.checkKind!==void 0){let y=i.checkKind;if(!(y==="deterministic"||y==="agent_observation")){let n={instancePath:t+"/tests/"+c.replace(/~/g,"~0").replace(/\//g,"~1")+"/assertions/"+r.replace(/~/g,"~0").replace(/\//g,"~1")+"/checkKind",schemaPath:"#/properties/tests/additionalProperties/properties/assertions/additionalProperties/anyOf/0/properties/checkKind/enum",keyword:"enum",params:{allowedValues:Re.properties.tests.additionalProperties.properties.assertions.additionalProperties.anyOf[0].properties.checkKind.enum},message:"must be equal to one of the allowed values"};e===null?e=[n]:e.push(n),s++}}}else{let y={instancePath:t+"/tests/"+c.replace(/~/g,"~0").replace(/\//g,"~1")+"/assertions/"+r.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/properties/tests/additionalProperties/properties/assertions/additionalProperties/anyOf/0/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[y]:e.push(y),s++}var f=m===s;if(g=g||f,!g){let y=s;if(i!==null){let u={instancePath:t+"/tests/"+c.replace(/~/g,"~0").replace(/\//g,"~1")+"/assertions/"+r.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/properties/tests/additionalProperties/properties/assertions/additionalProperties/anyOf/1/type",keyword:"type",params:{type:"null"},message:"must be null"};e===null?e=[u]:e.push(u),s++}var f=y===s;g=g||f}if(g)s=a,e!==null&&(a?e.length=a:e=null);else{let y={instancePath:t+"/tests/"+c.replace(/~/g,"~0").replace(/\//g,"~1")+"/assertions/"+r.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/properties/tests/additionalProperties/properties/assertions/additionalProperties/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};e===null?e=[y]:e.push(y),s++}}}else{let r={instancePath:t+"/tests/"+c.replace(/~/g,"~0").replace(/\//g,"~1")+"/assertions",schemaPath:"#/properties/tests/additionalProperties/properties/assertions/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[r]:e.push(r),s++}}}else{let l={instancePath:t+"/tests/"+c.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/properties/tests/additionalProperties/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[l]:e.push(l),s++}}}else{let c={instancePath:t+"/tests",schemaPath:"#/properties/tests/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[c]:e.push(c),s++}}}else{let h={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[h]:e.push(h),s++}return ve.errors=e,s===0}var is=Ie;var Ue={type:"object",propertyNames:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},additionalProperties:{anyOf:[{type:"object",properties:{check:{type:"string",minLength:1},checkKind:{enum:["deterministic","agent_observation"]}},additionalProperties:!1,minProperties:1},{type:"null"}]},minProperties:1},Be={enum:["blocking","non_blocking"]};function Ie(d,{instancePath:t="",parentData:O,parentDataProperty:z,rootData:Z=d}={}){let e=null,s=0;if(d&&typeof d=="object"&&!Array.isArray(d)){if(Object.keys(d).length<1){let i={instancePath:t,schemaPath:"#/minProperties",keyword:"minProperties",params:{limit:1},message:"must NOT have fewer than 1 properties"};e===null?e=[i]:e.push(i),s++}for(let i in d)if(!(i==="requirements"||i==="tests"||i==="gaps")){let a={instancePath:t,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:i},message:"must NOT have additional properties"};e===null?e=[a]:e.push(a),s++}if(d.requirements!==void 0){let i=d.requirements;if(i&&typeof i=="object"&&!Array.isArray(i)){for(let a in i){let g=s;if(typeof a=="string"&&!j.test(a)){let m={instancePath:t+"/requirements",schemaPath:"#/properties/requirements/propertyNames/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"',propertyName:a};e===null?e=[m]:e.push(m),s++}var q=g===s;if(!q){let m={instancePath:t+"/requirements",schemaPath:"#/properties/requirements/propertyNames",keyword:"propertyNames",params:{propertyName:a},message:"property name must be valid"};e===null?e=[m]:e.push(m),s++}}for(let a in i){let g=i[a],m=s,y=!1,n=s;if(g&&typeof g=="object"&&!Array.isArray(g)){if(Object.keys(g).length<1){let u={instancePath:t+"/requirements/"+a.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/properties/requirements/additionalProperties/anyOf/0/minProperties",keyword:"minProperties",params:{limit:1},message:"must NOT have fewer than 1 properties"};e===null?e=[u]:e.push(u),s++}for(let u in g)if(!(u==="text"||u==="source")){let P={instancePath:t+"/requirements/"+a.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/properties/requirements/additionalProperties/anyOf/0/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:u},message:"must NOT have additional properties"};e===null?e=[P]:e.push(P),s++}if(g.text!==void 0){let u=g.text;if(typeof u=="string"){if(A(u)<1){let P={instancePath:t+"/requirements/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/text",schemaPath:"#/properties/requirements/additionalProperties/anyOf/0/properties/text/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[P]:e.push(P),s++}}else{let P={instancePath:t+"/requirements/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/text",schemaPath:"#/properties/requirements/additionalProperties/anyOf/0/properties/text/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[P]:e.push(P),s++}}if(g.source!==void 0){let u=g.source;if(typeof u=="string"){if(A(u)<1){let P={instancePath:t+"/requirements/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/source",schemaPath:"#/properties/requirements/additionalProperties/anyOf/0/properties/source/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[P]:e.push(P),s++}}else{let P={instancePath:t+"/requirements/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/source",schemaPath:"#/properties/requirements/additionalProperties/anyOf/0/properties/source/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[P]:e.push(P),s++}}}else{let u={instancePath:t+"/requirements/"+a.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/properties/requirements/additionalProperties/anyOf/0/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[u]:e.push(u),s++}var o=n===s;if(y=y||o,!y){let u=s;if(g!==null){let b={instancePath:t+"/requirements/"+a.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/properties/requirements/additionalProperties/anyOf/1/type",keyword:"type",params:{type:"null"},message:"must be null"};e===null?e=[b]:e.push(b),s++}var o=u===s;y=y||o}if(y)s=m,e!==null&&(m?e.length=m:e=null);else{let u={instancePath:t+"/requirements/"+a.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/properties/requirements/additionalProperties/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};e===null?e=[u]:e.push(u),s++}}}else{let a={instancePath:t+"/requirements",schemaPath:"#/properties/requirements/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[a]:e.push(a),s++}}if(d.tests!==void 0){let i=d.tests;if(i&&typeof i=="object"&&!Array.isArray(i)){for(let a in i){let g=s;if(typeof a=="string"&&!j.test(a)){let m={instancePath:t+"/tests",schemaPath:"#/properties/tests/propertyNames/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"',propertyName:a};e===null?e=[m]:e.push(m),s++}var f=g===s;if(!f){let m={instancePath:t+"/tests",schemaPath:"#/properties/tests/propertyNames",keyword:"propertyNames",params:{propertyName:a},message:"property name must be valid"};e===null?e=[m]:e.push(m),s++}}for(let a in i){let g=i[a],m=s,y=!1,n=s;if(g&&typeof g=="object"&&!Array.isArray(g)){if(Object.keys(g).length<1){let u={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/properties/tests/additionalProperties/anyOf/0/minProperties",keyword:"minProperties",params:{limit:1},message:"must NOT have fewer than 1 properties"};e===null?e=[u]:e.push(u),s++}for(let u in g)if(!(u==="title"||u==="requirementIds"||u==="capability"||u==="operations"||u==="dependsOn"||u==="preconditions"||u==="action"||u==="assertions")){let P={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/properties/tests/additionalProperties/anyOf/0/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:u},message:"must NOT have additional properties"};e===null?e=[P]:e.push(P),s++}if(g.title!==void 0){let u=g.title;if(typeof u=="string"){if(A(u)>200){let P={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/title",schemaPath:"plan-candidate.schema.json#/properties/tests/items/properties/title/maxLength",keyword:"maxLength",params:{limit:200},message:"must NOT have more than 200 characters"};e===null?e=[P]:e.push(P),s++}if(A(u)<1){let P={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/title",schemaPath:"plan-candidate.schema.json#/properties/tests/items/properties/title/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[P]:e.push(P),s++}}else{let P={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/title",schemaPath:"plan-candidate.schema.json#/properties/tests/items/properties/title/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[P]:e.push(P),s++}}if(g.requirementIds!==void 0){let u=g.requirementIds;if(Array.isArray(u)){if(u.length<1){let v={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/requirementIds",schemaPath:"plan-candidate.schema.json#/properties/tests/items/properties/requirementIds/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"};e===null?e=[v]:e.push(v),s++}let P=u.length;for(let v=0;v<P;v++){let w=u[v];if(typeof w=="string"){if(!j.test(w)){let I={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/requirementIds/"+v,schemaPath:"plan-candidate.schema.json#/properties/tests/items/properties/requirementIds/items/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[I]:e.push(I),s++}}else{let I={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/requirementIds/"+v,schemaPath:"plan-candidate.schema.json#/properties/tests/items/properties/requirementIds/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[I]:e.push(I),s++}}let b=u.length,k;if(b>1){let v={};for(;b--;){let w=u[b];if(typeof w=="string"){if(typeof v[w]=="number"){k=v[w];let I={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/requirementIds",schemaPath:"plan-candidate.schema.json#/properties/tests/items/properties/requirementIds/uniqueItems",keyword:"uniqueItems",params:{i:b,j:k},message:"must NOT have duplicate items (items ## "+k+" and "+b+" are identical)"};e===null?e=[I]:e.push(I),s++;break}v[w]=b}}}}else{let P={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/requirementIds",schemaPath:"plan-candidate.schema.json#/properties/tests/items/properties/requirementIds/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[P]:e.push(P),s++}}if(g.capability!==void 0){let u=g.capability;if(typeof u=="string"){if(!j.test(u)){let P={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/capability",schemaPath:"plan-candidate.schema.json#/properties/tests/items/properties/capability/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[P]:e.push(P),s++}}else{let P={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/capability",schemaPath:"plan-candidate.schema.json#/properties/tests/items/properties/capability/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[P]:e.push(P),s++}}if(g.operations!==void 0){let u=g.operations;if(Array.isArray(u)){if(u.length<1){let v={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/operations",schemaPath:"plan-candidate.schema.json#/properties/tests/items/properties/operations/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"};e===null?e=[v]:e.push(v),s++}let P=u.length;for(let v=0;v<P;v++){let w=u[v];if(typeof w=="string"){if(!j.test(w)){let I={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/operations/"+v,schemaPath:"plan-candidate.schema.json#/properties/tests/items/properties/operations/items/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[I]:e.push(I),s++}}else{let I={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/operations/"+v,schemaPath:"plan-candidate.schema.json#/properties/tests/items/properties/operations/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[I]:e.push(I),s++}}let b=u.length,k;if(b>1){let v={};for(;b--;){let w=u[b];if(typeof w=="string"){if(typeof v[w]=="number"){k=v[w];let I={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/operations",schemaPath:"plan-candidate.schema.json#/properties/tests/items/properties/operations/uniqueItems",keyword:"uniqueItems",params:{i:b,j:k},message:"must NOT have duplicate items (items ## "+k+" and "+b+" are identical)"};e===null?e=[I]:e.push(I),s++;break}v[w]=b}}}}else{let P={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/operations",schemaPath:"plan-candidate.schema.json#/properties/tests/items/properties/operations/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[P]:e.push(P),s++}}if(g.dependsOn!==void 0){let u=g.dependsOn;if(Array.isArray(u)){if(u.length<0){let v={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/dependsOn",schemaPath:"plan-candidate.schema.json#/properties/tests/items/properties/dependsOn/minItems",keyword:"minItems",params:{limit:0},message:"must NOT have fewer than 0 items"};e===null?e=[v]:e.push(v),s++}let P=u.length;for(let v=0;v<P;v++){let w=u[v];if(typeof w=="string"){if(!G.test(w)){let I={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/dependsOn/"+v,schemaPath:"plan-candidate.schema.json#/properties/tests/items/properties/dependsOn/items/pattern",keyword:"pattern",params:{pattern:"^([A-Za-z0-9][A-Za-z0-9_-]{0,95}:)?[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^([A-Za-z0-9][A-Za-z0-9_-]{0,95}:)?[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[I]:e.push(I),s++}}else{let I={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/dependsOn/"+v,schemaPath:"plan-candidate.schema.json#/properties/tests/items/properties/dependsOn/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[I]:e.push(I),s++}}let b=u.length,k;if(b>1){let v={};for(;b--;){let w=u[b];if(typeof w=="string"){if(typeof v[w]=="number"){k=v[w];let I={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/dependsOn",schemaPath:"plan-candidate.schema.json#/properties/tests/items/properties/dependsOn/uniqueItems",keyword:"uniqueItems",params:{i:b,j:k},message:"must NOT have duplicate items (items ## "+k+" and "+b+" are identical)"};e===null?e=[I]:e.push(I),s++;break}v[w]=b}}}}else{let P={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/dependsOn",schemaPath:"plan-candidate.schema.json#/properties/tests/items/properties/dependsOn/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[P]:e.push(P),s++}}if(g.preconditions!==void 0){let u=g.preconditions;if(Array.isArray(u)){if(u.length<0){let v={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/preconditions",schemaPath:"plan-candidate.schema.json#/properties/tests/items/properties/preconditions/minItems",keyword:"minItems",params:{limit:0},message:"must NOT have fewer than 0 items"};e===null?e=[v]:e.push(v),s++}let P=u.length;for(let v=0;v<P;v++){let w=u[v];if(typeof w=="string"){if(A(w)<1){let I={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/preconditions/"+v,schemaPath:"plan-candidate.schema.json#/properties/tests/items/properties/preconditions/items/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[I]:e.push(I),s++}}else{let I={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/preconditions/"+v,schemaPath:"plan-candidate.schema.json#/properties/tests/items/properties/preconditions/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[I]:e.push(I),s++}}let b=u.length,k;if(b>1){let v={};for(;b--;){let w=u[b];if(typeof w=="string"){if(typeof v[w]=="number"){k=v[w];let I={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/preconditions",schemaPath:"plan-candidate.schema.json#/properties/tests/items/properties/preconditions/uniqueItems",keyword:"uniqueItems",params:{i:b,j:k},message:"must NOT have duplicate items (items ## "+k+" and "+b+" are identical)"};e===null?e=[I]:e.push(I),s++;break}v[w]=b}}}}else{let P={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/preconditions",schemaPath:"plan-candidate.schema.json#/properties/tests/items/properties/preconditions/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[P]:e.push(P),s++}}if(g.action!==void 0){let u=g.action;if(typeof u=="string"){if(A(u)<1){let P={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/action",schemaPath:"plan-candidate.schema.json#/properties/tests/items/properties/action/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[P]:e.push(P),s++}}else{let P={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/action",schemaPath:"plan-candidate.schema.json#/properties/tests/items/properties/action/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[P]:e.push(P),s++}}if(g.assertions!==void 0){let u=g.assertions;if(u&&typeof u=="object"&&!Array.isArray(u)){if(Object.keys(u).length<1){let P={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/assertions",schemaPath:"plan-delta.schema.json#/properties/tests/additionalProperties/properties/assertions/minProperties",keyword:"minProperties",params:{limit:1},message:"must NOT have fewer than 1 properties"};e===null?e=[P]:e.push(P),s++}for(let P in u){let b=s;if(typeof P=="string"&&!j.test(P)){let k={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/assertions",schemaPath:"plan-delta.schema.json#/properties/tests/additionalProperties/properties/assertions/propertyNames/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"',propertyName:P};e===null?e=[k]:e.push(k),s++}var h=b===s;if(!h){let k={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/assertions",schemaPath:"plan-delta.schema.json#/properties/tests/additionalProperties/properties/assertions/propertyNames",keyword:"propertyNames",params:{propertyName:P},message:"property name must be valid"};e===null?e=[k]:e.push(k),s++}}for(let P in u){let b=u[P],k=s,v=!1,w=s;if(b&&typeof b=="object"&&!Array.isArray(b)){if(Object.keys(b).length<1){let I={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/assertions/"+P.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"plan-delta.schema.json#/properties/tests/additionalProperties/properties/assertions/additionalProperties/anyOf/0/minProperties",keyword:"minProperties",params:{limit:1},message:"must NOT have fewer than 1 properties"};e===null?e=[I]:e.push(I),s++}for(let I in b)if(!(I==="check"||I==="checkKind")){let N={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/assertions/"+P.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"plan-delta.schema.json#/properties/tests/additionalProperties/properties/assertions/additionalProperties/anyOf/0/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:I},message:"must NOT have additional properties"};e===null?e=[N]:e.push(N),s++}if(b.check!==void 0){let I=b.check;if(typeof I=="string"){if(A(I)<1){let N={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/assertions/"+P.replace(/~/g,"~0").replace(/\//g,"~1")+"/check",schemaPath:"plan-delta.schema.json#/properties/tests/additionalProperties/properties/assertions/additionalProperties/anyOf/0/properties/check/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[N]:e.push(N),s++}}else{let N={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/assertions/"+P.replace(/~/g,"~0").replace(/\//g,"~1")+"/check",schemaPath:"plan-delta.schema.json#/properties/tests/additionalProperties/properties/assertions/additionalProperties/anyOf/0/properties/check/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[N]:e.push(N),s++}}if(b.checkKind!==void 0){let I=b.checkKind;if(!(I==="deterministic"||I==="agent_observation")){let N={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/assertions/"+P.replace(/~/g,"~0").replace(/\//g,"~1")+"/checkKind",schemaPath:"plan-delta.schema.json#/properties/tests/additionalProperties/properties/assertions/additionalProperties/anyOf/0/properties/checkKind/enum",keyword:"enum",params:{allowedValues:Ue.additionalProperties.anyOf[0].properties.checkKind.enum},message:"must be equal to one of the allowed values"};e===null?e=[N]:e.push(N),s++}}}else{let I={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/assertions/"+P.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"plan-delta.schema.json#/properties/tests/additionalProperties/properties/assertions/additionalProperties/anyOf/0/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[I]:e.push(I),s++}var c=w===s;if(v=v||c,!v){let I=s;if(b!==null){let x={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/assertions/"+P.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"plan-delta.schema.json#/properties/tests/additionalProperties/properties/assertions/additionalProperties/anyOf/1/type",keyword:"type",params:{type:"null"},message:"must be null"};e===null?e=[x]:e.push(x),s++}var c=I===s;v=v||c}if(v)s=k,e!==null&&(k?e.length=k:e=null);else{let I={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/assertions/"+P.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"plan-delta.schema.json#/properties/tests/additionalProperties/properties/assertions/additionalProperties/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};e===null?e=[I]:e.push(I),s++}}}else{let P={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/assertions",schemaPath:"plan-delta.schema.json#/properties/tests/additionalProperties/properties/assertions/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[P]:e.push(P),s++}}}else{let u={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/properties/tests/additionalProperties/anyOf/0/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[u]:e.push(u),s++}var p=n===s;if(y=y||p,!y){let u=s;if(g!==null){let b={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/properties/tests/additionalProperties/anyOf/1/type",keyword:"type",params:{type:"null"},message:"must be null"};e===null?e=[b]:e.push(b),s++}var p=u===s;y=y||p}if(y)s=m,e!==null&&(m?e.length=m:e=null);else{let u={instancePath:t+"/tests/"+a.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/properties/tests/additionalProperties/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};e===null?e=[u]:e.push(u),s++}}}else{let a={instancePath:t+"/tests",schemaPath:"#/properties/tests/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[a]:e.push(a),s++}}if(d.gaps!==void 0){let i=d.gaps;if(i&&typeof i=="object"&&!Array.isArray(i)){for(let a in i){let g=s;if(typeof a=="string"&&!j.test(a)){let m={instancePath:t+"/gaps",schemaPath:"#/properties/gaps/propertyNames/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"',propertyName:a};e===null?e=[m]:e.push(m),s++}var l=g===s;if(!l){let m={instancePath:t+"/gaps",schemaPath:"#/properties/gaps/propertyNames",keyword:"propertyNames",params:{propertyName:a},message:"property name must be valid"};e===null?e=[m]:e.push(m),s++}}for(let a in i){let g=i[a],m=s,y=!1,n=s;if(g&&typeof g=="object"&&!Array.isArray(g)){if(Object.keys(g).length<1){let u={instancePath:t+"/gaps/"+a.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/properties/gaps/additionalProperties/anyOf/0/minProperties",keyword:"minProperties",params:{limit:1},message:"must NOT have fewer than 1 properties"};e===null?e=[u]:e.push(u),s++}for(let u in g)if(!(u==="severity"||u==="requirementIds"||u==="testIds"||u==="question"||u==="consequence")){let P={instancePath:t+"/gaps/"+a.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/properties/gaps/additionalProperties/anyOf/0/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:u},message:"must NOT have additional properties"};e===null?e=[P]:e.push(P),s++}if(g.severity!==void 0){let u=g.severity;if(!(u==="blocking"||u==="non_blocking")){let P={instancePath:t+"/gaps/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/severity",schemaPath:"gap.schema.json#/properties/severity/enum",keyword:"enum",params:{allowedValues:Be.enum},message:"must be equal to one of the allowed values"};e===null?e=[P]:e.push(P),s++}}if(g.requirementIds!==void 0){let u=g.requirementIds;if(Array.isArray(u)){if(u.length<0){let v={instancePath:t+"/gaps/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/requirementIds",schemaPath:"gap.schema.json#/properties/requirementIds/minItems",keyword:"minItems",params:{limit:0},message:"must NOT have fewer than 0 items"};e===null?e=[v]:e.push(v),s++}let P=u.length;for(let v=0;v<P;v++){let w=u[v];if(typeof w=="string"){if(!j.test(w)){let I={instancePath:t+"/gaps/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/requirementIds/"+v,schemaPath:"gap.schema.json#/properties/requirementIds/items/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[I]:e.push(I),s++}}else{let I={instancePath:t+"/gaps/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/requirementIds/"+v,schemaPath:"gap.schema.json#/properties/requirementIds/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[I]:e.push(I),s++}}let b=u.length,k;if(b>1){let v={};for(;b--;){let w=u[b];if(typeof w=="string"){if(typeof v[w]=="number"){k=v[w];let I={instancePath:t+"/gaps/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/requirementIds",schemaPath:"gap.schema.json#/properties/requirementIds/uniqueItems",keyword:"uniqueItems",params:{i:b,j:k},message:"must NOT have duplicate items (items ## "+k+" and "+b+" are identical)"};e===null?e=[I]:e.push(I),s++;break}v[w]=b}}}}else{let P={instancePath:t+"/gaps/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/requirementIds",schemaPath:"gap.schema.json#/properties/requirementIds/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[P]:e.push(P),s++}}if(g.testIds!==void 0){let u=g.testIds;if(Array.isArray(u)){if(u.length<0){let v={instancePath:t+"/gaps/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/testIds",schemaPath:"gap.schema.json#/properties/testIds/minItems",keyword:"minItems",params:{limit:0},message:"must NOT have fewer than 0 items"};e===null?e=[v]:e.push(v),s++}let P=u.length;for(let v=0;v<P;v++){let w=u[v];if(typeof w=="string"){if(!G.test(w)){let I={instancePath:t+"/gaps/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/testIds/"+v,schemaPath:"gap.schema.json#/properties/testIds/items/pattern",keyword:"pattern",params:{pattern:"^([A-Za-z0-9][A-Za-z0-9_-]{0,95}:)?[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^([A-Za-z0-9][A-Za-z0-9_-]{0,95}:)?[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[I]:e.push(I),s++}}else{let I={instancePath:t+"/gaps/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/testIds/"+v,schemaPath:"gap.schema.json#/properties/testIds/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[I]:e.push(I),s++}}let b=u.length,k;if(b>1){let v={};for(;b--;){let w=u[b];if(typeof w=="string"){if(typeof v[w]=="number"){k=v[w];let I={instancePath:t+"/gaps/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/testIds",schemaPath:"gap.schema.json#/properties/testIds/uniqueItems",keyword:"uniqueItems",params:{i:b,j:k},message:"must NOT have duplicate items (items ## "+k+" and "+b+" are identical)"};e===null?e=[I]:e.push(I),s++;break}v[w]=b}}}}else{let P={instancePath:t+"/gaps/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/testIds",schemaPath:"gap.schema.json#/properties/testIds/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[P]:e.push(P),s++}}if(g.question!==void 0){let u=g.question;if(typeof u=="string"){if(A(u)<1){let P={instancePath:t+"/gaps/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/question",schemaPath:"gap.schema.json#/properties/question/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[P]:e.push(P),s++}}else{let P={instancePath:t+"/gaps/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/question",schemaPath:"gap.schema.json#/properties/question/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[P]:e.push(P),s++}}if(g.consequence!==void 0){let u=g.consequence;if(typeof u=="string"){if(A(u)<1){let P={instancePath:t+"/gaps/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/consequence",schemaPath:"gap.schema.json#/properties/consequence/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[P]:e.push(P),s++}}else{let P={instancePath:t+"/gaps/"+a.replace(/~/g,"~0").replace(/\//g,"~1")+"/consequence",schemaPath:"gap.schema.json#/properties/consequence/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[P]:e.push(P),s++}}}else{let u={instancePath:t+"/gaps/"+a.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/properties/gaps/additionalProperties/anyOf/0/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[u]:e.push(u),s++}var r=n===s;if(y=y||r,!y){let u=s;if(g!==null){let b={instancePath:t+"/gaps/"+a.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/properties/gaps/additionalProperties/anyOf/1/type",keyword:"type",params:{type:"null"},message:"must be null"};e===null?e=[b]:e.push(b),s++}var r=u===s;y=y||r}if(y)s=m,e!==null&&(m?e.length=m:e=null);else{let u={instancePath:t+"/gaps/"+a.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/properties/gaps/additionalProperties/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};e===null?e=[u]:e.push(u),s++}}}else{let a={instancePath:t+"/gaps",schemaPath:"#/properties/gaps/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[a]:e.push(a),s++}}}else{let i={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[i]:e.push(i),s++}return Ie.errors=e,s===0}var as=be,Me={$schema:"http://json-schema.org/draft-07/schema#",$id:"plan-request.schema.json",type:"object",properties:{objective:{type:"string",minLength:1},requirements:{type:"array",items:{type:"object",properties:{id:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},text:{type:"string",minLength:1},source:{type:"string",minLength:1}},required:["id","text","source"],additionalProperties:!1},minItems:1,uniqueItems:!0},sourceContext:{type:"array",items:{type:"object",properties:{uri:{type:"string",minLength:1},content:{type:"string",minLength:1}},required:["uri","content"],additionalProperties:!1},minItems:0,uniqueItems:!0},context:{type:"object",properties:{sources:{type:"array",items:{type:"string",minLength:1},minItems:0,uniqueItems:!0},instructions:{type:"string",minLength:1}},required:["sources"],additionalProperties:!1},tools:{type:"array",items:{anyOf:[{type:"string",minLength:1},{type:"object",properties:{name:{type:"string",minLength:1},kind:{enum:["cli","mcp","skill"]},purpose:{type:"string",minLength:1}},required:["name","kind","purpose"],additionalProperties:!1}]},minItems:0,uniqueItems:!0}},required:["objective"],additionalProperties:!1};function be(d,{instancePath:t="",parentData:O,parentDataProperty:z,rootData:Z=d}={}){let e=null,s=0;if(d&&typeof d=="object"&&!Array.isArray(d)){if(d.objective===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"objective"},message:"must have required property 'objective'"};e===null?e=[o]:e.push(o),s++}for(let o in d)if(!(o==="objective"||o==="requirements"||o==="sourceContext"||o==="context"||o==="tools")){let f={instancePath:t,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:o},message:"must NOT have additional properties"};e===null?e=[f]:e.push(f),s++}if(d.objective!==void 0){let o=d.objective;if(typeof o=="string"){if(A(o)<1){let f={instancePath:t+"/objective",schemaPath:"#/properties/objective/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[f]:e.push(f),s++}}else{let f={instancePath:t+"/objective",schemaPath:"#/properties/objective/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[f]:e.push(f),s++}}if(d.requirements!==void 0){let o=d.requirements;if(Array.isArray(o)){if(o.length<1){let p={instancePath:t+"/requirements",schemaPath:"#/properties/requirements/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"};e===null?e=[p]:e.push(p),s++}let f=o.length;for(let p=0;p<f;p++){let l=o[p];if(l&&typeof l=="object"&&!Array.isArray(l)){if(l.id===void 0){let r={instancePath:t+"/requirements/"+p,schemaPath:"#/properties/requirements/items/required",keyword:"required",params:{missingProperty:"id"},message:"must have required property 'id'"};e===null?e=[r]:e.push(r),s++}if(l.text===void 0){let r={instancePath:t+"/requirements/"+p,schemaPath:"#/properties/requirements/items/required",keyword:"required",params:{missingProperty:"text"},message:"must have required property 'text'"};e===null?e=[r]:e.push(r),s++}if(l.source===void 0){let r={instancePath:t+"/requirements/"+p,schemaPath:"#/properties/requirements/items/required",keyword:"required",params:{missingProperty:"source"},message:"must have required property 'source'"};e===null?e=[r]:e.push(r),s++}for(let r in l)if(!(r==="id"||r==="text"||r==="source")){let i={instancePath:t+"/requirements/"+p,schemaPath:"#/properties/requirements/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:r},message:"must NOT have additional properties"};e===null?e=[i]:e.push(i),s++}if(l.id!==void 0){let r=l.id;if(typeof r=="string"){if(!j.test(r)){let i={instancePath:t+"/requirements/"+p+"/id",schemaPath:"#/properties/requirements/items/properties/id/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[i]:e.push(i),s++}}else{let i={instancePath:t+"/requirements/"+p+"/id",schemaPath:"#/properties/requirements/items/properties/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}}if(l.text!==void 0){let r=l.text;if(typeof r=="string"){if(A(r)<1){let i={instancePath:t+"/requirements/"+p+"/text",schemaPath:"#/properties/requirements/items/properties/text/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[i]:e.push(i),s++}}else{let i={instancePath:t+"/requirements/"+p+"/text",schemaPath:"#/properties/requirements/items/properties/text/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}}if(l.source!==void 0){let r=l.source;if(typeof r=="string"){if(A(r)<1){let i={instancePath:t+"/requirements/"+p+"/source",schemaPath:"#/properties/requirements/items/properties/source/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[i]:e.push(i),s++}}else{let i={instancePath:t+"/requirements/"+p+"/source",schemaPath:"#/properties/requirements/items/properties/source/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}}}else{let r={instancePath:t+"/requirements/"+p,schemaPath:"#/properties/requirements/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[r]:e.push(r),s++}}let h=o.length,c;if(h>1){e:for(;h--;)for(c=h;c--;)if($(o[h],o[c])){let p={instancePath:t+"/requirements",schemaPath:"#/properties/requirements/uniqueItems",keyword:"uniqueItems",params:{i:h,j:c},message:"must NOT have duplicate items (items ## "+c+" and "+h+" are identical)"};e===null?e=[p]:e.push(p),s++;break e}}}else{let f={instancePath:t+"/requirements",schemaPath:"#/properties/requirements/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[f]:e.push(f),s++}}if(d.sourceContext!==void 0){let o=d.sourceContext;if(Array.isArray(o)){if(o.length<0){let p={instancePath:t+"/sourceContext",schemaPath:"#/properties/sourceContext/minItems",keyword:"minItems",params:{limit:0},message:"must NOT have fewer than 0 items"};e===null?e=[p]:e.push(p),s++}let f=o.length;for(let p=0;p<f;p++){let l=o[p];if(l&&typeof l=="object"&&!Array.isArray(l)){if(l.uri===void 0){let r={instancePath:t+"/sourceContext/"+p,schemaPath:"#/properties/sourceContext/items/required",keyword:"required",params:{missingProperty:"uri"},message:"must have required property 'uri'"};e===null?e=[r]:e.push(r),s++}if(l.content===void 0){let r={instancePath:t+"/sourceContext/"+p,schemaPath:"#/properties/sourceContext/items/required",keyword:"required",params:{missingProperty:"content"},message:"must have required property 'content'"};e===null?e=[r]:e.push(r),s++}for(let r in l)if(!(r==="uri"||r==="content")){let i={instancePath:t+"/sourceContext/"+p,schemaPath:"#/properties/sourceContext/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:r},message:"must NOT have additional properties"};e===null?e=[i]:e.push(i),s++}if(l.uri!==void 0){let r=l.uri;if(typeof r=="string"){if(A(r)<1){let i={instancePath:t+"/sourceContext/"+p+"/uri",schemaPath:"#/properties/sourceContext/items/properties/uri/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[i]:e.push(i),s++}}else{let i={instancePath:t+"/sourceContext/"+p+"/uri",schemaPath:"#/properties/sourceContext/items/properties/uri/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}}if(l.content!==void 0){let r=l.content;if(typeof r=="string"){if(A(r)<1){let i={instancePath:t+"/sourceContext/"+p+"/content",schemaPath:"#/properties/sourceContext/items/properties/content/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[i]:e.push(i),s++}}else{let i={instancePath:t+"/sourceContext/"+p+"/content",schemaPath:"#/properties/sourceContext/items/properties/content/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}}}else{let r={instancePath:t+"/sourceContext/"+p,schemaPath:"#/properties/sourceContext/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[r]:e.push(r),s++}}let h=o.length,c;if(h>1){e:for(;h--;)for(c=h;c--;)if($(o[h],o[c])){let p={instancePath:t+"/sourceContext",schemaPath:"#/properties/sourceContext/uniqueItems",keyword:"uniqueItems",params:{i:h,j:c},message:"must NOT have duplicate items (items ## "+c+" and "+h+" are identical)"};e===null?e=[p]:e.push(p),s++;break e}}}else{let f={instancePath:t+"/sourceContext",schemaPath:"#/properties/sourceContext/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[f]:e.push(f),s++}}if(d.context!==void 0){let o=d.context;if(o&&typeof o=="object"&&!Array.isArray(o)){if(o.sources===void 0){let f={instancePath:t+"/context",schemaPath:"#/properties/context/required",keyword:"required",params:{missingProperty:"sources"},message:"must have required property 'sources'"};e===null?e=[f]:e.push(f),s++}for(let f in o)if(!(f==="sources"||f==="instructions")){let h={instancePath:t+"/context",schemaPath:"#/properties/context/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:f},message:"must NOT have additional properties"};e===null?e=[h]:e.push(h),s++}if(o.sources!==void 0){let f=o.sources;if(Array.isArray(f)){if(f.length<0){let l={instancePath:t+"/context/sources",schemaPath:"#/properties/context/properties/sources/minItems",keyword:"minItems",params:{limit:0},message:"must NOT have fewer than 0 items"};e===null?e=[l]:e.push(l),s++}let h=f.length;for(let l=0;l<h;l++){let r=f[l];if(typeof r=="string"){if(A(r)<1){let i={instancePath:t+"/context/sources/"+l,schemaPath:"#/properties/context/properties/sources/items/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[i]:e.push(i),s++}}else{let i={instancePath:t+"/context/sources/"+l,schemaPath:"#/properties/context/properties/sources/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}}let c=f.length,p;if(c>1){let l={};for(;c--;){let r=f[c];if(typeof r=="string"){if(typeof l[r]=="number"){p=l[r];let i={instancePath:t+"/context/sources",schemaPath:"#/properties/context/properties/sources/uniqueItems",keyword:"uniqueItems",params:{i:c,j:p},message:"must NOT have duplicate items (items ## "+p+" and "+c+" are identical)"};e===null?e=[i]:e.push(i),s++;break}l[r]=c}}}}else{let h={instancePath:t+"/context/sources",schemaPath:"#/properties/context/properties/sources/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[h]:e.push(h),s++}}if(o.instructions!==void 0){let f=o.instructions;if(typeof f=="string"){if(A(f)<1){let h={instancePath:t+"/context/instructions",schemaPath:"#/properties/context/properties/instructions/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[h]:e.push(h),s++}}else{let h={instancePath:t+"/context/instructions",schemaPath:"#/properties/context/properties/instructions/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[h]:e.push(h),s++}}}else{let f={instancePath:t+"/context",schemaPath:"#/properties/context/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[f]:e.push(f),s++}}if(d.tools!==void 0){let o=d.tools;if(Array.isArray(o)){if(o.length<0){let p={instancePath:t+"/tools",schemaPath:"#/properties/tools/minItems",keyword:"minItems",params:{limit:0},message:"must NOT have fewer than 0 items"};e===null?e=[p]:e.push(p),s++}let f=o.length;for(let p=0;p<f;p++){let l=o[p],r=s,i=!1,a=s;if(typeof l=="string"){if(A(l)<1){let g={instancePath:t+"/tools/"+p,schemaPath:"#/properties/tools/items/anyOf/0/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[g]:e.push(g),s++}}else{let g={instancePath:t+"/tools/"+p,schemaPath:"#/properties/tools/items/anyOf/0/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[g]:e.push(g),s++}var q=a===s;if(i=i||q,!i){let g=s;if(l&&typeof l=="object"&&!Array.isArray(l)){if(l.name===void 0){let y={instancePath:t+"/tools/"+p,schemaPath:"#/properties/tools/items/anyOf/1/required",keyword:"required",params:{missingProperty:"name"},message:"must have required property 'name'"};e===null?e=[y]:e.push(y),s++}if(l.kind===void 0){let y={instancePath:t+"/tools/"+p,schemaPath:"#/properties/tools/items/anyOf/1/required",keyword:"required",params:{missingProperty:"kind"},message:"must have required property 'kind'"};e===null?e=[y]:e.push(y),s++}if(l.purpose===void 0){let y={instancePath:t+"/tools/"+p,schemaPath:"#/properties/tools/items/anyOf/1/required",keyword:"required",params:{missingProperty:"purpose"},message:"must have required property 'purpose'"};e===null?e=[y]:e.push(y),s++}for(let y in l)if(!(y==="name"||y==="kind"||y==="purpose")){let n={instancePath:t+"/tools/"+p,schemaPath:"#/properties/tools/items/anyOf/1/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:y},message:"must NOT have additional properties"};e===null?e=[n]:e.push(n),s++}if(l.name!==void 0){let y=l.name;if(typeof y=="string"){if(A(y)<1){let n={instancePath:t+"/tools/"+p+"/name",schemaPath:"#/properties/tools/items/anyOf/1/properties/name/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[n]:e.push(n),s++}}else{let n={instancePath:t+"/tools/"+p+"/name",schemaPath:"#/properties/tools/items/anyOf/1/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}}if(l.kind!==void 0){let y=l.kind;if(!(y==="cli"||y==="mcp"||y==="skill")){let n={instancePath:t+"/tools/"+p+"/kind",schemaPath:"#/properties/tools/items/anyOf/1/properties/kind/enum",keyword:"enum",params:{allowedValues:Me.properties.tools.items.anyOf[1].properties.kind.enum},message:"must be equal to one of the allowed values"};e===null?e=[n]:e.push(n),s++}}if(l.purpose!==void 0){let y=l.purpose;if(typeof y=="string"){if(A(y)<1){let n={instancePath:t+"/tools/"+p+"/purpose",schemaPath:"#/properties/tools/items/anyOf/1/properties/purpose/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[n]:e.push(n),s++}}else{let n={instancePath:t+"/tools/"+p+"/purpose",schemaPath:"#/properties/tools/items/anyOf/1/properties/purpose/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}}}else{let y={instancePath:t+"/tools/"+p,schemaPath:"#/properties/tools/items/anyOf/1/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[y]:e.push(y),s++}var q=g===s;i=i||q}if(i)s=r,e!==null&&(r?e.length=r:e=null);else{let g={instancePath:t+"/tools/"+p,schemaPath:"#/properties/tools/items/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};e===null?e=[g]:e.push(g),s++}}let h=o.length,c;if(h>1){e:for(;h--;)for(c=h;c--;)if($(o[h],o[c])){let p={instancePath:t+"/tools",schemaPath:"#/properties/tools/uniqueItems",keyword:"uniqueItems",params:{i:h,j:c},message:"must NOT have duplicate items (items ## "+c+" and "+h+" are identical)"};e===null?e=[p]:e.push(p),s++;break e}}}else{let f={instancePath:t+"/tools",schemaPath:"#/properties/tools/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[f]:e.push(f),s++}}}else{let o={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[o]:e.push(o),s++}return be.errors=e,s===0}var ns=Ae,se={$schema:"http://json-schema.org/draft-07/schema#",$id:"plan.schema.json",type:"object",properties:{contractVersion:{const:"toolkit-2"},planId:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},revision:{type:"integer",minimum:1},previousRevision:{anyOf:[{type:"integer",minimum:1},{type:"null"}]},target:{type:"object",properties:{targetId:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},revision:{type:"integer",minimum:1},sha256:{type:"string",pattern:"^[a-f0-9]{64}$"}},required:["targetId","revision","sha256"],additionalProperties:!1},objective:{type:"string",minLength:1},requirements:{type:"array",items:{type:"object",properties:{id:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},text:{type:"string",minLength:1},source:{type:"string",minLength:1}},required:["id","text","source"],additionalProperties:!1},minItems:1,uniqueItems:!0},tests:{type:"array",items:{$ref:"#/definitions/test"},minItems:0,uniqueItems:!0},gaps:{type:"array",items:{$ref:"gap.schema.json"},minItems:0,uniqueItems:!0},assumptions:{type:"array",items:{type:"object",properties:{decisionId:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},text:{type:"string",minLength:1}},required:["decisionId","text"],additionalProperties:!1},minItems:0,uniqueItems:!0},decisions:{type:"array",items:{type:"object",properties:{id:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},gapId:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},kind:{enum:["clarify","accept_assumption","defer"]},actor:{type:"string",minLength:1},rationale:{type:"string",minLength:1},value:{type:"string",minLength:1},source:{anyOf:[{type:"string",minLength:1},{type:"null"}]}},required:["id","gapId","kind","actor","rationale","value","source"],additionalProperties:!1},minItems:0,uniqueItems:!0},coverage:{type:"array",items:{type:"object",properties:{requirementId:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},testIds:{type:"array",items:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},minItems:0,uniqueItems:!0},status:{enum:["planned","blocked","deferred"]}},required:["requirementId","testIds","status"],additionalProperties:!1},minItems:1,uniqueItems:!0}},required:["contractVersion","planId","revision","previousRevision","target","objective","requirements","tests","gaps","assumptions","decisions","coverage"],additionalProperties:!1,definitions:{test:{type:"object",properties:{id:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},title:{type:"string",minLength:1,maxLength:200},requirementIds:{type:"array",items:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},minItems:1,uniqueItems:!0},capability:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},operations:{type:"array",items:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},minItems:1,uniqueItems:!0},readiness:{enum:["ready","blocked","deferred"]},gapIds:{type:"array",items:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},minItems:0,uniqueItems:!0},dependsOn:{type:"array",items:{type:"string",pattern:"^([A-Za-z0-9][A-Za-z0-9_-]{0,95}:)?[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},minItems:0,uniqueItems:!0},preconditions:{type:"array",items:{type:"string",minLength:1},minItems:0,uniqueItems:!0},action:{type:"string",minLength:1},assertions:{type:"array",items:{$ref:"#/definitions/assertion"},minItems:0,uniqueItems:!0}},required:["id","title","requirementIds","capability","operations","readiness","gapIds","dependsOn","preconditions","action","assertions"],additionalProperties:!1},assertion:{type:"object",properties:{id:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},check:{type:"string",minLength:1},checkKind:{enum:["deterministic","agent_observation"]}},required:["id","check","checkKind"],additionalProperties:!1}}},U=new RegExp("^[a-f0-9]{64}$","u"),fe={type:"object",properties:{id:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},title:{type:"string",minLength:1,maxLength:200},requirementIds:{type:"array",items:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},minItems:1,uniqueItems:!0},capability:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},operations:{type:"array",items:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},minItems:1,uniqueItems:!0},readiness:{enum:["ready","blocked","deferred"]},gapIds:{type:"array",items:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},minItems:0,uniqueItems:!0},dependsOn:{type:"array",items:{type:"string",pattern:"^([A-Za-z0-9][A-Za-z0-9_-]{0,95}:)?[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},minItems:0,uniqueItems:!0},preconditions:{type:"array",items:{type:"string",minLength:1},minItems:0,uniqueItems:!0},action:{type:"string",minLength:1},assertions:{type:"array",items:{$ref:"#/definitions/assertion"},minItems:0,uniqueItems:!0}},required:["id","title","requirementIds","capability","operations","readiness","gapIds","dependsOn","preconditions","action","assertions"],additionalProperties:!1};function B(d,{instancePath:t="",parentData:O,parentDataProperty:z,rootData:Z=d}={}){let e=null,s=0;if(d&&typeof d=="object"&&!Array.isArray(d)){if(d.id===void 0){let q={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"id"},message:"must have required property 'id'"};e===null?e=[q]:e.push(q),s++}if(d.title===void 0){let q={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"title"},message:"must have required property 'title'"};e===null?e=[q]:e.push(q),s++}if(d.requirementIds===void 0){let q={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"requirementIds"},message:"must have required property 'requirementIds'"};e===null?e=[q]:e.push(q),s++}if(d.capability===void 0){let q={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"capability"},message:"must have required property 'capability'"};e===null?e=[q]:e.push(q),s++}if(d.operations===void 0){let q={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"operations"},message:"must have required property 'operations'"};e===null?e=[q]:e.push(q),s++}if(d.readiness===void 0){let q={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"readiness"},message:"must have required property 'readiness'"};e===null?e=[q]:e.push(q),s++}if(d.gapIds===void 0){let q={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"gapIds"},message:"must have required property 'gapIds'"};e===null?e=[q]:e.push(q),s++}if(d.dependsOn===void 0){let q={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"dependsOn"},message:"must have required property 'dependsOn'"};e===null?e=[q]:e.push(q),s++}if(d.preconditions===void 0){let q={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"preconditions"},message:"must have required property 'preconditions'"};e===null?e=[q]:e.push(q),s++}if(d.action===void 0){let q={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"action"},message:"must have required property 'action'"};e===null?e=[q]:e.push(q),s++}if(d.assertions===void 0){let q={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"assertions"},message:"must have required property 'assertions'"};e===null?e=[q]:e.push(q),s++}for(let q in d)if(!E.call(fe.properties,q)){let o={instancePath:t,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:q},message:"must NOT have additional properties"};e===null?e=[o]:e.push(o),s++}if(d.id!==void 0){let q=d.id;if(typeof q=="string"){if(!j.test(q)){let o={instancePath:t+"/id",schemaPath:"#/properties/id/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[o]:e.push(o),s++}}else{let o={instancePath:t+"/id",schemaPath:"#/properties/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}}if(d.title!==void 0){let q=d.title;if(typeof q=="string"){if(A(q)>200){let o={instancePath:t+"/title",schemaPath:"#/properties/title/maxLength",keyword:"maxLength",params:{limit:200},message:"must NOT have more than 200 characters"};e===null?e=[o]:e.push(o),s++}if(A(q)<1){let o={instancePath:t+"/title",schemaPath:"#/properties/title/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[o]:e.push(o),s++}}else{let o={instancePath:t+"/title",schemaPath:"#/properties/title/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}}if(d.requirementIds!==void 0){let q=d.requirementIds;if(Array.isArray(q)){if(q.length<1){let c={instancePath:t+"/requirementIds",schemaPath:"#/properties/requirementIds/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"};e===null?e=[c]:e.push(c),s++}let o=q.length;for(let c=0;c<o;c++){let p=q[c];if(typeof p=="string"){if(!j.test(p)){let l={instancePath:t+"/requirementIds/"+c,schemaPath:"#/properties/requirementIds/items/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[l]:e.push(l),s++}}else{let l={instancePath:t+"/requirementIds/"+c,schemaPath:"#/properties/requirementIds/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}}let f=q.length,h;if(f>1){let c={};for(;f--;){let p=q[f];if(typeof p=="string"){if(typeof c[p]=="number"){h=c[p];let l={instancePath:t+"/requirementIds",schemaPath:"#/properties/requirementIds/uniqueItems",keyword:"uniqueItems",params:{i:f,j:h},message:"must NOT have duplicate items (items ## "+h+" and "+f+" are identical)"};e===null?e=[l]:e.push(l),s++;break}c[p]=f}}}}else{let o={instancePath:t+"/requirementIds",schemaPath:"#/properties/requirementIds/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[o]:e.push(o),s++}}if(d.capability!==void 0){let q=d.capability;if(typeof q=="string"){if(!j.test(q)){let o={instancePath:t+"/capability",schemaPath:"#/properties/capability/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[o]:e.push(o),s++}}else{let o={instancePath:t+"/capability",schemaPath:"#/properties/capability/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}}if(d.operations!==void 0){let q=d.operations;if(Array.isArray(q)){if(q.length<1){let c={instancePath:t+"/operations",schemaPath:"#/properties/operations/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"};e===null?e=[c]:e.push(c),s++}let o=q.length;for(let c=0;c<o;c++){let p=q[c];if(typeof p=="string"){if(!j.test(p)){let l={instancePath:t+"/operations/"+c,schemaPath:"#/properties/operations/items/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[l]:e.push(l),s++}}else{let l={instancePath:t+"/operations/"+c,schemaPath:"#/properties/operations/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}}let f=q.length,h;if(f>1){let c={};for(;f--;){let p=q[f];if(typeof p=="string"){if(typeof c[p]=="number"){h=c[p];let l={instancePath:t+"/operations",schemaPath:"#/properties/operations/uniqueItems",keyword:"uniqueItems",params:{i:f,j:h},message:"must NOT have duplicate items (items ## "+h+" and "+f+" are identical)"};e===null?e=[l]:e.push(l),s++;break}c[p]=f}}}}else{let o={instancePath:t+"/operations",schemaPath:"#/properties/operations/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[o]:e.push(o),s++}}if(d.readiness!==void 0){let q=d.readiness;if(!(q==="ready"||q==="blocked"||q==="deferred")){let o={instancePath:t+"/readiness",schemaPath:"#/properties/readiness/enum",keyword:"enum",params:{allowedValues:fe.properties.readiness.enum},message:"must be equal to one of the allowed values"};e===null?e=[o]:e.push(o),s++}}if(d.gapIds!==void 0){let q=d.gapIds;if(Array.isArray(q)){if(q.length<0){let c={instancePath:t+"/gapIds",schemaPath:"#/properties/gapIds/minItems",keyword:"minItems",params:{limit:0},message:"must NOT have fewer than 0 items"};e===null?e=[c]:e.push(c),s++}let o=q.length;for(let c=0;c<o;c++){let p=q[c];if(typeof p=="string"){if(!j.test(p)){let l={instancePath:t+"/gapIds/"+c,schemaPath:"#/properties/gapIds/items/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[l]:e.push(l),s++}}else{let l={instancePath:t+"/gapIds/"+c,schemaPath:"#/properties/gapIds/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}}let f=q.length,h;if(f>1){let c={};for(;f--;){let p=q[f];if(typeof p=="string"){if(typeof c[p]=="number"){h=c[p];let l={instancePath:t+"/gapIds",schemaPath:"#/properties/gapIds/uniqueItems",keyword:"uniqueItems",params:{i:f,j:h},message:"must NOT have duplicate items (items ## "+h+" and "+f+" are identical)"};e===null?e=[l]:e.push(l),s++;break}c[p]=f}}}}else{let o={instancePath:t+"/gapIds",schemaPath:"#/properties/gapIds/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[o]:e.push(o),s++}}if(d.dependsOn!==void 0){let q=d.dependsOn;if(Array.isArray(q)){if(q.length<0){let c={instancePath:t+"/dependsOn",schemaPath:"#/properties/dependsOn/minItems",keyword:"minItems",params:{limit:0},message:"must NOT have fewer than 0 items"};e===null?e=[c]:e.push(c),s++}let o=q.length;for(let c=0;c<o;c++){let p=q[c];if(typeof p=="string"){if(!G.test(p)){let l={instancePath:t+"/dependsOn/"+c,schemaPath:"#/properties/dependsOn/items/pattern",keyword:"pattern",params:{pattern:"^([A-Za-z0-9][A-Za-z0-9_-]{0,95}:)?[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^([A-Za-z0-9][A-Za-z0-9_-]{0,95}:)?[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[l]:e.push(l),s++}}else{let l={instancePath:t+"/dependsOn/"+c,schemaPath:"#/properties/dependsOn/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}}let f=q.length,h;if(f>1){let c={};for(;f--;){let p=q[f];if(typeof p=="string"){if(typeof c[p]=="number"){h=c[p];let l={instancePath:t+"/dependsOn",schemaPath:"#/properties/dependsOn/uniqueItems",keyword:"uniqueItems",params:{i:f,j:h},message:"must NOT have duplicate items (items ## "+h+" and "+f+" are identical)"};e===null?e=[l]:e.push(l),s++;break}c[p]=f}}}}else{let o={instancePath:t+"/dependsOn",schemaPath:"#/properties/dependsOn/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[o]:e.push(o),s++}}if(d.preconditions!==void 0){let q=d.preconditions;if(Array.isArray(q)){if(q.length<0){let c={instancePath:t+"/preconditions",schemaPath:"#/properties/preconditions/minItems",keyword:"minItems",params:{limit:0},message:"must NOT have fewer than 0 items"};e===null?e=[c]:e.push(c),s++}let o=q.length;for(let c=0;c<o;c++){let p=q[c];if(typeof p=="string"){if(A(p)<1){let l={instancePath:t+"/preconditions/"+c,schemaPath:"#/properties/preconditions/items/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[l]:e.push(l),s++}}else{let l={instancePath:t+"/preconditions/"+c,schemaPath:"#/properties/preconditions/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}}let f=q.length,h;if(f>1){let c={};for(;f--;){let p=q[f];if(typeof p=="string"){if(typeof c[p]=="number"){h=c[p];let l={instancePath:t+"/preconditions",schemaPath:"#/properties/preconditions/uniqueItems",keyword:"uniqueItems",params:{i:f,j:h},message:"must NOT have duplicate items (items ## "+h+" and "+f+" are identical)"};e===null?e=[l]:e.push(l),s++;break}c[p]=f}}}}else{let o={instancePath:t+"/preconditions",schemaPath:"#/properties/preconditions/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[o]:e.push(o),s++}}if(d.action!==void 0){let q=d.action;if(typeof q=="string"){if(A(q)<1){let o={instancePath:t+"/action",schemaPath:"#/properties/action/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[o]:e.push(o),s++}}else{let o={instancePath:t+"/action",schemaPath:"#/properties/action/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}}if(d.assertions!==void 0){let q=d.assertions;if(Array.isArray(q)){if(q.length<0){let c={instancePath:t+"/assertions",schemaPath:"#/properties/assertions/minItems",keyword:"minItems",params:{limit:0},message:"must NOT have fewer than 0 items"};e===null?e=[c]:e.push(c),s++}let o=q.length;for(let c=0;c<o;c++){let p=q[c];if(p&&typeof p=="object"&&!Array.isArray(p)){if(p.id===void 0){let l={instancePath:t+"/assertions/"+c,schemaPath:"#/definitions/assertion/required",keyword:"required",params:{missingProperty:"id"},message:"must have required property 'id'"};e===null?e=[l]:e.push(l),s++}if(p.check===void 0){let l={instancePath:t+"/assertions/"+c,schemaPath:"#/definitions/assertion/required",keyword:"required",params:{missingProperty:"check"},message:"must have required property 'check'"};e===null?e=[l]:e.push(l),s++}if(p.checkKind===void 0){let l={instancePath:t+"/assertions/"+c,schemaPath:"#/definitions/assertion/required",keyword:"required",params:{missingProperty:"checkKind"},message:"must have required property 'checkKind'"};e===null?e=[l]:e.push(l),s++}for(let l in p)if(!(l==="id"||l==="check"||l==="checkKind")){let r={instancePath:t+"/assertions/"+c,schemaPath:"#/definitions/assertion/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:l},message:"must NOT have additional properties"};e===null?e=[r]:e.push(r),s++}if(p.id!==void 0){let l=p.id;if(typeof l=="string"){if(!j.test(l)){let r={instancePath:t+"/assertions/"+c+"/id",schemaPath:"#/definitions/assertion/properties/id/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[r]:e.push(r),s++}}else{let r={instancePath:t+"/assertions/"+c+"/id",schemaPath:"#/definitions/assertion/properties/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[r]:e.push(r),s++}}if(p.check!==void 0){let l=p.check;if(typeof l=="string"){if(A(l)<1){let r={instancePath:t+"/assertions/"+c+"/check",schemaPath:"#/definitions/assertion/properties/check/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[r]:e.push(r),s++}}else{let r={instancePath:t+"/assertions/"+c+"/check",schemaPath:"#/definitions/assertion/properties/check/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[r]:e.push(r),s++}}if(p.checkKind!==void 0){let l=p.checkKind;if(!(l==="deterministic"||l==="agent_observation")){let r={instancePath:t+"/assertions/"+c+"/checkKind",schemaPath:"#/definitions/assertion/properties/checkKind/enum",keyword:"enum",params:{allowedValues:ke.properties.checkKind.enum},message:"must be equal to one of the allowed values"};e===null?e=[r]:e.push(r),s++}}}else{let l={instancePath:t+"/assertions/"+c,schemaPath:"#/definitions/assertion/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[l]:e.push(l),s++}}let f=q.length,h;if(f>1){e:for(;f--;)for(h=f;h--;)if($(q[f],q[h])){let c={instancePath:t+"/assertions",schemaPath:"#/properties/assertions/uniqueItems",keyword:"uniqueItems",params:{i:f,j:h},message:"must NOT have duplicate items (items ## "+h+" and "+f+" are identical)"};e===null?e=[c]:e.push(c),s++;break e}}}else{let o={instancePath:t+"/assertions",schemaPath:"#/properties/assertions/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[o]:e.push(o),s++}}}else{let q={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[q]:e.push(q),s++}return B.errors=e,s===0}function Ae(d,{instancePath:t="",parentData:O,parentDataProperty:z,rootData:Z=d}={}){let e=null,s=0;if(d&&typeof d=="object"&&!Array.isArray(d)){if(d.contractVersion===void 0){let h={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"contractVersion"},message:"must have required property 'contractVersion'"};e===null?e=[h]:e.push(h),s++}if(d.planId===void 0){let h={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"planId"},message:"must have required property 'planId'"};e===null?e=[h]:e.push(h),s++}if(d.revision===void 0){let h={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"revision"},message:"must have required property 'revision'"};e===null?e=[h]:e.push(h),s++}if(d.previousRevision===void 0){let h={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"previousRevision"},message:"must have required property 'previousRevision'"};e===null?e=[h]:e.push(h),s++}if(d.target===void 0){let h={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"target"},message:"must have required property 'target'"};e===null?e=[h]:e.push(h),s++}if(d.objective===void 0){let h={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"objective"},message:"must have required property 'objective'"};e===null?e=[h]:e.push(h),s++}if(d.requirements===void 0){let h={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"requirements"},message:"must have required property 'requirements'"};e===null?e=[h]:e.push(h),s++}if(d.tests===void 0){let h={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"tests"},message:"must have required property 'tests'"};e===null?e=[h]:e.push(h),s++}if(d.gaps===void 0){let h={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"gaps"},message:"must have required property 'gaps'"};e===null?e=[h]:e.push(h),s++}if(d.assumptions===void 0){let h={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"assumptions"},message:"must have required property 'assumptions'"};e===null?e=[h]:e.push(h),s++}if(d.decisions===void 0){let h={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"decisions"},message:"must have required property 'decisions'"};e===null?e=[h]:e.push(h),s++}if(d.coverage===void 0){let h={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"coverage"},message:"must have required property 'coverage'"};e===null?e=[h]:e.push(h),s++}for(let h in d)if(!E.call(se.properties,h)){let c={instancePath:t,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:h},message:"must NOT have additional properties"};e===null?e=[c]:e.push(c),s++}if(d.contractVersion!==void 0&&d.contractVersion!=="toolkit-2"){let h={instancePath:t+"/contractVersion",schemaPath:"#/properties/contractVersion/const",keyword:"const",params:{allowedValue:"toolkit-2"},message:"must be equal to constant"};e===null?e=[h]:e.push(h),s++}if(d.planId!==void 0){let h=d.planId;if(typeof h=="string"){if(!j.test(h)){let c={instancePath:t+"/planId",schemaPath:"#/properties/planId/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[c]:e.push(c),s++}}else{let c={instancePath:t+"/planId",schemaPath:"#/properties/planId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[c]:e.push(c),s++}}if(d.revision!==void 0){let h=d.revision;if(!(typeof h=="number"&&!(h%1)&&!isNaN(h)&&isFinite(h))){let c={instancePath:t+"/revision",schemaPath:"#/properties/revision/type",keyword:"type",params:{type:"integer"},message:"must be integer"};e===null?e=[c]:e.push(c),s++}if(typeof h=="number"&&isFinite(h)&&(h<1||isNaN(h))){let c={instancePath:t+"/revision",schemaPath:"#/properties/revision/minimum",keyword:"minimum",params:{comparison:">=",limit:1},message:"must be >= 1"};e===null?e=[c]:e.push(c),s++}}if(d.previousRevision!==void 0){let h=d.previousRevision,c=s,p=!1,l=s;if(!(typeof h=="number"&&!(h%1)&&!isNaN(h)&&isFinite(h))){let r={instancePath:t+"/previousRevision",schemaPath:"#/properties/previousRevision/anyOf/0/type",keyword:"type",params:{type:"integer"},message:"must be integer"};e===null?e=[r]:e.push(r),s++}if(typeof h=="number"&&isFinite(h)&&(h<1||isNaN(h))){let r={instancePath:t+"/previousRevision",schemaPath:"#/properties/previousRevision/anyOf/0/minimum",keyword:"minimum",params:{comparison:">=",limit:1},message:"must be >= 1"};e===null?e=[r]:e.push(r),s++}var q=l===s;if(p=p||q,!p){let r=s;if(h!==null){let a={instancePath:t+"/previousRevision",schemaPath:"#/properties/previousRevision/anyOf/1/type",keyword:"type",params:{type:"null"},message:"must be null"};e===null?e=[a]:e.push(a),s++}var q=r===s;p=p||q}if(p)s=c,e!==null&&(c?e.length=c:e=null);else{let r={instancePath:t+"/previousRevision",schemaPath:"#/properties/previousRevision/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};e===null?e=[r]:e.push(r),s++}}if(d.target!==void 0){let h=d.target;if(h&&typeof h=="object"&&!Array.isArray(h)){if(h.targetId===void 0){let c={instancePath:t+"/target",schemaPath:"#/properties/target/required",keyword:"required",params:{missingProperty:"targetId"},message:"must have required property 'targetId'"};e===null?e=[c]:e.push(c),s++}if(h.revision===void 0){let c={instancePath:t+"/target",schemaPath:"#/properties/target/required",keyword:"required",params:{missingProperty:"revision"},message:"must have required property 'revision'"};e===null?e=[c]:e.push(c),s++}if(h.sha256===void 0){let c={instancePath:t+"/target",schemaPath:"#/properties/target/required",keyword:"required",params:{missingProperty:"sha256"},message:"must have required property 'sha256'"};e===null?e=[c]:e.push(c),s++}for(let c in h)if(!(c==="targetId"||c==="revision"||c==="sha256")){let p={instancePath:t+"/target",schemaPath:"#/properties/target/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:c},message:"must NOT have additional properties"};e===null?e=[p]:e.push(p),s++}if(h.targetId!==void 0){let c=h.targetId;if(typeof c=="string"){if(!j.test(c)){let p={instancePath:t+"/target/targetId",schemaPath:"#/properties/target/properties/targetId/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[p]:e.push(p),s++}}else{let p={instancePath:t+"/target/targetId",schemaPath:"#/properties/target/properties/targetId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[p]:e.push(p),s++}}if(h.revision!==void 0){let c=h.revision;if(!(typeof c=="number"&&!(c%1)&&!isNaN(c)&&isFinite(c))){let p={instancePath:t+"/target/revision",schemaPath:"#/properties/target/properties/revision/type",keyword:"type",params:{type:"integer"},message:"must be integer"};e===null?e=[p]:e.push(p),s++}if(typeof c=="number"&&isFinite(c)&&(c<1||isNaN(c))){let p={instancePath:t+"/target/revision",schemaPath:"#/properties/target/properties/revision/minimum",keyword:"minimum",params:{comparison:">=",limit:1},message:"must be >= 1"};e===null?e=[p]:e.push(p),s++}}if(h.sha256!==void 0){let c=h.sha256;if(typeof c=="string"){if(!U.test(c)){let p={instancePath:t+"/target/sha256",schemaPath:"#/properties/target/properties/sha256/pattern",keyword:"pattern",params:{pattern:"^[a-f0-9]{64}$"},message:'must match pattern "^[a-f0-9]{64}$"'};e===null?e=[p]:e.push(p),s++}}else{let p={instancePath:t+"/target/sha256",schemaPath:"#/properties/target/properties/sha256/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[p]:e.push(p),s++}}}else{let c={instancePath:t+"/target",schemaPath:"#/properties/target/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[c]:e.push(c),s++}}if(d.objective!==void 0){let h=d.objective;if(typeof h=="string"){if(A(h)<1){let c={instancePath:t+"/objective",schemaPath:"#/properties/objective/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[c]:e.push(c),s++}}else{let c={instancePath:t+"/objective",schemaPath:"#/properties/objective/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[c]:e.push(c),s++}}if(d.requirements!==void 0){let h=d.requirements;if(Array.isArray(h)){if(h.length<1){let r={instancePath:t+"/requirements",schemaPath:"#/properties/requirements/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"};e===null?e=[r]:e.push(r),s++}let c=h.length;for(let r=0;r<c;r++){let i=h[r];if(i&&typeof i=="object"&&!Array.isArray(i)){if(i.id===void 0){let a={instancePath:t+"/requirements/"+r,schemaPath:"#/properties/requirements/items/required",keyword:"required",params:{missingProperty:"id"},message:"must have required property 'id'"};e===null?e=[a]:e.push(a),s++}if(i.text===void 0){let a={instancePath:t+"/requirements/"+r,schemaPath:"#/properties/requirements/items/required",keyword:"required",params:{missingProperty:"text"},message:"must have required property 'text'"};e===null?e=[a]:e.push(a),s++}if(i.source===void 0){let a={instancePath:t+"/requirements/"+r,schemaPath:"#/properties/requirements/items/required",keyword:"required",params:{missingProperty:"source"},message:"must have required property 'source'"};e===null?e=[a]:e.push(a),s++}for(let a in i)if(!(a==="id"||a==="text"||a==="source")){let g={instancePath:t+"/requirements/"+r,schemaPath:"#/properties/requirements/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:a},message:"must NOT have additional properties"};e===null?e=[g]:e.push(g),s++}if(i.id!==void 0){let a=i.id;if(typeof a=="string"){if(!j.test(a)){let g={instancePath:t+"/requirements/"+r+"/id",schemaPath:"#/properties/requirements/items/properties/id/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[g]:e.push(g),s++}}else{let g={instancePath:t+"/requirements/"+r+"/id",schemaPath:"#/properties/requirements/items/properties/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[g]:e.push(g),s++}}if(i.text!==void 0){let a=i.text;if(typeof a=="string"){if(A(a)<1){let g={instancePath:t+"/requirements/"+r+"/text",schemaPath:"#/properties/requirements/items/properties/text/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[g]:e.push(g),s++}}else{let g={instancePath:t+"/requirements/"+r+"/text",schemaPath:"#/properties/requirements/items/properties/text/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[g]:e.push(g),s++}}if(i.source!==void 0){let a=i.source;if(typeof a=="string"){if(A(a)<1){let g={instancePath:t+"/requirements/"+r+"/source",schemaPath:"#/properties/requirements/items/properties/source/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[g]:e.push(g),s++}}else{let g={instancePath:t+"/requirements/"+r+"/source",schemaPath:"#/properties/requirements/items/properties/source/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[g]:e.push(g),s++}}}else{let a={instancePath:t+"/requirements/"+r,schemaPath:"#/properties/requirements/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[a]:e.push(a),s++}}let p=h.length,l;if(p>1){e:for(;p--;)for(l=p;l--;)if($(h[p],h[l])){let r={instancePath:t+"/requirements",schemaPath:"#/properties/requirements/uniqueItems",keyword:"uniqueItems",params:{i:p,j:l},message:"must NOT have duplicate items (items ## "+l+" and "+p+" are identical)"};e===null?e=[r]:e.push(r),s++;break e}}}else{let c={instancePath:t+"/requirements",schemaPath:"#/properties/requirements/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[c]:e.push(c),s++}}if(d.tests!==void 0){let h=d.tests;if(Array.isArray(h)){if(h.length<0){let r={instancePath:t+"/tests",schemaPath:"#/properties/tests/minItems",keyword:"minItems",params:{limit:0},message:"must NOT have fewer than 0 items"};e===null?e=[r]:e.push(r),s++}let c=h.length;for(let r=0;r<c;r++)B(h[r],{instancePath:t+"/tests/"+r,parentData:h,parentDataProperty:r,rootData:Z})||(e=e===null?B.errors:e.concat(B.errors),s=e.length);let p=h.length,l;if(p>1){e:for(;p--;)for(l=p;l--;)if($(h[p],h[l])){let r={instancePath:t+"/tests",schemaPath:"#/properties/tests/uniqueItems",keyword:"uniqueItems",params:{i:p,j:l},message:"must NOT have duplicate items (items ## "+l+" and "+p+" are identical)"};e===null?e=[r]:e.push(r),s++;break e}}}else{let c={instancePath:t+"/tests",schemaPath:"#/properties/tests/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[c]:e.push(c),s++}}if(d.gaps!==void 0){let h=d.gaps;if(Array.isArray(h)){if(h.length<0){let r={instancePath:t+"/gaps",schemaPath:"#/properties/gaps/minItems",keyword:"minItems",params:{limit:0},message:"must NOT have fewer than 0 items"};e===null?e=[r]:e.push(r),s++}let c=h.length;for(let r=0;r<c;r++){let i=h[r];if(i&&typeof i=="object"&&!Array.isArray(i)){if(i.id===void 0){let a={instancePath:t+"/gaps/"+r,schemaPath:"gap.schema.json/required",keyword:"required",params:{missingProperty:"id"},message:"must have required property 'id'"};e===null?e=[a]:e.push(a),s++}if(i.severity===void 0){let a={instancePath:t+"/gaps/"+r,schemaPath:"gap.schema.json/required",keyword:"required",params:{missingProperty:"severity"},message:"must have required property 'severity'"};e===null?e=[a]:e.push(a),s++}if(i.status===void 0){let a={instancePath:t+"/gaps/"+r,schemaPath:"gap.schema.json/required",keyword:"required",params:{missingProperty:"status"},message:"must have required property 'status'"};e===null?e=[a]:e.push(a),s++}if(i.requirementIds===void 0){let a={instancePath:t+"/gaps/"+r,schemaPath:"gap.schema.json/required",keyword:"required",params:{missingProperty:"requirementIds"},message:"must have required property 'requirementIds'"};e===null?e=[a]:e.push(a),s++}if(i.testIds===void 0){let a={instancePath:t+"/gaps/"+r,schemaPath:"gap.schema.json/required",keyword:"required",params:{missingProperty:"testIds"},message:"must have required property 'testIds'"};e===null?e=[a]:e.push(a),s++}if(i.question===void 0){let a={instancePath:t+"/gaps/"+r,schemaPath:"gap.schema.json/required",keyword:"required",params:{missingProperty:"question"},message:"must have required property 'question'"};e===null?e=[a]:e.push(a),s++}if(i.consequence===void 0){let a={instancePath:t+"/gaps/"+r,schemaPath:"gap.schema.json/required",keyword:"required",params:{missingProperty:"consequence"},message:"must have required property 'consequence'"};e===null?e=[a]:e.push(a),s++}if(i.decisionId===void 0){let a={instancePath:t+"/gaps/"+r,schemaPath:"gap.schema.json/required",keyword:"required",params:{missingProperty:"decisionId"},message:"must have required property 'decisionId'"};e===null?e=[a]:e.push(a),s++}for(let a in i)if(!(a==="id"||a==="severity"||a==="status"||a==="requirementIds"||a==="testIds"||a==="question"||a==="consequence"||a==="decisionId")){let g={instancePath:t+"/gaps/"+r,schemaPath:"gap.schema.json/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:a},message:"must NOT have additional properties"};e===null?e=[g]:e.push(g),s++}if(i.id!==void 0){let a=i.id;if(typeof a=="string"){if(!j.test(a)){let g={instancePath:t+"/gaps/"+r+"/id",schemaPath:"gap.schema.json/properties/id/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[g]:e.push(g),s++}}else{let g={instancePath:t+"/gaps/"+r+"/id",schemaPath:"gap.schema.json/properties/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[g]:e.push(g),s++}}if(i.severity!==void 0){let a=i.severity;if(!(a==="blocking"||a==="non_blocking")){let g={instancePath:t+"/gaps/"+r+"/severity",schemaPath:"gap.schema.json/properties/severity/enum",keyword:"enum",params:{allowedValues:K.properties.severity.enum},message:"must be equal to one of the allowed values"};e===null?e=[g]:e.push(g),s++}}if(i.status!==void 0){let a=i.status;if(!(a==="open"||a==="resolved"||a==="deferred")){let g={instancePath:t+"/gaps/"+r+"/status",schemaPath:"gap.schema.json/properties/status/enum",keyword:"enum",params:{allowedValues:K.properties.status.enum},message:"must be equal to one of the allowed values"};e===null?e=[g]:e.push(g),s++}}if(i.requirementIds!==void 0){let a=i.requirementIds;if(Array.isArray(a)){if(a.length<0){let n={instancePath:t+"/gaps/"+r+"/requirementIds",schemaPath:"gap.schema.json/properties/requirementIds/minItems",keyword:"minItems",params:{limit:0},message:"must NOT have fewer than 0 items"};e===null?e=[n]:e.push(n),s++}let g=a.length;for(let n=0;n<g;n++){let u=a[n];if(typeof u=="string"){if(!j.test(u)){let P={instancePath:t+"/gaps/"+r+"/requirementIds/"+n,schemaPath:"gap.schema.json/properties/requirementIds/items/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[P]:e.push(P),s++}}else{let P={instancePath:t+"/gaps/"+r+"/requirementIds/"+n,schemaPath:"gap.schema.json/properties/requirementIds/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[P]:e.push(P),s++}}let m=a.length,y;if(m>1){let n={};for(;m--;){let u=a[m];if(typeof u=="string"){if(typeof n[u]=="number"){y=n[u];let P={instancePath:t+"/gaps/"+r+"/requirementIds",schemaPath:"gap.schema.json/properties/requirementIds/uniqueItems",keyword:"uniqueItems",params:{i:m,j:y},message:"must NOT have duplicate items (items ## "+y+" and "+m+" are identical)"};e===null?e=[P]:e.push(P),s++;break}n[u]=m}}}}else{let g={instancePath:t+"/gaps/"+r+"/requirementIds",schemaPath:"gap.schema.json/properties/requirementIds/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[g]:e.push(g),s++}}if(i.testIds!==void 0){let a=i.testIds;if(Array.isArray(a)){if(a.length<0){let n={instancePath:t+"/gaps/"+r+"/testIds",schemaPath:"gap.schema.json/properties/testIds/minItems",keyword:"minItems",params:{limit:0},message:"must NOT have fewer than 0 items"};e===null?e=[n]:e.push(n),s++}let g=a.length;for(let n=0;n<g;n++){let u=a[n];if(typeof u=="string"){if(!G.test(u)){let P={instancePath:t+"/gaps/"+r+"/testIds/"+n,schemaPath:"gap.schema.json/properties/testIds/items/pattern",keyword:"pattern",params:{pattern:"^([A-Za-z0-9][A-Za-z0-9_-]{0,95}:)?[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^([A-Za-z0-9][A-Za-z0-9_-]{0,95}:)?[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[P]:e.push(P),s++}}else{let P={instancePath:t+"/gaps/"+r+"/testIds/"+n,schemaPath:"gap.schema.json/properties/testIds/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[P]:e.push(P),s++}}let m=a.length,y;if(m>1){let n={};for(;m--;){let u=a[m];if(typeof u=="string"){if(typeof n[u]=="number"){y=n[u];let P={instancePath:t+"/gaps/"+r+"/testIds",schemaPath:"gap.schema.json/properties/testIds/uniqueItems",keyword:"uniqueItems",params:{i:m,j:y},message:"must NOT have duplicate items (items ## "+y+" and "+m+" are identical)"};e===null?e=[P]:e.push(P),s++;break}n[u]=m}}}}else{let g={instancePath:t+"/gaps/"+r+"/testIds",schemaPath:"gap.schema.json/properties/testIds/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[g]:e.push(g),s++}}if(i.question!==void 0){let a=i.question;if(typeof a=="string"){if(A(a)<1){let g={instancePath:t+"/gaps/"+r+"/question",schemaPath:"gap.schema.json/properties/question/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[g]:e.push(g),s++}}else{let g={instancePath:t+"/gaps/"+r+"/question",schemaPath:"gap.schema.json/properties/question/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[g]:e.push(g),s++}}if(i.consequence!==void 0){let a=i.consequence;if(typeof a=="string"){if(A(a)<1){let g={instancePath:t+"/gaps/"+r+"/consequence",schemaPath:"gap.schema.json/properties/consequence/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[g]:e.push(g),s++}}else{let g={instancePath:t+"/gaps/"+r+"/consequence",schemaPath:"gap.schema.json/properties/consequence/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[g]:e.push(g),s++}}if(i.decisionId!==void 0){let a=i.decisionId,g=s,m=!1,y=s;if(typeof a=="string"){if(!j.test(a)){let n={instancePath:t+"/gaps/"+r+"/decisionId",schemaPath:"gap.schema.json/properties/decisionId/anyOf/0/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[n]:e.push(n),s++}}else{let n={instancePath:t+"/gaps/"+r+"/decisionId",schemaPath:"gap.schema.json/properties/decisionId/anyOf/0/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}var o=y===s;if(m=m||o,!m){let n=s;if(a!==null){let P={instancePath:t+"/gaps/"+r+"/decisionId",schemaPath:"gap.schema.json/properties/decisionId/anyOf/1/type",keyword:"type",params:{type:"null"},message:"must be null"};e===null?e=[P]:e.push(P),s++}var o=n===s;m=m||o}if(m)s=g,e!==null&&(g?e.length=g:e=null);else{let n={instancePath:t+"/gaps/"+r+"/decisionId",schemaPath:"gap.schema.json/properties/decisionId/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};e===null?e=[n]:e.push(n),s++}}}else{let a={instancePath:t+"/gaps/"+r,schemaPath:"gap.schema.json/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[a]:e.push(a),s++}}let p=h.length,l;if(p>1){e:for(;p--;)for(l=p;l--;)if($(h[p],h[l])){let r={instancePath:t+"/gaps",schemaPath:"#/properties/gaps/uniqueItems",keyword:"uniqueItems",params:{i:p,j:l},message:"must NOT have duplicate items (items ## "+l+" and "+p+" are identical)"};e===null?e=[r]:e.push(r),s++;break e}}}else{let c={instancePath:t+"/gaps",schemaPath:"#/properties/gaps/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[c]:e.push(c),s++}}if(d.assumptions!==void 0){let h=d.assumptions;if(Array.isArray(h)){if(h.length<0){let r={instancePath:t+"/assumptions",schemaPath:"#/properties/assumptions/minItems",keyword:"minItems",params:{limit:0},message:"must NOT have fewer than 0 items"};e===null?e=[r]:e.push(r),s++}let c=h.length;for(let r=0;r<c;r++){let i=h[r];if(i&&typeof i=="object"&&!Array.isArray(i)){if(i.decisionId===void 0){let a={instancePath:t+"/assumptions/"+r,schemaPath:"#/properties/assumptions/items/required",keyword:"required",params:{missingProperty:"decisionId"},message:"must have required property 'decisionId'"};e===null?e=[a]:e.push(a),s++}if(i.text===void 0){let a={instancePath:t+"/assumptions/"+r,schemaPath:"#/properties/assumptions/items/required",keyword:"required",params:{missingProperty:"text"},message:"must have required property 'text'"};e===null?e=[a]:e.push(a),s++}for(let a in i)if(!(a==="decisionId"||a==="text")){let g={instancePath:t+"/assumptions/"+r,schemaPath:"#/properties/assumptions/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:a},message:"must NOT have additional properties"};e===null?e=[g]:e.push(g),s++}if(i.decisionId!==void 0){let a=i.decisionId;if(typeof a=="string"){if(!j.test(a)){let g={instancePath:t+"/assumptions/"+r+"/decisionId",schemaPath:"#/properties/assumptions/items/properties/decisionId/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[g]:e.push(g),s++}}else{let g={instancePath:t+"/assumptions/"+r+"/decisionId",schemaPath:"#/properties/assumptions/items/properties/decisionId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[g]:e.push(g),s++}}if(i.text!==void 0){let a=i.text;if(typeof a=="string"){if(A(a)<1){let g={instancePath:t+"/assumptions/"+r+"/text",schemaPath:"#/properties/assumptions/items/properties/text/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[g]:e.push(g),s++}}else{let g={instancePath:t+"/assumptions/"+r+"/text",schemaPath:"#/properties/assumptions/items/properties/text/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[g]:e.push(g),s++}}}else{let a={instancePath:t+"/assumptions/"+r,schemaPath:"#/properties/assumptions/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[a]:e.push(a),s++}}let p=h.length,l;if(p>1){e:for(;p--;)for(l=p;l--;)if($(h[p],h[l])){let r={instancePath:t+"/assumptions",schemaPath:"#/properties/assumptions/uniqueItems",keyword:"uniqueItems",params:{i:p,j:l},message:"must NOT have duplicate items (items ## "+l+" and "+p+" are identical)"};e===null?e=[r]:e.push(r),s++;break e}}}else{let c={instancePath:t+"/assumptions",schemaPath:"#/properties/assumptions/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[c]:e.push(c),s++}}if(d.decisions!==void 0){let h=d.decisions;if(Array.isArray(h)){if(h.length<0){let r={instancePath:t+"/decisions",schemaPath:"#/properties/decisions/minItems",keyword:"minItems",params:{limit:0},message:"must NOT have fewer than 0 items"};e===null?e=[r]:e.push(r),s++}let c=h.length;for(let r=0;r<c;r++){let i=h[r];if(i&&typeof i=="object"&&!Array.isArray(i)){if(i.id===void 0){let a={instancePath:t+"/decisions/"+r,schemaPath:"#/properties/decisions/items/required",keyword:"required",params:{missingProperty:"id"},message:"must have required property 'id'"};e===null?e=[a]:e.push(a),s++}if(i.gapId===void 0){let a={instancePath:t+"/decisions/"+r,schemaPath:"#/properties/decisions/items/required",keyword:"required",params:{missingProperty:"gapId"},message:"must have required property 'gapId'"};e===null?e=[a]:e.push(a),s++}if(i.kind===void 0){let a={instancePath:t+"/decisions/"+r,schemaPath:"#/properties/decisions/items/required",keyword:"required",params:{missingProperty:"kind"},message:"must have required property 'kind'"};e===null?e=[a]:e.push(a),s++}if(i.actor===void 0){let a={instancePath:t+"/decisions/"+r,schemaPath:"#/properties/decisions/items/required",keyword:"required",params:{missingProperty:"actor"},message:"must have required property 'actor'"};e===null?e=[a]:e.push(a),s++}if(i.rationale===void 0){let a={instancePath:t+"/decisions/"+r,schemaPath:"#/properties/decisions/items/required",keyword:"required",params:{missingProperty:"rationale"},message:"must have required property 'rationale'"};e===null?e=[a]:e.push(a),s++}if(i.value===void 0){let a={instancePath:t+"/decisions/"+r,schemaPath:"#/properties/decisions/items/required",keyword:"required",params:{missingProperty:"value"},message:"must have required property 'value'"};e===null?e=[a]:e.push(a),s++}if(i.source===void 0){let a={instancePath:t+"/decisions/"+r,schemaPath:"#/properties/decisions/items/required",keyword:"required",params:{missingProperty:"source"},message:"must have required property 'source'"};e===null?e=[a]:e.push(a),s++}for(let a in i)if(!(a==="id"||a==="gapId"||a==="kind"||a==="actor"||a==="rationale"||a==="value"||a==="source")){let g={instancePath:t+"/decisions/"+r,schemaPath:"#/properties/decisions/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:a},message:"must NOT have additional properties"};e===null?e=[g]:e.push(g),s++}if(i.id!==void 0){let a=i.id;if(typeof a=="string"){if(!j.test(a)){let g={instancePath:t+"/decisions/"+r+"/id",schemaPath:"#/properties/decisions/items/properties/id/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[g]:e.push(g),s++}}else{let g={instancePath:t+"/decisions/"+r+"/id",schemaPath:"#/properties/decisions/items/properties/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[g]:e.push(g),s++}}if(i.gapId!==void 0){let a=i.gapId;if(typeof a=="string"){if(!j.test(a)){let g={instancePath:t+"/decisions/"+r+"/gapId",schemaPath:"#/properties/decisions/items/properties/gapId/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[g]:e.push(g),s++}}else{let g={instancePath:t+"/decisions/"+r+"/gapId",schemaPath:"#/properties/decisions/items/properties/gapId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[g]:e.push(g),s++}}if(i.kind!==void 0){let a=i.kind;if(!(a==="clarify"||a==="accept_assumption"||a==="defer")){let g={instancePath:t+"/decisions/"+r+"/kind",schemaPath:"#/properties/decisions/items/properties/kind/enum",keyword:"enum",params:{allowedValues:se.properties.decisions.items.properties.kind.enum},message:"must be equal to one of the allowed values"};e===null?e=[g]:e.push(g),s++}}if(i.actor!==void 0){let a=i.actor;if(typeof a=="string"){if(A(a)<1){let g={instancePath:t+"/decisions/"+r+"/actor",schemaPath:"#/properties/decisions/items/properties/actor/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[g]:e.push(g),s++}}else{let g={instancePath:t+"/decisions/"+r+"/actor",schemaPath:"#/properties/decisions/items/properties/actor/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[g]:e.push(g),s++}}if(i.rationale!==void 0){let a=i.rationale;if(typeof a=="string"){if(A(a)<1){let g={instancePath:t+"/decisions/"+r+"/rationale",schemaPath:"#/properties/decisions/items/properties/rationale/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[g]:e.push(g),s++}}else{let g={instancePath:t+"/decisions/"+r+"/rationale",schemaPath:"#/properties/decisions/items/properties/rationale/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[g]:e.push(g),s++}}if(i.value!==void 0){let a=i.value;if(typeof a=="string"){if(A(a)<1){let g={instancePath:t+"/decisions/"+r+"/value",schemaPath:"#/properties/decisions/items/properties/value/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[g]:e.push(g),s++}}else{let g={instancePath:t+"/decisions/"+r+"/value",schemaPath:"#/properties/decisions/items/properties/value/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[g]:e.push(g),s++}}if(i.source!==void 0){let a=i.source,g=s,m=!1,y=s;if(typeof a=="string"){if(A(a)<1){let n={instancePath:t+"/decisions/"+r+"/source",schemaPath:"#/properties/decisions/items/properties/source/anyOf/0/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[n]:e.push(n),s++}}else{let n={instancePath:t+"/decisions/"+r+"/source",schemaPath:"#/properties/decisions/items/properties/source/anyOf/0/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}var f=y===s;if(m=m||f,!m){let n=s;if(a!==null){let P={instancePath:t+"/decisions/"+r+"/source",schemaPath:"#/properties/decisions/items/properties/source/anyOf/1/type",keyword:"type",params:{type:"null"},message:"must be null"};e===null?e=[P]:e.push(P),s++}var f=n===s;m=m||f}if(m)s=g,e!==null&&(g?e.length=g:e=null);else{let n={instancePath:t+"/decisions/"+r+"/source",schemaPath:"#/properties/decisions/items/properties/source/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};e===null?e=[n]:e.push(n),s++}}}else{let a={instancePath:t+"/decisions/"+r,schemaPath:"#/properties/decisions/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[a]:e.push(a),s++}}let p=h.length,l;if(p>1){e:for(;p--;)for(l=p;l--;)if($(h[p],h[l])){let r={instancePath:t+"/decisions",schemaPath:"#/properties/decisions/uniqueItems",keyword:"uniqueItems",params:{i:p,j:l},message:"must NOT have duplicate items (items ## "+l+" and "+p+" are identical)"};e===null?e=[r]:e.push(r),s++;break e}}}else{let c={instancePath:t+"/decisions",schemaPath:"#/properties/decisions/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[c]:e.push(c),s++}}if(d.coverage!==void 0){let h=d.coverage;if(Array.isArray(h)){if(h.length<1){let r={instancePath:t+"/coverage",schemaPath:"#/properties/coverage/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"};e===null?e=[r]:e.push(r),s++}let c=h.length;for(let r=0;r<c;r++){let i=h[r];if(i&&typeof i=="object"&&!Array.isArray(i)){if(i.requirementId===void 0){let a={instancePath:t+"/coverage/"+r,schemaPath:"#/properties/coverage/items/required",keyword:"required",params:{missingProperty:"requirementId"},message:"must have required property 'requirementId'"};e===null?e=[a]:e.push(a),s++}if(i.testIds===void 0){let a={instancePath:t+"/coverage/"+r,schemaPath:"#/properties/coverage/items/required",keyword:"required",params:{missingProperty:"testIds"},message:"must have required property 'testIds'"};e===null?e=[a]:e.push(a),s++}if(i.status===void 0){let a={instancePath:t+"/coverage/"+r,schemaPath:"#/properties/coverage/items/required",keyword:"required",params:{missingProperty:"status"},message:"must have required property 'status'"};e===null?e=[a]:e.push(a),s++}for(let a in i)if(!(a==="requirementId"||a==="testIds"||a==="status")){let g={instancePath:t+"/coverage/"+r,schemaPath:"#/properties/coverage/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:a},message:"must NOT have additional properties"};e===null?e=[g]:e.push(g),s++}if(i.requirementId!==void 0){let a=i.requirementId;if(typeof a=="string"){if(!j.test(a)){let g={instancePath:t+"/coverage/"+r+"/requirementId",schemaPath:"#/properties/coverage/items/properties/requirementId/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[g]:e.push(g),s++}}else{let g={instancePath:t+"/coverage/"+r+"/requirementId",schemaPath:"#/properties/coverage/items/properties/requirementId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[g]:e.push(g),s++}}if(i.testIds!==void 0){let a=i.testIds;if(Array.isArray(a)){if(a.length<0){let n={instancePath:t+"/coverage/"+r+"/testIds",schemaPath:"#/properties/coverage/items/properties/testIds/minItems",keyword:"minItems",params:{limit:0},message:"must NOT have fewer than 0 items"};e===null?e=[n]:e.push(n),s++}let g=a.length;for(let n=0;n<g;n++){let u=a[n];if(typeof u=="string"){if(!j.test(u)){let P={instancePath:t+"/coverage/"+r+"/testIds/"+n,schemaPath:"#/properties/coverage/items/properties/testIds/items/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[P]:e.push(P),s++}}else{let P={instancePath:t+"/coverage/"+r+"/testIds/"+n,schemaPath:"#/properties/coverage/items/properties/testIds/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[P]:e.push(P),s++}}let m=a.length,y;if(m>1){let n={};for(;m--;){let u=a[m];if(typeof u=="string"){if(typeof n[u]=="number"){y=n[u];let P={instancePath:t+"/coverage/"+r+"/testIds",schemaPath:"#/properties/coverage/items/properties/testIds/uniqueItems",keyword:"uniqueItems",params:{i:m,j:y},message:"must NOT have duplicate items (items ## "+y+" and "+m+" are identical)"};e===null?e=[P]:e.push(P),s++;break}n[u]=m}}}}else{let g={instancePath:t+"/coverage/"+r+"/testIds",schemaPath:"#/properties/coverage/items/properties/testIds/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[g]:e.push(g),s++}}if(i.status!==void 0){let a=i.status;if(!(a==="planned"||a==="blocked"||a==="deferred")){let g={instancePath:t+"/coverage/"+r+"/status",schemaPath:"#/properties/coverage/items/properties/status/enum",keyword:"enum",params:{allowedValues:se.properties.coverage.items.properties.status.enum},message:"must be equal to one of the allowed values"};e===null?e=[g]:e.push(g),s++}}}else{let a={instancePath:t+"/coverage/"+r,schemaPath:"#/properties/coverage/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[a]:e.push(a),s++}}let p=h.length,l;if(p>1){e:for(;p--;)for(l=p;l--;)if($(h[p],h[l])){let r={instancePath:t+"/coverage",schemaPath:"#/properties/coverage/uniqueItems",keyword:"uniqueItems",params:{i:p,j:l},message:"must NOT have duplicate items (items ## "+l+" and "+p+" are identical)"};e===null?e=[r]:e.push(r),s++;break e}}}else{let c={instancePath:t+"/coverage",schemaPath:"#/properties/coverage/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[c]:e.push(c),s++}}}else{let h={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[h]:e.push(h),s++}return Ae.errors=e,s===0}var ps=je,C={$schema:"http://json-schema.org/draft-07/schema#",$id:"profile.schema.json",type:"object",properties:{contractVersion:{const:"toolkit-2"},targetId:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},revision:{type:"integer",minimum:1},baseUrl:{type:"string",format:"uri"},environment:{type:"string",minLength:1},capabilities:{type:"array",items:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},minItems:1,uniqueItems:!0},tools:{type:"array",items:{type:"object",properties:{name:{type:"string",minLength:1},kind:{enum:["cli","mcp","skill"]},purpose:{type:"string",minLength:1},version:{type:"string",minLength:1},reachable:{type:"boolean"}},required:["name","kind","purpose","reachable"],additionalProperties:!1},minItems:0,uniqueItems:!0},authentication:{type:"object",properties:{kind:{enum:["none","environment","browser_session"]},references:{type:"array",items:{type:"string",minLength:1},minItems:0,uniqueItems:!0}},required:["kind","references"],additionalProperties:!1},allowedOperations:{type:"array",items:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},minItems:1,uniqueItems:!0},startup:{type:"object",properties:{owner:{enum:["factory","checkmate"]},command:{anyOf:[{type:"array",items:{type:"string",minLength:1},minItems:1,uniqueItems:!0},{type:"null"}]}},required:["owner","command"],additionalProperties:!1},cleanup:{type:"string",minLength:1},readyForLiveExecution:{type:"boolean"},approvals:{type:"object",properties:{plan:{enum:["required","none"]},result:{enum:["required","none"]}},required:["plan","result"],additionalProperties:!1}},required:["contractVersion","targetId","revision","baseUrl","environment","capabilities","tools","authentication","allowedOperations","startup","cleanup","readyForLiveExecution"],additionalProperties:!1},Se=Q().fullFormats.uri;function je(d,{instancePath:t="",parentData:O,parentDataProperty:z,rootData:Z=d}={}){let e=null,s=0;if(d&&typeof d=="object"&&!Array.isArray(d)){if(d.contractVersion===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"contractVersion"},message:"must have required property 'contractVersion'"};e===null?e=[o]:e.push(o),s++}if(d.targetId===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"targetId"},message:"must have required property 'targetId'"};e===null?e=[o]:e.push(o),s++}if(d.revision===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"revision"},message:"must have required property 'revision'"};e===null?e=[o]:e.push(o),s++}if(d.baseUrl===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"baseUrl"},message:"must have required property 'baseUrl'"};e===null?e=[o]:e.push(o),s++}if(d.environment===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"environment"},message:"must have required property 'environment'"};e===null?e=[o]:e.push(o),s++}if(d.capabilities===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"capabilities"},message:"must have required property 'capabilities'"};e===null?e=[o]:e.push(o),s++}if(d.tools===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"tools"},message:"must have required property 'tools'"};e===null?e=[o]:e.push(o),s++}if(d.authentication===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"authentication"},message:"must have required property 'authentication'"};e===null?e=[o]:e.push(o),s++}if(d.allowedOperations===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"allowedOperations"},message:"must have required property 'allowedOperations'"};e===null?e=[o]:e.push(o),s++}if(d.startup===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"startup"},message:"must have required property 'startup'"};e===null?e=[o]:e.push(o),s++}if(d.cleanup===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"cleanup"},message:"must have required property 'cleanup'"};e===null?e=[o]:e.push(o),s++}if(d.readyForLiveExecution===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"readyForLiveExecution"},message:"must have required property 'readyForLiveExecution'"};e===null?e=[o]:e.push(o),s++}for(let o in d)if(!E.call(C.properties,o)){let f={instancePath:t,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:o},message:"must NOT have additional properties"};e===null?e=[f]:e.push(f),s++}if(d.contractVersion!==void 0&&d.contractVersion!=="toolkit-2"){let o={instancePath:t+"/contractVersion",schemaPath:"#/properties/contractVersion/const",keyword:"const",params:{allowedValue:"toolkit-2"},message:"must be equal to constant"};e===null?e=[o]:e.push(o),s++}if(d.targetId!==void 0){let o=d.targetId;if(typeof o=="string"){if(!j.test(o)){let f={instancePath:t+"/targetId",schemaPath:"#/properties/targetId/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[f]:e.push(f),s++}}else{let f={instancePath:t+"/targetId",schemaPath:"#/properties/targetId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[f]:e.push(f),s++}}if(d.revision!==void 0){let o=d.revision;if(!(typeof o=="number"&&!(o%1)&&!isNaN(o)&&isFinite(o))){let f={instancePath:t+"/revision",schemaPath:"#/properties/revision/type",keyword:"type",params:{type:"integer"},message:"must be integer"};e===null?e=[f]:e.push(f),s++}if(typeof o=="number"&&isFinite(o)&&(o<1||isNaN(o))){let f={instancePath:t+"/revision",schemaPath:"#/properties/revision/minimum",keyword:"minimum",params:{comparison:">=",limit:1},message:"must be >= 1"};e===null?e=[f]:e.push(f),s++}}if(d.baseUrl!==void 0){let o=d.baseUrl;if(typeof o=="string"){if(!Se(o)){let f={instancePath:t+"/baseUrl",schemaPath:"#/properties/baseUrl/format",keyword:"format",params:{format:"uri"},message:'must match format "uri"'};e===null?e=[f]:e.push(f),s++}}else{let f={instancePath:t+"/baseUrl",schemaPath:"#/properties/baseUrl/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[f]:e.push(f),s++}}if(d.environment!==void 0){let o=d.environment;if(typeof o=="string"){if(A(o)<1){let f={instancePath:t+"/environment",schemaPath:"#/properties/environment/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[f]:e.push(f),s++}}else{let f={instancePath:t+"/environment",schemaPath:"#/properties/environment/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[f]:e.push(f),s++}}if(d.capabilities!==void 0){let o=d.capabilities;if(Array.isArray(o)){if(o.length<1){let p={instancePath:t+"/capabilities",schemaPath:"#/properties/capabilities/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"};e===null?e=[p]:e.push(p),s++}let f=o.length;for(let p=0;p<f;p++){let l=o[p];if(typeof l=="string"){if(!j.test(l)){let r={instancePath:t+"/capabilities/"+p,schemaPath:"#/properties/capabilities/items/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[r]:e.push(r),s++}}else{let r={instancePath:t+"/capabilities/"+p,schemaPath:"#/properties/capabilities/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[r]:e.push(r),s++}}let h=o.length,c;if(h>1){let p={};for(;h--;){let l=o[h];if(typeof l=="string"){if(typeof p[l]=="number"){c=p[l];let r={instancePath:t+"/capabilities",schemaPath:"#/properties/capabilities/uniqueItems",keyword:"uniqueItems",params:{i:h,j:c},message:"must NOT have duplicate items (items ## "+c+" and "+h+" are identical)"};e===null?e=[r]:e.push(r),s++;break}p[l]=h}}}}else{let f={instancePath:t+"/capabilities",schemaPath:"#/properties/capabilities/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[f]:e.push(f),s++}}if(d.tools!==void 0){let o=d.tools;if(Array.isArray(o)){if(o.length<0){let p={instancePath:t+"/tools",schemaPath:"#/properties/tools/minItems",keyword:"minItems",params:{limit:0},message:"must NOT have fewer than 0 items"};e===null?e=[p]:e.push(p),s++}let f=o.length;for(let p=0;p<f;p++){let l=o[p];if(l&&typeof l=="object"&&!Array.isArray(l)){if(l.name===void 0){let r={instancePath:t+"/tools/"+p,schemaPath:"#/properties/tools/items/required",keyword:"required",params:{missingProperty:"name"},message:"must have required property 'name'"};e===null?e=[r]:e.push(r),s++}if(l.kind===void 0){let r={instancePath:t+"/tools/"+p,schemaPath:"#/properties/tools/items/required",keyword:"required",params:{missingProperty:"kind"},message:"must have required property 'kind'"};e===null?e=[r]:e.push(r),s++}if(l.purpose===void 0){let r={instancePath:t+"/tools/"+p,schemaPath:"#/properties/tools/items/required",keyword:"required",params:{missingProperty:"purpose"},message:"must have required property 'purpose'"};e===null?e=[r]:e.push(r),s++}if(l.reachable===void 0){let r={instancePath:t+"/tools/"+p,schemaPath:"#/properties/tools/items/required",keyword:"required",params:{missingProperty:"reachable"},message:"must have required property 'reachable'"};e===null?e=[r]:e.push(r),s++}for(let r in l)if(!(r==="name"||r==="kind"||r==="purpose"||r==="version"||r==="reachable")){let i={instancePath:t+"/tools/"+p,schemaPath:"#/properties/tools/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:r},message:"must NOT have additional properties"};e===null?e=[i]:e.push(i),s++}if(l.name!==void 0){let r=l.name;if(typeof r=="string"){if(A(r)<1){let i={instancePath:t+"/tools/"+p+"/name",schemaPath:"#/properties/tools/items/properties/name/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[i]:e.push(i),s++}}else{let i={instancePath:t+"/tools/"+p+"/name",schemaPath:"#/properties/tools/items/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}}if(l.kind!==void 0){let r=l.kind;if(!(r==="cli"||r==="mcp"||r==="skill")){let i={instancePath:t+"/tools/"+p+"/kind",schemaPath:"#/properties/tools/items/properties/kind/enum",keyword:"enum",params:{allowedValues:C.properties.tools.items.properties.kind.enum},message:"must be equal to one of the allowed values"};e===null?e=[i]:e.push(i),s++}}if(l.purpose!==void 0){let r=l.purpose;if(typeof r=="string"){if(A(r)<1){let i={instancePath:t+"/tools/"+p+"/purpose",schemaPath:"#/properties/tools/items/properties/purpose/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[i]:e.push(i),s++}}else{let i={instancePath:t+"/tools/"+p+"/purpose",schemaPath:"#/properties/tools/items/properties/purpose/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}}if(l.version!==void 0){let r=l.version;if(typeof r=="string"){if(A(r)<1){let i={instancePath:t+"/tools/"+p+"/version",schemaPath:"#/properties/tools/items/properties/version/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[i]:e.push(i),s++}}else{let i={instancePath:t+"/tools/"+p+"/version",schemaPath:"#/properties/tools/items/properties/version/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}}if(l.reachable!==void 0&&typeof l.reachable!="boolean"){let r={instancePath:t+"/tools/"+p+"/reachable",schemaPath:"#/properties/tools/items/properties/reachable/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[r]:e.push(r),s++}}else{let r={instancePath:t+"/tools/"+p,schemaPath:"#/properties/tools/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[r]:e.push(r),s++}}let h=o.length,c;if(h>1){e:for(;h--;)for(c=h;c--;)if($(o[h],o[c])){let p={instancePath:t+"/tools",schemaPath:"#/properties/tools/uniqueItems",keyword:"uniqueItems",params:{i:h,j:c},message:"must NOT have duplicate items (items ## "+c+" and "+h+" are identical)"};e===null?e=[p]:e.push(p),s++;break e}}}else{let f={instancePath:t+"/tools",schemaPath:"#/properties/tools/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[f]:e.push(f),s++}}if(d.authentication!==void 0){let o=d.authentication;if(o&&typeof o=="object"&&!Array.isArray(o)){if(o.kind===void 0){let f={instancePath:t+"/authentication",schemaPath:"#/properties/authentication/required",keyword:"required",params:{missingProperty:"kind"},message:"must have required property 'kind'"};e===null?e=[f]:e.push(f),s++}if(o.references===void 0){let f={instancePath:t+"/authentication",schemaPath:"#/properties/authentication/required",keyword:"required",params:{missingProperty:"references"},message:"must have required property 'references'"};e===null?e=[f]:e.push(f),s++}for(let f in o)if(!(f==="kind"||f==="references")){let h={instancePath:t+"/authentication",schemaPath:"#/properties/authentication/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:f},message:"must NOT have additional properties"};e===null?e=[h]:e.push(h),s++}if(o.kind!==void 0){let f=o.kind;if(!(f==="none"||f==="environment"||f==="browser_session")){let h={instancePath:t+"/authentication/kind",schemaPath:"#/properties/authentication/properties/kind/enum",keyword:"enum",params:{allowedValues:C.properties.authentication.properties.kind.enum},message:"must be equal to one of the allowed values"};e===null?e=[h]:e.push(h),s++}}if(o.references!==void 0){let f=o.references;if(Array.isArray(f)){if(f.length<0){let l={instancePath:t+"/authentication/references",schemaPath:"#/properties/authentication/properties/references/minItems",keyword:"minItems",params:{limit:0},message:"must NOT have fewer than 0 items"};e===null?e=[l]:e.push(l),s++}let h=f.length;for(let l=0;l<h;l++){let r=f[l];if(typeof r=="string"){if(A(r)<1){let i={instancePath:t+"/authentication/references/"+l,schemaPath:"#/properties/authentication/properties/references/items/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[i]:e.push(i),s++}}else{let i={instancePath:t+"/authentication/references/"+l,schemaPath:"#/properties/authentication/properties/references/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}}let c=f.length,p;if(c>1){let l={};for(;c--;){let r=f[c];if(typeof r=="string"){if(typeof l[r]=="number"){p=l[r];let i={instancePath:t+"/authentication/references",schemaPath:"#/properties/authentication/properties/references/uniqueItems",keyword:"uniqueItems",params:{i:c,j:p},message:"must NOT have duplicate items (items ## "+p+" and "+c+" are identical)"};e===null?e=[i]:e.push(i),s++;break}l[r]=c}}}}else{let h={instancePath:t+"/authentication/references",schemaPath:"#/properties/authentication/properties/references/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[h]:e.push(h),s++}}}else{let f={instancePath:t+"/authentication",schemaPath:"#/properties/authentication/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[f]:e.push(f),s++}}if(d.allowedOperations!==void 0){let o=d.allowedOperations;if(Array.isArray(o)){if(o.length<1){let p={instancePath:t+"/allowedOperations",schemaPath:"#/properties/allowedOperations/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"};e===null?e=[p]:e.push(p),s++}let f=o.length;for(let p=0;p<f;p++){let l=o[p];if(typeof l=="string"){if(!j.test(l)){let r={instancePath:t+"/allowedOperations/"+p,schemaPath:"#/properties/allowedOperations/items/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[r]:e.push(r),s++}}else{let r={instancePath:t+"/allowedOperations/"+p,schemaPath:"#/properties/allowedOperations/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[r]:e.push(r),s++}}let h=o.length,c;if(h>1){let p={};for(;h--;){let l=o[h];if(typeof l=="string"){if(typeof p[l]=="number"){c=p[l];let r={instancePath:t+"/allowedOperations",schemaPath:"#/properties/allowedOperations/uniqueItems",keyword:"uniqueItems",params:{i:h,j:c},message:"must NOT have duplicate items (items ## "+c+" and "+h+" are identical)"};e===null?e=[r]:e.push(r),s++;break}p[l]=h}}}}else{let f={instancePath:t+"/allowedOperations",schemaPath:"#/properties/allowedOperations/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[f]:e.push(f),s++}}if(d.startup!==void 0){let o=d.startup;if(o&&typeof o=="object"&&!Array.isArray(o)){if(o.owner===void 0){let f={instancePath:t+"/startup",schemaPath:"#/properties/startup/required",keyword:"required",params:{missingProperty:"owner"},message:"must have required property 'owner'"};e===null?e=[f]:e.push(f),s++}if(o.command===void 0){let f={instancePath:t+"/startup",schemaPath:"#/properties/startup/required",keyword:"required",params:{missingProperty:"command"},message:"must have required property 'command'"};e===null?e=[f]:e.push(f),s++}for(let f in o)if(!(f==="owner"||f==="command")){let h={instancePath:t+"/startup",schemaPath:"#/properties/startup/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:f},message:"must NOT have additional properties"};e===null?e=[h]:e.push(h),s++}if(o.owner!==void 0){let f=o.owner;if(!(f==="factory"||f==="checkmate")){let h={instancePath:t+"/startup/owner",schemaPath:"#/properties/startup/properties/owner/enum",keyword:"enum",params:{allowedValues:C.properties.startup.properties.owner.enum},message:"must be equal to one of the allowed values"};e===null?e=[h]:e.push(h),s++}}if(o.command!==void 0){let f=o.command,h=s,c=!1,p=s;if(Array.isArray(f)){if(f.length<1){let a={instancePath:t+"/startup/command",schemaPath:"#/properties/startup/properties/command/anyOf/0/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"};e===null?e=[a]:e.push(a),s++}let l=f.length;for(let a=0;a<l;a++){let g=f[a];if(typeof g=="string"){if(A(g)<1){let m={instancePath:t+"/startup/command/"+a,schemaPath:"#/properties/startup/properties/command/anyOf/0/items/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[m]:e.push(m),s++}}else{let m={instancePath:t+"/startup/command/"+a,schemaPath:"#/properties/startup/properties/command/anyOf/0/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}}let r=f.length,i;if(r>1){let a={};for(;r--;){let g=f[r];if(typeof g=="string"){if(typeof a[g]=="number"){i=a[g];let m={instancePath:t+"/startup/command",schemaPath:"#/properties/startup/properties/command/anyOf/0/uniqueItems",keyword:"uniqueItems",params:{i:r,j:i},message:"must NOT have duplicate items (items ## "+i+" and "+r+" are identical)"};e===null?e=[m]:e.push(m),s++;break}a[g]=r}}}}else{let l={instancePath:t+"/startup/command",schemaPath:"#/properties/startup/properties/command/anyOf/0/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[l]:e.push(l),s++}var q=p===s;if(c=c||q,!c){let l=s;if(f!==null){let i={instancePath:t+"/startup/command",schemaPath:"#/properties/startup/properties/command/anyOf/1/type",keyword:"type",params:{type:"null"},message:"must be null"};e===null?e=[i]:e.push(i),s++}var q=l===s;c=c||q}if(c)s=h,e!==null&&(h?e.length=h:e=null);else{let l={instancePath:t+"/startup/command",schemaPath:"#/properties/startup/properties/command/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};e===null?e=[l]:e.push(l),s++}}}else{let f={instancePath:t+"/startup",schemaPath:"#/properties/startup/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[f]:e.push(f),s++}}if(d.cleanup!==void 0){let o=d.cleanup;if(typeof o=="string"){if(A(o)<1){let f={instancePath:t+"/cleanup",schemaPath:"#/properties/cleanup/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[f]:e.push(f),s++}}else{let f={instancePath:t+"/cleanup",schemaPath:"#/properties/cleanup/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[f]:e.push(f),s++}}if(d.readyForLiveExecution!==void 0&&typeof d.readyForLiveExecution!="boolean"){let o={instancePath:t+"/readyForLiveExecution",schemaPath:"#/properties/readyForLiveExecution/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[o]:e.push(o),s++}if(d.approvals!==void 0){let o=d.approvals;if(o&&typeof o=="object"&&!Array.isArray(o)){if(o.plan===void 0){let f={instancePath:t+"/approvals",schemaPath:"#/properties/approvals/required",keyword:"required",params:{missingProperty:"plan"},message:"must have required property 'plan'"};e===null?e=[f]:e.push(f),s++}if(o.result===void 0){let f={instancePath:t+"/approvals",schemaPath:"#/properties/approvals/required",keyword:"required",params:{missingProperty:"result"},message:"must have required property 'result'"};e===null?e=[f]:e.push(f),s++}for(let f in o)if(!(f==="plan"||f==="result")){let h={instancePath:t+"/approvals",schemaPath:"#/properties/approvals/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:f},message:"must NOT have additional properties"};e===null?e=[h]:e.push(h),s++}if(o.plan!==void 0){let f=o.plan;if(!(f==="required"||f==="none")){let h={instancePath:t+"/approvals/plan",schemaPath:"#/properties/approvals/properties/plan/enum",keyword:"enum",params:{allowedValues:C.properties.approvals.properties.plan.enum},message:"must be equal to one of the allowed values"};e===null?e=[h]:e.push(h),s++}}if(o.result!==void 0){let f=o.result;if(!(f==="required"||f==="none")){let h={instancePath:t+"/approvals/result",schemaPath:"#/properties/approvals/properties/result/enum",keyword:"enum",params:{allowedValues:C.properties.approvals.properties.result.enum},message:"must be equal to one of the allowed values"};e===null?e=[h]:e.push(h),s++}}}else{let f={instancePath:t+"/approvals",schemaPath:"#/properties/approvals/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[f]:e.push(f),s++}}}else{let o={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[o]:e.push(o),s++}return je.errors=e,s===0}var os=ze,He={$schema:"http://json-schema.org/draft-07/schema#",$id:"response.schema.json",type:"object",properties:{status:{enum:["completed","needs_decision","interrupted","operational_error","rejected"]},subject:{type:"string",minLength:1},reasons:{type:"array",items:{type:"string",minLength:1},minItems:0,uniqueItems:!0}},required:["status","subject","reasons"],additionalProperties:!1};function ze(d,{instancePath:t="",parentData:O,parentDataProperty:z,rootData:Z=d}={}){let e=null,s=0;if(d&&typeof d=="object"&&!Array.isArray(d)){if(d.status===void 0){let q={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"status"},message:"must have required property 'status'"};e===null?e=[q]:e.push(q),s++}if(d.subject===void 0){let q={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"subject"},message:"must have required property 'subject'"};e===null?e=[q]:e.push(q),s++}if(d.reasons===void 0){let q={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"reasons"},message:"must have required property 'reasons'"};e===null?e=[q]:e.push(q),s++}for(let q in d)if(!(q==="status"||q==="subject"||q==="reasons")){let o={instancePath:t,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:q},message:"must NOT have additional properties"};e===null?e=[o]:e.push(o),s++}if(d.status!==void 0){let q=d.status;if(!(q==="completed"||q==="needs_decision"||q==="interrupted"||q==="operational_error"||q==="rejected")){let o={instancePath:t+"/status",schemaPath:"#/properties/status/enum",keyword:"enum",params:{allowedValues:He.properties.status.enum},message:"must be equal to one of the allowed values"};e===null?e=[o]:e.push(o),s++}}if(d.subject!==void 0){let q=d.subject;if(typeof q=="string"){if(A(q)<1){let o={instancePath:t+"/subject",schemaPath:"#/properties/subject/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[o]:e.push(o),s++}}else{let o={instancePath:t+"/subject",schemaPath:"#/properties/subject/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}}if(d.reasons!==void 0){let q=d.reasons;if(Array.isArray(q)){if(q.length<0){let c={instancePath:t+"/reasons",schemaPath:"#/properties/reasons/minItems",keyword:"minItems",params:{limit:0},message:"must NOT have fewer than 0 items"};e===null?e=[c]:e.push(c),s++}let o=q.length;for(let c=0;c<o;c++){let p=q[c];if(typeof p=="string"){if(A(p)<1){let l={instancePath:t+"/reasons/"+c,schemaPath:"#/properties/reasons/items/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[l]:e.push(l),s++}}else{let l={instancePath:t+"/reasons/"+c,schemaPath:"#/properties/reasons/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}}let f=q.length,h;if(f>1){let c={};for(;f--;){let p=q[f];if(typeof p=="string"){if(typeof c[p]=="number"){h=c[p];let l={instancePath:t+"/reasons",schemaPath:"#/properties/reasons/uniqueItems",keyword:"uniqueItems",params:{i:f,j:h},message:"must NOT have duplicate items (items ## "+h+" and "+f+" are identical)"};e===null?e=[l]:e.push(l),s++;break}c[p]=f}}}}else{let o={instancePath:t+"/reasons",schemaPath:"#/properties/reasons/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[o]:e.push(o),s++}}}else{let q={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[q]:e.push(q),s++}return ze.errors=e,s===0}var ms=Oe,L={$schema:"http://json-schema.org/draft-07/schema#",$id:"result.schema.json",type:"object",properties:{contractVersion:{const:"toolkit-2"},runId:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},plan:{type:"object",properties:{planId:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},revision:{type:"integer",minimum:1},sha256:{type:"string",pattern:"^[a-f0-9]{64}$"}},required:["planId","revision","sha256"],additionalProperties:!1},target:{type:"object",properties:{targetId:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},revision:{type:"integer",minimum:1},sha256:{type:"string",pattern:"^[a-f0-9]{64}$"}},required:["targetId","revision","sha256"],additionalProperties:!1},applicationBuild:{type:"string",minLength:1},selectedTestIds:{type:"array",items:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},minItems:1,uniqueItems:!0},retestOf:{anyOf:[{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},{type:"null"}]},startedAt:{type:"string",format:"date-time"},finishedAt:{type:"string",format:"date-time"},attempts:{type:"integer",minimum:1},completion:{enum:["completed","interrupted","operational_error"]},tests:{type:"array",items:{type:"object",properties:{testId:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},outcome:{enum:["passed","failed","inconclusive","blocked","not_run","error"]},reason:{anyOf:[{type:"string",minLength:1},{type:"null"}]},assertions:{type:"array",items:{type:"object",properties:{assertionId:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},check:{type:"string",minLength:1},checkKind:{enum:["deterministic","agent_observation"]},result:{enum:["passed","failed","inconclusive","not_checked"]},observed:{anyOf:[{type:"string",minLength:1},{type:"null"}]},reason:{anyOf:[{type:"string",minLength:1},{type:"null"}]},evidenceIds:{type:"array",items:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},minItems:0,uniqueItems:!0}},required:["assertionId","check","checkKind","result","observed","reason","evidenceIds"],additionalProperties:!1},minItems:0,uniqueItems:!0}},required:["testId","outcome","reason","assertions"],additionalProperties:!1},minItems:1,uniqueItems:!0},findings:{type:"array",items:{type:"object",properties:{id:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},type:{enum:["defect","potential_issue"]},severity:{enum:["low","medium","high","critical"]},requirementIds:{type:"array",items:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},minItems:1,uniqueItems:!0},title:{type:"string",minLength:1},expected:{type:"string",minLength:1},observed:{type:"string",minLength:1},reproduction:{type:"array",items:{type:"string",minLength:1},minItems:1,uniqueItems:!0},evidenceIds:{type:"array",items:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},minItems:1,uniqueItems:!0},testIds:{type:"array",items:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},minItems:1,uniqueItems:!0},assertionIds:{type:"array",items:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}\\.[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},minItems:1,uniqueItems:!0}},required:["id","type","severity","requirementIds","title","expected","observed","reproduction","evidenceIds","testIds","assertionIds"],additionalProperties:!1},minItems:0,uniqueItems:!0},newGaps:{type:"array",items:{$ref:"gap.schema.json"},minItems:0,uniqueItems:!0},evidence:{type:"array",items:{type:"object",properties:{id:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},testId:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},assertionId:{anyOf:[{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},{type:"null"}]},kind:{enum:["observation","http_exchange","screenshot","trace"]},name:{type:"string",minLength:1},mediaType:{type:"string",minLength:1},sha256:{type:"string",pattern:"^[a-f0-9]{64}$"},size:{type:"integer",minimum:0}},required:["id","testId","assertionId","kind","name","mediaType","sha256","size"],additionalProperties:!1},minItems:0,uniqueItems:!0},cleanup:{type:"object",properties:{status:{enum:["completed","failed","not_applicable"]},reason:{type:"string",minLength:1}},required:["status","reason"],additionalProperties:!1},coverage:{type:"object",properties:{status:{enum:["complete","partial","not_executed"]},requirements:{type:"array",items:{type:"object",properties:{requirementId:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},status:{enum:["tested","deferred","uncovered"]},testIds:{type:"array",items:{type:"string",pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},minItems:0,uniqueItems:!0},reason:{anyOf:[{type:"string",minLength:1},{type:"null"}]}},required:["requirementId","status","testIds","reason"],additionalProperties:!1},minItems:1,uniqueItems:!0}},required:["status","requirements"],additionalProperties:!1}},required:["contractVersion","runId","plan","target","applicationBuild","selectedTestIds","retestOf","startedAt","finishedAt","attempts","completion","tests","findings","newGaps","evidence","cleanup","coverage"],additionalProperties:!1},ye=Q().fullFormats["date-time"];function Oe(d,{instancePath:t="",parentData:O,parentDataProperty:z,rootData:Z=d}={}){let e=null,s=0;if(d&&typeof d=="object"&&!Array.isArray(d)){if(d.contractVersion===void 0){let r={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"contractVersion"},message:"must have required property 'contractVersion'"};e===null?e=[r]:e.push(r),s++}if(d.runId===void 0){let r={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"runId"},message:"must have required property 'runId'"};e===null?e=[r]:e.push(r),s++}if(d.plan===void 0){let r={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"plan"},message:"must have required property 'plan'"};e===null?e=[r]:e.push(r),s++}if(d.target===void 0){let r={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"target"},message:"must have required property 'target'"};e===null?e=[r]:e.push(r),s++}if(d.applicationBuild===void 0){let r={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"applicationBuild"},message:"must have required property 'applicationBuild'"};e===null?e=[r]:e.push(r),s++}if(d.selectedTestIds===void 0){let r={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"selectedTestIds"},message:"must have required property 'selectedTestIds'"};e===null?e=[r]:e.push(r),s++}if(d.retestOf===void 0){let r={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"retestOf"},message:"must have required property 'retestOf'"};e===null?e=[r]:e.push(r),s++}if(d.startedAt===void 0){let r={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"startedAt"},message:"must have required property 'startedAt'"};e===null?e=[r]:e.push(r),s++}if(d.finishedAt===void 0){let r={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"finishedAt"},message:"must have required property 'finishedAt'"};e===null?e=[r]:e.push(r),s++}if(d.attempts===void 0){let r={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"attempts"},message:"must have required property 'attempts'"};e===null?e=[r]:e.push(r),s++}if(d.completion===void 0){let r={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"completion"},message:"must have required property 'completion'"};e===null?e=[r]:e.push(r),s++}if(d.tests===void 0){let r={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"tests"},message:"must have required property 'tests'"};e===null?e=[r]:e.push(r),s++}if(d.findings===void 0){let r={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"findings"},message:"must have required property 'findings'"};e===null?e=[r]:e.push(r),s++}if(d.newGaps===void 0){let r={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"newGaps"},message:"must have required property 'newGaps'"};e===null?e=[r]:e.push(r),s++}if(d.evidence===void 0){let r={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"evidence"},message:"must have required property 'evidence'"};e===null?e=[r]:e.push(r),s++}if(d.cleanup===void 0){let r={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"cleanup"},message:"must have required property 'cleanup'"};e===null?e=[r]:e.push(r),s++}if(d.coverage===void 0){let r={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"coverage"},message:"must have required property 'coverage'"};e===null?e=[r]:e.push(r),s++}for(let r in d)if(!E.call(L.properties,r)){let i={instancePath:t,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:r},message:"must NOT have additional properties"};e===null?e=[i]:e.push(i),s++}if(d.contractVersion!==void 0&&d.contractVersion!=="toolkit-2"){let r={instancePath:t+"/contractVersion",schemaPath:"#/properties/contractVersion/const",keyword:"const",params:{allowedValue:"toolkit-2"},message:"must be equal to constant"};e===null?e=[r]:e.push(r),s++}if(d.runId!==void 0){let r=d.runId;if(typeof r=="string"){if(!j.test(r)){let i={instancePath:t+"/runId",schemaPath:"#/properties/runId/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[i]:e.push(i),s++}}else{let i={instancePath:t+"/runId",schemaPath:"#/properties/runId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}}if(d.plan!==void 0){let r=d.plan;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.planId===void 0){let i={instancePath:t+"/plan",schemaPath:"#/properties/plan/required",keyword:"required",params:{missingProperty:"planId"},message:"must have required property 'planId'"};e===null?e=[i]:e.push(i),s++}if(r.revision===void 0){let i={instancePath:t+"/plan",schemaPath:"#/properties/plan/required",keyword:"required",params:{missingProperty:"revision"},message:"must have required property 'revision'"};e===null?e=[i]:e.push(i),s++}if(r.sha256===void 0){let i={instancePath:t+"/plan",schemaPath:"#/properties/plan/required",keyword:"required",params:{missingProperty:"sha256"},message:"must have required property 'sha256'"};e===null?e=[i]:e.push(i),s++}for(let i in r)if(!(i==="planId"||i==="revision"||i==="sha256")){let a={instancePath:t+"/plan",schemaPath:"#/properties/plan/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:i},message:"must NOT have additional properties"};e===null?e=[a]:e.push(a),s++}if(r.planId!==void 0){let i=r.planId;if(typeof i=="string"){if(!j.test(i)){let a={instancePath:t+"/plan/planId",schemaPath:"#/properties/plan/properties/planId/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[a]:e.push(a),s++}}else{let a={instancePath:t+"/plan/planId",schemaPath:"#/properties/plan/properties/planId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[a]:e.push(a),s++}}if(r.revision!==void 0){let i=r.revision;if(!(typeof i=="number"&&!(i%1)&&!isNaN(i)&&isFinite(i))){let a={instancePath:t+"/plan/revision",schemaPath:"#/properties/plan/properties/revision/type",keyword:"type",params:{type:"integer"},message:"must be integer"};e===null?e=[a]:e.push(a),s++}if(typeof i=="number"&&isFinite(i)&&(i<1||isNaN(i))){let a={instancePath:t+"/plan/revision",schemaPath:"#/properties/plan/properties/revision/minimum",keyword:"minimum",params:{comparison:">=",limit:1},message:"must be >= 1"};e===null?e=[a]:e.push(a),s++}}if(r.sha256!==void 0){let i=r.sha256;if(typeof i=="string"){if(!U.test(i)){let a={instancePath:t+"/plan/sha256",schemaPath:"#/properties/plan/properties/sha256/pattern",keyword:"pattern",params:{pattern:"^[a-f0-9]{64}$"},message:'must match pattern "^[a-f0-9]{64}$"'};e===null?e=[a]:e.push(a),s++}}else{let a={instancePath:t+"/plan/sha256",schemaPath:"#/properties/plan/properties/sha256/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[a]:e.push(a),s++}}}else{let i={instancePath:t+"/plan",schemaPath:"#/properties/plan/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[i]:e.push(i),s++}}if(d.target!==void 0){let r=d.target;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.targetId===void 0){let i={instancePath:t+"/target",schemaPath:"#/properties/target/required",keyword:"required",params:{missingProperty:"targetId"},message:"must have required property 'targetId'"};e===null?e=[i]:e.push(i),s++}if(r.revision===void 0){let i={instancePath:t+"/target",schemaPath:"#/properties/target/required",keyword:"required",params:{missingProperty:"revision"},message:"must have required property 'revision'"};e===null?e=[i]:e.push(i),s++}if(r.sha256===void 0){let i={instancePath:t+"/target",schemaPath:"#/properties/target/required",keyword:"required",params:{missingProperty:"sha256"},message:"must have required property 'sha256'"};e===null?e=[i]:e.push(i),s++}for(let i in r)if(!(i==="targetId"||i==="revision"||i==="sha256")){let a={instancePath:t+"/target",schemaPath:"#/properties/target/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:i},message:"must NOT have additional properties"};e===null?e=[a]:e.push(a),s++}if(r.targetId!==void 0){let i=r.targetId;if(typeof i=="string"){if(!j.test(i)){let a={instancePath:t+"/target/targetId",schemaPath:"#/properties/target/properties/targetId/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[a]:e.push(a),s++}}else{let a={instancePath:t+"/target/targetId",schemaPath:"#/properties/target/properties/targetId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[a]:e.push(a),s++}}if(r.revision!==void 0){let i=r.revision;if(!(typeof i=="number"&&!(i%1)&&!isNaN(i)&&isFinite(i))){let a={instancePath:t+"/target/revision",schemaPath:"#/properties/target/properties/revision/type",keyword:"type",params:{type:"integer"},message:"must be integer"};e===null?e=[a]:e.push(a),s++}if(typeof i=="number"&&isFinite(i)&&(i<1||isNaN(i))){let a={instancePath:t+"/target/revision",schemaPath:"#/properties/target/properties/revision/minimum",keyword:"minimum",params:{comparison:">=",limit:1},message:"must be >= 1"};e===null?e=[a]:e.push(a),s++}}if(r.sha256!==void 0){let i=r.sha256;if(typeof i=="string"){if(!U.test(i)){let a={instancePath:t+"/target/sha256",schemaPath:"#/properties/target/properties/sha256/pattern",keyword:"pattern",params:{pattern:"^[a-f0-9]{64}$"},message:'must match pattern "^[a-f0-9]{64}$"'};e===null?e=[a]:e.push(a),s++}}else{let a={instancePath:t+"/target/sha256",schemaPath:"#/properties/target/properties/sha256/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[a]:e.push(a),s++}}}else{let i={instancePath:t+"/target",schemaPath:"#/properties/target/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[i]:e.push(i),s++}}if(d.applicationBuild!==void 0){let r=d.applicationBuild;if(typeof r=="string"){if(A(r)<1){let i={instancePath:t+"/applicationBuild",schemaPath:"#/properties/applicationBuild/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[i]:e.push(i),s++}}else{let i={instancePath:t+"/applicationBuild",schemaPath:"#/properties/applicationBuild/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}}if(d.selectedTestIds!==void 0){let r=d.selectedTestIds;if(Array.isArray(r)){if(r.length<1){let m={instancePath:t+"/selectedTestIds",schemaPath:"#/properties/selectedTestIds/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"};e===null?e=[m]:e.push(m),s++}let i=r.length;for(let m=0;m<i;m++){let y=r[m];if(typeof y=="string"){if(!j.test(y)){let n={instancePath:t+"/selectedTestIds/"+m,schemaPath:"#/properties/selectedTestIds/items/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[n]:e.push(n),s++}}else{let n={instancePath:t+"/selectedTestIds/"+m,schemaPath:"#/properties/selectedTestIds/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}}let a=r.length,g;if(a>1){let m={};for(;a--;){let y=r[a];if(typeof y=="string"){if(typeof m[y]=="number"){g=m[y];let n={instancePath:t+"/selectedTestIds",schemaPath:"#/properties/selectedTestIds/uniqueItems",keyword:"uniqueItems",params:{i:a,j:g},message:"must NOT have duplicate items (items ## "+g+" and "+a+" are identical)"};e===null?e=[n]:e.push(n),s++;break}m[y]=a}}}}else{let i={instancePath:t+"/selectedTestIds",schemaPath:"#/properties/selectedTestIds/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[i]:e.push(i),s++}}if(d.retestOf!==void 0){let r=d.retestOf,i=s,a=!1,g=s;if(typeof r=="string"){if(!j.test(r)){let m={instancePath:t+"/retestOf",schemaPath:"#/properties/retestOf/anyOf/0/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[m]:e.push(m),s++}}else{let m={instancePath:t+"/retestOf",schemaPath:"#/properties/retestOf/anyOf/0/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}var q=g===s;if(a=a||q,!a){let m=s;if(r!==null){let n={instancePath:t+"/retestOf",schemaPath:"#/properties/retestOf/anyOf/1/type",keyword:"type",params:{type:"null"},message:"must be null"};e===null?e=[n]:e.push(n),s++}var q=m===s;a=a||q}if(a)s=i,e!==null&&(i?e.length=i:e=null);else{let m={instancePath:t+"/retestOf",schemaPath:"#/properties/retestOf/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};e===null?e=[m]:e.push(m),s++}}if(d.startedAt!==void 0){let r=d.startedAt;if(typeof r=="string"){if(!ye.validate(r)){let i={instancePath:t+"/startedAt",schemaPath:"#/properties/startedAt/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[i]:e.push(i),s++}}else{let i={instancePath:t+"/startedAt",schemaPath:"#/properties/startedAt/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}}if(d.finishedAt!==void 0){let r=d.finishedAt;if(typeof r=="string"){if(!ye.validate(r)){let i={instancePath:t+"/finishedAt",schemaPath:"#/properties/finishedAt/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[i]:e.push(i),s++}}else{let i={instancePath:t+"/finishedAt",schemaPath:"#/properties/finishedAt/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}}if(d.attempts!==void 0){let r=d.attempts;if(!(typeof r=="number"&&!(r%1)&&!isNaN(r)&&isFinite(r))){let i={instancePath:t+"/attempts",schemaPath:"#/properties/attempts/type",keyword:"type",params:{type:"integer"},message:"must be integer"};e===null?e=[i]:e.push(i),s++}if(typeof r=="number"&&isFinite(r)&&(r<1||isNaN(r))){let i={instancePath:t+"/attempts",schemaPath:"#/properties/attempts/minimum",keyword:"minimum",params:{comparison:">=",limit:1},message:"must be >= 1"};e===null?e=[i]:e.push(i),s++}}if(d.completion!==void 0){let r=d.completion;if(!(r==="completed"||r==="interrupted"||r==="operational_error")){let i={instancePath:t+"/completion",schemaPath:"#/properties/completion/enum",keyword:"enum",params:{allowedValues:L.properties.completion.enum},message:"must be equal to one of the allowed values"};e===null?e=[i]:e.push(i),s++}}if(d.tests!==void 0){let r=d.tests;if(Array.isArray(r)){if(r.length<1){let m={instancePath:t+"/tests",schemaPath:"#/properties/tests/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"};e===null?e=[m]:e.push(m),s++}let i=r.length;for(let m=0;m<i;m++){let y=r[m];if(y&&typeof y=="object"&&!Array.isArray(y)){if(y.testId===void 0){let n={instancePath:t+"/tests/"+m,schemaPath:"#/properties/tests/items/required",keyword:"required",params:{missingProperty:"testId"},message:"must have required property 'testId'"};e===null?e=[n]:e.push(n),s++}if(y.outcome===void 0){let n={instancePath:t+"/tests/"+m,schemaPath:"#/properties/tests/items/required",keyword:"required",params:{missingProperty:"outcome"},message:"must have required property 'outcome'"};e===null?e=[n]:e.push(n),s++}if(y.reason===void 0){let n={instancePath:t+"/tests/"+m,schemaPath:"#/properties/tests/items/required",keyword:"required",params:{missingProperty:"reason"},message:"must have required property 'reason'"};e===null?e=[n]:e.push(n),s++}if(y.assertions===void 0){let n={instancePath:t+"/tests/"+m,schemaPath:"#/properties/tests/items/required",keyword:"required",params:{missingProperty:"assertions"},message:"must have required property 'assertions'"};e===null?e=[n]:e.push(n),s++}for(let n in y)if(!(n==="testId"||n==="outcome"||n==="reason"||n==="assertions")){let u={instancePath:t+"/tests/"+m,schemaPath:"#/properties/tests/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:n},message:"must NOT have additional properties"};e===null?e=[u]:e.push(u),s++}if(y.testId!==void 0){let n=y.testId;if(typeof n=="string"){if(!j.test(n)){let u={instancePath:t+"/tests/"+m+"/testId",schemaPath:"#/properties/tests/items/properties/testId/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[u]:e.push(u),s++}}else{let u={instancePath:t+"/tests/"+m+"/testId",schemaPath:"#/properties/tests/items/properties/testId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[u]:e.push(u),s++}}if(y.outcome!==void 0){let n=y.outcome;if(!(n==="passed"||n==="failed"||n==="inconclusive"||n==="blocked"||n==="not_run"||n==="error")){let u={instancePath:t+"/tests/"+m+"/outcome",schemaPath:"#/properties/tests/items/properties/outcome/enum",keyword:"enum",params:{allowedValues:L.properties.tests.items.properties.outcome.enum},message:"must be equal to one of the allowed values"};e===null?e=[u]:e.push(u),s++}}if(y.reason!==void 0){let n=y.reason,u=s,P=!1,b=s;if(typeof n=="string"){if(A(n)<1){let k={instancePath:t+"/tests/"+m+"/reason",schemaPath:"#/properties/tests/items/properties/reason/anyOf/0/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[k]:e.push(k),s++}}else{let k={instancePath:t+"/tests/"+m+"/reason",schemaPath:"#/properties/tests/items/properties/reason/anyOf/0/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[k]:e.push(k),s++}var o=b===s;if(P=P||o,!P){let k=s;if(n!==null){let w={instancePath:t+"/tests/"+m+"/reason",schemaPath:"#/properties/tests/items/properties/reason/anyOf/1/type",keyword:"type",params:{type:"null"},message:"must be null"};e===null?e=[w]:e.push(w),s++}var o=k===s;P=P||o}if(P)s=u,e!==null&&(u?e.length=u:e=null);else{let k={instancePath:t+"/tests/"+m+"/reason",schemaPath:"#/properties/tests/items/properties/reason/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};e===null?e=[k]:e.push(k),s++}}if(y.assertions!==void 0){let n=y.assertions;if(Array.isArray(n)){if(n.length<0){let k={instancePath:t+"/tests/"+m+"/assertions",schemaPath:"#/properties/tests/items/properties/assertions/minItems",keyword:"minItems",params:{limit:0},message:"must NOT have fewer than 0 items"};e===null?e=[k]:e.push(k),s++}let u=n.length;for(let k=0;k<u;k++){let v=n[k];if(v&&typeof v=="object"&&!Array.isArray(v)){if(v.assertionId===void 0){let w={instancePath:t+"/tests/"+m+"/assertions/"+k,schemaPath:"#/properties/tests/items/properties/assertions/items/required",keyword:"required",params:{missingProperty:"assertionId"},message:"must have required property 'assertionId'"};e===null?e=[w]:e.push(w),s++}if(v.check===void 0){let w={instancePath:t+"/tests/"+m+"/assertions/"+k,schemaPath:"#/properties/tests/items/properties/assertions/items/required",keyword:"required",params:{missingProperty:"check"},message:"must have required property 'check'"};e===null?e=[w]:e.push(w),s++}if(v.checkKind===void 0){let w={instancePath:t+"/tests/"+m+"/assertions/"+k,schemaPath:"#/properties/tests/items/properties/assertions/items/required",keyword:"required",params:{missingProperty:"checkKind"},message:"must have required property 'checkKind'"};e===null?e=[w]:e.push(w),s++}if(v.result===void 0){let w={instancePath:t+"/tests/"+m+"/assertions/"+k,schemaPath:"#/properties/tests/items/properties/assertions/items/required",keyword:"required",params:{missingProperty:"result"},message:"must have required property 'result'"};e===null?e=[w]:e.push(w),s++}if(v.observed===void 0){let w={instancePath:t+"/tests/"+m+"/assertions/"+k,schemaPath:"#/properties/tests/items/properties/assertions/items/required",keyword:"required",params:{missingProperty:"observed"},message:"must have required property 'observed'"};e===null?e=[w]:e.push(w),s++}if(v.reason===void 0){let w={instancePath:t+"/tests/"+m+"/assertions/"+k,schemaPath:"#/properties/tests/items/properties/assertions/items/required",keyword:"required",params:{missingProperty:"reason"},message:"must have required property 'reason'"};e===null?e=[w]:e.push(w),s++}if(v.evidenceIds===void 0){let w={instancePath:t+"/tests/"+m+"/assertions/"+k,schemaPath:"#/properties/tests/items/properties/assertions/items/required",keyword:"required",params:{missingProperty:"evidenceIds"},message:"must have required property 'evidenceIds'"};e===null?e=[w]:e.push(w),s++}for(let w in v)if(!(w==="assertionId"||w==="check"||w==="checkKind"||w==="result"||w==="observed"||w==="reason"||w==="evidenceIds")){let I={instancePath:t+"/tests/"+m+"/assertions/"+k,schemaPath:"#/properties/tests/items/properties/assertions/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:w},message:"must NOT have additional properties"};e===null?e=[I]:e.push(I),s++}if(v.assertionId!==void 0){let w=v.assertionId;if(typeof w=="string"){if(!j.test(w)){let I={instancePath:t+"/tests/"+m+"/assertions/"+k+"/assertionId",schemaPath:"#/properties/tests/items/properties/assertions/items/properties/assertionId/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[I]:e.push(I),s++}}else{let I={instancePath:t+"/tests/"+m+"/assertions/"+k+"/assertionId",schemaPath:"#/properties/tests/items/properties/assertions/items/properties/assertionId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[I]:e.push(I),s++}}if(v.check!==void 0){let w=v.check;if(typeof w=="string"){if(A(w)<1){let I={instancePath:t+"/tests/"+m+"/assertions/"+k+"/check",schemaPath:"#/properties/tests/items/properties/assertions/items/properties/check/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[I]:e.push(I),s++}}else{let I={instancePath:t+"/tests/"+m+"/assertions/"+k+"/check",schemaPath:"#/properties/tests/items/properties/assertions/items/properties/check/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[I]:e.push(I),s++}}if(v.checkKind!==void 0){let w=v.checkKind;if(!(w==="deterministic"||w==="agent_observation")){let I={instancePath:t+"/tests/"+m+"/assertions/"+k+"/checkKind",schemaPath:"#/properties/tests/items/properties/assertions/items/properties/checkKind/enum",keyword:"enum",params:{allowedValues:L.properties.tests.items.properties.assertions.items.properties.checkKind.enum},message:"must be equal to one of the allowed values"};e===null?e=[I]:e.push(I),s++}}if(v.result!==void 0){let w=v.result;if(!(w==="passed"||w==="failed"||w==="inconclusive"||w==="not_checked")){let I={instancePath:t+"/tests/"+m+"/assertions/"+k+"/result",schemaPath:"#/properties/tests/items/properties/assertions/items/properties/result/enum",keyword:"enum",params:{allowedValues:L.properties.tests.items.properties.assertions.items.properties.result.enum},message:"must be equal to one of the allowed values"};e===null?e=[I]:e.push(I),s++}}if(v.observed!==void 0){let w=v.observed,I=s,N=!1,x=s;if(typeof w=="string"){if(A(w)<1){let _={instancePath:t+"/tests/"+m+"/assertions/"+k+"/observed",schemaPath:"#/properties/tests/items/properties/assertions/items/properties/observed/anyOf/0/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[_]:e.push(_),s++}}else{let _={instancePath:t+"/tests/"+m+"/assertions/"+k+"/observed",schemaPath:"#/properties/tests/items/properties/assertions/items/properties/observed/anyOf/0/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[_]:e.push(_),s++}var f=x===s;if(N=N||f,!N){let _=s;if(w!==null){let T={instancePath:t+"/tests/"+m+"/assertions/"+k+"/observed",schemaPath:"#/properties/tests/items/properties/assertions/items/properties/observed/anyOf/1/type",keyword:"type",params:{type:"null"},message:"must be null"};e===null?e=[T]:e.push(T),s++}var f=_===s;N=N||f}if(N)s=I,e!==null&&(I?e.length=I:e=null);else{let _={instancePath:t+"/tests/"+m+"/assertions/"+k+"/observed",schemaPath:"#/properties/tests/items/properties/assertions/items/properties/observed/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};e===null?e=[_]:e.push(_),s++}}if(v.reason!==void 0){let w=v.reason,I=s,N=!1,x=s;if(typeof w=="string"){if(A(w)<1){let _={instancePath:t+"/tests/"+m+"/assertions/"+k+"/reason",schemaPath:"#/properties/tests/items/properties/assertions/items/properties/reason/anyOf/0/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[_]:e.push(_),s++}}else{let _={instancePath:t+"/tests/"+m+"/assertions/"+k+"/reason",schemaPath:"#/properties/tests/items/properties/assertions/items/properties/reason/anyOf/0/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[_]:e.push(_),s++}var h=x===s;if(N=N||h,!N){let _=s;if(w!==null){let T={instancePath:t+"/tests/"+m+"/assertions/"+k+"/reason",schemaPath:"#/properties/tests/items/properties/assertions/items/properties/reason/anyOf/1/type",keyword:"type",params:{type:"null"},message:"must be null"};e===null?e=[T]:e.push(T),s++}var h=_===s;N=N||h}if(N)s=I,e!==null&&(I?e.length=I:e=null);else{let _={instancePath:t+"/tests/"+m+"/assertions/"+k+"/reason",schemaPath:"#/properties/tests/items/properties/assertions/items/properties/reason/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};e===null?e=[_]:e.push(_),s++}}if(v.evidenceIds!==void 0){let w=v.evidenceIds;if(Array.isArray(w)){if(w.length<0){let _={instancePath:t+"/tests/"+m+"/assertions/"+k+"/evidenceIds",schemaPath:"#/properties/tests/items/properties/assertions/items/properties/evidenceIds/minItems",keyword:"minItems",params:{limit:0},message:"must NOT have fewer than 0 items"};e===null?e=[_]:e.push(_),s++}let I=w.length;for(let _=0;_<I;_++){let F=w[_];if(typeof F=="string"){if(!j.test(F)){let T={instancePath:t+"/tests/"+m+"/assertions/"+k+"/evidenceIds/"+_,schemaPath:"#/properties/tests/items/properties/assertions/items/properties/evidenceIds/items/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[T]:e.push(T),s++}}else{let T={instancePath:t+"/tests/"+m+"/assertions/"+k+"/evidenceIds/"+_,schemaPath:"#/properties/tests/items/properties/assertions/items/properties/evidenceIds/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[T]:e.push(T),s++}}let N=w.length,x;if(N>1){let _={};for(;N--;){let F=w[N];if(typeof F=="string"){if(typeof _[F]=="number"){x=_[F];let T={instancePath:t+"/tests/"+m+"/assertions/"+k+"/evidenceIds",schemaPath:"#/properties/tests/items/properties/assertions/items/properties/evidenceIds/uniqueItems",keyword:"uniqueItems",params:{i:N,j:x},message:"must NOT have duplicate items (items ## "+x+" and "+N+" are identical)"};e===null?e=[T]:e.push(T),s++;break}_[F]=N}}}}else{let I={instancePath:t+"/tests/"+m+"/assertions/"+k+"/evidenceIds",schemaPath:"#/properties/tests/items/properties/assertions/items/properties/evidenceIds/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[I]:e.push(I),s++}}}else{let w={instancePath:t+"/tests/"+m+"/assertions/"+k,schemaPath:"#/properties/tests/items/properties/assertions/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[w]:e.push(w),s++}}let P=n.length,b;if(P>1){e:for(;P--;)for(b=P;b--;)if($(n[P],n[b])){let k={instancePath:t+"/tests/"+m+"/assertions",schemaPath:"#/properties/tests/items/properties/assertions/uniqueItems",keyword:"uniqueItems",params:{i:P,j:b},message:"must NOT have duplicate items (items ## "+b+" and "+P+" are identical)"};e===null?e=[k]:e.push(k),s++;break e}}}else{let u={instancePath:t+"/tests/"+m+"/assertions",schemaPath:"#/properties/tests/items/properties/assertions/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[u]:e.push(u),s++}}}else{let n={instancePath:t+"/tests/"+m,schemaPath:"#/properties/tests/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[n]:e.push(n),s++}}let a=r.length,g;if(a>1){e:for(;a--;)for(g=a;g--;)if($(r[a],r[g])){let m={instancePath:t+"/tests",schemaPath:"#/properties/tests/uniqueItems",keyword:"uniqueItems",params:{i:a,j:g},message:"must NOT have duplicate items (items ## "+g+" and "+a+" are identical)"};e===null?e=[m]:e.push(m),s++;break e}}}else{let i={instancePath:t+"/tests",schemaPath:"#/properties/tests/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[i]:e.push(i),s++}}if(d.findings!==void 0){let r=d.findings;if(Array.isArray(r)){if(r.length<0){let m={instancePath:t+"/findings",schemaPath:"#/properties/findings/minItems",keyword:"minItems",params:{limit:0},message:"must NOT have fewer than 0 items"};e===null?e=[m]:e.push(m),s++}let i=r.length;for(let m=0;m<i;m++){let y=r[m];if(y&&typeof y=="object"&&!Array.isArray(y)){if(y.id===void 0){let n={instancePath:t+"/findings/"+m,schemaPath:"#/properties/findings/items/required",keyword:"required",params:{missingProperty:"id"},message:"must have required property 'id'"};e===null?e=[n]:e.push(n),s++}if(y.type===void 0){let n={instancePath:t+"/findings/"+m,schemaPath:"#/properties/findings/items/required",keyword:"required",params:{missingProperty:"type"},message:"must have required property 'type'"};e===null?e=[n]:e.push(n),s++}if(y.severity===void 0){let n={instancePath:t+"/findings/"+m,schemaPath:"#/properties/findings/items/required",keyword:"required",params:{missingProperty:"severity"},message:"must have required property 'severity'"};e===null?e=[n]:e.push(n),s++}if(y.requirementIds===void 0){let n={instancePath:t+"/findings/"+m,schemaPath:"#/properties/findings/items/required",keyword:"required",params:{missingProperty:"requirementIds"},message:"must have required property 'requirementIds'"};e===null?e=[n]:e.push(n),s++}if(y.title===void 0){let n={instancePath:t+"/findings/"+m,schemaPath:"#/properties/findings/items/required",keyword:"required",params:{missingProperty:"title"},message:"must have required property 'title'"};e===null?e=[n]:e.push(n),s++}if(y.expected===void 0){let n={instancePath:t+"/findings/"+m,schemaPath:"#/properties/findings/items/required",keyword:"required",params:{missingProperty:"expected"},message:"must have required property 'expected'"};e===null?e=[n]:e.push(n),s++}if(y.observed===void 0){let n={instancePath:t+"/findings/"+m,schemaPath:"#/properties/findings/items/required",keyword:"required",params:{missingProperty:"observed"},message:"must have required property 'observed'"};e===null?e=[n]:e.push(n),s++}if(y.reproduction===void 0){let n={instancePath:t+"/findings/"+m,schemaPath:"#/properties/findings/items/required",keyword:"required",params:{missingProperty:"reproduction"},message:"must have required property 'reproduction'"};e===null?e=[n]:e.push(n),s++}if(y.evidenceIds===void 0){let n={instancePath:t+"/findings/"+m,schemaPath:"#/properties/findings/items/required",keyword:"required",params:{missingProperty:"evidenceIds"},message:"must have required property 'evidenceIds'"};e===null?e=[n]:e.push(n),s++}if(y.testIds===void 0){let n={instancePath:t+"/findings/"+m,schemaPath:"#/properties/findings/items/required",keyword:"required",params:{missingProperty:"testIds"},message:"must have required property 'testIds'"};e===null?e=[n]:e.push(n),s++}if(y.assertionIds===void 0){let n={instancePath:t+"/findings/"+m,schemaPath:"#/properties/findings/items/required",keyword:"required",params:{missingProperty:"assertionIds"},message:"must have required property 'assertionIds'"};e===null?e=[n]:e.push(n),s++}for(let n in y)if(!E.call(L.properties.findings.items.properties,n)){let u={instancePath:t+"/findings/"+m,schemaPath:"#/properties/findings/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:n},message:"must NOT have additional properties"};e===null?e=[u]:e.push(u),s++}if(y.id!==void 0){let n=y.id;if(typeof n=="string"){if(!j.test(n)){let u={instancePath:t+"/findings/"+m+"/id",schemaPath:"#/properties/findings/items/properties/id/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[u]:e.push(u),s++}}else{let u={instancePath:t+"/findings/"+m+"/id",schemaPath:"#/properties/findings/items/properties/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[u]:e.push(u),s++}}if(y.type!==void 0){let n=y.type;if(!(n==="defect"||n==="potential_issue")){let u={instancePath:t+"/findings/"+m+"/type",schemaPath:"#/properties/findings/items/properties/type/enum",keyword:"enum",params:{allowedValues:L.properties.findings.items.properties.type.enum},message:"must be equal to one of the allowed values"};e===null?e=[u]:e.push(u),s++}}if(y.severity!==void 0){let n=y.severity;if(!(n==="low"||n==="medium"||n==="high"||n==="critical")){let u={instancePath:t+"/findings/"+m+"/severity",schemaPath:"#/properties/findings/items/properties/severity/enum",keyword:"enum",params:{allowedValues:L.properties.findings.items.properties.severity.enum},message:"must be equal to one of the allowed values"};e===null?e=[u]:e.push(u),s++}}if(y.requirementIds!==void 0){let n=y.requirementIds;if(Array.isArray(n)){if(n.length<1){let k={instancePath:t+"/findings/"+m+"/requirementIds",schemaPath:"#/properties/findings/items/properties/requirementIds/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"};e===null?e=[k]:e.push(k),s++}let u=n.length;for(let k=0;k<u;k++){let v=n[k];if(typeof v=="string"){if(!j.test(v)){let w={instancePath:t+"/findings/"+m+"/requirementIds/"+k,schemaPath:"#/properties/findings/items/properties/requirementIds/items/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[w]:e.push(w),s++}}else{let w={instancePath:t+"/findings/"+m+"/requirementIds/"+k,schemaPath:"#/properties/findings/items/properties/requirementIds/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[w]:e.push(w),s++}}let P=n.length,b;if(P>1){let k={};for(;P--;){let v=n[P];if(typeof v=="string"){if(typeof k[v]=="number"){b=k[v];let w={instancePath:t+"/findings/"+m+"/requirementIds",schemaPath:"#/properties/findings/items/properties/requirementIds/uniqueItems",keyword:"uniqueItems",params:{i:P,j:b},message:"must NOT have duplicate items (items ## "+b+" and "+P+" are identical)"};e===null?e=[w]:e.push(w),s++;break}k[v]=P}}}}else{let u={instancePath:t+"/findings/"+m+"/requirementIds",schemaPath:"#/properties/findings/items/properties/requirementIds/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[u]:e.push(u),s++}}if(y.title!==void 0){let n=y.title;if(typeof n=="string"){if(A(n)<1){let u={instancePath:t+"/findings/"+m+"/title",schemaPath:"#/properties/findings/items/properties/title/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[u]:e.push(u),s++}}else{let u={instancePath:t+"/findings/"+m+"/title",schemaPath:"#/properties/findings/items/properties/title/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[u]:e.push(u),s++}}if(y.expected!==void 0){let n=y.expected;if(typeof n=="string"){if(A(n)<1){let u={instancePath:t+"/findings/"+m+"/expected",schemaPath:"#/properties/findings/items/properties/expected/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[u]:e.push(u),s++}}else{let u={instancePath:t+"/findings/"+m+"/expected",schemaPath:"#/properties/findings/items/properties/expected/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[u]:e.push(u),s++}}if(y.observed!==void 0){let n=y.observed;if(typeof n=="string"){if(A(n)<1){let u={instancePath:t+"/findings/"+m+"/observed",schemaPath:"#/properties/findings/items/properties/observed/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[u]:e.push(u),s++}}else{let u={instancePath:t+"/findings/"+m+"/observed",schemaPath:"#/properties/findings/items/properties/observed/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[u]:e.push(u),s++}}if(y.reproduction!==void 0){let n=y.reproduction;if(Array.isArray(n)){if(n.length<1){let k={instancePath:t+"/findings/"+m+"/reproduction",schemaPath:"#/properties/findings/items/properties/reproduction/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"};e===null?e=[k]:e.push(k),s++}let u=n.length;for(let k=0;k<u;k++){let v=n[k];if(typeof v=="string"){if(A(v)<1){let w={instancePath:t+"/findings/"+m+"/reproduction/"+k,schemaPath:"#/properties/findings/items/properties/reproduction/items/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[w]:e.push(w),s++}}else{let w={instancePath:t+"/findings/"+m+"/reproduction/"+k,schemaPath:"#/properties/findings/items/properties/reproduction/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[w]:e.push(w),s++}}let P=n.length,b;if(P>1){let k={};for(;P--;){let v=n[P];if(typeof v=="string"){if(typeof k[v]=="number"){b=k[v];let w={instancePath:t+"/findings/"+m+"/reproduction",schemaPath:"#/properties/findings/items/properties/reproduction/uniqueItems",keyword:"uniqueItems",params:{i:P,j:b},message:"must NOT have duplicate items (items ## "+b+" and "+P+" are identical)"};e===null?e=[w]:e.push(w),s++;break}k[v]=P}}}}else{let u={instancePath:t+"/findings/"+m+"/reproduction",schemaPath:"#/properties/findings/items/properties/reproduction/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[u]:e.push(u),s++}}if(y.evidenceIds!==void 0){let n=y.evidenceIds;if(Array.isArray(n)){if(n.length<1){let k={instancePath:t+"/findings/"+m+"/evidenceIds",schemaPath:"#/properties/findings/items/properties/evidenceIds/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"};e===null?e=[k]:e.push(k),s++}let u=n.length;for(let k=0;k<u;k++){let v=n[k];if(typeof v=="string"){if(!j.test(v)){let w={instancePath:t+"/findings/"+m+"/evidenceIds/"+k,schemaPath:"#/properties/findings/items/properties/evidenceIds/items/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[w]:e.push(w),s++}}else{let w={instancePath:t+"/findings/"+m+"/evidenceIds/"+k,schemaPath:"#/properties/findings/items/properties/evidenceIds/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[w]:e.push(w),s++}}let P=n.length,b;if(P>1){let k={};for(;P--;){let v=n[P];if(typeof v=="string"){if(typeof k[v]=="number"){b=k[v];let w={instancePath:t+"/findings/"+m+"/evidenceIds",schemaPath:"#/properties/findings/items/properties/evidenceIds/uniqueItems",keyword:"uniqueItems",params:{i:P,j:b},message:"must NOT have duplicate items (items ## "+b+" and "+P+" are identical)"};e===null?e=[w]:e.push(w),s++;break}k[v]=P}}}}else{let u={instancePath:t+"/findings/"+m+"/evidenceIds",schemaPath:"#/properties/findings/items/properties/evidenceIds/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[u]:e.push(u),s++}}if(y.testIds!==void 0){let n=y.testIds;if(Array.isArray(n)){if(n.length<1){let k={instancePath:t+"/findings/"+m+"/testIds",schemaPath:"#/properties/findings/items/properties/testIds/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"};e===null?e=[k]:e.push(k),s++}let u=n.length;for(let k=0;k<u;k++){let v=n[k];if(typeof v=="string"){if(!j.test(v)){let w={instancePath:t+"/findings/"+m+"/testIds/"+k,schemaPath:"#/properties/findings/items/properties/testIds/items/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[w]:e.push(w),s++}}else{let w={instancePath:t+"/findings/"+m+"/testIds/"+k,schemaPath:"#/properties/findings/items/properties/testIds/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[w]:e.push(w),s++}}let P=n.length,b;if(P>1){let k={};for(;P--;){let v=n[P];if(typeof v=="string"){if(typeof k[v]=="number"){b=k[v];let w={instancePath:t+"/findings/"+m+"/testIds",schemaPath:"#/properties/findings/items/properties/testIds/uniqueItems",keyword:"uniqueItems",params:{i:P,j:b},message:"must NOT have duplicate items (items ## "+b+" and "+P+" are identical)"};e===null?e=[w]:e.push(w),s++;break}k[v]=P}}}}else{let u={instancePath:t+"/findings/"+m+"/testIds",schemaPath:"#/properties/findings/items/properties/testIds/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[u]:e.push(u),s++}}if(y.assertionIds!==void 0){let n=y.assertionIds;if(Array.isArray(n)){if(n.length<1){let k={instancePath:t+"/findings/"+m+"/assertionIds",schemaPath:"#/properties/findings/items/properties/assertionIds/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"};e===null?e=[k]:e.push(k),s++}let u=n.length;for(let k=0;k<u;k++){let v=n[k];if(typeof v=="string"){if(!ge.test(v)){let w={instancePath:t+"/findings/"+m+"/assertionIds/"+k,schemaPath:"#/properties/findings/items/properties/assertionIds/items/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}\\.[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}\\.[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[w]:e.push(w),s++}}else{let w={instancePath:t+"/findings/"+m+"/assertionIds/"+k,schemaPath:"#/properties/findings/items/properties/assertionIds/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[w]:e.push(w),s++}}let P=n.length,b;if(P>1){let k={};for(;P--;){let v=n[P];if(typeof v=="string"){if(typeof k[v]=="number"){b=k[v];let w={instancePath:t+"/findings/"+m+"/assertionIds",schemaPath:"#/properties/findings/items/properties/assertionIds/uniqueItems",keyword:"uniqueItems",params:{i:P,j:b},message:"must NOT have duplicate items (items ## "+b+" and "+P+" are identical)"};e===null?e=[w]:e.push(w),s++;break}k[v]=P}}}}else{let u={instancePath:t+"/findings/"+m+"/assertionIds",schemaPath:"#/properties/findings/items/properties/assertionIds/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[u]:e.push(u),s++}}}else{let n={instancePath:t+"/findings/"+m,schemaPath:"#/properties/findings/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[n]:e.push(n),s++}}let a=r.length,g;if(a>1){e:for(;a--;)for(g=a;g--;)if($(r[a],r[g])){let m={instancePath:t+"/findings",schemaPath:"#/properties/findings/uniqueItems",keyword:"uniqueItems",params:{i:a,j:g},message:"must NOT have duplicate items (items ## "+g+" and "+a+" are identical)"};e===null?e=[m]:e.push(m),s++;break e}}}else{let i={instancePath:t+"/findings",schemaPath:"#/properties/findings/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[i]:e.push(i),s++}}if(d.newGaps!==void 0){let r=d.newGaps;if(Array.isArray(r)){if(r.length<0){let m={instancePath:t+"/newGaps",schemaPath:"#/properties/newGaps/minItems",keyword:"minItems",params:{limit:0},message:"must NOT have fewer than 0 items"};e===null?e=[m]:e.push(m),s++}let i=r.length;for(let m=0;m<i;m++){let y=r[m];if(y&&typeof y=="object"&&!Array.isArray(y)){if(y.id===void 0){let n={instancePath:t+"/newGaps/"+m,schemaPath:"gap.schema.json/required",keyword:"required",params:{missingProperty:"id"},message:"must have required property 'id'"};e===null?e=[n]:e.push(n),s++}if(y.severity===void 0){let n={instancePath:t+"/newGaps/"+m,schemaPath:"gap.schema.json/required",keyword:"required",params:{missingProperty:"severity"},message:"must have required property 'severity'"};e===null?e=[n]:e.push(n),s++}if(y.status===void 0){let n={instancePath:t+"/newGaps/"+m,schemaPath:"gap.schema.json/required",keyword:"required",params:{missingProperty:"status"},message:"must have required property 'status'"};e===null?e=[n]:e.push(n),s++}if(y.requirementIds===void 0){let n={instancePath:t+"/newGaps/"+m,schemaPath:"gap.schema.json/required",keyword:"required",params:{missingProperty:"requirementIds"},message:"must have required property 'requirementIds'"};e===null?e=[n]:e.push(n),s++}if(y.testIds===void 0){let n={instancePath:t+"/newGaps/"+m,schemaPath:"gap.schema.json/required",keyword:"required",params:{missingProperty:"testIds"},message:"must have required property 'testIds'"};e===null?e=[n]:e.push(n),s++}if(y.question===void 0){let n={instancePath:t+"/newGaps/"+m,schemaPath:"gap.schema.json/required",keyword:"required",params:{missingProperty:"question"},message:"must have required property 'question'"};e===null?e=[n]:e.push(n),s++}if(y.consequence===void 0){let n={instancePath:t+"/newGaps/"+m,schemaPath:"gap.schema.json/required",keyword:"required",params:{missingProperty:"consequence"},message:"must have required property 'consequence'"};e===null?e=[n]:e.push(n),s++}if(y.decisionId===void 0){let n={instancePath:t+"/newGaps/"+m,schemaPath:"gap.schema.json/required",keyword:"required",params:{missingProperty:"decisionId"},message:"must have required property 'decisionId'"};e===null?e=[n]:e.push(n),s++}for(let n in y)if(!(n==="id"||n==="severity"||n==="status"||n==="requirementIds"||n==="testIds"||n==="question"||n==="consequence"||n==="decisionId")){let u={instancePath:t+"/newGaps/"+m,schemaPath:"gap.schema.json/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:n},message:"must NOT have additional properties"};e===null?e=[u]:e.push(u),s++}if(y.id!==void 0){let n=y.id;if(typeof n=="string"){if(!j.test(n)){let u={instancePath:t+"/newGaps/"+m+"/id",schemaPath:"gap.schema.json/properties/id/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[u]:e.push(u),s++}}else{let u={instancePath:t+"/newGaps/"+m+"/id",schemaPath:"gap.schema.json/properties/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[u]:e.push(u),s++}}if(y.severity!==void 0){let n=y.severity;if(!(n==="blocking"||n==="non_blocking")){let u={instancePath:t+"/newGaps/"+m+"/severity",schemaPath:"gap.schema.json/properties/severity/enum",keyword:"enum",params:{allowedValues:K.properties.severity.enum},message:"must be equal to one of the allowed values"};e===null?e=[u]:e.push(u),s++}}if(y.status!==void 0){let n=y.status;if(!(n==="open"||n==="resolved"||n==="deferred")){let u={instancePath:t+"/newGaps/"+m+"/status",schemaPath:"gap.schema.json/properties/status/enum",keyword:"enum",params:{allowedValues:K.properties.status.enum},message:"must be equal to one of the allowed values"};e===null?e=[u]:e.push(u),s++}}if(y.requirementIds!==void 0){let n=y.requirementIds;if(Array.isArray(n)){if(n.length<0){let k={instancePath:t+"/newGaps/"+m+"/requirementIds",schemaPath:"gap.schema.json/properties/requirementIds/minItems",keyword:"minItems",params:{limit:0},message:"must NOT have fewer than 0 items"};e===null?e=[k]:e.push(k),s++}let u=n.length;for(let k=0;k<u;k++){let v=n[k];if(typeof v=="string"){if(!j.test(v)){let w={instancePath:t+"/newGaps/"+m+"/requirementIds/"+k,schemaPath:"gap.schema.json/properties/requirementIds/items/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[w]:e.push(w),s++}}else{let w={instancePath:t+"/newGaps/"+m+"/requirementIds/"+k,schemaPath:"gap.schema.json/properties/requirementIds/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[w]:e.push(w),s++}}let P=n.length,b;if(P>1){let k={};for(;P--;){let v=n[P];if(typeof v=="string"){if(typeof k[v]=="number"){b=k[v];let w={instancePath:t+"/newGaps/"+m+"/requirementIds",schemaPath:"gap.schema.json/properties/requirementIds/uniqueItems",keyword:"uniqueItems",params:{i:P,j:b},message:"must NOT have duplicate items (items ## "+b+" and "+P+" are identical)"};e===null?e=[w]:e.push(w),s++;break}k[v]=P}}}}else{let u={instancePath:t+"/newGaps/"+m+"/requirementIds",schemaPath:"gap.schema.json/properties/requirementIds/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[u]:e.push(u),s++}}if(y.testIds!==void 0){let n=y.testIds;if(Array.isArray(n)){if(n.length<0){let k={instancePath:t+"/newGaps/"+m+"/testIds",schemaPath:"gap.schema.json/properties/testIds/minItems",keyword:"minItems",params:{limit:0},message:"must NOT have fewer than 0 items"};e===null?e=[k]:e.push(k),s++}let u=n.length;for(let k=0;k<u;k++){let v=n[k];if(typeof v=="string"){if(!G.test(v)){let w={instancePath:t+"/newGaps/"+m+"/testIds/"+k,schemaPath:"gap.schema.json/properties/testIds/items/pattern",keyword:"pattern",params:{pattern:"^([A-Za-z0-9][A-Za-z0-9_-]{0,95}:)?[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^([A-Za-z0-9][A-Za-z0-9_-]{0,95}:)?[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[w]:e.push(w),s++}}else{let w={instancePath:t+"/newGaps/"+m+"/testIds/"+k,schemaPath:"gap.schema.json/properties/testIds/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[w]:e.push(w),s++}}let P=n.length,b;if(P>1){let k={};for(;P--;){let v=n[P];if(typeof v=="string"){if(typeof k[v]=="number"){b=k[v];let w={instancePath:t+"/newGaps/"+m+"/testIds",schemaPath:"gap.schema.json/properties/testIds/uniqueItems",keyword:"uniqueItems",params:{i:P,j:b},message:"must NOT have duplicate items (items ## "+b+" and "+P+" are identical)"};e===null?e=[w]:e.push(w),s++;break}k[v]=P}}}}else{let u={instancePath:t+"/newGaps/"+m+"/testIds",schemaPath:"gap.schema.json/properties/testIds/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[u]:e.push(u),s++}}if(y.question!==void 0){let n=y.question;if(typeof n=="string"){if(A(n)<1){let u={instancePath:t+"/newGaps/"+m+"/question",schemaPath:"gap.schema.json/properties/question/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[u]:e.push(u),s++}}else{let u={instancePath:t+"/newGaps/"+m+"/question",schemaPath:"gap.schema.json/properties/question/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[u]:e.push(u),s++}}if(y.consequence!==void 0){let n=y.consequence;if(typeof n=="string"){if(A(n)<1){let u={instancePath:t+"/newGaps/"+m+"/consequence",schemaPath:"gap.schema.json/properties/consequence/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[u]:e.push(u),s++}}else{let u={instancePath:t+"/newGaps/"+m+"/consequence",schemaPath:"gap.schema.json/properties/consequence/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[u]:e.push(u),s++}}if(y.decisionId!==void 0){let n=y.decisionId,u=s,P=!1,b=s;if(typeof n=="string"){if(!j.test(n)){let k={instancePath:t+"/newGaps/"+m+"/decisionId",schemaPath:"gap.schema.json/properties/decisionId/anyOf/0/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[k]:e.push(k),s++}}else{let k={instancePath:t+"/newGaps/"+m+"/decisionId",schemaPath:"gap.schema.json/properties/decisionId/anyOf/0/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[k]:e.push(k),s++}var c=b===s;if(P=P||c,!P){let k=s;if(n!==null){let w={instancePath:t+"/newGaps/"+m+"/decisionId",schemaPath:"gap.schema.json/properties/decisionId/anyOf/1/type",keyword:"type",params:{type:"null"},message:"must be null"};e===null?e=[w]:e.push(w),s++}var c=k===s;P=P||c}if(P)s=u,e!==null&&(u?e.length=u:e=null);else{let k={instancePath:t+"/newGaps/"+m+"/decisionId",schemaPath:"gap.schema.json/properties/decisionId/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};e===null?e=[k]:e.push(k),s++}}}else{let n={instancePath:t+"/newGaps/"+m,schemaPath:"gap.schema.json/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[n]:e.push(n),s++}}let a=r.length,g;if(a>1){e:for(;a--;)for(g=a;g--;)if($(r[a],r[g])){let m={instancePath:t+"/newGaps",schemaPath:"#/properties/newGaps/uniqueItems",keyword:"uniqueItems",params:{i:a,j:g},message:"must NOT have duplicate items (items ## "+g+" and "+a+" are identical)"};e===null?e=[m]:e.push(m),s++;break e}}}else{let i={instancePath:t+"/newGaps",schemaPath:"#/properties/newGaps/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[i]:e.push(i),s++}}if(d.evidence!==void 0){let r=d.evidence;if(Array.isArray(r)){if(r.length<0){let m={instancePath:t+"/evidence",schemaPath:"#/properties/evidence/minItems",keyword:"minItems",params:{limit:0},message:"must NOT have fewer than 0 items"};e===null?e=[m]:e.push(m),s++}let i=r.length;for(let m=0;m<i;m++){let y=r[m];if(y&&typeof y=="object"&&!Array.isArray(y)){if(y.id===void 0){let n={instancePath:t+"/evidence/"+m,schemaPath:"#/properties/evidence/items/required",keyword:"required",params:{missingProperty:"id"},message:"must have required property 'id'"};e===null?e=[n]:e.push(n),s++}if(y.testId===void 0){let n={instancePath:t+"/evidence/"+m,schemaPath:"#/properties/evidence/items/required",keyword:"required",params:{missingProperty:"testId"},message:"must have required property 'testId'"};e===null?e=[n]:e.push(n),s++}if(y.assertionId===void 0){let n={instancePath:t+"/evidence/"+m,schemaPath:"#/properties/evidence/items/required",keyword:"required",params:{missingProperty:"assertionId"},message:"must have required property 'assertionId'"};e===null?e=[n]:e.push(n),s++}if(y.kind===void 0){let n={instancePath:t+"/evidence/"+m,schemaPath:"#/properties/evidence/items/required",keyword:"required",params:{missingProperty:"kind"},message:"must have required property 'kind'"};e===null?e=[n]:e.push(n),s++}if(y.name===void 0){let n={instancePath:t+"/evidence/"+m,schemaPath:"#/properties/evidence/items/required",keyword:"required",params:{missingProperty:"name"},message:"must have required property 'name'"};e===null?e=[n]:e.push(n),s++}if(y.mediaType===void 0){let n={instancePath:t+"/evidence/"+m,schemaPath:"#/properties/evidence/items/required",keyword:"required",params:{missingProperty:"mediaType"},message:"must have required property 'mediaType'"};e===null?e=[n]:e.push(n),s++}if(y.sha256===void 0){let n={instancePath:t+"/evidence/"+m,schemaPath:"#/properties/evidence/items/required",keyword:"required",params:{missingProperty:"sha256"},message:"must have required property 'sha256'"};e===null?e=[n]:e.push(n),s++}if(y.size===void 0){let n={instancePath:t+"/evidence/"+m,schemaPath:"#/properties/evidence/items/required",keyword:"required",params:{missingProperty:"size"},message:"must have required property 'size'"};e===null?e=[n]:e.push(n),s++}for(let n in y)if(!(n==="id"||n==="testId"||n==="assertionId"||n==="kind"||n==="name"||n==="mediaType"||n==="sha256"||n==="size")){let u={instancePath:t+"/evidence/"+m,schemaPath:"#/properties/evidence/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:n},message:"must NOT have additional properties"};e===null?e=[u]:e.push(u),s++}if(y.id!==void 0){let n=y.id;if(typeof n=="string"){if(!j.test(n)){let u={instancePath:t+"/evidence/"+m+"/id",schemaPath:"#/properties/evidence/items/properties/id/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[u]:e.push(u),s++}}else{let u={instancePath:t+"/evidence/"+m+"/id",schemaPath:"#/properties/evidence/items/properties/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[u]:e.push(u),s++}}if(y.testId!==void 0){let n=y.testId;if(typeof n=="string"){if(!j.test(n)){let u={instancePath:t+"/evidence/"+m+"/testId",schemaPath:"#/properties/evidence/items/properties/testId/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[u]:e.push(u),s++}}else{let u={instancePath:t+"/evidence/"+m+"/testId",schemaPath:"#/properties/evidence/items/properties/testId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[u]:e.push(u),s++}}if(y.assertionId!==void 0){let n=y.assertionId,u=s,P=!1,b=s;if(typeof n=="string"){if(!j.test(n)){let k={instancePath:t+"/evidence/"+m+"/assertionId",schemaPath:"#/properties/evidence/items/properties/assertionId/anyOf/0/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[k]:e.push(k),s++}}else{let k={instancePath:t+"/evidence/"+m+"/assertionId",schemaPath:"#/properties/evidence/items/properties/assertionId/anyOf/0/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[k]:e.push(k),s++}var p=b===s;if(P=P||p,!P){let k=s;if(n!==null){let w={instancePath:t+"/evidence/"+m+"/assertionId",schemaPath:"#/properties/evidence/items/properties/assertionId/anyOf/1/type",keyword:"type",params:{type:"null"},message:"must be null"};e===null?e=[w]:e.push(w),s++}var p=k===s;P=P||p}if(P)s=u,e!==null&&(u?e.length=u:e=null);else{let k={instancePath:t+"/evidence/"+m+"/assertionId",schemaPath:"#/properties/evidence/items/properties/assertionId/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};e===null?e=[k]:e.push(k),s++}}if(y.kind!==void 0){let n=y.kind;if(!(n==="observation"||n==="http_exchange"||n==="screenshot"||n==="trace")){let u={instancePath:t+"/evidence/"+m+"/kind",schemaPath:"#/properties/evidence/items/properties/kind/enum",keyword:"enum",params:{allowedValues:L.properties.evidence.items.properties.kind.enum},message:"must be equal to one of the allowed values"};e===null?e=[u]:e.push(u),s++}}if(y.name!==void 0){let n=y.name;if(typeof n=="string"){if(A(n)<1){let u={instancePath:t+"/evidence/"+m+"/name",schemaPath:"#/properties/evidence/items/properties/name/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[u]:e.push(u),s++}}else{let u={instancePath:t+"/evidence/"+m+"/name",schemaPath:"#/properties/evidence/items/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[u]:e.push(u),s++}}if(y.mediaType!==void 0){let n=y.mediaType;if(typeof n=="string"){if(A(n)<1){let u={instancePath:t+"/evidence/"+m+"/mediaType",schemaPath:"#/properties/evidence/items/properties/mediaType/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[u]:e.push(u),s++}}else{let u={instancePath:t+"/evidence/"+m+"/mediaType",schemaPath:"#/properties/evidence/items/properties/mediaType/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[u]:e.push(u),s++}}if(y.sha256!==void 0){let n=y.sha256;if(typeof n=="string"){if(!U.test(n)){let u={instancePath:t+"/evidence/"+m+"/sha256",schemaPath:"#/properties/evidence/items/properties/sha256/pattern",keyword:"pattern",params:{pattern:"^[a-f0-9]{64}$"},message:'must match pattern "^[a-f0-9]{64}$"'};e===null?e=[u]:e.push(u),s++}}else{let u={instancePath:t+"/evidence/"+m+"/sha256",schemaPath:"#/properties/evidence/items/properties/sha256/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[u]:e.push(u),s++}}if(y.size!==void 0){let n=y.size;if(!(typeof n=="number"&&!(n%1)&&!isNaN(n)&&isFinite(n))){let u={instancePath:t+"/evidence/"+m+"/size",schemaPath:"#/properties/evidence/items/properties/size/type",keyword:"type",params:{type:"integer"},message:"must be integer"};e===null?e=[u]:e.push(u),s++}if(typeof n=="number"&&isFinite(n)&&(n<0||isNaN(n))){let u={instancePath:t+"/evidence/"+m+"/size",schemaPath:"#/properties/evidence/items/properties/size/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};e===null?e=[u]:e.push(u),s++}}}else{let n={instancePath:t+"/evidence/"+m,schemaPath:"#/properties/evidence/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[n]:e.push(n),s++}}let a=r.length,g;if(a>1){e:for(;a--;)for(g=a;g--;)if($(r[a],r[g])){let m={instancePath:t+"/evidence",schemaPath:"#/properties/evidence/uniqueItems",keyword:"uniqueItems",params:{i:a,j:g},message:"must NOT have duplicate items (items ## "+g+" and "+a+" are identical)"};e===null?e=[m]:e.push(m),s++;break e}}}else{let i={instancePath:t+"/evidence",schemaPath:"#/properties/evidence/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[i]:e.push(i),s++}}if(d.cleanup!==void 0){let r=d.cleanup;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.status===void 0){let i={instancePath:t+"/cleanup",schemaPath:"#/properties/cleanup/required",keyword:"required",params:{missingProperty:"status"},message:"must have required property 'status'"};e===null?e=[i]:e.push(i),s++}if(r.reason===void 0){let i={instancePath:t+"/cleanup",schemaPath:"#/properties/cleanup/required",keyword:"required",params:{missingProperty:"reason"},message:"must have required property 'reason'"};e===null?e=[i]:e.push(i),s++}for(let i in r)if(!(i==="status"||i==="reason")){let a={instancePath:t+"/cleanup",schemaPath:"#/properties/cleanup/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:i},message:"must NOT have additional properties"};e===null?e=[a]:e.push(a),s++}if(r.status!==void 0){let i=r.status;if(!(i==="completed"||i==="failed"||i==="not_applicable")){let a={instancePath:t+"/cleanup/status",schemaPath:"#/properties/cleanup/properties/status/enum",keyword:"enum",params:{allowedValues:L.properties.cleanup.properties.status.enum},message:"must be equal to one of the allowed values"};e===null?e=[a]:e.push(a),s++}}if(r.reason!==void 0){let i=r.reason;if(typeof i=="string"){if(A(i)<1){let a={instancePath:t+"/cleanup/reason",schemaPath:"#/properties/cleanup/properties/reason/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[a]:e.push(a),s++}}else{let a={instancePath:t+"/cleanup/reason",schemaPath:"#/properties/cleanup/properties/reason/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[a]:e.push(a),s++}}}else{let i={instancePath:t+"/cleanup",schemaPath:"#/properties/cleanup/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[i]:e.push(i),s++}}if(d.coverage!==void 0){let r=d.coverage;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.status===void 0){let i={instancePath:t+"/coverage",schemaPath:"#/properties/coverage/required",keyword:"required",params:{missingProperty:"status"},message:"must have required property 'status'"};e===null?e=[i]:e.push(i),s++}if(r.requirements===void 0){let i={instancePath:t+"/coverage",schemaPath:"#/properties/coverage/required",keyword:"required",params:{missingProperty:"requirements"},message:"must have required property 'requirements'"};e===null?e=[i]:e.push(i),s++}for(let i in r)if(!(i==="status"||i==="requirements")){let a={instancePath:t+"/coverage",schemaPath:"#/properties/coverage/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:i},message:"must NOT have additional properties"};e===null?e=[a]:e.push(a),s++}if(r.status!==void 0){let i=r.status;if(!(i==="complete"||i==="partial"||i==="not_executed")){let a={instancePath:t+"/coverage/status",schemaPath:"#/properties/coverage/properties/status/enum",keyword:"enum",params:{allowedValues:L.properties.coverage.properties.status.enum},message:"must be equal to one of the allowed values"};e===null?e=[a]:e.push(a),s++}}if(r.requirements!==void 0){let i=r.requirements;if(Array.isArray(i)){if(i.length<1){let y={instancePath:t+"/coverage/requirements",schemaPath:"#/properties/coverage/properties/requirements/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"};e===null?e=[y]:e.push(y),s++}let a=i.length;for(let y=0;y<a;y++){let n=i[y];if(n&&typeof n=="object"&&!Array.isArray(n)){if(n.requirementId===void 0){let u={instancePath:t+"/coverage/requirements/"+y,schemaPath:"#/properties/coverage/properties/requirements/items/required",keyword:"required",params:{missingProperty:"requirementId"},message:"must have required property 'requirementId'"};e===null?e=[u]:e.push(u),s++}if(n.status===void 0){let u={instancePath:t+"/coverage/requirements/"+y,schemaPath:"#/properties/coverage/properties/requirements/items/required",keyword:"required",params:{missingProperty:"status"},message:"must have required property 'status'"};e===null?e=[u]:e.push(u),s++}if(n.testIds===void 0){let u={instancePath:t+"/coverage/requirements/"+y,schemaPath:"#/properties/coverage/properties/requirements/items/required",keyword:"required",params:{missingProperty:"testIds"},message:"must have required property 'testIds'"};e===null?e=[u]:e.push(u),s++}if(n.reason===void 0){let u={instancePath:t+"/coverage/requirements/"+y,schemaPath:"#/properties/coverage/properties/requirements/items/required",keyword:"required",params:{missingProperty:"reason"},message:"must have required property 'reason'"};e===null?e=[u]:e.push(u),s++}for(let u in n)if(!(u==="requirementId"||u==="status"||u==="testIds"||u==="reason")){let P={instancePath:t+"/coverage/requirements/"+y,schemaPath:"#/properties/coverage/properties/requirements/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:u},message:"must NOT have additional properties"};e===null?e=[P]:e.push(P),s++}if(n.requirementId!==void 0){let u=n.requirementId;if(typeof u=="string"){if(!j.test(u)){let P={instancePath:t+"/coverage/requirements/"+y+"/requirementId",schemaPath:"#/properties/coverage/properties/requirements/items/properties/requirementId/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[P]:e.push(P),s++}}else{let P={instancePath:t+"/coverage/requirements/"+y+"/requirementId",schemaPath:"#/properties/coverage/properties/requirements/items/properties/requirementId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[P]:e.push(P),s++}}if(n.status!==void 0){let u=n.status;if(!(u==="tested"||u==="deferred"||u==="uncovered")){let P={instancePath:t+"/coverage/requirements/"+y+"/status",schemaPath:"#/properties/coverage/properties/requirements/items/properties/status/enum",keyword:"enum",params:{allowedValues:L.properties.coverage.properties.requirements.items.properties.status.enum},message:"must be equal to one of the allowed values"};e===null?e=[P]:e.push(P),s++}}if(n.testIds!==void 0){let u=n.testIds;if(Array.isArray(u)){if(u.length<0){let v={instancePath:t+"/coverage/requirements/"+y+"/testIds",schemaPath:"#/properties/coverage/properties/requirements/items/properties/testIds/minItems",keyword:"minItems",params:{limit:0},message:"must NOT have fewer than 0 items"};e===null?e=[v]:e.push(v),s++}let P=u.length;for(let v=0;v<P;v++){let w=u[v];if(typeof w=="string"){if(!j.test(w)){let I={instancePath:t+"/coverage/requirements/"+y+"/testIds/"+v,schemaPath:"#/properties/coverage/properties/requirements/items/properties/testIds/items/pattern",keyword:"pattern",params:{pattern:"^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"},message:'must match pattern "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"'};e===null?e=[I]:e.push(I),s++}}else{let I={instancePath:t+"/coverage/requirements/"+y+"/testIds/"+v,schemaPath:"#/properties/coverage/properties/requirements/items/properties/testIds/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[I]:e.push(I),s++}}let b=u.length,k;if(b>1){let v={};for(;b--;){let w=u[b];if(typeof w=="string"){if(typeof v[w]=="number"){k=v[w];let I={instancePath:t+"/coverage/requirements/"+y+"/testIds",schemaPath:"#/properties/coverage/properties/requirements/items/properties/testIds/uniqueItems",keyword:"uniqueItems",params:{i:b,j:k},message:"must NOT have duplicate items (items ## "+k+" and "+b+" are identical)"};e===null?e=[I]:e.push(I),s++;break}v[w]=b}}}}else{let P={instancePath:t+"/coverage/requirements/"+y+"/testIds",schemaPath:"#/properties/coverage/properties/requirements/items/properties/testIds/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[P]:e.push(P),s++}}if(n.reason!==void 0){let u=n.reason,P=s,b=!1,k=s;if(typeof u=="string"){if(A(u)<1){let v={instancePath:t+"/coverage/requirements/"+y+"/reason",schemaPath:"#/properties/coverage/properties/requirements/items/properties/reason/anyOf/0/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[v]:e.push(v),s++}}else{let v={instancePath:t+"/coverage/requirements/"+y+"/reason",schemaPath:"#/properties/coverage/properties/requirements/items/properties/reason/anyOf/0/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[v]:e.push(v),s++}var l=k===s;if(b=b||l,!b){let v=s;if(u!==null){let I={instancePath:t+"/coverage/requirements/"+y+"/reason",schemaPath:"#/properties/coverage/properties/requirements/items/properties/reason/anyOf/1/type",keyword:"type",params:{type:"null"},message:"must be null"};e===null?e=[I]:e.push(I),s++}var l=v===s;b=b||l}if(b)s=P,e!==null&&(P?e.length=P:e=null);else{let v={instancePath:t+"/coverage/requirements/"+y+"/reason",schemaPath:"#/properties/coverage/properties/requirements/items/properties/reason/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};e===null?e=[v]:e.push(v),s++}}}else{let u={instancePath:t+"/coverage/requirements/"+y,schemaPath:"#/properties/coverage/properties/requirements/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[u]:e.push(u),s++}}let g=i.length,m;if(g>1){e:for(;g--;)for(m=g;m--;)if($(i[g],i[m])){let y={instancePath:t+"/coverage/requirements",schemaPath:"#/properties/coverage/properties/requirements/uniqueItems",keyword:"uniqueItems",params:{i:g,j:m},message:"must NOT have duplicate items (items ## "+m+" and "+g+" are identical)"};e===null?e=[y]:e.push(y),s++;break e}}}else{let a={instancePath:t+"/coverage/requirements",schemaPath:"#/properties/coverage/properties/requirements/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[a]:e.push(a),s++}}}else{let i={instancePath:t+"/coverage",schemaPath:"#/properties/coverage/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[i]:e.push(i),s++}}}else{let r={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[r]:e.push(r),s++}return Oe.errors=e,s===0}export{es as finding,ss as gap,ns as plan,ts as planCandidate,rs as planDelta,is as planPatch,as as planRequest,ps as profile,os as response,ms as result};
|