tracegrove 0.0.0-stage → 0.3.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 (721) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +588 -2
  3. package/conformance/coordination-vectors.json +377 -0
  4. package/dist/adapters/browser/capabilities.d.ts +45 -0
  5. package/dist/adapters/browser/capabilities.js +14 -0
  6. package/dist/adapters/browser/capabilities.js.map +1 -0
  7. package/dist/adapters/browser/driver.d.ts +45 -0
  8. package/dist/adapters/browser/driver.js +295 -0
  9. package/dist/adapters/browser/driver.js.map +1 -0
  10. package/dist/adapters/browser/session.d.ts +21 -0
  11. package/dist/adapters/browser/session.js +87 -0
  12. package/dist/adapters/browser/session.js.map +1 -0
  13. package/dist/adapters/http/capabilities.d.ts +2 -0
  14. package/dist/adapters/http/capabilities.js +21 -0
  15. package/dist/adapters/http/capabilities.js.map +1 -0
  16. package/dist/adapters/http/driver.d.ts +55 -0
  17. package/dist/adapters/http/driver.js +125 -0
  18. package/dist/adapters/http/driver.js.map +1 -0
  19. package/dist/adapters/job/capabilities.d.ts +45 -0
  20. package/dist/adapters/job/capabilities.js +8 -0
  21. package/dist/adapters/job/capabilities.js.map +1 -0
  22. package/dist/adapters/job/driver.d.ts +26 -0
  23. package/dist/adapters/job/driver.js +110 -0
  24. package/dist/adapters/job/driver.js.map +1 -0
  25. package/dist/adapters/job/types.d.ts +9 -0
  26. package/dist/adapters/job/types.js +2 -0
  27. package/dist/adapters/job/types.js.map +1 -0
  28. package/dist/adapters/mcp/capabilities.d.ts +46 -0
  29. package/dist/adapters/mcp/capabilities.js +17 -0
  30. package/dist/adapters/mcp/capabilities.js.map +1 -0
  31. package/dist/adapters/mcp/driver.d.ts +10 -0
  32. package/dist/adapters/mcp/driver.js +83 -0
  33. package/dist/adapters/mcp/driver.js.map +1 -0
  34. package/dist/adapters/poll.d.ts +12 -0
  35. package/dist/adapters/poll.js +31 -0
  36. package/dist/adapters/poll.js.map +1 -0
  37. package/dist/authoring/activity.d.ts +17 -0
  38. package/dist/authoring/activity.js +18 -0
  39. package/dist/authoring/activity.js.map +1 -0
  40. package/dist/authoring/agent.d.ts +70 -0
  41. package/dist/authoring/agent.js +268 -0
  42. package/dist/authoring/agent.js.map +1 -0
  43. package/dist/authoring/appLaunch.d.ts +7 -0
  44. package/dist/authoring/appLaunch.js +32 -0
  45. package/dist/authoring/appLaunch.js.map +1 -0
  46. package/dist/authoring/appLocation.d.ts +2 -0
  47. package/dist/authoring/appLocation.js +5 -0
  48. package/dist/authoring/appLocation.js.map +1 -0
  49. package/dist/authoring/browser.d.ts +15 -0
  50. package/dist/authoring/browser.js +20 -0
  51. package/dist/authoring/browser.js.map +1 -0
  52. package/dist/authoring/compile.d.ts +47 -0
  53. package/dist/authoring/compile.js +508 -0
  54. package/dist/authoring/compile.js.map +1 -0
  55. package/dist/authoring/discover.d.ts +43 -0
  56. package/dist/authoring/discover.js +149 -0
  57. package/dist/authoring/discover.js.map +1 -0
  58. package/dist/authoring/environmentTemplates.d.ts +3 -0
  59. package/dist/authoring/environmentTemplates.js +24 -0
  60. package/dist/authoring/environmentTemplates.js.map +1 -0
  61. package/dist/authoring/heal.d.ts +108 -0
  62. package/dist/authoring/heal.js +723 -0
  63. package/dist/authoring/heal.js.map +1 -0
  64. package/dist/authoring/index.d.ts +14 -0
  65. package/dist/authoring/index.js +15 -0
  66. package/dist/authoring/index.js.map +1 -0
  67. package/dist/authoring/init.d.ts +21 -0
  68. package/dist/authoring/init.js +141 -0
  69. package/dist/authoring/init.js.map +1 -0
  70. package/dist/authoring/localSettings.d.ts +33 -0
  71. package/dist/authoring/localSettings.js +31 -0
  72. package/dist/authoring/localSettings.js.map +1 -0
  73. package/dist/authoring/media.d.ts +10 -0
  74. package/dist/authoring/media.js +37 -0
  75. package/dist/authoring/media.js.map +1 -0
  76. package/dist/authoring/module.d.ts +2 -0
  77. package/dist/authoring/module.js +38 -0
  78. package/dist/authoring/module.js.map +1 -0
  79. package/dist/authoring/run.d.ts +74 -0
  80. package/dist/authoring/run.js +242 -0
  81. package/dist/authoring/run.js.map +1 -0
  82. package/dist/authoring/runSource.d.ts +6 -0
  83. package/dist/authoring/runSource.js +24 -0
  84. package/dist/authoring/runSource.js.map +1 -0
  85. package/dist/authoring/savedRun.d.ts +13 -0
  86. package/dist/authoring/savedRun.js +94 -0
  87. package/dist/authoring/savedRun.js.map +1 -0
  88. package/dist/authoring/schema.d.ts +574 -0
  89. package/dist/authoring/schema.js +147 -0
  90. package/dist/authoring/schema.js.map +1 -0
  91. package/dist/authoring/snapshotSource.d.ts +13 -0
  92. package/dist/authoring/snapshotSource.js +41 -0
  93. package/dist/authoring/snapshotSource.js.map +1 -0
  94. package/dist/authoring/sourceSelection.d.ts +34 -0
  95. package/dist/authoring/sourceSelection.js +13 -0
  96. package/dist/authoring/sourceSelection.js.map +1 -0
  97. package/dist/authoring/sources.d.ts +5 -0
  98. package/dist/authoring/sources.js +65 -0
  99. package/dist/authoring/sources.js.map +1 -0
  100. package/dist/authoring/status.d.ts +48 -0
  101. package/dist/authoring/status.js +100 -0
  102. package/dist/authoring/status.js.map +1 -0
  103. package/dist/authoring/typed.d.ts +6 -0
  104. package/dist/authoring/typed.js +5 -0
  105. package/dist/authoring/typed.js.map +1 -0
  106. package/dist/authoring/ui.d.ts +10 -0
  107. package/dist/authoring/ui.js +486 -0
  108. package/dist/authoring/ui.js.map +1 -0
  109. package/dist/authoring/uiPage.d.ts +1 -0
  110. package/dist/authoring/uiPage.js +358 -0
  111. package/dist/authoring/uiPage.js.map +1 -0
  112. package/dist/authoring/uiSourceControls.d.ts +2 -0
  113. package/dist/authoring/uiSourceControls.js +41 -0
  114. package/dist/authoring/uiSourceControls.js.map +1 -0
  115. package/dist/authoring/verificationSource.d.ts +41 -0
  116. package/dist/authoring/verificationSource.js +46 -0
  117. package/dist/authoring/verificationSource.js.map +1 -0
  118. package/dist/authoring/workspace.d.ts +33 -0
  119. package/dist/authoring/workspace.js +58 -0
  120. package/dist/authoring/workspace.js.map +1 -0
  121. package/dist/cli/arguments.d.ts +288 -0
  122. package/dist/cli/arguments.js +121 -0
  123. package/dist/cli/arguments.js.map +1 -0
  124. package/dist/cli/cleanup.d.ts +18 -0
  125. package/dist/cli/cleanup.js +40 -0
  126. package/dist/cli/cleanup.js.map +1 -0
  127. package/dist/cli/doctor.d.ts +51 -0
  128. package/dist/cli/doctor.js +118 -0
  129. package/dist/cli/doctor.js.map +1 -0
  130. package/dist/cli/errors.d.ts +2 -0
  131. package/dist/cli/errors.js +84 -0
  132. package/dist/cli/errors.js.map +1 -0
  133. package/dist/cli/jsonFile.d.ts +2 -0
  134. package/dist/cli/jsonFile.js +15 -0
  135. package/dist/cli/jsonFile.js.map +1 -0
  136. package/dist/cli/main.d.ts +2 -0
  137. package/dist/cli/main.js +603 -0
  138. package/dist/cli/main.js.map +1 -0
  139. package/dist/cli/render.d.ts +22 -0
  140. package/dist/cli/render.js +150 -0
  141. package/dist/cli/render.js.map +1 -0
  142. package/dist/cli/samples/catalog.d.ts +10 -0
  143. package/dist/cli/samples/catalog.js +3 -0
  144. package/dist/cli/samples/catalog.js.map +1 -0
  145. package/dist/cli/samples/write.d.ts +5 -0
  146. package/dist/cli/samples/write.js +64 -0
  147. package/dist/cli/samples/write.js.map +1 -0
  148. package/dist/cli/source.d.ts +41 -0
  149. package/dist/cli/source.js +59 -0
  150. package/dist/cli/source.js.map +1 -0
  151. package/dist/core/activationDecision.d.ts +153 -0
  152. package/dist/core/activationDecision.js +34 -0
  153. package/dist/core/activationDecision.js.map +1 -0
  154. package/dist/core/artifacts.d.ts +18 -0
  155. package/dist/core/artifacts.js +79 -0
  156. package/dist/core/artifacts.js.map +1 -0
  157. package/dist/core/atomicFiles.d.ts +9 -0
  158. package/dist/core/atomicFiles.js +76 -0
  159. package/dist/core/atomicFiles.js.map +1 -0
  160. package/dist/core/boundedFile.d.ts +2 -0
  161. package/dist/core/boundedFile.js +28 -0
  162. package/dist/core/boundedFile.js.map +1 -0
  163. package/dist/core/bundle.d.ts +77 -0
  164. package/dist/core/bundle.js +375 -0
  165. package/dist/core/bundle.js.map +1 -0
  166. package/dist/core/bundleArchive.d.ts +10 -0
  167. package/dist/core/bundleArchive.js +47 -0
  168. package/dist/core/bundleArchive.js.map +1 -0
  169. package/dist/core/bundleEvidence.d.ts +12 -0
  170. package/dist/core/bundleEvidence.js +169 -0
  171. package/dist/core/bundleEvidence.js.map +1 -0
  172. package/dist/core/bundleExport.d.ts +12 -0
  173. package/dist/core/bundleExport.js +36 -0
  174. package/dist/core/bundleExport.js.map +1 -0
  175. package/dist/core/bundleFiles.d.ts +5 -0
  176. package/dist/core/bundleFiles.js +47 -0
  177. package/dist/core/bundleFiles.js.map +1 -0
  178. package/dist/core/bundlePaths.d.ts +2 -0
  179. package/dist/core/bundlePaths.js +7 -0
  180. package/dist/core/bundlePaths.js.map +1 -0
  181. package/dist/core/bundleSnapshot.d.ts +26 -0
  182. package/dist/core/bundleSnapshot.js +71 -0
  183. package/dist/core/bundleSnapshot.js.map +1 -0
  184. package/dist/core/capabilityBoundary.d.ts +1452 -0
  185. package/dist/core/capabilityBoundary.js +361 -0
  186. package/dist/core/capabilityBoundary.js.map +1 -0
  187. package/dist/core/capabilityLifecycle.d.ts +366 -0
  188. package/dist/core/capabilityLifecycle.js +79 -0
  189. package/dist/core/capabilityLifecycle.js.map +1 -0
  190. package/dist/core/cleanup.d.ts +35 -0
  191. package/dist/core/cleanup.js +71 -0
  192. package/dist/core/cleanup.js.map +1 -0
  193. package/dist/core/cleanupActions.d.ts +5 -0
  194. package/dist/core/cleanupActions.js +15 -0
  195. package/dist/core/cleanupActions.js.map +1 -0
  196. package/dist/core/cleanupAttestation.d.ts +23 -0
  197. package/dist/core/cleanupAttestation.js +57 -0
  198. package/dist/core/cleanupAttestation.js.map +1 -0
  199. package/dist/core/clock.d.ts +4 -0
  200. package/dist/core/clock.js +14 -0
  201. package/dist/core/clock.js.map +1 -0
  202. package/dist/core/compiler.d.ts +19 -0
  203. package/dist/core/compiler.js +200 -0
  204. package/dist/core/compiler.js.map +1 -0
  205. package/dist/core/controller.d.ts +7 -0
  206. package/dist/core/controller.js +132 -0
  207. package/dist/core/controller.js.map +1 -0
  208. package/dist/core/coordination.d.ts +72 -0
  209. package/dist/core/coordination.js +118 -0
  210. package/dist/core/coordination.js.map +1 -0
  211. package/dist/core/corpus.d.ts +60 -0
  212. package/dist/core/corpus.js +216 -0
  213. package/dist/core/corpus.js.map +1 -0
  214. package/dist/core/deadline.d.ts +12 -0
  215. package/dist/core/deadline.js +38 -0
  216. package/dist/core/deadline.js.map +1 -0
  217. package/dist/core/deliveryJournal.d.ts +37 -0
  218. package/dist/core/deliveryJournal.js +85 -0
  219. package/dist/core/deliveryJournal.js.map +1 -0
  220. package/dist/core/environmentPreflight.d.ts +14 -0
  221. package/dist/core/environmentPreflight.js +179 -0
  222. package/dist/core/environmentPreflight.js.map +1 -0
  223. package/dist/core/errors.d.ts +22 -0
  224. package/dist/core/errors.js +29 -0
  225. package/dist/core/errors.js.map +1 -0
  226. package/dist/core/events.d.ts +14 -0
  227. package/dist/core/events.js +37 -0
  228. package/dist/core/events.js.map +1 -0
  229. package/dist/core/executionInspection.d.ts +90 -0
  230. package/dist/core/executionInspection.js +31 -0
  231. package/dist/core/executionInspection.js.map +1 -0
  232. package/dist/core/executionOwnership.d.ts +72 -0
  233. package/dist/core/executionOwnership.js +82 -0
  234. package/dist/core/executionOwnership.js.map +1 -0
  235. package/dist/core/executionPreparation.d.ts +362 -0
  236. package/dist/core/executionPreparation.js +93 -0
  237. package/dist/core/executionPreparation.js.map +1 -0
  238. package/dist/core/executionReadback.d.ts +15 -0
  239. package/dist/core/executionReadback.js +21 -0
  240. package/dist/core/executionReadback.js.map +1 -0
  241. package/dist/core/executor.d.ts +46 -0
  242. package/dist/core/executor.js +616 -0
  243. package/dist/core/executor.js.map +1 -0
  244. package/dist/core/frozenBundle.d.ts +314 -0
  245. package/dist/core/frozenBundle.js +24 -0
  246. package/dist/core/frozenBundle.js.map +1 -0
  247. package/dist/core/fsDurability.d.ts +2 -0
  248. package/dist/core/fsDurability.js +12 -0
  249. package/dist/core/fsDurability.js.map +1 -0
  250. package/dist/core/generators.d.ts +4 -0
  251. package/dist/core/generators.js +71 -0
  252. package/dist/core/generators.js.map +1 -0
  253. package/dist/core/gitSnapshot.d.ts +63 -0
  254. package/dist/core/gitSnapshot.js +55 -0
  255. package/dist/core/gitSnapshot.js.map +1 -0
  256. package/dist/core/gitSources.d.ts +29 -0
  257. package/dist/core/gitSources.js +97 -0
  258. package/dist/core/gitSources.js.map +1 -0
  259. package/dist/core/ledger.d.ts +38 -0
  260. package/dist/core/ledger.js +169 -0
  261. package/dist/core/ledger.js.map +1 -0
  262. package/dist/core/ledgerInspection.d.ts +18 -0
  263. package/dist/core/ledgerInspection.js +66 -0
  264. package/dist/core/ledgerInspection.js.map +1 -0
  265. package/dist/core/ledgerRecords.d.ts +23 -0
  266. package/dist/core/ledgerRecords.js +29 -0
  267. package/dist/core/ledgerRecords.js.map +1 -0
  268. package/dist/core/localActivationState.d.ts +260 -0
  269. package/dist/core/localActivationState.js +49 -0
  270. package/dist/core/localActivationState.js.map +1 -0
  271. package/dist/core/localPromotionState.d.ts +387 -0
  272. package/dist/core/localPromotionState.js +22 -0
  273. package/dist/core/localPromotionState.js.map +1 -0
  274. package/dist/core/localQualificationResults.d.ts +39 -0
  275. package/dist/core/localQualificationResults.js +160 -0
  276. package/dist/core/localQualificationResults.js.map +1 -0
  277. package/dist/core/localReviewStore.d.ts +28 -0
  278. package/dist/core/localReviewStore.js +167 -0
  279. package/dist/core/localReviewStore.js.map +1 -0
  280. package/dist/core/localScenarioActivation.d.ts +6 -0
  281. package/dist/core/localScenarioActivation.js +70 -0
  282. package/dist/core/localScenarioActivation.js.map +1 -0
  283. package/dist/core/localScenarioOwner.d.ts +20 -0
  284. package/dist/core/localScenarioOwner.js +2 -0
  285. package/dist/core/localScenarioOwner.js.map +1 -0
  286. package/dist/core/localScenarioPromotion.d.ts +9 -0
  287. package/dist/core/localScenarioPromotion.js +49 -0
  288. package/dist/core/localScenarioPromotion.js.map +1 -0
  289. package/dist/core/localScenarioState.d.ts +2297 -0
  290. package/dist/core/localScenarioState.js +117 -0
  291. package/dist/core/localScenarioState.js.map +1 -0
  292. package/dist/core/localScenarioStore.d.ts +838 -0
  293. package/dist/core/localScenarioStore.js +218 -0
  294. package/dist/core/localScenarioStore.js.map +1 -0
  295. package/dist/core/localScenarioStructure.d.ts +4 -0
  296. package/dist/core/localScenarioStructure.js +52 -0
  297. package/dist/core/localScenarioStructure.js.map +1 -0
  298. package/dist/core/localStructureState.d.ts +2 -0
  299. package/dist/core/localStructureState.js +22 -0
  300. package/dist/core/localStructureState.js.map +1 -0
  301. package/dist/core/lookup.d.ts +662 -0
  302. package/dist/core/lookup.js +55 -0
  303. package/dist/core/lookup.js.map +1 -0
  304. package/dist/core/ownership.d.ts +3 -0
  305. package/dist/core/ownership.js +24 -0
  306. package/dist/core/ownership.js.map +1 -0
  307. package/dist/core/planInspection.d.ts +108 -0
  308. package/dist/core/planInspection.js +44 -0
  309. package/dist/core/planInspection.js.map +1 -0
  310. package/dist/core/planner.d.ts +14 -0
  311. package/dist/core/planner.js +261 -0
  312. package/dist/core/planner.js.map +1 -0
  313. package/dist/core/qualification.d.ts +26 -0
  314. package/dist/core/qualification.js +58 -0
  315. package/dist/core/qualification.js.map +1 -0
  316. package/dist/core/qualificationBundle.d.ts +6 -0
  317. package/dist/core/qualificationBundle.js +51 -0
  318. package/dist/core/qualificationBundle.js.map +1 -0
  319. package/dist/core/qualificationExecution.d.ts +879 -0
  320. package/dist/core/qualificationExecution.js +54 -0
  321. package/dist/core/qualificationExecution.js.map +1 -0
  322. package/dist/core/recoveryStatus.d.ts +6 -0
  323. package/dist/core/recoveryStatus.js +123 -0
  324. package/dist/core/recoveryStatus.js.map +1 -0
  325. package/dist/core/reducer.d.ts +56 -0
  326. package/dist/core/reducer.js +355 -0
  327. package/dist/core/reducer.js.map +1 -0
  328. package/dist/core/replayAssessment.d.ts +15 -0
  329. package/dist/core/replayAssessment.js +78 -0
  330. package/dist/core/replayAssessment.js.map +1 -0
  331. package/dist/core/replayEvidence.d.ts +7 -0
  332. package/dist/core/replayEvidence.js +58 -0
  333. package/dist/core/replayEvidence.js.map +1 -0
  334. package/dist/core/repositorySelectionEvidence.d.ts +3 -0
  335. package/dist/core/repositorySelectionEvidence.js +58 -0
  336. package/dist/core/repositorySelectionEvidence.js.map +1 -0
  337. package/dist/core/rerun.d.ts +3 -0
  338. package/dist/core/rerun.js +24 -0
  339. package/dist/core/rerun.js.map +1 -0
  340. package/dist/core/resultSink.d.ts +52 -0
  341. package/dist/core/resultSink.js +120 -0
  342. package/dist/core/resultSink.js.map +1 -0
  343. package/dist/core/review.d.ts +22 -0
  344. package/dist/core/review.js +65 -0
  345. package/dist/core/review.js.map +1 -0
  346. package/dist/core/runnerCapabilities.d.ts +22 -0
  347. package/dist/core/runnerCapabilities.js +44 -0
  348. package/dist/core/runnerCapabilities.js.map +1 -0
  349. package/dist/core/scenario.d.ts +32 -0
  350. package/dist/core/scenario.js +119 -0
  351. package/dist/core/scenario.js.map +1 -0
  352. package/dist/core/scenarioActivation.d.ts +16 -0
  353. package/dist/core/scenarioActivation.js +47 -0
  354. package/dist/core/scenarioActivation.js.map +1 -0
  355. package/dist/core/scenarioStructure.d.ts +400 -0
  356. package/dist/core/scenarioStructure.js +72 -0
  357. package/dist/core/scenarioStructure.js.map +1 -0
  358. package/dist/core/snapshotEvidence.d.ts +3 -0
  359. package/dist/core/snapshotEvidence.js +37 -0
  360. package/dist/core/snapshotEvidence.js.map +1 -0
  361. package/dist/core/snapshotRepository.d.ts +48 -0
  362. package/dist/core/snapshotRepository.js +47 -0
  363. package/dist/core/snapshotRepository.js.map +1 -0
  364. package/dist/core/source-analysis.d.ts +18 -0
  365. package/dist/core/source-analysis.js +99 -0
  366. package/dist/core/source-analysis.js.map +1 -0
  367. package/dist/core/source-citation.d.ts +53 -0
  368. package/dist/core/source-citation.js +59 -0
  369. package/dist/core/source-citation.js.map +1 -0
  370. package/dist/core/sourcePromotion.d.ts +929 -0
  371. package/dist/core/sourcePromotion.js +92 -0
  372. package/dist/core/sourcePromotion.js.map +1 -0
  373. package/dist/core/sourceReviewEvidence.d.ts +271 -0
  374. package/dist/core/sourceReviewEvidence.js +24 -0
  375. package/dist/core/sourceReviewEvidence.js.map +1 -0
  376. package/dist/core/targetObservation.d.ts +3 -0
  377. package/dist/core/targetObservation.js +26 -0
  378. package/dist/core/targetObservation.js.map +1 -0
  379. package/dist/hosts/launchTemplates.d.ts +2 -0
  380. package/dist/hosts/launchTemplates.js +5 -0
  381. package/dist/hosts/launchTemplates.js.map +1 -0
  382. package/dist/hosts/local.d.ts +17 -0
  383. package/dist/hosts/local.js +311 -0
  384. package/dist/hosts/local.js.map +1 -0
  385. package/dist/hosts/localSupervisor.d.ts +1 -0
  386. package/dist/hosts/localSupervisor.js +115 -0
  387. package/dist/hosts/localSupervisor.js.map +1 -0
  388. package/dist/hosts/mock.d.ts +4 -0
  389. package/dist/hosts/mock.js +82 -0
  390. package/dist/hosts/mock.js.map +1 -0
  391. package/dist/hosts/pinnedArguments.d.ts +3 -0
  392. package/dist/hosts/pinnedArguments.js +39 -0
  393. package/dist/hosts/pinnedArguments.js.map +1 -0
  394. package/dist/hosts/runtime.d.ts +5 -0
  395. package/dist/hosts/runtime.js +60 -0
  396. package/dist/hosts/runtime.js.map +1 -0
  397. package/dist/hosts/sourceIdentity.d.ts +54 -0
  398. package/dist/hosts/sourceIdentity.js +27 -0
  399. package/dist/hosts/sourceIdentity.js.map +1 -0
  400. package/dist/hosts/types.d.ts +39 -0
  401. package/dist/hosts/types.js +2 -0
  402. package/dist/hosts/types.js.map +1 -0
  403. package/dist/index.d.ts +56 -0
  404. package/dist/index.js +52 -0
  405. package/dist/index.js.map +1 -0
  406. package/dist/integrations/awr/attachment.d.ts +34 -0
  407. package/dist/integrations/awr/attachment.js +120 -0
  408. package/dist/integrations/awr/attachment.js.map +1 -0
  409. package/dist/integrations/awr/attachmentContracts.d.ts +273 -0
  410. package/dist/integrations/awr/attachmentContracts.js +39 -0
  411. package/dist/integrations/awr/attachmentContracts.js.map +1 -0
  412. package/dist/integrations/awr/attachmentHttp.d.ts +9 -0
  413. package/dist/integrations/awr/attachmentHttp.js +19 -0
  414. package/dist/integrations/awr/attachmentHttp.js.map +1 -0
  415. package/dist/integrations/awr/cli.d.ts +7 -0
  416. package/dist/integrations/awr/cli.js +43 -0
  417. package/dist/integrations/awr/cli.js.map +1 -0
  418. package/dist/integrations/awr/contracts.d.ts +54 -0
  419. package/dist/integrations/awr/contracts.js +33 -0
  420. package/dist/integrations/awr/contracts.js.map +1 -0
  421. package/dist/integrations/awr/http.d.ts +8 -0
  422. package/dist/integrations/awr/http.js +23 -0
  423. package/dist/integrations/awr/http.js.map +1 -0
  424. package/dist/integrations/awr/index.d.ts +7 -0
  425. package/dist/integrations/awr/index.js +8 -0
  426. package/dist/integrations/awr/index.js.map +1 -0
  427. package/dist/integrations/awr/jsonHttp.d.ts +15 -0
  428. package/dist/integrations/awr/jsonHttp.js +69 -0
  429. package/dist/integrations/awr/jsonHttp.js.map +1 -0
  430. package/dist/integrations/awr/outbox.d.ts +28 -0
  431. package/dist/integrations/awr/outbox.js +88 -0
  432. package/dist/integrations/awr/outbox.js.map +1 -0
  433. package/dist/integrations/awr/projection.d.ts +4 -0
  434. package/dist/integrations/awr/projection.js +54 -0
  435. package/dist/integrations/awr/projection.js.map +1 -0
  436. package/dist/protocol/canonical.d.ts +41 -0
  437. package/dist/protocol/canonical.js +114 -0
  438. package/dist/protocol/canonical.js.map +1 -0
  439. package/dist/protocol/index.d.ts +9620 -0
  440. package/dist/protocol/index.js +185 -0
  441. package/dist/protocol/index.js.map +1 -0
  442. package/dist/protocol/primitives.d.ts +63 -0
  443. package/dist/protocol/primitives.js +46 -0
  444. package/dist/protocol/primitives.js.map +1 -0
  445. package/dist/protocol/schemas/browser.d.ts +153 -0
  446. package/dist/protocol/schemas/browser.js +29 -0
  447. package/dist/protocol/schemas/browser.js.map +1 -0
  448. package/dist/protocol/schemas/capability.d.ts +2126 -0
  449. package/dist/protocol/schemas/capability.js +165 -0
  450. package/dist/protocol/schemas/capability.js.map +1 -0
  451. package/dist/protocol/schemas/capabilityLifecycle.d.ts +509 -0
  452. package/dist/protocol/schemas/capabilityLifecycle.js +47 -0
  453. package/dist/protocol/schemas/capabilityLifecycle.js.map +1 -0
  454. package/dist/protocol/schemas/cleanup.d.ts +109 -0
  455. package/dist/protocol/schemas/cleanup.js +59 -0
  456. package/dist/protocol/schemas/cleanup.js.map +1 -0
  457. package/dist/protocol/schemas/cli.d.ts +121 -0
  458. package/dist/protocol/schemas/cli.js +24 -0
  459. package/dist/protocol/schemas/cli.js.map +1 -0
  460. package/dist/protocol/schemas/config.d.ts +59 -0
  461. package/dist/protocol/schemas/config.js +32 -0
  462. package/dist/protocol/schemas/config.js.map +1 -0
  463. package/dist/protocol/schemas/corpus.d.ts +36 -0
  464. package/dist/protocol/schemas/corpus.js +10 -0
  465. package/dist/protocol/schemas/corpus.js.map +1 -0
  466. package/dist/protocol/schemas/definitions.d.ts +3409 -0
  467. package/dist/protocol/schemas/definitions.js +431 -0
  468. package/dist/protocol/schemas/definitions.js.map +1 -0
  469. package/dist/protocol/schemas/evidenceProjection.d.ts +146 -0
  470. package/dist/protocol/schemas/evidenceProjection.js +18 -0
  471. package/dist/protocol/schemas/evidenceProjection.js.map +1 -0
  472. package/dist/protocol/schemas/execution.d.ts +3179 -0
  473. package/dist/protocol/schemas/execution.js +500 -0
  474. package/dist/protocol/schemas/execution.js.map +1 -0
  475. package/dist/protocol/schemas/gitSources.d.ts +330 -0
  476. package/dist/protocol/schemas/gitSources.js +32 -0
  477. package/dist/protocol/schemas/gitSources.js.map +1 -0
  478. package/dist/protocol/schemas/mcp.d.ts +24 -0
  479. package/dist/protocol/schemas/mcp.js +16 -0
  480. package/dist/protocol/schemas/mcp.js.map +1 -0
  481. package/dist/protocol/schemas/nativeJob.d.ts +106 -0
  482. package/dist/protocol/schemas/nativeJob.js +16 -0
  483. package/dist/protocol/schemas/nativeJob.js.map +1 -0
  484. package/dist/protocol/schemas/portableEnvironment.d.ts +1256 -0
  485. package/dist/protocol/schemas/portableEnvironment.js +108 -0
  486. package/dist/protocol/schemas/portableEnvironment.js.map +1 -0
  487. package/dist/protocol/schemas/promotion.d.ts +132 -0
  488. package/dist/protocol/schemas/promotion.js +9 -0
  489. package/dist/protocol/schemas/promotion.js.map +1 -0
  490. package/dist/protocol/schemas/protocol.d.ts +146 -0
  491. package/dist/protocol/schemas/protocol.js +25 -0
  492. package/dist/protocol/schemas/protocol.js.map +1 -0
  493. package/dist/protocol/schemas/recoveryStatus.d.ts +88 -0
  494. package/dist/protocol/schemas/recoveryStatus.js +20 -0
  495. package/dist/protocol/schemas/recoveryStatus.js.map +1 -0
  496. package/dist/protocol/schemas/resultSink.d.ts +80 -0
  497. package/dist/protocol/schemas/resultSink.js +14 -0
  498. package/dist/protocol/schemas/resultSink.js.map +1 -0
  499. package/dist/protocol/schemas/review.d.ts +248 -0
  500. package/dist/protocol/schemas/review.js +45 -0
  501. package/dist/protocol/schemas/review.js.map +1 -0
  502. package/dist/protocol/schemas/scenario.d.ts +810 -0
  503. package/dist/protocol/schemas/scenario.js +53 -0
  504. package/dist/protocol/schemas/scenario.js.map +1 -0
  505. package/dist/protocol/schemas/source.d.ts +300 -0
  506. package/dist/protocol/schemas/source.js +25 -0
  507. package/dist/protocol/schemas/source.js.map +1 -0
  508. package/dist/source/git.d.ts +36 -0
  509. package/dist/source/git.js +159 -0
  510. package/dist/source/git.js.map +1 -0
  511. package/dist/source/gitObjectProof.d.ts +12 -0
  512. package/dist/source/gitObjectProof.js +115 -0
  513. package/dist/source/gitObjectProof.js.map +1 -0
  514. package/dist/source/snapshotPaths.d.ts +2 -0
  515. package/dist/source/snapshotPaths.js +24 -0
  516. package/dist/source/snapshotPaths.js.map +1 -0
  517. package/dist/source/snapshotTree.d.ts +15 -0
  518. package/dist/source/snapshotTree.js +79 -0
  519. package/dist/source/snapshotTree.js.map +1 -0
  520. package/docs/architecture.md +126 -0
  521. package/docs/awr-delivery.md +102 -0
  522. package/docs/browser-driver.md +148 -0
  523. package/docs/cleanup-followups.md +74 -0
  524. package/docs/developer-ux.md +315 -0
  525. package/docs/examples/portable-environments/alongside_runner.json +199 -0
  526. package/docs/examples/portable-environments/external_staging.json +183 -0
  527. package/docs/git-object-proof.md +100 -0
  528. package/docs/git-source-resolution.md +133 -0
  529. package/docs/images/ui-run.png +0 -0
  530. package/docs/local-execution-recovery.md +55 -0
  531. package/docs/local-review-store.md +13 -0
  532. package/docs/local-scenario-store.md +91 -0
  533. package/docs/mcp-driver.md +87 -0
  534. package/docs/native-jobs.md +96 -0
  535. package/docs/portable-environments.md +155 -0
  536. package/docs/qualification-registration.md +58 -0
  537. package/docs/qualification-results.md +59 -0
  538. package/docs/replay-assessment.md +17 -0
  539. package/docs/result-sink.md +87 -0
  540. package/docs/scenario-activation.md +54 -0
  541. package/docs/scenario-structure.md +58 -0
  542. package/docs/source-promotion.md +104 -0
  543. package/docs/source-review.md +21 -0
  544. package/docs/verified-bundles.md +175 -0
  545. package/docs/work-report-attachment.md +127 -0
  546. package/package.json +45 -4
  547. package/samples/django-notes/manage.py +8 -0
  548. package/samples/django-notes/notes/__init__.py +0 -0
  549. package/samples/django-notes/notes/auth.py +14 -0
  550. package/samples/django-notes/notes/migrations/0001_initial.py +19 -0
  551. package/samples/django-notes/notes/migrations/__init__.py +0 -0
  552. package/samples/django-notes/notes/models.py +13 -0
  553. package/samples/django-notes/notes/views.py +33 -0
  554. package/samples/django-notes/notesite/__init__.py +0 -0
  555. package/samples/django-notes/notesite/settings.py +17 -0
  556. package/samples/django-notes/notesite/urls.py +9 -0
  557. package/samples/django-notes/requirements.txt +1 -0
  558. package/samples/django-notes/tracegrove/notes/crud.flow.yaml +27 -0
  559. package/samples/django-notes/tracegrove.config.yaml +7 -0
  560. package/samples/fastapi-notes/app/__init__.py +0 -0
  561. package/samples/fastapi-notes/app/main.py +69 -0
  562. package/samples/fastapi-notes/requirements.txt +2 -0
  563. package/samples/fastapi-notes/tracegrove/notes/crud.flow.yaml +27 -0
  564. package/samples/fastapi-notes/tracegrove.config.yaml +8 -0
  565. package/samples/notes-api/app/app.mjs +67 -0
  566. package/samples/notes-api/app/http.mjs +16 -0
  567. package/samples/notes-api/tracegrove/fixtures/existing-note.fixture.yaml +12 -0
  568. package/samples/notes-api/tracegrove/notes/create-read-delete.flow.yaml +35 -0
  569. package/samples/notes-api/tracegrove/notes/list.flow.yaml +25 -0
  570. package/samples/notes-api/tracegrove.config.yaml +15 -0
  571. package/samples/notes-api/verification/actions/notes.registry.yaml +6 -0
  572. package/samples/notes-api/verification/auth/host-issued-owner.yaml +6 -0
  573. package/samples/notes-api/verification/cases/notes.contract.yaml +51 -0
  574. package/samples/notes-api/verification/cases/notes.create.yaml +123 -0
  575. package/samples/notes-api/verification/cases/notes.suite.yaml +5 -0
  576. package/samples/notes-api/verification/components/notes-api-stub.profile.yaml +8 -0
  577. package/samples/notes-api/verification/components/notes-api.profile.yaml +15 -0
  578. package/samples/notes-api/verification/environments/local-notes.yaml +11 -0
  579. package/samples/notes-api/verification/environments/mock-notes.yaml +11 -0
  580. package/samples/notes-api/verification/fidelity/full-live-sandbox.yaml +7 -0
  581. package/samples/notes-api/verification/fidelity/mock-contract.yaml +6 -0
  582. package/samples/notes-api/verification/fixtures/existing-note.payload.yaml +15 -0
  583. package/samples/notes-api/verification/fixtures/existing-note.plan.yaml +9 -0
  584. package/samples/notes-api/verification/fixtures/existing-note.recipe.yaml +29 -0
  585. package/samples/notes-api/verification/hosts/local-process.yaml +27 -0
  586. package/samples/notes-api/verification/hosts/mock-loopback.yaml +14 -0
  587. package/samples/notes-api/verification/mocks/notes.responses.yaml +5 -0
  588. package/samples/notes-api/verification/personas/owner.yaml +16 -0
  589. package/samples/notes-api/verification/policies/no-authoring-inference.yaml +10 -0
  590. package/samples/notes-api/verification/runners/http.yaml +5 -0
  591. package/samples/notes-api/verification/surfaces/http-api.binding.yaml +11 -0
  592. package/samples/notes-api/verification/surfaces/http-api.pack.yaml +7 -0
  593. package/samples/notes-api/verification/workflow.yaml +27 -0
  594. package/samples/notes-browser/tracegrove/notes/browser.flow.yaml +19 -0
  595. package/samples/notes-browser/verification/cases/notes.browser.yaml +63 -0
  596. package/samples/notes-browser/verification/cases/notes.suite.yaml +4 -0
  597. package/samples/notes-browser/verification/runners/http.yaml +5 -0
  598. package/samples/notes-browser/verification/surfaces/http-api.binding.yaml +11 -0
  599. package/samples/notes-browser/verification/surfaces/http-api.pack.yaml +7 -0
  600. package/samples/notes-django/README.md +21 -0
  601. package/samples/notes-django/app/django_app.py +119 -0
  602. package/samples/notes-django/app/requirements.lock +4 -0
  603. package/samples/notes-mcp/app/mcp.mjs +47 -0
  604. package/samples/notes-mcp/tracegrove/notes.flow.yaml +20 -0
  605. package/samples/notes-mcp/tracegrove.config.yaml +13 -0
  606. package/samples/report-jobs/README.md +30 -0
  607. package/samples/report-jobs/app/jobs-api.mjs +65 -0
  608. package/samples/report-jobs/app/native-bridge.mjs +30 -0
  609. package/samples/report-jobs/app/store.mjs +74 -0
  610. package/samples/report-jobs/app/worker.mjs +22 -0
  611. package/samples/report-jobs/tracegrove/fixtures/failed-job.fixture.yaml +12 -0
  612. package/samples/report-jobs/tracegrove/fixtures/held-job.fixture.yaml +12 -0
  613. package/samples/report-jobs/tracegrove/fixtures/success-job.fixture.yaml +12 -0
  614. package/samples/report-jobs/tracegrove/reports/cancellation.flow.yaml +15 -0
  615. package/samples/report-jobs/tracegrove/reports/completion.flow.yaml +31 -0
  616. package/samples/report-jobs/tracegrove/reports/failure.flow.yaml +12 -0
  617. package/samples/report-jobs/tracegrove.config.yaml +10 -0
  618. package/samples/report-native/README.md +11 -0
  619. package/samples/report-native/tracegrove/cancellation.flow.yaml +11 -0
  620. package/samples/report-native/tracegrove/completion.flow.yaml +22 -0
  621. package/samples/report-native/tracegrove/failure.flow.yaml +7 -0
  622. package/samples/report-native/tracegrove.config.yaml +11 -0
  623. package/schema/tracegrove_cli-error_v1.json +156 -0
  624. package/schema/tracegrove_config_v1.json +233 -0
  625. package/schema/tracegrove_fixture_v1.json +297 -0
  626. package/schema/tracegrove_flow_v1.json +960 -0
  627. package/schema/tracegrove_recovery-status_v1.json +234 -0
  628. package/schema/tracegrove_run-video_v1.json +25 -0
  629. package/schema/workflow_action-registry_v1.json +303 -0
  630. package/schema/workflow_auth-recipe_v1.json +146 -0
  631. package/schema/workflow_boundary-observation_v1.json +515 -0
  632. package/schema/workflow_browser-command_v1.json +292 -0
  633. package/schema/workflow_browser-locator_v1.json +74 -0
  634. package/schema/workflow_browser-network-observation_v1.json +48 -0
  635. package/schema/workflow_browser-observation_v1.json +53 -0
  636. package/schema/workflow_budget-reservation_v1.json +150 -0
  637. package/schema/workflow_campaign-result_v1.json +382 -0
  638. package/schema/workflow_capability-artifact-manifest_v1.json +529 -0
  639. package/schema/workflow_capability-descriptor_v1.json +351 -0
  640. package/schema/workflow_capability-lifecycle-checkpoint_v1.json +510 -0
  641. package/schema/workflow_capability-observation_v1.json +1707 -0
  642. package/schema/workflow_capability-operation_v1.json +3212 -0
  643. package/schema/workflow_capability-replay-plan_v1.json +1247 -0
  644. package/schema/workflow_capability-retry-policy_v1.json +39 -0
  645. package/schema/workflow_capability-retry-state_v1.json +242 -0
  646. package/schema/workflow_case_v1.json +4222 -0
  647. package/schema/workflow_change-model_v1.json +614 -0
  648. package/schema/workflow_cleanup-expectation_v1.json +108 -0
  649. package/schema/workflow_cleanup-followup_v1.json +145 -0
  650. package/schema/workflow_component-profile_v1.json +219 -0
  651. package/schema/workflow_config_v1.json +180 -0
  652. package/schema/workflow_corpus_v1.json +172 -0
  653. package/schema/workflow_cost-observation_v1.json +366 -0
  654. package/schema/workflow_credential-lease_v1.json +222 -0
  655. package/schema/workflow_effective-config_v1.json +214 -0
  656. package/schema/workflow_environment-plan_v1.json +445 -0
  657. package/schema/workflow_environment_v1.json +1827 -0
  658. package/schema/workflow_evidence-projection_v1.json +636 -0
  659. package/schema/workflow_execution_v1.json +4086 -0
  660. package/schema/workflow_fidelity-plan_v1.json +512 -0
  661. package/schema/workflow_fidelity-profile_v1.json +396 -0
  662. package/schema/workflow_fixture-manifest_v1.json +918 -0
  663. package/schema/workflow_fixture-plan_v1.json +594 -0
  664. package/schema/workflow_git-source-request_v1.json +124 -0
  665. package/schema/workflow_git-source-resolution_v1.json +660 -0
  666. package/schema/workflow_git-source-snapshot_v1.json +287 -0
  667. package/schema/workflow_host-lease_v1.json +321 -0
  668. package/schema/workflow_host-observation_v1.json +282 -0
  669. package/schema/workflow_host-plan_v1.json +719 -0
  670. package/schema/workflow_identity-attestation_v1.json +412 -0
  671. package/schema/workflow_intelligence-policy_v1.json +153 -0
  672. package/schema/workflow_logical-payload_v1.json +206 -0
  673. package/schema/workflow_mcp-tool-call_v1.json +70 -0
  674. package/schema/workflow_mcp-tool-observation_v1.json +125 -0
  675. package/schema/workflow_mock-responses_v1.json +185 -0
  676. package/schema/workflow_native-job-action_v1.json +123 -0
  677. package/schema/workflow_native-job-observation_v1.json +138 -0
  678. package/schema/workflow_native-job-ready_v1.json +31 -0
  679. package/schema/workflow_native-job-request_v1.json +155 -0
  680. package/schema/workflow_native-job-response_v1.json +125 -0
  681. package/schema/workflow_ownership_v1.json +116 -0
  682. package/schema/workflow_persona_v1.json +499 -0
  683. package/schema/workflow_plan-edit-projection_v1.json +152 -0
  684. package/schema/workflow_plan-review_v1.json +246 -0
  685. package/schema/workflow_portable-environment-intent_v1.json +499 -0
  686. package/schema/workflow_portable-environment-profile_v1.json +1429 -0
  687. package/schema/workflow_portable-preflight_v1.json +2281 -0
  688. package/schema/workflow_qualification-admission_v1.json +467 -0
  689. package/schema/workflow_qualification-intent_v1.json +98 -0
  690. package/schema/workflow_qualification-policy_v1.json +109 -0
  691. package/schema/workflow_qualification-round_v1.json +226 -0
  692. package/schema/workflow_replay-assessment_v1.json +197 -0
  693. package/schema/workflow_replay-finding_v1.json +147 -0
  694. package/schema/workflow_request_v1.json +1567 -0
  695. package/schema/workflow_result-ingest_v1.json +343 -0
  696. package/schema/workflow_revisions_v1.json +334 -0
  697. package/schema/workflow_routing-decision_v1.json +482 -0
  698. package/schema/workflow_runner-capabilities_v1.json +316 -0
  699. package/schema/workflow_runner-profile_v1.json +119 -0
  700. package/schema/workflow_runner-protocol_v1_host.json +382 -0
  701. package/schema/workflow_runner-protocol_v1_plugin.json +491 -0
  702. package/schema/workflow_scenario-activation-intent_v1.json +346 -0
  703. package/schema/workflow_scenario-activation_v1.json +562 -0
  704. package/schema/workflow_scenario-projection_v1.json +221 -0
  705. package/schema/workflow_scenario-promotion_v1.json +455 -0
  706. package/schema/workflow_scenario-replay-assessment_v1.json +696 -0
  707. package/schema/workflow_scenario-revision-token_v1.json +115 -0
  708. package/schema/workflow_scenario-structure_v1.json +368 -0
  709. package/schema/workflow_scenario_v1.json +401 -0
  710. package/schema/workflow_scoped-resource_v1.json +550 -0
  711. package/schema/workflow_seed-recipe_v1.json +724 -0
  712. package/schema/workflow_selection_v1.json +1108 -0
  713. package/schema/workflow_signed-cleanup-followup_v1.json +175 -0
  714. package/schema/workflow_source-plan_v1.json +756 -0
  715. package/schema/workflow_source-selection_v1.json +456 -0
  716. package/schema/workflow_source-validation_v1.json +366 -0
  717. package/schema/workflow_step-event_v1.json +228 -0
  718. package/schema/workflow_stream-transcript_v1.json +1030 -0
  719. package/schema/workflow_suite_v1.json +64 -0
  720. package/schema/workflow_surface-binding_v1.json +411 -0
  721. package/schema/workflow_surface-pack_v1.json +159 -0
@@ -0,0 +1,4222 @@
1
+ {
2
+ "$defs": {
3
+ "__schema0": {
4
+ "oneOf": [
5
+ {
6
+ "additionalProperties": false,
7
+ "properties": {
8
+ "kind": {
9
+ "const": "status_equals",
10
+ "type": "string"
11
+ },
12
+ "value": {
13
+ "maximum": 599,
14
+ "minimum": 100,
15
+ "type": "integer"
16
+ }
17
+ },
18
+ "required": [
19
+ "kind",
20
+ "value"
21
+ ],
22
+ "type": "object"
23
+ },
24
+ {
25
+ "additionalProperties": false,
26
+ "properties": {
27
+ "kind": {
28
+ "const": "json_path_equals",
29
+ "type": "string"
30
+ },
31
+ "path": {
32
+ "maxLength": 400,
33
+ "minLength": 1,
34
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\[[0-9]+\\])?(\\.[A-Za-z_][A-Za-z0-9_]*(\\[[0-9]+\\])?)*$",
35
+ "type": "string"
36
+ },
37
+ "value": {
38
+ "$ref": "#/$defs/__schema1"
39
+ }
40
+ },
41
+ "required": [
42
+ "kind",
43
+ "path",
44
+ "value"
45
+ ],
46
+ "type": "object"
47
+ },
48
+ {
49
+ "additionalProperties": false,
50
+ "properties": {
51
+ "kind": {
52
+ "const": "json_path_present",
53
+ "type": "string"
54
+ },
55
+ "path": {
56
+ "maxLength": 400,
57
+ "minLength": 1,
58
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\[[0-9]+\\])?(\\.[A-Za-z_][A-Za-z0-9_]*(\\[[0-9]+\\])?)*$",
59
+ "type": "string"
60
+ }
61
+ },
62
+ "required": [
63
+ "kind",
64
+ "path"
65
+ ],
66
+ "type": "object"
67
+ },
68
+ {
69
+ "additionalProperties": false,
70
+ "properties": {
71
+ "kind": {
72
+ "const": "json_path_absent",
73
+ "type": "string"
74
+ },
75
+ "path": {
76
+ "maxLength": 400,
77
+ "minLength": 1,
78
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\[[0-9]+\\])?(\\.[A-Za-z_][A-Za-z0-9_]*(\\[[0-9]+\\])?)*$",
79
+ "type": "string"
80
+ }
81
+ },
82
+ "required": [
83
+ "kind",
84
+ "path"
85
+ ],
86
+ "type": "object"
87
+ },
88
+ {
89
+ "additionalProperties": false,
90
+ "properties": {
91
+ "count": {
92
+ "maximum": 2147483647,
93
+ "minimum": 0,
94
+ "type": "integer"
95
+ },
96
+ "kind": {
97
+ "const": "json_path_count",
98
+ "type": "string"
99
+ },
100
+ "path": {
101
+ "maxLength": 400,
102
+ "minLength": 1,
103
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\[[0-9]+\\])?(\\.[A-Za-z_][A-Za-z0-9_]*(\\[[0-9]+\\])?)*$",
104
+ "type": "string"
105
+ }
106
+ },
107
+ "required": [
108
+ "kind",
109
+ "path",
110
+ "count"
111
+ ],
112
+ "type": "object"
113
+ },
114
+ {
115
+ "additionalProperties": false,
116
+ "properties": {
117
+ "kind": {
118
+ "const": "step_result",
119
+ "type": "string"
120
+ },
121
+ "value": {
122
+ "enum": [
123
+ "completed",
124
+ "failed",
125
+ "not_run",
126
+ "cancelled"
127
+ ],
128
+ "type": "string"
129
+ }
130
+ },
131
+ "required": [
132
+ "kind",
133
+ "value"
134
+ ],
135
+ "type": "object"
136
+ },
137
+ {
138
+ "additionalProperties": false,
139
+ "properties": {
140
+ "kind": {
141
+ "const": "all",
142
+ "type": "string"
143
+ },
144
+ "predicates": {
145
+ "items": {
146
+ "$ref": "#/$defs/__schema0"
147
+ },
148
+ "maxItems": 32,
149
+ "minItems": 1,
150
+ "type": "array"
151
+ }
152
+ },
153
+ "required": [
154
+ "kind",
155
+ "predicates"
156
+ ],
157
+ "type": "object"
158
+ }
159
+ ]
160
+ },
161
+ "__schema1": {
162
+ "anyOf": [
163
+ {
164
+ "maxLength": 64000,
165
+ "type": "string"
166
+ },
167
+ {
168
+ "type": "number"
169
+ },
170
+ {
171
+ "type": "boolean"
172
+ },
173
+ {
174
+ "type": "null"
175
+ },
176
+ {
177
+ "items": {
178
+ "$ref": "#/$defs/__schema1"
179
+ },
180
+ "maxItems": 5000,
181
+ "type": "array"
182
+ },
183
+ {
184
+ "additionalProperties": {
185
+ "$ref": "#/$defs/__schema1"
186
+ },
187
+ "propertyNames": {
188
+ "maxLength": 200,
189
+ "type": "string"
190
+ },
191
+ "type": "object"
192
+ }
193
+ ]
194
+ }
195
+ },
196
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
197
+ "additionalProperties": false,
198
+ "properties": {
199
+ "assertions": {
200
+ "items": {
201
+ "additionalProperties": false,
202
+ "properties": {
203
+ "coverageTags": {
204
+ "items": {
205
+ "maxLength": 200,
206
+ "minLength": 1,
207
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
208
+ "type": "string"
209
+ },
210
+ "maxItems": 32,
211
+ "type": "array"
212
+ },
213
+ "environmentClasses": {
214
+ "items": {
215
+ "enum": [
216
+ "isolated_candidate",
217
+ "deployed_preview",
218
+ "deployed_canary",
219
+ "production_observation"
220
+ ],
221
+ "type": "string"
222
+ },
223
+ "maxItems": 4,
224
+ "minItems": 1,
225
+ "type": "array"
226
+ },
227
+ "id": {
228
+ "maxLength": 200,
229
+ "minLength": 1,
230
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
231
+ "type": "string"
232
+ },
233
+ "oracle": {
234
+ "additionalProperties": false,
235
+ "properties": {
236
+ "name": {
237
+ "enum": [
238
+ "http.observation",
239
+ "browser.observation",
240
+ "job.observation",
241
+ "mcp.observation",
242
+ "step.result"
243
+ ],
244
+ "type": "string"
245
+ },
246
+ "version": {
247
+ "const": "1",
248
+ "type": "string"
249
+ }
250
+ },
251
+ "required": [
252
+ "name",
253
+ "version"
254
+ ],
255
+ "type": "object"
256
+ },
257
+ "predicate": {
258
+ "$ref": "#/$defs/__schema0"
259
+ },
260
+ "required": {
261
+ "type": "boolean"
262
+ },
263
+ "stepId": {
264
+ "maxLength": 200,
265
+ "minLength": 1,
266
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
267
+ "type": "string"
268
+ }
269
+ },
270
+ "required": [
271
+ "id",
272
+ "required",
273
+ "environmentClasses",
274
+ "oracle",
275
+ "stepId",
276
+ "predicate",
277
+ "coverageTags"
278
+ ],
279
+ "type": "object"
280
+ },
281
+ "maxItems": 500,
282
+ "minItems": 1,
283
+ "type": "array"
284
+ },
285
+ "baselineRef": {
286
+ "anyOf": [
287
+ {
288
+ "additionalProperties": false,
289
+ "properties": {
290
+ "digest": {
291
+ "additionalProperties": false,
292
+ "properties": {
293
+ "algorithm": {
294
+ "const": "sha256",
295
+ "type": "string"
296
+ },
297
+ "hex": {
298
+ "pattern": "^[0-9a-f]{64}$",
299
+ "type": "string"
300
+ }
301
+ },
302
+ "required": [
303
+ "algorithm",
304
+ "hex"
305
+ ],
306
+ "type": "object"
307
+ },
308
+ "id": {
309
+ "maxLength": 200,
310
+ "minLength": 1,
311
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
312
+ "type": "string"
313
+ },
314
+ "revision": {
315
+ "maxLength": 64,
316
+ "minLength": 1,
317
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$",
318
+ "type": "string"
319
+ }
320
+ },
321
+ "required": [
322
+ "id",
323
+ "revision",
324
+ "digest"
325
+ ],
326
+ "type": "object"
327
+ },
328
+ {
329
+ "type": "null"
330
+ }
331
+ ]
332
+ },
333
+ "capture": {
334
+ "additionalProperties": false,
335
+ "properties": {
336
+ "networkMetadata": {
337
+ "const": true,
338
+ "type": "boolean"
339
+ },
340
+ "redactionPolicyRef": {
341
+ "anyOf": [
342
+ {
343
+ "additionalProperties": false,
344
+ "properties": {
345
+ "digest": {
346
+ "additionalProperties": false,
347
+ "properties": {
348
+ "algorithm": {
349
+ "const": "sha256",
350
+ "type": "string"
351
+ },
352
+ "hex": {
353
+ "pattern": "^[0-9a-f]{64}$",
354
+ "type": "string"
355
+ }
356
+ },
357
+ "required": [
358
+ "algorithm",
359
+ "hex"
360
+ ],
361
+ "type": "object"
362
+ },
363
+ "id": {
364
+ "maxLength": 200,
365
+ "minLength": 1,
366
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
367
+ "type": "string"
368
+ },
369
+ "revision": {
370
+ "maxLength": 64,
371
+ "minLength": 1,
372
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$",
373
+ "type": "string"
374
+ }
375
+ },
376
+ "required": [
377
+ "id",
378
+ "revision",
379
+ "digest"
380
+ ],
381
+ "type": "object"
382
+ },
383
+ {
384
+ "type": "null"
385
+ }
386
+ ]
387
+ },
388
+ "retentionPolicyRef": {
389
+ "anyOf": [
390
+ {
391
+ "additionalProperties": false,
392
+ "properties": {
393
+ "digest": {
394
+ "additionalProperties": false,
395
+ "properties": {
396
+ "algorithm": {
397
+ "const": "sha256",
398
+ "type": "string"
399
+ },
400
+ "hex": {
401
+ "pattern": "^[0-9a-f]{64}$",
402
+ "type": "string"
403
+ }
404
+ },
405
+ "required": [
406
+ "algorithm",
407
+ "hex"
408
+ ],
409
+ "type": "object"
410
+ },
411
+ "id": {
412
+ "maxLength": 200,
413
+ "minLength": 1,
414
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
415
+ "type": "string"
416
+ },
417
+ "revision": {
418
+ "maxLength": 64,
419
+ "minLength": 1,
420
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$",
421
+ "type": "string"
422
+ }
423
+ },
424
+ "required": [
425
+ "id",
426
+ "revision",
427
+ "digest"
428
+ ],
429
+ "type": "object"
430
+ },
431
+ {
432
+ "type": "null"
433
+ }
434
+ ]
435
+ },
436
+ "stepEvents": {
437
+ "const": true,
438
+ "type": "boolean"
439
+ },
440
+ "trace": {
441
+ "enum": [
442
+ "required",
443
+ "failure",
444
+ "optional"
445
+ ],
446
+ "type": "string"
447
+ },
448
+ "video": {
449
+ "enum": [
450
+ "required",
451
+ "failure",
452
+ "optional"
453
+ ],
454
+ "type": "string"
455
+ }
456
+ },
457
+ "required": [
458
+ "stepEvents",
459
+ "networkMetadata",
460
+ "trace",
461
+ "video",
462
+ "redactionPolicyRef",
463
+ "retentionPolicyRef"
464
+ ],
465
+ "type": "object"
466
+ },
467
+ "datasetRef": {
468
+ "anyOf": [
469
+ {
470
+ "additionalProperties": false,
471
+ "properties": {
472
+ "digest": {
473
+ "additionalProperties": false,
474
+ "properties": {
475
+ "algorithm": {
476
+ "const": "sha256",
477
+ "type": "string"
478
+ },
479
+ "hex": {
480
+ "pattern": "^[0-9a-f]{64}$",
481
+ "type": "string"
482
+ }
483
+ },
484
+ "required": [
485
+ "algorithm",
486
+ "hex"
487
+ ],
488
+ "type": "object"
489
+ },
490
+ "id": {
491
+ "maxLength": 200,
492
+ "minLength": 1,
493
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
494
+ "type": "string"
495
+ },
496
+ "revision": {
497
+ "maxLength": 64,
498
+ "minLength": 1,
499
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$",
500
+ "type": "string"
501
+ }
502
+ },
503
+ "required": [
504
+ "id",
505
+ "revision",
506
+ "digest"
507
+ ],
508
+ "type": "object"
509
+ },
510
+ {
511
+ "type": "null"
512
+ }
513
+ ]
514
+ },
515
+ "dependencyCases": {
516
+ "items": {
517
+ "additionalProperties": false,
518
+ "properties": {
519
+ "digest": {
520
+ "additionalProperties": false,
521
+ "properties": {
522
+ "algorithm": {
523
+ "const": "sha256",
524
+ "type": "string"
525
+ },
526
+ "hex": {
527
+ "pattern": "^[0-9a-f]{64}$",
528
+ "type": "string"
529
+ }
530
+ },
531
+ "required": [
532
+ "algorithm",
533
+ "hex"
534
+ ],
535
+ "type": "object"
536
+ },
537
+ "id": {
538
+ "maxLength": 200,
539
+ "minLength": 1,
540
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
541
+ "type": "string"
542
+ },
543
+ "revision": {
544
+ "maxLength": 64,
545
+ "minLength": 1,
546
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$",
547
+ "type": "string"
548
+ }
549
+ },
550
+ "required": [
551
+ "id",
552
+ "revision",
553
+ "digest"
554
+ ],
555
+ "type": "object"
556
+ },
557
+ "maxItems": 500,
558
+ "type": "array"
559
+ },
560
+ "effects": {
561
+ "additionalProperties": false,
562
+ "properties": {
563
+ "allowedHosts": {
564
+ "items": {
565
+ "maxLength": 400,
566
+ "minLength": 1,
567
+ "type": "string"
568
+ },
569
+ "maxItems": 32,
570
+ "type": "array"
571
+ },
572
+ "allowedJobQueues": {
573
+ "items": {
574
+ "maxLength": 200,
575
+ "minLength": 1,
576
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
577
+ "type": "string"
578
+ },
579
+ "maxItems": 32,
580
+ "type": "array"
581
+ },
582
+ "allowedMcpTools": {
583
+ "items": {
584
+ "maxLength": 128,
585
+ "minLength": 1,
586
+ "pattern": "^[A-Za-z0-9_.-]+$",
587
+ "type": "string"
588
+ },
589
+ "maxItems": 64,
590
+ "type": "array"
591
+ },
592
+ "allowedMethods": {
593
+ "items": {
594
+ "enum": [
595
+ "GET",
596
+ "POST",
597
+ "PUT",
598
+ "PATCH",
599
+ "DELETE",
600
+ "HEAD"
601
+ ],
602
+ "type": "string"
603
+ },
604
+ "maxItems": 6,
605
+ "type": "array"
606
+ },
607
+ "allowedResourcePrefixes": {
608
+ "items": {
609
+ "maxLength": 400,
610
+ "type": "string"
611
+ },
612
+ "maxItems": 64,
613
+ "type": "array"
614
+ },
615
+ "cleanupRecipeRef": {
616
+ "anyOf": [
617
+ {
618
+ "additionalProperties": false,
619
+ "properties": {
620
+ "digest": {
621
+ "additionalProperties": false,
622
+ "properties": {
623
+ "algorithm": {
624
+ "const": "sha256",
625
+ "type": "string"
626
+ },
627
+ "hex": {
628
+ "pattern": "^[0-9a-f]{64}$",
629
+ "type": "string"
630
+ }
631
+ },
632
+ "required": [
633
+ "algorithm",
634
+ "hex"
635
+ ],
636
+ "type": "object"
637
+ },
638
+ "id": {
639
+ "maxLength": 200,
640
+ "minLength": 1,
641
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
642
+ "type": "string"
643
+ },
644
+ "revision": {
645
+ "maxLength": 64,
646
+ "minLength": 1,
647
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$",
648
+ "type": "string"
649
+ }
650
+ },
651
+ "required": [
652
+ "id",
653
+ "revision",
654
+ "digest"
655
+ ],
656
+ "type": "object"
657
+ },
658
+ {
659
+ "type": "null"
660
+ }
661
+ ]
662
+ },
663
+ "maxCreates": {
664
+ "maximum": 2147483647,
665
+ "minimum": 0,
666
+ "type": "integer"
667
+ },
668
+ "maxJobs": {
669
+ "maximum": 2147483647,
670
+ "minimum": 0,
671
+ "type": "integer"
672
+ },
673
+ "maxMcpCalls": {
674
+ "maximum": 2147483647,
675
+ "minimum": 0,
676
+ "type": "integer"
677
+ },
678
+ "maxMessages": {
679
+ "maximum": 2147483647,
680
+ "minimum": 0,
681
+ "type": "integer"
682
+ },
683
+ "mode": {
684
+ "enum": [
685
+ "read_only",
686
+ "designated_writes"
687
+ ],
688
+ "type": "string"
689
+ }
690
+ },
691
+ "required": [
692
+ "mode",
693
+ "allowedHosts",
694
+ "allowedMethods",
695
+ "allowedResourcePrefixes",
696
+ "maxCreates",
697
+ "maxMessages",
698
+ "maxJobs",
699
+ "cleanupRecipeRef"
700
+ ],
701
+ "type": "object"
702
+ },
703
+ "environmentClasses": {
704
+ "items": {
705
+ "enum": [
706
+ "isolated_candidate",
707
+ "deployed_preview",
708
+ "deployed_canary",
709
+ "production_observation"
710
+ ],
711
+ "type": "string"
712
+ },
713
+ "maxItems": 4,
714
+ "minItems": 1,
715
+ "type": "array"
716
+ },
717
+ "fixturePlanRef": {
718
+ "anyOf": [
719
+ {
720
+ "additionalProperties": false,
721
+ "properties": {
722
+ "digest": {
723
+ "additionalProperties": false,
724
+ "properties": {
725
+ "algorithm": {
726
+ "const": "sha256",
727
+ "type": "string"
728
+ },
729
+ "hex": {
730
+ "pattern": "^[0-9a-f]{64}$",
731
+ "type": "string"
732
+ }
733
+ },
734
+ "required": [
735
+ "algorithm",
736
+ "hex"
737
+ ],
738
+ "type": "object"
739
+ },
740
+ "id": {
741
+ "maxLength": 200,
742
+ "minLength": 1,
743
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
744
+ "type": "string"
745
+ },
746
+ "revision": {
747
+ "maxLength": 64,
748
+ "minLength": 1,
749
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$",
750
+ "type": "string"
751
+ }
752
+ },
753
+ "required": [
754
+ "id",
755
+ "revision",
756
+ "digest"
757
+ ],
758
+ "type": "object"
759
+ },
760
+ {
761
+ "type": "null"
762
+ }
763
+ ]
764
+ },
765
+ "generation": {
766
+ "anyOf": [
767
+ {
768
+ "additionalProperties": false,
769
+ "properties": {
770
+ "agent": {
771
+ "maxLength": 400,
772
+ "minLength": 1,
773
+ "type": "string"
774
+ },
775
+ "changeDigest": {
776
+ "additionalProperties": false,
777
+ "properties": {
778
+ "algorithm": {
779
+ "const": "sha256",
780
+ "type": "string"
781
+ },
782
+ "hex": {
783
+ "type": "string"
784
+ }
785
+ },
786
+ "required": [
787
+ "algorithm",
788
+ "hex"
789
+ ],
790
+ "type": "object"
791
+ },
792
+ "observedModel": {
793
+ "anyOf": [
794
+ {
795
+ "maxLength": 400,
796
+ "minLength": 1,
797
+ "type": "string"
798
+ },
799
+ {
800
+ "type": "null"
801
+ }
802
+ ]
803
+ },
804
+ "promptDigest": {
805
+ "additionalProperties": false,
806
+ "properties": {
807
+ "algorithm": {
808
+ "const": "sha256",
809
+ "type": "string"
810
+ },
811
+ "hex": {
812
+ "type": "string"
813
+ }
814
+ },
815
+ "required": [
816
+ "algorithm",
817
+ "hex"
818
+ ],
819
+ "type": "object"
820
+ },
821
+ "requestedModel": {
822
+ "maxLength": 400,
823
+ "minLength": 1,
824
+ "type": "string"
825
+ },
826
+ "sourceMapRefs": {
827
+ "items": {
828
+ "additionalProperties": false,
829
+ "properties": {
830
+ "digest": {
831
+ "additionalProperties": false,
832
+ "properties": {
833
+ "algorithm": {
834
+ "const": "sha256",
835
+ "type": "string"
836
+ },
837
+ "hex": {
838
+ "pattern": "^[0-9a-f]{64}$",
839
+ "type": "string"
840
+ }
841
+ },
842
+ "required": [
843
+ "algorithm",
844
+ "hex"
845
+ ],
846
+ "type": "object"
847
+ },
848
+ "id": {
849
+ "maxLength": 200,
850
+ "minLength": 1,
851
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
852
+ "type": "string"
853
+ },
854
+ "revision": {
855
+ "maxLength": 64,
856
+ "minLength": 1,
857
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$",
858
+ "type": "string"
859
+ }
860
+ },
861
+ "required": [
862
+ "id",
863
+ "revision",
864
+ "digest"
865
+ ],
866
+ "type": "object"
867
+ },
868
+ "maxItems": 500,
869
+ "type": "array"
870
+ }
871
+ },
872
+ "required": [
873
+ "agent",
874
+ "requestedModel",
875
+ "observedModel",
876
+ "promptDigest",
877
+ "changeDigest",
878
+ "sourceMapRefs"
879
+ ],
880
+ "type": "object"
881
+ },
882
+ {
883
+ "type": "null"
884
+ }
885
+ ]
886
+ },
887
+ "limits": {
888
+ "additionalProperties": false,
889
+ "properties": {
890
+ "concurrencyGroup": {
891
+ "maxLength": 200,
892
+ "minLength": 1,
893
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
894
+ "type": "string"
895
+ },
896
+ "costCeilingCents": {
897
+ "maximum": 1000000000,
898
+ "minimum": 0,
899
+ "type": "integer"
900
+ },
901
+ "deadlineMs": {
902
+ "maximum": 2592000000,
903
+ "minimum": 1,
904
+ "type": "integer"
905
+ },
906
+ "diagnosticRetries": {
907
+ "maximum": 3,
908
+ "minimum": 0,
909
+ "type": "integer"
910
+ },
911
+ "maxArtifactBytes": {
912
+ "maximum": 2147483647,
913
+ "minimum": 0,
914
+ "type": "integer"
915
+ },
916
+ "maxBrowserActions": {
917
+ "maximum": 2147483647,
918
+ "minimum": 0,
919
+ "type": "integer"
920
+ },
921
+ "maxProviderRequests": {
922
+ "maximum": 2147483647,
923
+ "minimum": 0,
924
+ "type": "integer"
925
+ },
926
+ "maxTokens": {
927
+ "maximum": 2147483647,
928
+ "minimum": 0,
929
+ "type": "integer"
930
+ }
931
+ },
932
+ "required": [
933
+ "deadlineMs",
934
+ "maxProviderRequests",
935
+ "maxTokens",
936
+ "costCeilingCents",
937
+ "maxBrowserActions",
938
+ "maxArtifactBytes",
939
+ "diagnosticRetries",
940
+ "concurrencyGroup"
941
+ ],
942
+ "type": "object"
943
+ },
944
+ "navigationRef": {
945
+ "anyOf": [
946
+ {
947
+ "additionalProperties": false,
948
+ "properties": {
949
+ "digest": {
950
+ "additionalProperties": false,
951
+ "properties": {
952
+ "algorithm": {
953
+ "const": "sha256",
954
+ "type": "string"
955
+ },
956
+ "hex": {
957
+ "pattern": "^[0-9a-f]{64}$",
958
+ "type": "string"
959
+ }
960
+ },
961
+ "required": [
962
+ "algorithm",
963
+ "hex"
964
+ ],
965
+ "type": "object"
966
+ },
967
+ "id": {
968
+ "maxLength": 200,
969
+ "minLength": 1,
970
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
971
+ "type": "string"
972
+ },
973
+ "revision": {
974
+ "maxLength": 64,
975
+ "minLength": 1,
976
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$",
977
+ "type": "string"
978
+ }
979
+ },
980
+ "required": [
981
+ "id",
982
+ "revision",
983
+ "digest"
984
+ ],
985
+ "type": "object"
986
+ },
987
+ {
988
+ "type": "null"
989
+ }
990
+ ]
991
+ },
992
+ "personaRef": {
993
+ "additionalProperties": false,
994
+ "properties": {
995
+ "digest": {
996
+ "additionalProperties": false,
997
+ "properties": {
998
+ "algorithm": {
999
+ "const": "sha256",
1000
+ "type": "string"
1001
+ },
1002
+ "hex": {
1003
+ "pattern": "^[0-9a-f]{64}$",
1004
+ "type": "string"
1005
+ }
1006
+ },
1007
+ "required": [
1008
+ "algorithm",
1009
+ "hex"
1010
+ ],
1011
+ "type": "object"
1012
+ },
1013
+ "id": {
1014
+ "maxLength": 200,
1015
+ "minLength": 1,
1016
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
1017
+ "type": "string"
1018
+ },
1019
+ "revision": {
1020
+ "maxLength": 64,
1021
+ "minLength": 1,
1022
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$",
1023
+ "type": "string"
1024
+ }
1025
+ },
1026
+ "required": [
1027
+ "id",
1028
+ "revision",
1029
+ "digest"
1030
+ ],
1031
+ "type": "object"
1032
+ },
1033
+ "preconditions": {
1034
+ "items": {
1035
+ "additionalProperties": false,
1036
+ "properties": {
1037
+ "coverageTags": {
1038
+ "items": {
1039
+ "maxLength": 200,
1040
+ "minLength": 1,
1041
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
1042
+ "type": "string"
1043
+ },
1044
+ "maxItems": 32,
1045
+ "type": "array"
1046
+ },
1047
+ "environmentClasses": {
1048
+ "items": {
1049
+ "enum": [
1050
+ "isolated_candidate",
1051
+ "deployed_preview",
1052
+ "deployed_canary",
1053
+ "production_observation"
1054
+ ],
1055
+ "type": "string"
1056
+ },
1057
+ "maxItems": 4,
1058
+ "minItems": 1,
1059
+ "type": "array"
1060
+ },
1061
+ "id": {
1062
+ "maxLength": 200,
1063
+ "minLength": 1,
1064
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
1065
+ "type": "string"
1066
+ },
1067
+ "oracle": {
1068
+ "additionalProperties": false,
1069
+ "properties": {
1070
+ "name": {
1071
+ "enum": [
1072
+ "http.observation",
1073
+ "browser.observation",
1074
+ "job.observation",
1075
+ "mcp.observation",
1076
+ "step.result"
1077
+ ],
1078
+ "type": "string"
1079
+ },
1080
+ "version": {
1081
+ "const": "1",
1082
+ "type": "string"
1083
+ }
1084
+ },
1085
+ "required": [
1086
+ "name",
1087
+ "version"
1088
+ ],
1089
+ "type": "object"
1090
+ },
1091
+ "predicate": {
1092
+ "$ref": "#/$defs/__schema0"
1093
+ },
1094
+ "required": {
1095
+ "type": "boolean"
1096
+ },
1097
+ "stepId": {
1098
+ "maxLength": 200,
1099
+ "minLength": 1,
1100
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
1101
+ "type": "string"
1102
+ }
1103
+ },
1104
+ "required": [
1105
+ "id",
1106
+ "required",
1107
+ "environmentClasses",
1108
+ "oracle",
1109
+ "stepId",
1110
+ "predicate",
1111
+ "coverageTags"
1112
+ ],
1113
+ "type": "object"
1114
+ },
1115
+ "maxItems": 64,
1116
+ "type": "array"
1117
+ },
1118
+ "proofClaim": {
1119
+ "maxLength": 4000,
1120
+ "type": "string"
1121
+ },
1122
+ "purpose": {
1123
+ "maxLength": 4000,
1124
+ "type": "string"
1125
+ },
1126
+ "ref": {
1127
+ "additionalProperties": false,
1128
+ "properties": {
1129
+ "digest": {
1130
+ "additionalProperties": false,
1131
+ "properties": {
1132
+ "algorithm": {
1133
+ "const": "sha256",
1134
+ "type": "string"
1135
+ },
1136
+ "hex": {
1137
+ "pattern": "^[0-9a-f]{64}$",
1138
+ "type": "string"
1139
+ }
1140
+ },
1141
+ "required": [
1142
+ "algorithm",
1143
+ "hex"
1144
+ ],
1145
+ "type": "object"
1146
+ },
1147
+ "id": {
1148
+ "maxLength": 200,
1149
+ "minLength": 1,
1150
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
1151
+ "type": "string"
1152
+ },
1153
+ "revision": {
1154
+ "maxLength": 64,
1155
+ "minLength": 1,
1156
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$",
1157
+ "type": "string"
1158
+ }
1159
+ },
1160
+ "required": [
1161
+ "id",
1162
+ "revision",
1163
+ "digest"
1164
+ ],
1165
+ "type": "object"
1166
+ },
1167
+ "requiredBoundaries": {
1168
+ "items": {
1169
+ "additionalProperties": false,
1170
+ "properties": {
1171
+ "boundaryId": {
1172
+ "maxLength": 200,
1173
+ "minLength": 1,
1174
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
1175
+ "type": "string"
1176
+ },
1177
+ "mode": {
1178
+ "enum": [
1179
+ "real",
1180
+ "stubbed",
1181
+ "recorded_replay",
1182
+ "synthetic_runtime"
1183
+ ],
1184
+ "type": "string"
1185
+ }
1186
+ },
1187
+ "required": [
1188
+ "boundaryId",
1189
+ "mode"
1190
+ ],
1191
+ "type": "object"
1192
+ },
1193
+ "maxItems": 32,
1194
+ "type": "array"
1195
+ },
1196
+ "requiredCapabilities": {
1197
+ "items": {
1198
+ "maxLength": 200,
1199
+ "minLength": 1,
1200
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
1201
+ "type": "string"
1202
+ },
1203
+ "maxItems": 64,
1204
+ "type": "array"
1205
+ },
1206
+ "requirementRefs": {
1207
+ "items": {
1208
+ "additionalProperties": false,
1209
+ "properties": {
1210
+ "digest": {
1211
+ "additionalProperties": false,
1212
+ "properties": {
1213
+ "algorithm": {
1214
+ "const": "sha256",
1215
+ "type": "string"
1216
+ },
1217
+ "hex": {
1218
+ "pattern": "^[0-9a-f]{64}$",
1219
+ "type": "string"
1220
+ }
1221
+ },
1222
+ "required": [
1223
+ "algorithm",
1224
+ "hex"
1225
+ ],
1226
+ "type": "object"
1227
+ },
1228
+ "id": {
1229
+ "maxLength": 200,
1230
+ "minLength": 1,
1231
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
1232
+ "type": "string"
1233
+ },
1234
+ "revision": {
1235
+ "maxLength": 64,
1236
+ "minLength": 1,
1237
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$",
1238
+ "type": "string"
1239
+ }
1240
+ },
1241
+ "required": [
1242
+ "id",
1243
+ "revision",
1244
+ "digest"
1245
+ ],
1246
+ "type": "object"
1247
+ },
1248
+ "maxItems": 500,
1249
+ "type": "array"
1250
+ },
1251
+ "risk": {
1252
+ "enum": [
1253
+ "critical",
1254
+ "standard",
1255
+ "exploratory"
1256
+ ],
1257
+ "type": "string"
1258
+ },
1259
+ "schemaVersion": {
1260
+ "const": "workflow.case/v1",
1261
+ "type": "string"
1262
+ },
1263
+ "scope": {
1264
+ "additionalProperties": false,
1265
+ "properties": {
1266
+ "ownerId": {
1267
+ "maxLength": 200,
1268
+ "minLength": 1,
1269
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
1270
+ "type": "string"
1271
+ },
1272
+ "tenantId": {
1273
+ "anyOf": [
1274
+ {
1275
+ "maxLength": 200,
1276
+ "minLength": 1,
1277
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
1278
+ "type": "string"
1279
+ },
1280
+ {
1281
+ "type": "null"
1282
+ }
1283
+ ]
1284
+ },
1285
+ "visibility": {
1286
+ "enum": [
1287
+ "public",
1288
+ "owner_private",
1289
+ "tenant_private"
1290
+ ],
1291
+ "type": "string"
1292
+ }
1293
+ },
1294
+ "required": [
1295
+ "ownerId",
1296
+ "tenantId",
1297
+ "visibility"
1298
+ ],
1299
+ "type": "object"
1300
+ },
1301
+ "sourceAnalysisRef": {
1302
+ "anyOf": [
1303
+ {
1304
+ "additionalProperties": false,
1305
+ "properties": {
1306
+ "digest": {
1307
+ "additionalProperties": false,
1308
+ "properties": {
1309
+ "algorithm": {
1310
+ "const": "sha256",
1311
+ "type": "string"
1312
+ },
1313
+ "hex": {
1314
+ "pattern": "^[0-9a-f]{64}$",
1315
+ "type": "string"
1316
+ }
1317
+ },
1318
+ "required": [
1319
+ "algorithm",
1320
+ "hex"
1321
+ ],
1322
+ "type": "object"
1323
+ },
1324
+ "id": {
1325
+ "maxLength": 200,
1326
+ "minLength": 1,
1327
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
1328
+ "type": "string"
1329
+ },
1330
+ "revision": {
1331
+ "maxLength": 64,
1332
+ "minLength": 1,
1333
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$",
1334
+ "type": "string"
1335
+ }
1336
+ },
1337
+ "required": [
1338
+ "id",
1339
+ "revision",
1340
+ "digest"
1341
+ ],
1342
+ "type": "object"
1343
+ },
1344
+ {
1345
+ "type": "null"
1346
+ }
1347
+ ]
1348
+ },
1349
+ "sourceRefs": {
1350
+ "items": {
1351
+ "additionalProperties": false,
1352
+ "properties": {
1353
+ "digest": {
1354
+ "additionalProperties": false,
1355
+ "properties": {
1356
+ "algorithm": {
1357
+ "const": "sha256",
1358
+ "type": "string"
1359
+ },
1360
+ "hex": {
1361
+ "pattern": "^[0-9a-f]{64}$",
1362
+ "type": "string"
1363
+ }
1364
+ },
1365
+ "required": [
1366
+ "algorithm",
1367
+ "hex"
1368
+ ],
1369
+ "type": "object"
1370
+ },
1371
+ "id": {
1372
+ "maxLength": 200,
1373
+ "minLength": 1,
1374
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
1375
+ "type": "string"
1376
+ },
1377
+ "revision": {
1378
+ "maxLength": 64,
1379
+ "minLength": 1,
1380
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$",
1381
+ "type": "string"
1382
+ }
1383
+ },
1384
+ "required": [
1385
+ "id",
1386
+ "revision",
1387
+ "digest"
1388
+ ],
1389
+ "type": "object"
1390
+ },
1391
+ "maxItems": 500,
1392
+ "type": "array"
1393
+ },
1394
+ "steps": {
1395
+ "items": {
1396
+ "oneOf": [
1397
+ {
1398
+ "additionalProperties": false,
1399
+ "properties": {
1400
+ "auth": {
1401
+ "oneOf": [
1402
+ {
1403
+ "additionalProperties": false,
1404
+ "properties": {
1405
+ "kind": {
1406
+ "const": "none",
1407
+ "type": "string"
1408
+ }
1409
+ },
1410
+ "required": [
1411
+ "kind"
1412
+ ],
1413
+ "type": "object"
1414
+ },
1415
+ {
1416
+ "additionalProperties": false,
1417
+ "properties": {
1418
+ "kind": {
1419
+ "const": "persona",
1420
+ "type": "string"
1421
+ }
1422
+ },
1423
+ "required": [
1424
+ "kind"
1425
+ ],
1426
+ "type": "object"
1427
+ },
1428
+ {
1429
+ "additionalProperties": false,
1430
+ "properties": {
1431
+ "kind": {
1432
+ "const": "credential",
1433
+ "type": "string"
1434
+ },
1435
+ "name": {
1436
+ "maxLength": 200,
1437
+ "minLength": 1,
1438
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
1439
+ "type": "string"
1440
+ }
1441
+ },
1442
+ "required": [
1443
+ "kind",
1444
+ "name"
1445
+ ],
1446
+ "type": "object"
1447
+ }
1448
+ ]
1449
+ },
1450
+ "body": {
1451
+ "anyOf": [
1452
+ {
1453
+ "$ref": "#/$defs/__schema1"
1454
+ },
1455
+ {
1456
+ "type": "null"
1457
+ }
1458
+ ]
1459
+ },
1460
+ "captures": {
1461
+ "items": {
1462
+ "additionalProperties": false,
1463
+ "properties": {
1464
+ "from": {
1465
+ "enum": [
1466
+ "status",
1467
+ "json",
1468
+ "header"
1469
+ ],
1470
+ "type": "string"
1471
+ },
1472
+ "name": {
1473
+ "maxLength": 200,
1474
+ "minLength": 1,
1475
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
1476
+ "type": "string"
1477
+ },
1478
+ "path": {
1479
+ "anyOf": [
1480
+ {
1481
+ "maxLength": 400,
1482
+ "type": "string"
1483
+ },
1484
+ {
1485
+ "type": "null"
1486
+ }
1487
+ ]
1488
+ }
1489
+ },
1490
+ "required": [
1491
+ "name",
1492
+ "from",
1493
+ "path"
1494
+ ],
1495
+ "type": "object"
1496
+ },
1497
+ "maxItems": 32,
1498
+ "type": "array"
1499
+ },
1500
+ "expectStatus": {
1501
+ "anyOf": [
1502
+ {
1503
+ "maximum": 599,
1504
+ "minimum": 100,
1505
+ "type": "integer"
1506
+ },
1507
+ {
1508
+ "type": "null"
1509
+ }
1510
+ ]
1511
+ },
1512
+ "headers": {
1513
+ "additionalProperties": {
1514
+ "maxLength": 4000,
1515
+ "type": "string"
1516
+ },
1517
+ "propertyNames": {
1518
+ "maxLength": 100,
1519
+ "type": "string"
1520
+ },
1521
+ "type": "object"
1522
+ },
1523
+ "id": {
1524
+ "maxLength": 200,
1525
+ "minLength": 1,
1526
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
1527
+ "type": "string"
1528
+ },
1529
+ "inputs": {
1530
+ "additionalProperties": {
1531
+ "oneOf": [
1532
+ {
1533
+ "additionalProperties": false,
1534
+ "properties": {
1535
+ "kind": {
1536
+ "const": "literal",
1537
+ "type": "string"
1538
+ },
1539
+ "value": {
1540
+ "$ref": "#/$defs/__schema1"
1541
+ }
1542
+ },
1543
+ "required": [
1544
+ "kind",
1545
+ "value"
1546
+ ],
1547
+ "type": "object"
1548
+ },
1549
+ {
1550
+ "additionalProperties": false,
1551
+ "properties": {
1552
+ "entityKey": {
1553
+ "maxLength": 200,
1554
+ "minLength": 1,
1555
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
1556
+ "type": "string"
1557
+ },
1558
+ "kind": {
1559
+ "const": "fixture",
1560
+ "type": "string"
1561
+ },
1562
+ "outputName": {
1563
+ "maxLength": 200,
1564
+ "minLength": 1,
1565
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
1566
+ "type": "string"
1567
+ }
1568
+ },
1569
+ "required": [
1570
+ "kind",
1571
+ "entityKey",
1572
+ "outputName"
1573
+ ],
1574
+ "type": "object"
1575
+ },
1576
+ {
1577
+ "additionalProperties": false,
1578
+ "properties": {
1579
+ "kind": {
1580
+ "const": "capture",
1581
+ "type": "string"
1582
+ },
1583
+ "name": {
1584
+ "maxLength": 200,
1585
+ "minLength": 1,
1586
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
1587
+ "type": "string"
1588
+ },
1589
+ "stepId": {
1590
+ "maxLength": 200,
1591
+ "minLength": 1,
1592
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
1593
+ "type": "string"
1594
+ }
1595
+ },
1596
+ "required": [
1597
+ "kind",
1598
+ "stepId",
1599
+ "name"
1600
+ ],
1601
+ "type": "object"
1602
+ },
1603
+ {
1604
+ "additionalProperties": false,
1605
+ "properties": {
1606
+ "kind": {
1607
+ "const": "credential",
1608
+ "type": "string"
1609
+ },
1610
+ "name": {
1611
+ "maxLength": 200,
1612
+ "minLength": 1,
1613
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
1614
+ "type": "string"
1615
+ }
1616
+ },
1617
+ "required": [
1618
+ "kind",
1619
+ "name"
1620
+ ],
1621
+ "type": "object"
1622
+ },
1623
+ {
1624
+ "additionalProperties": false,
1625
+ "properties": {
1626
+ "kind": {
1627
+ "const": "runtime",
1628
+ "type": "string"
1629
+ },
1630
+ "name": {
1631
+ "enum": [
1632
+ "execution_nonce",
1633
+ "lease_namespace",
1634
+ "target_origin"
1635
+ ],
1636
+ "type": "string"
1637
+ }
1638
+ },
1639
+ "required": [
1640
+ "kind",
1641
+ "name"
1642
+ ],
1643
+ "type": "object"
1644
+ }
1645
+ ]
1646
+ },
1647
+ "propertyNames": {
1648
+ "maxLength": 200,
1649
+ "minLength": 1,
1650
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
1651
+ "type": "string"
1652
+ },
1653
+ "type": "object"
1654
+ },
1655
+ "kind": {
1656
+ "const": "http.request",
1657
+ "type": "string"
1658
+ },
1659
+ "method": {
1660
+ "enum": [
1661
+ "GET",
1662
+ "POST",
1663
+ "PUT",
1664
+ "PATCH",
1665
+ "DELETE",
1666
+ "HEAD"
1667
+ ],
1668
+ "type": "string"
1669
+ },
1670
+ "path": {
1671
+ "maxLength": 2048,
1672
+ "minLength": 1,
1673
+ "pattern": "^\\/",
1674
+ "type": "string"
1675
+ },
1676
+ "retry": {
1677
+ "additionalProperties": false,
1678
+ "properties": {
1679
+ "attempts": {
1680
+ "maximum": 3,
1681
+ "minimum": 1,
1682
+ "type": "integer"
1683
+ }
1684
+ },
1685
+ "required": [
1686
+ "attempts"
1687
+ ],
1688
+ "type": "object"
1689
+ },
1690
+ "timeoutMs": {
1691
+ "maximum": 2592000000,
1692
+ "minimum": 1,
1693
+ "type": "integer"
1694
+ }
1695
+ },
1696
+ "required": [
1697
+ "id",
1698
+ "timeoutMs",
1699
+ "inputs",
1700
+ "retry",
1701
+ "kind",
1702
+ "method",
1703
+ "path",
1704
+ "headers",
1705
+ "body",
1706
+ "auth",
1707
+ "expectStatus",
1708
+ "captures"
1709
+ ],
1710
+ "type": "object"
1711
+ },
1712
+ {
1713
+ "additionalProperties": false,
1714
+ "properties": {
1715
+ "captures": {
1716
+ "items": {
1717
+ "additionalProperties": false,
1718
+ "properties": {
1719
+ "from": {
1720
+ "enum": [
1721
+ "status",
1722
+ "json",
1723
+ "header"
1724
+ ],
1725
+ "type": "string"
1726
+ },
1727
+ "name": {
1728
+ "maxLength": 200,
1729
+ "minLength": 1,
1730
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
1731
+ "type": "string"
1732
+ },
1733
+ "path": {
1734
+ "anyOf": [
1735
+ {
1736
+ "maxLength": 400,
1737
+ "type": "string"
1738
+ },
1739
+ {
1740
+ "type": "null"
1741
+ }
1742
+ ]
1743
+ }
1744
+ },
1745
+ "required": [
1746
+ "name",
1747
+ "from",
1748
+ "path"
1749
+ ],
1750
+ "type": "object"
1751
+ },
1752
+ "maxItems": 32,
1753
+ "type": "array"
1754
+ },
1755
+ "id": {
1756
+ "maxLength": 200,
1757
+ "minLength": 1,
1758
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
1759
+ "type": "string"
1760
+ },
1761
+ "inputs": {
1762
+ "additionalProperties": {
1763
+ "oneOf": [
1764
+ {
1765
+ "additionalProperties": false,
1766
+ "properties": {
1767
+ "kind": {
1768
+ "const": "literal",
1769
+ "type": "string"
1770
+ },
1771
+ "value": {
1772
+ "$ref": "#/$defs/__schema1"
1773
+ }
1774
+ },
1775
+ "required": [
1776
+ "kind",
1777
+ "value"
1778
+ ],
1779
+ "type": "object"
1780
+ },
1781
+ {
1782
+ "additionalProperties": false,
1783
+ "properties": {
1784
+ "entityKey": {
1785
+ "maxLength": 200,
1786
+ "minLength": 1,
1787
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
1788
+ "type": "string"
1789
+ },
1790
+ "kind": {
1791
+ "const": "fixture",
1792
+ "type": "string"
1793
+ },
1794
+ "outputName": {
1795
+ "maxLength": 200,
1796
+ "minLength": 1,
1797
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
1798
+ "type": "string"
1799
+ }
1800
+ },
1801
+ "required": [
1802
+ "kind",
1803
+ "entityKey",
1804
+ "outputName"
1805
+ ],
1806
+ "type": "object"
1807
+ },
1808
+ {
1809
+ "additionalProperties": false,
1810
+ "properties": {
1811
+ "kind": {
1812
+ "const": "capture",
1813
+ "type": "string"
1814
+ },
1815
+ "name": {
1816
+ "maxLength": 200,
1817
+ "minLength": 1,
1818
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
1819
+ "type": "string"
1820
+ },
1821
+ "stepId": {
1822
+ "maxLength": 200,
1823
+ "minLength": 1,
1824
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
1825
+ "type": "string"
1826
+ }
1827
+ },
1828
+ "required": [
1829
+ "kind",
1830
+ "stepId",
1831
+ "name"
1832
+ ],
1833
+ "type": "object"
1834
+ },
1835
+ {
1836
+ "additionalProperties": false,
1837
+ "properties": {
1838
+ "kind": {
1839
+ "const": "credential",
1840
+ "type": "string"
1841
+ },
1842
+ "name": {
1843
+ "maxLength": 200,
1844
+ "minLength": 1,
1845
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
1846
+ "type": "string"
1847
+ }
1848
+ },
1849
+ "required": [
1850
+ "kind",
1851
+ "name"
1852
+ ],
1853
+ "type": "object"
1854
+ },
1855
+ {
1856
+ "additionalProperties": false,
1857
+ "properties": {
1858
+ "kind": {
1859
+ "const": "runtime",
1860
+ "type": "string"
1861
+ },
1862
+ "name": {
1863
+ "enum": [
1864
+ "execution_nonce",
1865
+ "lease_namespace",
1866
+ "target_origin"
1867
+ ],
1868
+ "type": "string"
1869
+ }
1870
+ },
1871
+ "required": [
1872
+ "kind",
1873
+ "name"
1874
+ ],
1875
+ "type": "object"
1876
+ }
1877
+ ]
1878
+ },
1879
+ "propertyNames": {
1880
+ "maxLength": 200,
1881
+ "minLength": 1,
1882
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
1883
+ "type": "string"
1884
+ },
1885
+ "type": "object"
1886
+ },
1887
+ "kind": {
1888
+ "const": "observe",
1889
+ "type": "string"
1890
+ },
1891
+ "pollIntervalMs": {
1892
+ "maximum": 2592000000,
1893
+ "minimum": 1,
1894
+ "type": "integer"
1895
+ },
1896
+ "predicate": {
1897
+ "$ref": "#/$defs/__schema0"
1898
+ },
1899
+ "readback": {
1900
+ "additionalProperties": false,
1901
+ "properties": {
1902
+ "auth": {
1903
+ "oneOf": [
1904
+ {
1905
+ "additionalProperties": false,
1906
+ "properties": {
1907
+ "kind": {
1908
+ "const": "none",
1909
+ "type": "string"
1910
+ }
1911
+ },
1912
+ "required": [
1913
+ "kind"
1914
+ ],
1915
+ "type": "object"
1916
+ },
1917
+ {
1918
+ "additionalProperties": false,
1919
+ "properties": {
1920
+ "kind": {
1921
+ "const": "persona",
1922
+ "type": "string"
1923
+ }
1924
+ },
1925
+ "required": [
1926
+ "kind"
1927
+ ],
1928
+ "type": "object"
1929
+ },
1930
+ {
1931
+ "additionalProperties": false,
1932
+ "properties": {
1933
+ "kind": {
1934
+ "const": "credential",
1935
+ "type": "string"
1936
+ },
1937
+ "name": {
1938
+ "maxLength": 200,
1939
+ "minLength": 1,
1940
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
1941
+ "type": "string"
1942
+ }
1943
+ },
1944
+ "required": [
1945
+ "kind",
1946
+ "name"
1947
+ ],
1948
+ "type": "object"
1949
+ }
1950
+ ]
1951
+ },
1952
+ "kind": {
1953
+ "const": "http",
1954
+ "type": "string"
1955
+ },
1956
+ "method": {
1957
+ "enum": [
1958
+ "GET",
1959
+ "HEAD"
1960
+ ],
1961
+ "type": "string"
1962
+ },
1963
+ "path": {
1964
+ "maxLength": 2048,
1965
+ "minLength": 1,
1966
+ "pattern": "^\\/",
1967
+ "type": "string"
1968
+ }
1969
+ },
1970
+ "required": [
1971
+ "kind",
1972
+ "method",
1973
+ "path",
1974
+ "auth"
1975
+ ],
1976
+ "type": "object"
1977
+ },
1978
+ "retry": {
1979
+ "additionalProperties": false,
1980
+ "properties": {
1981
+ "attempts": {
1982
+ "maximum": 3,
1983
+ "minimum": 1,
1984
+ "type": "integer"
1985
+ }
1986
+ },
1987
+ "required": [
1988
+ "attempts"
1989
+ ],
1990
+ "type": "object"
1991
+ },
1992
+ "timeoutMs": {
1993
+ "maximum": 2592000000,
1994
+ "minimum": 1,
1995
+ "type": "integer"
1996
+ }
1997
+ },
1998
+ "required": [
1999
+ "id",
2000
+ "timeoutMs",
2001
+ "inputs",
2002
+ "retry",
2003
+ "kind",
2004
+ "readback",
2005
+ "predicate",
2006
+ "pollIntervalMs",
2007
+ "captures"
2008
+ ],
2009
+ "type": "object"
2010
+ },
2011
+ {
2012
+ "additionalProperties": false,
2013
+ "properties": {
2014
+ "id": {
2015
+ "maxLength": 200,
2016
+ "minLength": 1,
2017
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2018
+ "type": "string"
2019
+ },
2020
+ "inputs": {
2021
+ "additionalProperties": {
2022
+ "oneOf": [
2023
+ {
2024
+ "additionalProperties": false,
2025
+ "properties": {
2026
+ "kind": {
2027
+ "const": "literal",
2028
+ "type": "string"
2029
+ },
2030
+ "value": {
2031
+ "$ref": "#/$defs/__schema1"
2032
+ }
2033
+ },
2034
+ "required": [
2035
+ "kind",
2036
+ "value"
2037
+ ],
2038
+ "type": "object"
2039
+ },
2040
+ {
2041
+ "additionalProperties": false,
2042
+ "properties": {
2043
+ "entityKey": {
2044
+ "maxLength": 200,
2045
+ "minLength": 1,
2046
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2047
+ "type": "string"
2048
+ },
2049
+ "kind": {
2050
+ "const": "fixture",
2051
+ "type": "string"
2052
+ },
2053
+ "outputName": {
2054
+ "maxLength": 200,
2055
+ "minLength": 1,
2056
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2057
+ "type": "string"
2058
+ }
2059
+ },
2060
+ "required": [
2061
+ "kind",
2062
+ "entityKey",
2063
+ "outputName"
2064
+ ],
2065
+ "type": "object"
2066
+ },
2067
+ {
2068
+ "additionalProperties": false,
2069
+ "properties": {
2070
+ "kind": {
2071
+ "const": "capture",
2072
+ "type": "string"
2073
+ },
2074
+ "name": {
2075
+ "maxLength": 200,
2076
+ "minLength": 1,
2077
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2078
+ "type": "string"
2079
+ },
2080
+ "stepId": {
2081
+ "maxLength": 200,
2082
+ "minLength": 1,
2083
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2084
+ "type": "string"
2085
+ }
2086
+ },
2087
+ "required": [
2088
+ "kind",
2089
+ "stepId",
2090
+ "name"
2091
+ ],
2092
+ "type": "object"
2093
+ },
2094
+ {
2095
+ "additionalProperties": false,
2096
+ "properties": {
2097
+ "kind": {
2098
+ "const": "credential",
2099
+ "type": "string"
2100
+ },
2101
+ "name": {
2102
+ "maxLength": 200,
2103
+ "minLength": 1,
2104
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2105
+ "type": "string"
2106
+ }
2107
+ },
2108
+ "required": [
2109
+ "kind",
2110
+ "name"
2111
+ ],
2112
+ "type": "object"
2113
+ },
2114
+ {
2115
+ "additionalProperties": false,
2116
+ "properties": {
2117
+ "kind": {
2118
+ "const": "runtime",
2119
+ "type": "string"
2120
+ },
2121
+ "name": {
2122
+ "enum": [
2123
+ "execution_nonce",
2124
+ "lease_namespace",
2125
+ "target_origin"
2126
+ ],
2127
+ "type": "string"
2128
+ }
2129
+ },
2130
+ "required": [
2131
+ "kind",
2132
+ "name"
2133
+ ],
2134
+ "type": "object"
2135
+ }
2136
+ ]
2137
+ },
2138
+ "propertyNames": {
2139
+ "maxLength": 200,
2140
+ "minLength": 1,
2141
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2142
+ "type": "string"
2143
+ },
2144
+ "type": "object"
2145
+ },
2146
+ "kind": {
2147
+ "const": "ui.navigate",
2148
+ "type": "string"
2149
+ },
2150
+ "path": {
2151
+ "maxLength": 2048,
2152
+ "minLength": 1,
2153
+ "pattern": "^\\/",
2154
+ "type": "string"
2155
+ },
2156
+ "retry": {
2157
+ "additionalProperties": false,
2158
+ "properties": {
2159
+ "attempts": {
2160
+ "maximum": 3,
2161
+ "minimum": 1,
2162
+ "type": "integer"
2163
+ }
2164
+ },
2165
+ "required": [
2166
+ "attempts"
2167
+ ],
2168
+ "type": "object"
2169
+ },
2170
+ "timeoutMs": {
2171
+ "maximum": 2592000000,
2172
+ "minimum": 1,
2173
+ "type": "integer"
2174
+ }
2175
+ },
2176
+ "required": [
2177
+ "id",
2178
+ "timeoutMs",
2179
+ "inputs",
2180
+ "retry",
2181
+ "kind",
2182
+ "path"
2183
+ ],
2184
+ "type": "object"
2185
+ },
2186
+ {
2187
+ "additionalProperties": false,
2188
+ "properties": {
2189
+ "command": {
2190
+ "oneOf": [
2191
+ {
2192
+ "additionalProperties": false,
2193
+ "properties": {
2194
+ "kind": {
2195
+ "const": "click",
2196
+ "type": "string"
2197
+ },
2198
+ "target": {
2199
+ "oneOf": [
2200
+ {
2201
+ "additionalProperties": false,
2202
+ "properties": {
2203
+ "by": {
2204
+ "const": "role",
2205
+ "type": "string"
2206
+ },
2207
+ "name": {
2208
+ "maxLength": 512,
2209
+ "minLength": 1,
2210
+ "type": "string"
2211
+ },
2212
+ "role": {
2213
+ "enum": [
2214
+ "button",
2215
+ "link",
2216
+ "textbox",
2217
+ "checkbox",
2218
+ "heading",
2219
+ "status"
2220
+ ],
2221
+ "type": "string"
2222
+ }
2223
+ },
2224
+ "required": [
2225
+ "by",
2226
+ "role",
2227
+ "name"
2228
+ ],
2229
+ "type": "object"
2230
+ },
2231
+ {
2232
+ "additionalProperties": false,
2233
+ "properties": {
2234
+ "by": {
2235
+ "const": "label",
2236
+ "type": "string"
2237
+ },
2238
+ "name": {
2239
+ "maxLength": 512,
2240
+ "minLength": 1,
2241
+ "type": "string"
2242
+ }
2243
+ },
2244
+ "required": [
2245
+ "by",
2246
+ "name"
2247
+ ],
2248
+ "type": "object"
2249
+ },
2250
+ {
2251
+ "additionalProperties": false,
2252
+ "properties": {
2253
+ "by": {
2254
+ "const": "testId",
2255
+ "type": "string"
2256
+ },
2257
+ "name": {
2258
+ "maxLength": 512,
2259
+ "minLength": 1,
2260
+ "type": "string"
2261
+ }
2262
+ },
2263
+ "required": [
2264
+ "by",
2265
+ "name"
2266
+ ],
2267
+ "type": "object"
2268
+ }
2269
+ ]
2270
+ }
2271
+ },
2272
+ "required": [
2273
+ "kind",
2274
+ "target"
2275
+ ],
2276
+ "type": "object"
2277
+ },
2278
+ {
2279
+ "additionalProperties": false,
2280
+ "properties": {
2281
+ "kind": {
2282
+ "const": "fill",
2283
+ "type": "string"
2284
+ },
2285
+ "target": {
2286
+ "oneOf": [
2287
+ {
2288
+ "additionalProperties": false,
2289
+ "properties": {
2290
+ "by": {
2291
+ "const": "role",
2292
+ "type": "string"
2293
+ },
2294
+ "name": {
2295
+ "maxLength": 512,
2296
+ "minLength": 1,
2297
+ "type": "string"
2298
+ },
2299
+ "role": {
2300
+ "enum": [
2301
+ "button",
2302
+ "link",
2303
+ "textbox",
2304
+ "checkbox",
2305
+ "heading",
2306
+ "status"
2307
+ ],
2308
+ "type": "string"
2309
+ }
2310
+ },
2311
+ "required": [
2312
+ "by",
2313
+ "role",
2314
+ "name"
2315
+ ],
2316
+ "type": "object"
2317
+ },
2318
+ {
2319
+ "additionalProperties": false,
2320
+ "properties": {
2321
+ "by": {
2322
+ "const": "label",
2323
+ "type": "string"
2324
+ },
2325
+ "name": {
2326
+ "maxLength": 512,
2327
+ "minLength": 1,
2328
+ "type": "string"
2329
+ }
2330
+ },
2331
+ "required": [
2332
+ "by",
2333
+ "name"
2334
+ ],
2335
+ "type": "object"
2336
+ },
2337
+ {
2338
+ "additionalProperties": false,
2339
+ "properties": {
2340
+ "by": {
2341
+ "const": "testId",
2342
+ "type": "string"
2343
+ },
2344
+ "name": {
2345
+ "maxLength": 512,
2346
+ "minLength": 1,
2347
+ "type": "string"
2348
+ }
2349
+ },
2350
+ "required": [
2351
+ "by",
2352
+ "name"
2353
+ ],
2354
+ "type": "object"
2355
+ }
2356
+ ]
2357
+ },
2358
+ "value": {
2359
+ "maxLength": 8192,
2360
+ "type": "string"
2361
+ }
2362
+ },
2363
+ "required": [
2364
+ "kind",
2365
+ "target",
2366
+ "value"
2367
+ ],
2368
+ "type": "object"
2369
+ }
2370
+ ]
2371
+ },
2372
+ "id": {
2373
+ "maxLength": 200,
2374
+ "minLength": 1,
2375
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2376
+ "type": "string"
2377
+ },
2378
+ "inputs": {
2379
+ "additionalProperties": {
2380
+ "oneOf": [
2381
+ {
2382
+ "additionalProperties": false,
2383
+ "properties": {
2384
+ "kind": {
2385
+ "const": "literal",
2386
+ "type": "string"
2387
+ },
2388
+ "value": {
2389
+ "$ref": "#/$defs/__schema1"
2390
+ }
2391
+ },
2392
+ "required": [
2393
+ "kind",
2394
+ "value"
2395
+ ],
2396
+ "type": "object"
2397
+ },
2398
+ {
2399
+ "additionalProperties": false,
2400
+ "properties": {
2401
+ "entityKey": {
2402
+ "maxLength": 200,
2403
+ "minLength": 1,
2404
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2405
+ "type": "string"
2406
+ },
2407
+ "kind": {
2408
+ "const": "fixture",
2409
+ "type": "string"
2410
+ },
2411
+ "outputName": {
2412
+ "maxLength": 200,
2413
+ "minLength": 1,
2414
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2415
+ "type": "string"
2416
+ }
2417
+ },
2418
+ "required": [
2419
+ "kind",
2420
+ "entityKey",
2421
+ "outputName"
2422
+ ],
2423
+ "type": "object"
2424
+ },
2425
+ {
2426
+ "additionalProperties": false,
2427
+ "properties": {
2428
+ "kind": {
2429
+ "const": "capture",
2430
+ "type": "string"
2431
+ },
2432
+ "name": {
2433
+ "maxLength": 200,
2434
+ "minLength": 1,
2435
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2436
+ "type": "string"
2437
+ },
2438
+ "stepId": {
2439
+ "maxLength": 200,
2440
+ "minLength": 1,
2441
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2442
+ "type": "string"
2443
+ }
2444
+ },
2445
+ "required": [
2446
+ "kind",
2447
+ "stepId",
2448
+ "name"
2449
+ ],
2450
+ "type": "object"
2451
+ },
2452
+ {
2453
+ "additionalProperties": false,
2454
+ "properties": {
2455
+ "kind": {
2456
+ "const": "credential",
2457
+ "type": "string"
2458
+ },
2459
+ "name": {
2460
+ "maxLength": 200,
2461
+ "minLength": 1,
2462
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2463
+ "type": "string"
2464
+ }
2465
+ },
2466
+ "required": [
2467
+ "kind",
2468
+ "name"
2469
+ ],
2470
+ "type": "object"
2471
+ },
2472
+ {
2473
+ "additionalProperties": false,
2474
+ "properties": {
2475
+ "kind": {
2476
+ "const": "runtime",
2477
+ "type": "string"
2478
+ },
2479
+ "name": {
2480
+ "enum": [
2481
+ "execution_nonce",
2482
+ "lease_namespace",
2483
+ "target_origin"
2484
+ ],
2485
+ "type": "string"
2486
+ }
2487
+ },
2488
+ "required": [
2489
+ "kind",
2490
+ "name"
2491
+ ],
2492
+ "type": "object"
2493
+ }
2494
+ ]
2495
+ },
2496
+ "propertyNames": {
2497
+ "maxLength": 200,
2498
+ "minLength": 1,
2499
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2500
+ "type": "string"
2501
+ },
2502
+ "type": "object"
2503
+ },
2504
+ "kind": {
2505
+ "const": "ui.action",
2506
+ "type": "string"
2507
+ },
2508
+ "retry": {
2509
+ "additionalProperties": false,
2510
+ "properties": {
2511
+ "attempts": {
2512
+ "maximum": 3,
2513
+ "minimum": 1,
2514
+ "type": "integer"
2515
+ }
2516
+ },
2517
+ "required": [
2518
+ "attempts"
2519
+ ],
2520
+ "type": "object"
2521
+ },
2522
+ "timeoutMs": {
2523
+ "maximum": 2592000000,
2524
+ "minimum": 1,
2525
+ "type": "integer"
2526
+ }
2527
+ },
2528
+ "required": [
2529
+ "id",
2530
+ "timeoutMs",
2531
+ "inputs",
2532
+ "retry",
2533
+ "kind",
2534
+ "command"
2535
+ ],
2536
+ "type": "object"
2537
+ },
2538
+ {
2539
+ "additionalProperties": false,
2540
+ "properties": {
2541
+ "id": {
2542
+ "maxLength": 200,
2543
+ "minLength": 1,
2544
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2545
+ "type": "string"
2546
+ },
2547
+ "inputs": {
2548
+ "additionalProperties": {
2549
+ "oneOf": [
2550
+ {
2551
+ "additionalProperties": false,
2552
+ "properties": {
2553
+ "kind": {
2554
+ "const": "literal",
2555
+ "type": "string"
2556
+ },
2557
+ "value": {
2558
+ "$ref": "#/$defs/__schema1"
2559
+ }
2560
+ },
2561
+ "required": [
2562
+ "kind",
2563
+ "value"
2564
+ ],
2565
+ "type": "object"
2566
+ },
2567
+ {
2568
+ "additionalProperties": false,
2569
+ "properties": {
2570
+ "entityKey": {
2571
+ "maxLength": 200,
2572
+ "minLength": 1,
2573
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2574
+ "type": "string"
2575
+ },
2576
+ "kind": {
2577
+ "const": "fixture",
2578
+ "type": "string"
2579
+ },
2580
+ "outputName": {
2581
+ "maxLength": 200,
2582
+ "minLength": 1,
2583
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2584
+ "type": "string"
2585
+ }
2586
+ },
2587
+ "required": [
2588
+ "kind",
2589
+ "entityKey",
2590
+ "outputName"
2591
+ ],
2592
+ "type": "object"
2593
+ },
2594
+ {
2595
+ "additionalProperties": false,
2596
+ "properties": {
2597
+ "kind": {
2598
+ "const": "capture",
2599
+ "type": "string"
2600
+ },
2601
+ "name": {
2602
+ "maxLength": 200,
2603
+ "minLength": 1,
2604
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2605
+ "type": "string"
2606
+ },
2607
+ "stepId": {
2608
+ "maxLength": 200,
2609
+ "minLength": 1,
2610
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2611
+ "type": "string"
2612
+ }
2613
+ },
2614
+ "required": [
2615
+ "kind",
2616
+ "stepId",
2617
+ "name"
2618
+ ],
2619
+ "type": "object"
2620
+ },
2621
+ {
2622
+ "additionalProperties": false,
2623
+ "properties": {
2624
+ "kind": {
2625
+ "const": "credential",
2626
+ "type": "string"
2627
+ },
2628
+ "name": {
2629
+ "maxLength": 200,
2630
+ "minLength": 1,
2631
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2632
+ "type": "string"
2633
+ }
2634
+ },
2635
+ "required": [
2636
+ "kind",
2637
+ "name"
2638
+ ],
2639
+ "type": "object"
2640
+ },
2641
+ {
2642
+ "additionalProperties": false,
2643
+ "properties": {
2644
+ "kind": {
2645
+ "const": "runtime",
2646
+ "type": "string"
2647
+ },
2648
+ "name": {
2649
+ "enum": [
2650
+ "execution_nonce",
2651
+ "lease_namespace",
2652
+ "target_origin"
2653
+ ],
2654
+ "type": "string"
2655
+ }
2656
+ },
2657
+ "required": [
2658
+ "kind",
2659
+ "name"
2660
+ ],
2661
+ "type": "object"
2662
+ }
2663
+ ]
2664
+ },
2665
+ "propertyNames": {
2666
+ "maxLength": 200,
2667
+ "minLength": 1,
2668
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2669
+ "type": "string"
2670
+ },
2671
+ "type": "object"
2672
+ },
2673
+ "kind": {
2674
+ "const": "ui.observe",
2675
+ "type": "string"
2676
+ },
2677
+ "pollIntervalMs": {
2678
+ "maximum": 2592000000,
2679
+ "minimum": 1,
2680
+ "type": "integer"
2681
+ },
2682
+ "predicate": {
2683
+ "$ref": "#/$defs/__schema0"
2684
+ },
2685
+ "retry": {
2686
+ "additionalProperties": false,
2687
+ "properties": {
2688
+ "attempts": {
2689
+ "maximum": 3,
2690
+ "minimum": 1,
2691
+ "type": "integer"
2692
+ }
2693
+ },
2694
+ "required": [
2695
+ "attempts"
2696
+ ],
2697
+ "type": "object"
2698
+ },
2699
+ "target": {
2700
+ "oneOf": [
2701
+ {
2702
+ "additionalProperties": false,
2703
+ "properties": {
2704
+ "by": {
2705
+ "const": "role",
2706
+ "type": "string"
2707
+ },
2708
+ "name": {
2709
+ "maxLength": 512,
2710
+ "minLength": 1,
2711
+ "type": "string"
2712
+ },
2713
+ "role": {
2714
+ "enum": [
2715
+ "button",
2716
+ "link",
2717
+ "textbox",
2718
+ "checkbox",
2719
+ "heading",
2720
+ "status"
2721
+ ],
2722
+ "type": "string"
2723
+ }
2724
+ },
2725
+ "required": [
2726
+ "by",
2727
+ "role",
2728
+ "name"
2729
+ ],
2730
+ "type": "object"
2731
+ },
2732
+ {
2733
+ "additionalProperties": false,
2734
+ "properties": {
2735
+ "by": {
2736
+ "const": "label",
2737
+ "type": "string"
2738
+ },
2739
+ "name": {
2740
+ "maxLength": 512,
2741
+ "minLength": 1,
2742
+ "type": "string"
2743
+ }
2744
+ },
2745
+ "required": [
2746
+ "by",
2747
+ "name"
2748
+ ],
2749
+ "type": "object"
2750
+ },
2751
+ {
2752
+ "additionalProperties": false,
2753
+ "properties": {
2754
+ "by": {
2755
+ "const": "testId",
2756
+ "type": "string"
2757
+ },
2758
+ "name": {
2759
+ "maxLength": 512,
2760
+ "minLength": 1,
2761
+ "type": "string"
2762
+ }
2763
+ },
2764
+ "required": [
2765
+ "by",
2766
+ "name"
2767
+ ],
2768
+ "type": "object"
2769
+ }
2770
+ ]
2771
+ },
2772
+ "timeoutMs": {
2773
+ "maximum": 2592000000,
2774
+ "minimum": 1,
2775
+ "type": "integer"
2776
+ }
2777
+ },
2778
+ "required": [
2779
+ "id",
2780
+ "timeoutMs",
2781
+ "inputs",
2782
+ "retry",
2783
+ "kind",
2784
+ "target",
2785
+ "predicate",
2786
+ "pollIntervalMs"
2787
+ ],
2788
+ "type": "object"
2789
+ },
2790
+ {
2791
+ "additionalProperties": false,
2792
+ "properties": {
2793
+ "auth": {
2794
+ "oneOf": [
2795
+ {
2796
+ "additionalProperties": false,
2797
+ "properties": {
2798
+ "kind": {
2799
+ "const": "none",
2800
+ "type": "string"
2801
+ }
2802
+ },
2803
+ "required": [
2804
+ "kind"
2805
+ ],
2806
+ "type": "object"
2807
+ },
2808
+ {
2809
+ "additionalProperties": false,
2810
+ "properties": {
2811
+ "kind": {
2812
+ "const": "persona",
2813
+ "type": "string"
2814
+ }
2815
+ },
2816
+ "required": [
2817
+ "kind"
2818
+ ],
2819
+ "type": "object"
2820
+ },
2821
+ {
2822
+ "additionalProperties": false,
2823
+ "properties": {
2824
+ "kind": {
2825
+ "const": "credential",
2826
+ "type": "string"
2827
+ },
2828
+ "name": {
2829
+ "maxLength": 200,
2830
+ "minLength": 1,
2831
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2832
+ "type": "string"
2833
+ }
2834
+ },
2835
+ "required": [
2836
+ "kind",
2837
+ "name"
2838
+ ],
2839
+ "type": "object"
2840
+ }
2841
+ ]
2842
+ },
2843
+ "captures": {
2844
+ "items": {
2845
+ "additionalProperties": false,
2846
+ "properties": {
2847
+ "from": {
2848
+ "const": "json",
2849
+ "type": "string"
2850
+ },
2851
+ "name": {
2852
+ "maxLength": 200,
2853
+ "minLength": 1,
2854
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2855
+ "type": "string"
2856
+ },
2857
+ "path": {
2858
+ "anyOf": [
2859
+ {
2860
+ "maxLength": 400,
2861
+ "type": "string"
2862
+ },
2863
+ {
2864
+ "type": "null"
2865
+ }
2866
+ ]
2867
+ }
2868
+ },
2869
+ "required": [
2870
+ "name",
2871
+ "from",
2872
+ "path"
2873
+ ],
2874
+ "type": "object"
2875
+ },
2876
+ "maxItems": 32,
2877
+ "type": "array"
2878
+ },
2879
+ "command": {
2880
+ "additionalProperties": false,
2881
+ "properties": {
2882
+ "action": {
2883
+ "const": "submit",
2884
+ "type": "string"
2885
+ },
2886
+ "payload": {
2887
+ "$ref": "#/$defs/__schema1"
2888
+ },
2889
+ "queue": {
2890
+ "maxLength": 200,
2891
+ "minLength": 1,
2892
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2893
+ "type": "string"
2894
+ },
2895
+ "requestKey": {
2896
+ "maxLength": 128,
2897
+ "minLength": 1,
2898
+ "type": "string"
2899
+ }
2900
+ },
2901
+ "required": [
2902
+ "action",
2903
+ "queue",
2904
+ "requestKey",
2905
+ "payload"
2906
+ ],
2907
+ "type": "object"
2908
+ },
2909
+ "id": {
2910
+ "maxLength": 200,
2911
+ "minLength": 1,
2912
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2913
+ "type": "string"
2914
+ },
2915
+ "inputs": {
2916
+ "additionalProperties": {
2917
+ "oneOf": [
2918
+ {
2919
+ "additionalProperties": false,
2920
+ "properties": {
2921
+ "kind": {
2922
+ "const": "literal",
2923
+ "type": "string"
2924
+ },
2925
+ "value": {
2926
+ "$ref": "#/$defs/__schema1"
2927
+ }
2928
+ },
2929
+ "required": [
2930
+ "kind",
2931
+ "value"
2932
+ ],
2933
+ "type": "object"
2934
+ },
2935
+ {
2936
+ "additionalProperties": false,
2937
+ "properties": {
2938
+ "entityKey": {
2939
+ "maxLength": 200,
2940
+ "minLength": 1,
2941
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2942
+ "type": "string"
2943
+ },
2944
+ "kind": {
2945
+ "const": "fixture",
2946
+ "type": "string"
2947
+ },
2948
+ "outputName": {
2949
+ "maxLength": 200,
2950
+ "minLength": 1,
2951
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2952
+ "type": "string"
2953
+ }
2954
+ },
2955
+ "required": [
2956
+ "kind",
2957
+ "entityKey",
2958
+ "outputName"
2959
+ ],
2960
+ "type": "object"
2961
+ },
2962
+ {
2963
+ "additionalProperties": false,
2964
+ "properties": {
2965
+ "kind": {
2966
+ "const": "capture",
2967
+ "type": "string"
2968
+ },
2969
+ "name": {
2970
+ "maxLength": 200,
2971
+ "minLength": 1,
2972
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2973
+ "type": "string"
2974
+ },
2975
+ "stepId": {
2976
+ "maxLength": 200,
2977
+ "minLength": 1,
2978
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2979
+ "type": "string"
2980
+ }
2981
+ },
2982
+ "required": [
2983
+ "kind",
2984
+ "stepId",
2985
+ "name"
2986
+ ],
2987
+ "type": "object"
2988
+ },
2989
+ {
2990
+ "additionalProperties": false,
2991
+ "properties": {
2992
+ "kind": {
2993
+ "const": "credential",
2994
+ "type": "string"
2995
+ },
2996
+ "name": {
2997
+ "maxLength": 200,
2998
+ "minLength": 1,
2999
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3000
+ "type": "string"
3001
+ }
3002
+ },
3003
+ "required": [
3004
+ "kind",
3005
+ "name"
3006
+ ],
3007
+ "type": "object"
3008
+ },
3009
+ {
3010
+ "additionalProperties": false,
3011
+ "properties": {
3012
+ "kind": {
3013
+ "const": "runtime",
3014
+ "type": "string"
3015
+ },
3016
+ "name": {
3017
+ "enum": [
3018
+ "execution_nonce",
3019
+ "lease_namespace",
3020
+ "target_origin"
3021
+ ],
3022
+ "type": "string"
3023
+ }
3024
+ },
3025
+ "required": [
3026
+ "kind",
3027
+ "name"
3028
+ ],
3029
+ "type": "object"
3030
+ }
3031
+ ]
3032
+ },
3033
+ "propertyNames": {
3034
+ "maxLength": 200,
3035
+ "minLength": 1,
3036
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3037
+ "type": "string"
3038
+ },
3039
+ "type": "object"
3040
+ },
3041
+ "kind": {
3042
+ "const": "job.submit",
3043
+ "type": "string"
3044
+ },
3045
+ "retry": {
3046
+ "additionalProperties": false,
3047
+ "properties": {
3048
+ "attempts": {
3049
+ "maximum": 3,
3050
+ "minimum": 1,
3051
+ "type": "integer"
3052
+ }
3053
+ },
3054
+ "required": [
3055
+ "attempts"
3056
+ ],
3057
+ "type": "object"
3058
+ },
3059
+ "timeoutMs": {
3060
+ "maximum": 2592000000,
3061
+ "minimum": 1,
3062
+ "type": "integer"
3063
+ }
3064
+ },
3065
+ "required": [
3066
+ "id",
3067
+ "timeoutMs",
3068
+ "inputs",
3069
+ "retry",
3070
+ "auth",
3071
+ "captures",
3072
+ "kind",
3073
+ "command"
3074
+ ],
3075
+ "type": "object"
3076
+ },
3077
+ {
3078
+ "additionalProperties": false,
3079
+ "properties": {
3080
+ "auth": {
3081
+ "oneOf": [
3082
+ {
3083
+ "additionalProperties": false,
3084
+ "properties": {
3085
+ "kind": {
3086
+ "const": "none",
3087
+ "type": "string"
3088
+ }
3089
+ },
3090
+ "required": [
3091
+ "kind"
3092
+ ],
3093
+ "type": "object"
3094
+ },
3095
+ {
3096
+ "additionalProperties": false,
3097
+ "properties": {
3098
+ "kind": {
3099
+ "const": "persona",
3100
+ "type": "string"
3101
+ }
3102
+ },
3103
+ "required": [
3104
+ "kind"
3105
+ ],
3106
+ "type": "object"
3107
+ },
3108
+ {
3109
+ "additionalProperties": false,
3110
+ "properties": {
3111
+ "kind": {
3112
+ "const": "credential",
3113
+ "type": "string"
3114
+ },
3115
+ "name": {
3116
+ "maxLength": 200,
3117
+ "minLength": 1,
3118
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3119
+ "type": "string"
3120
+ }
3121
+ },
3122
+ "required": [
3123
+ "kind",
3124
+ "name"
3125
+ ],
3126
+ "type": "object"
3127
+ }
3128
+ ]
3129
+ },
3130
+ "captures": {
3131
+ "items": {
3132
+ "additionalProperties": false,
3133
+ "properties": {
3134
+ "from": {
3135
+ "const": "json",
3136
+ "type": "string"
3137
+ },
3138
+ "name": {
3139
+ "maxLength": 200,
3140
+ "minLength": 1,
3141
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3142
+ "type": "string"
3143
+ },
3144
+ "path": {
3145
+ "anyOf": [
3146
+ {
3147
+ "maxLength": 400,
3148
+ "type": "string"
3149
+ },
3150
+ {
3151
+ "type": "null"
3152
+ }
3153
+ ]
3154
+ }
3155
+ },
3156
+ "required": [
3157
+ "name",
3158
+ "from",
3159
+ "path"
3160
+ ],
3161
+ "type": "object"
3162
+ },
3163
+ "maxItems": 32,
3164
+ "type": "array"
3165
+ },
3166
+ "command": {
3167
+ "additionalProperties": false,
3168
+ "properties": {
3169
+ "action": {
3170
+ "const": "read",
3171
+ "type": "string"
3172
+ },
3173
+ "jobId": {
3174
+ "maxLength": 128,
3175
+ "minLength": 1,
3176
+ "type": "string"
3177
+ },
3178
+ "queue": {
3179
+ "maxLength": 200,
3180
+ "minLength": 1,
3181
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3182
+ "type": "string"
3183
+ }
3184
+ },
3185
+ "required": [
3186
+ "action",
3187
+ "queue",
3188
+ "jobId"
3189
+ ],
3190
+ "type": "object"
3191
+ },
3192
+ "id": {
3193
+ "maxLength": 200,
3194
+ "minLength": 1,
3195
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3196
+ "type": "string"
3197
+ },
3198
+ "inputs": {
3199
+ "additionalProperties": {
3200
+ "oneOf": [
3201
+ {
3202
+ "additionalProperties": false,
3203
+ "properties": {
3204
+ "kind": {
3205
+ "const": "literal",
3206
+ "type": "string"
3207
+ },
3208
+ "value": {
3209
+ "$ref": "#/$defs/__schema1"
3210
+ }
3211
+ },
3212
+ "required": [
3213
+ "kind",
3214
+ "value"
3215
+ ],
3216
+ "type": "object"
3217
+ },
3218
+ {
3219
+ "additionalProperties": false,
3220
+ "properties": {
3221
+ "entityKey": {
3222
+ "maxLength": 200,
3223
+ "minLength": 1,
3224
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3225
+ "type": "string"
3226
+ },
3227
+ "kind": {
3228
+ "const": "fixture",
3229
+ "type": "string"
3230
+ },
3231
+ "outputName": {
3232
+ "maxLength": 200,
3233
+ "minLength": 1,
3234
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3235
+ "type": "string"
3236
+ }
3237
+ },
3238
+ "required": [
3239
+ "kind",
3240
+ "entityKey",
3241
+ "outputName"
3242
+ ],
3243
+ "type": "object"
3244
+ },
3245
+ {
3246
+ "additionalProperties": false,
3247
+ "properties": {
3248
+ "kind": {
3249
+ "const": "capture",
3250
+ "type": "string"
3251
+ },
3252
+ "name": {
3253
+ "maxLength": 200,
3254
+ "minLength": 1,
3255
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3256
+ "type": "string"
3257
+ },
3258
+ "stepId": {
3259
+ "maxLength": 200,
3260
+ "minLength": 1,
3261
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3262
+ "type": "string"
3263
+ }
3264
+ },
3265
+ "required": [
3266
+ "kind",
3267
+ "stepId",
3268
+ "name"
3269
+ ],
3270
+ "type": "object"
3271
+ },
3272
+ {
3273
+ "additionalProperties": false,
3274
+ "properties": {
3275
+ "kind": {
3276
+ "const": "credential",
3277
+ "type": "string"
3278
+ },
3279
+ "name": {
3280
+ "maxLength": 200,
3281
+ "minLength": 1,
3282
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3283
+ "type": "string"
3284
+ }
3285
+ },
3286
+ "required": [
3287
+ "kind",
3288
+ "name"
3289
+ ],
3290
+ "type": "object"
3291
+ },
3292
+ {
3293
+ "additionalProperties": false,
3294
+ "properties": {
3295
+ "kind": {
3296
+ "const": "runtime",
3297
+ "type": "string"
3298
+ },
3299
+ "name": {
3300
+ "enum": [
3301
+ "execution_nonce",
3302
+ "lease_namespace",
3303
+ "target_origin"
3304
+ ],
3305
+ "type": "string"
3306
+ }
3307
+ },
3308
+ "required": [
3309
+ "kind",
3310
+ "name"
3311
+ ],
3312
+ "type": "object"
3313
+ }
3314
+ ]
3315
+ },
3316
+ "propertyNames": {
3317
+ "maxLength": 200,
3318
+ "minLength": 1,
3319
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3320
+ "type": "string"
3321
+ },
3322
+ "type": "object"
3323
+ },
3324
+ "kind": {
3325
+ "const": "job.observe",
3326
+ "type": "string"
3327
+ },
3328
+ "pollIntervalMs": {
3329
+ "maximum": 2592000000,
3330
+ "minimum": 1,
3331
+ "type": "integer"
3332
+ },
3333
+ "predicate": {
3334
+ "$ref": "#/$defs/__schema0"
3335
+ },
3336
+ "retry": {
3337
+ "additionalProperties": false,
3338
+ "properties": {
3339
+ "attempts": {
3340
+ "maximum": 3,
3341
+ "minimum": 1,
3342
+ "type": "integer"
3343
+ }
3344
+ },
3345
+ "required": [
3346
+ "attempts"
3347
+ ],
3348
+ "type": "object"
3349
+ },
3350
+ "timeoutMs": {
3351
+ "maximum": 2592000000,
3352
+ "minimum": 1,
3353
+ "type": "integer"
3354
+ }
3355
+ },
3356
+ "required": [
3357
+ "id",
3358
+ "timeoutMs",
3359
+ "inputs",
3360
+ "retry",
3361
+ "auth",
3362
+ "captures",
3363
+ "kind",
3364
+ "command",
3365
+ "predicate",
3366
+ "pollIntervalMs"
3367
+ ],
3368
+ "type": "object"
3369
+ },
3370
+ {
3371
+ "additionalProperties": false,
3372
+ "properties": {
3373
+ "auth": {
3374
+ "oneOf": [
3375
+ {
3376
+ "additionalProperties": false,
3377
+ "properties": {
3378
+ "kind": {
3379
+ "const": "none",
3380
+ "type": "string"
3381
+ }
3382
+ },
3383
+ "required": [
3384
+ "kind"
3385
+ ],
3386
+ "type": "object"
3387
+ },
3388
+ {
3389
+ "additionalProperties": false,
3390
+ "properties": {
3391
+ "kind": {
3392
+ "const": "persona",
3393
+ "type": "string"
3394
+ }
3395
+ },
3396
+ "required": [
3397
+ "kind"
3398
+ ],
3399
+ "type": "object"
3400
+ },
3401
+ {
3402
+ "additionalProperties": false,
3403
+ "properties": {
3404
+ "kind": {
3405
+ "const": "credential",
3406
+ "type": "string"
3407
+ },
3408
+ "name": {
3409
+ "maxLength": 200,
3410
+ "minLength": 1,
3411
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3412
+ "type": "string"
3413
+ }
3414
+ },
3415
+ "required": [
3416
+ "kind",
3417
+ "name"
3418
+ ],
3419
+ "type": "object"
3420
+ }
3421
+ ]
3422
+ },
3423
+ "captures": {
3424
+ "items": {
3425
+ "additionalProperties": false,
3426
+ "properties": {
3427
+ "from": {
3428
+ "const": "json",
3429
+ "type": "string"
3430
+ },
3431
+ "name": {
3432
+ "maxLength": 200,
3433
+ "minLength": 1,
3434
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3435
+ "type": "string"
3436
+ },
3437
+ "path": {
3438
+ "anyOf": [
3439
+ {
3440
+ "maxLength": 400,
3441
+ "type": "string"
3442
+ },
3443
+ {
3444
+ "type": "null"
3445
+ }
3446
+ ]
3447
+ }
3448
+ },
3449
+ "required": [
3450
+ "name",
3451
+ "from",
3452
+ "path"
3453
+ ],
3454
+ "type": "object"
3455
+ },
3456
+ "maxItems": 32,
3457
+ "type": "array"
3458
+ },
3459
+ "command": {
3460
+ "additionalProperties": false,
3461
+ "properties": {
3462
+ "action": {
3463
+ "const": "cancel",
3464
+ "type": "string"
3465
+ },
3466
+ "jobId": {
3467
+ "maxLength": 128,
3468
+ "minLength": 1,
3469
+ "type": "string"
3470
+ },
3471
+ "queue": {
3472
+ "maxLength": 200,
3473
+ "minLength": 1,
3474
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3475
+ "type": "string"
3476
+ }
3477
+ },
3478
+ "required": [
3479
+ "action",
3480
+ "queue",
3481
+ "jobId"
3482
+ ],
3483
+ "type": "object"
3484
+ },
3485
+ "id": {
3486
+ "maxLength": 200,
3487
+ "minLength": 1,
3488
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3489
+ "type": "string"
3490
+ },
3491
+ "inputs": {
3492
+ "additionalProperties": {
3493
+ "oneOf": [
3494
+ {
3495
+ "additionalProperties": false,
3496
+ "properties": {
3497
+ "kind": {
3498
+ "const": "literal",
3499
+ "type": "string"
3500
+ },
3501
+ "value": {
3502
+ "$ref": "#/$defs/__schema1"
3503
+ }
3504
+ },
3505
+ "required": [
3506
+ "kind",
3507
+ "value"
3508
+ ],
3509
+ "type": "object"
3510
+ },
3511
+ {
3512
+ "additionalProperties": false,
3513
+ "properties": {
3514
+ "entityKey": {
3515
+ "maxLength": 200,
3516
+ "minLength": 1,
3517
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3518
+ "type": "string"
3519
+ },
3520
+ "kind": {
3521
+ "const": "fixture",
3522
+ "type": "string"
3523
+ },
3524
+ "outputName": {
3525
+ "maxLength": 200,
3526
+ "minLength": 1,
3527
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3528
+ "type": "string"
3529
+ }
3530
+ },
3531
+ "required": [
3532
+ "kind",
3533
+ "entityKey",
3534
+ "outputName"
3535
+ ],
3536
+ "type": "object"
3537
+ },
3538
+ {
3539
+ "additionalProperties": false,
3540
+ "properties": {
3541
+ "kind": {
3542
+ "const": "capture",
3543
+ "type": "string"
3544
+ },
3545
+ "name": {
3546
+ "maxLength": 200,
3547
+ "minLength": 1,
3548
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3549
+ "type": "string"
3550
+ },
3551
+ "stepId": {
3552
+ "maxLength": 200,
3553
+ "minLength": 1,
3554
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3555
+ "type": "string"
3556
+ }
3557
+ },
3558
+ "required": [
3559
+ "kind",
3560
+ "stepId",
3561
+ "name"
3562
+ ],
3563
+ "type": "object"
3564
+ },
3565
+ {
3566
+ "additionalProperties": false,
3567
+ "properties": {
3568
+ "kind": {
3569
+ "const": "credential",
3570
+ "type": "string"
3571
+ },
3572
+ "name": {
3573
+ "maxLength": 200,
3574
+ "minLength": 1,
3575
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3576
+ "type": "string"
3577
+ }
3578
+ },
3579
+ "required": [
3580
+ "kind",
3581
+ "name"
3582
+ ],
3583
+ "type": "object"
3584
+ },
3585
+ {
3586
+ "additionalProperties": false,
3587
+ "properties": {
3588
+ "kind": {
3589
+ "const": "runtime",
3590
+ "type": "string"
3591
+ },
3592
+ "name": {
3593
+ "enum": [
3594
+ "execution_nonce",
3595
+ "lease_namespace",
3596
+ "target_origin"
3597
+ ],
3598
+ "type": "string"
3599
+ }
3600
+ },
3601
+ "required": [
3602
+ "kind",
3603
+ "name"
3604
+ ],
3605
+ "type": "object"
3606
+ }
3607
+ ]
3608
+ },
3609
+ "propertyNames": {
3610
+ "maxLength": 200,
3611
+ "minLength": 1,
3612
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3613
+ "type": "string"
3614
+ },
3615
+ "type": "object"
3616
+ },
3617
+ "kind": {
3618
+ "const": "job.cancel",
3619
+ "type": "string"
3620
+ },
3621
+ "retry": {
3622
+ "additionalProperties": false,
3623
+ "properties": {
3624
+ "attempts": {
3625
+ "maximum": 3,
3626
+ "minimum": 1,
3627
+ "type": "integer"
3628
+ }
3629
+ },
3630
+ "required": [
3631
+ "attempts"
3632
+ ],
3633
+ "type": "object"
3634
+ },
3635
+ "timeoutMs": {
3636
+ "maximum": 2592000000,
3637
+ "minimum": 1,
3638
+ "type": "integer"
3639
+ }
3640
+ },
3641
+ "required": [
3642
+ "id",
3643
+ "timeoutMs",
3644
+ "inputs",
3645
+ "retry",
3646
+ "auth",
3647
+ "captures",
3648
+ "kind",
3649
+ "command"
3650
+ ],
3651
+ "type": "object"
3652
+ },
3653
+ {
3654
+ "additionalProperties": false,
3655
+ "properties": {
3656
+ "auth": {
3657
+ "oneOf": [
3658
+ {
3659
+ "additionalProperties": false,
3660
+ "properties": {
3661
+ "kind": {
3662
+ "const": "none",
3663
+ "type": "string"
3664
+ }
3665
+ },
3666
+ "required": [
3667
+ "kind"
3668
+ ],
3669
+ "type": "object"
3670
+ },
3671
+ {
3672
+ "additionalProperties": false,
3673
+ "properties": {
3674
+ "kind": {
3675
+ "const": "persona",
3676
+ "type": "string"
3677
+ }
3678
+ },
3679
+ "required": [
3680
+ "kind"
3681
+ ],
3682
+ "type": "object"
3683
+ },
3684
+ {
3685
+ "additionalProperties": false,
3686
+ "properties": {
3687
+ "kind": {
3688
+ "const": "credential",
3689
+ "type": "string"
3690
+ },
3691
+ "name": {
3692
+ "maxLength": 200,
3693
+ "minLength": 1,
3694
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3695
+ "type": "string"
3696
+ }
3697
+ },
3698
+ "required": [
3699
+ "kind",
3700
+ "name"
3701
+ ],
3702
+ "type": "object"
3703
+ }
3704
+ ]
3705
+ },
3706
+ "captures": {
3707
+ "items": {
3708
+ "additionalProperties": false,
3709
+ "properties": {
3710
+ "from": {
3711
+ "const": "json",
3712
+ "type": "string"
3713
+ },
3714
+ "name": {
3715
+ "maxLength": 200,
3716
+ "minLength": 1,
3717
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3718
+ "type": "string"
3719
+ },
3720
+ "path": {
3721
+ "anyOf": [
3722
+ {
3723
+ "maxLength": 400,
3724
+ "type": "string"
3725
+ },
3726
+ {
3727
+ "type": "null"
3728
+ }
3729
+ ]
3730
+ }
3731
+ },
3732
+ "required": [
3733
+ "name",
3734
+ "from",
3735
+ "path"
3736
+ ],
3737
+ "type": "object"
3738
+ },
3739
+ "maxItems": 32,
3740
+ "type": "array"
3741
+ },
3742
+ "command": {
3743
+ "additionalProperties": false,
3744
+ "properties": {
3745
+ "arguments": {
3746
+ "additionalProperties": {
3747
+ "$ref": "#/$defs/__schema1"
3748
+ },
3749
+ "propertyNames": {
3750
+ "maxLength": 128,
3751
+ "type": "string"
3752
+ },
3753
+ "type": "object"
3754
+ },
3755
+ "endpoint": {
3756
+ "maxLength": 512,
3757
+ "minLength": 1,
3758
+ "pattern": "^\\/(?!\\/)[A-Za-z0-9_./-]*$",
3759
+ "type": "string"
3760
+ },
3761
+ "tool": {
3762
+ "maxLength": 128,
3763
+ "minLength": 1,
3764
+ "pattern": "^[A-Za-z0-9_.-]+$",
3765
+ "type": "string"
3766
+ }
3767
+ },
3768
+ "required": [
3769
+ "endpoint",
3770
+ "tool",
3771
+ "arguments"
3772
+ ],
3773
+ "type": "object"
3774
+ },
3775
+ "id": {
3776
+ "maxLength": 200,
3777
+ "minLength": 1,
3778
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3779
+ "type": "string"
3780
+ },
3781
+ "inputs": {
3782
+ "additionalProperties": {
3783
+ "oneOf": [
3784
+ {
3785
+ "additionalProperties": false,
3786
+ "properties": {
3787
+ "kind": {
3788
+ "const": "literal",
3789
+ "type": "string"
3790
+ },
3791
+ "value": {
3792
+ "$ref": "#/$defs/__schema1"
3793
+ }
3794
+ },
3795
+ "required": [
3796
+ "kind",
3797
+ "value"
3798
+ ],
3799
+ "type": "object"
3800
+ },
3801
+ {
3802
+ "additionalProperties": false,
3803
+ "properties": {
3804
+ "entityKey": {
3805
+ "maxLength": 200,
3806
+ "minLength": 1,
3807
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3808
+ "type": "string"
3809
+ },
3810
+ "kind": {
3811
+ "const": "fixture",
3812
+ "type": "string"
3813
+ },
3814
+ "outputName": {
3815
+ "maxLength": 200,
3816
+ "minLength": 1,
3817
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3818
+ "type": "string"
3819
+ }
3820
+ },
3821
+ "required": [
3822
+ "kind",
3823
+ "entityKey",
3824
+ "outputName"
3825
+ ],
3826
+ "type": "object"
3827
+ },
3828
+ {
3829
+ "additionalProperties": false,
3830
+ "properties": {
3831
+ "kind": {
3832
+ "const": "capture",
3833
+ "type": "string"
3834
+ },
3835
+ "name": {
3836
+ "maxLength": 200,
3837
+ "minLength": 1,
3838
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3839
+ "type": "string"
3840
+ },
3841
+ "stepId": {
3842
+ "maxLength": 200,
3843
+ "minLength": 1,
3844
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3845
+ "type": "string"
3846
+ }
3847
+ },
3848
+ "required": [
3849
+ "kind",
3850
+ "stepId",
3851
+ "name"
3852
+ ],
3853
+ "type": "object"
3854
+ },
3855
+ {
3856
+ "additionalProperties": false,
3857
+ "properties": {
3858
+ "kind": {
3859
+ "const": "credential",
3860
+ "type": "string"
3861
+ },
3862
+ "name": {
3863
+ "maxLength": 200,
3864
+ "minLength": 1,
3865
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3866
+ "type": "string"
3867
+ }
3868
+ },
3869
+ "required": [
3870
+ "kind",
3871
+ "name"
3872
+ ],
3873
+ "type": "object"
3874
+ },
3875
+ {
3876
+ "additionalProperties": false,
3877
+ "properties": {
3878
+ "kind": {
3879
+ "const": "runtime",
3880
+ "type": "string"
3881
+ },
3882
+ "name": {
3883
+ "enum": [
3884
+ "execution_nonce",
3885
+ "lease_namespace",
3886
+ "target_origin"
3887
+ ],
3888
+ "type": "string"
3889
+ }
3890
+ },
3891
+ "required": [
3892
+ "kind",
3893
+ "name"
3894
+ ],
3895
+ "type": "object"
3896
+ }
3897
+ ]
3898
+ },
3899
+ "propertyNames": {
3900
+ "maxLength": 200,
3901
+ "minLength": 1,
3902
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3903
+ "type": "string"
3904
+ },
3905
+ "type": "object"
3906
+ },
3907
+ "kind": {
3908
+ "const": "mcp.call",
3909
+ "type": "string"
3910
+ },
3911
+ "retry": {
3912
+ "additionalProperties": false,
3913
+ "properties": {
3914
+ "attempts": {
3915
+ "maximum": 3,
3916
+ "minimum": 1,
3917
+ "type": "integer"
3918
+ }
3919
+ },
3920
+ "required": [
3921
+ "attempts"
3922
+ ],
3923
+ "type": "object"
3924
+ },
3925
+ "timeoutMs": {
3926
+ "maximum": 2592000000,
3927
+ "minimum": 1,
3928
+ "type": "integer"
3929
+ }
3930
+ },
3931
+ "required": [
3932
+ "id",
3933
+ "timeoutMs",
3934
+ "inputs",
3935
+ "retry",
3936
+ "kind",
3937
+ "command",
3938
+ "auth",
3939
+ "captures"
3940
+ ],
3941
+ "type": "object"
3942
+ },
3943
+ {
3944
+ "additionalProperties": false,
3945
+ "properties": {
3946
+ "id": {
3947
+ "maxLength": 200,
3948
+ "minLength": 1,
3949
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3950
+ "type": "string"
3951
+ },
3952
+ "inputs": {
3953
+ "additionalProperties": {
3954
+ "oneOf": [
3955
+ {
3956
+ "additionalProperties": false,
3957
+ "properties": {
3958
+ "kind": {
3959
+ "const": "literal",
3960
+ "type": "string"
3961
+ },
3962
+ "value": {
3963
+ "$ref": "#/$defs/__schema1"
3964
+ }
3965
+ },
3966
+ "required": [
3967
+ "kind",
3968
+ "value"
3969
+ ],
3970
+ "type": "object"
3971
+ },
3972
+ {
3973
+ "additionalProperties": false,
3974
+ "properties": {
3975
+ "entityKey": {
3976
+ "maxLength": 200,
3977
+ "minLength": 1,
3978
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3979
+ "type": "string"
3980
+ },
3981
+ "kind": {
3982
+ "const": "fixture",
3983
+ "type": "string"
3984
+ },
3985
+ "outputName": {
3986
+ "maxLength": 200,
3987
+ "minLength": 1,
3988
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3989
+ "type": "string"
3990
+ }
3991
+ },
3992
+ "required": [
3993
+ "kind",
3994
+ "entityKey",
3995
+ "outputName"
3996
+ ],
3997
+ "type": "object"
3998
+ },
3999
+ {
4000
+ "additionalProperties": false,
4001
+ "properties": {
4002
+ "kind": {
4003
+ "const": "capture",
4004
+ "type": "string"
4005
+ },
4006
+ "name": {
4007
+ "maxLength": 200,
4008
+ "minLength": 1,
4009
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
4010
+ "type": "string"
4011
+ },
4012
+ "stepId": {
4013
+ "maxLength": 200,
4014
+ "minLength": 1,
4015
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
4016
+ "type": "string"
4017
+ }
4018
+ },
4019
+ "required": [
4020
+ "kind",
4021
+ "stepId",
4022
+ "name"
4023
+ ],
4024
+ "type": "object"
4025
+ },
4026
+ {
4027
+ "additionalProperties": false,
4028
+ "properties": {
4029
+ "kind": {
4030
+ "const": "credential",
4031
+ "type": "string"
4032
+ },
4033
+ "name": {
4034
+ "maxLength": 200,
4035
+ "minLength": 1,
4036
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
4037
+ "type": "string"
4038
+ }
4039
+ },
4040
+ "required": [
4041
+ "kind",
4042
+ "name"
4043
+ ],
4044
+ "type": "object"
4045
+ },
4046
+ {
4047
+ "additionalProperties": false,
4048
+ "properties": {
4049
+ "kind": {
4050
+ "const": "runtime",
4051
+ "type": "string"
4052
+ },
4053
+ "name": {
4054
+ "enum": [
4055
+ "execution_nonce",
4056
+ "lease_namespace",
4057
+ "target_origin"
4058
+ ],
4059
+ "type": "string"
4060
+ }
4061
+ },
4062
+ "required": [
4063
+ "kind",
4064
+ "name"
4065
+ ],
4066
+ "type": "object"
4067
+ }
4068
+ ]
4069
+ },
4070
+ "propertyNames": {
4071
+ "maxLength": 200,
4072
+ "minLength": 1,
4073
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
4074
+ "type": "string"
4075
+ },
4076
+ "type": "object"
4077
+ },
4078
+ "kind": {
4079
+ "enum": [
4080
+ "integration.action",
4081
+ "widget.action",
4082
+ "native.action",
4083
+ "computer.action"
4084
+ ],
4085
+ "type": "string"
4086
+ },
4087
+ "parameters": {
4088
+ "additionalProperties": {
4089
+ "$ref": "#/$defs/__schema1"
4090
+ },
4091
+ "propertyNames": {
4092
+ "maxLength": 200,
4093
+ "type": "string"
4094
+ },
4095
+ "type": "object"
4096
+ },
4097
+ "retry": {
4098
+ "additionalProperties": false,
4099
+ "properties": {
4100
+ "attempts": {
4101
+ "maximum": 3,
4102
+ "minimum": 1,
4103
+ "type": "integer"
4104
+ }
4105
+ },
4106
+ "required": [
4107
+ "attempts"
4108
+ ],
4109
+ "type": "object"
4110
+ },
4111
+ "timeoutMs": {
4112
+ "maximum": 2592000000,
4113
+ "minimum": 1,
4114
+ "type": "integer"
4115
+ }
4116
+ },
4117
+ "required": [
4118
+ "id",
4119
+ "timeoutMs",
4120
+ "inputs",
4121
+ "retry",
4122
+ "kind",
4123
+ "parameters"
4124
+ ],
4125
+ "type": "object"
4126
+ }
4127
+ ]
4128
+ },
4129
+ "maxItems": 500,
4130
+ "minItems": 1,
4131
+ "type": "array"
4132
+ },
4133
+ "surface": {
4134
+ "enum": [
4135
+ "ui",
4136
+ "api",
4137
+ "job",
4138
+ "integration",
4139
+ "hybrid"
4140
+ ],
4141
+ "type": "string"
4142
+ },
4143
+ "surfaceBindingRef": {
4144
+ "additionalProperties": false,
4145
+ "properties": {
4146
+ "digest": {
4147
+ "additionalProperties": false,
4148
+ "properties": {
4149
+ "algorithm": {
4150
+ "const": "sha256",
4151
+ "type": "string"
4152
+ },
4153
+ "hex": {
4154
+ "pattern": "^[0-9a-f]{64}$",
4155
+ "type": "string"
4156
+ }
4157
+ },
4158
+ "required": [
4159
+ "algorithm",
4160
+ "hex"
4161
+ ],
4162
+ "type": "object"
4163
+ },
4164
+ "id": {
4165
+ "maxLength": 200,
4166
+ "minLength": 1,
4167
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
4168
+ "type": "string"
4169
+ },
4170
+ "revision": {
4171
+ "maxLength": 64,
4172
+ "minLength": 1,
4173
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$",
4174
+ "type": "string"
4175
+ }
4176
+ },
4177
+ "required": [
4178
+ "id",
4179
+ "revision",
4180
+ "digest"
4181
+ ],
4182
+ "type": "object"
4183
+ },
4184
+ "workflowId": {
4185
+ "maxLength": 200,
4186
+ "minLength": 1,
4187
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
4188
+ "type": "string"
4189
+ }
4190
+ },
4191
+ "required": [
4192
+ "schemaVersion",
4193
+ "ref",
4194
+ "scope",
4195
+ "purpose",
4196
+ "workflowId",
4197
+ "requirementRefs",
4198
+ "sourceRefs",
4199
+ "sourceAnalysisRef",
4200
+ "risk",
4201
+ "surface",
4202
+ "surfaceBindingRef",
4203
+ "proofClaim",
4204
+ "environmentClasses",
4205
+ "requiredCapabilities",
4206
+ "requiredBoundaries",
4207
+ "dependencyCases",
4208
+ "personaRef",
4209
+ "datasetRef",
4210
+ "fixturePlanRef",
4211
+ "navigationRef",
4212
+ "preconditions",
4213
+ "steps",
4214
+ "assertions",
4215
+ "effects",
4216
+ "limits",
4217
+ "capture",
4218
+ "baselineRef",
4219
+ "generation"
4220
+ ],
4221
+ "type": "object"
4222
+ }