@sourcey/catalog-verifier 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (342) hide show
  1. package/README.md +1 -1
  2. package/SBOM.cdx.json +3 -3
  3. package/SOURCEY-CLOSURE.json +697 -217
  4. package/SOURCEY-LICENSE-POLICY.json +19 -1
  5. package/SOURCEY-TOOLCHAIN.json +1 -1
  6. package/THIRD_PARTY_NOTICES.json +1 -1
  7. package/dist/contracts/agent-readiness/src/declaration.d.ts +30 -30
  8. package/dist/contracts/agent-readiness/src/index.d.ts +82 -74
  9. package/dist/contracts/agent-readiness/src/index.d.ts.map +1 -1
  10. package/dist/contracts/agent-readiness/src/index.js +29 -8
  11. package/dist/contracts/agent-readiness/src/index.js.map +1 -1
  12. package/dist/contracts/agent-readiness/src/method-pack.d.ts +1 -0
  13. package/dist/contracts/agent-readiness/src/method-pack.d.ts.map +1 -1
  14. package/dist/contracts/agent-readiness/src/method-pack.js.map +1 -1
  15. package/dist/contracts/api/src/index.d.ts +11602 -6013
  16. package/dist/contracts/api/src/index.d.ts.map +1 -1
  17. package/dist/contracts/api/src/index.js +156 -16
  18. package/dist/contracts/api/src/index.js.map +1 -1
  19. package/dist/contracts/artifact/src/index.d.ts +114 -64
  20. package/dist/contracts/artifact/src/index.d.ts.map +1 -1
  21. package/dist/contracts/artifact/src/index.js +15 -4
  22. package/dist/contracts/artifact/src/index.js.map +1 -1
  23. package/dist/contracts/assets/src/index.d.ts +30 -0
  24. package/dist/contracts/assets/src/index.d.ts.map +1 -1
  25. package/dist/contracts/assets/src/index.js +16 -0
  26. package/dist/contracts/assets/src/index.js.map +1 -1
  27. package/dist/contracts/assurance/src/index.d.ts +149 -0
  28. package/dist/contracts/assurance/src/index.d.ts.map +1 -0
  29. package/dist/contracts/assurance/src/index.js +146 -0
  30. package/dist/contracts/assurance/src/index.js.map +1 -0
  31. package/dist/contracts/authoring/src/index.d.ts.map +1 -1
  32. package/dist/contracts/authoring/src/index.js +9 -1
  33. package/dist/contracts/authoring/src/index.js.map +1 -1
  34. package/dist/contracts/billing/src/index.d.ts +54 -0
  35. package/dist/contracts/billing/src/index.d.ts.map +1 -1
  36. package/dist/contracts/billing/src/index.js +77 -11
  37. package/dist/contracts/billing/src/index.js.map +1 -1
  38. package/dist/contracts/catalog-verifier/src/index.d.ts +49 -0
  39. package/dist/contracts/catalog-verifier/src/index.d.ts.map +1 -1
  40. package/dist/contracts/catalog-verifier/src/index.js +31 -3
  41. package/dist/contracts/catalog-verifier/src/index.js.map +1 -1
  42. package/dist/contracts/commercial-work/src/index.d.ts +1330 -392
  43. package/dist/contracts/commercial-work/src/index.d.ts.map +1 -1
  44. package/dist/contracts/commercial-work/src/index.js +554 -111
  45. package/dist/contracts/commercial-work/src/index.js.map +1 -1
  46. package/dist/contracts/datasets/src/index.d.ts +762 -0
  47. package/dist/contracts/datasets/src/index.d.ts.map +1 -0
  48. package/dist/contracts/datasets/src/index.js +80 -0
  49. package/dist/contracts/datasets/src/index.js.map +1 -0
  50. package/dist/contracts/events/src/index.d.ts +67 -56
  51. package/dist/contracts/events/src/index.d.ts.map +1 -1
  52. package/dist/contracts/events/src/index.js +100 -53
  53. package/dist/contracts/events/src/index.js.map +1 -1
  54. package/dist/contracts/evidence/src/index.d.ts +4 -0
  55. package/dist/contracts/evidence/src/index.d.ts.map +1 -1
  56. package/dist/contracts/evidence/src/index.js +1 -0
  57. package/dist/contracts/evidence/src/index.js.map +1 -1
  58. package/dist/contracts/funded-work/src/index.d.ts +2 -2
  59. package/dist/contracts/funded-work/src/index.js +1 -1
  60. package/dist/contracts/funded-work/src/index.js.map +1 -1
  61. package/dist/contracts/observations/src/index.d.ts +2 -2
  62. package/dist/contracts/observations/src/index.d.ts.map +1 -1
  63. package/dist/contracts/observations/src/index.js +2 -2
  64. package/dist/contracts/observations/src/index.js.map +1 -1
  65. package/dist/contracts/policies/src/index.d.ts.map +1 -1
  66. package/dist/contracts/policies/src/index.js +3 -0
  67. package/dist/contracts/policies/src/index.js.map +1 -1
  68. package/dist/contracts/publication/src/index.d.ts +2472 -7
  69. package/dist/contracts/publication/src/index.d.ts.map +1 -1
  70. package/dist/contracts/publication/src/index.js +73 -5
  71. package/dist/contracts/publication/src/index.js.map +1 -1
  72. package/dist/contracts/release/src/index.d.ts +109 -42
  73. package/dist/contracts/release/src/index.d.ts.map +1 -1
  74. package/dist/contracts/release/src/index.js +49 -1
  75. package/dist/contracts/release/src/index.js.map +1 -1
  76. package/dist/contracts/revisions/src/index.d.ts +16 -0
  77. package/dist/contracts/revisions/src/index.d.ts.map +1 -1
  78. package/dist/contracts/revisions/src/index.js +49 -1
  79. package/dist/contracts/revisions/src/index.js.map +1 -1
  80. package/dist/contracts/routes/src/index.d.ts +66 -0
  81. package/dist/contracts/routes/src/index.d.ts.map +1 -1
  82. package/dist/contracts/routes/src/index.js +102 -4
  83. package/dist/contracts/routes/src/index.js.map +1 -1
  84. package/dist/contracts/routes/src/public-route-allocations.generated.d.ts +1 -1
  85. package/dist/contracts/routes/src/public-route-allocations.generated.d.ts.map +1 -1
  86. package/dist/contracts/routes/src/public-route-allocations.generated.js +3 -0
  87. package/dist/contracts/routes/src/public-route-allocations.generated.js.map +1 -1
  88. package/dist/modules/agent-readiness-policy/src/current-policy-metrics.js +2 -2
  89. package/dist/modules/agent-readiness-policy/src/current-policy-metrics.js.map +1 -1
  90. package/dist/modules/agent-readiness-policy/src/current-policy-validation.d.ts +4 -0
  91. package/dist/modules/agent-readiness-policy/src/current-policy-validation.d.ts.map +1 -0
  92. package/dist/modules/agent-readiness-policy/src/current-policy-validation.js +11 -0
  93. package/dist/modules/agent-readiness-policy/src/current-policy-validation.js.map +1 -0
  94. package/dist/modules/agent-readiness-policy/src/current-policy.d.ts.map +1 -1
  95. package/dist/modules/agent-readiness-policy/src/current-policy.js +10 -15
  96. package/dist/modules/agent-readiness-policy/src/current-policy.js.map +1 -1
  97. package/dist/modules/agent-readiness-policy/src/grading.js +1 -1
  98. package/dist/modules/agent-readiness-policy/src/impact.d.ts +4 -3
  99. package/dist/modules/agent-readiness-policy/src/impact.d.ts.map +1 -1
  100. package/dist/modules/agent-readiness-policy/src/impact.js +5 -6
  101. package/dist/modules/agent-readiness-policy/src/impact.js.map +1 -1
  102. package/dist/modules/agent-readiness-policy/src/index.d.ts +3 -0
  103. package/dist/modules/agent-readiness-policy/src/index.d.ts.map +1 -1
  104. package/dist/modules/agent-readiness-policy/src/index.js +14 -4
  105. package/dist/modules/agent-readiness-policy/src/index.js.map +1 -1
  106. package/dist/modules/agent-readiness-policy/src/offer-relations.d.ts +6 -0
  107. package/dist/modules/agent-readiness-policy/src/offer-relations.d.ts.map +1 -1
  108. package/dist/modules/agent-readiness-policy/src/offer-relations.js +6 -0
  109. package/dist/modules/agent-readiness-policy/src/offer-relations.js.map +1 -1
  110. package/dist/modules/agent-readiness-policy/src/policy-validation.d.ts +0 -1
  111. package/dist/modules/agent-readiness-policy/src/policy-validation.d.ts.map +1 -1
  112. package/dist/modules/agent-readiness-policy/src/policy-validation.js +3 -23
  113. package/dist/modules/agent-readiness-policy/src/policy-validation.js.map +1 -1
  114. package/dist/modules/agent-readiness-policy/src/standard-mapping.d.ts.map +1 -1
  115. package/dist/modules/agent-readiness-policy/src/standard-mapping.js +2 -1
  116. package/dist/modules/agent-readiness-policy/src/standard-mapping.js.map +1 -1
  117. package/dist/modules/agent-readiness-repository/src/change.js +2 -2
  118. package/dist/modules/agent-readiness-repository/src/change.js.map +1 -1
  119. package/dist/modules/artifact/src/index.d.ts +9 -3
  120. package/dist/modules/artifact/src/index.d.ts.map +1 -1
  121. package/dist/modules/artifact/src/index.js +50 -65
  122. package/dist/modules/artifact/src/index.js.map +1 -1
  123. package/dist/modules/artifact/src/policy-closure.d.ts +12 -0
  124. package/dist/modules/artifact/src/policy-closure.d.ts.map +1 -0
  125. package/dist/modules/artifact/src/policy-closure.js +52 -0
  126. package/dist/modules/artifact/src/policy-closure.js.map +1 -0
  127. package/dist/modules/{release → artifact}/src/release-directory-files.d.ts +2 -0
  128. package/dist/modules/artifact/src/release-directory-files.d.ts.map +1 -0
  129. package/dist/modules/artifact/src/release-directory-files.js +38 -0
  130. package/dist/modules/artifact/src/release-directory-files.js.map +1 -0
  131. package/dist/modules/assets/src/authority-bundle.d.ts +13 -0
  132. package/dist/modules/assets/src/authority-bundle.d.ts.map +1 -1
  133. package/dist/modules/assets/src/authority-bundle.js +38 -9
  134. package/dist/modules/assets/src/authority-bundle.js.map +1 -1
  135. package/dist/modules/assets/src/index.d.ts.map +1 -1
  136. package/dist/modules/assets/src/index.js +13 -4
  137. package/dist/modules/assets/src/index.js.map +1 -1
  138. package/dist/modules/assurance/src/index.d.ts +22 -0
  139. package/dist/modules/assurance/src/index.d.ts.map +1 -0
  140. package/dist/modules/assurance/src/index.js +73 -0
  141. package/dist/modules/assurance/src/index.js.map +1 -0
  142. package/dist/modules/authority/src/index.d.ts +9 -2
  143. package/dist/modules/authority/src/index.d.ts.map +1 -1
  144. package/dist/modules/authority/src/index.js +32 -2
  145. package/dist/modules/authority/src/index.js.map +1 -1
  146. package/dist/modules/authority/src/retained-capture-receipt.d.ts +95 -0
  147. package/dist/modules/authority/src/retained-capture-receipt.d.ts.map +1 -0
  148. package/dist/modules/authority/src/retained-capture-receipt.js +76 -0
  149. package/dist/modules/authority/src/retained-capture-receipt.js.map +1 -0
  150. package/dist/modules/authority-state/src/index.d.ts +1 -1
  151. package/dist/modules/authority-state/src/index.d.ts.map +1 -1
  152. package/dist/modules/authority-state/src/index.js +5 -9
  153. package/dist/modules/authority-state/src/index.js.map +1 -1
  154. package/dist/modules/catalog-admission/src/admission-conflicts.d.ts +60 -16
  155. package/dist/modules/catalog-admission/src/admission-conflicts.d.ts.map +1 -1
  156. package/dist/modules/catalog-admission/src/admission-conflicts.js +95 -40
  157. package/dist/modules/catalog-admission/src/admission-conflicts.js.map +1 -1
  158. package/dist/modules/catalog-admission/src/change-analysis.d.ts +50 -0
  159. package/dist/modules/catalog-admission/src/change-analysis.d.ts.map +1 -0
  160. package/dist/modules/catalog-admission/src/change-analysis.js +113 -0
  161. package/dist/modules/catalog-admission/src/change-analysis.js.map +1 -0
  162. package/dist/modules/catalog-admission/src/index.d.ts +11 -37
  163. package/dist/modules/catalog-admission/src/index.d.ts.map +1 -1
  164. package/dist/modules/catalog-admission/src/index.js +20 -56
  165. package/dist/modules/catalog-admission/src/index.js.map +1 -1
  166. package/dist/modules/catalog-admission/src/machine-admission.d.ts +1215 -0
  167. package/dist/modules/catalog-admission/src/machine-admission.d.ts.map +1 -1
  168. package/dist/modules/catalog-admission/src/machine-admission.js +156 -12
  169. package/dist/modules/catalog-admission/src/machine-admission.js.map +1 -1
  170. package/dist/modules/catalog-admission/src/publication-authorities.d.ts +6 -0
  171. package/dist/modules/catalog-admission/src/publication-authorities.d.ts.map +1 -0
  172. package/dist/modules/catalog-admission/src/publication-authorities.js +28 -0
  173. package/dist/modules/catalog-admission/src/publication-authorities.js.map +1 -0
  174. package/dist/modules/catalog-admission/src/publication-composition.d.ts +421 -0
  175. package/dist/modules/catalog-admission/src/publication-composition.d.ts.map +1 -0
  176. package/dist/modules/catalog-admission/src/publication-composition.js +290 -0
  177. package/dist/modules/catalog-admission/src/publication-composition.js.map +1 -0
  178. package/dist/modules/catalog-admission/src/publication-dependencies.d.ts +25 -1
  179. package/dist/modules/catalog-admission/src/publication-dependencies.d.ts.map +1 -1
  180. package/dist/modules/catalog-admission/src/publication-dependencies.js +31 -1
  181. package/dist/modules/catalog-admission/src/publication-dependencies.js.map +1 -1
  182. package/dist/modules/catalog-admission/src/publication-recomposition.d.ts +2 -2
  183. package/dist/modules/catalog-admission/src/publication-state.d.ts +19 -0
  184. package/dist/modules/catalog-admission/src/publication-state.d.ts.map +1 -0
  185. package/dist/modules/catalog-admission/src/publication-state.js +97 -0
  186. package/dist/modules/catalog-admission/src/publication-state.js.map +1 -0
  187. package/dist/modules/catalog-admission/src/publication.d.ts +26 -24
  188. package/dist/modules/catalog-admission/src/publication.d.ts.map +1 -1
  189. package/dist/modules/catalog-admission/src/publication.js +47 -106
  190. package/dist/modules/catalog-admission/src/publication.js.map +1 -1
  191. package/dist/modules/catalog-admission/src/submission-input.d.ts +44 -0
  192. package/dist/modules/catalog-admission/src/submission-input.d.ts.map +1 -0
  193. package/dist/modules/catalog-admission/src/submission-input.js +174 -0
  194. package/dist/modules/catalog-admission/src/submission-input.js.map +1 -0
  195. package/dist/modules/catalog-admission/src/submission-state.d.ts +9 -0
  196. package/dist/modules/catalog-admission/src/submission-state.d.ts.map +1 -0
  197. package/dist/modules/catalog-admission/src/submission-state.js +24 -0
  198. package/dist/modules/catalog-admission/src/submission-state.js.map +1 -0
  199. package/dist/modules/catalog-admission/src/submission.d.ts +99 -19
  200. package/dist/modules/catalog-admission/src/submission.d.ts.map +1 -1
  201. package/dist/modules/catalog-admission/src/submission.js +160 -111
  202. package/dist/modules/catalog-admission/src/submission.js.map +1 -1
  203. package/dist/modules/catalog-model/src/index.d.ts +10 -0
  204. package/dist/modules/catalog-model/src/index.d.ts.map +1 -1
  205. package/dist/modules/catalog-model/src/index.js +11 -3
  206. package/dist/modules/catalog-model/src/index.js.map +1 -1
  207. package/dist/modules/catalog-query/src/contracts.d.ts +13 -0
  208. package/dist/modules/catalog-query/src/contracts.d.ts.map +1 -0
  209. package/dist/modules/catalog-query/src/contracts.js +13 -0
  210. package/dist/modules/catalog-query/src/contracts.js.map +1 -0
  211. package/dist/modules/catalog-read-port/src/index.d.ts +34 -0
  212. package/dist/modules/catalog-read-port/src/index.d.ts.map +1 -0
  213. package/dist/modules/catalog-read-port/src/index.js +2 -0
  214. package/dist/modules/catalog-read-port/src/index.js.map +1 -0
  215. package/dist/modules/deterministic-release-archive/src/files.d.ts +8 -0
  216. package/dist/modules/deterministic-release-archive/src/files.d.ts.map +1 -0
  217. package/dist/modules/deterministic-release-archive/src/files.js +23 -0
  218. package/dist/modules/deterministic-release-archive/src/files.js.map +1 -0
  219. package/dist/modules/evidence-operations/src/configuration.d.ts +283 -0
  220. package/dist/modules/evidence-operations/src/configuration.d.ts.map +1 -0
  221. package/dist/modules/evidence-operations/src/configuration.js +213 -0
  222. package/dist/modules/evidence-operations/src/configuration.js.map +1 -0
  223. package/dist/modules/evidence-operations/src/evidence-authority.d.ts +2552 -0
  224. package/dist/modules/evidence-operations/src/evidence-authority.d.ts.map +1 -0
  225. package/dist/modules/evidence-operations/src/evidence-authority.js +545 -0
  226. package/dist/modules/evidence-operations/src/evidence-authority.js.map +1 -0
  227. package/dist/modules/evidence-operations/src/evidence-normalization.d.ts +5 -0
  228. package/dist/modules/evidence-operations/src/evidence-normalization.d.ts.map +1 -1
  229. package/dist/modules/evidence-operations/src/evidence-normalization.js +11 -2
  230. package/dist/modules/evidence-operations/src/evidence-normalization.js.map +1 -1
  231. package/dist/modules/evidence-operations/src/proof-graph.d.ts +4 -7
  232. package/dist/modules/evidence-operations/src/proof-graph.d.ts.map +1 -1
  233. package/dist/modules/evidence-operations/src/proof-graph.js +6 -7
  234. package/dist/modules/evidence-operations/src/proof-graph.js.map +1 -1
  235. package/dist/modules/evidence-operations/src/retained-revision.d.ts +6 -0
  236. package/dist/modules/evidence-operations/src/retained-revision.d.ts.map +1 -0
  237. package/dist/modules/evidence-operations/src/retained-revision.js +29 -0
  238. package/dist/modules/evidence-operations/src/retained-revision.js.map +1 -0
  239. package/dist/modules/evidence-operations/src/submission-verifier.d.ts +5 -2
  240. package/dist/modules/evidence-operations/src/submission-verifier.d.ts.map +1 -1
  241. package/dist/modules/evidence-operations/src/submission-verifier.js.map +1 -1
  242. package/dist/modules/git-input/src/index.d.ts +31 -0
  243. package/dist/modules/git-input/src/index.d.ts.map +1 -0
  244. package/dist/modules/git-input/src/index.js +158 -0
  245. package/dist/modules/git-input/src/index.js.map +1 -0
  246. package/dist/modules/policy-identity/src/index.d.ts +7 -0
  247. package/dist/modules/policy-identity/src/index.d.ts.map +1 -0
  248. package/dist/modules/policy-identity/src/index.js +23 -0
  249. package/dist/modules/policy-identity/src/index.js.map +1 -0
  250. package/dist/modules/primitives/src/index.d.ts +2 -0
  251. package/dist/modules/primitives/src/index.d.ts.map +1 -1
  252. package/dist/modules/primitives/src/index.js +20 -2
  253. package/dist/modules/primitives/src/index.js.map +1 -1
  254. package/dist/modules/projection-identity/src/index.d.ts +14 -0
  255. package/dist/modules/projection-identity/src/index.d.ts.map +1 -0
  256. package/dist/modules/projection-identity/src/index.js +23 -0
  257. package/dist/modules/projection-identity/src/index.js.map +1 -0
  258. package/dist/modules/provenance/src/index.d.ts +7 -3
  259. package/dist/modules/provenance/src/index.d.ts.map +1 -1
  260. package/dist/modules/provenance/src/index.js +52 -68
  261. package/dist/modules/provenance/src/index.js.map +1 -1
  262. package/dist/modules/release/src/agent-readiness-publication-inputs.d.ts +12 -0
  263. package/dist/modules/release/src/agent-readiness-publication-inputs.d.ts.map +1 -0
  264. package/dist/modules/release/src/agent-readiness-publication-inputs.js +48 -0
  265. package/dist/modules/release/src/agent-readiness-publication-inputs.js.map +1 -0
  266. package/dist/modules/release/src/agent-readiness-regrade-evidence.d.ts +223 -0
  267. package/dist/modules/release/src/agent-readiness-regrade-evidence.d.ts.map +1 -0
  268. package/dist/modules/release/src/agent-readiness-regrade-evidence.js +192 -0
  269. package/dist/modules/release/src/agent-readiness-regrade-evidence.js.map +1 -0
  270. package/dist/modules/release/src/changes.d.ts.map +1 -1
  271. package/dist/modules/release/src/changes.js +21 -25
  272. package/dist/modules/release/src/changes.js.map +1 -1
  273. package/dist/modules/release/src/evidence-admission.d.ts +59 -0
  274. package/dist/modules/release/src/evidence-admission.d.ts.map +1 -0
  275. package/dist/modules/release/src/evidence-admission.js +539 -0
  276. package/dist/modules/release/src/evidence-admission.js.map +1 -0
  277. package/dist/modules/release/src/evidence-bundle-tree.d.ts +14 -0
  278. package/dist/modules/release/src/evidence-bundle-tree.d.ts.map +1 -0
  279. package/dist/modules/release/src/evidence-bundle-tree.js +58 -0
  280. package/dist/modules/release/src/evidence-bundle-tree.js.map +1 -0
  281. package/dist/modules/release/src/identity.d.ts +4 -4
  282. package/dist/modules/release/src/identity.d.ts.map +1 -1
  283. package/dist/modules/release/src/identity.js +43 -1
  284. package/dist/modules/release/src/identity.js.map +1 -1
  285. package/dist/modules/release/src/inputs.d.ts +15 -7
  286. package/dist/modules/release/src/inputs.d.ts.map +1 -1
  287. package/dist/modules/release/src/inputs.js +15 -21
  288. package/dist/modules/release/src/inputs.js.map +1 -1
  289. package/dist/modules/release/src/publication-authorities.d.ts +267 -0
  290. package/dist/modules/release/src/publication-authorities.d.ts.map +1 -0
  291. package/dist/modules/release/src/publication-authorities.js +56 -0
  292. package/dist/modules/release/src/publication-authorities.js.map +1 -0
  293. package/dist/modules/release/src/publication-inputs.d.ts +2 -6
  294. package/dist/modules/release/src/publication-inputs.d.ts.map +1 -1
  295. package/dist/modules/release/src/publication-inputs.js +29 -15
  296. package/dist/modules/release/src/publication-inputs.js.map +1 -1
  297. package/dist/modules/release/src/publication-parent-guard.d.ts +17 -0
  298. package/dist/modules/release/src/publication-parent-guard.d.ts.map +1 -0
  299. package/dist/modules/release/src/publication-parent-guard.js +18 -0
  300. package/dist/modules/release/src/publication-parent-guard.js.map +1 -0
  301. package/dist/modules/release/src/publication-parent-relations.d.ts +24 -0
  302. package/dist/modules/release/src/publication-parent-relations.d.ts.map +1 -0
  303. package/dist/modules/release/src/publication-parent-relations.js +104 -0
  304. package/dist/modules/release/src/publication-parent-relations.js.map +1 -0
  305. package/dist/modules/release/src/submission-verification.d.ts +20 -0
  306. package/dist/modules/release/src/submission-verification.d.ts.map +1 -0
  307. package/dist/modules/release/src/submission-verification.js +39 -0
  308. package/dist/modules/release/src/submission-verification.js.map +1 -0
  309. package/dist/modules/release/src/transition.d.ts.map +1 -1
  310. package/dist/modules/release/src/transition.js +17 -10
  311. package/dist/modules/release/src/transition.js.map +1 -1
  312. package/dist/modules/release/src/verification-changes.d.ts +6 -0
  313. package/dist/modules/release/src/verification-changes.d.ts.map +1 -0
  314. package/dist/modules/release/src/verification-changes.js +56 -0
  315. package/dist/modules/release/src/verification-changes.js.map +1 -0
  316. package/dist/modules/release/src/verification-policies.d.ts +22 -0
  317. package/dist/modules/release/src/verification-policies.d.ts.map +1 -1
  318. package/dist/modules/release/src/verification-policies.js +6 -0
  319. package/dist/modules/release/src/verification-policies.js.map +1 -1
  320. package/dist/modules/release/src/verification-transitions.d.ts +14 -1
  321. package/dist/modules/release/src/verification-transitions.d.ts.map +1 -1
  322. package/dist/modules/release/src/verification-transitions.js +55 -1
  323. package/dist/modules/release/src/verification-transitions.js.map +1 -1
  324. package/dist/modules/release/src/verifier.d.ts +5 -3
  325. package/dist/modules/release/src/verifier.d.ts.map +1 -1
  326. package/dist/modules/release/src/verifier.js +71 -80
  327. package/dist/modules/release/src/verifier.js.map +1 -1
  328. package/dist/packages/catalog-verifier/src/application.d.ts +2 -0
  329. package/dist/packages/catalog-verifier/src/application.d.ts.map +1 -1
  330. package/dist/packages/catalog-verifier/src/application.js +10 -9
  331. package/dist/packages/catalog-verifier/src/application.js.map +1 -1
  332. package/dist/packages/catalog-verifier/src/index.d.ts +3 -0
  333. package/dist/packages/catalog-verifier/src/index.d.ts.map +1 -1
  334. package/dist/packages/catalog-verifier/src/index.js +3 -0
  335. package/dist/packages/catalog-verifier/src/index.js.map +1 -1
  336. package/dist/packages/catalog-verifier/src/program.d.ts.map +1 -1
  337. package/dist/packages/catalog-verifier/src/program.js +13 -10
  338. package/dist/packages/catalog-verifier/src/program.js.map +1 -1
  339. package/package.json +1 -1
  340. package/dist/modules/release/src/release-directory-files.d.ts.map +0 -1
  341. package/dist/modules/release/src/release-directory-files.js +0 -49
  342. package/dist/modules/release/src/release-directory-files.js.map +0 -1
@@ -0,0 +1,223 @@
1
+ import { z } from "zod";
2
+ import { type AgentReadinessDeclarationRevision, type AgentReadinessDeltaObject, type AgentReadinessPolicy, type AgentReadinessProjection, type AgentReadinessRevision } from "../../../contracts/agent-readiness/src/index.js";
3
+ import type { SignerRegistry } from "../../../contracts/authority/src/index.js";
4
+ import { type CatalogEvent } from "../../../contracts/events/src/index.js";
5
+ import { type Observation } from "../../../contracts/observations/src/index.js";
6
+ import type { FreshnessPolicy } from "../../../contracts/policies/src/index.js";
7
+ import type { EntityRevision } from "../../../contracts/revisions/src/index.js";
8
+ import { type EventGraph } from "../../provenance/src/index.js";
9
+ export declare const AGENT_READINESS_REGRADE_EVIDENCE_PREFIX = "agent-readiness-regrade-evidence/";
10
+ /**
11
+ * Exact evidence context for reprojection of an existing revision. New events
12
+ * still require ordinary release admission; these bytes only close the graph
13
+ * beside the prior projection for independent offline recomputation.
14
+ */
15
+ export declare const agentReadinessRegradeEvidenceSchema: z.ZodObject<{
16
+ evidence_contract: z.ZodLiteral<"sourcey.agent-readiness-regrade-evidence/v1alpha1">;
17
+ agent_readiness_profile_id: z.ZodString;
18
+ revision_digest: z.ZodString;
19
+ events: z.ZodArray<z.ZodObject<{
20
+ event_contract: z.ZodLiteral<"sourcey.catalog-event/v1alpha1">;
21
+ kind: z.ZodEnum<{
22
+ "program.retired": "program.retired";
23
+ "offer.retired": "offer.retired";
24
+ "asset.bound": "asset.bound";
25
+ "asset.withdrawn": "asset.withdrawn";
26
+ "evidence.bound": "evidence.bound";
27
+ "evidence.retracted": "evidence.retracted";
28
+ "discrepancy.resolved": "discrepancy.resolved";
29
+ "authority.claimed": "authority.claimed";
30
+ "authority.rechecked": "authority.rechecked";
31
+ "authority.revoked": "authority.revoked";
32
+ "authority.superseded": "authority.superseded";
33
+ "subject.attested": "subject.attested";
34
+ "attestation.revoked": "attestation.revoked";
35
+ "verification.completed": "verification.completed";
36
+ "entity.identity-checked": "entity.identity-checked";
37
+ "offer.terms-checked": "offer.terms-checked";
38
+ "assurance.revoked": "assurance.revoked";
39
+ "freshness.exception-granted": "freshness.exception-granted";
40
+ "freshness.exception-revoked": "freshness.exception-revoked";
41
+ "dispute.opened": "dispute.opened";
42
+ "dispute.resolved": "dispute.resolved";
43
+ "asset.takedown-ordered": "asset.takedown-ordered";
44
+ "entity.merged": "entity.merged";
45
+ "entity.split": "entity.split";
46
+ "entity.succeeded": "entity.succeeded";
47
+ "offer.merged": "offer.merged";
48
+ "program.merged": "program.merged";
49
+ "program.reparented": "program.reparented";
50
+ "offer.reparented": "offer.reparented";
51
+ "agent-readiness-profile.merged": "agent-readiness-profile.merged";
52
+ "agent-readiness-profile.reparented": "agent-readiness-profile.reparented";
53
+ "agent-readiness-profile.retired": "agent-readiness-profile.retired";
54
+ "identity.transition-superseded": "identity.transition-superseded";
55
+ }>;
56
+ issuer_id: z.ZodString;
57
+ operation_id: z.ZodString;
58
+ subject: z.ZodDiscriminatedUnion<[z.ZodObject<{
59
+ subject_type: z.ZodLiteral<"entity">;
60
+ entity_id: z.ZodString;
61
+ revision_digest: z.ZodOptional<z.ZodString>;
62
+ }, z.core.$strict>, z.ZodObject<{
63
+ subject_type: z.ZodLiteral<"agent_readiness_profile">;
64
+ entity_id: z.ZodString;
65
+ agent_readiness_profile_id: z.ZodString;
66
+ revision_digest: z.ZodOptional<z.ZodString>;
67
+ }, z.core.$strict>, z.ZodObject<{
68
+ subject_type: z.ZodLiteral<"program">;
69
+ entity_id: z.ZodString;
70
+ program_id: z.ZodString;
71
+ revision_digest: z.ZodOptional<z.ZodString>;
72
+ }, z.core.$strict>, z.ZodObject<{
73
+ subject_type: z.ZodLiteral<"offer">;
74
+ entity_id: z.ZodString;
75
+ program_id: z.ZodOptional<z.ZodString>;
76
+ offer_id: z.ZodString;
77
+ revision_digest: z.ZodOptional<z.ZodString>;
78
+ }, z.core.$strict>], "subject_type">;
79
+ occurred_at: z.ZodISODateTime;
80
+ payload: z.ZodUnknown;
81
+ event_id: z.ZodString;
82
+ protected: z.ZodObject<{
83
+ signature_purpose: z.ZodEnum<{
84
+ "catalog-capture": "catalog-capture";
85
+ "catalog-evidence": "catalog-evidence";
86
+ "catalog-identity": "catalog-identity";
87
+ "catalog-authority": "catalog-authority";
88
+ "catalog-attestation": "catalog-attestation";
89
+ "catalog-verification": "catalog-verification";
90
+ "catalog-dispute": "catalog-dispute";
91
+ "catalog-policy": "catalog-policy";
92
+ "catalog-release": "catalog-release";
93
+ "catalog-feed": "catalog-feed";
94
+ }>;
95
+ signer_registry_digest: z.ZodString;
96
+ key_id: z.ZodString;
97
+ algorithm: z.ZodLiteral<"ed25519">;
98
+ signature: z.ZodString;
99
+ }, z.core.$strict>;
100
+ }, z.core.$strict>>;
101
+ observations: z.ZodArray<z.ZodObject<{
102
+ observation_contract: z.ZodLiteral<"sourcey.observation/v1alpha1">;
103
+ source_id: z.ZodString;
104
+ source_uri: z.ZodURL;
105
+ retrieved_at: z.ZodISODateTime;
106
+ method: z.ZodObject<{
107
+ name: z.ZodString;
108
+ version: z.ZodString;
109
+ }, z.core.$strict>;
110
+ outcome: z.ZodEnum<{
111
+ error: "error";
112
+ "supports-candidate": "supports-candidate";
113
+ "contradicts-candidate": "contradicts-candidate";
114
+ unreachable: "unreachable";
115
+ }>;
116
+ capture: z.ZodOptional<z.ZodObject<{
117
+ digest: z.ZodString;
118
+ bytes: z.ZodNumber;
119
+ media_type: z.ZodString;
120
+ availability: z.ZodEnum<{
121
+ public: "public";
122
+ "private-receipt": "private-receipt";
123
+ }>;
124
+ requested_uri: z.ZodOptional<z.ZodURL>;
125
+ final_uri: z.ZodOptional<z.ZodURL>;
126
+ redirect_chain: z.ZodOptional<z.ZodArray<z.ZodObject<{
127
+ status: z.ZodUnion<readonly [z.ZodLiteral<301>, z.ZodLiteral<302>, z.ZodLiteral<303>, z.ZodLiteral<307>, z.ZodLiteral<308>]>;
128
+ from: z.ZodURL;
129
+ to: z.ZodURL;
130
+ }, z.core.$strict>>>;
131
+ source_standing: z.ZodOptional<z.ZodEnum<{
132
+ "live-first-party": "live-first-party";
133
+ "archived-first-party": "archived-first-party";
134
+ "live-third-party": "live-third-party";
135
+ "archived-third-party": "archived-third-party";
136
+ "manual-first-party": "manual-first-party";
137
+ "manual-third-party": "manual-third-party";
138
+ }>>;
139
+ normalized_object: z.ZodOptional<z.ZodObject<{
140
+ digest: z.ZodString;
141
+ bytes: z.ZodNumber;
142
+ media_type: z.ZodLiteral<"text/plain; charset=utf-8">;
143
+ normalizer_contract: z.ZodLiteral<"sourcey.evidence-normalizer/v1alpha1">;
144
+ normalizer_id: z.ZodString;
145
+ version: z.ZodString;
146
+ toolchain_digest: z.ZodString;
147
+ }, z.core.$strict>>;
148
+ }, z.core.$strict>>;
149
+ no_capture_reason: z.ZodOptional<z.ZodEnum<{
150
+ "dns-failure": "dns-failure";
151
+ "connect-timeout": "connect-timeout";
152
+ "tls-failure": "tls-failure";
153
+ "access-denied": "access-denied";
154
+ "policy-blocked": "policy-blocked";
155
+ "empty-response": "empty-response";
156
+ "extractor-error": "extractor-error";
157
+ }>>;
158
+ observation_id: z.ZodString;
159
+ }, z.core.$strict>>;
160
+ }, z.core.$strict>;
161
+ export type AgentReadinessRegradeEvidence = z.infer<typeof agentReadinessRegradeEvidenceSchema>;
162
+ export interface AgentReadinessEvidenceChanges {
163
+ readonly events: readonly CatalogEvent[];
164
+ readonly observations: readonly Observation[];
165
+ }
166
+ /**
167
+ * Select the changed evidence owned by one exact Agent Readiness revision.
168
+ * A Catalog delta is not a complete event graph: unrelated transitions may
169
+ * target immutable objects retained by the parent release.
170
+ */
171
+ export declare function selectAgentReadinessEvidenceChanges(input: {
172
+ readonly profileId: string;
173
+ readonly revisionDigest: string;
174
+ readonly events: readonly CatalogEvent[];
175
+ readonly observations: readonly Observation[];
176
+ }): AgentReadinessEvidenceChanges;
177
+ /**
178
+ * Select, from the resolved closure, exactly the events and observations one
179
+ * regrade is projected from: the prior projection's basis events, every event
180
+ * on the same revision, and every event that invalidates one of those.
181
+ */
182
+ export declare function selectAgentReadinessRegradeEvidence(input: {
183
+ readonly profileId: string;
184
+ readonly revision: AgentReadinessRevision;
185
+ readonly priorProjection: AgentReadinessProjection;
186
+ readonly events: readonly CatalogEvent[];
187
+ readonly observations: readonly Observation[];
188
+ }): AgentReadinessRegradeEvidence;
189
+ /** The evidence must close the prior projection exactly before it can rebuild its graph. */
190
+ export declare function verifyAgentReadinessRegradeEvidence(input: {
191
+ readonly evidence: AgentReadinessRegradeEvidence;
192
+ readonly revision: AgentReadinessRevision;
193
+ readonly priorProjection: AgentReadinessProjection;
194
+ }): EventGraph;
195
+ /**
196
+ * Read one shipped regrade evidence file. Retained evidence re-verifies every
197
+ * event signature against the release-pinned registry at this release's
198
+ * sequence; it admits nothing and carries no inclusion record.
199
+ */
200
+ export declare function readAgentReadinessRegradeEvidenceFile(input: {
201
+ readonly path: string;
202
+ readonly bytes: Buffer;
203
+ readonly registry: SignerRegistry;
204
+ readonly releaseSequence: number;
205
+ }): readonly [string, AgentReadinessRegradeEvidence];
206
+ /** Every shipped evidence file must belong to exactly one policy regrade object. */
207
+ export declare function assertAgentReadinessRegradeEvidenceClosure(evidence: ReadonlyMap<string, AgentReadinessRegradeEvidence>, objects: ReadonlyMap<string, AgentReadinessDeltaObject>): void;
208
+ /** The canonical projection a policy-only regrade object must equal. */
209
+ export declare function expectedAgentReadinessRegradeProjection(input: {
210
+ readonly profileId: string;
211
+ readonly object: AgentReadinessDeltaObject;
212
+ readonly current: AgentReadinessProjection;
213
+ readonly revision: AgentReadinessRevision;
214
+ readonly declarationRevision: AgentReadinessDeclarationRevision;
215
+ readonly entityRevision: EntityRevision;
216
+ readonly entitySlug: string;
217
+ readonly evidence: AgentReadinessRegradeEvidence | undefined;
218
+ readonly deltaEvidence: AgentReadinessEvidenceChanges;
219
+ readonly policy: AgentReadinessPolicy;
220
+ readonly policyAsOf: string;
221
+ readonly freshnessPolicy: FreshnessPolicy;
222
+ }): AgentReadinessProjection;
223
+ //# sourceMappingURL=agent-readiness-regrade-evidence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-readiness-regrade-evidence.d.ts","sourceRoot":"","sources":["../../../../modules/release/src/agent-readiness-regrade-evidence.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,192 @@
1
+ import { basename } from "node:path";
2
+ import { z } from "zod";
3
+ import { agentReadinessDigestSchema, agentReadinessProfileIdSchema, agentReadinessProjectionSchema, } from "../../../contracts/agent-readiness/src/index.js";
4
+ import { catalogEventSchema } from "../../../contracts/events/src/index.js";
5
+ import { observationSchema } from "../../../contracts/observations/src/index.js";
6
+ import { deriveAgentReadinessReprojection, regradeAgentReadinessProjection, } from "../../agent-readiness-policy/src/index.js";
7
+ import { validateProtectedEvent } from "../../authority/src/index.js";
8
+ import { compareCanonicalStrings, digest } from "../../primitives/src/index.js";
9
+ import { buildEventGraph } from "../../provenance/src/index.js";
10
+ import { mergeCanonicalById } from "./evidence-admission.js";
11
+ export const AGENT_READINESS_REGRADE_EVIDENCE_PREFIX = "agent-readiness-regrade-evidence/";
12
+ /**
13
+ * Exact evidence context for reprojection of an existing revision. New events
14
+ * still require ordinary release admission; these bytes only close the graph
15
+ * beside the prior projection for independent offline recomputation.
16
+ */
17
+ export const agentReadinessRegradeEvidenceSchema = z
18
+ .object({
19
+ evidence_contract: z.literal("sourcey.agent-readiness-regrade-evidence/v1alpha1"),
20
+ agent_readiness_profile_id: agentReadinessProfileIdSchema,
21
+ revision_digest: agentReadinessDigestSchema,
22
+ events: z.array(catalogEventSchema).min(1),
23
+ observations: z.array(observationSchema),
24
+ })
25
+ .strict();
26
+ /**
27
+ * Select the changed evidence owned by one exact Agent Readiness revision.
28
+ * A Catalog delta is not a complete event graph: unrelated transitions may
29
+ * target immutable objects retained by the parent release.
30
+ */
31
+ export function selectAgentReadinessEvidenceChanges(input) {
32
+ const events = input.events.filter((event) => event.subject.subject_type === "agent_readiness_profile" &&
33
+ event.subject.agent_readiness_profile_id === input.profileId &&
34
+ event.subject.revision_digest === input.revisionDigest);
35
+ const observationIds = new Set(events.flatMap((event) => {
36
+ if (event.kind !== "evidence.bound")
37
+ return [];
38
+ const observationId = event.payload.observation_id;
39
+ return typeof observationId === "string" ? [observationId] : [];
40
+ }));
41
+ return {
42
+ events,
43
+ observations: input.observations.filter((observation) => observationIds.has(observation.observation_id)),
44
+ };
45
+ }
46
+ /**
47
+ * Select, from the resolved closure, exactly the events and observations one
48
+ * regrade is projected from: the prior projection's basis events, every event
49
+ * on the same revision, and every event that invalidates one of those.
50
+ */
51
+ export function selectAgentReadinessRegradeEvidence(input) {
52
+ const included = new Set(input.priorProjection.provenance.basis_event_ids);
53
+ for (const event of input.events) {
54
+ if (event.subject.revision_digest === input.revision.revision_digest) {
55
+ included.add(event.event_id);
56
+ }
57
+ }
58
+ for (const event of input.events) {
59
+ const target = event.payload.target_event_id;
60
+ if (typeof target === "string" && included.has(target))
61
+ included.add(event.event_id);
62
+ }
63
+ const events = input.events
64
+ .filter((event) => included.has(event.event_id))
65
+ .sort((left, right) => compareCanonicalStrings(left.event_id, right.event_id));
66
+ const missing = [...included].filter((eventId) => !events.some((event) => event.event_id === eventId));
67
+ if (missing.length > 0) {
68
+ throw new Error(`Agent Readiness regrade ${input.profileId} cannot resolve basis events ${missing.join(", ")}.`);
69
+ }
70
+ const observationIds = new Set(events.flatMap((event) => {
71
+ if (event.kind !== "evidence.bound")
72
+ return [];
73
+ const observationId = event.payload.observation_id;
74
+ return typeof observationId === "string" ? [observationId] : [];
75
+ }));
76
+ const observations = input.observations
77
+ .filter((observation) => observationIds.has(observation.observation_id))
78
+ .sort((left, right) => compareCanonicalStrings(left.observation_id, right.observation_id));
79
+ const missingObservations = [...observationIds].filter((observationId) => !observations.some((observation) => observation.observation_id === observationId));
80
+ if (missingObservations.length > 0) {
81
+ throw new Error(`Agent Readiness regrade ${input.profileId} cannot resolve observations ${missingObservations.join(", ")}.`);
82
+ }
83
+ return agentReadinessRegradeEvidenceSchema.parse({
84
+ evidence_contract: "sourcey.agent-readiness-regrade-evidence/v1alpha1",
85
+ agent_readiness_profile_id: input.profileId,
86
+ revision_digest: input.revision.revision_digest,
87
+ events,
88
+ observations,
89
+ });
90
+ }
91
+ /** The evidence must close the prior projection exactly before it can rebuild its graph. */
92
+ export function verifyAgentReadinessRegradeEvidence(input) {
93
+ const profileId = input.priorProjection.agent_readiness_profile_id;
94
+ if (input.evidence.agent_readiness_profile_id !== profileId ||
95
+ input.evidence.revision_digest !== input.revision.revision_digest) {
96
+ throw new Error(`Agent Readiness regrade evidence does not address ${profileId}.`);
97
+ }
98
+ const eventIds = new Set(input.evidence.events.map((event) => event.event_id));
99
+ const missing = input.priorProjection.provenance.basis_event_ids.filter((eventId) => !eventIds.has(eventId));
100
+ if (missing.length > 0) {
101
+ throw new Error(`Agent Readiness regrade ${profileId} evidence omits basis events ${missing.join(", ")}.`);
102
+ }
103
+ for (const event of input.evidence.events) {
104
+ if (event.subject.revision_digest !== undefined &&
105
+ event.subject.revision_digest !== input.revision.revision_digest &&
106
+ !input.priorProjection.provenance.basis_event_ids.includes(event.event_id)) {
107
+ throw new Error(`Agent Readiness regrade ${profileId} evidence carries foreign event ${event.event_id}.`);
108
+ }
109
+ }
110
+ return buildEventGraph(input.evidence.events, input.evidence.observations);
111
+ }
112
+ /**
113
+ * Read one shipped regrade evidence file. Retained evidence re-verifies every
114
+ * event signature against the release-pinned registry at this release's
115
+ * sequence; it admits nothing and carries no inclusion record.
116
+ */
117
+ export function readAgentReadinessRegradeEvidenceFile(input) {
118
+ const evidence = agentReadinessRegradeEvidenceSchema.parse(JSON.parse(input.bytes.toString("utf8")));
119
+ const address = basename(input.path, ".json");
120
+ if (evidence.agent_readiness_profile_id !== address) {
121
+ throw new Error(`Catalog delta regrade evidence ${input.path} is not addressed correctly.`);
122
+ }
123
+ for (const event of evidence.events) {
124
+ validateProtectedEvent(event, input.registry, input.releaseSequence);
125
+ }
126
+ for (const observation of evidence.observations) {
127
+ const { observation_id: observationId, ...core } = observation;
128
+ if (digest(core) !== observationId) {
129
+ throw new Error(`Catalog delta regrade evidence ${input.path} observation is not content-addressed.`);
130
+ }
131
+ }
132
+ return [address, evidence];
133
+ }
134
+ /** Every shipped evidence file must belong to exactly one policy regrade object. */
135
+ export function assertAgentReadinessRegradeEvidenceClosure(evidence, objects) {
136
+ for (const profileId of evidence.keys()) {
137
+ const object = objects.get(profileId);
138
+ if (!object ||
139
+ object.profile_input !== null ||
140
+ !object.projection ||
141
+ !object.prior_projection) {
142
+ throw new Error(`Catalog delta carries regrade evidence for non-regrade ${profileId}.`);
143
+ }
144
+ }
145
+ }
146
+ /** The canonical projection a policy-only regrade object must equal. */
147
+ export function expectedAgentReadinessRegradeProjection(input) {
148
+ if (!input.object.prior_projection) {
149
+ throw new Error(`Agent Readiness regrade ${input.profileId} lacks its exact prior projection.`);
150
+ }
151
+ const priorProjection = agentReadinessProjectionSchema.parse(input.object.prior_projection);
152
+ if (input.evidence) {
153
+ // Validate the supplied context before selecting from it. Selection must not
154
+ // silently discard a foreign profile, revision or event from the archive.
155
+ verifyAgentReadinessRegradeEvidence({
156
+ evidence: input.evidence,
157
+ revision: input.revision,
158
+ priorProjection,
159
+ });
160
+ }
161
+ const graph = input.evidence
162
+ ? verifyAgentReadinessRegradeEvidence({
163
+ // A retained context may not hide a newly admitted retraction. Merge
164
+ // the verified successor graph before selecting this profile's closure.
165
+ evidence: selectAgentReadinessRegradeEvidence({
166
+ profileId: input.profileId,
167
+ revision: input.revision,
168
+ priorProjection,
169
+ events: mergeCanonicalById(input.evidence.events, input.deltaEvidence.events, "event", (event) => event.event_id),
170
+ observations: mergeCanonicalById(input.evidence.observations, input.deltaEvidence.observations, "observation", (observation) => observation.observation_id),
171
+ }),
172
+ revision: input.revision,
173
+ priorProjection,
174
+ })
175
+ : buildEventGraph(input.deltaEvidence.events, input.deltaEvidence.observations);
176
+ const reproject = input.evidence
177
+ ? regradeAgentReadinessProjection
178
+ : deriveAgentReadinessReprojection;
179
+ return reproject({
180
+ currentProjection: input.current,
181
+ revision: input.revision,
182
+ declarationRevision: input.declarationRevision,
183
+ authorityEntityRevision: input.entityRevision,
184
+ priorProjection,
185
+ graph,
186
+ entitySlug: input.entitySlug,
187
+ policy: input.policy,
188
+ policyAsOf: input.policyAsOf,
189
+ freshnessPolicy: input.freshnessPolicy,
190
+ });
191
+ }
192
+ //# sourceMappingURL=agent-readiness-regrade-evidence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-readiness-regrade-evidence.js","sourceRoot":"","sources":["../../../../modules/release/src/agent-readiness-regrade-evidence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAML,0BAA0B,EAC1B,6BAA6B,EAC7B,8BAA8B,GAC/B,MAAM,iDAAiD,CAAC;AAEzD,OAAO,EAAqB,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC/F,OAAO,EAAoB,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AAGnG,OAAO,EACL,gCAAgC,EAChC,+BAA+B,GAChC,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAe,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAmB,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,CAAC,MAAM,uCAAuC,GAAG,mCAAmC,CAAC;AAE3F;;;;GAIG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC;KACjD,MAAM,CAAC;IACN,iBAAiB,EAAE,CAAC,CAAC,OAAO,CAAC,mDAAmD,CAAC;IACjF,0BAA0B,EAAE,6BAA6B;IACzD,eAAe,EAAE,0BAA0B;IAC3C,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1C,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC;CACzC,CAAC;KACD,MAAM,EAAE,CAAC;AASZ;;;;GAIG;AACH,MAAM,UAAU,mCAAmC,CAAC,KAKnD;IACC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAChC,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,OAAO,CAAC,YAAY,KAAK,yBAAyB;QACxD,KAAK,CAAC,OAAO,CAAC,0BAA0B,KAAK,KAAK,CAAC,SAAS;QAC5D,KAAK,CAAC,OAAO,CAAC,eAAe,KAAK,KAAK,CAAC,cAAc,CACzD,CAAC;IACF,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACvB,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB;YAAE,OAAO,EAAE,CAAC;QAC/C,MAAM,aAAa,GAAI,KAAK,CAAC,OAAmC,CAAC,cAAc,CAAC;QAChF,OAAO,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,CAAC,CAAC,CACH,CAAC;IACF,OAAO;QACL,MAAM;QACN,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CACtD,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,cAAc,CAAC,CAC/C;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mCAAmC,CAAC,KAMnD;IACC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAS,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IACnF,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,KAAK,KAAK,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;YACrE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,MAAM,MAAM,GAAI,KAAK,CAAC,OAAmC,CAAC,eAAe,CAAC;QAC1E,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACvF,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM;SACxB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SAC/C,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjF,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,MAAM,CAClC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC,CACjE,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,2BAA2B,KAAK,CAAC,SAAS,gCAAgC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAChG,CAAC;IACJ,CAAC;IACD,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACvB,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB;YAAE,OAAO,EAAE,CAAC;QAC/C,MAAM,aAAa,GAAI,KAAK,CAAC,OAAmC,CAAC,cAAc,CAAC;QAChF,OAAO,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,CAAC,CAAC,CACH,CAAC;IACF,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY;SACpC,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;SACvE,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;IAC7F,MAAM,mBAAmB,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC,MAAM,CACpD,CAAC,aAAa,EAAE,EAAE,CAChB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,cAAc,KAAK,aAAa,CAAC,CACpF,CAAC;IACF,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACb,2BAA2B,KAAK,CAAC,SAAS,gCAAgC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC5G,CAAC;IACJ,CAAC;IACD,OAAO,mCAAmC,CAAC,KAAK,CAAC;QAC/C,iBAAiB,EAAE,mDAAmD;QACtE,0BAA0B,EAAE,KAAK,CAAC,SAAS;QAC3C,eAAe,EAAE,KAAK,CAAC,QAAQ,CAAC,eAAe;QAC/C,MAAM;QACN,YAAY;KACb,CAAC,CAAC;AACL,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,mCAAmC,CAAC,KAInD;IACC,MAAM,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC,0BAA0B,CAAC;IACnE,IACE,KAAK,CAAC,QAAQ,CAAC,0BAA0B,KAAK,SAAS;QACvD,KAAK,CAAC,QAAQ,CAAC,eAAe,KAAK,KAAK,CAAC,QAAQ,CAAC,eAAe,EACjE,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,qDAAqD,SAAS,GAAG,CAAC,CAAC;IACrF,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/E,MAAM,OAAO,GAAG,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,MAAM,CACrE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CACpC,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,2BAA2B,SAAS,gCAAgC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC1F,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC1C,IACE,KAAK,CAAC,OAAO,CAAC,eAAe,KAAK,SAAS;YAC3C,KAAK,CAAC,OAAO,CAAC,eAAe,KAAK,KAAK,CAAC,QAAQ,CAAC,eAAe;YAChE,CAAC,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAkB,CAAC,EACpF,CAAC;YACD,MAAM,IAAI,KAAK,CACb,2BAA2B,SAAS,mCAAmC,KAAK,CAAC,QAAQ,GAAG,CACzF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AAC7E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qCAAqC,CAAC,KAKrD;IACC,MAAM,QAAQ,GAAG,mCAAmC,CAAC,KAAK,CACxD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CACzC,CAAC;IACF,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9C,IAAI,QAAQ,CAAC,0BAA0B,KAAK,OAAO,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,kCAAkC,KAAK,CAAC,IAAI,8BAA8B,CAAC,CAAC;IAC9F,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpC,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IACvE,CAAC;IACD,KAAK,MAAM,WAAW,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;QAChD,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,GAAG,WAAW,CAAC;QAC/D,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,aAAa,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CACb,kCAAkC,KAAK,CAAC,IAAI,wCAAwC,CACrF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC7B,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,0CAA0C,CACxD,QAA4D,EAC5D,OAAuD;IAEvD,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtC,IACE,CAAC,MAAM;YACP,MAAM,CAAC,aAAa,KAAK,IAAI;YAC7B,CAAC,MAAM,CAAC,UAAU;YAClB,CAAC,MAAM,CAAC,gBAAgB,EACxB,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,0DAA0D,SAAS,GAAG,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;AACH,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,uCAAuC,CAAC,KAavD;IACC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,CAAC,SAAS,oCAAoC,CAAC,CAAC;IAClG,CAAC;IACD,MAAM,eAAe,GAAG,8BAA8B,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC5F,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,6EAA6E;QAC7E,0EAA0E;QAC1E,mCAAmC,CAAC;YAClC,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,eAAe;SAChB,CAAC,CAAC;IACL,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ;QAC1B,CAAC,CAAC,mCAAmC,CAAC;YAClC,qEAAqE;YACrE,wEAAwE;YACxE,QAAQ,EAAE,mCAAmC,CAAC;gBAC5C,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,eAAe;gBACf,MAAM,EAAE,kBAAkB,CACxB,KAAK,CAAC,QAAQ,CAAC,MAAM,EACrB,KAAK,CAAC,aAAa,CAAC,MAAM,EAC1B,OAAO,EACP,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAC1B;gBACD,YAAY,EAAE,kBAAkB,CAC9B,KAAK,CAAC,QAAQ,CAAC,YAAY,EAC3B,KAAK,CAAC,aAAa,CAAC,YAAY,EAChC,aAAa,EACb,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,cAAc,CAC5C;aACF,CAAC;YACF,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,eAAe;SAChB,CAAC;QACJ,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IAClF,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ;QAC9B,CAAC,CAAC,+BAA+B;QACjC,CAAC,CAAC,gCAAgC,CAAC;IACrC,OAAO,SAAS,CAAC;QACf,iBAAiB,EAAE,KAAK,CAAC,OAAO;QAChC,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;QAC9C,uBAAuB,EAAE,KAAK,CAAC,cAAc;QAC7C,eAAe;QACf,KAAK;QACL,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,eAAe,EAAE,KAAK,CAAC,eAAe;KACvC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"changes.d.ts","sourceRoot":"","sources":["../../../../modules/release/src/changes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,+BAA+B,EAChC,MAAM,iDAAiD,CAAC;AACzD,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EACb,aAAa,EACd,MAAM,0CAA0C,CAAC;AAElD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,wCAAwC,CAAC;AAGhD,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAClC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IACxE,QAAQ,CAAC,sBAAsB,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACrE,QAAQ,CAAC,4BAA4B,EAAE,SAAS,+BAA+B,EAAE,CAAC;IAClF,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,gBAAgB,EAAE,UAAU,GAAG,IAAI,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;CAC1C,GAAG,aAAa,EAAE,CAwUlB;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IAChD,QAAQ,CAAC,OAAO,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACtD,QAAQ,CAAC,KAAK,EAAE,SAAS,+BAA+B,EAAE,CAAC;IAC3D,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IACnC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACnD,GAAG,aAAa,EAAE,CAQlB"}
1
+ {"version":3,"file":"changes.d.ts","sourceRoot":"","sources":["../../../../modules/release/src/changes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,+BAA+B,EAChC,MAAM,iDAAiD,CAAC;AACzD,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EACb,aAAa,EACd,MAAM,0CAA0C,CAAC;AAElD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,wCAAwC,CAAC;AAShD,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAClC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IACxE,QAAQ,CAAC,sBAAsB,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACrE,QAAQ,CAAC,4BAA4B,EAAE,SAAS,+BAA+B,EAAE,CAAC;IAClF,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,gBAAgB,EAAE,UAAU,GAAG,IAAI,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;CAC1C,GAAG,aAAa,EAAE,CAwUlB;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IAChD,QAAQ,CAAC,OAAO,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACtD,QAAQ,CAAC,KAAK,EAAE,SAAS,+BAA+B,EAAE,CAAC;IAC3D,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IACnC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACnD,GAAG,aAAa,EAAE,CAQlB"}
@@ -1,13 +1,15 @@
1
1
  import { releaseChangeSchema } from "../../../contracts/artifact/src/index.js";
2
2
  import { offerCanonicalPath, programCanonicalPath, } from "../../../contracts/routes/src/index.js";
3
+ import { isAgentReadinessRouteOnlySuccession } from "../../agent-readiness-policy/src/index.js";
3
4
  import { compareCanonicalStrings, digest } from "../../primitives/src/index.js";
5
+ import { catalogEntityProjectionDigest, catalogOfferProjectionDigest, catalogProgramProjectionDigest, } from "../../projection-identity/src/index.js";
4
6
  export function buildChanges(input) {
5
7
  const { parent, current, identities, parentRoutes } = input;
6
8
  const candidates = [];
7
9
  const priorEntities = new Map(parent?.entities.map((entity) => [entity.entity_id, entity]) ?? []);
8
10
  for (const entity of current.entities) {
9
11
  const prior = priorEntities.get(entity.entity_id);
10
- const projectionDigest = entityProjectionDigest(entity);
12
+ const projectionDigest = catalogEntityProjectionDigest(entity);
11
13
  if (!prior) {
12
14
  candidates.push({
13
15
  kind: "entity.added",
@@ -18,14 +20,14 @@ export function buildChanges(input) {
18
20
  basis_event_ids: [...entity.provenance.basis_event_ids],
19
21
  });
20
22
  }
21
- else if (entityProjectionDigest(prior) !== projectionDigest) {
23
+ else if (catalogEntityProjectionDigest(prior) !== projectionDigest) {
22
24
  candidates.push({
23
25
  kind: "entity.updated",
24
26
  subject_type: "entity",
25
27
  subject_id: entity.entity_id,
26
28
  previous_revision_digest: prior.revision_digest,
27
29
  revision_digest: entity.revision_digest,
28
- previous_projection_digest: entityProjectionDigest(prior),
30
+ previous_projection_digest: catalogEntityProjectionDigest(prior),
29
31
  projection_digest: projectionDigest,
30
32
  basis_event_ids: [...entity.provenance.basis_event_ids],
31
33
  });
@@ -41,7 +43,7 @@ export function buildChanges(input) {
41
43
  subject_type: "entity",
42
44
  subject_id: entity.entity_id,
43
45
  previous_revision_digest: entity.revision_digest,
44
- previous_projection_digest: entityProjectionDigest(entity),
46
+ previous_projection_digest: catalogEntityProjectionDigest(entity),
45
47
  basis_event_ids: [],
46
48
  tombstone: {
47
49
  reason: "retired",
@@ -55,7 +57,7 @@ export function buildChanges(input) {
55
57
  for (const entity of current.entities) {
56
58
  for (const program of entity.programs) {
57
59
  const prior = priorPrograms.get(program.program_id);
58
- const projectionDigest = programProjectionDigest(program);
60
+ const projectionDigest = catalogProgramProjectionDigest(program);
59
61
  const reparent = prior && prior.entity.entity_id !== entity.entity_id
60
62
  ? identities.program_reparents?.[program.program_id]
61
63
  : undefined;
@@ -69,7 +71,7 @@ export function buildChanges(input) {
69
71
  basis_event_ids: [...program.provenance.basis_event_ids],
70
72
  });
71
73
  }
72
- else if (programProjectionDigest(prior.program) !== projectionDigest ||
74
+ else if (catalogProgramProjectionDigest(prior.program) !== projectionDigest ||
73
75
  prior.entity.entity_id !== entity.entity_id) {
74
76
  if (prior.entity.entity_id !== entity.entity_id &&
75
77
  (!reparent ||
@@ -84,7 +86,7 @@ export function buildChanges(input) {
84
86
  subject_id: program.program_id,
85
87
  previous_revision_digest: prior.program.revision_digest,
86
88
  revision_digest: program.revision_digest,
87
- previous_projection_digest: programProjectionDigest(prior.program),
89
+ previous_projection_digest: catalogProgramProjectionDigest(prior.program),
88
90
  projection_digest: projectionDigest,
89
91
  basis_event_ids: [
90
92
  ...new Set([
@@ -106,7 +108,7 @@ export function buildChanges(input) {
106
108
  subject_type: "program",
107
109
  subject_id: program.program_id,
108
110
  previous_revision_digest: program.revision_digest,
109
- previous_projection_digest: programProjectionDigest(program),
111
+ previous_projection_digest: catalogProgramProjectionDigest(program),
110
112
  basis_event_ids: [],
111
113
  tombstone: {
112
114
  reason: "retired",
@@ -119,7 +121,7 @@ export function buildChanges(input) {
119
121
  for (const entity of current.entities) {
120
122
  for (const offer of entity.offers) {
121
123
  const prior = priorOffers.get(offer.offer_id);
122
- const projectionDigest = digest(offer);
124
+ const projectionDigest = catalogOfferProjectionDigest(offer);
123
125
  const reparent = prior && prior.entity.entity_id !== entity.entity_id
124
126
  ? identities.offer_reparents?.[offer.offer_id]
125
127
  : undefined;
@@ -133,7 +135,7 @@ export function buildChanges(input) {
133
135
  basis_event_ids: [...offer.provenance.basis_event_ids],
134
136
  });
135
137
  }
136
- else if (digest(prior.offer) !== projectionDigest ||
138
+ else if (catalogOfferProjectionDigest(prior.offer) !== projectionDigest ||
137
139
  prior.entity.entity_id !== entity.entity_id) {
138
140
  if (prior.entity.entity_id !== entity.entity_id &&
139
141
  (!reparent ||
@@ -153,7 +155,7 @@ export function buildChanges(input) {
153
155
  subject_id: offer.offer_id,
154
156
  previous_revision_digest: prior.offer.revision_digest,
155
157
  revision_digest: offer.revision_digest,
156
- previous_projection_digest: digest(prior.offer),
158
+ previous_projection_digest: catalogOfferProjectionDigest(prior.offer),
157
159
  projection_digest: projectionDigest,
158
160
  basis_event_ids: [
159
161
  ...new Set([
@@ -186,7 +188,7 @@ export function buildChanges(input) {
186
188
  subject_type: "offer",
187
189
  subject_id: offer.offer_id,
188
190
  previous_revision_digest: offer.revision_digest,
189
- previous_projection_digest: digest(offer),
191
+ previous_projection_digest: catalogOfferProjectionDigest(offer),
190
192
  basis_event_ids: [],
191
193
  tombstone: {
192
194
  reason: "retired",
@@ -327,16 +329,17 @@ function agentReadinessChangeCandidates(input) {
327
329
  const policyProjectionRefresh = prior.revision_digest === profile.revision_digest &&
328
330
  (prior.policy_digest !== profile.policy_digest ||
329
331
  prior.policy_as_of !== profile.policy_as_of ||
330
- prior.provenance.freshness_policy_digest !== profile.provenance.freshness_policy_digest ||
331
- prior.canonical_url !== profile.canonical_url);
332
+ prior.provenance.freshness_policy_digest !== profile.provenance.freshness_policy_digest);
332
333
  const kind = lifecycleChanged && profile.lifecycle === "ended"
333
334
  ? "agent-readiness.ended"
334
335
  : lifecycleChanged && profile.lifecycle === "withdrawn"
335
336
  ? "agent-readiness.withdrawn"
336
- : input.regradedProfileIds?.has(profile.agent_readiness_profile_id) === true ||
337
- policyProjectionRefresh
338
- ? "agent-readiness.regraded"
339
- : "agent-readiness.updated";
337
+ : isAgentReadinessRouteOnlySuccession(prior, profile)
338
+ ? "agent-readiness.relocated"
339
+ : input.regradedProfileIds?.has(profile.agent_readiness_profile_id) === true ||
340
+ policyProjectionRefresh
341
+ ? "agent-readiness.regraded"
342
+ : "agent-readiness.updated";
340
343
  candidates.push({
341
344
  kind,
342
345
  subject_type: "agent_readiness_profile",
@@ -371,13 +374,6 @@ function agentReadinessChangeCandidates(input) {
371
374
  }
372
375
  return candidates;
373
376
  }
374
- function entityProjectionDigest(entity) {
375
- const { programs: _, offers: __, ...projection } = entity;
376
- return digest(projection);
377
- }
378
- function programProjectionDigest(program) {
379
- return digest(program);
380
- }
381
377
  function canonicalRoute(routes, entityId, programId, offerId) {
382
378
  if (!routes)
383
379
  return undefined;