@bjoernrochel/sevro 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (403) hide show
  1. package/CONTRIBUTING.md +34 -4
  2. package/README.md +7 -6
  3. package/dist/examples/basic/graded.json +13 -0
  4. package/dist/examples/basic/host.js +9 -0
  5. package/dist/examples/basic/host.js.map +1 -0
  6. package/dist/examples/basic/prompt-only.json +7 -0
  7. package/dist/examples/recipes/candidate.js +23 -0
  8. package/dist/examples/recipes/candidate.js.map +1 -0
  9. package/dist/examples/recipes/cases/coding-change.json +21 -0
  10. package/dist/examples/recipes/cases/host-tools.json +21 -0
  11. package/dist/examples/recipes/cases/mise.json +21 -0
  12. package/dist/examples/recipes/cases/node.json +21 -0
  13. package/dist/examples/recipes/cases/python-uv.json +21 -0
  14. package/dist/examples/recipes/cases/semantic.json +17 -0
  15. package/dist/examples/recipes/coding-change/check.js +16 -0
  16. package/dist/examples/recipes/coding-change/check.js.map +1 -0
  17. package/dist/examples/recipes/executable.js +20 -0
  18. package/dist/examples/recipes/executable.js.map +1 -0
  19. package/dist/examples/recipes/extension-artifacts.js +56 -0
  20. package/dist/examples/recipes/extension-artifacts.js.map +1 -0
  21. package/dist/examples/recipes/extension-methods.js +167 -0
  22. package/dist/examples/recipes/extension-methods.js.map +1 -0
  23. package/dist/examples/recipes/extension.js +28 -0
  24. package/dist/examples/recipes/extension.js.map +1 -0
  25. package/dist/examples/recipes/modules.js +9 -0
  26. package/dist/examples/recipes/modules.js.map +1 -0
  27. package/dist/examples/recipes/repository-skill/.agents/skills/startup-guide/SKILL.md +7 -0
  28. package/dist/examples/recipes/repository-skill/.claude/skills/startup-guide/SKILL.md +7 -0
  29. package/dist/examples/recipes/repository-skill/README.md +3 -0
  30. package/dist/examples/recipes/run-inputs.js +144 -0
  31. package/dist/examples/recipes/run-inputs.js.map +1 -0
  32. package/dist/examples/recipes/run-options.js +103 -0
  33. package/dist/examples/recipes/run-options.js.map +1 -0
  34. package/dist/examples/recipes/run.js +62 -0
  35. package/dist/examples/recipes/run.js.map +1 -0
  36. package/dist/examples/recipes/runtime/empty.json +1 -0
  37. package/dist/examples/recipes/runtime/goals.json +1 -0
  38. package/dist/examples/recipes/runtime/mise.json +6 -0
  39. package/dist/examples/recipes/runtime/path.json +1 -0
  40. package/dist/examples/recipes/runtime/plugins.json +4 -0
  41. package/dist/examples/recipes/runtime/python-uv.json +10 -0
  42. package/dist/examples/recipes/semantic-judge.js +27 -0
  43. package/dist/examples/recipes/semantic-judge.js.map +1 -0
  44. package/dist/examples/templates/coding/adapter.js +14 -0
  45. package/dist/examples/templates/coding/adapter.js.map +1 -0
  46. package/dist/examples/templates/coding/case.json +15 -0
  47. package/dist/examples/templates/repository-skill/.agents/skills/startup-guide/SKILL.md +6 -0
  48. package/dist/examples/templates/repository-skill/extension-data.js +61 -0
  49. package/dist/examples/templates/repository-skill/extension-data.js.map +1 -0
  50. package/dist/examples/templates/repository-skill/extension.js +29 -0
  51. package/dist/examples/templates/repository-skill/extension.js.map +1 -0
  52. package/dist/examples/templates/response/adapter.js +13 -0
  53. package/dist/examples/templates/response/adapter.js.map +1 -0
  54. package/dist/examples/templates/response/case.json +13 -0
  55. package/dist/src/advisory.js +86 -0
  56. package/dist/src/advisory.js.map +1 -0
  57. package/dist/src/candidate-artifacts.js +139 -0
  58. package/dist/src/candidate-artifacts.js.map +1 -0
  59. package/dist/src/candidate-codex-state.js +110 -0
  60. package/dist/src/candidate-codex-state.js.map +1 -0
  61. package/dist/src/case-validation.js +92 -0
  62. package/dist/src/case-validation.js.map +1 -0
  63. package/dist/src/cli/cancellation.js +21 -0
  64. package/dist/src/cli/cancellation.js.map +1 -0
  65. package/dist/src/cli/command.js +60 -0
  66. package/dist/src/cli/command.js.map +1 -0
  67. package/dist/src/cli/completion.js +14 -0
  68. package/dist/src/cli/completion.js.map +1 -0
  69. package/dist/src/cli/demo.js +45 -0
  70. package/dist/src/cli/demo.js.map +1 -0
  71. package/dist/src/cli/evaluation.js +40 -0
  72. package/dist/src/cli/evaluation.js.map +1 -0
  73. package/dist/src/cli/extension.js +54 -0
  74. package/dist/src/cli/extension.js.map +1 -0
  75. package/dist/src/cli/help.js +190 -0
  76. package/dist/src/cli/help.js.map +1 -0
  77. package/dist/src/cli/hosts.js +33 -0
  78. package/dist/src/cli/hosts.js.map +1 -0
  79. package/dist/src/cli/init-settings.js +29 -0
  80. package/dist/src/cli/init-settings.js.map +1 -0
  81. package/dist/src/cli/init.js +82 -0
  82. package/dist/src/cli/init.js.map +1 -0
  83. package/dist/src/cli/invocation.js +431 -0
  84. package/dist/src/cli/invocation.js.map +1 -0
  85. package/dist/src/cli/loading.js +110 -0
  86. package/dist/src/cli/loading.js.map +1 -0
  87. package/dist/src/cli/preparation.js +88 -0
  88. package/dist/src/cli/preparation.js.map +1 -0
  89. package/dist/src/cli/presentation.js +61 -0
  90. package/dist/src/cli/presentation.js.map +1 -0
  91. package/dist/src/cli/progress.js +5 -0
  92. package/dist/src/cli/progress.js.map +1 -0
  93. package/dist/src/cli/run-manifest.js +108 -0
  94. package/dist/src/cli/run-manifest.js.map +1 -0
  95. package/dist/src/cli/run-options.js +367 -0
  96. package/dist/src/cli/run-options.js.map +1 -0
  97. package/dist/src/cli/run-overrides.js +51 -0
  98. package/dist/src/cli/run-overrides.js.map +1 -0
  99. package/dist/src/cli/settings.js +127 -0
  100. package/dist/src/cli/settings.js.map +1 -0
  101. package/dist/src/cli/summary.js +28 -0
  102. package/dist/src/cli/summary.js.map +1 -0
  103. package/dist/src/cli.js +20 -0
  104. package/dist/src/cli.js.map +1 -0
  105. package/dist/src/contract-types.js +2 -0
  106. package/dist/src/contract-types.js.map +1 -0
  107. package/dist/src/engine.js +4 -0
  108. package/dist/src/engine.js.map +1 -0
  109. package/dist/src/evaluation/advisory.js +85 -0
  110. package/dist/src/evaluation/advisory.js.map +1 -0
  111. package/dist/src/evaluation/check-plan.js +292 -0
  112. package/dist/src/evaluation/check-plan.js.map +1 -0
  113. package/dist/src/evaluation/collection.js +61 -0
  114. package/dist/src/evaluation/collection.js.map +1 -0
  115. package/dist/src/evaluation/context.js +2 -0
  116. package/dist/src/evaluation/context.js.map +1 -0
  117. package/dist/src/evaluation/grading-host.js +28 -0
  118. package/dist/src/evaluation/grading-host.js.map +1 -0
  119. package/dist/src/evaluation/grading.js +154 -0
  120. package/dist/src/evaluation/grading.js.map +1 -0
  121. package/dist/src/evaluation/invocation-plan.js +312 -0
  122. package/dist/src/evaluation/invocation-plan.js.map +1 -0
  123. package/dist/src/evaluation/plan.js +376 -0
  124. package/dist/src/evaluation/plan.js.map +1 -0
  125. package/dist/src/evaluation/progress.js +14 -0
  126. package/dist/src/evaluation/progress.js.map +1 -0
  127. package/dist/src/evaluation/resources.js +159 -0
  128. package/dist/src/evaluation/resources.js.map +1 -0
  129. package/dist/src/evaluation/run.js +148 -0
  130. package/dist/src/evaluation/run.js.map +1 -0
  131. package/dist/src/evaluation/scheduler.js +27 -0
  132. package/dist/src/evaluation/scheduler.js.map +1 -0
  133. package/dist/src/evaluation/semantic.js +183 -0
  134. package/dist/src/evaluation/semantic.js.map +1 -0
  135. package/dist/src/evaluation/trial.js +593 -0
  136. package/dist/src/evaluation/trial.js.map +1 -0
  137. package/dist/src/evaluation/types.js +20 -0
  138. package/dist/src/evaluation/types.js.map +1 -0
  139. package/dist/src/evidence/host-results.js +67 -0
  140. package/dist/src/evidence/host-results.js.map +1 -0
  141. package/dist/src/evidence/retained-artifacts.js +17 -0
  142. package/dist/src/evidence/retained-artifacts.js.map +1 -0
  143. package/dist/src/evidence/trial-writer.js +131 -0
  144. package/dist/src/evidence/trial-writer.js.map +1 -0
  145. package/dist/src/evidence/usage.js +14 -0
  146. package/dist/src/evidence/usage.js.map +1 -0
  147. package/dist/src/executable.js +20 -0
  148. package/dist/src/executable.js.map +1 -0
  149. package/dist/src/extension-client.js +212 -0
  150. package/dist/src/extension-client.js.map +1 -0
  151. package/dist/src/extension-session.js +236 -0
  152. package/dist/src/extension-session.js.map +1 -0
  153. package/dist/src/fixtures/advisory.js +206 -0
  154. package/dist/src/fixtures/advisory.js.map +1 -0
  155. package/dist/src/fixtures/bin.js +41 -0
  156. package/dist/src/fixtures/bin.js.map +1 -0
  157. package/dist/src/fixtures/cleanup.js +43 -0
  158. package/dist/src/fixtures/cleanup.js.map +1 -0
  159. package/dist/src/fixtures/create.js +94 -0
  160. package/dist/src/fixtures/create.js.map +1 -0
  161. package/dist/src/fixtures/generated.js +181 -0
  162. package/dist/src/fixtures/generated.js.map +1 -0
  163. package/dist/src/fixtures/git-hooks.js +16 -0
  164. package/dist/src/fixtures/git-hooks.js.map +1 -0
  165. package/dist/src/fixtures/preparation.js +201 -0
  166. package/dist/src/fixtures/preparation.js.map +1 -0
  167. package/dist/src/fixtures/repository.js +255 -0
  168. package/dist/src/fixtures/repository.js.map +1 -0
  169. package/dist/src/fixtures/setup.js +175 -0
  170. package/dist/src/fixtures/setup.js.map +1 -0
  171. package/dist/src/fixtures/tools.js +57 -0
  172. package/dist/src/fixtures/tools.js.map +1 -0
  173. package/dist/src/fixtures/workspace-state.js +155 -0
  174. package/dist/src/fixtures/workspace-state.js.map +1 -0
  175. package/dist/src/generated/cli-result.cjs +2 -0
  176. package/dist/src/generated/extension.cjs +2 -0
  177. package/dist/src/generated/report.cjs +2 -0
  178. package/dist/src/generated/run-evidence.cjs +2 -0
  179. package/dist/src/generated/runtime.cjs +2 -0
  180. package/dist/src/git.js +72 -0
  181. package/dist/src/git.js.map +1 -0
  182. package/dist/src/graders/artifact.js +68 -0
  183. package/dist/src/graders/artifact.js.map +1 -0
  184. package/dist/src/graders/git-head.js +112 -0
  185. package/dist/src/graders/git-head.js.map +1 -0
  186. package/dist/src/graders/output.js +345 -0
  187. package/dist/src/graders/output.js.map +1 -0
  188. package/dist/src/graders/semantic.js +132 -0
  189. package/dist/src/graders/semantic.js.map +1 -0
  190. package/dist/src/graders/shell.js +321 -0
  191. package/dist/src/graders/shell.js.map +1 -0
  192. package/dist/src/host-diagnostic-redaction.js +52 -0
  193. package/dist/src/host-diagnostic-redaction.js.map +1 -0
  194. package/dist/src/host-diagnostics.js +248 -0
  195. package/dist/src/host-diagnostics.js.map +1 -0
  196. package/dist/src/hosts/claude-continuation.js +89 -0
  197. package/dist/src/hosts/claude-continuation.js.map +1 -0
  198. package/dist/src/hosts/claude-credential.js +121 -0
  199. package/dist/src/hosts/claude-credential.js.map +1 -0
  200. package/dist/src/hosts/claude-events.js +136 -0
  201. package/dist/src/hosts/claude-events.js.map +1 -0
  202. package/dist/src/hosts/claude-keychain.js +100 -0
  203. package/dist/src/hosts/claude-keychain.js.map +1 -0
  204. package/dist/src/hosts/claude-login-recovery.js +67 -0
  205. package/dist/src/hosts/claude-login-recovery.js.map +1 -0
  206. package/dist/src/hosts/claude-login-refresh.js +146 -0
  207. package/dist/src/hosts/claude-login-refresh.js.map +1 -0
  208. package/dist/src/hosts/claude-login-store.js +124 -0
  209. package/dist/src/hosts/claude-login-store.js.map +1 -0
  210. package/dist/src/hosts/claude-login.js +74 -0
  211. package/dist/src/hosts/claude-login.js.map +1 -0
  212. package/dist/src/hosts/claude-native-goal.js +138 -0
  213. package/dist/src/hosts/claude-native-goal.js.map +1 -0
  214. package/dist/src/hosts/claude-process.js +10 -0
  215. package/dist/src/hosts/claude-process.js.map +1 -0
  216. package/dist/src/hosts/claude-refresh-lock.js +76 -0
  217. package/dist/src/hosts/claude-refresh-lock.js.map +1 -0
  218. package/dist/src/hosts/claude-repository-invocation.js +229 -0
  219. package/dist/src/hosts/claude-repository-invocation.js.map +1 -0
  220. package/dist/src/hosts/claude-settings.js +156 -0
  221. package/dist/src/hosts/claude-settings.js.map +1 -0
  222. package/dist/src/hosts/claude-skill-activations.js +131 -0
  223. package/dist/src/hosts/claude-skill-activations.js.map +1 -0
  224. package/dist/src/hosts/claude-state.js +237 -0
  225. package/dist/src/hosts/claude-state.js.map +1 -0
  226. package/dist/src/hosts/claude-tool-calls.js +150 -0
  227. package/dist/src/hosts/claude-tool-calls.js.map +1 -0
  228. package/dist/src/hosts/claude.js +373 -0
  229. package/dist/src/hosts/claude.js.map +1 -0
  230. package/dist/src/hosts/codex-app-server.js +764 -0
  231. package/dist/src/hosts/codex-app-server.js.map +1 -0
  232. package/dist/src/hosts/codex-configuration.js +91 -0
  233. package/dist/src/hosts/codex-configuration.js.map +1 -0
  234. package/dist/src/hosts/codex-events.js +104 -0
  235. package/dist/src/hosts/codex-events.js.map +1 -0
  236. package/dist/src/hosts/codex-exec-controls.js +434 -0
  237. package/dist/src/hosts/codex-exec-controls.js.map +1 -0
  238. package/dist/src/hosts/codex-invocation.js +54 -0
  239. package/dist/src/hosts/codex-invocation.js.map +1 -0
  240. package/dist/src/hosts/codex-marketplace.js +185 -0
  241. package/dist/src/hosts/codex-marketplace.js.map +1 -0
  242. package/dist/src/hosts/codex-native-calls.js +516 -0
  243. package/dist/src/hosts/codex-native-calls.js.map +1 -0
  244. package/dist/src/hosts/codex-process.js +10 -0
  245. package/dist/src/hosts/codex-process.js.map +1 -0
  246. package/dist/src/hosts/codex-profile.js +206 -0
  247. package/dist/src/hosts/codex-profile.js.map +1 -0
  248. package/dist/src/hosts/codex-session-files.js +89 -0
  249. package/dist/src/hosts/codex-session-files.js.map +1 -0
  250. package/dist/src/hosts/codex-state.js +310 -0
  251. package/dist/src/hosts/codex-state.js.map +1 -0
  252. package/dist/src/hosts/codex.js +527 -0
  253. package/dist/src/hosts/codex.js.map +1 -0
  254. package/dist/src/hosts/isolation-common.js +43 -0
  255. package/dist/src/hosts/isolation-common.js.map +1 -0
  256. package/dist/src/hosts/isolation-roots.js +64 -0
  257. package/dist/src/hosts/isolation-roots.js.map +1 -0
  258. package/dist/src/hosts/isolation.js +12 -0
  259. package/dist/src/hosts/isolation.js.map +1 -0
  260. package/dist/src/hosts/linux-sandbox.js +127 -0
  261. package/dist/src/hosts/linux-sandbox.js.map +1 -0
  262. package/dist/src/hosts/mac-sandbox.js +137 -0
  263. package/dist/src/hosts/mac-sandbox.js.map +1 -0
  264. package/dist/src/hosts/native-controls.js +151 -0
  265. package/dist/src/hosts/native-controls.js.map +1 -0
  266. package/dist/src/hosts/native-request.js +33 -0
  267. package/dist/src/hosts/native-request.js.map +1 -0
  268. package/dist/src/hosts/process-lifecycle.js +167 -0
  269. package/dist/src/hosts/process-lifecycle.js.map +1 -0
  270. package/dist/src/hosts/protected-worktrees.js +81 -0
  271. package/dist/src/hosts/protected-worktrees.js.map +1 -0
  272. package/dist/src/hosts/skill-hook-catalog.js +100 -0
  273. package/dist/src/hosts/skill-hook-catalog.js.map +1 -0
  274. package/dist/src/hosts/skill-hook-handler.js +228 -0
  275. package/dist/src/hosts/skill-hook-handler.js.map +1 -0
  276. package/dist/src/hosts/skill-hooks.js +423 -0
  277. package/dist/src/hosts/skill-hooks.js.map +1 -0
  278. package/dist/src/hosts/workspace-fingerprint.js +72 -0
  279. package/dist/src/hosts/workspace-fingerprint.js.map +1 -0
  280. package/dist/src/identity.js +167 -0
  281. package/dist/src/identity.js.map +1 -0
  282. package/dist/src/instrumentation.js +83 -0
  283. package/dist/src/instrumentation.js.map +1 -0
  284. package/dist/src/native-transcript-state.js +85 -0
  285. package/dist/src/native-transcript-state.js.map +1 -0
  286. package/dist/src/native-transcript-view.js +65 -0
  287. package/dist/src/native-transcript-view.js.map +1 -0
  288. package/dist/src/native-transcripts.js +208 -0
  289. package/dist/src/native-transcripts.js.map +1 -0
  290. package/dist/src/paths.js +13 -0
  291. package/dist/src/paths.js.map +1 -0
  292. package/dist/src/process-lifecycle.js +101 -0
  293. package/dist/src/process-lifecycle.js.map +1 -0
  294. package/dist/src/provenance.js +263 -0
  295. package/dist/src/provenance.js.map +1 -0
  296. package/dist/src/prune.js +228 -0
  297. package/dist/src/prune.js.map +1 -0
  298. package/dist/src/report.js +276 -0
  299. package/dist/src/report.js.map +1 -0
  300. package/dist/src/resolved-case.js +29 -0
  301. package/dist/src/resolved-case.js.map +1 -0
  302. package/dist/src/results-lock.js +40 -0
  303. package/dist/src/results-lock.js.map +1 -0
  304. package/dist/src/results.js +127 -0
  305. package/dist/src/results.js.map +1 -0
  306. package/dist/src/run-owner.js +283 -0
  307. package/dist/src/run-owner.js.map +1 -0
  308. package/dist/src/runner-paths.js +11 -0
  309. package/dist/src/runner-paths.js.map +1 -0
  310. package/dist/src/runtime/config.js +323 -0
  311. package/dist/src/runtime/config.js.map +1 -0
  312. package/dist/src/runtime/discovery-apple.js +65 -0
  313. package/dist/src/runtime/discovery-apple.js.map +1 -0
  314. package/dist/src/runtime/discovery-providers.js +37 -0
  315. package/dist/src/runtime/discovery-providers.js.map +1 -0
  316. package/dist/src/runtime/discovery.js +40 -0
  317. package/dist/src/runtime/discovery.js.map +1 -0
  318. package/dist/src/runtime/hook-processes.js +81 -0
  319. package/dist/src/runtime/hook-processes.js.map +1 -0
  320. package/dist/src/runtime/hooks.js +304 -0
  321. package/dist/src/runtime/hooks.js.map +1 -0
  322. package/dist/src/runtime/paths.js +244 -0
  323. package/dist/src/runtime/paths.js.map +1 -0
  324. package/dist/src/runtime/query.js +76 -0
  325. package/dist/src/runtime/query.js.map +1 -0
  326. package/dist/src/runtime/seeds.js +98 -0
  327. package/dist/src/runtime/seeds.js.map +1 -0
  328. package/dist/src/runtime/shared-cache.js +81 -0
  329. package/dist/src/runtime/shared-cache.js.map +1 -0
  330. package/dist/src/runtime/state.js +106 -0
  331. package/dist/src/runtime/state.js.map +1 -0
  332. package/dist/src/runtime-process.js +148 -0
  333. package/dist/src/runtime-process.js.map +1 -0
  334. package/dist/src/schema-types.js +2 -0
  335. package/dist/src/schema-types.js.map +1 -0
  336. package/dist/src/schema.js +16 -0
  337. package/dist/src/schema.js.map +1 -0
  338. package/dist/src/shell.js +5 -0
  339. package/dist/src/shell.js.map +1 -0
  340. package/dist/src/sqlite-lock.js +18 -0
  341. package/dist/src/sqlite-lock.js.map +1 -0
  342. package/dist/src/storage.js +21 -0
  343. package/dist/src/storage.js.map +1 -0
  344. package/dist/src/transcript-retention.js +109 -0
  345. package/dist/src/transcript-retention.js.map +1 -0
  346. package/dist/src/value-guards.js +26 -0
  347. package/dist/src/value-guards.js.map +1 -0
  348. package/docs/architecture.md +5 -2
  349. package/docs/creating-cases.md +2 -3
  350. package/docs/development-cli.md +12 -7
  351. package/docs/documentation-quality.md +4 -3
  352. package/docs/evaluation-workflow.md +8 -8
  353. package/docs/getting-started.md +7 -6
  354. package/docs/guide-evaluation.md +1 -1
  355. package/docs/identity-v1.md +4 -1
  356. package/docs/installing.md +31 -13
  357. package/docs/licensing.md +2 -2
  358. package/docs/native-hosts.md +1 -1
  359. package/docs/recipes.md +41 -40
  360. package/docs/releases.md +20 -4
  361. package/docs/run-settings-v1.md +3 -3
  362. package/docs/specs/repository-guide.md +1 -1
  363. package/docs/troubleshooting.md +1 -1
  364. package/docs/typescript-quality.md +18 -1
  365. package/examples/recipes/executable.ts +19 -0
  366. package/examples/recipes/extension-artifacts.ts +1 -1
  367. package/examples/recipes/extension.ts +2 -1
  368. package/examples/recipes/modules.ts +9 -0
  369. package/examples/recipes/run-inputs.ts +14 -19
  370. package/examples/recipes/run-options.ts +9 -8
  371. package/examples/recipes/run.ts +21 -7
  372. package/examples/templates/repository-skill/extension-data.ts +1 -1
  373. package/examples/templates/repository-skill/extension.ts +2 -1
  374. package/package.json +14 -6
  375. package/src/cli/demo.ts +3 -2
  376. package/src/cli/help.ts +4 -3
  377. package/src/cli/init-settings.ts +5 -4
  378. package/src/cli/init.ts +9 -8
  379. package/src/cli/invocation.ts +2 -1
  380. package/src/cli/preparation.ts +2 -2
  381. package/src/cli.ts +1 -1
  382. package/src/executable.ts +19 -0
  383. package/src/extension-client.ts +6 -12
  384. package/src/fixtures/setup.ts +3 -2
  385. package/src/git.ts +2 -1
  386. package/src/graders/git-head.ts +3 -2
  387. package/src/graders/shell.ts +4 -3
  388. package/src/hosts/claude-keychain.ts +3 -2
  389. package/src/hosts/claude-login-refresh.ts +3 -2
  390. package/src/hosts/claude-refresh-lock.ts +2 -1
  391. package/src/hosts/isolation-roots.ts +3 -2
  392. package/src/hosts/process-lifecycle.ts +4 -6
  393. package/src/hosts/protected-worktrees.ts +2 -1
  394. package/src/hosts/skill-hook-handler.ts +1 -1
  395. package/src/hosts/skill-hooks.ts +10 -2
  396. package/src/provenance.ts +7 -6
  397. package/src/results-lock.ts +4 -4
  398. package/src/run-owner.ts +15 -9
  399. package/src/runner-paths.ts +21 -0
  400. package/src/runtime/hook-processes.ts +2 -1
  401. package/src/runtime/hooks.ts +9 -7
  402. package/src/runtime-process.ts +194 -0
  403. package/src/sqlite-lock.ts +25 -0
@@ -0,0 +1,2 @@
1
+ // Generated by bun run schemas:generate; do not edit.
2
+ "use strict";module.exports = validate40;module.exports.default = validate40;const schema103 = {"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"urn:sevro:schema:extension:v1","title":"Sevro extension exchange v1","type":"object","required":["protocol","id","method"],"properties":{"protocol":{"enum":["sevro.discovery.v1","sevro.extension.v1"]},"id":{"$ref":"#/$defs/id"},"method":{"enum":["describe","resolve","prepare","evaluate"]},"params":{"type":"object"},"result":{"type":"object"},"error":{"$ref":"#/$defs/error"}},"additionalProperties":false,"oneOf":[{"properties":{"protocol":{"const":"sevro.discovery.v1"},"method":{"const":"describe"},"params":{"$ref":"#/$defs/describeParams"}},"required":["params"],"not":{"anyOf":[{"required":["result"]},{"required":["error"]}]}},{"properties":{"protocol":{"const":"sevro.discovery.v1"},"method":{"const":"describe"},"result":{"$ref":"#/$defs/describeResult"}},"required":["result"],"not":{"anyOf":[{"required":["params"]},{"required":["error"]}]}},{"properties":{"protocol":{"const":"sevro.extension.v1"},"method":{"const":"resolve"},"params":{"$ref":"#/$defs/resolveParams"}},"required":["params"],"not":{"anyOf":[{"required":["result"]},{"required":["error"]}]}},{"properties":{"protocol":{"const":"sevro.extension.v1"},"method":{"const":"resolve"},"result":{"$ref":"#/$defs/resolveResult"}},"required":["result"],"not":{"anyOf":[{"required":["params"]},{"required":["error"]}]}},{"properties":{"protocol":{"const":"sevro.extension.v1"},"method":{"const":"prepare"},"params":{"$ref":"#/$defs/prepareParams"}},"required":["params"],"not":{"anyOf":[{"required":["result"]},{"required":["error"]}]}},{"properties":{"protocol":{"const":"sevro.extension.v1"},"method":{"const":"prepare"},"result":{"$ref":"#/$defs/prepareResult"}},"required":["result"],"not":{"anyOf":[{"required":["params"]},{"required":["error"]}]}},{"properties":{"protocol":{"const":"sevro.extension.v1"},"method":{"const":"evaluate"},"params":{"$ref":"#/$defs/evaluateParams"}},"required":["params"],"not":{"anyOf":[{"required":["result"]},{"required":["error"]}]}},{"properties":{"protocol":{"const":"sevro.extension.v1"},"method":{"const":"evaluate"},"result":{"$ref":"#/$defs/evaluateResult"}},"required":["result"],"not":{"anyOf":[{"required":["params"]},{"required":["error"]}]}},{"required":["error"],"not":{"anyOf":[{"required":["params"]},{"required":["result"]}]},"allOf":[{"if":{"properties":{"method":{"const":"describe"}}},"then":{"properties":{"protocol":{"const":"sevro.discovery.v1"}}},"else":{"properties":{"protocol":{"const":"sevro.extension.v1"}}}}]}],"$defs":{"id":{"type":"string","minLength":1,"maxLength":128},"namespacedId":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)+$","maxLength":128},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/$defs/namespacedId"},"message":{"type":"string","minLength":1,"maxLength":4096}},"additionalProperties":false},"extensionData":{"type":"object","propertyNames":{"$ref":"#/$defs/namespacedId"}},"describeParams":{"type":"object","required":["protocols","engineCapabilities","hostCapabilities"],"properties":{"protocols":{"type":"array","items":{"type":"string","pattern":"^sevro\\.extension\\.v[1-9][0-9]*$"},"minItems":1,"uniqueItems":true},"engineCapabilities":{"$ref":"#/$defs/capabilities"},"hostCapabilities":{"$ref":"#/$defs/capabilities"}},"additionalProperties":false},"capabilities":{"type":"array","items":{"$ref":"#/$defs/namespacedId"},"uniqueItems":true},"describeResult":{"type":"object","required":["extension","protocols","requiredCapabilities","optionalCapabilities","graders","taskVerdictPolicies"],"properties":{"extension":{"type":"object","required":["id","version"],"properties":{"id":{"$ref":"#/$defs/namespacedId"},"version":{"type":"string","minLength":1,"maxLength":128}},"additionalProperties":false},"protocols":{"type":"array","items":{"type":"string","pattern":"^sevro\\.extension\\.v[1-9][0-9]*$"},"minItems":1,"uniqueItems":true},"requiredCapabilities":{"$ref":"#/$defs/capabilities"},"optionalCapabilities":{"$ref":"#/$defs/capabilities"},"graders":{"$ref":"#/$defs/capabilities"},"taskVerdictPolicies":{"$ref":"#/$defs/capabilities"}},"additionalProperties":false},"selector":{"type":"object","properties":{"caseIds":{"type":"array","items":{"$ref":"#/$defs/id"},"uniqueItems":true},"skill":{"$ref":"#/$defs/id"},"plugin":{"$ref":"#/$defs/id"}},"additionalProperties":false},"resolveParams":{"type":"object","required":["projectRoot","selectors","configuration"],"properties":{"projectRoot":{"type":"string","pattern":"^file:///"},"selectors":{"$ref":"#/$defs/selector"},"host":{"$ref":"#/$defs/hostRoute"},"configuration":{"type":"object"}},"additionalProperties":false},"fixture":{"oneOf":[{"type":"object","required":["kind","files"],"properties":{"kind":{"const":"inline"},"files":{"type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false},{"type":"object","required":["kind","sourceRef"],"properties":{"kind":{"const":"repository"},"sourceRef":{"$ref":"#/$defs/id"},"files":{"type":"object","additionalProperties":{"type":"string"}},"staged":{"type":"array","items":{"type":"string","minLength":1},"uniqueItems":true},"commitFiles":{"type":"boolean"},"hooks":{"type":"object","maxProperties":32,"additionalProperties":{"type":"string"}},"bin":{"type":"object","maxProperties":64,"additionalProperties":{"type":"string"}}},"additionalProperties":false},{"type":"object","required":["kind","commits"],"properties":{"kind":{"const":"generated"},"commits":{"type":"array","maxItems":128,"items":{"type":"object","required":["message","files"],"properties":{"message":{"type":"string","minLength":1},"files":{"type":"object","minProperties":1,"additionalProperties":{"type":"string"}}},"additionalProperties":false}},"files":{"type":"object","additionalProperties":{"type":"string"}},"staged":{"type":"array","items":{"type":"string","minLength":1},"uniqueItems":true},"commitFiles":{"type":"boolean"},"hooks":{"type":"object","maxProperties":32,"additionalProperties":{"type":"string"}},"bin":{"type":"object","maxProperties":64,"additionalProperties":{"type":"string"}}},"additionalProperties":false}]},"checkDeclaration":{"type":"object","required":["id","grader","configuration"],"properties":{"id":{"$ref":"#/$defs/id"},"grader":{"$ref":"#/$defs/namespacedId"},"configuration":{"type":"object"}},"additionalProperties":false},"case":{"type":"object","required":["id","prompt","fixture","checks","requiredEvidence","extensionData"],"properties":{"id":{"$ref":"#/$defs/id"},"prompt":{"type":"string","minLength":1},"followUpPrompt":{"type":"string","minLength":1},"fixture":{"$ref":"#/$defs/fixture"},"checks":{"type":"array","items":{"$ref":"#/$defs/checkDeclaration"}},"requiredEvidence":{"$ref":"#/$defs/capabilities"},"extensionData":{"$ref":"#/$defs/extensionData"}},"additionalProperties":false},"resolveResult":{"type":"object","required":["cases"],"properties":{"cases":{"type":"array","items":{"$ref":"#/$defs/case"}}},"additionalProperties":false},"hostRoute":{"type":"object","required":["id","model","effort","capabilities"],"properties":{"id":{"$ref":"#/$defs/namespacedId"},"model":{"type":"string","minLength":1},"effort":{"type":"string","minLength":1},"capabilities":{"$ref":"#/$defs/capabilities"}},"additionalProperties":false},"host":{"type":"object","required":["id","capabilities"],"properties":{"id":{"$ref":"#/$defs/namespacedId"},"capabilities":{"$ref":"#/$defs/capabilities"}},"additionalProperties":false},"prepareParams":{"type":"object","required":["case","host","condition","configuration"],"properties":{"case":{"$ref":"#/$defs/case"},"host":{"$ref":"#/$defs/host"},"condition":{"enum":["passive","enforced"]},"configuration":{"type":"object"}},"additionalProperties":false},"preparationArtifact":{"type":"object","required":["id","relativePath","sha256"],"properties":{"id":{"$ref":"#/$defs/id"},"relativePath":{"type":"string","minLength":1},"sha256":{"$ref":"#/$defs/digest"},"contentBase64":{"type":"string","contentEncoding":"base64"},"sourceRef":{"$ref":"#/$defs/id"},"gitExclude":{"type":"boolean"},"executable":{"type":"boolean"}},"oneOf":[{"required":["contentBase64"],"not":{"required":["sourceRef"]}},{"required":["sourceRef"],"not":{"required":["contentBase64"]}}],"additionalProperties":false},"instrumentation":{"type":"object","required":["id","configuration"],"properties":{"id":{"$ref":"#/$defs/namespacedId"},"configuration":{"type":"object"}},"additionalProperties":false},"prepareResult":{"type":"object","required":["artifacts","requestedInstrumentation","extensionData"],"properties":{"artifacts":{"type":"array","items":{"$ref":"#/$defs/preparationArtifact"}},"requestedInstrumentation":{"type":"array","items":{"$ref":"#/$defs/instrumentation"}},"fixtureSetup":{"$ref":"#/$defs/fixtureSetup"},"codexMarketplace":{"type":"object","required":["artifactRoot","marketplaceName","pluginNames"],"properties":{"artifactRoot":{"type":"string","minLength":1},"marketplaceName":{"type":"string","minLength":1},"pluginNames":{"type":"array","minItems":1,"items":{"type":"string","minLength":1}}},"additionalProperties":false},"claudePluginDirs":{"type":"object","required":["artifactRoots"],"properties":{"artifactRoots":{"type":"array","minItems":1,"items":{"type":"string","minLength":1}}},"additionalProperties":false},"codexSkillInvocation":{"type":"object","required":["pluginName","skillName"],"properties":{"pluginName":{"type":"string","minLength":1},"skillName":{"type":"string","minLength":1}},"additionalProperties":false},"codexRepositorySkillInvocation":{"type":"object","required":["skillName"],"properties":{"skillName":{"type":"string","minLength":1}},"additionalProperties":false},"claudeSkillInvocation":{"type":"object","required":["pluginName","skillName"],"properties":{"pluginName":{"type":"string","minLength":1},"skillName":{"type":"string","minLength":1}},"additionalProperties":false},"claudeRepositorySkillInvocation":{"type":"object","required":["skillName"],"properties":{"skillName":{"type":"string","minLength":1}},"additionalProperties":false},"extensionData":{"$ref":"#/$defs/extensionData"}},"additionalProperties":false},"fixtureSetup":{"type":"object","required":["command"],"properties":{"command":{"type":"array","minItems":1,"maxItems":16,"items":{"type":"string","minLength":1}},"environment":{"type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false},"execution":{"type":"object","required":["status"],"properties":{"status":{"enum":["completed","failed","cancelled","not_run"]},"errorCode":{"$ref":"#/$defs/namespacedId"}},"additionalProperties":false},"observation":{"type":"object","required":["id","source","completeness","data"],"properties":{"id":{"$ref":"#/$defs/namespacedId"},"source":{"$ref":"#/$defs/id"},"completeness":{"enum":["complete","partial","unavailable"]},"data":{"type":"object"}},"additionalProperties":false},"checkResult":{"type":"object","required":["id","status","evidenceRefs"],"properties":{"id":{"$ref":"#/$defs/id"},"status":{"enum":["passed","failed","unavailable"]},"detail":{"type":"string","maxLength":4096},"evidenceRefs":{"type":"array","items":{"$ref":"#/$defs/id"},"uniqueItems":true}},"additionalProperties":false},"extensionCheckResult":{"type":"object","required":["id","status","evidenceRefs"],"properties":{"id":{"$ref":"#/$defs/namespacedId"},"status":{"enum":["passed","failed","unavailable"]},"detail":{"type":"string","maxLength":4096},"evidenceRefs":{"type":"array","items":{"$ref":"#/$defs/id"},"uniqueItems":true}},"if":{"properties":{"status":{"const":"passed"}}},"then":{"properties":{"evidenceRefs":{"minItems":1}}},"additionalProperties":false},"domainOutcome":{"type":"object","required":["id","status","evidenceRefs"],"properties":{"id":{"$ref":"#/$defs/namespacedId"},"status":{"enum":["passed","failed","unavailable"]},"detail":{"type":"string","maxLength":4096},"evidenceRefs":{"type":"array","items":{"$ref":"#/$defs/id"},"uniqueItems":true},"data":{"type":"object"}},"additionalProperties":false},"artifactRef":{"type":"object","required":["id","path","sha256"],"properties":{"id":{"$ref":"#/$defs/id"},"path":{"type":"string","pattern":"^file:///"},"sha256":{"$ref":"#/$defs/digest"},"gitExclude":{"type":"boolean"},"executable":{"type":"boolean"}},"additionalProperties":false},"evaluateParams":{"type":"object","required":["caseId","execution","observations","builtinChecks","artifacts","extensionData","configuration"],"properties":{"caseId":{"$ref":"#/$defs/id"},"execution":{"$ref":"#/$defs/execution"},"observations":{"type":"array","items":{"$ref":"#/$defs/observation"}},"builtinChecks":{"type":"array","items":{"$ref":"#/$defs/checkResult"}},"artifacts":{"type":"array","items":{"$ref":"#/$defs/artifactRef"}},"extensionData":{"$ref":"#/$defs/extensionData"},"selectedTaskVerdictPolicy":{"$ref":"#/$defs/namespacedId"},"configuration":{"type":"object"}},"additionalProperties":false},"metric":{"type":"object","required":["id","value","unit"],"properties":{"id":{"$ref":"#/$defs/namespacedId"},"value":{"type":["number","null"]},"unit":{"$ref":"#/$defs/id"}},"additionalProperties":false},"evaluateResult":{"type":"object","required":["checks","metrics"],"properties":{"checks":{"type":"array","items":{"$ref":"#/$defs/extensionCheckResult"}},"metrics":{"type":"array","items":{"$ref":"#/$defs/metric"}},"domainOutcomes":{"type":"array","items":{"$ref":"#/$defs/domainOutcome"}},"taskVerdictRecommendation":{"enum":["passed","failed","not_assessed"]}},"additionalProperties":false}}};const schema111 = {"type":"string","minLength":1,"maxLength":128};const schema104 = {"type":"object","required":["protocols","engineCapabilities","hostCapabilities"],"properties":{"protocols":{"type":"array","items":{"type":"string","pattern":"^sevro\\.extension\\.v[1-9][0-9]*$"},"minItems":1,"uniqueItems":true},"engineCapabilities":{"$ref":"#/$defs/capabilities"},"hostCapabilities":{"$ref":"#/$defs/capabilities"}},"additionalProperties":false};const pattern35 = new RegExp("^sevro\\.extension\\.v[1-9][0-9]*$", "u");const schema105 = {"type":"array","items":{"$ref":"#/$defs/namespacedId"},"uniqueItems":true};const schema106 = {"type":"string","pattern":"^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)+$","maxLength":128};const func2 = require("ajv/dist/runtime/ucs2length").default;const func0 = require("ajv/dist/runtime/equal").default;const pattern4 = new RegExp("^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)+$", "u");function validate42(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate42.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(Array.isArray(data)){var valid0 = true;const len0 = data.length;for(let i0=0; i0<len0; i0++){let data0 = data[i0];const _errs1 = errors;const _errs2 = errors;if(errors === _errs2){if(typeof data0 === "string"){if(func2(data0) > 128){validate42.errors = [{instancePath:instancePath+"/" + i0,schemaPath:"#/$defs/namespacedId/maxLength",keyword:"maxLength",params:{limit: 128},message:"must NOT have more than 128 characters"}];return false;}else {if(!pattern4.test(data0)){validate42.errors = [{instancePath:instancePath+"/" + i0,schemaPath:"#/$defs/namespacedId/pattern",keyword:"pattern",params:{pattern: "^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)+$"},message:"must match pattern \""+"^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)+$"+"\""}];return false;}}}else {validate42.errors = [{instancePath:instancePath+"/" + i0,schemaPath:"#/$defs/namespacedId/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs1 === errors;if(!valid0){break;}}if(valid0){let i1 = data.length;let j0;if(i1 > 1){outer0:for(;i1--;){for(j0 = i1; j0--;){if(func0(data[i1], data[j0])){validate42.errors = [{instancePath,schemaPath:"#/uniqueItems",keyword:"uniqueItems",params:{i: i1, j: j0},message:"must NOT have duplicate items (items ## "+j0+" and "+i1+" are identical)"}];return false;break outer0;}}}}}}else {validate42.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}validate42.errors = vErrors;return errors === 0;}validate42.evaluated = {"items":true,"dynamicProps":false,"dynamicItems":false};function validate41(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate41.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if((((data.protocols === undefined) && (missing0 = "protocols")) || ((data.engineCapabilities === undefined) && (missing0 = "engineCapabilities"))) || ((data.hostCapabilities === undefined) && (missing0 = "hostCapabilities"))){validate41.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {const _errs1 = errors;for(const key0 in data){if(!(((key0 === "protocols") || (key0 === "engineCapabilities")) || (key0 === "hostCapabilities"))){validate41.errors = [{instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"}];return false;break;}}if(_errs1 === errors){if(data.protocols !== undefined){let data0 = data.protocols;const _errs2 = errors;if(errors === _errs2){if(Array.isArray(data0)){if(data0.length < 1){validate41.errors = [{instancePath:instancePath+"/protocols",schemaPath:"#/properties/protocols/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"}];return false;}else {var valid1 = true;const len0 = data0.length;for(let i0=0; i0<len0; i0++){let data1 = data0[i0];const _errs4 = errors;if(errors === _errs4){if(typeof data1 === "string"){if(!pattern35.test(data1)){validate41.errors = [{instancePath:instancePath+"/protocols/" + i0,schemaPath:"#/properties/protocols/items/pattern",keyword:"pattern",params:{pattern: "^sevro\\.extension\\.v[1-9][0-9]*$"},message:"must match pattern \""+"^sevro\\.extension\\.v[1-9][0-9]*$"+"\""}];return false;}}else {validate41.errors = [{instancePath:instancePath+"/protocols/" + i0,schemaPath:"#/properties/protocols/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid1 = _errs4 === errors;if(!valid1){break;}}if(valid1){let i1 = data0.length;let j0;if(i1 > 1){const indices0 = {};for(;i1--;){let item0 = data0[i1];if(typeof item0 !== "string"){continue;}if(typeof indices0[item0] == "number"){j0 = indices0[item0];validate41.errors = [{instancePath:instancePath+"/protocols",schemaPath:"#/properties/protocols/uniqueItems",keyword:"uniqueItems",params:{i: i1, j: j0},message:"must NOT have duplicate items (items ## "+j0+" and "+i1+" are identical)"}];return false;break;}indices0[item0] = i1;}}}}}else {validate41.errors = [{instancePath:instancePath+"/protocols",schemaPath:"#/properties/protocols/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid0 = _errs2 === errors;}else {var valid0 = true;}if(valid0){if(data.engineCapabilities !== undefined){const _errs6 = errors;if(!(validate42(data.engineCapabilities, {instancePath:instancePath+"/engineCapabilities",parentData:data,parentDataProperty:"engineCapabilities",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate42.errors : vErrors.concat(validate42.errors);errors = vErrors.length;}var valid0 = _errs6 === errors;}else {var valid0 = true;}if(valid0){if(data.hostCapabilities !== undefined){const _errs7 = errors;if(!(validate42(data.hostCapabilities, {instancePath:instancePath+"/hostCapabilities",parentData:data,parentDataProperty:"hostCapabilities",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate42.errors : vErrors.concat(validate42.errors);errors = vErrors.length;}var valid0 = _errs7 === errors;}else {var valid0 = true;}}}}}}else {validate41.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate41.errors = vErrors;return errors === 0;}validate41.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema107 = {"type":"object","required":["extension","protocols","requiredCapabilities","optionalCapabilities","graders","taskVerdictPolicies"],"properties":{"extension":{"type":"object","required":["id","version"],"properties":{"id":{"$ref":"#/$defs/namespacedId"},"version":{"type":"string","minLength":1,"maxLength":128}},"additionalProperties":false},"protocols":{"type":"array","items":{"type":"string","pattern":"^sevro\\.extension\\.v[1-9][0-9]*$"},"minItems":1,"uniqueItems":true},"requiredCapabilities":{"$ref":"#/$defs/capabilities"},"optionalCapabilities":{"$ref":"#/$defs/capabilities"},"graders":{"$ref":"#/$defs/capabilities"},"taskVerdictPolicies":{"$ref":"#/$defs/capabilities"}},"additionalProperties":false};function validate46(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate46.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((((((data.extension === undefined) && (missing0 = "extension")) || ((data.protocols === undefined) && (missing0 = "protocols"))) || ((data.requiredCapabilities === undefined) && (missing0 = "requiredCapabilities"))) || ((data.optionalCapabilities === undefined) && (missing0 = "optionalCapabilities"))) || ((data.graders === undefined) && (missing0 = "graders"))) || ((data.taskVerdictPolicies === undefined) && (missing0 = "taskVerdictPolicies"))){validate46.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {const _errs1 = errors;for(const key0 in data){if(!((((((key0 === "extension") || (key0 === "protocols")) || (key0 === "requiredCapabilities")) || (key0 === "optionalCapabilities")) || (key0 === "graders")) || (key0 === "taskVerdictPolicies"))){validate46.errors = [{instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"}];return false;break;}}if(_errs1 === errors){if(data.extension !== undefined){let data0 = data.extension;const _errs2 = errors;if(errors === _errs2){if(data0 && typeof data0 == "object" && !Array.isArray(data0)){let missing1;if(((data0.id === undefined) && (missing1 = "id")) || ((data0.version === undefined) && (missing1 = "version"))){validate46.errors = [{instancePath:instancePath+"/extension",schemaPath:"#/properties/extension/required",keyword:"required",params:{missingProperty: missing1},message:"must have required property '"+missing1+"'"}];return false;}else {const _errs4 = errors;for(const key1 in data0){if(!((key1 === "id") || (key1 === "version"))){validate46.errors = [{instancePath:instancePath+"/extension",schemaPath:"#/properties/extension/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"}];return false;break;}}if(_errs4 === errors){if(data0.id !== undefined){let data1 = data0.id;const _errs5 = errors;const _errs6 = errors;if(errors === _errs6){if(typeof data1 === "string"){if(func2(data1) > 128){validate46.errors = [{instancePath:instancePath+"/extension/id",schemaPath:"#/$defs/namespacedId/maxLength",keyword:"maxLength",params:{limit: 128},message:"must NOT have more than 128 characters"}];return false;}else {if(!pattern4.test(data1)){validate46.errors = [{instancePath:instancePath+"/extension/id",schemaPath:"#/$defs/namespacedId/pattern",keyword:"pattern",params:{pattern: "^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)+$"},message:"must match pattern \""+"^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)+$"+"\""}];return false;}}}else {validate46.errors = [{instancePath:instancePath+"/extension/id",schemaPath:"#/$defs/namespacedId/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid1 = _errs5 === errors;}else {var valid1 = true;}if(valid1){if(data0.version !== undefined){let data2 = data0.version;const _errs8 = errors;if(errors === _errs8){if(typeof data2 === "string"){if(func2(data2) > 128){validate46.errors = [{instancePath:instancePath+"/extension/version",schemaPath:"#/properties/extension/properties/version/maxLength",keyword:"maxLength",params:{limit: 128},message:"must NOT have more than 128 characters"}];return false;}else {if(func2(data2) < 1){validate46.errors = [{instancePath:instancePath+"/extension/version",schemaPath:"#/properties/extension/properties/version/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}}else {validate46.errors = [{instancePath:instancePath+"/extension/version",schemaPath:"#/properties/extension/properties/version/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid1 = _errs8 === errors;}else {var valid1 = true;}}}}}else {validate46.errors = [{instancePath:instancePath+"/extension",schemaPath:"#/properties/extension/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid0 = _errs2 === errors;}else {var valid0 = true;}if(valid0){if(data.protocols !== undefined){let data3 = data.protocols;const _errs10 = errors;if(errors === _errs10){if(Array.isArray(data3)){if(data3.length < 1){validate46.errors = [{instancePath:instancePath+"/protocols",schemaPath:"#/properties/protocols/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"}];return false;}else {var valid3 = true;const len0 = data3.length;for(let i0=0; i0<len0; i0++){let data4 = data3[i0];const _errs12 = errors;if(errors === _errs12){if(typeof data4 === "string"){if(!pattern35.test(data4)){validate46.errors = [{instancePath:instancePath+"/protocols/" + i0,schemaPath:"#/properties/protocols/items/pattern",keyword:"pattern",params:{pattern: "^sevro\\.extension\\.v[1-9][0-9]*$"},message:"must match pattern \""+"^sevro\\.extension\\.v[1-9][0-9]*$"+"\""}];return false;}}else {validate46.errors = [{instancePath:instancePath+"/protocols/" + i0,schemaPath:"#/properties/protocols/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid3 = _errs12 === errors;if(!valid3){break;}}if(valid3){let i1 = data3.length;let j0;if(i1 > 1){const indices0 = {};for(;i1--;){let item0 = data3[i1];if(typeof item0 !== "string"){continue;}if(typeof indices0[item0] == "number"){j0 = indices0[item0];validate46.errors = [{instancePath:instancePath+"/protocols",schemaPath:"#/properties/protocols/uniqueItems",keyword:"uniqueItems",params:{i: i1, j: j0},message:"must NOT have duplicate items (items ## "+j0+" and "+i1+" are identical)"}];return false;break;}indices0[item0] = i1;}}}}}else {validate46.errors = [{instancePath:instancePath+"/protocols",schemaPath:"#/properties/protocols/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid0 = _errs10 === errors;}else {var valid0 = true;}if(valid0){if(data.requiredCapabilities !== undefined){const _errs14 = errors;if(!(validate42(data.requiredCapabilities, {instancePath:instancePath+"/requiredCapabilities",parentData:data,parentDataProperty:"requiredCapabilities",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate42.errors : vErrors.concat(validate42.errors);errors = vErrors.length;}var valid0 = _errs14 === errors;}else {var valid0 = true;}if(valid0){if(data.optionalCapabilities !== undefined){const _errs15 = errors;if(!(validate42(data.optionalCapabilities, {instancePath:instancePath+"/optionalCapabilities",parentData:data,parentDataProperty:"optionalCapabilities",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate42.errors : vErrors.concat(validate42.errors);errors = vErrors.length;}var valid0 = _errs15 === errors;}else {var valid0 = true;}if(valid0){if(data.graders !== undefined){const _errs16 = errors;if(!(validate42(data.graders, {instancePath:instancePath+"/graders",parentData:data,parentDataProperty:"graders",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate42.errors : vErrors.concat(validate42.errors);errors = vErrors.length;}var valid0 = _errs16 === errors;}else {var valid0 = true;}if(valid0){if(data.taskVerdictPolicies !== undefined){const _errs17 = errors;if(!(validate42(data.taskVerdictPolicies, {instancePath:instancePath+"/taskVerdictPolicies",parentData:data,parentDataProperty:"taskVerdictPolicies",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate42.errors : vErrors.concat(validate42.errors);errors = vErrors.length;}var valid0 = _errs17 === errors;}else {var valid0 = true;}}}}}}}}}else {validate46.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate46.errors = vErrors;return errors === 0;}validate46.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema109 = {"type":"object","required":["projectRoot","selectors","configuration"],"properties":{"projectRoot":{"type":"string","pattern":"^file:///"},"selectors":{"$ref":"#/$defs/selector"},"host":{"$ref":"#/$defs/hostRoute"},"configuration":{"type":"object"}},"additionalProperties":false};const pattern20 = new RegExp("^file:///", "u");const schema110 = {"type":"object","properties":{"caseIds":{"type":"array","items":{"$ref":"#/$defs/id"},"uniqueItems":true},"skill":{"$ref":"#/$defs/id"},"plugin":{"$ref":"#/$defs/id"}},"additionalProperties":false};function validate53(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate53.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){const _errs1 = errors;for(const key0 in data){if(!(((key0 === "caseIds") || (key0 === "skill")) || (key0 === "plugin"))){validate53.errors = [{instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"}];return false;break;}}if(_errs1 === errors){if(data.caseIds !== undefined){let data0 = data.caseIds;const _errs2 = errors;if(errors === _errs2){if(Array.isArray(data0)){var valid1 = true;const len0 = data0.length;for(let i0=0; i0<len0; i0++){let data1 = data0[i0];const _errs4 = errors;const _errs5 = errors;if(errors === _errs5){if(typeof data1 === "string"){if(func2(data1) > 128){validate53.errors = [{instancePath:instancePath+"/caseIds/" + i0,schemaPath:"#/$defs/id/maxLength",keyword:"maxLength",params:{limit: 128},message:"must NOT have more than 128 characters"}];return false;}else {if(func2(data1) < 1){validate53.errors = [{instancePath:instancePath+"/caseIds/" + i0,schemaPath:"#/$defs/id/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}}else {validate53.errors = [{instancePath:instancePath+"/caseIds/" + i0,schemaPath:"#/$defs/id/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid1 = _errs4 === errors;if(!valid1){break;}}if(valid1){let i1 = data0.length;let j0;if(i1 > 1){outer0:for(;i1--;){for(j0 = i1; j0--;){if(func0(data0[i1], data0[j0])){validate53.errors = [{instancePath:instancePath+"/caseIds",schemaPath:"#/properties/caseIds/uniqueItems",keyword:"uniqueItems",params:{i: i1, j: j0},message:"must NOT have duplicate items (items ## "+j0+" and "+i1+" are identical)"}];return false;break outer0;}}}}}}else {validate53.errors = [{instancePath:instancePath+"/caseIds",schemaPath:"#/properties/caseIds/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid0 = _errs2 === errors;}else {var valid0 = true;}if(valid0){if(data.skill !== undefined){let data2 = data.skill;const _errs7 = errors;const _errs8 = errors;if(errors === _errs8){if(typeof data2 === "string"){if(func2(data2) > 128){validate53.errors = [{instancePath:instancePath+"/skill",schemaPath:"#/$defs/id/maxLength",keyword:"maxLength",params:{limit: 128},message:"must NOT have more than 128 characters"}];return false;}else {if(func2(data2) < 1){validate53.errors = [{instancePath:instancePath+"/skill",schemaPath:"#/$defs/id/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}}else {validate53.errors = [{instancePath:instancePath+"/skill",schemaPath:"#/$defs/id/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs7 === errors;}else {var valid0 = true;}if(valid0){if(data.plugin !== undefined){let data3 = data.plugin;const _errs10 = errors;const _errs11 = errors;if(errors === _errs11){if(typeof data3 === "string"){if(func2(data3) > 128){validate53.errors = [{instancePath:instancePath+"/plugin",schemaPath:"#/$defs/id/maxLength",keyword:"maxLength",params:{limit: 128},message:"must NOT have more than 128 characters"}];return false;}else {if(func2(data3) < 1){validate53.errors = [{instancePath:instancePath+"/plugin",schemaPath:"#/$defs/id/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}}else {validate53.errors = [{instancePath:instancePath+"/plugin",schemaPath:"#/$defs/id/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs10 === errors;}else {var valid0 = true;}}}}}else {validate53.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate53.errors = vErrors;return errors === 0;}validate53.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema114 = {"type":"object","required":["id","model","effort","capabilities"],"properties":{"id":{"$ref":"#/$defs/namespacedId"},"model":{"type":"string","minLength":1},"effort":{"type":"string","minLength":1},"capabilities":{"$ref":"#/$defs/capabilities"}},"additionalProperties":false};function validate55(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate55.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((((data.id === undefined) && (missing0 = "id")) || ((data.model === undefined) && (missing0 = "model"))) || ((data.effort === undefined) && (missing0 = "effort"))) || ((data.capabilities === undefined) && (missing0 = "capabilities"))){validate55.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {const _errs1 = errors;for(const key0 in data){if(!((((key0 === "id") || (key0 === "model")) || (key0 === "effort")) || (key0 === "capabilities"))){validate55.errors = [{instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"}];return false;break;}}if(_errs1 === errors){if(data.id !== undefined){let data0 = data.id;const _errs2 = errors;const _errs3 = errors;if(errors === _errs3){if(typeof data0 === "string"){if(func2(data0) > 128){validate55.errors = [{instancePath:instancePath+"/id",schemaPath:"#/$defs/namespacedId/maxLength",keyword:"maxLength",params:{limit: 128},message:"must NOT have more than 128 characters"}];return false;}else {if(!pattern4.test(data0)){validate55.errors = [{instancePath:instancePath+"/id",schemaPath:"#/$defs/namespacedId/pattern",keyword:"pattern",params:{pattern: "^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)+$"},message:"must match pattern \""+"^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)+$"+"\""}];return false;}}}else {validate55.errors = [{instancePath:instancePath+"/id",schemaPath:"#/$defs/namespacedId/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs2 === errors;}else {var valid0 = true;}if(valid0){if(data.model !== undefined){let data1 = data.model;const _errs5 = errors;if(errors === _errs5){if(typeof data1 === "string"){if(func2(data1) < 1){validate55.errors = [{instancePath:instancePath+"/model",schemaPath:"#/properties/model/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate55.errors = [{instancePath:instancePath+"/model",schemaPath:"#/properties/model/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs5 === errors;}else {var valid0 = true;}if(valid0){if(data.effort !== undefined){let data2 = data.effort;const _errs7 = errors;if(errors === _errs7){if(typeof data2 === "string"){if(func2(data2) < 1){validate55.errors = [{instancePath:instancePath+"/effort",schemaPath:"#/properties/effort/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate55.errors = [{instancePath:instancePath+"/effort",schemaPath:"#/properties/effort/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs7 === errors;}else {var valid0 = true;}if(valid0){if(data.capabilities !== undefined){const _errs9 = errors;if(!(validate42(data.capabilities, {instancePath:instancePath+"/capabilities",parentData:data,parentDataProperty:"capabilities",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate42.errors : vErrors.concat(validate42.errors);errors = vErrors.length;}var valid0 = _errs9 === errors;}else {var valid0 = true;}}}}}}}else {validate55.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate55.errors = vErrors;return errors === 0;}validate55.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};function validate52(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate52.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if((((data.projectRoot === undefined) && (missing0 = "projectRoot")) || ((data.selectors === undefined) && (missing0 = "selectors"))) || ((data.configuration === undefined) && (missing0 = "configuration"))){validate52.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {const _errs1 = errors;for(const key0 in data){if(!((((key0 === "projectRoot") || (key0 === "selectors")) || (key0 === "host")) || (key0 === "configuration"))){validate52.errors = [{instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"}];return false;break;}}if(_errs1 === errors){if(data.projectRoot !== undefined){let data0 = data.projectRoot;const _errs2 = errors;if(errors === _errs2){if(typeof data0 === "string"){if(!pattern20.test(data0)){validate52.errors = [{instancePath:instancePath+"/projectRoot",schemaPath:"#/properties/projectRoot/pattern",keyword:"pattern",params:{pattern: "^file:///"},message:"must match pattern \""+"^file:///"+"\""}];return false;}}else {validate52.errors = [{instancePath:instancePath+"/projectRoot",schemaPath:"#/properties/projectRoot/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs2 === errors;}else {var valid0 = true;}if(valid0){if(data.selectors !== undefined){const _errs4 = errors;if(!(validate53(data.selectors, {instancePath:instancePath+"/selectors",parentData:data,parentDataProperty:"selectors",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate53.errors : vErrors.concat(validate53.errors);errors = vErrors.length;}var valid0 = _errs4 === errors;}else {var valid0 = true;}if(valid0){if(data.host !== undefined){const _errs5 = errors;if(!(validate55(data.host, {instancePath:instancePath+"/host",parentData:data,parentDataProperty:"host",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate55.errors : vErrors.concat(validate55.errors);errors = vErrors.length;}var valid0 = _errs5 === errors;}else {var valid0 = true;}if(valid0){if(data.configuration !== undefined){let data3 = data.configuration;const _errs6 = errors;if(!(data3 && typeof data3 == "object" && !Array.isArray(data3))){validate52.errors = [{instancePath:instancePath+"/configuration",schemaPath:"#/properties/configuration/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}var valid0 = _errs6 === errors;}else {var valid0 = true;}}}}}}}else {validate52.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate52.errors = vErrors;return errors === 0;}validate52.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema116 = {"type":"object","required":["cases"],"properties":{"cases":{"type":"array","items":{"$ref":"#/$defs/case"}}},"additionalProperties":false};const schema117 = {"type":"object","required":["id","prompt","fixture","checks","requiredEvidence","extensionData"],"properties":{"id":{"$ref":"#/$defs/id"},"prompt":{"type":"string","minLength":1},"followUpPrompt":{"type":"string","minLength":1},"fixture":{"$ref":"#/$defs/fixture"},"checks":{"type":"array","items":{"$ref":"#/$defs/checkDeclaration"}},"requiredEvidence":{"$ref":"#/$defs/capabilities"},"extensionData":{"$ref":"#/$defs/extensionData"}},"additionalProperties":false};const schema119 = {"oneOf":[{"type":"object","required":["kind","files"],"properties":{"kind":{"const":"inline"},"files":{"type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false},{"type":"object","required":["kind","sourceRef"],"properties":{"kind":{"const":"repository"},"sourceRef":{"$ref":"#/$defs/id"},"files":{"type":"object","additionalProperties":{"type":"string"}},"staged":{"type":"array","items":{"type":"string","minLength":1},"uniqueItems":true},"commitFiles":{"type":"boolean"},"hooks":{"type":"object","maxProperties":32,"additionalProperties":{"type":"string"}},"bin":{"type":"object","maxProperties":64,"additionalProperties":{"type":"string"}}},"additionalProperties":false},{"type":"object","required":["kind","commits"],"properties":{"kind":{"const":"generated"},"commits":{"type":"array","maxItems":128,"items":{"type":"object","required":["message","files"],"properties":{"message":{"type":"string","minLength":1},"files":{"type":"object","minProperties":1,"additionalProperties":{"type":"string"}}},"additionalProperties":false}},"files":{"type":"object","additionalProperties":{"type":"string"}},"staged":{"type":"array","items":{"type":"string","minLength":1},"uniqueItems":true},"commitFiles":{"type":"boolean"},"hooks":{"type":"object","maxProperties":32,"additionalProperties":{"type":"string"}},"bin":{"type":"object","maxProperties":64,"additionalProperties":{"type":"string"}}},"additionalProperties":false}]};function validate61(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate61.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs0 = errors;let valid0 = false;let passing0 = null;const _errs1 = errors;if(errors === _errs1){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((data.kind === undefined) && (missing0 = "kind")) || ((data.files === undefined) && (missing0 = "files"))){const err0 = {instancePath,schemaPath:"#/oneOf/0/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}else {const _errs3 = errors;for(const key0 in data){if(!((key0 === "kind") || (key0 === "files"))){const err1 = {instancePath,schemaPath:"#/oneOf/0/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;break;}}if(_errs3 === errors){if(data.kind !== undefined){const _errs4 = errors;if("inline" !== data.kind){const err2 = {instancePath:instancePath+"/kind",schemaPath:"#/oneOf/0/properties/kind/const",keyword:"const",params:{allowedValue: "inline"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}var valid1 = _errs4 === errors;}else {var valid1 = true;}if(valid1){if(data.files !== undefined){let data1 = data.files;const _errs5 = errors;if(errors === _errs5){if(data1 && typeof data1 == "object" && !Array.isArray(data1)){for(const key1 in data1){const _errs8 = errors;if(typeof data1[key1] !== "string"){const err3 = {instancePath:instancePath+"/files/" + key1.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/oneOf/0/properties/files/additionalProperties/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}var valid2 = _errs8 === errors;if(!valid2){break;}}}else {const err4 = {instancePath:instancePath+"/files",schemaPath:"#/oneOf/0/properties/files/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}var valid1 = _errs5 === errors;}else {var valid1 = true;}}}}}else {const err5 = {instancePath,schemaPath:"#/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}var _valid0 = _errs1 === errors;if(_valid0){valid0 = true;passing0 = 0;var props0 = true;}const _errs10 = errors;if(errors === _errs10){if(data && typeof data == "object" && !Array.isArray(data)){let missing1;if(((data.kind === undefined) && (missing1 = "kind")) || ((data.sourceRef === undefined) && (missing1 = "sourceRef"))){const err6 = {instancePath,schemaPath:"#/oneOf/1/required",keyword:"required",params:{missingProperty: missing1},message:"must have required property '"+missing1+"'"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}else {const _errs12 = errors;for(const key2 in data){if(!(((((((key2 === "kind") || (key2 === "sourceRef")) || (key2 === "files")) || (key2 === "staged")) || (key2 === "commitFiles")) || (key2 === "hooks")) || (key2 === "bin"))){const err7 = {instancePath,schemaPath:"#/oneOf/1/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;break;}}if(_errs12 === errors){if(data.kind !== undefined){const _errs13 = errors;if("repository" !== data.kind){const err8 = {instancePath:instancePath+"/kind",schemaPath:"#/oneOf/1/properties/kind/const",keyword:"const",params:{allowedValue: "repository"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}var valid3 = _errs13 === errors;}else {var valid3 = true;}if(valid3){if(data.sourceRef !== undefined){let data4 = data.sourceRef;const _errs14 = errors;const _errs15 = errors;if(errors === _errs15){if(typeof data4 === "string"){if(func2(data4) > 128){const err9 = {instancePath:instancePath+"/sourceRef",schemaPath:"#/$defs/id/maxLength",keyword:"maxLength",params:{limit: 128},message:"must NOT have more than 128 characters"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}else {if(func2(data4) < 1){const err10 = {instancePath:instancePath+"/sourceRef",schemaPath:"#/$defs/id/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}}else {const err11 = {instancePath:instancePath+"/sourceRef",schemaPath:"#/$defs/id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}var valid3 = _errs14 === errors;}else {var valid3 = true;}if(valid3){if(data.files !== undefined){let data5 = data.files;const _errs17 = errors;if(errors === _errs17){if(data5 && typeof data5 == "object" && !Array.isArray(data5)){for(const key3 in data5){const _errs20 = errors;if(typeof data5[key3] !== "string"){const err12 = {instancePath:instancePath+"/files/" + key3.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/oneOf/1/properties/files/additionalProperties/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}var valid5 = _errs20 === errors;if(!valid5){break;}}}else {const err13 = {instancePath:instancePath+"/files",schemaPath:"#/oneOf/1/properties/files/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}var valid3 = _errs17 === errors;}else {var valid3 = true;}if(valid3){if(data.staged !== undefined){let data7 = data.staged;const _errs22 = errors;if(errors === _errs22){if(Array.isArray(data7)){var valid6 = true;const len0 = data7.length;for(let i0=0; i0<len0; i0++){let data8 = data7[i0];const _errs24 = errors;if(errors === _errs24){if(typeof data8 === "string"){if(func2(data8) < 1){const err14 = {instancePath:instancePath+"/staged/" + i0,schemaPath:"#/oneOf/1/properties/staged/items/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}else {const err15 = {instancePath:instancePath+"/staged/" + i0,schemaPath:"#/oneOf/1/properties/staged/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}var valid6 = _errs24 === errors;if(!valid6){break;}}if(valid6){let i1 = data7.length;let j0;if(i1 > 1){const indices0 = {};for(;i1--;){let item0 = data7[i1];if(typeof item0 !== "string"){continue;}if(typeof indices0[item0] == "number"){j0 = indices0[item0];const err16 = {instancePath:instancePath+"/staged",schemaPath:"#/oneOf/1/properties/staged/uniqueItems",keyword:"uniqueItems",params:{i: i1, j: j0},message:"must NOT have duplicate items (items ## "+j0+" and "+i1+" are identical)"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;break;}indices0[item0] = i1;}}}}else {const err17 = {instancePath:instancePath+"/staged",schemaPath:"#/oneOf/1/properties/staged/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}var valid3 = _errs22 === errors;}else {var valid3 = true;}if(valid3){if(data.commitFiles !== undefined){const _errs26 = errors;if(typeof data.commitFiles !== "boolean"){const err18 = {instancePath:instancePath+"/commitFiles",schemaPath:"#/oneOf/1/properties/commitFiles/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}var valid3 = _errs26 === errors;}else {var valid3 = true;}if(valid3){if(data.hooks !== undefined){let data10 = data.hooks;const _errs28 = errors;if(errors === _errs28){if(data10 && typeof data10 == "object" && !Array.isArray(data10)){if(Object.keys(data10).length > 32){const err19 = {instancePath:instancePath+"/hooks",schemaPath:"#/oneOf/1/properties/hooks/maxProperties",keyword:"maxProperties",params:{limit: 32},message:"must NOT have more than 32 properties"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}else {for(const key4 in data10){const _errs31 = errors;if(typeof data10[key4] !== "string"){const err20 = {instancePath:instancePath+"/hooks/" + key4.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/oneOf/1/properties/hooks/additionalProperties/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}var valid8 = _errs31 === errors;if(!valid8){break;}}}}else {const err21 = {instancePath:instancePath+"/hooks",schemaPath:"#/oneOf/1/properties/hooks/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}var valid3 = _errs28 === errors;}else {var valid3 = true;}if(valid3){if(data.bin !== undefined){let data12 = data.bin;const _errs33 = errors;if(errors === _errs33){if(data12 && typeof data12 == "object" && !Array.isArray(data12)){if(Object.keys(data12).length > 64){const err22 = {instancePath:instancePath+"/bin",schemaPath:"#/oneOf/1/properties/bin/maxProperties",keyword:"maxProperties",params:{limit: 64},message:"must NOT have more than 64 properties"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}else {for(const key5 in data12){const _errs36 = errors;if(typeof data12[key5] !== "string"){const err23 = {instancePath:instancePath+"/bin/" + key5.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/oneOf/1/properties/bin/additionalProperties/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}var valid9 = _errs36 === errors;if(!valid9){break;}}}}else {const err24 = {instancePath:instancePath+"/bin",schemaPath:"#/oneOf/1/properties/bin/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}var valid3 = _errs33 === errors;}else {var valid3 = true;}}}}}}}}}}else {const err25 = {instancePath,schemaPath:"#/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}var _valid0 = _errs10 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 1];}else {if(_valid0){valid0 = true;passing0 = 1;if(props0 !== true){props0 = true;}}const _errs38 = errors;if(errors === _errs38){if(data && typeof data == "object" && !Array.isArray(data)){let missing2;if(((data.kind === undefined) && (missing2 = "kind")) || ((data.commits === undefined) && (missing2 = "commits"))){const err26 = {instancePath,schemaPath:"#/oneOf/2/required",keyword:"required",params:{missingProperty: missing2},message:"must have required property '"+missing2+"'"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}else {const _errs40 = errors;for(const key6 in data){if(!(((((((key6 === "kind") || (key6 === "commits")) || (key6 === "files")) || (key6 === "staged")) || (key6 === "commitFiles")) || (key6 === "hooks")) || (key6 === "bin"))){const err27 = {instancePath,schemaPath:"#/oneOf/2/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key6},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;break;}}if(_errs40 === errors){if(data.kind !== undefined){const _errs41 = errors;if("generated" !== data.kind){const err28 = {instancePath:instancePath+"/kind",schemaPath:"#/oneOf/2/properties/kind/const",keyword:"const",params:{allowedValue: "generated"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}var valid10 = _errs41 === errors;}else {var valid10 = true;}if(valid10){if(data.commits !== undefined){let data15 = data.commits;const _errs42 = errors;if(errors === _errs42){if(Array.isArray(data15)){if(data15.length > 128){const err29 = {instancePath:instancePath+"/commits",schemaPath:"#/oneOf/2/properties/commits/maxItems",keyword:"maxItems",params:{limit: 128},message:"must NOT have more than 128 items"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}else {var valid11 = true;const len1 = data15.length;for(let i2=0; i2<len1; i2++){let data16 = data15[i2];const _errs44 = errors;if(errors === _errs44){if(data16 && typeof data16 == "object" && !Array.isArray(data16)){let missing3;if(((data16.message === undefined) && (missing3 = "message")) || ((data16.files === undefined) && (missing3 = "files"))){const err30 = {instancePath:instancePath+"/commits/" + i2,schemaPath:"#/oneOf/2/properties/commits/items/required",keyword:"required",params:{missingProperty: missing3},message:"must have required property '"+missing3+"'"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}else {const _errs46 = errors;for(const key7 in data16){if(!((key7 === "message") || (key7 === "files"))){const err31 = {instancePath:instancePath+"/commits/" + i2,schemaPath:"#/oneOf/2/properties/commits/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key7},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;break;}}if(_errs46 === errors){if(data16.message !== undefined){let data17 = data16.message;const _errs47 = errors;if(errors === _errs47){if(typeof data17 === "string"){if(func2(data17) < 1){const err32 = {instancePath:instancePath+"/commits/" + i2+"/message",schemaPath:"#/oneOf/2/properties/commits/items/properties/message/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err32];}else {vErrors.push(err32);}errors++;}}else {const err33 = {instancePath:instancePath+"/commits/" + i2+"/message",schemaPath:"#/oneOf/2/properties/commits/items/properties/message/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err33];}else {vErrors.push(err33);}errors++;}}var valid12 = _errs47 === errors;}else {var valid12 = true;}if(valid12){if(data16.files !== undefined){let data18 = data16.files;const _errs49 = errors;if(errors === _errs49){if(data18 && typeof data18 == "object" && !Array.isArray(data18)){if(Object.keys(data18).length < 1){const err34 = {instancePath:instancePath+"/commits/" + i2+"/files",schemaPath:"#/oneOf/2/properties/commits/items/properties/files/minProperties",keyword:"minProperties",params:{limit: 1},message:"must NOT have fewer than 1 properties"};if(vErrors === null){vErrors = [err34];}else {vErrors.push(err34);}errors++;}else {for(const key8 in data18){const _errs52 = errors;if(typeof data18[key8] !== "string"){const err35 = {instancePath:instancePath+"/commits/" + i2+"/files/" + key8.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/oneOf/2/properties/commits/items/properties/files/additionalProperties/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err35];}else {vErrors.push(err35);}errors++;}var valid13 = _errs52 === errors;if(!valid13){break;}}}}else {const err36 = {instancePath:instancePath+"/commits/" + i2+"/files",schemaPath:"#/oneOf/2/properties/commits/items/properties/files/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err36];}else {vErrors.push(err36);}errors++;}}var valid12 = _errs49 === errors;}else {var valid12 = true;}}}}}else {const err37 = {instancePath:instancePath+"/commits/" + i2,schemaPath:"#/oneOf/2/properties/commits/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err37];}else {vErrors.push(err37);}errors++;}}var valid11 = _errs44 === errors;if(!valid11){break;}}}}else {const err38 = {instancePath:instancePath+"/commits",schemaPath:"#/oneOf/2/properties/commits/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err38];}else {vErrors.push(err38);}errors++;}}var valid10 = _errs42 === errors;}else {var valid10 = true;}if(valid10){if(data.files !== undefined){let data20 = data.files;const _errs54 = errors;if(errors === _errs54){if(data20 && typeof data20 == "object" && !Array.isArray(data20)){for(const key9 in data20){const _errs57 = errors;if(typeof data20[key9] !== "string"){const err39 = {instancePath:instancePath+"/files/" + key9.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/oneOf/2/properties/files/additionalProperties/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err39];}else {vErrors.push(err39);}errors++;}var valid14 = _errs57 === errors;if(!valid14){break;}}}else {const err40 = {instancePath:instancePath+"/files",schemaPath:"#/oneOf/2/properties/files/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err40];}else {vErrors.push(err40);}errors++;}}var valid10 = _errs54 === errors;}else {var valid10 = true;}if(valid10){if(data.staged !== undefined){let data22 = data.staged;const _errs59 = errors;if(errors === _errs59){if(Array.isArray(data22)){var valid15 = true;const len2 = data22.length;for(let i3=0; i3<len2; i3++){let data23 = data22[i3];const _errs61 = errors;if(errors === _errs61){if(typeof data23 === "string"){if(func2(data23) < 1){const err41 = {instancePath:instancePath+"/staged/" + i3,schemaPath:"#/oneOf/2/properties/staged/items/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err41];}else {vErrors.push(err41);}errors++;}}else {const err42 = {instancePath:instancePath+"/staged/" + i3,schemaPath:"#/oneOf/2/properties/staged/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err42];}else {vErrors.push(err42);}errors++;}}var valid15 = _errs61 === errors;if(!valid15){break;}}if(valid15){let i4 = data22.length;let j1;if(i4 > 1){const indices1 = {};for(;i4--;){let item1 = data22[i4];if(typeof item1 !== "string"){continue;}if(typeof indices1[item1] == "number"){j1 = indices1[item1];const err43 = {instancePath:instancePath+"/staged",schemaPath:"#/oneOf/2/properties/staged/uniqueItems",keyword:"uniqueItems",params:{i: i4, j: j1},message:"must NOT have duplicate items (items ## "+j1+" and "+i4+" are identical)"};if(vErrors === null){vErrors = [err43];}else {vErrors.push(err43);}errors++;break;}indices1[item1] = i4;}}}}else {const err44 = {instancePath:instancePath+"/staged",schemaPath:"#/oneOf/2/properties/staged/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err44];}else {vErrors.push(err44);}errors++;}}var valid10 = _errs59 === errors;}else {var valid10 = true;}if(valid10){if(data.commitFiles !== undefined){const _errs63 = errors;if(typeof data.commitFiles !== "boolean"){const err45 = {instancePath:instancePath+"/commitFiles",schemaPath:"#/oneOf/2/properties/commitFiles/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err45];}else {vErrors.push(err45);}errors++;}var valid10 = _errs63 === errors;}else {var valid10 = true;}if(valid10){if(data.hooks !== undefined){let data25 = data.hooks;const _errs65 = errors;if(errors === _errs65){if(data25 && typeof data25 == "object" && !Array.isArray(data25)){if(Object.keys(data25).length > 32){const err46 = {instancePath:instancePath+"/hooks",schemaPath:"#/oneOf/2/properties/hooks/maxProperties",keyword:"maxProperties",params:{limit: 32},message:"must NOT have more than 32 properties"};if(vErrors === null){vErrors = [err46];}else {vErrors.push(err46);}errors++;}else {for(const key10 in data25){const _errs68 = errors;if(typeof data25[key10] !== "string"){const err47 = {instancePath:instancePath+"/hooks/" + key10.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/oneOf/2/properties/hooks/additionalProperties/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err47];}else {vErrors.push(err47);}errors++;}var valid17 = _errs68 === errors;if(!valid17){break;}}}}else {const err48 = {instancePath:instancePath+"/hooks",schemaPath:"#/oneOf/2/properties/hooks/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err48];}else {vErrors.push(err48);}errors++;}}var valid10 = _errs65 === errors;}else {var valid10 = true;}if(valid10){if(data.bin !== undefined){let data27 = data.bin;const _errs70 = errors;if(errors === _errs70){if(data27 && typeof data27 == "object" && !Array.isArray(data27)){if(Object.keys(data27).length > 64){const err49 = {instancePath:instancePath+"/bin",schemaPath:"#/oneOf/2/properties/bin/maxProperties",keyword:"maxProperties",params:{limit: 64},message:"must NOT have more than 64 properties"};if(vErrors === null){vErrors = [err49];}else {vErrors.push(err49);}errors++;}else {for(const key11 in data27){const _errs73 = errors;if(typeof data27[key11] !== "string"){const err50 = {instancePath:instancePath+"/bin/" + key11.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/oneOf/2/properties/bin/additionalProperties/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err50];}else {vErrors.push(err50);}errors++;}var valid18 = _errs73 === errors;if(!valid18){break;}}}}else {const err51 = {instancePath:instancePath+"/bin",schemaPath:"#/oneOf/2/properties/bin/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err51];}else {vErrors.push(err51);}errors++;}}var valid10 = _errs70 === errors;}else {var valid10 = true;}}}}}}}}}}else {const err52 = {instancePath,schemaPath:"#/oneOf/2/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err52];}else {vErrors.push(err52);}errors++;}}var _valid0 = _errs38 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 2];}else {if(_valid0){valid0 = true;passing0 = 2;if(props0 !== true){props0 = true;}}}}if(!valid0){const err53 = {instancePath,schemaPath:"#/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err53];}else {vErrors.push(err53);}errors++;validate61.errors = vErrors;return false;}else {errors = _errs0;if(vErrors !== null){if(_errs0){vErrors.length = _errs0;}else {vErrors = null;}}}validate61.errors = vErrors;evaluated0.props = props0;return errors === 0;}validate61.evaluated = {"dynamicProps":true,"dynamicItems":false};const schema121 = {"type":"object","required":["id","grader","configuration"],"properties":{"id":{"$ref":"#/$defs/id"},"grader":{"$ref":"#/$defs/namespacedId"},"configuration":{"type":"object"}},"additionalProperties":false};function validate63(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate63.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if((((data.id === undefined) && (missing0 = "id")) || ((data.grader === undefined) && (missing0 = "grader"))) || ((data.configuration === undefined) && (missing0 = "configuration"))){validate63.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {const _errs1 = errors;for(const key0 in data){if(!(((key0 === "id") || (key0 === "grader")) || (key0 === "configuration"))){validate63.errors = [{instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"}];return false;break;}}if(_errs1 === errors){if(data.id !== undefined){let data0 = data.id;const _errs2 = errors;const _errs3 = errors;if(errors === _errs3){if(typeof data0 === "string"){if(func2(data0) > 128){validate63.errors = [{instancePath:instancePath+"/id",schemaPath:"#/$defs/id/maxLength",keyword:"maxLength",params:{limit: 128},message:"must NOT have more than 128 characters"}];return false;}else {if(func2(data0) < 1){validate63.errors = [{instancePath:instancePath+"/id",schemaPath:"#/$defs/id/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}}else {validate63.errors = [{instancePath:instancePath+"/id",schemaPath:"#/$defs/id/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs2 === errors;}else {var valid0 = true;}if(valid0){if(data.grader !== undefined){let data1 = data.grader;const _errs5 = errors;const _errs6 = errors;if(errors === _errs6){if(typeof data1 === "string"){if(func2(data1) > 128){validate63.errors = [{instancePath:instancePath+"/grader",schemaPath:"#/$defs/namespacedId/maxLength",keyword:"maxLength",params:{limit: 128},message:"must NOT have more than 128 characters"}];return false;}else {if(!pattern4.test(data1)){validate63.errors = [{instancePath:instancePath+"/grader",schemaPath:"#/$defs/namespacedId/pattern",keyword:"pattern",params:{pattern: "^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)+$"},message:"must match pattern \""+"^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)+$"+"\""}];return false;}}}else {validate63.errors = [{instancePath:instancePath+"/grader",schemaPath:"#/$defs/namespacedId/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs5 === errors;}else {var valid0 = true;}if(valid0){if(data.configuration !== undefined){let data2 = data.configuration;const _errs8 = errors;if(!(data2 && typeof data2 == "object" && !Array.isArray(data2))){validate63.errors = [{instancePath:instancePath+"/configuration",schemaPath:"#/properties/configuration/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}var valid0 = _errs8 === errors;}else {var valid0 = true;}}}}}}else {validate63.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate63.errors = vErrors;return errors === 0;}validate63.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema124 = {"type":"object","propertyNames":{"$ref":"#/$defs/namespacedId"}};function validate66(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate66.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){for(const key0 in data){const _errs1 = errors;const _errs2 = errors;if(errors === _errs2){if(typeof key0 === "string"){if(func2(key0) > 128){const err0 = {instancePath,schemaPath:"#/$defs/namespacedId/maxLength",keyword:"maxLength",params:{limit: 128},message:"must NOT have more than 128 characters",propertyName:key0};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}else {if(!pattern4.test(key0)){const err1 = {instancePath,schemaPath:"#/$defs/namespacedId/pattern",keyword:"pattern",params:{pattern: "^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)+$"},message:"must match pattern \""+"^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)+$"+"\"",propertyName:key0};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}}else {const err2 = {instancePath,schemaPath:"#/$defs/namespacedId/type",keyword:"type",params:{type: "string"},message:"must be string",propertyName:key0};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}var valid0 = _errs1 === errors;if(!valid0){const err3 = {instancePath,schemaPath:"#/propertyNames",keyword:"propertyNames",params:{propertyName: key0},message:"property name must be valid"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;validate66.errors = vErrors;return false;break;}}}else {validate66.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate66.errors = vErrors;return errors === 0;}validate66.evaluated = {"dynamicProps":false,"dynamicItems":false};function validate60(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate60.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((((((data.id === undefined) && (missing0 = "id")) || ((data.prompt === undefined) && (missing0 = "prompt"))) || ((data.fixture === undefined) && (missing0 = "fixture"))) || ((data.checks === undefined) && (missing0 = "checks"))) || ((data.requiredEvidence === undefined) && (missing0 = "requiredEvidence"))) || ((data.extensionData === undefined) && (missing0 = "extensionData"))){validate60.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {const _errs1 = errors;for(const key0 in data){if(!(((((((key0 === "id") || (key0 === "prompt")) || (key0 === "followUpPrompt")) || (key0 === "fixture")) || (key0 === "checks")) || (key0 === "requiredEvidence")) || (key0 === "extensionData"))){validate60.errors = [{instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"}];return false;break;}}if(_errs1 === errors){if(data.id !== undefined){let data0 = data.id;const _errs2 = errors;const _errs3 = errors;if(errors === _errs3){if(typeof data0 === "string"){if(func2(data0) > 128){validate60.errors = [{instancePath:instancePath+"/id",schemaPath:"#/$defs/id/maxLength",keyword:"maxLength",params:{limit: 128},message:"must NOT have more than 128 characters"}];return false;}else {if(func2(data0) < 1){validate60.errors = [{instancePath:instancePath+"/id",schemaPath:"#/$defs/id/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}}else {validate60.errors = [{instancePath:instancePath+"/id",schemaPath:"#/$defs/id/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs2 === errors;}else {var valid0 = true;}if(valid0){if(data.prompt !== undefined){let data1 = data.prompt;const _errs5 = errors;if(errors === _errs5){if(typeof data1 === "string"){if(func2(data1) < 1){validate60.errors = [{instancePath:instancePath+"/prompt",schemaPath:"#/properties/prompt/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate60.errors = [{instancePath:instancePath+"/prompt",schemaPath:"#/properties/prompt/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs5 === errors;}else {var valid0 = true;}if(valid0){if(data.followUpPrompt !== undefined){let data2 = data.followUpPrompt;const _errs7 = errors;if(errors === _errs7){if(typeof data2 === "string"){if(func2(data2) < 1){validate60.errors = [{instancePath:instancePath+"/followUpPrompt",schemaPath:"#/properties/followUpPrompt/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate60.errors = [{instancePath:instancePath+"/followUpPrompt",schemaPath:"#/properties/followUpPrompt/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs7 === errors;}else {var valid0 = true;}if(valid0){if(data.fixture !== undefined){const _errs9 = errors;if(!(validate61(data.fixture, {instancePath:instancePath+"/fixture",parentData:data,parentDataProperty:"fixture",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate61.errors : vErrors.concat(validate61.errors);errors = vErrors.length;}var valid0 = _errs9 === errors;}else {var valid0 = true;}if(valid0){if(data.checks !== undefined){let data4 = data.checks;const _errs10 = errors;if(errors === _errs10){if(Array.isArray(data4)){var valid2 = true;const len0 = data4.length;for(let i0=0; i0<len0; i0++){const _errs12 = errors;if(!(validate63(data4[i0], {instancePath:instancePath+"/checks/" + i0,parentData:data4,parentDataProperty:i0,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate63.errors : vErrors.concat(validate63.errors);errors = vErrors.length;}var valid2 = _errs12 === errors;if(!valid2){break;}}}else {validate60.errors = [{instancePath:instancePath+"/checks",schemaPath:"#/properties/checks/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid0 = _errs10 === errors;}else {var valid0 = true;}if(valid0){if(data.requiredEvidence !== undefined){const _errs13 = errors;if(!(validate42(data.requiredEvidence, {instancePath:instancePath+"/requiredEvidence",parentData:data,parentDataProperty:"requiredEvidence",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate42.errors : vErrors.concat(validate42.errors);errors = vErrors.length;}var valid0 = _errs13 === errors;}else {var valid0 = true;}if(valid0){if(data.extensionData !== undefined){const _errs14 = errors;if(!(validate66(data.extensionData, {instancePath:instancePath+"/extensionData",parentData:data,parentDataProperty:"extensionData",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate66.errors : vErrors.concat(validate66.errors);errors = vErrors.length;}var valid0 = _errs14 === errors;}else {var valid0 = true;}}}}}}}}}}else {validate60.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate60.errors = vErrors;return errors === 0;}validate60.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};function validate59(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate59.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if((data.cases === undefined) && (missing0 = "cases")){validate59.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {const _errs1 = errors;for(const key0 in data){if(!(key0 === "cases")){validate59.errors = [{instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"}];return false;break;}}if(_errs1 === errors){if(data.cases !== undefined){let data0 = data.cases;const _errs2 = errors;if(errors === _errs2){if(Array.isArray(data0)){var valid1 = true;const len0 = data0.length;for(let i0=0; i0<len0; i0++){const _errs4 = errors;if(!(validate60(data0[i0], {instancePath:instancePath+"/cases/" + i0,parentData:data0,parentDataProperty:i0,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate60.errors : vErrors.concat(validate60.errors);errors = vErrors.length;}var valid1 = _errs4 === errors;if(!valid1){break;}}}else {validate59.errors = [{instancePath:instancePath+"/cases",schemaPath:"#/properties/cases/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}}}}}else {validate59.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate59.errors = vErrors;return errors === 0;}validate59.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema126 = {"type":"object","required":["case","host","condition","configuration"],"properties":{"case":{"$ref":"#/$defs/case"},"host":{"$ref":"#/$defs/host"},"condition":{"enum":["passive","enforced"]},"configuration":{"type":"object"}},"additionalProperties":false};const schema127 = {"type":"object","required":["id","capabilities"],"properties":{"id":{"$ref":"#/$defs/namespacedId"},"capabilities":{"$ref":"#/$defs/capabilities"}},"additionalProperties":false};function validate72(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate72.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((data.id === undefined) && (missing0 = "id")) || ((data.capabilities === undefined) && (missing0 = "capabilities"))){validate72.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {const _errs1 = errors;for(const key0 in data){if(!((key0 === "id") || (key0 === "capabilities"))){validate72.errors = [{instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"}];return false;break;}}if(_errs1 === errors){if(data.id !== undefined){let data0 = data.id;const _errs2 = errors;const _errs3 = errors;if(errors === _errs3){if(typeof data0 === "string"){if(func2(data0) > 128){validate72.errors = [{instancePath:instancePath+"/id",schemaPath:"#/$defs/namespacedId/maxLength",keyword:"maxLength",params:{limit: 128},message:"must NOT have more than 128 characters"}];return false;}else {if(!pattern4.test(data0)){validate72.errors = [{instancePath:instancePath+"/id",schemaPath:"#/$defs/namespacedId/pattern",keyword:"pattern",params:{pattern: "^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)+$"},message:"must match pattern \""+"^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)+$"+"\""}];return false;}}}else {validate72.errors = [{instancePath:instancePath+"/id",schemaPath:"#/$defs/namespacedId/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs2 === errors;}else {var valid0 = true;}if(valid0){if(data.capabilities !== undefined){const _errs5 = errors;if(!(validate42(data.capabilities, {instancePath:instancePath+"/capabilities",parentData:data,parentDataProperty:"capabilities",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate42.errors : vErrors.concat(validate42.errors);errors = vErrors.length;}var valid0 = _errs5 === errors;}else {var valid0 = true;}}}}}else {validate72.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate72.errors = vErrors;return errors === 0;}validate72.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};function validate70(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate70.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((((data.case === undefined) && (missing0 = "case")) || ((data.host === undefined) && (missing0 = "host"))) || ((data.condition === undefined) && (missing0 = "condition"))) || ((data.configuration === undefined) && (missing0 = "configuration"))){validate70.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {const _errs1 = errors;for(const key0 in data){if(!((((key0 === "case") || (key0 === "host")) || (key0 === "condition")) || (key0 === "configuration"))){validate70.errors = [{instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"}];return false;break;}}if(_errs1 === errors){if(data.case !== undefined){const _errs2 = errors;if(!(validate60(data.case, {instancePath:instancePath+"/case",parentData:data,parentDataProperty:"case",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate60.errors : vErrors.concat(validate60.errors);errors = vErrors.length;}var valid0 = _errs2 === errors;}else {var valid0 = true;}if(valid0){if(data.host !== undefined){const _errs3 = errors;if(!(validate72(data.host, {instancePath:instancePath+"/host",parentData:data,parentDataProperty:"host",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate72.errors : vErrors.concat(validate72.errors);errors = vErrors.length;}var valid0 = _errs3 === errors;}else {var valid0 = true;}if(valid0){if(data.condition !== undefined){let data2 = data.condition;const _errs4 = errors;if(!((data2 === "passive") || (data2 === "enforced"))){validate70.errors = [{instancePath:instancePath+"/condition",schemaPath:"#/properties/condition/enum",keyword:"enum",params:{allowedValues: schema126.properties.condition.enum},message:"must be equal to one of the allowed values"}];return false;}var valid0 = _errs4 === errors;}else {var valid0 = true;}if(valid0){if(data.configuration !== undefined){let data3 = data.configuration;const _errs5 = errors;if(!(data3 && typeof data3 == "object" && !Array.isArray(data3))){validate70.errors = [{instancePath:instancePath+"/configuration",schemaPath:"#/properties/configuration/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}var valid0 = _errs5 === errors;}else {var valid0 = true;}}}}}}}else {validate70.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate70.errors = vErrors;return errors === 0;}validate70.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema129 = {"type":"object","required":["artifacts","requestedInstrumentation","extensionData"],"properties":{"artifacts":{"type":"array","items":{"$ref":"#/$defs/preparationArtifact"}},"requestedInstrumentation":{"type":"array","items":{"$ref":"#/$defs/instrumentation"}},"fixtureSetup":{"$ref":"#/$defs/fixtureSetup"},"codexMarketplace":{"type":"object","required":["artifactRoot","marketplaceName","pluginNames"],"properties":{"artifactRoot":{"type":"string","minLength":1},"marketplaceName":{"type":"string","minLength":1},"pluginNames":{"type":"array","minItems":1,"items":{"type":"string","minLength":1}}},"additionalProperties":false},"claudePluginDirs":{"type":"object","required":["artifactRoots"],"properties":{"artifactRoots":{"type":"array","minItems":1,"items":{"type":"string","minLength":1}}},"additionalProperties":false},"codexSkillInvocation":{"type":"object","required":["pluginName","skillName"],"properties":{"pluginName":{"type":"string","minLength":1},"skillName":{"type":"string","minLength":1}},"additionalProperties":false},"codexRepositorySkillInvocation":{"type":"object","required":["skillName"],"properties":{"skillName":{"type":"string","minLength":1}},"additionalProperties":false},"claudeSkillInvocation":{"type":"object","required":["pluginName","skillName"],"properties":{"pluginName":{"type":"string","minLength":1},"skillName":{"type":"string","minLength":1}},"additionalProperties":false},"claudeRepositorySkillInvocation":{"type":"object","required":["skillName"],"properties":{"skillName":{"type":"string","minLength":1}},"additionalProperties":false},"extensionData":{"$ref":"#/$defs/extensionData"}},"additionalProperties":false};const schema136 = {"type":"object","required":["command"],"properties":{"command":{"type":"array","minItems":1,"maxItems":16,"items":{"type":"string","minLength":1}},"environment":{"type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false};const func1 = Object.prototype.hasOwnProperty;const schema130 = {"type":"object","required":["id","relativePath","sha256"],"properties":{"id":{"$ref":"#/$defs/id"},"relativePath":{"type":"string","minLength":1},"sha256":{"$ref":"#/$defs/digest"},"contentBase64":{"type":"string","contentEncoding":"base64"},"sourceRef":{"$ref":"#/$defs/id"},"gitExclude":{"type":"boolean"},"executable":{"type":"boolean"}},"oneOf":[{"required":["contentBase64"],"not":{"required":["sourceRef"]}},{"required":["sourceRef"],"not":{"required":["contentBase64"]}}],"additionalProperties":false};const schema132 = {"type":"string","pattern":"^[a-f0-9]{64}$"};const pattern5 = new RegExp("^[a-f0-9]{64}$", "u");function validate77(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate77.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs1 = errors;let valid0 = false;let passing0 = null;const _errs2 = errors;const _errs3 = errors;const _errs4 = errors;if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if((data.sourceRef === undefined) && (missing0 = "sourceRef")){const err0 = {};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}}var valid1 = _errs4 === errors;if(valid1){const err1 = {instancePath,schemaPath:"#/oneOf/0/not",keyword:"not",params:{},message:"must NOT be valid"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}else {errors = _errs3;if(vErrors !== null){if(_errs3){vErrors.length = _errs3;}else {vErrors = null;}}}if(errors === _errs2){if(data && typeof data == "object" && !Array.isArray(data)){let missing1;if((data.contentBase64 === undefined) && (missing1 = "contentBase64")){const err2 = {instancePath,schemaPath:"#/oneOf/0/required",keyword:"required",params:{missingProperty: missing1},message:"must have required property '"+missing1+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}}var _valid0 = _errs2 === errors;if(_valid0){valid0 = true;passing0 = 0;}const _errs5 = errors;const _errs6 = errors;const _errs7 = errors;if(data && typeof data == "object" && !Array.isArray(data)){let missing2;if((data.contentBase64 === undefined) && (missing2 = "contentBase64")){const err3 = {};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}var valid2 = _errs7 === errors;if(valid2){const err4 = {instancePath,schemaPath:"#/oneOf/1/not",keyword:"not",params:{},message:"must NOT be valid"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}else {errors = _errs6;if(vErrors !== null){if(_errs6){vErrors.length = _errs6;}else {vErrors = null;}}}if(errors === _errs5){if(data && typeof data == "object" && !Array.isArray(data)){let missing3;if((data.sourceRef === undefined) && (missing3 = "sourceRef")){const err5 = {instancePath,schemaPath:"#/oneOf/1/required",keyword:"required",params:{missingProperty: missing3},message:"must have required property '"+missing3+"'"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}}var _valid0 = _errs5 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 1];}else {if(_valid0){valid0 = true;passing0 = 1;}}if(!valid0){const err6 = {instancePath,schemaPath:"#/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;validate77.errors = vErrors;return false;}else {errors = _errs1;if(vErrors !== null){if(_errs1){vErrors.length = _errs1;}else {vErrors = null;}}}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing4;if((((data.id === undefined) && (missing4 = "id")) || ((data.relativePath === undefined) && (missing4 = "relativePath"))) || ((data.sha256 === undefined) && (missing4 = "sha256"))){validate77.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing4},message:"must have required property '"+missing4+"'"}];return false;}else {const _errs8 = errors;for(const key0 in data){if(!(((((((key0 === "id") || (key0 === "relativePath")) || (key0 === "sha256")) || (key0 === "contentBase64")) || (key0 === "sourceRef")) || (key0 === "gitExclude")) || (key0 === "executable"))){validate77.errors = [{instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"}];return false;break;}}if(_errs8 === errors){if(data.id !== undefined){let data0 = data.id;const _errs9 = errors;const _errs10 = errors;if(errors === _errs10){if(typeof data0 === "string"){if(func2(data0) > 128){validate77.errors = [{instancePath:instancePath+"/id",schemaPath:"#/$defs/id/maxLength",keyword:"maxLength",params:{limit: 128},message:"must NOT have more than 128 characters"}];return false;}else {if(func2(data0) < 1){validate77.errors = [{instancePath:instancePath+"/id",schemaPath:"#/$defs/id/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}}else {validate77.errors = [{instancePath:instancePath+"/id",schemaPath:"#/$defs/id/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid3 = _errs9 === errors;}else {var valid3 = true;}if(valid3){if(data.relativePath !== undefined){let data1 = data.relativePath;const _errs12 = errors;if(errors === _errs12){if(typeof data1 === "string"){if(func2(data1) < 1){validate77.errors = [{instancePath:instancePath+"/relativePath",schemaPath:"#/properties/relativePath/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate77.errors = [{instancePath:instancePath+"/relativePath",schemaPath:"#/properties/relativePath/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid3 = _errs12 === errors;}else {var valid3 = true;}if(valid3){if(data.sha256 !== undefined){let data2 = data.sha256;const _errs14 = errors;const _errs15 = errors;if(errors === _errs15){if(typeof data2 === "string"){if(!pattern5.test(data2)){validate77.errors = [{instancePath:instancePath+"/sha256",schemaPath:"#/$defs/digest/pattern",keyword:"pattern",params:{pattern: "^[a-f0-9]{64}$"},message:"must match pattern \""+"^[a-f0-9]{64}$"+"\""}];return false;}}else {validate77.errors = [{instancePath:instancePath+"/sha256",schemaPath:"#/$defs/digest/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid3 = _errs14 === errors;}else {var valid3 = true;}if(valid3){if(data.contentBase64 !== undefined){const _errs17 = errors;if(typeof data.contentBase64 !== "string"){validate77.errors = [{instancePath:instancePath+"/contentBase64",schemaPath:"#/properties/contentBase64/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid3 = _errs17 === errors;}else {var valid3 = true;}if(valid3){if(data.sourceRef !== undefined){let data4 = data.sourceRef;const _errs19 = errors;const _errs20 = errors;if(errors === _errs20){if(typeof data4 === "string"){if(func2(data4) > 128){validate77.errors = [{instancePath:instancePath+"/sourceRef",schemaPath:"#/$defs/id/maxLength",keyword:"maxLength",params:{limit: 128},message:"must NOT have more than 128 characters"}];return false;}else {if(func2(data4) < 1){validate77.errors = [{instancePath:instancePath+"/sourceRef",schemaPath:"#/$defs/id/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}}else {validate77.errors = [{instancePath:instancePath+"/sourceRef",schemaPath:"#/$defs/id/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid3 = _errs19 === errors;}else {var valid3 = true;}if(valid3){if(data.gitExclude !== undefined){const _errs22 = errors;if(typeof data.gitExclude !== "boolean"){validate77.errors = [{instancePath:instancePath+"/gitExclude",schemaPath:"#/properties/gitExclude/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"}];return false;}var valid3 = _errs22 === errors;}else {var valid3 = true;}if(valid3){if(data.executable !== undefined){const _errs24 = errors;if(typeof data.executable !== "boolean"){validate77.errors = [{instancePath:instancePath+"/executable",schemaPath:"#/properties/executable/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"}];return false;}var valid3 = _errs24 === errors;}else {var valid3 = true;}}}}}}}}}}else {validate77.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate77.errors = vErrors;return errors === 0;}validate77.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema134 = {"type":"object","required":["id","configuration"],"properties":{"id":{"$ref":"#/$defs/namespacedId"},"configuration":{"type":"object"}},"additionalProperties":false};function validate79(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate79.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((data.id === undefined) && (missing0 = "id")) || ((data.configuration === undefined) && (missing0 = "configuration"))){validate79.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {const _errs1 = errors;for(const key0 in data){if(!((key0 === "id") || (key0 === "configuration"))){validate79.errors = [{instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"}];return false;break;}}if(_errs1 === errors){if(data.id !== undefined){let data0 = data.id;const _errs2 = errors;const _errs3 = errors;if(errors === _errs3){if(typeof data0 === "string"){if(func2(data0) > 128){validate79.errors = [{instancePath:instancePath+"/id",schemaPath:"#/$defs/namespacedId/maxLength",keyword:"maxLength",params:{limit: 128},message:"must NOT have more than 128 characters"}];return false;}else {if(!pattern4.test(data0)){validate79.errors = [{instancePath:instancePath+"/id",schemaPath:"#/$defs/namespacedId/pattern",keyword:"pattern",params:{pattern: "^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)+$"},message:"must match pattern \""+"^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)+$"+"\""}];return false;}}}else {validate79.errors = [{instancePath:instancePath+"/id",schemaPath:"#/$defs/namespacedId/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs2 === errors;}else {var valid0 = true;}if(valid0){if(data.configuration !== undefined){let data1 = data.configuration;const _errs5 = errors;if(!(data1 && typeof data1 == "object" && !Array.isArray(data1))){validate79.errors = [{instancePath:instancePath+"/configuration",schemaPath:"#/properties/configuration/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}var valid0 = _errs5 === errors;}else {var valid0 = true;}}}}}else {validate79.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate79.errors = vErrors;return errors === 0;}validate79.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};function validate76(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate76.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if((((data.artifacts === undefined) && (missing0 = "artifacts")) || ((data.requestedInstrumentation === undefined) && (missing0 = "requestedInstrumentation"))) || ((data.extensionData === undefined) && (missing0 = "extensionData"))){validate76.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {const _errs1 = errors;for(const key0 in data){if(!(func1.call(schema129.properties, key0))){validate76.errors = [{instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"}];return false;break;}}if(_errs1 === errors){if(data.artifacts !== undefined){let data0 = data.artifacts;const _errs2 = errors;if(errors === _errs2){if(Array.isArray(data0)){var valid1 = true;const len0 = data0.length;for(let i0=0; i0<len0; i0++){const _errs4 = errors;if(!(validate77(data0[i0], {instancePath:instancePath+"/artifacts/" + i0,parentData:data0,parentDataProperty:i0,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate77.errors : vErrors.concat(validate77.errors);errors = vErrors.length;}var valid1 = _errs4 === errors;if(!valid1){break;}}}else {validate76.errors = [{instancePath:instancePath+"/artifacts",schemaPath:"#/properties/artifacts/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid0 = _errs2 === errors;}else {var valid0 = true;}if(valid0){if(data.requestedInstrumentation !== undefined){let data2 = data.requestedInstrumentation;const _errs5 = errors;if(errors === _errs5){if(Array.isArray(data2)){var valid2 = true;const len1 = data2.length;for(let i1=0; i1<len1; i1++){const _errs7 = errors;if(!(validate79(data2[i1], {instancePath:instancePath+"/requestedInstrumentation/" + i1,parentData:data2,parentDataProperty:i1,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate79.errors : vErrors.concat(validate79.errors);errors = vErrors.length;}var valid2 = _errs7 === errors;if(!valid2){break;}}}else {validate76.errors = [{instancePath:instancePath+"/requestedInstrumentation",schemaPath:"#/properties/requestedInstrumentation/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid0 = _errs5 === errors;}else {var valid0 = true;}if(valid0){if(data.fixtureSetup !== undefined){let data4 = data.fixtureSetup;const _errs8 = errors;const _errs9 = errors;if(errors === _errs9){if(data4 && typeof data4 == "object" && !Array.isArray(data4)){let missing1;if((data4.command === undefined) && (missing1 = "command")){validate76.errors = [{instancePath:instancePath+"/fixtureSetup",schemaPath:"#/$defs/fixtureSetup/required",keyword:"required",params:{missingProperty: missing1},message:"must have required property '"+missing1+"'"}];return false;}else {const _errs11 = errors;for(const key1 in data4){if(!((key1 === "command") || (key1 === "environment"))){validate76.errors = [{instancePath:instancePath+"/fixtureSetup",schemaPath:"#/$defs/fixtureSetup/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"}];return false;break;}}if(_errs11 === errors){if(data4.command !== undefined){let data5 = data4.command;const _errs12 = errors;if(errors === _errs12){if(Array.isArray(data5)){if(data5.length > 16){validate76.errors = [{instancePath:instancePath+"/fixtureSetup/command",schemaPath:"#/$defs/fixtureSetup/properties/command/maxItems",keyword:"maxItems",params:{limit: 16},message:"must NOT have more than 16 items"}];return false;}else {if(data5.length < 1){validate76.errors = [{instancePath:instancePath+"/fixtureSetup/command",schemaPath:"#/$defs/fixtureSetup/properties/command/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"}];return false;}else {var valid5 = true;const len2 = data5.length;for(let i2=0; i2<len2; i2++){let data6 = data5[i2];const _errs14 = errors;if(errors === _errs14){if(typeof data6 === "string"){if(func2(data6) < 1){validate76.errors = [{instancePath:instancePath+"/fixtureSetup/command/" + i2,schemaPath:"#/$defs/fixtureSetup/properties/command/items/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate76.errors = [{instancePath:instancePath+"/fixtureSetup/command/" + i2,schemaPath:"#/$defs/fixtureSetup/properties/command/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid5 = _errs14 === errors;if(!valid5){break;}}}}}else {validate76.errors = [{instancePath:instancePath+"/fixtureSetup/command",schemaPath:"#/$defs/fixtureSetup/properties/command/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid4 = _errs12 === errors;}else {var valid4 = true;}if(valid4){if(data4.environment !== undefined){let data7 = data4.environment;const _errs16 = errors;if(errors === _errs16){if(data7 && typeof data7 == "object" && !Array.isArray(data7)){for(const key2 in data7){const _errs19 = errors;if(typeof data7[key2] !== "string"){validate76.errors = [{instancePath:instancePath+"/fixtureSetup/environment/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/fixtureSetup/properties/environment/additionalProperties/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid6 = _errs19 === errors;if(!valid6){break;}}}else {validate76.errors = [{instancePath:instancePath+"/fixtureSetup/environment",schemaPath:"#/$defs/fixtureSetup/properties/environment/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid4 = _errs16 === errors;}else {var valid4 = true;}}}}}else {validate76.errors = [{instancePath:instancePath+"/fixtureSetup",schemaPath:"#/$defs/fixtureSetup/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid0 = _errs8 === errors;}else {var valid0 = true;}if(valid0){if(data.codexMarketplace !== undefined){let data9 = data.codexMarketplace;const _errs21 = errors;if(errors === _errs21){if(data9 && typeof data9 == "object" && !Array.isArray(data9)){let missing2;if((((data9.artifactRoot === undefined) && (missing2 = "artifactRoot")) || ((data9.marketplaceName === undefined) && (missing2 = "marketplaceName"))) || ((data9.pluginNames === undefined) && (missing2 = "pluginNames"))){validate76.errors = [{instancePath:instancePath+"/codexMarketplace",schemaPath:"#/properties/codexMarketplace/required",keyword:"required",params:{missingProperty: missing2},message:"must have required property '"+missing2+"'"}];return false;}else {const _errs23 = errors;for(const key3 in data9){if(!(((key3 === "artifactRoot") || (key3 === "marketplaceName")) || (key3 === "pluginNames"))){validate76.errors = [{instancePath:instancePath+"/codexMarketplace",schemaPath:"#/properties/codexMarketplace/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key3},message:"must NOT have additional properties"}];return false;break;}}if(_errs23 === errors){if(data9.artifactRoot !== undefined){let data10 = data9.artifactRoot;const _errs24 = errors;if(errors === _errs24){if(typeof data10 === "string"){if(func2(data10) < 1){validate76.errors = [{instancePath:instancePath+"/codexMarketplace/artifactRoot",schemaPath:"#/properties/codexMarketplace/properties/artifactRoot/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate76.errors = [{instancePath:instancePath+"/codexMarketplace/artifactRoot",schemaPath:"#/properties/codexMarketplace/properties/artifactRoot/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid7 = _errs24 === errors;}else {var valid7 = true;}if(valid7){if(data9.marketplaceName !== undefined){let data11 = data9.marketplaceName;const _errs26 = errors;if(errors === _errs26){if(typeof data11 === "string"){if(func2(data11) < 1){validate76.errors = [{instancePath:instancePath+"/codexMarketplace/marketplaceName",schemaPath:"#/properties/codexMarketplace/properties/marketplaceName/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate76.errors = [{instancePath:instancePath+"/codexMarketplace/marketplaceName",schemaPath:"#/properties/codexMarketplace/properties/marketplaceName/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid7 = _errs26 === errors;}else {var valid7 = true;}if(valid7){if(data9.pluginNames !== undefined){let data12 = data9.pluginNames;const _errs28 = errors;if(errors === _errs28){if(Array.isArray(data12)){if(data12.length < 1){validate76.errors = [{instancePath:instancePath+"/codexMarketplace/pluginNames",schemaPath:"#/properties/codexMarketplace/properties/pluginNames/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"}];return false;}else {var valid8 = true;const len3 = data12.length;for(let i3=0; i3<len3; i3++){let data13 = data12[i3];const _errs30 = errors;if(errors === _errs30){if(typeof data13 === "string"){if(func2(data13) < 1){validate76.errors = [{instancePath:instancePath+"/codexMarketplace/pluginNames/" + i3,schemaPath:"#/properties/codexMarketplace/properties/pluginNames/items/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate76.errors = [{instancePath:instancePath+"/codexMarketplace/pluginNames/" + i3,schemaPath:"#/properties/codexMarketplace/properties/pluginNames/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid8 = _errs30 === errors;if(!valid8){break;}}}}else {validate76.errors = [{instancePath:instancePath+"/codexMarketplace/pluginNames",schemaPath:"#/properties/codexMarketplace/properties/pluginNames/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid7 = _errs28 === errors;}else {var valid7 = true;}}}}}}else {validate76.errors = [{instancePath:instancePath+"/codexMarketplace",schemaPath:"#/properties/codexMarketplace/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid0 = _errs21 === errors;}else {var valid0 = true;}if(valid0){if(data.claudePluginDirs !== undefined){let data14 = data.claudePluginDirs;const _errs32 = errors;if(errors === _errs32){if(data14 && typeof data14 == "object" && !Array.isArray(data14)){let missing3;if((data14.artifactRoots === undefined) && (missing3 = "artifactRoots")){validate76.errors = [{instancePath:instancePath+"/claudePluginDirs",schemaPath:"#/properties/claudePluginDirs/required",keyword:"required",params:{missingProperty: missing3},message:"must have required property '"+missing3+"'"}];return false;}else {const _errs34 = errors;for(const key4 in data14){if(!(key4 === "artifactRoots")){validate76.errors = [{instancePath:instancePath+"/claudePluginDirs",schemaPath:"#/properties/claudePluginDirs/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key4},message:"must NOT have additional properties"}];return false;break;}}if(_errs34 === errors){if(data14.artifactRoots !== undefined){let data15 = data14.artifactRoots;const _errs35 = errors;if(errors === _errs35){if(Array.isArray(data15)){if(data15.length < 1){validate76.errors = [{instancePath:instancePath+"/claudePluginDirs/artifactRoots",schemaPath:"#/properties/claudePluginDirs/properties/artifactRoots/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"}];return false;}else {var valid10 = true;const len4 = data15.length;for(let i4=0; i4<len4; i4++){let data16 = data15[i4];const _errs37 = errors;if(errors === _errs37){if(typeof data16 === "string"){if(func2(data16) < 1){validate76.errors = [{instancePath:instancePath+"/claudePluginDirs/artifactRoots/" + i4,schemaPath:"#/properties/claudePluginDirs/properties/artifactRoots/items/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate76.errors = [{instancePath:instancePath+"/claudePluginDirs/artifactRoots/" + i4,schemaPath:"#/properties/claudePluginDirs/properties/artifactRoots/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid10 = _errs37 === errors;if(!valid10){break;}}}}else {validate76.errors = [{instancePath:instancePath+"/claudePluginDirs/artifactRoots",schemaPath:"#/properties/claudePluginDirs/properties/artifactRoots/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}}}}}else {validate76.errors = [{instancePath:instancePath+"/claudePluginDirs",schemaPath:"#/properties/claudePluginDirs/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid0 = _errs32 === errors;}else {var valid0 = true;}if(valid0){if(data.codexSkillInvocation !== undefined){let data17 = data.codexSkillInvocation;const _errs39 = errors;if(errors === _errs39){if(data17 && typeof data17 == "object" && !Array.isArray(data17)){let missing4;if(((data17.pluginName === undefined) && (missing4 = "pluginName")) || ((data17.skillName === undefined) && (missing4 = "skillName"))){validate76.errors = [{instancePath:instancePath+"/codexSkillInvocation",schemaPath:"#/properties/codexSkillInvocation/required",keyword:"required",params:{missingProperty: missing4},message:"must have required property '"+missing4+"'"}];return false;}else {const _errs41 = errors;for(const key5 in data17){if(!((key5 === "pluginName") || (key5 === "skillName"))){validate76.errors = [{instancePath:instancePath+"/codexSkillInvocation",schemaPath:"#/properties/codexSkillInvocation/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key5},message:"must NOT have additional properties"}];return false;break;}}if(_errs41 === errors){if(data17.pluginName !== undefined){let data18 = data17.pluginName;const _errs42 = errors;if(errors === _errs42){if(typeof data18 === "string"){if(func2(data18) < 1){validate76.errors = [{instancePath:instancePath+"/codexSkillInvocation/pluginName",schemaPath:"#/properties/codexSkillInvocation/properties/pluginName/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate76.errors = [{instancePath:instancePath+"/codexSkillInvocation/pluginName",schemaPath:"#/properties/codexSkillInvocation/properties/pluginName/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid11 = _errs42 === errors;}else {var valid11 = true;}if(valid11){if(data17.skillName !== undefined){let data19 = data17.skillName;const _errs44 = errors;if(errors === _errs44){if(typeof data19 === "string"){if(func2(data19) < 1){validate76.errors = [{instancePath:instancePath+"/codexSkillInvocation/skillName",schemaPath:"#/properties/codexSkillInvocation/properties/skillName/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate76.errors = [{instancePath:instancePath+"/codexSkillInvocation/skillName",schemaPath:"#/properties/codexSkillInvocation/properties/skillName/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid11 = _errs44 === errors;}else {var valid11 = true;}}}}}else {validate76.errors = [{instancePath:instancePath+"/codexSkillInvocation",schemaPath:"#/properties/codexSkillInvocation/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid0 = _errs39 === errors;}else {var valid0 = true;}if(valid0){if(data.codexRepositorySkillInvocation !== undefined){let data20 = data.codexRepositorySkillInvocation;const _errs46 = errors;if(errors === _errs46){if(data20 && typeof data20 == "object" && !Array.isArray(data20)){let missing5;if((data20.skillName === undefined) && (missing5 = "skillName")){validate76.errors = [{instancePath:instancePath+"/codexRepositorySkillInvocation",schemaPath:"#/properties/codexRepositorySkillInvocation/required",keyword:"required",params:{missingProperty: missing5},message:"must have required property '"+missing5+"'"}];return false;}else {const _errs48 = errors;for(const key6 in data20){if(!(key6 === "skillName")){validate76.errors = [{instancePath:instancePath+"/codexRepositorySkillInvocation",schemaPath:"#/properties/codexRepositorySkillInvocation/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key6},message:"must NOT have additional properties"}];return false;break;}}if(_errs48 === errors){if(data20.skillName !== undefined){let data21 = data20.skillName;const _errs49 = errors;if(errors === _errs49){if(typeof data21 === "string"){if(func2(data21) < 1){validate76.errors = [{instancePath:instancePath+"/codexRepositorySkillInvocation/skillName",schemaPath:"#/properties/codexRepositorySkillInvocation/properties/skillName/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate76.errors = [{instancePath:instancePath+"/codexRepositorySkillInvocation/skillName",schemaPath:"#/properties/codexRepositorySkillInvocation/properties/skillName/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}}}}}else {validate76.errors = [{instancePath:instancePath+"/codexRepositorySkillInvocation",schemaPath:"#/properties/codexRepositorySkillInvocation/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid0 = _errs46 === errors;}else {var valid0 = true;}if(valid0){if(data.claudeSkillInvocation !== undefined){let data22 = data.claudeSkillInvocation;const _errs51 = errors;if(errors === _errs51){if(data22 && typeof data22 == "object" && !Array.isArray(data22)){let missing6;if(((data22.pluginName === undefined) && (missing6 = "pluginName")) || ((data22.skillName === undefined) && (missing6 = "skillName"))){validate76.errors = [{instancePath:instancePath+"/claudeSkillInvocation",schemaPath:"#/properties/claudeSkillInvocation/required",keyword:"required",params:{missingProperty: missing6},message:"must have required property '"+missing6+"'"}];return false;}else {const _errs53 = errors;for(const key7 in data22){if(!((key7 === "pluginName") || (key7 === "skillName"))){validate76.errors = [{instancePath:instancePath+"/claudeSkillInvocation",schemaPath:"#/properties/claudeSkillInvocation/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key7},message:"must NOT have additional properties"}];return false;break;}}if(_errs53 === errors){if(data22.pluginName !== undefined){let data23 = data22.pluginName;const _errs54 = errors;if(errors === _errs54){if(typeof data23 === "string"){if(func2(data23) < 1){validate76.errors = [{instancePath:instancePath+"/claudeSkillInvocation/pluginName",schemaPath:"#/properties/claudeSkillInvocation/properties/pluginName/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate76.errors = [{instancePath:instancePath+"/claudeSkillInvocation/pluginName",schemaPath:"#/properties/claudeSkillInvocation/properties/pluginName/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid13 = _errs54 === errors;}else {var valid13 = true;}if(valid13){if(data22.skillName !== undefined){let data24 = data22.skillName;const _errs56 = errors;if(errors === _errs56){if(typeof data24 === "string"){if(func2(data24) < 1){validate76.errors = [{instancePath:instancePath+"/claudeSkillInvocation/skillName",schemaPath:"#/properties/claudeSkillInvocation/properties/skillName/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate76.errors = [{instancePath:instancePath+"/claudeSkillInvocation/skillName",schemaPath:"#/properties/claudeSkillInvocation/properties/skillName/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid13 = _errs56 === errors;}else {var valid13 = true;}}}}}else {validate76.errors = [{instancePath:instancePath+"/claudeSkillInvocation",schemaPath:"#/properties/claudeSkillInvocation/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid0 = _errs51 === errors;}else {var valid0 = true;}if(valid0){if(data.claudeRepositorySkillInvocation !== undefined){let data25 = data.claudeRepositorySkillInvocation;const _errs58 = errors;if(errors === _errs58){if(data25 && typeof data25 == "object" && !Array.isArray(data25)){let missing7;if((data25.skillName === undefined) && (missing7 = "skillName")){validate76.errors = [{instancePath:instancePath+"/claudeRepositorySkillInvocation",schemaPath:"#/properties/claudeRepositorySkillInvocation/required",keyword:"required",params:{missingProperty: missing7},message:"must have required property '"+missing7+"'"}];return false;}else {const _errs60 = errors;for(const key8 in data25){if(!(key8 === "skillName")){validate76.errors = [{instancePath:instancePath+"/claudeRepositorySkillInvocation",schemaPath:"#/properties/claudeRepositorySkillInvocation/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key8},message:"must NOT have additional properties"}];return false;break;}}if(_errs60 === errors){if(data25.skillName !== undefined){let data26 = data25.skillName;const _errs61 = errors;if(errors === _errs61){if(typeof data26 === "string"){if(func2(data26) < 1){validate76.errors = [{instancePath:instancePath+"/claudeRepositorySkillInvocation/skillName",schemaPath:"#/properties/claudeRepositorySkillInvocation/properties/skillName/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}else {validate76.errors = [{instancePath:instancePath+"/claudeRepositorySkillInvocation/skillName",schemaPath:"#/properties/claudeRepositorySkillInvocation/properties/skillName/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}}}}}else {validate76.errors = [{instancePath:instancePath+"/claudeRepositorySkillInvocation",schemaPath:"#/properties/claudeRepositorySkillInvocation/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid0 = _errs58 === errors;}else {var valid0 = true;}if(valid0){if(data.extensionData !== undefined){const _errs63 = errors;if(!(validate66(data.extensionData, {instancePath:instancePath+"/extensionData",parentData:data,parentDataProperty:"extensionData",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate66.errors : vErrors.concat(validate66.errors);errors = vErrors.length;}var valid0 = _errs63 === errors;}else {var valid0 = true;}}}}}}}}}}}}}else {validate76.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate76.errors = vErrors;return errors === 0;}validate76.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema137 = {"type":"object","required":["caseId","execution","observations","builtinChecks","artifacts","extensionData","configuration"],"properties":{"caseId":{"$ref":"#/$defs/id"},"execution":{"$ref":"#/$defs/execution"},"observations":{"type":"array","items":{"$ref":"#/$defs/observation"}},"builtinChecks":{"type":"array","items":{"$ref":"#/$defs/checkResult"}},"artifacts":{"type":"array","items":{"$ref":"#/$defs/artifactRef"}},"extensionData":{"$ref":"#/$defs/extensionData"},"selectedTaskVerdictPolicy":{"$ref":"#/$defs/namespacedId"},"configuration":{"type":"object"}},"additionalProperties":false};const schema139 = {"type":"object","required":["status"],"properties":{"status":{"enum":["completed","failed","cancelled","not_run"]},"errorCode":{"$ref":"#/$defs/namespacedId"}},"additionalProperties":false};function validate84(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate84.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if((data.status === undefined) && (missing0 = "status")){validate84.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {const _errs1 = errors;for(const key0 in data){if(!((key0 === "status") || (key0 === "errorCode"))){validate84.errors = [{instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"}];return false;break;}}if(_errs1 === errors){if(data.status !== undefined){let data0 = data.status;const _errs2 = errors;if(!((((data0 === "completed") || (data0 === "failed")) || (data0 === "cancelled")) || (data0 === "not_run"))){validate84.errors = [{instancePath:instancePath+"/status",schemaPath:"#/properties/status/enum",keyword:"enum",params:{allowedValues: schema139.properties.status.enum},message:"must be equal to one of the allowed values"}];return false;}var valid0 = _errs2 === errors;}else {var valid0 = true;}if(valid0){if(data.errorCode !== undefined){let data1 = data.errorCode;const _errs3 = errors;const _errs4 = errors;if(errors === _errs4){if(typeof data1 === "string"){if(func2(data1) > 128){validate84.errors = [{instancePath:instancePath+"/errorCode",schemaPath:"#/$defs/namespacedId/maxLength",keyword:"maxLength",params:{limit: 128},message:"must NOT have more than 128 characters"}];return false;}else {if(!pattern4.test(data1)){validate84.errors = [{instancePath:instancePath+"/errorCode",schemaPath:"#/$defs/namespacedId/pattern",keyword:"pattern",params:{pattern: "^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)+$"},message:"must match pattern \""+"^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)+$"+"\""}];return false;}}}else {validate84.errors = [{instancePath:instancePath+"/errorCode",schemaPath:"#/$defs/namespacedId/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs3 === errors;}else {var valid0 = true;}}}}}else {validate84.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate84.errors = vErrors;return errors === 0;}validate84.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema141 = {"type":"object","required":["id","source","completeness","data"],"properties":{"id":{"$ref":"#/$defs/namespacedId"},"source":{"$ref":"#/$defs/id"},"completeness":{"enum":["complete","partial","unavailable"]},"data":{"type":"object"}},"additionalProperties":false};function validate86(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate86.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((((data.id === undefined) && (missing0 = "id")) || ((data.source === undefined) && (missing0 = "source"))) || ((data.completeness === undefined) && (missing0 = "completeness"))) || ((data.data === undefined) && (missing0 = "data"))){validate86.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {const _errs1 = errors;for(const key0 in data){if(!((((key0 === "id") || (key0 === "source")) || (key0 === "completeness")) || (key0 === "data"))){validate86.errors = [{instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"}];return false;break;}}if(_errs1 === errors){if(data.id !== undefined){let data0 = data.id;const _errs2 = errors;const _errs3 = errors;if(errors === _errs3){if(typeof data0 === "string"){if(func2(data0) > 128){validate86.errors = [{instancePath:instancePath+"/id",schemaPath:"#/$defs/namespacedId/maxLength",keyword:"maxLength",params:{limit: 128},message:"must NOT have more than 128 characters"}];return false;}else {if(!pattern4.test(data0)){validate86.errors = [{instancePath:instancePath+"/id",schemaPath:"#/$defs/namespacedId/pattern",keyword:"pattern",params:{pattern: "^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)+$"},message:"must match pattern \""+"^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)+$"+"\""}];return false;}}}else {validate86.errors = [{instancePath:instancePath+"/id",schemaPath:"#/$defs/namespacedId/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs2 === errors;}else {var valid0 = true;}if(valid0){if(data.source !== undefined){let data1 = data.source;const _errs5 = errors;const _errs6 = errors;if(errors === _errs6){if(typeof data1 === "string"){if(func2(data1) > 128){validate86.errors = [{instancePath:instancePath+"/source",schemaPath:"#/$defs/id/maxLength",keyword:"maxLength",params:{limit: 128},message:"must NOT have more than 128 characters"}];return false;}else {if(func2(data1) < 1){validate86.errors = [{instancePath:instancePath+"/source",schemaPath:"#/$defs/id/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}}else {validate86.errors = [{instancePath:instancePath+"/source",schemaPath:"#/$defs/id/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs5 === errors;}else {var valid0 = true;}if(valid0){if(data.completeness !== undefined){let data2 = data.completeness;const _errs8 = errors;if(!(((data2 === "complete") || (data2 === "partial")) || (data2 === "unavailable"))){validate86.errors = [{instancePath:instancePath+"/completeness",schemaPath:"#/properties/completeness/enum",keyword:"enum",params:{allowedValues: schema141.properties.completeness.enum},message:"must be equal to one of the allowed values"}];return false;}var valid0 = _errs8 === errors;}else {var valid0 = true;}if(valid0){if(data.data !== undefined){let data3 = data.data;const _errs9 = errors;if(!(data3 && typeof data3 == "object" && !Array.isArray(data3))){validate86.errors = [{instancePath:instancePath+"/data",schemaPath:"#/properties/data/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}var valid0 = _errs9 === errors;}else {var valid0 = true;}}}}}}}else {validate86.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate86.errors = vErrors;return errors === 0;}validate86.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema144 = {"type":"object","required":["id","status","evidenceRefs"],"properties":{"id":{"$ref":"#/$defs/id"},"status":{"enum":["passed","failed","unavailable"]},"detail":{"type":"string","maxLength":4096},"evidenceRefs":{"type":"array","items":{"$ref":"#/$defs/id"},"uniqueItems":true}},"additionalProperties":false};function validate88(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate88.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if((((data.id === undefined) && (missing0 = "id")) || ((data.status === undefined) && (missing0 = "status"))) || ((data.evidenceRefs === undefined) && (missing0 = "evidenceRefs"))){validate88.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {const _errs1 = errors;for(const key0 in data){if(!((((key0 === "id") || (key0 === "status")) || (key0 === "detail")) || (key0 === "evidenceRefs"))){validate88.errors = [{instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"}];return false;break;}}if(_errs1 === errors){if(data.id !== undefined){let data0 = data.id;const _errs2 = errors;const _errs3 = errors;if(errors === _errs3){if(typeof data0 === "string"){if(func2(data0) > 128){validate88.errors = [{instancePath:instancePath+"/id",schemaPath:"#/$defs/id/maxLength",keyword:"maxLength",params:{limit: 128},message:"must NOT have more than 128 characters"}];return false;}else {if(func2(data0) < 1){validate88.errors = [{instancePath:instancePath+"/id",schemaPath:"#/$defs/id/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}}else {validate88.errors = [{instancePath:instancePath+"/id",schemaPath:"#/$defs/id/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs2 === errors;}else {var valid0 = true;}if(valid0){if(data.status !== undefined){let data1 = data.status;const _errs5 = errors;if(!(((data1 === "passed") || (data1 === "failed")) || (data1 === "unavailable"))){validate88.errors = [{instancePath:instancePath+"/status",schemaPath:"#/properties/status/enum",keyword:"enum",params:{allowedValues: schema144.properties.status.enum},message:"must be equal to one of the allowed values"}];return false;}var valid0 = _errs5 === errors;}else {var valid0 = true;}if(valid0){if(data.detail !== undefined){let data2 = data.detail;const _errs6 = errors;if(errors === _errs6){if(typeof data2 === "string"){if(func2(data2) > 4096){validate88.errors = [{instancePath:instancePath+"/detail",schemaPath:"#/properties/detail/maxLength",keyword:"maxLength",params:{limit: 4096},message:"must NOT have more than 4096 characters"}];return false;}}else {validate88.errors = [{instancePath:instancePath+"/detail",schemaPath:"#/properties/detail/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs6 === errors;}else {var valid0 = true;}if(valid0){if(data.evidenceRefs !== undefined){let data3 = data.evidenceRefs;const _errs8 = errors;if(errors === _errs8){if(Array.isArray(data3)){var valid2 = true;const len0 = data3.length;for(let i0=0; i0<len0; i0++){let data4 = data3[i0];const _errs10 = errors;const _errs11 = errors;if(errors === _errs11){if(typeof data4 === "string"){if(func2(data4) > 128){validate88.errors = [{instancePath:instancePath+"/evidenceRefs/" + i0,schemaPath:"#/$defs/id/maxLength",keyword:"maxLength",params:{limit: 128},message:"must NOT have more than 128 characters"}];return false;}else {if(func2(data4) < 1){validate88.errors = [{instancePath:instancePath+"/evidenceRefs/" + i0,schemaPath:"#/$defs/id/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}}else {validate88.errors = [{instancePath:instancePath+"/evidenceRefs/" + i0,schemaPath:"#/$defs/id/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid2 = _errs10 === errors;if(!valid2){break;}}if(valid2){let i1 = data3.length;let j0;if(i1 > 1){outer0:for(;i1--;){for(j0 = i1; j0--;){if(func0(data3[i1], data3[j0])){validate88.errors = [{instancePath:instancePath+"/evidenceRefs",schemaPath:"#/properties/evidenceRefs/uniqueItems",keyword:"uniqueItems",params:{i: i1, j: j0},message:"must NOT have duplicate items (items ## "+j0+" and "+i1+" are identical)"}];return false;break outer0;}}}}}}else {validate88.errors = [{instancePath:instancePath+"/evidenceRefs",schemaPath:"#/properties/evidenceRefs/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid0 = _errs8 === errors;}else {var valid0 = true;}}}}}}}else {validate88.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate88.errors = vErrors;return errors === 0;}validate88.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema147 = {"type":"object","required":["id","path","sha256"],"properties":{"id":{"$ref":"#/$defs/id"},"path":{"type":"string","pattern":"^file:///"},"sha256":{"$ref":"#/$defs/digest"},"gitExclude":{"type":"boolean"},"executable":{"type":"boolean"}},"additionalProperties":false};function validate90(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate90.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if((((data.id === undefined) && (missing0 = "id")) || ((data.path === undefined) && (missing0 = "path"))) || ((data.sha256 === undefined) && (missing0 = "sha256"))){validate90.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {const _errs1 = errors;for(const key0 in data){if(!(((((key0 === "id") || (key0 === "path")) || (key0 === "sha256")) || (key0 === "gitExclude")) || (key0 === "executable"))){validate90.errors = [{instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"}];return false;break;}}if(_errs1 === errors){if(data.id !== undefined){let data0 = data.id;const _errs2 = errors;const _errs3 = errors;if(errors === _errs3){if(typeof data0 === "string"){if(func2(data0) > 128){validate90.errors = [{instancePath:instancePath+"/id",schemaPath:"#/$defs/id/maxLength",keyword:"maxLength",params:{limit: 128},message:"must NOT have more than 128 characters"}];return false;}else {if(func2(data0) < 1){validate90.errors = [{instancePath:instancePath+"/id",schemaPath:"#/$defs/id/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}}else {validate90.errors = [{instancePath:instancePath+"/id",schemaPath:"#/$defs/id/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs2 === errors;}else {var valid0 = true;}if(valid0){if(data.path !== undefined){let data1 = data.path;const _errs5 = errors;if(errors === _errs5){if(typeof data1 === "string"){if(!pattern20.test(data1)){validate90.errors = [{instancePath:instancePath+"/path",schemaPath:"#/properties/path/pattern",keyword:"pattern",params:{pattern: "^file:///"},message:"must match pattern \""+"^file:///"+"\""}];return false;}}else {validate90.errors = [{instancePath:instancePath+"/path",schemaPath:"#/properties/path/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs5 === errors;}else {var valid0 = true;}if(valid0){if(data.sha256 !== undefined){let data2 = data.sha256;const _errs7 = errors;const _errs8 = errors;if(errors === _errs8){if(typeof data2 === "string"){if(!pattern5.test(data2)){validate90.errors = [{instancePath:instancePath+"/sha256",schemaPath:"#/$defs/digest/pattern",keyword:"pattern",params:{pattern: "^[a-f0-9]{64}$"},message:"must match pattern \""+"^[a-f0-9]{64}$"+"\""}];return false;}}else {validate90.errors = [{instancePath:instancePath+"/sha256",schemaPath:"#/$defs/digest/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs7 === errors;}else {var valid0 = true;}if(valid0){if(data.gitExclude !== undefined){const _errs10 = errors;if(typeof data.gitExclude !== "boolean"){validate90.errors = [{instancePath:instancePath+"/gitExclude",schemaPath:"#/properties/gitExclude/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"}];return false;}var valid0 = _errs10 === errors;}else {var valid0 = true;}if(valid0){if(data.executable !== undefined){const _errs12 = errors;if(typeof data.executable !== "boolean"){validate90.errors = [{instancePath:instancePath+"/executable",schemaPath:"#/properties/executable/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"}];return false;}var valid0 = _errs12 === errors;}else {var valid0 = true;}}}}}}}}else {validate90.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate90.errors = vErrors;return errors === 0;}validate90.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};function validate83(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate83.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if((((((((data.caseId === undefined) && (missing0 = "caseId")) || ((data.execution === undefined) && (missing0 = "execution"))) || ((data.observations === undefined) && (missing0 = "observations"))) || ((data.builtinChecks === undefined) && (missing0 = "builtinChecks"))) || ((data.artifacts === undefined) && (missing0 = "artifacts"))) || ((data.extensionData === undefined) && (missing0 = "extensionData"))) || ((data.configuration === undefined) && (missing0 = "configuration"))){validate83.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {const _errs1 = errors;for(const key0 in data){if(!((((((((key0 === "caseId") || (key0 === "execution")) || (key0 === "observations")) || (key0 === "builtinChecks")) || (key0 === "artifacts")) || (key0 === "extensionData")) || (key0 === "selectedTaskVerdictPolicy")) || (key0 === "configuration"))){validate83.errors = [{instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"}];return false;break;}}if(_errs1 === errors){if(data.caseId !== undefined){let data0 = data.caseId;const _errs2 = errors;const _errs3 = errors;if(errors === _errs3){if(typeof data0 === "string"){if(func2(data0) > 128){validate83.errors = [{instancePath:instancePath+"/caseId",schemaPath:"#/$defs/id/maxLength",keyword:"maxLength",params:{limit: 128},message:"must NOT have more than 128 characters"}];return false;}else {if(func2(data0) < 1){validate83.errors = [{instancePath:instancePath+"/caseId",schemaPath:"#/$defs/id/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}}else {validate83.errors = [{instancePath:instancePath+"/caseId",schemaPath:"#/$defs/id/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs2 === errors;}else {var valid0 = true;}if(valid0){if(data.execution !== undefined){const _errs5 = errors;if(!(validate84(data.execution, {instancePath:instancePath+"/execution",parentData:data,parentDataProperty:"execution",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate84.errors : vErrors.concat(validate84.errors);errors = vErrors.length;}var valid0 = _errs5 === errors;}else {var valid0 = true;}if(valid0){if(data.observations !== undefined){let data2 = data.observations;const _errs6 = errors;if(errors === _errs6){if(Array.isArray(data2)){var valid2 = true;const len0 = data2.length;for(let i0=0; i0<len0; i0++){const _errs8 = errors;if(!(validate86(data2[i0], {instancePath:instancePath+"/observations/" + i0,parentData:data2,parentDataProperty:i0,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate86.errors : vErrors.concat(validate86.errors);errors = vErrors.length;}var valid2 = _errs8 === errors;if(!valid2){break;}}}else {validate83.errors = [{instancePath:instancePath+"/observations",schemaPath:"#/properties/observations/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid0 = _errs6 === errors;}else {var valid0 = true;}if(valid0){if(data.builtinChecks !== undefined){let data4 = data.builtinChecks;const _errs9 = errors;if(errors === _errs9){if(Array.isArray(data4)){var valid3 = true;const len1 = data4.length;for(let i1=0; i1<len1; i1++){const _errs11 = errors;if(!(validate88(data4[i1], {instancePath:instancePath+"/builtinChecks/" + i1,parentData:data4,parentDataProperty:i1,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate88.errors : vErrors.concat(validate88.errors);errors = vErrors.length;}var valid3 = _errs11 === errors;if(!valid3){break;}}}else {validate83.errors = [{instancePath:instancePath+"/builtinChecks",schemaPath:"#/properties/builtinChecks/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid0 = _errs9 === errors;}else {var valid0 = true;}if(valid0){if(data.artifacts !== undefined){let data6 = data.artifacts;const _errs12 = errors;if(errors === _errs12){if(Array.isArray(data6)){var valid4 = true;const len2 = data6.length;for(let i2=0; i2<len2; i2++){const _errs14 = errors;if(!(validate90(data6[i2], {instancePath:instancePath+"/artifacts/" + i2,parentData:data6,parentDataProperty:i2,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate90.errors : vErrors.concat(validate90.errors);errors = vErrors.length;}var valid4 = _errs14 === errors;if(!valid4){break;}}}else {validate83.errors = [{instancePath:instancePath+"/artifacts",schemaPath:"#/properties/artifacts/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid0 = _errs12 === errors;}else {var valid0 = true;}if(valid0){if(data.extensionData !== undefined){const _errs15 = errors;if(!(validate66(data.extensionData, {instancePath:instancePath+"/extensionData",parentData:data,parentDataProperty:"extensionData",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate66.errors : vErrors.concat(validate66.errors);errors = vErrors.length;}var valid0 = _errs15 === errors;}else {var valid0 = true;}if(valid0){if(data.selectedTaskVerdictPolicy !== undefined){let data9 = data.selectedTaskVerdictPolicy;const _errs16 = errors;const _errs17 = errors;if(errors === _errs17){if(typeof data9 === "string"){if(func2(data9) > 128){validate83.errors = [{instancePath:instancePath+"/selectedTaskVerdictPolicy",schemaPath:"#/$defs/namespacedId/maxLength",keyword:"maxLength",params:{limit: 128},message:"must NOT have more than 128 characters"}];return false;}else {if(!pattern4.test(data9)){validate83.errors = [{instancePath:instancePath+"/selectedTaskVerdictPolicy",schemaPath:"#/$defs/namespacedId/pattern",keyword:"pattern",params:{pattern: "^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)+$"},message:"must match pattern \""+"^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)+$"+"\""}];return false;}}}else {validate83.errors = [{instancePath:instancePath+"/selectedTaskVerdictPolicy",schemaPath:"#/$defs/namespacedId/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs16 === errors;}else {var valid0 = true;}if(valid0){if(data.configuration !== undefined){let data10 = data.configuration;const _errs19 = errors;if(!(data10 && typeof data10 == "object" && !Array.isArray(data10))){validate83.errors = [{instancePath:instancePath+"/configuration",schemaPath:"#/properties/configuration/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}var valid0 = _errs19 === errors;}else {var valid0 = true;}}}}}}}}}}}else {validate83.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate83.errors = vErrors;return errors === 0;}validate83.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema151 = {"type":"object","required":["checks","metrics"],"properties":{"checks":{"type":"array","items":{"$ref":"#/$defs/extensionCheckResult"}},"metrics":{"type":"array","items":{"$ref":"#/$defs/metric"}},"domainOutcomes":{"type":"array","items":{"$ref":"#/$defs/domainOutcome"}},"taskVerdictRecommendation":{"enum":["passed","failed","not_assessed"]}},"additionalProperties":false};const schema152 = {"type":"object","required":["id","status","evidenceRefs"],"properties":{"id":{"$ref":"#/$defs/namespacedId"},"status":{"enum":["passed","failed","unavailable"]},"detail":{"type":"string","maxLength":4096},"evidenceRefs":{"type":"array","items":{"$ref":"#/$defs/id"},"uniqueItems":true}},"if":{"properties":{"status":{"const":"passed"}}},"then":{"properties":{"evidenceRefs":{"minItems":1}}},"additionalProperties":false};function validate95(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate95.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs1 = errors;let valid0 = true;const _errs2 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.status !== undefined){if("passed" !== data.status){const err0 = {};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}}}var _valid0 = _errs2 === errors;errors = _errs1;if(vErrors !== null){if(_errs1){vErrors.length = _errs1;}else {vErrors = null;}}if(_valid0){const _errs4 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.evidenceRefs !== undefined){let data1 = data.evidenceRefs;if(Array.isArray(data1)){if(data1.length < 1){validate95.errors = [{instancePath:instancePath+"/evidenceRefs",schemaPath:"#/then/properties/evidenceRefs/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"}];return false;}}}}var _valid0 = _errs4 === errors;valid0 = _valid0;if(valid0){var props0 = {};props0.evidenceRefs = true;props0.status = true;}}if(!valid0){const err1 = {instancePath,schemaPath:"#/if",keyword:"if",params:{failingKeyword: "then"},message:"must match \"then\" schema"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;validate95.errors = vErrors;return false;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if((((data.id === undefined) && (missing0 = "id")) || ((data.status === undefined) && (missing0 = "status"))) || ((data.evidenceRefs === undefined) && (missing0 = "evidenceRefs"))){validate95.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {const _errs6 = errors;for(const key0 in data){if(!((((key0 === "id") || (key0 === "status")) || (key0 === "detail")) || (key0 === "evidenceRefs"))){validate95.errors = [{instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"}];return false;break;}}if(_errs6 === errors){if(data.id !== undefined){let data2 = data.id;const _errs7 = errors;const _errs8 = errors;if(errors === _errs8){if(typeof data2 === "string"){if(func2(data2) > 128){validate95.errors = [{instancePath:instancePath+"/id",schemaPath:"#/$defs/namespacedId/maxLength",keyword:"maxLength",params:{limit: 128},message:"must NOT have more than 128 characters"}];return false;}else {if(!pattern4.test(data2)){validate95.errors = [{instancePath:instancePath+"/id",schemaPath:"#/$defs/namespacedId/pattern",keyword:"pattern",params:{pattern: "^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)+$"},message:"must match pattern \""+"^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)+$"+"\""}];return false;}}}else {validate95.errors = [{instancePath:instancePath+"/id",schemaPath:"#/$defs/namespacedId/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid3 = _errs7 === errors;}else {var valid3 = true;}if(valid3){if(data.status !== undefined){let data3 = data.status;const _errs10 = errors;if(!(((data3 === "passed") || (data3 === "failed")) || (data3 === "unavailable"))){validate95.errors = [{instancePath:instancePath+"/status",schemaPath:"#/properties/status/enum",keyword:"enum",params:{allowedValues: schema152.properties.status.enum},message:"must be equal to one of the allowed values"}];return false;}var valid3 = _errs10 === errors;}else {var valid3 = true;}if(valid3){if(data.detail !== undefined){let data4 = data.detail;const _errs11 = errors;if(errors === _errs11){if(typeof data4 === "string"){if(func2(data4) > 4096){validate95.errors = [{instancePath:instancePath+"/detail",schemaPath:"#/properties/detail/maxLength",keyword:"maxLength",params:{limit: 4096},message:"must NOT have more than 4096 characters"}];return false;}}else {validate95.errors = [{instancePath:instancePath+"/detail",schemaPath:"#/properties/detail/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid3 = _errs11 === errors;}else {var valid3 = true;}if(valid3){if(data.evidenceRefs !== undefined){let data5 = data.evidenceRefs;const _errs13 = errors;if(errors === _errs13){if(Array.isArray(data5)){var valid5 = true;const len0 = data5.length;for(let i0=0; i0<len0; i0++){let data6 = data5[i0];const _errs15 = errors;const _errs16 = errors;if(errors === _errs16){if(typeof data6 === "string"){if(func2(data6) > 128){validate95.errors = [{instancePath:instancePath+"/evidenceRefs/" + i0,schemaPath:"#/$defs/id/maxLength",keyword:"maxLength",params:{limit: 128},message:"must NOT have more than 128 characters"}];return false;}else {if(func2(data6) < 1){validate95.errors = [{instancePath:instancePath+"/evidenceRefs/" + i0,schemaPath:"#/$defs/id/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}}else {validate95.errors = [{instancePath:instancePath+"/evidenceRefs/" + i0,schemaPath:"#/$defs/id/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid5 = _errs15 === errors;if(!valid5){break;}}if(valid5){let i1 = data5.length;let j0;if(i1 > 1){outer0:for(;i1--;){for(j0 = i1; j0--;){if(func0(data5[i1], data5[j0])){validate95.errors = [{instancePath:instancePath+"/evidenceRefs",schemaPath:"#/properties/evidenceRefs/uniqueItems",keyword:"uniqueItems",params:{i: i1, j: j0},message:"must NOT have duplicate items (items ## "+j0+" and "+i1+" are identical)"}];return false;break outer0;}}}}}}else {validate95.errors = [{instancePath:instancePath+"/evidenceRefs",schemaPath:"#/properties/evidenceRefs/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid3 = _errs13 === errors;}else {var valid3 = true;}}}}}}}else {validate95.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate95.errors = vErrors;return errors === 0;}validate95.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema155 = {"type":"object","required":["id","value","unit"],"properties":{"id":{"$ref":"#/$defs/namespacedId"},"value":{"type":["number","null"]},"unit":{"$ref":"#/$defs/id"}},"additionalProperties":false};function validate97(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate97.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if((((data.id === undefined) && (missing0 = "id")) || ((data.value === undefined) && (missing0 = "value"))) || ((data.unit === undefined) && (missing0 = "unit"))){validate97.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {const _errs1 = errors;for(const key0 in data){if(!(((key0 === "id") || (key0 === "value")) || (key0 === "unit"))){validate97.errors = [{instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"}];return false;break;}}if(_errs1 === errors){if(data.id !== undefined){let data0 = data.id;const _errs2 = errors;const _errs3 = errors;if(errors === _errs3){if(typeof data0 === "string"){if(func2(data0) > 128){validate97.errors = [{instancePath:instancePath+"/id",schemaPath:"#/$defs/namespacedId/maxLength",keyword:"maxLength",params:{limit: 128},message:"must NOT have more than 128 characters"}];return false;}else {if(!pattern4.test(data0)){validate97.errors = [{instancePath:instancePath+"/id",schemaPath:"#/$defs/namespacedId/pattern",keyword:"pattern",params:{pattern: "^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)+$"},message:"must match pattern \""+"^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)+$"+"\""}];return false;}}}else {validate97.errors = [{instancePath:instancePath+"/id",schemaPath:"#/$defs/namespacedId/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs2 === errors;}else {var valid0 = true;}if(valid0){if(data.value !== undefined){let data1 = data.value;const _errs5 = errors;if((!((typeof data1 == "number") && (isFinite(data1)))) && (data1 !== null)){validate97.errors = [{instancePath:instancePath+"/value",schemaPath:"#/properties/value/type",keyword:"type",params:{type: schema155.properties.value.type},message:"must be number,null"}];return false;}var valid0 = _errs5 === errors;}else {var valid0 = true;}if(valid0){if(data.unit !== undefined){let data2 = data.unit;const _errs7 = errors;const _errs8 = errors;if(errors === _errs8){if(typeof data2 === "string"){if(func2(data2) > 128){validate97.errors = [{instancePath:instancePath+"/unit",schemaPath:"#/$defs/id/maxLength",keyword:"maxLength",params:{limit: 128},message:"must NOT have more than 128 characters"}];return false;}else {if(func2(data2) < 1){validate97.errors = [{instancePath:instancePath+"/unit",schemaPath:"#/$defs/id/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}}else {validate97.errors = [{instancePath:instancePath+"/unit",schemaPath:"#/$defs/id/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs7 === errors;}else {var valid0 = true;}}}}}}else {validate97.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate97.errors = vErrors;return errors === 0;}validate97.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema158 = {"type":"object","required":["id","status","evidenceRefs"],"properties":{"id":{"$ref":"#/$defs/namespacedId"},"status":{"enum":["passed","failed","unavailable"]},"detail":{"type":"string","maxLength":4096},"evidenceRefs":{"type":"array","items":{"$ref":"#/$defs/id"},"uniqueItems":true},"data":{"type":"object"}},"additionalProperties":false};function validate99(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate99.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if((((data.id === undefined) && (missing0 = "id")) || ((data.status === undefined) && (missing0 = "status"))) || ((data.evidenceRefs === undefined) && (missing0 = "evidenceRefs"))){validate99.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {const _errs1 = errors;for(const key0 in data){if(!(((((key0 === "id") || (key0 === "status")) || (key0 === "detail")) || (key0 === "evidenceRefs")) || (key0 === "data"))){validate99.errors = [{instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"}];return false;break;}}if(_errs1 === errors){if(data.id !== undefined){let data0 = data.id;const _errs2 = errors;const _errs3 = errors;if(errors === _errs3){if(typeof data0 === "string"){if(func2(data0) > 128){validate99.errors = [{instancePath:instancePath+"/id",schemaPath:"#/$defs/namespacedId/maxLength",keyword:"maxLength",params:{limit: 128},message:"must NOT have more than 128 characters"}];return false;}else {if(!pattern4.test(data0)){validate99.errors = [{instancePath:instancePath+"/id",schemaPath:"#/$defs/namespacedId/pattern",keyword:"pattern",params:{pattern: "^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)+$"},message:"must match pattern \""+"^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)+$"+"\""}];return false;}}}else {validate99.errors = [{instancePath:instancePath+"/id",schemaPath:"#/$defs/namespacedId/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs2 === errors;}else {var valid0 = true;}if(valid0){if(data.status !== undefined){let data1 = data.status;const _errs5 = errors;if(!(((data1 === "passed") || (data1 === "failed")) || (data1 === "unavailable"))){validate99.errors = [{instancePath:instancePath+"/status",schemaPath:"#/properties/status/enum",keyword:"enum",params:{allowedValues: schema158.properties.status.enum},message:"must be equal to one of the allowed values"}];return false;}var valid0 = _errs5 === errors;}else {var valid0 = true;}if(valid0){if(data.detail !== undefined){let data2 = data.detail;const _errs6 = errors;if(errors === _errs6){if(typeof data2 === "string"){if(func2(data2) > 4096){validate99.errors = [{instancePath:instancePath+"/detail",schemaPath:"#/properties/detail/maxLength",keyword:"maxLength",params:{limit: 4096},message:"must NOT have more than 4096 characters"}];return false;}}else {validate99.errors = [{instancePath:instancePath+"/detail",schemaPath:"#/properties/detail/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs6 === errors;}else {var valid0 = true;}if(valid0){if(data.evidenceRefs !== undefined){let data3 = data.evidenceRefs;const _errs8 = errors;if(errors === _errs8){if(Array.isArray(data3)){var valid2 = true;const len0 = data3.length;for(let i0=0; i0<len0; i0++){let data4 = data3[i0];const _errs10 = errors;const _errs11 = errors;if(errors === _errs11){if(typeof data4 === "string"){if(func2(data4) > 128){validate99.errors = [{instancePath:instancePath+"/evidenceRefs/" + i0,schemaPath:"#/$defs/id/maxLength",keyword:"maxLength",params:{limit: 128},message:"must NOT have more than 128 characters"}];return false;}else {if(func2(data4) < 1){validate99.errors = [{instancePath:instancePath+"/evidenceRefs/" + i0,schemaPath:"#/$defs/id/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}}else {validate99.errors = [{instancePath:instancePath+"/evidenceRefs/" + i0,schemaPath:"#/$defs/id/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid2 = _errs10 === errors;if(!valid2){break;}}if(valid2){let i1 = data3.length;let j0;if(i1 > 1){outer0:for(;i1--;){for(j0 = i1; j0--;){if(func0(data3[i1], data3[j0])){validate99.errors = [{instancePath:instancePath+"/evidenceRefs",schemaPath:"#/properties/evidenceRefs/uniqueItems",keyword:"uniqueItems",params:{i: i1, j: j0},message:"must NOT have duplicate items (items ## "+j0+" and "+i1+" are identical)"}];return false;break outer0;}}}}}}else {validate99.errors = [{instancePath:instancePath+"/evidenceRefs",schemaPath:"#/properties/evidenceRefs/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid0 = _errs8 === errors;}else {var valid0 = true;}if(valid0){if(data.data !== undefined){let data5 = data.data;const _errs13 = errors;if(!(data5 && typeof data5 == "object" && !Array.isArray(data5))){validate99.errors = [{instancePath:instancePath+"/data",schemaPath:"#/properties/data/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}var valid0 = _errs13 === errors;}else {var valid0 = true;}}}}}}}}else {validate99.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate99.errors = vErrors;return errors === 0;}validate99.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};function validate94(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate94.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((data.checks === undefined) && (missing0 = "checks")) || ((data.metrics === undefined) && (missing0 = "metrics"))){validate94.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {const _errs1 = errors;for(const key0 in data){if(!((((key0 === "checks") || (key0 === "metrics")) || (key0 === "domainOutcomes")) || (key0 === "taskVerdictRecommendation"))){validate94.errors = [{instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"}];return false;break;}}if(_errs1 === errors){if(data.checks !== undefined){let data0 = data.checks;const _errs2 = errors;if(errors === _errs2){if(Array.isArray(data0)){var valid1 = true;const len0 = data0.length;for(let i0=0; i0<len0; i0++){const _errs4 = errors;if(!(validate95(data0[i0], {instancePath:instancePath+"/checks/" + i0,parentData:data0,parentDataProperty:i0,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate95.errors : vErrors.concat(validate95.errors);errors = vErrors.length;}var valid1 = _errs4 === errors;if(!valid1){break;}}}else {validate94.errors = [{instancePath:instancePath+"/checks",schemaPath:"#/properties/checks/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid0 = _errs2 === errors;}else {var valid0 = true;}if(valid0){if(data.metrics !== undefined){let data2 = data.metrics;const _errs5 = errors;if(errors === _errs5){if(Array.isArray(data2)){var valid2 = true;const len1 = data2.length;for(let i1=0; i1<len1; i1++){const _errs7 = errors;if(!(validate97(data2[i1], {instancePath:instancePath+"/metrics/" + i1,parentData:data2,parentDataProperty:i1,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate97.errors : vErrors.concat(validate97.errors);errors = vErrors.length;}var valid2 = _errs7 === errors;if(!valid2){break;}}}else {validate94.errors = [{instancePath:instancePath+"/metrics",schemaPath:"#/properties/metrics/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid0 = _errs5 === errors;}else {var valid0 = true;}if(valid0){if(data.domainOutcomes !== undefined){let data4 = data.domainOutcomes;const _errs8 = errors;if(errors === _errs8){if(Array.isArray(data4)){var valid3 = true;const len2 = data4.length;for(let i2=0; i2<len2; i2++){const _errs10 = errors;if(!(validate99(data4[i2], {instancePath:instancePath+"/domainOutcomes/" + i2,parentData:data4,parentDataProperty:i2,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate99.errors : vErrors.concat(validate99.errors);errors = vErrors.length;}var valid3 = _errs10 === errors;if(!valid3){break;}}}else {validate94.errors = [{instancePath:instancePath+"/domainOutcomes",schemaPath:"#/properties/domainOutcomes/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid0 = _errs8 === errors;}else {var valid0 = true;}if(valid0){if(data.taskVerdictRecommendation !== undefined){let data6 = data.taskVerdictRecommendation;const _errs11 = errors;if(!(((data6 === "passed") || (data6 === "failed")) || (data6 === "not_assessed"))){validate94.errors = [{instancePath:instancePath+"/taskVerdictRecommendation",schemaPath:"#/properties/taskVerdictRecommendation/enum",keyword:"enum",params:{allowedValues: schema151.properties.taskVerdictRecommendation.enum},message:"must be equal to one of the allowed values"}];return false;}var valid0 = _errs11 === errors;}else {var valid0 = true;}}}}}}}else {validate94.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate94.errors = vErrors;return errors === 0;}validate94.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema162 = {"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/$defs/namespacedId"},"message":{"type":"string","minLength":1,"maxLength":4096}},"additionalProperties":false};function validate102(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate102.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((data.code === undefined) && (missing0 = "code")) || ((data.message === undefined) && (missing0 = "message"))){validate102.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {const _errs1 = errors;for(const key0 in data){if(!((key0 === "code") || (key0 === "message"))){validate102.errors = [{instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"}];return false;break;}}if(_errs1 === errors){if(data.code !== undefined){let data0 = data.code;const _errs2 = errors;const _errs3 = errors;if(errors === _errs3){if(typeof data0 === "string"){if(func2(data0) > 128){validate102.errors = [{instancePath:instancePath+"/code",schemaPath:"#/$defs/namespacedId/maxLength",keyword:"maxLength",params:{limit: 128},message:"must NOT have more than 128 characters"}];return false;}else {if(!pattern4.test(data0)){validate102.errors = [{instancePath:instancePath+"/code",schemaPath:"#/$defs/namespacedId/pattern",keyword:"pattern",params:{pattern: "^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)+$"},message:"must match pattern \""+"^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)+$"+"\""}];return false;}}}else {validate102.errors = [{instancePath:instancePath+"/code",schemaPath:"#/$defs/namespacedId/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs2 === errors;}else {var valid0 = true;}if(valid0){if(data.message !== undefined){let data1 = data.message;const _errs5 = errors;if(errors === _errs5){if(typeof data1 === "string"){if(func2(data1) > 4096){validate102.errors = [{instancePath:instancePath+"/message",schemaPath:"#/properties/message/maxLength",keyword:"maxLength",params:{limit: 4096},message:"must NOT have more than 4096 characters"}];return false;}else {if(func2(data1) < 1){validate102.errors = [{instancePath:instancePath+"/message",schemaPath:"#/properties/message/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}}else {validate102.errors = [{instancePath:instancePath+"/message",schemaPath:"#/properties/message/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid0 = _errs5 === errors;}else {var valid0 = true;}}}}}else {validate102.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate102.errors = vErrors;return errors === 0;}validate102.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};function validate40(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){/*# sourceURL="urn:sevro:schema:extension:v1" */;let vErrors = null;let errors = 0;const evaluated0 = validate40.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs1 = errors;let valid0 = false;let passing0 = null;const _errs2 = errors;const _errs3 = errors;const _errs4 = errors;const _errs5 = errors;let valid2 = false;const _errs6 = errors;if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if((data.result === undefined) && (missing0 = "result")){const err0 = {};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}}var _valid1 = _errs6 === errors;valid2 = valid2 || _valid1;const _errs7 = errors;if(data && typeof data == "object" && !Array.isArray(data)){let missing1;if((data.error === undefined) && (missing1 = "error")){const err1 = {};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}var _valid1 = _errs7 === errors;valid2 = valid2 || _valid1;if(!valid2){const err2 = {};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}else {errors = _errs5;if(vErrors !== null){if(_errs5){vErrors.length = _errs5;}else {vErrors = null;}}}var valid1 = _errs4 === errors;if(valid1){const err3 = {instancePath,schemaPath:"#/oneOf/0/not",keyword:"not",params:{},message:"must NOT be valid"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}else {errors = _errs3;if(vErrors !== null){if(_errs3){vErrors.length = _errs3;}else {vErrors = null;}}}if(errors === _errs2){if(data && typeof data == "object" && !Array.isArray(data)){let missing2;if((data.params === undefined) && (missing2 = "params")){const err4 = {instancePath,schemaPath:"#/oneOf/0/required",keyword:"required",params:{missingProperty: missing2},message:"must have required property '"+missing2+"'"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}else {if(data.protocol !== undefined){const _errs8 = errors;if("sevro.discovery.v1" !== data.protocol){const err5 = {instancePath:instancePath+"/protocol",schemaPath:"#/oneOf/0/properties/protocol/const",keyword:"const",params:{allowedValue: "sevro.discovery.v1"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}var valid3 = _errs8 === errors;}else {var valid3 = true;}if(valid3){if(data.method !== undefined){const _errs9 = errors;if("describe" !== data.method){const err6 = {instancePath:instancePath+"/method",schemaPath:"#/oneOf/0/properties/method/const",keyword:"const",params:{allowedValue: "describe"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}var valid3 = _errs9 === errors;}else {var valid3 = true;}if(valid3){if(data.params !== undefined){const _errs10 = errors;if(!(validate41(data.params, {instancePath:instancePath+"/params",parentData:data,parentDataProperty:"params",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate41.errors : vErrors.concat(validate41.errors);errors = vErrors.length;}var valid3 = _errs10 === errors;}else {var valid3 = true;}}}}}}var _valid0 = _errs2 === errors;if(_valid0){valid0 = true;passing0 = 0;var props0 = {};props0.protocol = true;props0.method = true;props0.params = true;}const _errs11 = errors;const _errs12 = errors;const _errs13 = errors;const _errs14 = errors;let valid5 = false;const _errs15 = errors;if(data && typeof data == "object" && !Array.isArray(data)){let missing3;if((data.params === undefined) && (missing3 = "params")){const err7 = {};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}var _valid2 = _errs15 === errors;valid5 = valid5 || _valid2;const _errs16 = errors;if(data && typeof data == "object" && !Array.isArray(data)){let missing4;if((data.error === undefined) && (missing4 = "error")){const err8 = {};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}var _valid2 = _errs16 === errors;valid5 = valid5 || _valid2;if(!valid5){const err9 = {};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}else {errors = _errs14;if(vErrors !== null){if(_errs14){vErrors.length = _errs14;}else {vErrors = null;}}}var valid4 = _errs13 === errors;if(valid4){const err10 = {instancePath,schemaPath:"#/oneOf/1/not",keyword:"not",params:{},message:"must NOT be valid"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}else {errors = _errs12;if(vErrors !== null){if(_errs12){vErrors.length = _errs12;}else {vErrors = null;}}}if(errors === _errs11){if(data && typeof data == "object" && !Array.isArray(data)){let missing5;if((data.result === undefined) && (missing5 = "result")){const err11 = {instancePath,schemaPath:"#/oneOf/1/required",keyword:"required",params:{missingProperty: missing5},message:"must have required property '"+missing5+"'"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}else {if(data.protocol !== undefined){const _errs17 = errors;if("sevro.discovery.v1" !== data.protocol){const err12 = {instancePath:instancePath+"/protocol",schemaPath:"#/oneOf/1/properties/protocol/const",keyword:"const",params:{allowedValue: "sevro.discovery.v1"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}var valid6 = _errs17 === errors;}else {var valid6 = true;}if(valid6){if(data.method !== undefined){const _errs18 = errors;if("describe" !== data.method){const err13 = {instancePath:instancePath+"/method",schemaPath:"#/oneOf/1/properties/method/const",keyword:"const",params:{allowedValue: "describe"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}var valid6 = _errs18 === errors;}else {var valid6 = true;}if(valid6){if(data.result !== undefined){const _errs19 = errors;if(!(validate46(data.result, {instancePath:instancePath+"/result",parentData:data,parentDataProperty:"result",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);errors = vErrors.length;}var valid6 = _errs19 === errors;}else {var valid6 = true;}}}}}}var _valid0 = _errs11 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 1];}else {if(_valid0){valid0 = true;passing0 = 1;if(props0 !== true){props0 = props0 || {};props0.protocol = true;props0.method = true;props0.result = true;}}const _errs20 = errors;const _errs21 = errors;const _errs22 = errors;const _errs23 = errors;let valid8 = false;const _errs24 = errors;if(data && typeof data == "object" && !Array.isArray(data)){let missing6;if((data.result === undefined) && (missing6 = "result")){const err14 = {};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}var _valid3 = _errs24 === errors;valid8 = valid8 || _valid3;const _errs25 = errors;if(data && typeof data == "object" && !Array.isArray(data)){let missing7;if((data.error === undefined) && (missing7 = "error")){const err15 = {};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}var _valid3 = _errs25 === errors;valid8 = valid8 || _valid3;if(!valid8){const err16 = {};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}else {errors = _errs23;if(vErrors !== null){if(_errs23){vErrors.length = _errs23;}else {vErrors = null;}}}var valid7 = _errs22 === errors;if(valid7){const err17 = {instancePath,schemaPath:"#/oneOf/2/not",keyword:"not",params:{},message:"must NOT be valid"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}else {errors = _errs21;if(vErrors !== null){if(_errs21){vErrors.length = _errs21;}else {vErrors = null;}}}if(errors === _errs20){if(data && typeof data == "object" && !Array.isArray(data)){let missing8;if((data.params === undefined) && (missing8 = "params")){const err18 = {instancePath,schemaPath:"#/oneOf/2/required",keyword:"required",params:{missingProperty: missing8},message:"must have required property '"+missing8+"'"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}else {if(data.protocol !== undefined){const _errs26 = errors;if("sevro.extension.v1" !== data.protocol){const err19 = {instancePath:instancePath+"/protocol",schemaPath:"#/oneOf/2/properties/protocol/const",keyword:"const",params:{allowedValue: "sevro.extension.v1"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}var valid9 = _errs26 === errors;}else {var valid9 = true;}if(valid9){if(data.method !== undefined){const _errs27 = errors;if("resolve" !== data.method){const err20 = {instancePath:instancePath+"/method",schemaPath:"#/oneOf/2/properties/method/const",keyword:"const",params:{allowedValue: "resolve"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}var valid9 = _errs27 === errors;}else {var valid9 = true;}if(valid9){if(data.params !== undefined){const _errs28 = errors;if(!(validate52(data.params, {instancePath:instancePath+"/params",parentData:data,parentDataProperty:"params",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate52.errors : vErrors.concat(validate52.errors);errors = vErrors.length;}var valid9 = _errs28 === errors;}else {var valid9 = true;}}}}}}var _valid0 = _errs20 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 2];}else {if(_valid0){valid0 = true;passing0 = 2;if(props0 !== true){props0 = props0 || {};props0.protocol = true;props0.method = true;props0.params = true;}}const _errs29 = errors;const _errs30 = errors;const _errs31 = errors;const _errs32 = errors;let valid11 = false;const _errs33 = errors;if(data && typeof data == "object" && !Array.isArray(data)){let missing9;if((data.params === undefined) && (missing9 = "params")){const err21 = {};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}var _valid4 = _errs33 === errors;valid11 = valid11 || _valid4;const _errs34 = errors;if(data && typeof data == "object" && !Array.isArray(data)){let missing10;if((data.error === undefined) && (missing10 = "error")){const err22 = {};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}var _valid4 = _errs34 === errors;valid11 = valid11 || _valid4;if(!valid11){const err23 = {};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}else {errors = _errs32;if(vErrors !== null){if(_errs32){vErrors.length = _errs32;}else {vErrors = null;}}}var valid10 = _errs31 === errors;if(valid10){const err24 = {instancePath,schemaPath:"#/oneOf/3/not",keyword:"not",params:{},message:"must NOT be valid"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}else {errors = _errs30;if(vErrors !== null){if(_errs30){vErrors.length = _errs30;}else {vErrors = null;}}}if(errors === _errs29){if(data && typeof data == "object" && !Array.isArray(data)){let missing11;if((data.result === undefined) && (missing11 = "result")){const err25 = {instancePath,schemaPath:"#/oneOf/3/required",keyword:"required",params:{missingProperty: missing11},message:"must have required property '"+missing11+"'"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}else {if(data.protocol !== undefined){const _errs35 = errors;if("sevro.extension.v1" !== data.protocol){const err26 = {instancePath:instancePath+"/protocol",schemaPath:"#/oneOf/3/properties/protocol/const",keyword:"const",params:{allowedValue: "sevro.extension.v1"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}var valid12 = _errs35 === errors;}else {var valid12 = true;}if(valid12){if(data.method !== undefined){const _errs36 = errors;if("resolve" !== data.method){const err27 = {instancePath:instancePath+"/method",schemaPath:"#/oneOf/3/properties/method/const",keyword:"const",params:{allowedValue: "resolve"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}var valid12 = _errs36 === errors;}else {var valid12 = true;}if(valid12){if(data.result !== undefined){const _errs37 = errors;if(!(validate59(data.result, {instancePath:instancePath+"/result",parentData:data,parentDataProperty:"result",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate59.errors : vErrors.concat(validate59.errors);errors = vErrors.length;}var valid12 = _errs37 === errors;}else {var valid12 = true;}}}}}}var _valid0 = _errs29 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 3];}else {if(_valid0){valid0 = true;passing0 = 3;if(props0 !== true){props0 = props0 || {};props0.protocol = true;props0.method = true;props0.result = true;}}const _errs38 = errors;const _errs39 = errors;const _errs40 = errors;const _errs41 = errors;let valid14 = false;const _errs42 = errors;if(data && typeof data == "object" && !Array.isArray(data)){let missing12;if((data.result === undefined) && (missing12 = "result")){const err28 = {};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}}var _valid5 = _errs42 === errors;valid14 = valid14 || _valid5;const _errs43 = errors;if(data && typeof data == "object" && !Array.isArray(data)){let missing13;if((data.error === undefined) && (missing13 = "error")){const err29 = {};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}}var _valid5 = _errs43 === errors;valid14 = valid14 || _valid5;if(!valid14){const err30 = {};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}else {errors = _errs41;if(vErrors !== null){if(_errs41){vErrors.length = _errs41;}else {vErrors = null;}}}var valid13 = _errs40 === errors;if(valid13){const err31 = {instancePath,schemaPath:"#/oneOf/4/not",keyword:"not",params:{},message:"must NOT be valid"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}else {errors = _errs39;if(vErrors !== null){if(_errs39){vErrors.length = _errs39;}else {vErrors = null;}}}if(errors === _errs38){if(data && typeof data == "object" && !Array.isArray(data)){let missing14;if((data.params === undefined) && (missing14 = "params")){const err32 = {instancePath,schemaPath:"#/oneOf/4/required",keyword:"required",params:{missingProperty: missing14},message:"must have required property '"+missing14+"'"};if(vErrors === null){vErrors = [err32];}else {vErrors.push(err32);}errors++;}else {if(data.protocol !== undefined){const _errs44 = errors;if("sevro.extension.v1" !== data.protocol){const err33 = {instancePath:instancePath+"/protocol",schemaPath:"#/oneOf/4/properties/protocol/const",keyword:"const",params:{allowedValue: "sevro.extension.v1"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err33];}else {vErrors.push(err33);}errors++;}var valid15 = _errs44 === errors;}else {var valid15 = true;}if(valid15){if(data.method !== undefined){const _errs45 = errors;if("prepare" !== data.method){const err34 = {instancePath:instancePath+"/method",schemaPath:"#/oneOf/4/properties/method/const",keyword:"const",params:{allowedValue: "prepare"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err34];}else {vErrors.push(err34);}errors++;}var valid15 = _errs45 === errors;}else {var valid15 = true;}if(valid15){if(data.params !== undefined){const _errs46 = errors;if(!(validate70(data.params, {instancePath:instancePath+"/params",parentData:data,parentDataProperty:"params",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate70.errors : vErrors.concat(validate70.errors);errors = vErrors.length;}var valid15 = _errs46 === errors;}else {var valid15 = true;}}}}}}var _valid0 = _errs38 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 4];}else {if(_valid0){valid0 = true;passing0 = 4;if(props0 !== true){props0 = props0 || {};props0.protocol = true;props0.method = true;props0.params = true;}}const _errs47 = errors;const _errs48 = errors;const _errs49 = errors;const _errs50 = errors;let valid17 = false;const _errs51 = errors;if(data && typeof data == "object" && !Array.isArray(data)){let missing15;if((data.params === undefined) && (missing15 = "params")){const err35 = {};if(vErrors === null){vErrors = [err35];}else {vErrors.push(err35);}errors++;}}var _valid6 = _errs51 === errors;valid17 = valid17 || _valid6;const _errs52 = errors;if(data && typeof data == "object" && !Array.isArray(data)){let missing16;if((data.error === undefined) && (missing16 = "error")){const err36 = {};if(vErrors === null){vErrors = [err36];}else {vErrors.push(err36);}errors++;}}var _valid6 = _errs52 === errors;valid17 = valid17 || _valid6;if(!valid17){const err37 = {};if(vErrors === null){vErrors = [err37];}else {vErrors.push(err37);}errors++;}else {errors = _errs50;if(vErrors !== null){if(_errs50){vErrors.length = _errs50;}else {vErrors = null;}}}var valid16 = _errs49 === errors;if(valid16){const err38 = {instancePath,schemaPath:"#/oneOf/5/not",keyword:"not",params:{},message:"must NOT be valid"};if(vErrors === null){vErrors = [err38];}else {vErrors.push(err38);}errors++;}else {errors = _errs48;if(vErrors !== null){if(_errs48){vErrors.length = _errs48;}else {vErrors = null;}}}if(errors === _errs47){if(data && typeof data == "object" && !Array.isArray(data)){let missing17;if((data.result === undefined) && (missing17 = "result")){const err39 = {instancePath,schemaPath:"#/oneOf/5/required",keyword:"required",params:{missingProperty: missing17},message:"must have required property '"+missing17+"'"};if(vErrors === null){vErrors = [err39];}else {vErrors.push(err39);}errors++;}else {if(data.protocol !== undefined){const _errs53 = errors;if("sevro.extension.v1" !== data.protocol){const err40 = {instancePath:instancePath+"/protocol",schemaPath:"#/oneOf/5/properties/protocol/const",keyword:"const",params:{allowedValue: "sevro.extension.v1"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err40];}else {vErrors.push(err40);}errors++;}var valid18 = _errs53 === errors;}else {var valid18 = true;}if(valid18){if(data.method !== undefined){const _errs54 = errors;if("prepare" !== data.method){const err41 = {instancePath:instancePath+"/method",schemaPath:"#/oneOf/5/properties/method/const",keyword:"const",params:{allowedValue: "prepare"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err41];}else {vErrors.push(err41);}errors++;}var valid18 = _errs54 === errors;}else {var valid18 = true;}if(valid18){if(data.result !== undefined){const _errs55 = errors;if(!(validate76(data.result, {instancePath:instancePath+"/result",parentData:data,parentDataProperty:"result",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate76.errors : vErrors.concat(validate76.errors);errors = vErrors.length;}var valid18 = _errs55 === errors;}else {var valid18 = true;}}}}}}var _valid0 = _errs47 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 5];}else {if(_valid0){valid0 = true;passing0 = 5;if(props0 !== true){props0 = props0 || {};props0.protocol = true;props0.method = true;props0.result = true;}}const _errs56 = errors;const _errs57 = errors;const _errs58 = errors;const _errs59 = errors;let valid20 = false;const _errs60 = errors;if(data && typeof data == "object" && !Array.isArray(data)){let missing18;if((data.result === undefined) && (missing18 = "result")){const err42 = {};if(vErrors === null){vErrors = [err42];}else {vErrors.push(err42);}errors++;}}var _valid7 = _errs60 === errors;valid20 = valid20 || _valid7;const _errs61 = errors;if(data && typeof data == "object" && !Array.isArray(data)){let missing19;if((data.error === undefined) && (missing19 = "error")){const err43 = {};if(vErrors === null){vErrors = [err43];}else {vErrors.push(err43);}errors++;}}var _valid7 = _errs61 === errors;valid20 = valid20 || _valid7;if(!valid20){const err44 = {};if(vErrors === null){vErrors = [err44];}else {vErrors.push(err44);}errors++;}else {errors = _errs59;if(vErrors !== null){if(_errs59){vErrors.length = _errs59;}else {vErrors = null;}}}var valid19 = _errs58 === errors;if(valid19){const err45 = {instancePath,schemaPath:"#/oneOf/6/not",keyword:"not",params:{},message:"must NOT be valid"};if(vErrors === null){vErrors = [err45];}else {vErrors.push(err45);}errors++;}else {errors = _errs57;if(vErrors !== null){if(_errs57){vErrors.length = _errs57;}else {vErrors = null;}}}if(errors === _errs56){if(data && typeof data == "object" && !Array.isArray(data)){let missing20;if((data.params === undefined) && (missing20 = "params")){const err46 = {instancePath,schemaPath:"#/oneOf/6/required",keyword:"required",params:{missingProperty: missing20},message:"must have required property '"+missing20+"'"};if(vErrors === null){vErrors = [err46];}else {vErrors.push(err46);}errors++;}else {if(data.protocol !== undefined){const _errs62 = errors;if("sevro.extension.v1" !== data.protocol){const err47 = {instancePath:instancePath+"/protocol",schemaPath:"#/oneOf/6/properties/protocol/const",keyword:"const",params:{allowedValue: "sevro.extension.v1"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err47];}else {vErrors.push(err47);}errors++;}var valid21 = _errs62 === errors;}else {var valid21 = true;}if(valid21){if(data.method !== undefined){const _errs63 = errors;if("evaluate" !== data.method){const err48 = {instancePath:instancePath+"/method",schemaPath:"#/oneOf/6/properties/method/const",keyword:"const",params:{allowedValue: "evaluate"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err48];}else {vErrors.push(err48);}errors++;}var valid21 = _errs63 === errors;}else {var valid21 = true;}if(valid21){if(data.params !== undefined){const _errs64 = errors;if(!(validate83(data.params, {instancePath:instancePath+"/params",parentData:data,parentDataProperty:"params",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate83.errors : vErrors.concat(validate83.errors);errors = vErrors.length;}var valid21 = _errs64 === errors;}else {var valid21 = true;}}}}}}var _valid0 = _errs56 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 6];}else {if(_valid0){valid0 = true;passing0 = 6;if(props0 !== true){props0 = props0 || {};props0.protocol = true;props0.method = true;props0.params = true;}}const _errs65 = errors;const _errs66 = errors;const _errs67 = errors;const _errs68 = errors;let valid23 = false;const _errs69 = errors;if(data && typeof data == "object" && !Array.isArray(data)){let missing21;if((data.params === undefined) && (missing21 = "params")){const err49 = {};if(vErrors === null){vErrors = [err49];}else {vErrors.push(err49);}errors++;}}var _valid8 = _errs69 === errors;valid23 = valid23 || _valid8;const _errs70 = errors;if(data && typeof data == "object" && !Array.isArray(data)){let missing22;if((data.error === undefined) && (missing22 = "error")){const err50 = {};if(vErrors === null){vErrors = [err50];}else {vErrors.push(err50);}errors++;}}var _valid8 = _errs70 === errors;valid23 = valid23 || _valid8;if(!valid23){const err51 = {};if(vErrors === null){vErrors = [err51];}else {vErrors.push(err51);}errors++;}else {errors = _errs68;if(vErrors !== null){if(_errs68){vErrors.length = _errs68;}else {vErrors = null;}}}var valid22 = _errs67 === errors;if(valid22){const err52 = {instancePath,schemaPath:"#/oneOf/7/not",keyword:"not",params:{},message:"must NOT be valid"};if(vErrors === null){vErrors = [err52];}else {vErrors.push(err52);}errors++;}else {errors = _errs66;if(vErrors !== null){if(_errs66){vErrors.length = _errs66;}else {vErrors = null;}}}if(errors === _errs65){if(data && typeof data == "object" && !Array.isArray(data)){let missing23;if((data.result === undefined) && (missing23 = "result")){const err53 = {instancePath,schemaPath:"#/oneOf/7/required",keyword:"required",params:{missingProperty: missing23},message:"must have required property '"+missing23+"'"};if(vErrors === null){vErrors = [err53];}else {vErrors.push(err53);}errors++;}else {if(data.protocol !== undefined){const _errs71 = errors;if("sevro.extension.v1" !== data.protocol){const err54 = {instancePath:instancePath+"/protocol",schemaPath:"#/oneOf/7/properties/protocol/const",keyword:"const",params:{allowedValue: "sevro.extension.v1"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err54];}else {vErrors.push(err54);}errors++;}var valid24 = _errs71 === errors;}else {var valid24 = true;}if(valid24){if(data.method !== undefined){const _errs72 = errors;if("evaluate" !== data.method){const err55 = {instancePath:instancePath+"/method",schemaPath:"#/oneOf/7/properties/method/const",keyword:"const",params:{allowedValue: "evaluate"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err55];}else {vErrors.push(err55);}errors++;}var valid24 = _errs72 === errors;}else {var valid24 = true;}if(valid24){if(data.result !== undefined){const _errs73 = errors;if(!(validate94(data.result, {instancePath:instancePath+"/result",parentData:data,parentDataProperty:"result",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate94.errors : vErrors.concat(validate94.errors);errors = vErrors.length;}var valid24 = _errs73 === errors;}else {var valid24 = true;}}}}}}var _valid0 = _errs65 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 7];}else {if(_valid0){valid0 = true;passing0 = 7;if(props0 !== true){props0 = props0 || {};props0.protocol = true;props0.method = true;props0.result = true;}}const _errs74 = errors;const _errs75 = errors;const _errs76 = errors;const _errs77 = errors;let valid26 = false;const _errs78 = errors;if(data && typeof data == "object" && !Array.isArray(data)){let missing24;if((data.params === undefined) && (missing24 = "params")){const err56 = {};if(vErrors === null){vErrors = [err56];}else {vErrors.push(err56);}errors++;}}var _valid9 = _errs78 === errors;valid26 = valid26 || _valid9;const _errs79 = errors;if(data && typeof data == "object" && !Array.isArray(data)){let missing25;if((data.result === undefined) && (missing25 = "result")){const err57 = {};if(vErrors === null){vErrors = [err57];}else {vErrors.push(err57);}errors++;}}var _valid9 = _errs79 === errors;valid26 = valid26 || _valid9;if(!valid26){const err58 = {};if(vErrors === null){vErrors = [err58];}else {vErrors.push(err58);}errors++;}else {errors = _errs77;if(vErrors !== null){if(_errs77){vErrors.length = _errs77;}else {vErrors = null;}}}var valid25 = _errs76 === errors;if(valid25){const err59 = {instancePath,schemaPath:"#/oneOf/8/not",keyword:"not",params:{},message:"must NOT be valid"};if(vErrors === null){vErrors = [err59];}else {vErrors.push(err59);}errors++;}else {errors = _errs75;if(vErrors !== null){if(_errs75){vErrors.length = _errs75;}else {vErrors = null;}}const _errs81 = errors;let valid28 = true;const _errs82 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.method !== undefined){if("describe" !== data.method){const err60 = {};if(vErrors === null){vErrors = [err60];}else {vErrors.push(err60);}errors++;}}}var _valid10 = _errs82 === errors;errors = _errs81;if(vErrors !== null){if(_errs81){vErrors.length = _errs81;}else {vErrors = null;}}let ifClause0;if(_valid10){const _errs84 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.protocol !== undefined){if("sevro.discovery.v1" !== data.protocol){const err61 = {instancePath:instancePath+"/protocol",schemaPath:"#/oneOf/8/allOf/0/then/properties/protocol/const",keyword:"const",params:{allowedValue: "sevro.discovery.v1"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err61];}else {vErrors.push(err61);}errors++;}}}var _valid10 = _errs84 === errors;valid28 = _valid10;if(valid28){var props1 = {};props1.protocol = true;props1.method = true;}ifClause0 = "then";}else {const _errs86 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.protocol !== undefined){if("sevro.extension.v1" !== data.protocol){const err62 = {instancePath:instancePath+"/protocol",schemaPath:"#/oneOf/8/allOf/0/else/properties/protocol/const",keyword:"const",params:{allowedValue: "sevro.extension.v1"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err62];}else {vErrors.push(err62);}errors++;}}}var _valid10 = _errs86 === errors;valid28 = _valid10;if(valid28){if(props1 !== true){props1 = props1 || {};props1.protocol = true;}}ifClause0 = "else";}if(!valid28){const err63 = {instancePath,schemaPath:"#/oneOf/8/allOf/0/if",keyword:"if",params:{failingKeyword: ifClause0},message:"must match \""+ifClause0+"\" schema"};if(vErrors === null){vErrors = [err63];}else {vErrors.push(err63);}errors++;}}if(errors === _errs74){if(data && typeof data == "object" && !Array.isArray(data)){let missing26;if((data.error === undefined) && (missing26 = "error")){const err64 = {instancePath,schemaPath:"#/oneOf/8/required",keyword:"required",params:{missingProperty: missing26},message:"must have required property '"+missing26+"'"};if(vErrors === null){vErrors = [err64];}else {vErrors.push(err64);}errors++;}}}var _valid0 = _errs74 === errors;if(_valid0 && valid0){valid0 = false;passing0 = [passing0, 8];}else {if(_valid0){valid0 = true;passing0 = 8;if(props0 !== true && props1 !== undefined){if(props1 === true){props0 = true;}else {props0 = props0 || {};Object.assign(props0, props1);}}}}}}}}}}}if(!valid0){const err65 = {instancePath,schemaPath:"#/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err65];}else {vErrors.push(err65);}errors++;validate40.errors = vErrors;return false;}else {errors = _errs1;if(vErrors !== null){if(_errs1){vErrors.length = _errs1;}else {vErrors = null;}}}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing27;if((((data.protocol === undefined) && (missing27 = "protocol")) || ((data.id === undefined) && (missing27 = "id"))) || ((data.method === undefined) && (missing27 = "method"))){validate40.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing27},message:"must have required property '"+missing27+"'"}];return false;}else {const _errs88 = errors;for(const key0 in data){if(!((((((key0 === "protocol") || (key0 === "id")) || (key0 === "method")) || (key0 === "params")) || (key0 === "result")) || (key0 === "error"))){validate40.errors = [{instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"}];return false;break;}}if(_errs88 === errors){if(data.protocol !== undefined){let data27 = data.protocol;const _errs89 = errors;if(!((data27 === "sevro.discovery.v1") || (data27 === "sevro.extension.v1"))){validate40.errors = [{instancePath:instancePath+"/protocol",schemaPath:"#/properties/protocol/enum",keyword:"enum",params:{allowedValues: schema103.properties.protocol.enum},message:"must be equal to one of the allowed values"}];return false;}var valid32 = _errs89 === errors;}else {var valid32 = true;}if(valid32){if(data.id !== undefined){let data28 = data.id;const _errs90 = errors;const _errs91 = errors;if(errors === _errs91){if(typeof data28 === "string"){if(func2(data28) > 128){validate40.errors = [{instancePath:instancePath+"/id",schemaPath:"#/$defs/id/maxLength",keyword:"maxLength",params:{limit: 128},message:"must NOT have more than 128 characters"}];return false;}else {if(func2(data28) < 1){validate40.errors = [{instancePath:instancePath+"/id",schemaPath:"#/$defs/id/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"}];return false;}}}else {validate40.errors = [{instancePath:instancePath+"/id",schemaPath:"#/$defs/id/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}var valid32 = _errs90 === errors;}else {var valid32 = true;}if(valid32){if(data.method !== undefined){let data29 = data.method;const _errs93 = errors;if(!((((data29 === "describe") || (data29 === "resolve")) || (data29 === "prepare")) || (data29 === "evaluate"))){validate40.errors = [{instancePath:instancePath+"/method",schemaPath:"#/properties/method/enum",keyword:"enum",params:{allowedValues: schema103.properties.method.enum},message:"must be equal to one of the allowed values"}];return false;}var valid32 = _errs93 === errors;}else {var valid32 = true;}if(valid32){if(data.params !== undefined){let data30 = data.params;const _errs94 = errors;if(!(data30 && typeof data30 == "object" && !Array.isArray(data30))){validate40.errors = [{instancePath:instancePath+"/params",schemaPath:"#/properties/params/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}var valid32 = _errs94 === errors;}else {var valid32 = true;}if(valid32){if(data.result !== undefined){let data31 = data.result;const _errs96 = errors;if(!(data31 && typeof data31 == "object" && !Array.isArray(data31))){validate40.errors = [{instancePath:instancePath+"/result",schemaPath:"#/properties/result/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}var valid32 = _errs96 === errors;}else {var valid32 = true;}if(valid32){if(data.error !== undefined){const _errs98 = errors;if(!(validate102(data.error, {instancePath:instancePath+"/error",parentData:data,parentDataProperty:"error",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate102.errors : vErrors.concat(validate102.errors);errors = vErrors.length;}var valid32 = _errs98 === errors;}else {var valid32 = true;}}}}}}}}}else {validate40.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate40.errors = vErrors;return errors === 0;}validate40.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};