@sourcey/catalog-verifier 1.1.4 → 1.1.5

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 (492) hide show
  1. package/SBOM.cdx.json +16 -16
  2. package/SOURCEY-CLOSURE.json +572 -588
  3. package/SOURCEY-DISTRIBUTION.json +1 -1
  4. package/THIRD_PARTY_NOTICES.json +6 -6
  5. package/dist/contracts/agent-readiness/src/authority.d.ts +51 -0
  6. package/dist/contracts/agent-readiness/src/authority.d.ts.map +1 -0
  7. package/dist/contracts/agent-readiness/src/authority.js +36 -0
  8. package/dist/contracts/agent-readiness/src/authority.js.map +1 -0
  9. package/dist/contracts/agent-readiness/src/binding.d.ts +600 -0
  10. package/dist/contracts/agent-readiness/src/binding.d.ts.map +1 -0
  11. package/dist/contracts/agent-readiness/src/binding.js +466 -0
  12. package/dist/contracts/agent-readiness/src/binding.js.map +1 -0
  13. package/dist/contracts/agent-readiness/src/declaration-acquisition.d.ts +484 -202
  14. package/dist/contracts/agent-readiness/src/declaration-acquisition.d.ts.map +1 -1
  15. package/dist/contracts/agent-readiness/src/declaration-acquisition.js +13 -11
  16. package/dist/contracts/agent-readiness/src/declaration-acquisition.js.map +1 -1
  17. package/dist/contracts/agent-readiness/src/declaration-reference.d.ts +4 -7
  18. package/dist/contracts/agent-readiness/src/declaration-reference.d.ts.map +1 -1
  19. package/dist/contracts/agent-readiness/src/declaration-reference.js +3 -6
  20. package/dist/contracts/agent-readiness/src/declaration-reference.js.map +1 -1
  21. package/dist/contracts/agent-readiness/src/declaration.d.ts +1930 -334
  22. package/dist/contracts/agent-readiness/src/declaration.d.ts.map +1 -1
  23. package/dist/contracts/agent-readiness/src/declaration.js +73 -78
  24. package/dist/contracts/agent-readiness/src/declaration.js.map +1 -1
  25. package/dist/contracts/agent-readiness/src/index.d.ts +3532 -4849
  26. package/dist/contracts/agent-readiness/src/index.d.ts.map +1 -1
  27. package/dist/contracts/agent-readiness/src/index.js +228 -949
  28. package/dist/contracts/agent-readiness/src/index.js.map +1 -1
  29. package/dist/contracts/agent-readiness/src/jobs.d.ts +199 -0
  30. package/dist/contracts/agent-readiness/src/jobs.d.ts.map +1 -0
  31. package/dist/contracts/agent-readiness/src/jobs.js +125 -0
  32. package/dist/contracts/agent-readiness/src/jobs.js.map +1 -0
  33. package/dist/contracts/agent-readiness/src/operate-policy.d.ts +251 -0
  34. package/dist/contracts/agent-readiness/src/operate-policy.d.ts.map +1 -0
  35. package/dist/contracts/agent-readiness/src/operate-policy.js +86 -0
  36. package/dist/contracts/agent-readiness/src/operate-policy.js.map +1 -0
  37. package/dist/contracts/agent-readiness/src/run.d.ts +485 -0
  38. package/dist/contracts/agent-readiness/src/run.d.ts.map +1 -0
  39. package/dist/contracts/agent-readiness/src/run.js +308 -0
  40. package/dist/contracts/agent-readiness/src/run.js.map +1 -0
  41. package/dist/contracts/agent-readiness/src/shared.d.ts +53 -62
  42. package/dist/contracts/agent-readiness/src/shared.d.ts.map +1 -1
  43. package/dist/contracts/agent-readiness/src/shared.js +51 -85
  44. package/dist/contracts/agent-readiness/src/shared.js.map +1 -1
  45. package/dist/contracts/api/src/index.d.ts +13861 -14913
  46. package/dist/contracts/api/src/index.d.ts.map +1 -1
  47. package/dist/contracts/api/src/index.js +93 -80
  48. package/dist/contracts/api/src/index.js.map +1 -1
  49. package/dist/contracts/artifact/src/index.d.ts +135 -71
  50. package/dist/contracts/artifact/src/index.d.ts.map +1 -1
  51. package/dist/contracts/artifact/src/index.js +16 -12
  52. package/dist/contracts/artifact/src/index.js.map +1 -1
  53. package/dist/contracts/assets/src/index.d.ts +0 -129
  54. package/dist/contracts/assets/src/index.d.ts.map +1 -1
  55. package/dist/contracts/assets/src/index.js +4 -4
  56. package/dist/contracts/assets/src/index.js.map +1 -1
  57. package/dist/contracts/assurance/src/index.d.ts +0 -1
  58. package/dist/contracts/assurance/src/index.d.ts.map +1 -1
  59. package/dist/contracts/authoring/src/index.d.ts +48 -247
  60. package/dist/contracts/authoring/src/index.d.ts.map +1 -1
  61. package/dist/contracts/authoring/src/index.js +4 -7
  62. package/dist/contracts/authoring/src/index.js.map +1 -1
  63. package/dist/contracts/authority/src/index.d.ts +0 -3
  64. package/dist/contracts/authority/src/index.d.ts.map +1 -1
  65. package/dist/contracts/authority/src/index.js +1 -2
  66. package/dist/contracts/authority/src/index.js.map +1 -1
  67. package/dist/contracts/billing/src/index.d.ts +0 -124
  68. package/dist/contracts/billing/src/index.d.ts.map +1 -1
  69. package/dist/contracts/billing/src/index.js +2 -58
  70. package/dist/contracts/billing/src/index.js.map +1 -1
  71. package/dist/contracts/catalog-verifier/src/index.d.ts +0 -3
  72. package/dist/contracts/catalog-verifier/src/index.d.ts.map +1 -1
  73. package/dist/contracts/company-authoring/src/index.d.ts +72 -0
  74. package/dist/contracts/company-authoring/src/index.d.ts.map +1 -0
  75. package/dist/contracts/company-authoring/src/index.js +41 -0
  76. package/dist/contracts/company-authoring/src/index.js.map +1 -0
  77. package/dist/contracts/company-standing/src/index.d.ts +106 -0
  78. package/dist/contracts/company-standing/src/index.d.ts.map +1 -0
  79. package/dist/contracts/company-standing/src/index.js +114 -0
  80. package/dist/contracts/company-standing/src/index.js.map +1 -0
  81. package/dist/contracts/company-verification/src/index.d.ts +94 -0
  82. package/dist/contracts/company-verification/src/index.d.ts.map +1 -0
  83. package/dist/contracts/company-verification/src/index.js +138 -0
  84. package/dist/contracts/company-verification/src/index.js.map +1 -0
  85. package/dist/contracts/datasets/src/index.d.ts +80 -129
  86. package/dist/contracts/datasets/src/index.d.ts.map +1 -1
  87. package/dist/contracts/events/src/index.d.ts +41 -5
  88. package/dist/contracts/events/src/index.d.ts.map +1 -1
  89. package/dist/contracts/events/src/index.js +51 -12
  90. package/dist/contracts/events/src/index.js.map +1 -1
  91. package/dist/contracts/evidence/src/index.d.ts +6 -291
  92. package/dist/contracts/evidence/src/index.d.ts.map +1 -1
  93. package/dist/contracts/evidence/src/index.js +12 -99
  94. package/dist/contracts/evidence/src/index.js.map +1 -1
  95. package/dist/contracts/feed/src/index.d.ts +0 -3
  96. package/dist/contracts/feed/src/index.d.ts.map +1 -1
  97. package/dist/contracts/observations/src/index.d.ts +0 -1
  98. package/dist/contracts/observations/src/index.d.ts.map +1 -1
  99. package/dist/contracts/observations/src/index.js +1 -4
  100. package/dist/contracts/observations/src/index.js.map +1 -1
  101. package/dist/contracts/policies/src/index.d.ts +0 -13
  102. package/dist/contracts/policies/src/index.d.ts.map +1 -1
  103. package/dist/contracts/policies/src/index.js +3 -2
  104. package/dist/contracts/policies/src/index.js.map +1 -1
  105. package/dist/contracts/publication/src/index.d.ts +282 -1285
  106. package/dist/contracts/publication/src/index.d.ts.map +1 -1
  107. package/dist/contracts/publication/src/index.js +22 -162
  108. package/dist/contracts/publication/src/index.js.map +1 -1
  109. package/dist/contracts/release/src/index.d.ts +120 -21
  110. package/dist/contracts/release/src/index.d.ts.map +1 -1
  111. package/dist/contracts/release/src/index.js +14 -2
  112. package/dist/contracts/release/src/index.js.map +1 -1
  113. package/dist/contracts/revisions/src/index.d.ts +107 -69
  114. package/dist/contracts/revisions/src/index.d.ts.map +1 -1
  115. package/dist/contracts/revisions/src/index.js +26 -8
  116. package/dist/contracts/revisions/src/index.js.map +1 -1
  117. package/dist/contracts/routes/src/index.d.ts +1 -17
  118. package/dist/contracts/routes/src/index.d.ts.map +1 -1
  119. package/dist/contracts/routes/src/index.js +7 -7
  120. package/dist/contracts/routes/src/index.js.map +1 -1
  121. package/dist/contracts/sourcey-publication/src/ownership.d.ts.map +1 -1
  122. package/dist/contracts/sourcey-publication/src/ownership.js +3 -1
  123. package/dist/contracts/sourcey-publication/src/ownership.js.map +1 -1
  124. package/dist/contracts/standards/src/index.d.ts +0 -1552
  125. package/dist/contracts/standards/src/index.d.ts.map +1 -1
  126. package/dist/contracts/standards/src/index.js +1 -723
  127. package/dist/contracts/standards/src/index.js.map +1 -1
  128. package/dist/contracts/startup-credits-commercial/src/index.d.ts +53 -382
  129. package/dist/contracts/startup-credits-commercial/src/index.d.ts.map +1 -1
  130. package/dist/contracts/startup-credits-commercial/src/index.js +30 -267
  131. package/dist/contracts/startup-credits-commercial/src/index.js.map +1 -1
  132. package/dist/modules/agent-readiness-engine/src/assertions.d.ts +24 -0
  133. package/dist/modules/agent-readiness-engine/src/assertions.d.ts.map +1 -0
  134. package/dist/modules/agent-readiness-engine/src/assertions.js +145 -0
  135. package/dist/modules/agent-readiness-engine/src/assertions.js.map +1 -0
  136. package/dist/modules/agent-readiness-engine/src/binding.d.ts +12 -0
  137. package/dist/modules/agent-readiness-engine/src/binding.d.ts.map +1 -0
  138. package/dist/modules/agent-readiness-engine/src/binding.js +104 -0
  139. package/dist/modules/agent-readiness-engine/src/binding.js.map +1 -0
  140. package/dist/modules/agent-readiness-engine/src/checks.d.ts +57 -0
  141. package/dist/modules/agent-readiness-engine/src/checks.d.ts.map +1 -0
  142. package/dist/modules/agent-readiness-engine/src/checks.js +126 -0
  143. package/dist/modules/agent-readiness-engine/src/checks.js.map +1 -0
  144. package/dist/modules/agent-readiness-engine/src/path.d.ts +24 -0
  145. package/dist/modules/agent-readiness-engine/src/path.d.ts.map +1 -0
  146. package/dist/modules/agent-readiness-engine/src/path.js +308 -0
  147. package/dist/modules/agent-readiness-engine/src/path.js.map +1 -0
  148. package/dist/modules/agent-readiness-engine/src/rate.d.ts +23 -0
  149. package/dist/modules/agent-readiness-engine/src/rate.d.ts.map +1 -0
  150. package/dist/modules/agent-readiness-engine/src/rate.js +57 -0
  151. package/dist/modules/agent-readiness-engine/src/rate.js.map +1 -0
  152. package/dist/modules/agent-readiness-engine/src/run.d.ts +9 -0
  153. package/dist/modules/agent-readiness-engine/src/run.d.ts.map +1 -0
  154. package/dist/modules/agent-readiness-engine/src/run.js +45 -0
  155. package/dist/modules/agent-readiness-engine/src/run.js.map +1 -0
  156. package/dist/modules/agent-readiness-engine/src/templates.d.ts +21 -0
  157. package/dist/modules/agent-readiness-engine/src/templates.d.ts.map +1 -0
  158. package/dist/modules/agent-readiness-engine/src/templates.js +89 -0
  159. package/dist/modules/agent-readiness-engine/src/templates.js.map +1 -0
  160. package/dist/modules/agent-readiness-jobs/src/index.d.ts +196 -0
  161. package/dist/modules/agent-readiness-jobs/src/index.d.ts.map +1 -0
  162. package/dist/modules/agent-readiness-jobs/src/index.js +186 -0
  163. package/dist/modules/agent-readiness-jobs/src/index.js.map +1 -0
  164. package/dist/modules/agent-readiness-policy/src/current-policy.d.ts +64 -245
  165. package/dist/modules/agent-readiness-policy/src/current-policy.d.ts.map +1 -1
  166. package/dist/modules/agent-readiness-policy/src/current-policy.js +10 -478
  167. package/dist/modules/agent-readiness-policy/src/current-policy.js.map +1 -1
  168. package/dist/modules/agent-readiness-policy/src/declaration-jobs.d.ts +20 -0
  169. package/dist/modules/agent-readiness-policy/src/declaration-jobs.d.ts.map +1 -0
  170. package/dist/modules/agent-readiness-policy/src/declaration-jobs.js +32 -0
  171. package/dist/modules/agent-readiness-policy/src/declaration-jobs.js.map +1 -0
  172. package/dist/modules/agent-readiness-policy/src/impact.d.ts +1 -80
  173. package/dist/modules/agent-readiness-policy/src/impact.d.ts.map +1 -1
  174. package/dist/modules/agent-readiness-policy/src/impact.js +2 -189
  175. package/dist/modules/agent-readiness-policy/src/impact.js.map +1 -1
  176. package/dist/modules/agent-readiness-policy/src/index.d.ts +21 -968
  177. package/dist/modules/agent-readiness-policy/src/index.d.ts.map +1 -1
  178. package/dist/modules/agent-readiness-policy/src/index.js +137 -470
  179. package/dist/modules/agent-readiness-policy/src/index.js.map +1 -1
  180. package/dist/modules/agent-readiness-policy/src/offer-relations.d.ts +0 -5
  181. package/dist/modules/agent-readiness-policy/src/offer-relations.d.ts.map +1 -1
  182. package/dist/modules/agent-readiness-policy/src/offer-relations.js +2 -4
  183. package/dist/modules/agent-readiness-policy/src/offer-relations.js.map +1 -1
  184. package/dist/modules/agent-readiness-policy/src/operate-policy.d.ts +16 -0
  185. package/dist/modules/agent-readiness-policy/src/operate-policy.d.ts.map +1 -0
  186. package/dist/modules/agent-readiness-policy/src/operate-policy.js +110 -0
  187. package/dist/modules/agent-readiness-policy/src/operate-policy.js.map +1 -0
  188. package/dist/modules/agent-readiness-policy/src/prior-projection.d.ts +3 -0
  189. package/dist/modules/agent-readiness-policy/src/prior-projection.d.ts.map +1 -0
  190. package/dist/modules/agent-readiness-policy/src/prior-projection.js +11 -0
  191. package/dist/modules/agent-readiness-policy/src/prior-projection.js.map +1 -0
  192. package/dist/modules/agent-readiness-policy/src/revision.d.ts +13 -2
  193. package/dist/modules/agent-readiness-policy/src/revision.d.ts.map +1 -1
  194. package/dist/modules/agent-readiness-policy/src/revision.js +79 -38
  195. package/dist/modules/agent-readiness-policy/src/revision.js.map +1 -1
  196. package/dist/modules/agent-readiness-repository/src/change.d.ts +3 -4
  197. package/dist/modules/agent-readiness-repository/src/change.d.ts.map +1 -1
  198. package/dist/modules/agent-readiness-repository/src/change.js +4 -4
  199. package/dist/modules/agent-readiness-repository/src/change.js.map +1 -1
  200. package/dist/modules/agent-readiness-repository/src/declaration-blob.d.ts +0 -5
  201. package/dist/modules/agent-readiness-repository/src/declaration-blob.d.ts.map +1 -1
  202. package/dist/modules/agent-readiness-repository/src/declaration-blob.js +2 -9
  203. package/dist/modules/agent-readiness-repository/src/declaration-blob.js.map +1 -1
  204. package/dist/modules/agent-readiness-repository/src/index.d.ts +1 -51
  205. package/dist/modules/agent-readiness-repository/src/index.d.ts.map +1 -1
  206. package/dist/modules/agent-readiness-repository/src/index.js +4 -113
  207. package/dist/modules/agent-readiness-repository/src/index.js.map +1 -1
  208. package/dist/modules/artifact/src/agent-readiness-closure.d.ts +4 -7
  209. package/dist/modules/artifact/src/agent-readiness-closure.d.ts.map +1 -1
  210. package/dist/modules/artifact/src/agent-readiness-closure.js +5 -22
  211. package/dist/modules/artifact/src/agent-readiness-closure.js.map +1 -1
  212. package/dist/modules/artifact/src/index.d.ts +5 -4
  213. package/dist/modules/artifact/src/index.d.ts.map +1 -1
  214. package/dist/modules/artifact/src/index.js +47 -45
  215. package/dist/modules/artifact/src/index.js.map +1 -1
  216. package/dist/modules/artifact/src/policy-closure.js +2 -2
  217. package/dist/modules/artifact/src/policy-closure.js.map +1 -1
  218. package/dist/modules/assets/src/authority-bundle.d.ts +2 -5
  219. package/dist/modules/assets/src/authority-bundle.d.ts.map +1 -1
  220. package/dist/modules/assets/src/authority-bundle.js +1 -9
  221. package/dist/modules/assets/src/authority-bundle.js.map +1 -1
  222. package/dist/modules/assets/src/delta.d.ts +0 -5
  223. package/dist/modules/assets/src/delta.d.ts.map +1 -1
  224. package/dist/modules/assets/src/delta.js +1 -38
  225. package/dist/modules/assets/src/delta.js.map +1 -1
  226. package/dist/modules/assets/src/index.d.ts +1 -1
  227. package/dist/modules/assets/src/index.d.ts.map +1 -1
  228. package/dist/modules/assets/src/ingestion.d.ts +2 -1
  229. package/dist/modules/assets/src/ingestion.d.ts.map +1 -1
  230. package/dist/modules/authority/src/index.d.ts +3 -10
  231. package/dist/modules/authority/src/index.d.ts.map +1 -1
  232. package/dist/modules/authority/src/index.js +113 -201
  233. package/dist/modules/authority/src/index.js.map +1 -1
  234. package/dist/modules/authority-state/src/index.d.ts +2 -1
  235. package/dist/modules/authority-state/src/index.d.ts.map +1 -1
  236. package/dist/modules/catalog-admission/src/admission-conflicts.d.ts +5 -7
  237. package/dist/modules/catalog-admission/src/admission-conflicts.d.ts.map +1 -1
  238. package/dist/modules/catalog-admission/src/admission-conflicts.js +1 -1
  239. package/dist/modules/catalog-admission/src/admission-conflicts.js.map +1 -1
  240. package/dist/modules/catalog-admission/src/change-analysis.d.ts +1 -2
  241. package/dist/modules/catalog-admission/src/change-analysis.d.ts.map +1 -1
  242. package/dist/modules/catalog-admission/src/change-analysis.js +0 -4
  243. package/dist/modules/catalog-admission/src/change-analysis.js.map +1 -1
  244. package/dist/modules/catalog-admission/src/index.d.ts +2 -9
  245. package/dist/modules/catalog-admission/src/index.d.ts.map +1 -1
  246. package/dist/modules/catalog-admission/src/index.js +28 -13
  247. package/dist/modules/catalog-admission/src/index.js.map +1 -1
  248. package/dist/modules/catalog-admission/src/machine-admission.d.ts +65 -19
  249. package/dist/modules/catalog-admission/src/machine-admission.d.ts.map +1 -1
  250. package/dist/modules/catalog-admission/src/machine-admission.js +5 -331
  251. package/dist/modules/catalog-admission/src/machine-admission.js.map +1 -1
  252. package/dist/modules/catalog-admission/src/publication-composition.d.ts +17 -1
  253. package/dist/modules/catalog-admission/src/publication-composition.d.ts.map +1 -1
  254. package/dist/modules/catalog-admission/src/publication-dependencies.d.ts +1 -6
  255. package/dist/modules/catalog-admission/src/publication-dependencies.d.ts.map +1 -1
  256. package/dist/modules/catalog-admission/src/publication-dependencies.js +5 -33
  257. package/dist/modules/catalog-admission/src/publication-dependencies.js.map +1 -1
  258. package/dist/modules/catalog-admission/src/publication-entities.d.ts +0 -1
  259. package/dist/modules/catalog-admission/src/publication-entities.d.ts.map +1 -1
  260. package/dist/modules/catalog-admission/src/publication-entities.js +1 -1
  261. package/dist/modules/catalog-admission/src/publication-entities.js.map +1 -1
  262. package/dist/modules/catalog-admission/src/publication.d.ts +3 -8
  263. package/dist/modules/catalog-admission/src/publication.d.ts.map +1 -1
  264. package/dist/modules/catalog-admission/src/publication.js +0 -13
  265. package/dist/modules/catalog-admission/src/publication.js.map +1 -1
  266. package/dist/modules/catalog-admission/src/submission.js +1 -1
  267. package/dist/modules/catalog-admission/src/submission.js.map +1 -1
  268. package/dist/modules/catalog-admission/src/taxonomy.d.ts +3 -0
  269. package/dist/modules/catalog-admission/src/taxonomy.d.ts.map +1 -0
  270. package/dist/modules/catalog-admission/src/taxonomy.js +7 -0
  271. package/dist/modules/catalog-admission/src/taxonomy.js.map +1 -0
  272. package/dist/modules/catalog-authoring-validation/src/index.d.ts +0 -1
  273. package/dist/modules/catalog-authoring-validation/src/index.d.ts.map +1 -1
  274. package/dist/modules/catalog-authoring-validation/src/index.js +1 -1
  275. package/dist/modules/catalog-authoring-validation/src/index.js.map +1 -1
  276. package/dist/modules/catalog-model/src/index.d.ts +2 -2
  277. package/dist/modules/catalog-model/src/index.d.ts.map +1 -1
  278. package/dist/modules/catalog-primitives/src/index.d.ts +2 -4
  279. package/dist/modules/catalog-primitives/src/index.d.ts.map +1 -1
  280. package/dist/modules/catalog-primitives/src/index.js +24 -0
  281. package/dist/modules/catalog-primitives/src/index.js.map +1 -1
  282. package/dist/modules/catalog-read-port/src/index.d.ts +3 -3
  283. package/dist/modules/catalog-read-port/src/index.d.ts.map +1 -1
  284. package/dist/modules/evidence-comparison/src/domains.d.ts +8 -0
  285. package/dist/modules/evidence-comparison/src/domains.d.ts.map +1 -0
  286. package/dist/modules/evidence-comparison/src/domains.js +16 -0
  287. package/dist/modules/evidence-comparison/src/domains.js.map +1 -0
  288. package/dist/modules/evidence-operations/src/attested-capture.d.ts +75 -0
  289. package/dist/modules/evidence-operations/src/attested-capture.d.ts.map +1 -0
  290. package/dist/modules/evidence-operations/src/attested-capture.js +227 -0
  291. package/dist/modules/evidence-operations/src/attested-capture.js.map +1 -0
  292. package/dist/modules/evidence-operations/src/configuration.d.ts +2 -163
  293. package/dist/modules/evidence-operations/src/configuration.d.ts.map +1 -1
  294. package/dist/modules/evidence-operations/src/configuration.js +7 -7
  295. package/dist/modules/evidence-operations/src/configuration.js.map +1 -1
  296. package/dist/modules/evidence-operations/src/evidence-authority-materialization.d.ts +53 -0
  297. package/dist/modules/evidence-operations/src/evidence-authority-materialization.d.ts.map +1 -0
  298. package/dist/modules/evidence-operations/src/evidence-authority-materialization.js +161 -0
  299. package/dist/modules/evidence-operations/src/evidence-authority-materialization.js.map +1 -0
  300. package/dist/modules/evidence-operations/src/evidence-authority.d.ts +27 -2128
  301. package/dist/modules/evidence-operations/src/evidence-authority.d.ts.map +1 -1
  302. package/dist/modules/evidence-operations/src/evidence-authority.js +46 -206
  303. package/dist/modules/evidence-operations/src/evidence-authority.js.map +1 -1
  304. package/dist/modules/evidence-operations/src/evidence-normalization.d.ts +10 -96
  305. package/dist/modules/evidence-operations/src/evidence-normalization.d.ts.map +1 -1
  306. package/dist/modules/evidence-operations/src/evidence-normalization.js +32 -329
  307. package/dist/modules/evidence-operations/src/evidence-normalization.js.map +1 -1
  308. package/dist/modules/evidence-operations/src/evidence-revision.d.ts +5 -0
  309. package/dist/modules/evidence-operations/src/evidence-revision.d.ts.map +1 -0
  310. package/dist/modules/evidence-operations/src/evidence-revision.js +12 -0
  311. package/dist/modules/evidence-operations/src/evidence-revision.js.map +1 -0
  312. package/dist/modules/evidence-operations/src/proof-graph.d.ts +13 -6
  313. package/dist/modules/evidence-operations/src/proof-graph.d.ts.map +1 -1
  314. package/dist/modules/evidence-operations/src/proof-graph.js +82 -59
  315. package/dist/modules/evidence-operations/src/proof-graph.js.map +1 -1
  316. package/dist/modules/evidence-operations/src/retained-revision.d.ts +7 -5
  317. package/dist/modules/evidence-operations/src/retained-revision.d.ts.map +1 -1
  318. package/dist/modules/evidence-operations/src/retained-revision.js +14 -16
  319. package/dist/modules/evidence-operations/src/retained-revision.js.map +1 -1
  320. package/dist/modules/evidence-operations/src/source-authority.js +1 -1
  321. package/dist/modules/evidence-operations/src/source-authority.js.map +1 -1
  322. package/dist/modules/evidence-operations/src/submission-verifier.d.ts +13 -23
  323. package/dist/modules/evidence-operations/src/submission-verifier.d.ts.map +1 -1
  324. package/dist/modules/evidence-operations/src/submission-verifier.js +5 -20
  325. package/dist/modules/evidence-operations/src/submission-verifier.js.map +1 -1
  326. package/dist/modules/provenance/src/evidence-bindings.d.ts +2 -1
  327. package/dist/modules/provenance/src/evidence-bindings.d.ts.map +1 -1
  328. package/dist/modules/provenance/src/evidence-coverage.d.ts +2 -1
  329. package/dist/modules/provenance/src/evidence-coverage.d.ts.map +1 -1
  330. package/dist/modules/provenance/src/index.d.ts +17 -11
  331. package/dist/modules/provenance/src/index.d.ts.map +1 -1
  332. package/dist/modules/provenance/src/index.js +62 -62
  333. package/dist/modules/provenance/src/index.js.map +1 -1
  334. package/dist/modules/provenance/src/material-claims.d.ts +7 -136
  335. package/dist/modules/provenance/src/material-claims.d.ts.map +1 -1
  336. package/dist/modules/provenance/src/material-claims.js +8 -10
  337. package/dist/modules/provenance/src/material-claims.js.map +1 -1
  338. package/dist/modules/release/src/agent-readiness-authority.d.ts +71 -0
  339. package/dist/modules/release/src/agent-readiness-authority.d.ts.map +1 -0
  340. package/dist/modules/release/src/agent-readiness-authority.js +164 -0
  341. package/dist/modules/release/src/agent-readiness-authority.js.map +1 -0
  342. package/dist/modules/release/src/agent-readiness-publication-inputs.d.ts +1 -2
  343. package/dist/modules/release/src/agent-readiness-publication-inputs.d.ts.map +1 -1
  344. package/dist/modules/release/src/agent-readiness-publication-inputs.js +3 -6
  345. package/dist/modules/release/src/agent-readiness-publication-inputs.js.map +1 -1
  346. package/dist/modules/release/src/agent-readiness-regrade-evidence.d.ts +13 -89
  347. package/dist/modules/release/src/agent-readiness-regrade-evidence.d.ts.map +1 -1
  348. package/dist/modules/release/src/agent-readiness-regrade-evidence.js +14 -46
  349. package/dist/modules/release/src/agent-readiness-regrade-evidence.js.map +1 -1
  350. package/dist/modules/release/src/changes.d.ts +3 -3
  351. package/dist/modules/release/src/changes.d.ts.map +1 -1
  352. package/dist/modules/release/src/changes.js +1 -2
  353. package/dist/modules/release/src/changes.js.map +1 -1
  354. package/dist/modules/release/src/evidence-admission.d.ts +10 -10
  355. package/dist/modules/release/src/evidence-admission.d.ts.map +1 -1
  356. package/dist/modules/release/src/evidence-admission.js +52 -60
  357. package/dist/modules/release/src/evidence-admission.js.map +1 -1
  358. package/dist/modules/release/src/evidence-bundle-tree.d.ts +7 -7
  359. package/dist/modules/release/src/evidence-bundle-tree.d.ts.map +1 -1
  360. package/dist/modules/release/src/evidence-bundle-tree.js +15 -15
  361. package/dist/modules/release/src/evidence-bundle-tree.js.map +1 -1
  362. package/dist/modules/release/src/identity.d.ts +2 -1
  363. package/dist/modules/release/src/identity.d.ts.map +1 -1
  364. package/dist/modules/release/src/identity.js.map +1 -1
  365. package/dist/modules/release/src/inputs.d.ts +12 -11
  366. package/dist/modules/release/src/inputs.d.ts.map +1 -1
  367. package/dist/modules/release/src/inputs.js +30 -202
  368. package/dist/modules/release/src/inputs.js.map +1 -1
  369. package/dist/modules/release/src/publication-inputs.d.ts +2 -1
  370. package/dist/modules/release/src/publication-inputs.d.ts.map +1 -1
  371. package/dist/modules/release/src/transition.d.ts +2 -2
  372. package/dist/modules/release/src/transition.d.ts.map +1 -1
  373. package/dist/modules/release/src/transition.js.map +1 -1
  374. package/dist/modules/release/src/verification-policies.d.ts +59 -242
  375. package/dist/modules/release/src/verification-policies.d.ts.map +1 -1
  376. package/dist/modules/release/src/verification-policies.js +2 -2
  377. package/dist/modules/release/src/verification-policies.js.map +1 -1
  378. package/dist/modules/sourcey-publication/src/verifier.d.ts +4 -3
  379. package/dist/modules/sourcey-publication/src/verifier.d.ts.map +1 -1
  380. package/dist/modules/sourcey-publication/src/verifier.js +53 -50
  381. package/dist/modules/sourcey-publication/src/verifier.js.map +1 -1
  382. package/dist/packages/catalog-verifier/src/application.d.ts +2 -5
  383. package/dist/packages/catalog-verifier/src/application.d.ts.map +1 -1
  384. package/dist/packages/catalog-verifier/src/application.js +2 -5
  385. package/dist/packages/catalog-verifier/src/application.js.map +1 -1
  386. package/dist/packages/catalog-verifier/src/program.js +1 -1
  387. package/dist/packages/catalog-verifier/src/program.js.map +1 -1
  388. package/package.json +2 -3
  389. package/dist/contracts/agent-readiness/src/evidence.d.ts +0 -245
  390. package/dist/contracts/agent-readiness/src/evidence.d.ts.map +0 -1
  391. package/dist/contracts/agent-readiness/src/evidence.js +0 -213
  392. package/dist/contracts/agent-readiness/src/evidence.js.map +0 -1
  393. package/dist/contracts/agent-readiness/src/interaction.d.ts +0 -26
  394. package/dist/contracts/agent-readiness/src/interaction.d.ts.map +0 -1
  395. package/dist/contracts/agent-readiness/src/interaction.js +0 -24
  396. package/dist/contracts/agent-readiness/src/interaction.js.map +0 -1
  397. package/dist/contracts/agent-readiness/src/method-pack.d.ts +0 -389
  398. package/dist/contracts/agent-readiness/src/method-pack.d.ts.map +0 -1
  399. package/dist/contracts/agent-readiness/src/method-pack.js +0 -181
  400. package/dist/contracts/agent-readiness/src/method-pack.js.map +0 -1
  401. package/dist/modules/agent-readiness-policy/src/corroboration.d.ts +0 -38
  402. package/dist/modules/agent-readiness-policy/src/corroboration.d.ts.map +0 -1
  403. package/dist/modules/agent-readiness-policy/src/corroboration.js +0 -66
  404. package/dist/modules/agent-readiness-policy/src/corroboration.js.map +0 -1
  405. package/dist/modules/agent-readiness-policy/src/current-policy-metrics.d.ts +0 -35
  406. package/dist/modules/agent-readiness-policy/src/current-policy-metrics.d.ts.map +0 -1
  407. package/dist/modules/agent-readiness-policy/src/current-policy-metrics.js +0 -721
  408. package/dist/modules/agent-readiness-policy/src/current-policy-metrics.js.map +0 -1
  409. package/dist/modules/agent-readiness-policy/src/current-policy-standards.d.ts +0 -99
  410. package/dist/modules/agent-readiness-policy/src/current-policy-standards.d.ts.map +0 -1
  411. package/dist/modules/agent-readiness-policy/src/current-policy-standards.js +0 -99
  412. package/dist/modules/agent-readiness-policy/src/current-policy-standards.js.map +0 -1
  413. package/dist/modules/agent-readiness-policy/src/current-policy-validation.d.ts +0 -4
  414. package/dist/modules/agent-readiness-policy/src/current-policy-validation.d.ts.map +0 -1
  415. package/dist/modules/agent-readiness-policy/src/current-policy-validation.js +0 -11
  416. package/dist/modules/agent-readiness-policy/src/current-policy-validation.js.map +0 -1
  417. package/dist/modules/agent-readiness-policy/src/grading.d.ts +0 -40
  418. package/dist/modules/agent-readiness-policy/src/grading.d.ts.map +0 -1
  419. package/dist/modules/agent-readiness-policy/src/grading.js +0 -46
  420. package/dist/modules/agent-readiness-policy/src/grading.js.map +0 -1
  421. package/dist/modules/agent-readiness-policy/src/policy-validation.d.ts +0 -3
  422. package/dist/modules/agent-readiness-policy/src/policy-validation.d.ts.map +0 -1
  423. package/dist/modules/agent-readiness-policy/src/policy-validation.js +0 -39
  424. package/dist/modules/agent-readiness-policy/src/policy-validation.js.map +0 -1
  425. package/dist/modules/agent-readiness-policy/src/projection-lineage.d.ts +0 -3
  426. package/dist/modules/agent-readiness-policy/src/projection-lineage.d.ts.map +0 -1
  427. package/dist/modules/agent-readiness-policy/src/projection-lineage.js +0 -12
  428. package/dist/modules/agent-readiness-policy/src/projection-lineage.js.map +0 -1
  429. package/dist/modules/agent-readiness-policy/src/standard-mapping.d.ts +0 -7
  430. package/dist/modules/agent-readiness-policy/src/standard-mapping.d.ts.map +0 -1
  431. package/dist/modules/agent-readiness-policy/src/standard-mapping.js +0 -14
  432. package/dist/modules/agent-readiness-policy/src/standard-mapping.js.map +0 -1
  433. package/dist/modules/agent-readiness-policy/src/surface-selection.d.ts +0 -44
  434. package/dist/modules/agent-readiness-policy/src/surface-selection.d.ts.map +0 -1
  435. package/dist/modules/agent-readiness-policy/src/surface-selection.js +0 -238
  436. package/dist/modules/agent-readiness-policy/src/surface-selection.js.map +0 -1
  437. package/dist/modules/agent-readiness-repository/src/admission.d.ts +0 -35
  438. package/dist/modules/agent-readiness-repository/src/admission.d.ts.map +0 -1
  439. package/dist/modules/agent-readiness-repository/src/admission.js +0 -56
  440. package/dist/modules/agent-readiness-repository/src/admission.js.map +0 -1
  441. package/dist/modules/authority/src/retained-capture-receipt.d.ts +0 -95
  442. package/dist/modules/authority/src/retained-capture-receipt.d.ts.map +0 -1
  443. package/dist/modules/authority/src/retained-capture-receipt.js +0 -76
  444. package/dist/modules/authority/src/retained-capture-receipt.js.map +0 -1
  445. package/dist/modules/catalog-admission/src/publication-recomposition.d.ts +0 -42
  446. package/dist/modules/catalog-admission/src/publication-recomposition.d.ts.map +0 -1
  447. package/dist/modules/catalog-admission/src/publication-recomposition.js +0 -163
  448. package/dist/modules/catalog-admission/src/publication-recomposition.js.map +0 -1
  449. package/dist/modules/evidence-comparison/src/values.d.ts +0 -75
  450. package/dist/modules/evidence-comparison/src/values.d.ts.map +0 -1
  451. package/dist/modules/evidence-comparison/src/values.js +0 -283
  452. package/dist/modules/evidence-comparison/src/values.js.map +0 -1
  453. package/dist/modules/evidence-grounding/src/figures.d.ts +0 -56
  454. package/dist/modules/evidence-grounding/src/figures.d.ts.map +0 -1
  455. package/dist/modules/evidence-grounding/src/figures.js +0 -727
  456. package/dist/modules/evidence-grounding/src/figures.js.map +0 -1
  457. package/dist/modules/evidence-grounding/src/index.d.ts +0 -4
  458. package/dist/modules/evidence-grounding/src/index.d.ts.map +0 -1
  459. package/dist/modules/evidence-grounding/src/index.js +0 -4
  460. package/dist/modules/evidence-grounding/src/index.js.map +0 -1
  461. package/dist/modules/evidence-grounding/src/locator.d.ts +0 -50
  462. package/dist/modules/evidence-grounding/src/locator.d.ts.map +0 -1
  463. package/dist/modules/evidence-grounding/src/locator.js +0 -162
  464. package/dist/modules/evidence-grounding/src/locator.js.map +0 -1
  465. package/dist/modules/evidence-grounding/src/written.d.ts +0 -29
  466. package/dist/modules/evidence-grounding/src/written.d.ts.map +0 -1
  467. package/dist/modules/evidence-grounding/src/written.js +0 -111
  468. package/dist/modules/evidence-grounding/src/written.js.map +0 -1
  469. package/dist/modules/evidence-operations/src/dependency-versions.d.ts +0 -2
  470. package/dist/modules/evidence-operations/src/dependency-versions.d.ts.map +0 -1
  471. package/dist/modules/evidence-operations/src/dependency-versions.js +0 -17
  472. package/dist/modules/evidence-operations/src/dependency-versions.js.map +0 -1
  473. package/dist/modules/evidence-operations/src/html-document.d.ts +0 -4
  474. package/dist/modules/evidence-operations/src/html-document.d.ts.map +0 -1
  475. package/dist/modules/evidence-operations/src/html-document.js +0 -99
  476. package/dist/modules/evidence-operations/src/html-document.js.map +0 -1
  477. package/dist/modules/policy-identity/src/index.d.ts +0 -7
  478. package/dist/modules/policy-identity/src/index.d.ts.map +0 -1
  479. package/dist/modules/policy-identity/src/index.js +0 -23
  480. package/dist/modules/policy-identity/src/index.js.map +0 -1
  481. package/dist/modules/release/src/publication-authorities.d.ts +0 -298
  482. package/dist/modules/release/src/publication-authorities.d.ts.map +0 -1
  483. package/dist/modules/release/src/publication-authorities.js +0 -56
  484. package/dist/modules/release/src/publication-authorities.js.map +0 -1
  485. package/dist/modules/standard-adapter-runtime/src/index.d.ts +0 -16
  486. package/dist/modules/standard-adapter-runtime/src/index.d.ts.map +0 -1
  487. package/dist/modules/standard-adapter-runtime/src/index.js +0 -43
  488. package/dist/modules/standard-adapter-runtime/src/index.js.map +0 -1
  489. package/dist/modules/standard-evidence/src/index.d.ts +0 -33
  490. package/dist/modules/standard-evidence/src/index.d.ts.map +0 -1
  491. package/dist/modules/standard-evidence/src/index.js +0 -149
  492. package/dist/modules/standard-evidence/src/index.js.map +0 -1
@@ -0,0 +1,466 @@
1
+ import { EXCHANGE_METHODS, FORM_MEDIA_TYPE, HEADER_NAME_PATTERN } from "provenry/exchange/records";
2
+ import { canonicalJson } from "provenry/primitives";
3
+ import { z } from "zod";
4
+ import { agentReadinessScopeKeySchema } from "./shared.js";
5
+ /**
6
+ * How one interface performs one library job: the exact calls, locations of
7
+ * observations consumed by Sourcey's assertions, the safe invalid request that must fail
8
+ * typed, and how authority, payment and credential upkeep work. A binding says
9
+ * where and how; the job library says what success is. Origins are literal, so
10
+ * a binding can never send a credential anywhere its declared endpoints do not
11
+ * name.
12
+ *
13
+ * Templates substitute only `{{input.<name>}}`, `{{run.nonce}}`,
14
+ * `{{sink.<name>}}` and `{{call.<call id><json pointer>}}` (an earlier call's
15
+ * JSON response). A JSON string that is exactly one placeholder keeps the
16
+ * referenced value's type; anywhere else a placeholder interpolates a scalar.
17
+ */
18
+ const PLACEHOLDER = /\{\{(input\.[a-z][a-z0-9_]*|run\.nonce|sink\.[a-z][a-z0-9_]*|call\.[a-z0-9]+(?:-[a-z0-9]+)*(?:\/(?:[^~/{}]|~[01])*)+)\}\}/gu;
19
+ const JSON_POINTER = /^(?:\/(?:[^~/]|~[01])*)*$/u;
20
+ /** The references a template makes, or null when any `{{` is not a valid placeholder. */
21
+ export function agentReadinessTemplateReferences(template) {
22
+ const references = [];
23
+ const residue = template.replaceAll(PLACEHOLDER, (_match, body) => {
24
+ if (body === "run.nonce")
25
+ references.push({ kind: "nonce" });
26
+ else if (body.startsWith("input."))
27
+ references.push({ kind: "input", name: body.slice(6) });
28
+ else if (body.startsWith("sink."))
29
+ references.push({ kind: "sink", name: body.slice(5) });
30
+ else {
31
+ const rest = body.slice(5);
32
+ const slash = rest.indexOf("/");
33
+ references.push({ kind: "call", callId: rest.slice(0, slash), pointer: rest.slice(slash) });
34
+ }
35
+ return "";
36
+ });
37
+ return residue.includes("{{") || residue.includes("}}") ? null : references;
38
+ }
39
+ /** Every template string in a JSON template value. */
40
+ export function agentReadinessJsonTemplates(value) {
41
+ if (typeof value === "string")
42
+ return [value];
43
+ if (Array.isArray(value))
44
+ return value.flatMap(agentReadinessJsonTemplates);
45
+ if (value !== null && typeof value === "object") {
46
+ return Object.values(value).flatMap(agentReadinessJsonTemplates);
47
+ }
48
+ return [];
49
+ }
50
+ const templateSchema = (maximum) => z
51
+ .string()
52
+ .max(maximum)
53
+ .refine((value) => agentReadinessTemplateReferences(value) !== null, "Invalid template.");
54
+ const nameSchema = z.string().regex(/^[a-z][a-z0-9_]{0,63}$/u);
55
+ const pointerSchema = z.string().max(256).regex(JSON_POINTER);
56
+ const callIdSchema = agentReadinessScopeKeySchema;
57
+ const methodsSchema = z.array(z.enum(EXCHANGE_METHODS)).min(1);
58
+ /** Headers a binding never sets: the transport and custody own them. */
59
+ const RESERVED_HEADERS = new Set([
60
+ "accept-encoding",
61
+ "authorization",
62
+ "connection",
63
+ "content-length",
64
+ "content-type",
65
+ "cookie",
66
+ "host",
67
+ "proxy-authorization",
68
+ "transfer-encoding",
69
+ "user-agent",
70
+ ]);
71
+ const httpBodySchema = z.discriminatedUnion("media_type", [
72
+ z.object({ media_type: z.literal("application/json"), json: z.json() }).strict(),
73
+ z
74
+ .object({
75
+ media_type: z.literal(FORM_MEDIA_TYPE),
76
+ form: z
77
+ .array(z
78
+ .object({
79
+ name: z.string().regex(/^[A-Za-z0-9_.-]{1,64}$/u),
80
+ value: templateSchema(2_048),
81
+ })
82
+ .strict())
83
+ .max(32),
84
+ })
85
+ .strict(),
86
+ ]);
87
+ const agentReadinessHttpCallSchema = z
88
+ .object({
89
+ kind: z.literal("http"),
90
+ call_id: callIdSchema,
91
+ /** The declared endpoint whose origin the URL must keep. */
92
+ endpoint_id: agentReadinessScopeKeySchema,
93
+ method: z.enum(EXCHANGE_METHODS),
94
+ /** An HTTPS URL whose scheme and authority are literal; only path and query may substitute. */
95
+ url: templateSchema(2_048).refine((value) => /^https:\/\/[^/{}?#\s]+(?:[/?]|$)/u.test(value), "A call URL has a literal HTTPS origin."),
96
+ headers: z
97
+ .array(z
98
+ .object({
99
+ name: z
100
+ .string()
101
+ .regex(HEADER_NAME_PATTERN)
102
+ .refine((name) => !RESERVED_HEADERS.has(name), "This header is not a binding's."),
103
+ value: templateSchema(512),
104
+ })
105
+ .strict())
106
+ .max(16),
107
+ body: httpBodySchema.nullable(),
108
+ /** Credential roles the call carries; custody attaches each by its grant. */
109
+ credentials: z.array(nameSchema).max(4),
110
+ })
111
+ .strict()
112
+ .superRefine((call, context) => {
113
+ const names = call.headers.map(({ name }) => name);
114
+ if (names.some((name, index) => index > 0 && names[index - 1] >= name)) {
115
+ context.addIssue({
116
+ code: "custom",
117
+ path: ["headers"],
118
+ message: "Call headers are unique and ordered by name.",
119
+ });
120
+ }
121
+ if ((call.method === "GET" || call.method === "HEAD") && call.body !== null) {
122
+ context.addIssue({ code: "custom", path: ["body"], message: "GET and HEAD carry no body." });
123
+ }
124
+ unique(call.credentials, context, ["credentials"], "A call names each credential once.");
125
+ });
126
+ const agentReadinessMcpCallSchema = z
127
+ .object({
128
+ kind: z.literal("mcp"),
129
+ call_id: callIdSchema,
130
+ /** The declared MCP endpoint; the session speaks whichever era the server does. */
131
+ endpoint_id: agentReadinessScopeKeySchema,
132
+ tool: z.string().min(1).max(128),
133
+ arguments: z.json(),
134
+ credentials: z.array(nameSchema).max(4),
135
+ })
136
+ .strict()
137
+ .superRefine((call, context) => {
138
+ unique(call.credentials, context, ["credentials"], "A call names each credential once.");
139
+ });
140
+ const agentReadinessCallSchema = z.discriminatedUnion("kind", [
141
+ agentReadinessHttpCallSchema,
142
+ agentReadinessMcpCallSchema,
143
+ ]);
144
+ /** A binding locates evidence; it cannot supply a predicate or expected value. */
145
+ const agentReadinessAssertionObservationSchema = z
146
+ .object({
147
+ name: nameSchema,
148
+ call: callIdSchema,
149
+ source: z.enum(["json", "stream"]),
150
+ pointer: pointerSchema,
151
+ })
152
+ .strict();
153
+ const placementSchema = z.union([
154
+ z
155
+ .object({ scheme: z.enum(["bearer", "basic"]), header_name: z.literal("authorization") })
156
+ .strict(),
157
+ z
158
+ .object({
159
+ scheme: z.literal("header"),
160
+ header_name: z
161
+ .string()
162
+ .regex(HEADER_NAME_PATTERN)
163
+ .refine((name) => name !== "authorization", "A header credential is not authorization."),
164
+ })
165
+ .strict(),
166
+ z
167
+ .object({ scheme: z.literal("form"), field: z.string().regex(/^[A-Za-z0-9_.-]{1,64}$/u) })
168
+ .strict(),
169
+ ]);
170
+ /** One credential the binding uses: its role, how it travels, and where it may go. */
171
+ const agentReadinessCredentialDeclarationSchema = z
172
+ .object({
173
+ role: nameSchema,
174
+ placement: placementSchema,
175
+ endpoint_ids: z.array(agentReadinessScopeKeySchema).min(1).max(8),
176
+ methods: methodsSchema,
177
+ })
178
+ .strict();
179
+ /** A credential a successful response issues, kept by custody under its role. */
180
+ const agentReadinessKeptCredentialSchema = agentReadinessCredentialDeclarationSchema
181
+ .safeExtend({
182
+ pointer: pointerSchema,
183
+ expires_in_pointer: pointerSchema.optional(),
184
+ })
185
+ .strict();
186
+ const issuingCall = {
187
+ call: agentReadinessHttpCallSchema,
188
+ keep: z.array(agentReadinessKeptCredentialSchema).min(1).max(4),
189
+ };
190
+ const agentReadinessDelegationSchema = z.discriminatedUnion("kind", [
191
+ /** The job needs no authority. */
192
+ z.object({ kind: z.literal("none") }).strict(),
193
+ /** A person enters a credential the service issued, such as a key copied from a dashboard. */
194
+ z
195
+ .object({
196
+ kind: z.literal("entered"),
197
+ credentials: z.array(agentReadinessCredentialDeclarationSchema).min(1).max(4),
198
+ })
199
+ .strict(),
200
+ /** The principal consents through OAuth, MCP authorization included; custody keeps the tokens. */
201
+ z
202
+ .object({
203
+ kind: z.literal("oauth"),
204
+ authorization_endpoint_id: agentReadinessScopeKeySchema,
205
+ token_endpoint_id: agentReadinessScopeKeySchema,
206
+ client: z.enum(["client_id_metadata_document", "dynamic_registration", "preregistered"]),
207
+ scopes: z.array(z.string().regex(/^[\x21\x23-\x5B\x5D-\x7E]{1,128}$/u)).max(32),
208
+ keep: z.array(agentReadinessKeptCredentialSchema).min(1).max(4),
209
+ })
210
+ .strict(),
211
+ /** An entered credential mints the one the job uses, through the service's own API. */
212
+ z
213
+ .object({
214
+ kind: z.literal("minted"),
215
+ from: agentReadinessCredentialDeclarationSchema,
216
+ ...issuingCall,
217
+ })
218
+ .strict(),
219
+ ]);
220
+ const agentReadinessPaymentSchema = z.discriminatedUnion("kind", [
221
+ /** The job costs nothing at the exercised use. */
222
+ z.object({ kind: z.literal("none") }).strict(),
223
+ /** The account holds a balance; a manual top-up is a recorded human step. */
224
+ z.object({ kind: z.literal("prepaid_balance") }).strict(),
225
+ /** The agent pays per call inside the exchange. */
226
+ z.object({ kind: z.literal("per_call"), protocol: z.enum(["x402", "mpp"]) }).strict(),
227
+ ]);
228
+ const agentReadinessSustainSchema = z
229
+ .object({
230
+ rotation: z.discriminatedUnion("kind", [
231
+ z.object({ kind: z.literal("not_applicable") }).strict(),
232
+ /** A refresh exchange issues the next credential. */
233
+ z.object({ kind: z.literal("refresh"), ...issuingCall }).strict(),
234
+ /** The service's API mints a replacement credential. */
235
+ z.object({ kind: z.literal("mint"), ...issuingCall }).strict(),
236
+ /** Only a person can rotate it; a run records that step. */
237
+ z.object({ kind: z.literal("manual") }).strict(),
238
+ ]),
239
+ revocation: z.discriminatedUnion("kind", [
240
+ z.object({ kind: z.literal("not_applicable") }).strict(),
241
+ z.object({ kind: z.literal("call"), call: agentReadinessHttpCallSchema }).strict(),
242
+ z.object({ kind: z.literal("manual") }).strict(),
243
+ ]),
244
+ /** Read-only effect witnesses; without them a 2xx establishes no upkeep. */
245
+ verification: z
246
+ .object({
247
+ probe: agentReadinessHttpCallSchema.safeExtend({
248
+ method: z.literal("GET"),
249
+ body: z.null(),
250
+ credentials: z.array(nameSchema).min(1).max(4),
251
+ }),
252
+ control: agentReadinessHttpCallSchema.safeExtend({
253
+ method: z.literal("GET"),
254
+ body: z.null(),
255
+ credentials: z.array(nameSchema).min(1).max(4),
256
+ }),
257
+ })
258
+ .strict()
259
+ .optional(),
260
+ })
261
+ .strict();
262
+ const agentReadinessErrorProbeSchema = z
263
+ .object({
264
+ call: agentReadinessCallSchema,
265
+ expect: z.discriminatedUnion("kind", [
266
+ /** A 4xx whose JSON body carries a machine-readable error at `error_pointer`. */
267
+ z
268
+ .object({
269
+ kind: z.literal("http_error"),
270
+ status_class: z.literal("4xx"),
271
+ error_pointer: pointerSchema,
272
+ })
273
+ .strict(),
274
+ /** A JSON-RPC error, or a tool result marked `isError`. */
275
+ z.object({ kind: z.literal("mcp_error") }).strict(),
276
+ ]),
277
+ })
278
+ .strict();
279
+ export const agentReadinessJobBindingSchema = z
280
+ .object({
281
+ binding_id: agentReadinessScopeKeySchema,
282
+ interface_id: agentReadinessScopeKeySchema,
283
+ /** The job, in order; a call may use any earlier call's response. */
284
+ calls: z.array(agentReadinessCallSchema).min(1).max(8),
285
+ /** Exactly one entry per library assertion of the job. */
286
+ assertions: z
287
+ .array(z
288
+ .object({
289
+ assertion: nameSchema,
290
+ observations: z.array(agentReadinessAssertionObservationSchema).max(8),
291
+ })
292
+ .strict())
293
+ .min(1)
294
+ .max(8),
295
+ error_probe: agentReadinessErrorProbeSchema,
296
+ delegation: agentReadinessDelegationSchema,
297
+ payment: agentReadinessPaymentSchema,
298
+ sustain: agentReadinessSustainSchema,
299
+ /** What a consequential job's calls created, removed again; may use the job's responses. */
300
+ cleanup: z.array(agentReadinessCallSchema).max(4),
301
+ })
302
+ .strict()
303
+ .superRefine(validateBinding);
304
+ /** Every call a binding can make, with the calls each may read. */
305
+ export function agentReadinessBindingCalls(binding) {
306
+ const jobIds = binding.calls.map(({ call_id }) => call_id);
307
+ const calls = [];
308
+ if (binding.delegation.kind === "minted")
309
+ calls.push({ call: binding.delegation.call, mayRead: [] });
310
+ for (const [index, call] of binding.calls.entries()) {
311
+ calls.push({ call, mayRead: jobIds.slice(0, index) });
312
+ }
313
+ calls.push({ call: binding.error_probe.call, mayRead: jobIds });
314
+ const { rotation, revocation } = binding.sustain;
315
+ if (rotation.kind === "refresh" || rotation.kind === "mint") {
316
+ calls.push({ call: rotation.call, mayRead: [] });
317
+ }
318
+ if (revocation.kind === "call")
319
+ calls.push({ call: revocation.call, mayRead: [] });
320
+ if (binding.sustain.verification) {
321
+ calls.push({ call: binding.sustain.verification.probe, mayRead: jobIds });
322
+ calls.push({ call: binding.sustain.verification.control, mayRead: jobIds });
323
+ }
324
+ for (const call of binding.cleanup)
325
+ calls.push({ call, mayRead: jobIds });
326
+ return calls;
327
+ }
328
+ /** Credential roles the binding obtains, from delegation and any minting or rotation. */
329
+ function agentReadinessBindingRoles(binding) {
330
+ const { delegation } = binding;
331
+ const roles = delegation.kind === "none"
332
+ ? []
333
+ : delegation.kind === "entered"
334
+ ? delegation.credentials.map(({ role }) => role)
335
+ : delegation.kind === "oauth"
336
+ ? delegation.keep.map(({ role }) => role)
337
+ : [delegation.from.role, ...delegation.keep.map(({ role }) => role)];
338
+ const rotation = binding.sustain.rotation;
339
+ const rotated = rotation.kind === "refresh" || rotation.kind === "mint"
340
+ ? rotation.keep.map(({ role }) => role)
341
+ : [];
342
+ return [...new Set([...roles, ...rotated])];
343
+ }
344
+ function validateBinding(binding, context) {
345
+ const calls = agentReadinessBindingCalls(binding);
346
+ unique(calls.map(({ call }) => call.call_id), context, ["calls"], "Call ids are unique across the binding.");
347
+ const roles = new Set(agentReadinessBindingRoles(binding));
348
+ for (const { call, mayRead } of calls) {
349
+ for (const role of call.credentials) {
350
+ if (!roles.has(role)) {
351
+ context.addIssue({
352
+ code: "custom",
353
+ path: ["calls"],
354
+ message: `Call ${call.call_id} carries credential ${role}, which the binding never obtains.`,
355
+ });
356
+ }
357
+ }
358
+ const readable = new Set(mayRead);
359
+ for (const template of callTemplates(call)) {
360
+ const references = agentReadinessTemplateReferences(template);
361
+ if (references === null) {
362
+ context.addIssue({
363
+ code: "custom",
364
+ path: ["calls"],
365
+ message: `Call ${call.call_id} has an invalid template.`,
366
+ });
367
+ }
368
+ for (const reference of references ?? []) {
369
+ if (reference.kind === "call" && !readable.has(reference.callId)) {
370
+ context.addIssue({
371
+ code: "custom",
372
+ path: ["calls"],
373
+ message: `Call ${call.call_id} reads ${reference.callId}, which does not run before it.`,
374
+ });
375
+ }
376
+ }
377
+ }
378
+ }
379
+ const jobCalls = new Map(binding.calls.map((call) => [call.call_id, call]));
380
+ unique(binding.assertions.map(({ assertion }) => assertion), context, ["assertions"], "Each assertion is mapped once.");
381
+ for (const [index, { observations }] of binding.assertions.entries()) {
382
+ unique(observations.map(({ name }) => name), context, ["assertions", index], "Each assertion observation is located once.");
383
+ for (const observation of observations) {
384
+ const call = jobCalls.get(observation.call);
385
+ if (!call) {
386
+ context.addIssue({
387
+ code: "custom",
388
+ path: ["assertions", index],
389
+ message: `An observation reads ${observation.call}, which is not a job call.`,
390
+ });
391
+ }
392
+ else if (observation.source === "stream" && call.kind !== "http") {
393
+ context.addIssue({
394
+ code: "custom",
395
+ path: ["assertions", index],
396
+ message: "A streamed observation belongs to an HTTP event stream.",
397
+ });
398
+ }
399
+ }
400
+ }
401
+ const probe = binding.error_probe;
402
+ if ((probe.expect.kind === "mcp_error") !== (probe.call.kind === "mcp")) {
403
+ context.addIssue({
404
+ code: "custom",
405
+ path: ["error_probe"],
406
+ message: "An MCP probe expects an MCP error; an HTTP probe expects an HTTP error.",
407
+ });
408
+ }
409
+ const credentialed = binding.delegation.kind !== "none";
410
+ const { rotation, revocation } = binding.sustain;
411
+ if ((rotation.kind === "not_applicable") === credentialed ||
412
+ (revocation.kind === "not_applicable") === credentialed) {
413
+ context.addIssue({
414
+ code: "custom",
415
+ path: ["sustain"],
416
+ message: "Sustain is not applicable exactly when the job needs no credential.",
417
+ });
418
+ }
419
+ const verification = binding.sustain.verification;
420
+ if (verification) {
421
+ const { probe, control } = verification;
422
+ if (rotation.kind !== "refresh" && rotation.kind !== "mint" && revocation.kind !== "call") {
423
+ context.addIssue({
424
+ code: "custom",
425
+ path: ["sustain", "verification"],
426
+ message: "Upkeep witnesses require an executable maintenance operation.",
427
+ });
428
+ }
429
+ if (probe.endpoint_id !== control.endpoint_id ||
430
+ probe.url !== control.url ||
431
+ canonicalJson(probe.headers) !== canonicalJson(control.headers) ||
432
+ probe.credentials.some((role) => control.credentials.includes(role))) {
433
+ context.addIssue({
434
+ code: "custom",
435
+ path: ["sustain", "verification"],
436
+ message: "The control reads the same surface with independent authority.",
437
+ });
438
+ }
439
+ if ((rotation.kind === "mint" || rotation.kind === "refresh") &&
440
+ probe.credentials.some((role) => !rotation.keep.some((kept) => kept.role === role))) {
441
+ context.addIssue({
442
+ code: "custom",
443
+ path: ["sustain", "verification"],
444
+ message: "The probe uses the authority issued by rotation.",
445
+ });
446
+ }
447
+ }
448
+ }
449
+ function callTemplates(call) {
450
+ if (call.kind === "mcp")
451
+ return agentReadinessJsonTemplates(call.arguments);
452
+ return [
453
+ call.url,
454
+ ...call.headers.map(({ value }) => value),
455
+ ...(call.body === null
456
+ ? []
457
+ : call.body.media_type === "application/json"
458
+ ? agentReadinessJsonTemplates(call.body.json)
459
+ : call.body.form.map(({ value }) => value)),
460
+ ];
461
+ }
462
+ function unique(values, context, path, message) {
463
+ if (new Set(values).size !== values.length)
464
+ context.addIssue({ code: "custom", path, message });
465
+ }
466
+ //# sourceMappingURL=binding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binding.js","sourceRoot":"","sources":["../../../../contracts/agent-readiness/src/binding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACnG,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAE3D;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,GACf,6HAA6H,CAAC;AAChI,MAAM,YAAY,GAAG,4BAA4B,CAAC;AAQlD,yFAAyF;AACzF,MAAM,UAAU,gCAAgC,CAC9C,QAAgB;IAEhB,MAAM,UAAU,GAAsC,EAAE,CAAC;IACzD,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,IAAY,EAAE,EAAE;QACxE,IAAI,IAAI,KAAK,WAAW;YAAE,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;aACxD,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACvF,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACrF,CAAC;YACJ,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAChC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9F,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;AAC9E,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,2BAA2B,CAAC,KAAc;IACxD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAC5E,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,cAAc,GAAG,CAAC,OAAe,EAAE,EAAE,CACzC,CAAC;KACE,MAAM,EAAE;KACR,GAAG,CAAC,OAAO,CAAC;KACZ,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,gCAAgC,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,mBAAmB,CAAC,CAAC;AAE9F,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;AAC/D,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AAC9D,MAAM,YAAY,GAAG,4BAA4B,CAAC;AAClD,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAE/D,wEAAwE;AACxE,MAAM,gBAAgB,GAAwB,IAAI,GAAG,CAAC;IACpD,iBAAiB;IACjB,eAAe;IACf,YAAY;IACZ,gBAAgB;IAChB,cAAc;IACd,QAAQ;IACR,MAAM;IACN,qBAAqB;IACrB,mBAAmB;IACnB,YAAY;CACb,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,CAAC,CAAC,kBAAkB,CAAC,YAAY,EAAE;IACxD,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IAChF,CAAC;SACE,MAAM,CAAC;QACN,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;QACtC,IAAI,EAAE,CAAC;aACJ,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,yBAAyB,CAAC;YACjD,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC;SAC7B,CAAC;aACD,MAAM,EAAE,CACZ;aACA,GAAG,CAAC,EAAE,CAAC;KACX,CAAC;SACD,MAAM,EAAE;CACZ,CAAC,CAAC;AAEH,MAAM,4BAA4B,GAAG,CAAC;KACnC,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACvB,OAAO,EAAE,YAAY;IACrB,4DAA4D;IAC5D,WAAW,EAAE,4BAA4B;IACzC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;IAChC,+FAA+F;IAC/F,GAAG,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,MAAM,CAC/B,CAAC,KAAK,EAAE,EAAE,CAAC,mCAAmC,CAAC,IAAI,CAAC,KAAK,CAAC,EAC1D,wCAAwC,CACzC;IACD,OAAO,EAAE,CAAC;SACP,KAAK,CACJ,CAAC;SACE,MAAM,CAAC;QACN,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,KAAK,CAAC,mBAAmB,CAAC;aAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,iCAAiC,CAAC;QACnF,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC;KAC3B,CAAC;SACD,MAAM,EAAE,CACZ;SACA,GAAG,CAAC,EAAE,CAAC;IACV,IAAI,EAAE,cAAc,CAAC,QAAQ,EAAE;IAC/B,6EAA6E;IAC7E,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CACxC,CAAC;KACD,MAAM,EAAE;KACR,WAAW,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,IAAK,KAAK,CAAC,KAAK,GAAG,CAAC,CAAY,IAAI,IAAI,CAAC,EAAE,CAAC;QACnF,OAAO,CAAC,QAAQ,CAAC;YACf,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,SAAS,CAAC;YACjB,OAAO,EAAE,8CAA8C;SACxD,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAC5E,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC,CAAC;IAC/F,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,aAAa,CAAC,EAAE,oCAAoC,CAAC,CAAC;AAC3F,CAAC,CAAC,CAAC;AAEL,MAAM,2BAA2B,GAAG,CAAC;KAClC,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACtB,OAAO,EAAE,YAAY;IACrB,mFAAmF;IACnF,WAAW,EAAE,4BAA4B;IACzC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAChC,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE;IACnB,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CACxC,CAAC;KACD,MAAM,EAAE;KACR,WAAW,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAC7B,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,aAAa,CAAC,EAAE,oCAAoC,CAAC,CAAC;AAC3F,CAAC,CAAC,CAAC;AAEL,MAAM,wBAAwB,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC5D,4BAA4B;IAC5B,2BAA2B;CAC5B,CAAC,CAAC;AAGH,kFAAkF;AAClF,MAAM,wCAAwC,GAAG,CAAC;KAC/C,MAAM,CAAC;IACN,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,YAAY;IAClB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAClC,OAAO,EAAE,aAAa;CACvB,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC;IAC9B,CAAC;SACE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;SACxF,MAAM,EAAE;IACX,CAAC;SACE,MAAM,CAAC;QACN,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC3B,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,KAAK,CAAC,mBAAmB,CAAC;aAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,eAAe,EAAE,2CAA2C,CAAC;KAC3F,CAAC;SACD,MAAM,EAAE;IACX,CAAC;SACE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,yBAAyB,CAAC,EAAE,CAAC;SACzF,MAAM,EAAE;CACZ,CAAC,CAAC;AAEH,sFAAsF;AACtF,MAAM,yCAAyC,GAAG,CAAC;KAChD,MAAM,CAAC;IACN,IAAI,EAAE,UAAU;IAChB,SAAS,EAAE,eAAe;IAC1B,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACjE,OAAO,EAAE,aAAa;CACvB,CAAC;KACD,MAAM,EAAE,CAAC;AAMZ,iFAAiF;AACjF,MAAM,kCAAkC,GAAG,yCAAyC;KACjF,UAAU,CAAC;IACV,OAAO,EAAE,aAAa;IACtB,kBAAkB,EAAE,aAAa,CAAC,QAAQ,EAAE;CAC7C,CAAC;KACD,MAAM,EAAE,CAAC;AAIZ,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,4BAA4B;IAClC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CAChE,CAAC;AAEF,MAAM,8BAA8B,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAClE,kCAAkC;IAClC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;IAC9C,8FAA8F;IAC9F,CAAC;SACE,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QAC1B,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;KAC9E,CAAC;SACD,MAAM,EAAE;IACX,kGAAkG;IAClG,CAAC;SACE,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QACxB,yBAAyB,EAAE,4BAA4B;QACvD,iBAAiB,EAAE,4BAA4B;QAC/C,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,6BAA6B,EAAE,sBAAsB,EAAE,eAAe,CAAC,CAAC;QACxF,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/E,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;KAChE,CAAC;SACD,MAAM,EAAE;IACX,uFAAuF;IACvF,CAAC;SACE,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACzB,IAAI,EAAE,yCAAyC;QAC/C,GAAG,WAAW;KACf,CAAC;SACD,MAAM,EAAE;CACZ,CAAC,CAAC;AAEH,MAAM,2BAA2B,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC/D,kDAAkD;IAClD,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;IAC9C,6EAA6E;IAC7E,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;IACzD,mDAAmD;IACnD,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;CACtF,CAAC,CAAC;AAEH,MAAM,2BAA2B,GAAG,CAAC;KAClC,MAAM,CAAC;IACN,QAAQ,EAAE,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;QACrC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;QACxD,qDAAqD;QACrD,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;QACjE,wDAAwD;QACxD,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;QAC9D,4DAA4D;QAC5D,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;KACjD,CAAC;IACF,UAAU,EAAE,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;QACvC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;QACxD,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC,CAAC,MAAM,EAAE;QAClF,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;KACjD,CAAC;IACF,4EAA4E;IAC5E,YAAY,EAAE,CAAC;SACZ,MAAM,CAAC;QACN,KAAK,EAAE,4BAA4B,CAAC,UAAU,CAAC;YAC7C,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;YACxB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;YACd,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;SAC/C,CAAC;QACF,OAAO,EAAE,4BAA4B,CAAC,UAAU,CAAC;YAC/C,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;YACxB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;YACd,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;SAC/C,CAAC;KACH,CAAC;SACD,MAAM,EAAE;SACR,QAAQ,EAAE;CACd,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,8BAA8B,GAAG,CAAC;KACrC,MAAM,CAAC;IACN,IAAI,EAAE,wBAAwB;IAC9B,MAAM,EAAE,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;QACnC,iFAAiF;QACjF,CAAC;aACE,MAAM,CAAC;YACN,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;YAC7B,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;YAC9B,aAAa,EAAE,aAAa;SAC7B,CAAC;aACD,MAAM,EAAE;QACX,2DAA2D;QAC3D,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;KACpD,CAAC;CACH,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC;KAC5C,MAAM,CAAC;IACN,UAAU,EAAE,4BAA4B;IACxC,YAAY,EAAE,4BAA4B;IAC1C,qEAAqE;IACrE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACtD,0DAA0D;IAC1D,UAAU,EAAE,CAAC;SACV,KAAK,CACJ,CAAC;SACE,MAAM,CAAC;QACN,SAAS,EAAE,UAAU;QACrB,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;KACvE,CAAC;SACD,MAAM,EAAE,CACZ;SACA,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,CAAC,CAAC;IACT,WAAW,EAAE,8BAA8B;IAC3C,UAAU,EAAE,8BAA8B;IAC1C,OAAO,EAAE,2BAA2B;IACpC,OAAO,EAAE,2BAA2B;IACpC,4FAA4F;IAC5F,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CAClD,CAAC;KACD,MAAM,EAAE;KACR,WAAW,CAAC,eAAe,CAAC,CAAC;AAGhC,mEAAmE;AACnE,MAAM,UAAU,0BAA0B,CACxC,OAGC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,KAAK,GAA+D,EAAE,CAAC;IAC7E,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,KAAK,QAAQ;QACtC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7D,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAChE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IACjD,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IACnF,IAAI,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1E,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1E,OAAO,KAAK,CAAC;AACf,CAAC;AAED,yFAAyF;AACzF,SAAS,0BAA0B,CACjC,OAAiE;IAEjE,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAC/B,MAAM,KAAK,GACT,UAAU,CAAC,IAAI,KAAK,MAAM;QACxB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,UAAU,CAAC,IAAI,KAAK,SAAS;YAC7B,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;YAChD,CAAC,CAAC,UAAU,CAAC,IAAI,KAAK,OAAO;gBAC3B,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;gBACzC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7E,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC1C,MAAM,OAAO,GACX,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM;QACrD,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;QACvC,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,eAAe,CAAC,OAAiC,EAAE,OAAwB;IAClF,MAAM,KAAK,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,CACJ,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EACrC,OAAO,EACP,CAAC,OAAO,CAAC,EACT,yCAAyC,CAC1C,CAAC;IACF,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,KAAK,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,KAAK,EAAE,CAAC;QACtC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACpC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,OAAO,CAAC,QAAQ,CAAC;oBACf,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,OAAO,CAAC;oBACf,OAAO,EAAE,QAAQ,IAAI,CAAC,OAAO,uBAAuB,IAAI,oCAAoC;iBAC7F,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QAClC,KAAK,MAAM,QAAQ,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,MAAM,UAAU,GAAG,gCAAgC,CAAC,QAAQ,CAAC,CAAC;YAC9D,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBACxB,OAAO,CAAC,QAAQ,CAAC;oBACf,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,OAAO,CAAC;oBACf,OAAO,EAAE,QAAQ,IAAI,CAAC,OAAO,2BAA2B;iBACzD,CAAC,CAAC;YACL,CAAC;YACD,KAAK,MAAM,SAAS,IAAI,UAAU,IAAI,EAAE,EAAE,CAAC;gBACzC,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;oBACjE,OAAO,CAAC,QAAQ,CAAC;wBACf,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,OAAO,CAAC;wBACf,OAAO,EAAE,QAAQ,IAAI,CAAC,OAAO,UAAU,SAAS,CAAC,MAAM,iCAAiC;qBACzF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5E,MAAM,CACJ,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,EACpD,OAAO,EACP,CAAC,YAAY,CAAC,EACd,gCAAgC,CACjC,CAAC;IACF,KAAK,MAAM,CAAC,KAAK,EAAE,EAAE,YAAY,EAAE,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;QACrE,MAAM,CACJ,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EACpC,OAAO,EACP,CAAC,YAAY,EAAE,KAAK,CAAC,EACrB,6CAA6C,CAC9C,CAAC;QACF,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,CAAC,QAAQ,CAAC;oBACf,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC;oBAC3B,OAAO,EAAE,wBAAwB,WAAW,CAAC,IAAI,4BAA4B;iBAC9E,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,WAAW,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACnE,OAAO,CAAC,QAAQ,CAAC;oBACf,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC;oBAC3B,OAAO,EAAE,yDAAyD;iBACnE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC;IAClC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QACxE,OAAO,CAAC,QAAQ,CAAC;YACf,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,aAAa,CAAC;YACrB,OAAO,EAAE,yEAAyE;SACnF,CAAC,CAAC;IACL,CAAC;IACD,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,KAAK,MAAM,CAAC;IACxD,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IACjD,IACE,CAAC,QAAQ,CAAC,IAAI,KAAK,gBAAgB,CAAC,KAAK,YAAY;QACrD,CAAC,UAAU,CAAC,IAAI,KAAK,gBAAgB,CAAC,KAAK,YAAY,EACvD,CAAC;QACD,OAAO,CAAC,QAAQ,CAAC;YACf,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,SAAS,CAAC;YACjB,OAAO,EAAE,qEAAqE;SAC/E,CAAC,CAAC;IACL,CAAC;IACD,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC;IAClD,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;QACxC,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC1F,OAAO,CAAC,QAAQ,CAAC;gBACf,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC;gBACjC,OAAO,EAAE,+DAA+D;aACzE,CAAC,CAAC;QACL,CAAC;QACD,IACE,KAAK,CAAC,WAAW,KAAK,OAAO,CAAC,WAAW;YACzC,KAAK,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG;YACzB,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC;YAC/D,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EACpE,CAAC;YACD,OAAO,CAAC,QAAQ,CAAC;gBACf,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC;gBACjC,OAAO,EAAE,gEAAgE;aAC1E,CAAC,CAAC;QACL,CAAC;QACD,IACE,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC;YACzD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,EACnF,CAAC;YACD,OAAO,CAAC,QAAQ,CAAC;gBACf,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC;gBACjC,OAAO,EAAE,kDAAkD;aAC5D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,IAAwB;IAC7C,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK;QAAE,OAAO,2BAA2B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5E,OAAO;QACL,IAAI,CAAC,GAAG;QACR,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC;QACzC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI;YACpB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,kBAAkB;gBAC3C,CAAC,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC7C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;KAChD,CAAC;AACJ,CAAC;AAED,SAAS,MAAM,CACb,MAAyB,EACzB,OAAwB,EACxB,IAAmB,EACnB,OAAe;IAEf,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM;QAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AAClG,CAAC"}