@sourcey/catalog-verifier 1.0.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 (402) hide show
  1. package/CHANGELOG.md +3 -0
  2. package/LICENSE +21 -0
  3. package/README.md +64 -0
  4. package/SBOM.cdx.json +177 -0
  5. package/SECURITY.md +8 -0
  6. package/SOURCEY-CLOSURE.json +1559 -0
  7. package/SOURCEY-DISTRIBUTION.json +24 -0
  8. package/SOURCEY-LICENSE-POLICY.json +5 -0
  9. package/SOURCEY-TOOLCHAIN.json +8 -0
  10. package/SUPPORT.md +5 -0
  11. package/THIRD_PARTY_NOTICES.json +69 -0
  12. package/dist/contracts/agent-readiness/src/declaration-acquisition.d.ts +548 -0
  13. package/dist/contracts/agent-readiness/src/declaration-acquisition.d.ts.map +1 -0
  14. package/dist/contracts/agent-readiness/src/declaration-acquisition.js +159 -0
  15. package/dist/contracts/agent-readiness/src/declaration-acquisition.js.map +1 -0
  16. package/dist/contracts/agent-readiness/src/declaration-reference.d.ts +48 -0
  17. package/dist/contracts/agent-readiness/src/declaration-reference.d.ts.map +1 -0
  18. package/dist/contracts/agent-readiness/src/declaration-reference.js +42 -0
  19. package/dist/contracts/agent-readiness/src/declaration-reference.js.map +1 -0
  20. package/dist/contracts/agent-readiness/src/declaration.d.ts +1357 -0
  21. package/dist/contracts/agent-readiness/src/declaration.d.ts.map +1 -0
  22. package/dist/contracts/agent-readiness/src/declaration.js +659 -0
  23. package/dist/contracts/agent-readiness/src/declaration.js.map +1 -0
  24. package/dist/contracts/agent-readiness/src/evidence.d.ts +146 -0
  25. package/dist/contracts/agent-readiness/src/evidence.d.ts.map +1 -0
  26. package/dist/contracts/agent-readiness/src/evidence.js +154 -0
  27. package/dist/contracts/agent-readiness/src/evidence.js.map +1 -0
  28. package/dist/contracts/agent-readiness/src/index.d.ts +6487 -0
  29. package/dist/contracts/agent-readiness/src/index.d.ts.map +1 -0
  30. package/dist/contracts/agent-readiness/src/index.js +1487 -0
  31. package/dist/contracts/agent-readiness/src/index.js.map +1 -0
  32. package/dist/contracts/agent-readiness/src/interaction.d.ts +26 -0
  33. package/dist/contracts/agent-readiness/src/interaction.d.ts.map +1 -0
  34. package/dist/contracts/agent-readiness/src/interaction.js +24 -0
  35. package/dist/contracts/agent-readiness/src/interaction.js.map +1 -0
  36. package/dist/contracts/agent-readiness/src/method-pack.d.ts +391 -0
  37. package/dist/contracts/agent-readiness/src/method-pack.d.ts.map +1 -0
  38. package/dist/contracts/agent-readiness/src/method-pack.js +181 -0
  39. package/dist/contracts/agent-readiness/src/method-pack.js.map +1 -0
  40. package/dist/contracts/agent-readiness/src/shared.d.ts +119 -0
  41. package/dist/contracts/agent-readiness/src/shared.d.ts.map +1 -0
  42. package/dist/contracts/agent-readiness/src/shared.js +144 -0
  43. package/dist/contracts/agent-readiness/src/shared.js.map +1 -0
  44. package/dist/contracts/api/src/index.d.ts +48463 -0
  45. package/dist/contracts/api/src/index.d.ts.map +1 -0
  46. package/dist/contracts/api/src/index.js +1150 -0
  47. package/dist/contracts/api/src/index.js.map +1 -0
  48. package/dist/contracts/artifact/src/index.d.ts +1467 -0
  49. package/dist/contracts/artifact/src/index.d.ts.map +1 -0
  50. package/dist/contracts/artifact/src/index.js +325 -0
  51. package/dist/contracts/artifact/src/index.js.map +1 -0
  52. package/dist/contracts/assets/src/index.d.ts +1397 -0
  53. package/dist/contracts/assets/src/index.d.ts.map +1 -0
  54. package/dist/contracts/assets/src/index.js +560 -0
  55. package/dist/contracts/assets/src/index.js.map +1 -0
  56. package/dist/contracts/authoring/src/index.d.ts +1084 -0
  57. package/dist/contracts/authoring/src/index.d.ts.map +1 -0
  58. package/dist/contracts/authoring/src/index.js +211 -0
  59. package/dist/contracts/authoring/src/index.js.map +1 -0
  60. package/dist/contracts/authority/src/index.d.ts +135 -0
  61. package/dist/contracts/authority/src/index.d.ts.map +1 -0
  62. package/dist/contracts/authority/src/index.js +130 -0
  63. package/dist/contracts/authority/src/index.js.map +1 -0
  64. package/dist/contracts/billing/src/index.d.ts +587 -0
  65. package/dist/contracts/billing/src/index.d.ts.map +1 -0
  66. package/dist/contracts/billing/src/index.js +322 -0
  67. package/dist/contracts/billing/src/index.js.map +1 -0
  68. package/dist/contracts/catalog-verifier/src/index.d.ts +390 -0
  69. package/dist/contracts/catalog-verifier/src/index.d.ts.map +1 -0
  70. package/dist/contracts/catalog-verifier/src/index.js +222 -0
  71. package/dist/contracts/catalog-verifier/src/index.js.map +1 -0
  72. package/dist/contracts/commercial-work/src/index.d.ts +835 -0
  73. package/dist/contracts/commercial-work/src/index.d.ts.map +1 -0
  74. package/dist/contracts/commercial-work/src/index.js +510 -0
  75. package/dist/contracts/commercial-work/src/index.js.map +1 -0
  76. package/dist/contracts/events/src/index.d.ts +700 -0
  77. package/dist/contracts/events/src/index.d.ts.map +1 -0
  78. package/dist/contracts/events/src/index.js +553 -0
  79. package/dist/contracts/events/src/index.js.map +1 -0
  80. package/dist/contracts/evidence/src/index.d.ts +487 -0
  81. package/dist/contracts/evidence/src/index.d.ts.map +1 -0
  82. package/dist/contracts/evidence/src/index.js +342 -0
  83. package/dist/contracts/evidence/src/index.js.map +1 -0
  84. package/dist/contracts/feed/src/index.d.ts +159 -0
  85. package/dist/contracts/feed/src/index.d.ts.map +1 -0
  86. package/dist/contracts/feed/src/index.js +79 -0
  87. package/dist/contracts/feed/src/index.js.map +1 -0
  88. package/dist/contracts/funded-work/src/index.d.ts +64 -0
  89. package/dist/contracts/funded-work/src/index.d.ts.map +1 -0
  90. package/dist/contracts/funded-work/src/index.js +67 -0
  91. package/dist/contracts/funded-work/src/index.js.map +1 -0
  92. package/dist/contracts/observations/src/index.d.ts +134 -0
  93. package/dist/contracts/observations/src/index.d.ts.map +1 -0
  94. package/dist/contracts/observations/src/index.js +112 -0
  95. package/dist/contracts/observations/src/index.js.map +1 -0
  96. package/dist/contracts/policies/src/index.d.ts +151 -0
  97. package/dist/contracts/policies/src/index.d.ts.map +1 -0
  98. package/dist/contracts/policies/src/index.js +121 -0
  99. package/dist/contracts/policies/src/index.js.map +1 -0
  100. package/dist/contracts/publication/src/index.d.ts +4066 -0
  101. package/dist/contracts/publication/src/index.d.ts.map +1 -0
  102. package/dist/contracts/publication/src/index.js +535 -0
  103. package/dist/contracts/publication/src/index.js.map +1 -0
  104. package/dist/contracts/release/src/index.d.ts +2032 -0
  105. package/dist/contracts/release/src/index.d.ts.map +1 -0
  106. package/dist/contracts/release/src/index.js +252 -0
  107. package/dist/contracts/release/src/index.js.map +1 -0
  108. package/dist/contracts/revisions/src/index.d.ts +1405 -0
  109. package/dist/contracts/revisions/src/index.d.ts.map +1 -0
  110. package/dist/contracts/revisions/src/index.js +493 -0
  111. package/dist/contracts/revisions/src/index.js.map +1 -0
  112. package/dist/contracts/routes/src/index.d.ts +103 -0
  113. package/dist/contracts/routes/src/index.d.ts.map +1 -0
  114. package/dist/contracts/routes/src/index.js +163 -0
  115. package/dist/contracts/routes/src/index.js.map +1 -0
  116. package/dist/contracts/routes/src/public-route-allocations.generated.d.ts +2 -0
  117. package/dist/contracts/routes/src/public-route-allocations.generated.d.ts.map +1 -0
  118. package/dist/contracts/routes/src/public-route-allocations.generated.js +56 -0
  119. package/dist/contracts/routes/src/public-route-allocations.generated.js.map +1 -0
  120. package/dist/contracts/standards/src/index.d.ts +1482 -0
  121. package/dist/contracts/standards/src/index.d.ts.map +1 -0
  122. package/dist/contracts/standards/src/index.js +626 -0
  123. package/dist/contracts/standards/src/index.js.map +1 -0
  124. package/dist/contracts/taxonomy/src/index.d.ts +7 -0
  125. package/dist/contracts/taxonomy/src/index.d.ts.map +1 -0
  126. package/dist/contracts/taxonomy/src/index.js +25 -0
  127. package/dist/contracts/taxonomy/src/index.js.map +1 -0
  128. package/dist/modules/agent-readiness-policy/src/current-policy-metrics.d.ts +20 -0
  129. package/dist/modules/agent-readiness-policy/src/current-policy-metrics.d.ts.map +1 -0
  130. package/dist/modules/agent-readiness-policy/src/current-policy-metrics.js +604 -0
  131. package/dist/modules/agent-readiness-policy/src/current-policy-metrics.js.map +1 -0
  132. package/dist/modules/agent-readiness-policy/src/current-policy.d.ts +249 -0
  133. package/dist/modules/agent-readiness-policy/src/current-policy.d.ts.map +1 -0
  134. package/dist/modules/agent-readiness-policy/src/current-policy.js +470 -0
  135. package/dist/modules/agent-readiness-policy/src/current-policy.js.map +1 -0
  136. package/dist/modules/agent-readiness-policy/src/grading.d.ts +39 -0
  137. package/dist/modules/agent-readiness-policy/src/grading.d.ts.map +1 -0
  138. package/dist/modules/agent-readiness-policy/src/grading.js +40 -0
  139. package/dist/modules/agent-readiness-policy/src/grading.js.map +1 -0
  140. package/dist/modules/agent-readiness-policy/src/impact.d.ts +103 -0
  141. package/dist/modules/agent-readiness-policy/src/impact.d.ts.map +1 -0
  142. package/dist/modules/agent-readiness-policy/src/impact.js +249 -0
  143. package/dist/modules/agent-readiness-policy/src/impact.js.map +1 -0
  144. package/dist/modules/agent-readiness-policy/src/index.d.ts +811 -0
  145. package/dist/modules/agent-readiness-policy/src/index.d.ts.map +1 -0
  146. package/dist/modules/agent-readiness-policy/src/index.js +499 -0
  147. package/dist/modules/agent-readiness-policy/src/index.js.map +1 -0
  148. package/dist/modules/agent-readiness-policy/src/offer-relations.d.ts +12 -0
  149. package/dist/modules/agent-readiness-policy/src/offer-relations.d.ts.map +1 -0
  150. package/dist/modules/agent-readiness-policy/src/offer-relations.js +65 -0
  151. package/dist/modules/agent-readiness-policy/src/offer-relations.js.map +1 -0
  152. package/dist/modules/agent-readiness-policy/src/policy-validation.d.ts +4 -0
  153. package/dist/modules/agent-readiness-policy/src/policy-validation.d.ts.map +1 -0
  154. package/dist/modules/agent-readiness-policy/src/policy-validation.js +59 -0
  155. package/dist/modules/agent-readiness-policy/src/policy-validation.js.map +1 -0
  156. package/dist/modules/agent-readiness-policy/src/projection-lineage.d.ts +3 -0
  157. package/dist/modules/agent-readiness-policy/src/projection-lineage.d.ts.map +1 -0
  158. package/dist/modules/agent-readiness-policy/src/projection-lineage.js +12 -0
  159. package/dist/modules/agent-readiness-policy/src/projection-lineage.js.map +1 -0
  160. package/dist/modules/agent-readiness-policy/src/revision.d.ts +4 -0
  161. package/dist/modules/agent-readiness-policy/src/revision.d.ts.map +1 -0
  162. package/dist/modules/agent-readiness-policy/src/revision.js +46 -0
  163. package/dist/modules/agent-readiness-policy/src/revision.js.map +1 -0
  164. package/dist/modules/agent-readiness-policy/src/standard-mapping.d.ts +7 -0
  165. package/dist/modules/agent-readiness-policy/src/standard-mapping.d.ts.map +1 -0
  166. package/dist/modules/agent-readiness-policy/src/standard-mapping.js +13 -0
  167. package/dist/modules/agent-readiness-policy/src/standard-mapping.js.map +1 -0
  168. package/dist/modules/agent-readiness-policy/src/surface-selection.d.ts +36 -0
  169. package/dist/modules/agent-readiness-policy/src/surface-selection.d.ts.map +1 -0
  170. package/dist/modules/agent-readiness-policy/src/surface-selection.js +214 -0
  171. package/dist/modules/agent-readiness-policy/src/surface-selection.js.map +1 -0
  172. package/dist/modules/agent-readiness-repository/src/admission.d.ts +35 -0
  173. package/dist/modules/agent-readiness-repository/src/admission.d.ts.map +1 -0
  174. package/dist/modules/agent-readiness-repository/src/admission.js +56 -0
  175. package/dist/modules/agent-readiness-repository/src/admission.js.map +1 -0
  176. package/dist/modules/agent-readiness-repository/src/change.d.ts +62 -0
  177. package/dist/modules/agent-readiness-repository/src/change.d.ts.map +1 -0
  178. package/dist/modules/agent-readiness-repository/src/change.js +218 -0
  179. package/dist/modules/agent-readiness-repository/src/change.js.map +1 -0
  180. package/dist/modules/agent-readiness-repository/src/declaration-blob.d.ts +29 -0
  181. package/dist/modules/agent-readiness-repository/src/declaration-blob.d.ts.map +1 -0
  182. package/dist/modules/agent-readiness-repository/src/declaration-blob.js +126 -0
  183. package/dist/modules/agent-readiness-repository/src/declaration-blob.js.map +1 -0
  184. package/dist/modules/agent-readiness-repository/src/index.d.ts +102 -0
  185. package/dist/modules/agent-readiness-repository/src/index.d.ts.map +1 -0
  186. package/dist/modules/agent-readiness-repository/src/index.js +208 -0
  187. package/dist/modules/agent-readiness-repository/src/index.js.map +1 -0
  188. package/dist/modules/artifact/src/agent-readiness-closure.d.ts +24 -0
  189. package/dist/modules/artifact/src/agent-readiness-closure.d.ts.map +1 -0
  190. package/dist/modules/artifact/src/agent-readiness-closure.js +98 -0
  191. package/dist/modules/artifact/src/agent-readiness-closure.js.map +1 -0
  192. package/dist/modules/artifact/src/asset-closure.d.ts +12 -0
  193. package/dist/modules/artifact/src/asset-closure.d.ts.map +1 -0
  194. package/dist/modules/artifact/src/asset-closure.js +40 -0
  195. package/dist/modules/artifact/src/asset-closure.js.map +1 -0
  196. package/dist/modules/artifact/src/authoring-closure.d.ts +4 -0
  197. package/dist/modules/artifact/src/authoring-closure.d.ts.map +1 -0
  198. package/dist/modules/artifact/src/authoring-closure.js +19 -0
  199. package/dist/modules/artifact/src/authoring-closure.js.map +1 -0
  200. package/dist/modules/artifact/src/index.d.ts +46 -0
  201. package/dist/modules/artifact/src/index.d.ts.map +1 -0
  202. package/dist/modules/artifact/src/index.js +563 -0
  203. package/dist/modules/artifact/src/index.js.map +1 -0
  204. package/dist/modules/artifact/src/trust-history.d.ts +3 -0
  205. package/dist/modules/artifact/src/trust-history.d.ts.map +1 -0
  206. package/dist/modules/artifact/src/trust-history.js +134 -0
  207. package/dist/modules/artifact/src/trust-history.js.map +1 -0
  208. package/dist/modules/assets/src/authority-bundle.d.ts +36 -0
  209. package/dist/modules/assets/src/authority-bundle.d.ts.map +1 -0
  210. package/dist/modules/assets/src/authority-bundle.js +206 -0
  211. package/dist/modules/assets/src/authority-bundle.js.map +1 -0
  212. package/dist/modules/assets/src/delta.d.ts +18 -0
  213. package/dist/modules/assets/src/delta.d.ts.map +1 -0
  214. package/dist/modules/assets/src/delta.js +183 -0
  215. package/dist/modules/assets/src/delta.js.map +1 -0
  216. package/dist/modules/assets/src/disposition.d.ts +3 -0
  217. package/dist/modules/assets/src/disposition.d.ts.map +1 -0
  218. package/dist/modules/assets/src/disposition.js +30 -0
  219. package/dist/modules/assets/src/disposition.js.map +1 -0
  220. package/dist/modules/assets/src/index.d.ts +25 -0
  221. package/dist/modules/assets/src/index.d.ts.map +1 -0
  222. package/dist/modules/assets/src/index.js +234 -0
  223. package/dist/modules/assets/src/index.js.map +1 -0
  224. package/dist/modules/assets/src/ingestion.d.ts +69 -0
  225. package/dist/modules/assets/src/ingestion.d.ts.map +1 -0
  226. package/dist/modules/assets/src/ingestion.js +169 -0
  227. package/dist/modules/assets/src/ingestion.js.map +1 -0
  228. package/dist/modules/authority/src/index.d.ts +47 -0
  229. package/dist/modules/authority/src/index.d.ts.map +1 -0
  230. package/dist/modules/authority/src/index.js +349 -0
  231. package/dist/modules/authority/src/index.js.map +1 -0
  232. package/dist/modules/authority-state/src/index.d.ts +43 -0
  233. package/dist/modules/authority-state/src/index.d.ts.map +1 -0
  234. package/dist/modules/authority-state/src/index.js +194 -0
  235. package/dist/modules/authority-state/src/index.js.map +1 -0
  236. package/dist/modules/catalog-admission/src/admission-conflicts.d.ts +424 -0
  237. package/dist/modules/catalog-admission/src/admission-conflicts.d.ts.map +1 -0
  238. package/dist/modules/catalog-admission/src/admission-conflicts.js +369 -0
  239. package/dist/modules/catalog-admission/src/admission-conflicts.js.map +1 -0
  240. package/dist/modules/catalog-admission/src/index.d.ts +248 -0
  241. package/dist/modules/catalog-admission/src/index.d.ts.map +1 -0
  242. package/dist/modules/catalog-admission/src/index.js +601 -0
  243. package/dist/modules/catalog-admission/src/index.js.map +1 -0
  244. package/dist/modules/catalog-admission/src/machine-admission.d.ts +1273 -0
  245. package/dist/modules/catalog-admission/src/machine-admission.d.ts.map +1 -0
  246. package/dist/modules/catalog-admission/src/machine-admission.js +529 -0
  247. package/dist/modules/catalog-admission/src/machine-admission.js.map +1 -0
  248. package/dist/modules/catalog-admission/src/publication-assets.d.ts +5 -0
  249. package/dist/modules/catalog-admission/src/publication-assets.d.ts.map +1 -0
  250. package/dist/modules/catalog-admission/src/publication-assets.js +26 -0
  251. package/dist/modules/catalog-admission/src/publication-assets.js.map +1 -0
  252. package/dist/modules/catalog-admission/src/publication-dependencies.d.ts +96 -0
  253. package/dist/modules/catalog-admission/src/publication-dependencies.d.ts.map +1 -0
  254. package/dist/modules/catalog-admission/src/publication-dependencies.js +177 -0
  255. package/dist/modules/catalog-admission/src/publication-dependencies.js.map +1 -0
  256. package/dist/modules/catalog-admission/src/publication-entities.d.ts +9 -0
  257. package/dist/modules/catalog-admission/src/publication-entities.d.ts.map +1 -0
  258. package/dist/modules/catalog-admission/src/publication-entities.js +48 -0
  259. package/dist/modules/catalog-admission/src/publication-entities.js.map +1 -0
  260. package/dist/modules/catalog-admission/src/publication-recomposition.d.ts +42 -0
  261. package/dist/modules/catalog-admission/src/publication-recomposition.d.ts.map +1 -0
  262. package/dist/modules/catalog-admission/src/publication-recomposition.js +163 -0
  263. package/dist/modules/catalog-admission/src/publication-recomposition.js.map +1 -0
  264. package/dist/modules/catalog-admission/src/publication.d.ts +92 -0
  265. package/dist/modules/catalog-admission/src/publication.d.ts.map +1 -0
  266. package/dist/modules/catalog-admission/src/publication.js +605 -0
  267. package/dist/modules/catalog-admission/src/publication.js.map +1 -0
  268. package/dist/modules/catalog-admission/src/submission.d.ts +47 -0
  269. package/dist/modules/catalog-admission/src/submission.d.ts.map +1 -0
  270. package/dist/modules/catalog-admission/src/submission.js +289 -0
  271. package/dist/modules/catalog-admission/src/submission.js.map +1 -0
  272. package/dist/modules/catalog-authoring-validation/src/index.d.ts +46 -0
  273. package/dist/modules/catalog-authoring-validation/src/index.d.ts.map +1 -0
  274. package/dist/modules/catalog-authoring-validation/src/index.js +98 -0
  275. package/dist/modules/catalog-authoring-validation/src/index.js.map +1 -0
  276. package/dist/modules/catalog-model/src/index.d.ts +26 -0
  277. package/dist/modules/catalog-model/src/index.d.ts.map +1 -0
  278. package/dist/modules/catalog-model/src/index.js +80 -0
  279. package/dist/modules/catalog-model/src/index.js.map +1 -0
  280. package/dist/modules/cli/src/index.d.ts +10 -0
  281. package/dist/modules/cli/src/index.d.ts.map +1 -0
  282. package/dist/modules/cli/src/index.js +31 -0
  283. package/dist/modules/cli/src/index.js.map +1 -0
  284. package/dist/modules/compiler/src/index.d.ts +23 -0
  285. package/dist/modules/compiler/src/index.d.ts.map +1 -0
  286. package/dist/modules/compiler/src/index.js +75 -0
  287. package/dist/modules/compiler/src/index.js.map +1 -0
  288. package/dist/modules/evidence-operations/src/dependency-versions.d.ts +2 -0
  289. package/dist/modules/evidence-operations/src/dependency-versions.d.ts.map +1 -0
  290. package/dist/modules/evidence-operations/src/dependency-versions.js +17 -0
  291. package/dist/modules/evidence-operations/src/dependency-versions.js.map +1 -0
  292. package/dist/modules/evidence-operations/src/evidence-normalization.d.ts +111 -0
  293. package/dist/modules/evidence-operations/src/evidence-normalization.d.ts.map +1 -0
  294. package/dist/modules/evidence-operations/src/evidence-normalization.js +309 -0
  295. package/dist/modules/evidence-operations/src/evidence-normalization.js.map +1 -0
  296. package/dist/modules/evidence-operations/src/proof-graph.d.ts +22 -0
  297. package/dist/modules/evidence-operations/src/proof-graph.d.ts.map +1 -0
  298. package/dist/modules/evidence-operations/src/proof-graph.js +188 -0
  299. package/dist/modules/evidence-operations/src/proof-graph.js.map +1 -0
  300. package/dist/modules/evidence-operations/src/source-authority.d.ts +31 -0
  301. package/dist/modules/evidence-operations/src/source-authority.d.ts.map +1 -0
  302. package/dist/modules/evidence-operations/src/source-authority.js +60 -0
  303. package/dist/modules/evidence-operations/src/source-authority.js.map +1 -0
  304. package/dist/modules/evidence-operations/src/submission-verifier.d.ts +318 -0
  305. package/dist/modules/evidence-operations/src/submission-verifier.d.ts.map +1 -0
  306. package/dist/modules/evidence-operations/src/submission-verifier.js +392 -0
  307. package/dist/modules/evidence-operations/src/submission-verifier.js.map +1 -0
  308. package/dist/modules/evidence-operations/src/url-canonicalization.d.ts +3 -0
  309. package/dist/modules/evidence-operations/src/url-canonicalization.d.ts.map +1 -0
  310. package/dist/modules/evidence-operations/src/url-canonicalization.js +7 -0
  311. package/dist/modules/evidence-operations/src/url-canonicalization.js.map +1 -0
  312. package/dist/modules/primitives/src/index.d.ts +40 -0
  313. package/dist/modules/primitives/src/index.d.ts.map +1 -0
  314. package/dist/modules/primitives/src/index.js +154 -0
  315. package/dist/modules/primitives/src/index.js.map +1 -0
  316. package/dist/modules/provenance/src/evidence-bindings.d.ts +10 -0
  317. package/dist/modules/provenance/src/evidence-bindings.d.ts.map +1 -0
  318. package/dist/modules/provenance/src/evidence-bindings.js +49 -0
  319. package/dist/modules/provenance/src/evidence-bindings.js.map +1 -0
  320. package/dist/modules/provenance/src/evidence-coverage.d.ts +35 -0
  321. package/dist/modules/provenance/src/evidence-coverage.d.ts.map +1 -0
  322. package/dist/modules/provenance/src/evidence-coverage.js +131 -0
  323. package/dist/modules/provenance/src/evidence-coverage.js.map +1 -0
  324. package/dist/modules/provenance/src/index.d.ts +68 -0
  325. package/dist/modules/provenance/src/index.d.ts.map +1 -0
  326. package/dist/modules/provenance/src/index.js +536 -0
  327. package/dist/modules/provenance/src/index.js.map +1 -0
  328. package/dist/modules/provenance/src/material-claims.d.ts +381 -0
  329. package/dist/modules/provenance/src/material-claims.d.ts.map +1 -0
  330. package/dist/modules/provenance/src/material-claims.js +375 -0
  331. package/dist/modules/provenance/src/material-claims.js.map +1 -0
  332. package/dist/modules/provenance/src/prospective-evidence.d.ts +6 -0
  333. package/dist/modules/provenance/src/prospective-evidence.d.ts.map +1 -0
  334. package/dist/modules/provenance/src/prospective-evidence.js +61 -0
  335. package/dist/modules/provenance/src/prospective-evidence.js.map +1 -0
  336. package/dist/modules/release/src/asset-delta-verifier.d.ts +12 -0
  337. package/dist/modules/release/src/asset-delta-verifier.d.ts.map +1 -0
  338. package/dist/modules/release/src/asset-delta-verifier.js +82 -0
  339. package/dist/modules/release/src/asset-delta-verifier.js.map +1 -0
  340. package/dist/modules/release/src/changes.d.ts +23 -0
  341. package/dist/modules/release/src/changes.d.ts.map +1 -0
  342. package/dist/modules/release/src/changes.js +389 -0
  343. package/dist/modules/release/src/changes.js.map +1 -0
  344. package/dist/modules/release/src/identity.d.ts +17 -0
  345. package/dist/modules/release/src/identity.d.ts.map +1 -0
  346. package/dist/modules/release/src/identity.js +433 -0
  347. package/dist/modules/release/src/identity.js.map +1 -0
  348. package/dist/modules/release/src/inputs.d.ts +89 -0
  349. package/dist/modules/release/src/inputs.d.ts.map +1 -0
  350. package/dist/modules/release/src/inputs.js +514 -0
  351. package/dist/modules/release/src/inputs.js.map +1 -0
  352. package/dist/modules/release/src/publication-inputs.d.ts +9 -0
  353. package/dist/modules/release/src/publication-inputs.d.ts.map +1 -0
  354. package/dist/modules/release/src/publication-inputs.js +67 -0
  355. package/dist/modules/release/src/publication-inputs.js.map +1 -0
  356. package/dist/modules/release/src/release-directory-files.d.ts +7 -0
  357. package/dist/modules/release/src/release-directory-files.d.ts.map +1 -0
  358. package/dist/modules/release/src/release-directory-files.js +49 -0
  359. package/dist/modules/release/src/release-directory-files.js.map +1 -0
  360. package/dist/modules/release/src/release-revision-parser.d.ts +5 -0
  361. package/dist/modules/release/src/release-revision-parser.d.ts.map +1 -0
  362. package/dist/modules/release/src/release-revision-parser.js +19 -0
  363. package/dist/modules/release/src/release-revision-parser.js.map +1 -0
  364. package/dist/modules/release/src/transition.d.ts +36 -0
  365. package/dist/modules/release/src/transition.d.ts.map +1 -0
  366. package/dist/modules/release/src/transition.js +263 -0
  367. package/dist/modules/release/src/transition.js.map +1 -0
  368. package/dist/modules/release/src/verification-policies.d.ts +278 -0
  369. package/dist/modules/release/src/verification-policies.d.ts.map +1 -0
  370. package/dist/modules/release/src/verification-policies.js +38 -0
  371. package/dist/modules/release/src/verification-policies.js.map +1 -0
  372. package/dist/modules/release/src/verification-transitions.d.ts +14 -0
  373. package/dist/modules/release/src/verification-transitions.d.ts.map +1 -0
  374. package/dist/modules/release/src/verification-transitions.js +26 -0
  375. package/dist/modules/release/src/verification-transitions.js.map +1 -0
  376. package/dist/modules/release/src/verifier.d.ts +41 -0
  377. package/dist/modules/release/src/verifier.d.ts.map +1 -0
  378. package/dist/modules/release/src/verifier.js +577 -0
  379. package/dist/modules/release/src/verifier.js.map +1 -0
  380. package/dist/modules/standard-adapter-runtime/src/index.d.ts +16 -0
  381. package/dist/modules/standard-adapter-runtime/src/index.d.ts.map +1 -0
  382. package/dist/modules/standard-adapter-runtime/src/index.js +43 -0
  383. package/dist/modules/standard-adapter-runtime/src/index.js.map +1 -0
  384. package/dist/modules/standard-evidence/src/index.d.ts +33 -0
  385. package/dist/modules/standard-evidence/src/index.d.ts.map +1 -0
  386. package/dist/modules/standard-evidence/src/index.js +149 -0
  387. package/dist/modules/standard-evidence/src/index.js.map +1 -0
  388. package/dist/packages/catalog-verifier/src/application.d.ts +89 -0
  389. package/dist/packages/catalog-verifier/src/application.d.ts.map +1 -0
  390. package/dist/packages/catalog-verifier/src/application.js +363 -0
  391. package/dist/packages/catalog-verifier/src/application.js.map +1 -0
  392. package/dist/packages/catalog-verifier/src/index.d.ts +7 -0
  393. package/dist/packages/catalog-verifier/src/index.d.ts.map +1 -0
  394. package/dist/packages/catalog-verifier/src/index.js +7 -0
  395. package/dist/packages/catalog-verifier/src/index.js.map +1 -0
  396. package/dist/packages/catalog-verifier/src/program.d.ts +4 -0
  397. package/dist/packages/catalog-verifier/src/program.d.ts.map +1 -0
  398. package/dist/packages/catalog-verifier/src/program.js +203 -0
  399. package/dist/packages/catalog-verifier/src/program.js.map +1 -0
  400. package/package.json +63 -0
  401. package/sourcey-catalog-verify.js +7 -0
  402. package/taxonomy.json +29 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../contracts/revisions/src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,493 @@
1
+ import { z } from "zod";
2
+ import { DIGEST_PATTERN, ENTITY_ID_PATTERN, IDENTIFIER_PATTERN, isFunctionalAccessQueryParameter, isTrackingQueryParameter, OFFER_ID_PATTERN, PROGRAM_ID_PATTERN, } from "../../../modules/primitives/src/index.js";
3
+ const digest = z.string().regex(DIGEST_PATTERN);
4
+ const entityId = z.string().regex(ENTITY_ID_PATTERN);
5
+ const programId = z.string().regex(PROGRAM_ID_PATTERN);
6
+ const offerId = z.string().regex(OFFER_ID_PATTERN);
7
+ const identifier = z.string().regex(IDENTIFIER_PATTERN);
8
+ const instant = z.iso.datetime({ offset: true });
9
+ const currency = z.string().regex(/^[A-Z]{3}$/);
10
+ const duration = z
11
+ .string()
12
+ .regex(/^P(?=\d|T\d)(?:\d+Y)?(?:\d+M)?(?:\d+D)?(?:T(?:\d+H)?(?:\d+M)?(?:\d+S)?)?$/);
13
+ const factKey = z.string().regex(/^[a-z][a-z0-9_-]*(?:\.[a-z][a-z0-9_-]*)+$/);
14
+ /**
15
+ * The compact public synopsis used by catalog listings, metadata, and page
16
+ * ledes. Longer explanatory copy belongs in the adjacent description field;
17
+ * structured economics, eligibility, and access remain authoritative.
18
+ */
19
+ export const catalogSummarySchema = z
20
+ .string()
21
+ .min(1)
22
+ .max(240, "Summary is the public synopsis and must be at most 240 characters; put longer context in description.");
23
+ /** Long-form plain text. Resource limits belong to the enclosing document boundary. */
24
+ export const catalogDescriptionSchema = z.string().min(1);
25
+ export const catalogUrlSchema = z.url().superRefine((value, context) => {
26
+ const url = new URL(value);
27
+ if (url.protocol !== "https:" || url.username || url.password) {
28
+ context.addIssue({
29
+ code: "custom",
30
+ message: "Catalog URLs must be credential-free HTTPS.",
31
+ });
32
+ }
33
+ });
34
+ export const catalogAuthoringUrlSchema = catalogUrlSchema.superRefine((value, context) => {
35
+ const url = new URL(value);
36
+ if (url.hash) {
37
+ context.addIssue({
38
+ code: "custom",
39
+ message: "Current Catalog URLs cannot carry fragments; use the clean canonical page URL.",
40
+ });
41
+ }
42
+ const trackingParameters = [...new Set(url.searchParams.keys())]
43
+ .filter(isTrackingQueryParameter)
44
+ .sort();
45
+ if (trackingParameters.length > 0) {
46
+ context.addIssue({
47
+ code: "custom",
48
+ message: `Catalog URLs cannot carry tracking parameters (${trackingParameters.join(", ")}); keep only parameters required to select or redeem the offer, program, plan, or code.`,
49
+ });
50
+ }
51
+ });
52
+ export const catalogAccessUrlSchema = catalogAuthoringUrlSchema.superRefine((value, context) => {
53
+ const unsupportedParameters = [...new Set(new URL(value).searchParams.keys())]
54
+ .filter((name) => !isFunctionalAccessQueryParameter(name))
55
+ .sort();
56
+ if (unsupportedParameters.length > 0) {
57
+ context.addIssue({
58
+ code: "custom",
59
+ message: `Offer access URLs may use only functional offer selectors; unsupported parameters: ${unsupportedParameters.join(", ")}.`,
60
+ });
61
+ }
62
+ });
63
+ export const domainSchema = z
64
+ .object({
65
+ value: z.string().min(1),
66
+ role: z.enum(["primary", "alias"]),
67
+ valid_from: instant,
68
+ valid_until: instant.optional(),
69
+ })
70
+ .strict();
71
+ export const moneySchema = z
72
+ .object({
73
+ currency,
74
+ minor_units: z.number().int().nonnegative(),
75
+ })
76
+ .strict();
77
+ export const moneyValueSchema = z.discriminatedUnion("kind", [
78
+ z.object({ kind: z.literal("exact"), amount: moneySchema }).strict(),
79
+ z.object({ kind: z.literal("up-to"), amount: moneySchema }).strict(),
80
+ z.object({ kind: z.literal("at-least"), amount: moneySchema }).strict(),
81
+ z
82
+ .object({
83
+ kind: z.literal("range"),
84
+ minimum: moneySchema,
85
+ maximum: moneySchema,
86
+ })
87
+ .strict()
88
+ .superRefine((value, context) => {
89
+ if (value.minimum.currency !== value.maximum.currency ||
90
+ value.minimum.minor_units > value.maximum.minor_units) {
91
+ context.addIssue({
92
+ code: "custom",
93
+ message: "A monetary range requires one currency and an ordered minimum/maximum.",
94
+ });
95
+ }
96
+ }),
97
+ ]);
98
+ export const percentageValueSchema = z.discriminatedUnion("kind", [
99
+ z
100
+ .object({
101
+ kind: z.literal("exact"),
102
+ basis_points: z.number().int().min(1).max(10_000),
103
+ })
104
+ .strict(),
105
+ z
106
+ .object({
107
+ kind: z.literal("up-to"),
108
+ basis_points: z.number().int().min(1).max(10_000),
109
+ })
110
+ .strict(),
111
+ z
112
+ .object({
113
+ kind: z.literal("at-least"),
114
+ basis_points: z.number().int().min(1).max(10_000),
115
+ })
116
+ .strict(),
117
+ z
118
+ .object({
119
+ kind: z.literal("range"),
120
+ minimum_basis_points: z.number().int().min(1).max(10_000),
121
+ maximum_basis_points: z.number().int().min(1).max(10_000),
122
+ })
123
+ .strict()
124
+ .superRefine((value, context) => {
125
+ if (value.minimum_basis_points > value.maximum_basis_points) {
126
+ context.addIssue({
127
+ code: "custom",
128
+ message: "A percentage range requires an ordered minimum/maximum.",
129
+ });
130
+ }
131
+ }),
132
+ ]);
133
+ export const durationValueSchema = z.discriminatedUnion("kind", [
134
+ z.object({ kind: z.literal("exact"), value: duration }).strict(),
135
+ z.object({ kind: z.literal("up-to"), value: duration }).strict(),
136
+ z.object({ kind: z.literal("at-least"), value: duration }).strict(),
137
+ ]);
138
+ const benefitBase = {
139
+ benefit_id: identifier,
140
+ description: z.string().min(1).max(500),
141
+ };
142
+ export const benefitSchema = z.discriminatedUnion("kind", [
143
+ z
144
+ .object({
145
+ ...benefitBase,
146
+ kind: z.literal("credit"),
147
+ value: moneyValueSchema,
148
+ duration: durationValueSchema.optional(),
149
+ })
150
+ .strict(),
151
+ z
152
+ .object({
153
+ ...benefitBase,
154
+ kind: z.literal("discount"),
155
+ percentage: percentageValueSchema,
156
+ applies_to: z.string().min(1).max(240).optional(),
157
+ duration: durationValueSchema.optional(),
158
+ })
159
+ .strict(),
160
+ z
161
+ .object({
162
+ ...benefitBase,
163
+ kind: z.literal("cashback"),
164
+ value: z.discriminatedUnion("kind", [
165
+ z.object({ kind: z.literal("money"), value: moneyValueSchema }).strict(),
166
+ z.object({ kind: z.literal("percentage"), value: percentageValueSchema }).strict(),
167
+ ]),
168
+ duration: durationValueSchema.optional(),
169
+ })
170
+ .strict(),
171
+ z
172
+ .object({
173
+ ...benefitBase,
174
+ kind: z.literal("waiver"),
175
+ waived_item: z.string().min(1).max(240),
176
+ })
177
+ .strict(),
178
+ z
179
+ .object({
180
+ ...benefitBase,
181
+ kind: z.literal("free-service"),
182
+ service: z.string().min(1).max(240),
183
+ duration: durationValueSchema.optional(),
184
+ })
185
+ .strict(),
186
+ z
187
+ .object({
188
+ ...benefitBase,
189
+ kind: z.literal("other"),
190
+ })
191
+ .strict(),
192
+ ]);
193
+ export const considerationSchema = z.discriminatedUnion("kind", [
194
+ z.object({ kind: z.literal("none") }).strict(),
195
+ z.object({ kind: z.literal("fixed"), amount: moneySchema }).strict(),
196
+ z
197
+ .object({
198
+ kind: z.literal("variable"),
199
+ description: z.string().min(1).max(500),
200
+ })
201
+ .strict(),
202
+ z
203
+ .object({
204
+ kind: z.literal("unknown"),
205
+ description: z.string().min(1).max(500),
206
+ })
207
+ .strict(),
208
+ ]);
209
+ export const economicsSchema = z
210
+ .object({
211
+ consideration: considerationSchema,
212
+ benefits: z.array(benefitSchema).min(1),
213
+ })
214
+ .strict()
215
+ .superRefine((value, context) => {
216
+ assertUniqueIdentifiers(value.benefits.map((benefit) => benefit.benefit_id), "benefit_id", context);
217
+ });
218
+ export const eligibilityFactValueSchema = z.discriminatedUnion("type", [
219
+ z.object({ type: z.literal("null") }).strict(),
220
+ z.object({ type: z.literal("string"), value: z.string() }).strict(),
221
+ z.object({ type: z.literal("number"), value: z.number().finite() }).strict(),
222
+ z.object({ type: z.literal("boolean"), value: z.boolean() }).strict(),
223
+ z.object({ type: z.literal("date"), value: z.iso.date() }).strict(),
224
+ z.object({ type: z.literal("string-set"), values: z.array(z.string()) }).strict(),
225
+ z.object({ type: z.literal("number-set"), values: z.array(z.number().finite()) }).strict(),
226
+ ]);
227
+ export const eligibilityFactsSchema = z.record(factKey, eligibilityFactValueSchema);
228
+ const scalarFactValueSchema = z.discriminatedUnion("type", [
229
+ z.object({ type: z.literal("string"), value: z.string() }).strict(),
230
+ z.object({ type: z.literal("number"), value: z.number().finite() }).strict(),
231
+ z.object({ type: z.literal("boolean"), value: z.boolean() }).strict(),
232
+ z.object({ type: z.literal("date"), value: z.iso.date() }).strict(),
233
+ ]);
234
+ const setFactValueSchema = z.discriminatedUnion("type", [
235
+ z.object({ type: z.literal("string-set"), values: z.array(z.string()).min(1) }).strict(),
236
+ z.object({ type: z.literal("number-set"), values: z.array(z.number().finite()).min(1) }).strict(),
237
+ ]);
238
+ const orderedFactValueSchema = z.discriminatedUnion("type", [
239
+ z.object({ type: z.literal("number"), value: z.number().finite() }).strict(),
240
+ z.object({ type: z.literal("date"), value: z.iso.date() }).strict(),
241
+ ]);
242
+ const criterionBase = {
243
+ criterion_id: identifier,
244
+ statement: z.string().min(1).max(500),
245
+ };
246
+ const eligibilityPredicateSchema = z.union([
247
+ z
248
+ .object({
249
+ kind: z.literal("predicate"),
250
+ ...criterionBase,
251
+ fact: factKey,
252
+ operator: z.enum(["present", "absent"]),
253
+ })
254
+ .strict(),
255
+ z
256
+ .object({
257
+ kind: z.literal("predicate"),
258
+ ...criterionBase,
259
+ fact: factKey,
260
+ operator: z.enum(["eq", "neq", "contains"]),
261
+ value: scalarFactValueSchema,
262
+ })
263
+ .strict(),
264
+ z
265
+ .object({
266
+ kind: z.literal("predicate"),
267
+ ...criterionBase,
268
+ fact: factKey,
269
+ operator: z.literal("in"),
270
+ value: setFactValueSchema,
271
+ })
272
+ .strict(),
273
+ z
274
+ .object({
275
+ kind: z.literal("predicate"),
276
+ ...criterionBase,
277
+ fact: factKey,
278
+ operator: z.enum(["lt", "lte", "gt", "gte"]),
279
+ value: orderedFactValueSchema,
280
+ })
281
+ .strict(),
282
+ ]);
283
+ const eligibilityManualSchema = z
284
+ .object({
285
+ kind: z.literal("manual"),
286
+ ...criterionBase,
287
+ reason: z.enum([
288
+ "vendor-discretion",
289
+ "external-verification",
290
+ "not-machine-evaluable",
291
+ "other",
292
+ ]),
293
+ })
294
+ .strict();
295
+ const eligibilityConstantSchema = z
296
+ .object({
297
+ kind: z.literal("constant"),
298
+ ...criterionBase,
299
+ value: z.boolean(),
300
+ })
301
+ .strict();
302
+ export const eligibilityRuleSchema = z.lazy(() => z.union([
303
+ eligibilityPredicateSchema,
304
+ eligibilityManualSchema,
305
+ eligibilityConstantSchema,
306
+ z.object({ kind: z.literal("all"), rules: z.array(eligibilityRuleSchema).min(1) }).strict(),
307
+ z.object({ kind: z.literal("any"), rules: z.array(eligibilityRuleSchema).min(1) }).strict(),
308
+ z
309
+ .object({
310
+ kind: z.literal("not"),
311
+ rule: eligibilityRuleSchema,
312
+ })
313
+ .strict(),
314
+ ]));
315
+ export const eligibilitySchema = z
316
+ .object({
317
+ rule: eligibilityRuleSchema,
318
+ })
319
+ .strict()
320
+ .superRefine((value, context) => {
321
+ assertUniqueIdentifiers(collectCriterionIds(value.rule), "criterion_id", context);
322
+ });
323
+ export const eligibilityOutcomeSchema = z.enum(["met", "unmet", "unknown"]);
324
+ export const eligibilityTraceSchema = z.lazy(() => z.union([
325
+ z
326
+ .object({
327
+ kind: z.enum(["all", "any"]),
328
+ outcome: eligibilityOutcomeSchema,
329
+ rules: z.array(eligibilityTraceSchema).min(1),
330
+ })
331
+ .strict(),
332
+ z
333
+ .object({
334
+ kind: z.literal("not"),
335
+ outcome: eligibilityOutcomeSchema,
336
+ rule: eligibilityTraceSchema,
337
+ })
338
+ .strict(),
339
+ z
340
+ .object({
341
+ kind: z.enum(["predicate", "manual", "constant"]),
342
+ criterion_id: identifier,
343
+ statement: z.string().min(1).max(500),
344
+ outcome: eligibilityOutcomeSchema,
345
+ })
346
+ .strict(),
347
+ ]));
348
+ export const eligibilityEvaluationSchema = z
349
+ .object({
350
+ eligible: z.boolean().nullable(),
351
+ trace: eligibilityTraceSchema,
352
+ })
353
+ .strict();
354
+ export const offerRolesSchema = z
355
+ .object({
356
+ terms_authority_entity_id: entityId,
357
+ access_operator_entity_id: entityId,
358
+ })
359
+ .strict();
360
+ export const accessSchema = z
361
+ .object({
362
+ availability: z.enum(["public", "referral", "membership", "invite", "automatic", "other"]),
363
+ method: z.enum(["form", "code", "contact", "automatic", "other"]),
364
+ url: catalogUrlSchema.optional(),
365
+ public_code: z.string().min(1).max(200).optional(),
366
+ instructions: z.string().min(1).max(1_000).optional(),
367
+ })
368
+ .strict()
369
+ .superRefine((value, context) => {
370
+ if (value.method === "form" && value.url === undefined) {
371
+ context.addIssue({ code: "custom", path: ["url"], message: "Form access requires a URL." });
372
+ }
373
+ if (value.method === "code" && value.public_code === undefined) {
374
+ context.addIssue({
375
+ code: "custom",
376
+ path: ["public_code"],
377
+ message: "Code access requires a public code.",
378
+ });
379
+ }
380
+ });
381
+ /**
382
+ * Migration invariant: an Entity without a summary uses its description as the
383
+ * synopsis surface, so it keeps the synopsis bound. Once every Entity carries
384
+ * a summary, summary becomes required and this refinement drops.
385
+ */
386
+ export function entitySynopsisInvariant(value, context) {
387
+ if (value.summary === undefined && value.description.length > 200) {
388
+ context.addIssue({
389
+ code: "custom",
390
+ path: ["description"],
391
+ message: "Entities without a summary use description as the synopsis; add summary before long-form description.",
392
+ });
393
+ }
394
+ }
395
+ export const entityRevisionContentSchema = z
396
+ .object({
397
+ name: z.string().min(1),
398
+ summary: catalogSummarySchema.optional(),
399
+ description: catalogDescriptionSchema,
400
+ domains: z.array(domainSchema).min(1),
401
+ category: z.string().min(1),
402
+ links: z
403
+ .object({
404
+ site: catalogUrlSchema,
405
+ pricing: catalogUrlSchema.optional(),
406
+ })
407
+ .strict(),
408
+ })
409
+ .strict()
410
+ .superRefine(entitySynopsisInvariant);
411
+ export const entityRevisionCoreSchema = z
412
+ .object({
413
+ revision_contract: z.literal("sourcey.entity-revision/v1alpha1"),
414
+ entity_id: entityId,
415
+ content: entityRevisionContentSchema,
416
+ })
417
+ .strict();
418
+ export const entityRevisionSchema = entityRevisionCoreSchema
419
+ .extend({
420
+ revision_digest: digest,
421
+ })
422
+ .strict();
423
+ export const programRevisionContentSchema = z
424
+ .object({
425
+ title: z.string().min(1),
426
+ summary: catalogSummarySchema.optional(),
427
+ })
428
+ .strict();
429
+ export const programRevisionCoreSchema = z
430
+ .object({
431
+ revision_contract: z.literal("sourcey.program-revision/v1alpha1"),
432
+ entity_id: entityId,
433
+ program_id: programId,
434
+ content: programRevisionContentSchema,
435
+ })
436
+ .strict();
437
+ export const programRevisionSchema = programRevisionCoreSchema
438
+ .extend({
439
+ revision_digest: digest,
440
+ })
441
+ .strict();
442
+ export const lifecycleStatusSchema = z.enum(["active", "ended", "withdrawn"]);
443
+ export const offerRevisionContentSchema = z
444
+ .object({
445
+ title: z.string().min(1),
446
+ summary: catalogSummarySchema,
447
+ description: catalogDescriptionSchema.optional(),
448
+ lifecycle: z
449
+ .object({
450
+ status: lifecycleStatusSchema,
451
+ effective_from: instant,
452
+ effective_until: instant.optional(),
453
+ })
454
+ .strict(),
455
+ economics: economicsSchema,
456
+ eligibility: eligibilitySchema,
457
+ roles: offerRolesSchema,
458
+ access: accessSchema,
459
+ terms_url: catalogUrlSchema.optional(),
460
+ })
461
+ .strict();
462
+ export const offerRevisionCoreSchema = z
463
+ .object({
464
+ revision_contract: z.literal("sourcey.offer-revision/v1alpha1"),
465
+ entity_id: entityId,
466
+ program_id: programId.optional(),
467
+ offer_id: offerId,
468
+ content: offerRevisionContentSchema,
469
+ })
470
+ .strict();
471
+ export const offerRevisionSchema = offerRevisionCoreSchema
472
+ .extend({
473
+ revision_digest: digest,
474
+ })
475
+ .strict();
476
+ function collectCriterionIds(rule) {
477
+ if (rule.kind === "all" || rule.kind === "any")
478
+ return rule.rules.flatMap(collectCriterionIds);
479
+ if (rule.kind === "not")
480
+ return collectCriterionIds(rule.rule);
481
+ return [rule.criterion_id];
482
+ }
483
+ function assertUniqueIdentifiers(values, label, context) {
484
+ const seen = new Set();
485
+ for (const value of values) {
486
+ if (seen.has(value)) {
487
+ context.addIssue({ code: "custom", message: `${label} values must be unique.` });
488
+ return;
489
+ }
490
+ seen.add(value);
491
+ }
492
+ }
493
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../contracts/revisions/src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,103 @@
1
+ import { z } from "zod";
2
+ import { ALLOCATED_PUBLIC_ROUTE_ROOTS } from "./public-route-allocations.generated.js";
3
+ export declare const publicRouteSlugSchema: z.ZodString;
4
+ export declare const entityCanonicalPathInputSchema: z.ZodObject<{
5
+ entity_slug: z.ZodString;
6
+ }, z.core.$strict>;
7
+ export declare const programCanonicalPathInputSchema: z.ZodObject<{
8
+ entity_slug: z.ZodString;
9
+ program_slug: z.ZodString;
10
+ }, z.core.$strict>;
11
+ export declare const offerCanonicalPathInputSchema: z.ZodObject<{
12
+ entity_slug: z.ZodString;
13
+ offer_slug: z.ZodString;
14
+ }, z.core.$strict>;
15
+ export declare const agentReadinessCanonicalPathInputSchema: z.ZodObject<{
16
+ entity_slug: z.ZodString;
17
+ product_key: z.ZodString;
18
+ funnel_key: z.ZodString;
19
+ }, z.core.$strict>;
20
+ export declare const entityIconCurrentPathInputSchema: z.ZodObject<{
21
+ entity_id: z.ZodString;
22
+ }, z.core.$strict>;
23
+ export declare function entityCanonicalPath(input: {
24
+ readonly entity_slug: string;
25
+ }): string;
26
+ export declare function programCanonicalPath(input: {
27
+ readonly entity_slug: string;
28
+ readonly program_slug: string;
29
+ }): string;
30
+ export declare function offerCanonicalPath(input: {
31
+ readonly entity_slug: string;
32
+ readonly offer_slug: string;
33
+ }): string;
34
+ export declare function agentReadinessCanonicalPath(input: {
35
+ readonly entity_slug: string;
36
+ readonly product_key: string;
37
+ readonly funnel_key: string;
38
+ }): string;
39
+ /**
40
+ * Stable public delivery route for the current icon binding. The transport
41
+ * redirects this path to the binding's immutable digest URL, so static pages
42
+ * never need rebuilding when only an adjacent icon changes.
43
+ */
44
+ export declare function entityIconCurrentPath(input: {
45
+ readonly entity_id: string;
46
+ }): string;
47
+ export declare function parseEntityIconCurrentPath(path: string): {
48
+ readonly entity_id: string;
49
+ } | null;
50
+ export declare function jsonTwinPath(canonicalPath: string): string;
51
+ /**
52
+ * Root paths owned by the site, machine surfaces, or retained public pages.
53
+ * Catalog identities may never claim these names. Keeping this in
54
+ * the public route contract makes collision prevention identical in the
55
+ * compiler, site, and any future release tooling.
56
+ */
57
+ export { ALLOCATED_PUBLIC_ROUTE_ROOTS };
58
+ export declare const routeEntrySchema: z.ZodObject<{
59
+ kind: z.ZodEnum<{
60
+ entity: "entity";
61
+ program: "program";
62
+ offer: "offer";
63
+ tombstone: "tombstone";
64
+ }>;
65
+ entity_id: z.ZodString;
66
+ program_id: z.ZodOptional<z.ZodString>;
67
+ offer_id: z.ZodOptional<z.ZodString>;
68
+ revision_digest: z.ZodOptional<z.ZodString>;
69
+ canonical: z.ZodBoolean;
70
+ canonical_route: z.ZodString;
71
+ lifecycle: z.ZodOptional<z.ZodEnum<{
72
+ active: "active";
73
+ ended: "ended";
74
+ withdrawn: "withdrawn";
75
+ }>>;
76
+ tombstone_reason: z.ZodOptional<z.ZodString>;
77
+ }, z.core.$strict>;
78
+ export declare const routeIndexSchema: z.ZodObject<{
79
+ route_contract: z.ZodLiteral<"sourcey.catalog-routes/v1alpha1">;
80
+ routes: z.ZodRecord<z.ZodString, z.ZodObject<{
81
+ kind: z.ZodEnum<{
82
+ entity: "entity";
83
+ program: "program";
84
+ offer: "offer";
85
+ tombstone: "tombstone";
86
+ }>;
87
+ entity_id: z.ZodString;
88
+ program_id: z.ZodOptional<z.ZodString>;
89
+ offer_id: z.ZodOptional<z.ZodString>;
90
+ revision_digest: z.ZodOptional<z.ZodString>;
91
+ canonical: z.ZodBoolean;
92
+ canonical_route: z.ZodString;
93
+ lifecycle: z.ZodOptional<z.ZodEnum<{
94
+ active: "active";
95
+ ended: "ended";
96
+ withdrawn: "withdrawn";
97
+ }>>;
98
+ tombstone_reason: z.ZodOptional<z.ZodString>;
99
+ }, z.core.$strict>>;
100
+ }, z.core.$strict>;
101
+ export type RouteEntry = z.infer<typeof routeEntrySchema>;
102
+ export type RouteIndex = z.infer<typeof routeIndexSchema>;
103
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../contracts/routes/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,OAAO,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AAOvF,eAAO,MAAM,qBAAqB,aAAuD,CAAC;AAE1F,eAAO,MAAM,8BAA8B;;kBAIhC,CAAC;AAEZ,eAAO,MAAM,+BAA+B;;;kBAKjC,CAAC;AAEZ,eAAO,MAAM,6BAA6B;;;kBAK/B,CAAC;AAEZ,eAAO,MAAM,sCAAsC;;;;kBAMxC,CAAC;AAEZ,eAAO,MAAM,gCAAgC;;kBAA6C,CAAC;AAE3F,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAGnF;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAC1C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B,GAAG,MAAM,CAGT;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B,GAAG,MAAM,CAGT;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IACjD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B,GAAG,MAAM,CAGT;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAGnF;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAK9F;AAED,wBAAgB,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAK1D;AAED;;;;;GAKG;AACH,OAAO,EAAE,4BAA4B,EAAE,CAAC;AAExC,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;kBAoEzB,CAAC;AAEL,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;kBAKlB,CAAC;AAEZ,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}