@xemahq/contracts 0.82.0 → 0.84.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 (339) hide show
  1. package/dist/.source-stamp.json +2 -2
  2. package/dist/address/lib/resource-instance-address.d.ts.map +1 -1
  3. package/dist/address/lib/resource-instance-address.js.map +1 -1
  4. package/dist/agent-composition/lib/agent-ref-resolution.d.ts.map +1 -1
  5. package/dist/agent-composition/lib/agent-ref-resolution.js.map +1 -1
  6. package/dist/agent-composition/lib/agent.d.ts.map +1 -1
  7. package/dist/agent-composition/lib/agent.js.map +1 -1
  8. package/dist/agent-session/lib/lifecycle.d.ts +1 -1
  9. package/dist/biome/lib/biome-component.d.ts +24 -0
  10. package/dist/biome/lib/biome-component.d.ts.map +1 -1
  11. package/dist/biome/lib/biome-component.js +69 -14
  12. package/dist/biome/lib/biome-component.js.map +1 -1
  13. package/dist/biome/lib/biome-kind.d.ts.map +1 -1
  14. package/dist/biome/lib/biome-kind.js.map +1 -1
  15. package/dist/biome/lib/biome-manifest.d.ts +94 -0
  16. package/dist/biome/lib/biome-manifest.d.ts.map +1 -1
  17. package/dist/biome/lib/biome-manifest.js +26 -1
  18. package/dist/biome/lib/biome-manifest.js.map +1 -1
  19. package/dist/biome/xema-biome.schema.json +214 -2
  20. package/dist/biome-catalog/lib/biome-permission-digest.d.ts +18 -0
  21. package/dist/biome-catalog/lib/biome-permission-digest.d.ts.map +1 -1
  22. package/dist/biome-catalog/lib/biome-permission-digest.js +14 -0
  23. package/dist/biome-catalog/lib/biome-permission-digest.js.map +1 -1
  24. package/dist/biome-dependency/lib/peer-seam-table.d.ts.map +1 -1
  25. package/dist/biome-dependency/lib/peer-seam-table.js +18 -0
  26. package/dist/biome-dependency/lib/peer-seam-table.js.map +1 -1
  27. package/dist/caller-context/index.d.ts +2 -0
  28. package/dist/caller-context/index.d.ts.map +1 -1
  29. package/dist/caller-context/index.js +2 -0
  30. package/dist/caller-context/index.js.map +1 -1
  31. package/dist/caller-context/lib/acting-chain.d.ts +20 -0
  32. package/dist/caller-context/lib/acting-chain.d.ts.map +1 -0
  33. package/dist/caller-context/lib/acting-chain.js +46 -0
  34. package/dist/caller-context/lib/acting-chain.js.map +1 -0
  35. package/dist/caller-context/lib/org-authority.d.ts.map +1 -1
  36. package/dist/caller-context/lib/org-authority.js.map +1 -1
  37. package/dist/caller-context/lib/platform-sweep.d.ts +5 -1
  38. package/dist/caller-context/lib/platform-sweep.d.ts.map +1 -1
  39. package/dist/caller-context/lib/platform-sweep.js +10 -0
  40. package/dist/caller-context/lib/platform-sweep.js.map +1 -1
  41. package/dist/caller-context/lib/request-context.d.ts +2 -0
  42. package/dist/caller-context/lib/request-context.d.ts.map +1 -1
  43. package/dist/caller-context/lib/request-context.js.map +1 -1
  44. package/dist/caller-context/lib/workflow-step-credential.d.ts +120 -0
  45. package/dist/caller-context/lib/workflow-step-credential.d.ts.map +1 -0
  46. package/dist/caller-context/lib/workflow-step-credential.js +169 -0
  47. package/dist/caller-context/lib/workflow-step-credential.js.map +1 -0
  48. package/dist/capability/index.d.ts +3 -3
  49. package/dist/capability/index.d.ts.map +1 -1
  50. package/dist/capability/index.js +3 -3
  51. package/dist/capability/index.js.map +1 -1
  52. package/dist/capability/lib/capability-aperture.js +1 -1
  53. package/dist/capability/lib/capability-aperture.js.map +1 -1
  54. package/dist/capability/lib/capability-caller-constraint.d.ts +23 -0
  55. package/dist/capability/lib/capability-caller-constraint.d.ts.map +1 -0
  56. package/dist/capability/lib/capability-caller-constraint.js +45 -0
  57. package/dist/capability/lib/capability-caller-constraint.js.map +1 -0
  58. package/dist/capability/lib/capability-contribution.d.ts +3 -0
  59. package/dist/capability/lib/capability-contribution.d.ts.map +1 -1
  60. package/dist/capability/lib/capability-contribution.js +11 -0
  61. package/dist/capability/lib/capability-contribution.js.map +1 -1
  62. package/dist/capability/lib/capability-ref-error.d.ts +12 -0
  63. package/dist/capability/lib/capability-ref-error.d.ts.map +1 -0
  64. package/dist/capability/lib/capability-ref-error.js +18 -0
  65. package/dist/capability/lib/capability-ref-error.js.map +1 -0
  66. package/dist/capability/lib/capability-ref.js +7 -7
  67. package/dist/capability/lib/capability-ref.js.map +1 -1
  68. package/dist/capability/lib/connector-capability-ref.js +4 -4
  69. package/dist/capability/lib/connector-capability-ref.js.map +1 -1
  70. package/dist/capability-domain/index.d.ts +2 -0
  71. package/dist/capability-domain/index.d.ts.map +1 -0
  72. package/dist/capability-domain/index.js +18 -0
  73. package/dist/capability-domain/index.js.map +1 -0
  74. package/dist/capability-domain/lib/capability-domain.d.ts.map +1 -0
  75. package/dist/capability-domain/lib/capability-domain.js.map +1 -0
  76. package/dist/capability-error/index.d.ts +3 -0
  77. package/dist/capability-error/index.d.ts.map +1 -0
  78. package/dist/capability-error/index.js +19 -0
  79. package/dist/capability-error/index.js.map +1 -0
  80. package/dist/capability-error/lib/capability-invocation-descriptor.d.ts.map +1 -0
  81. package/dist/{capability → capability-error}/lib/capability-invocation-descriptor.js +2 -2
  82. package/dist/capability-error/lib/capability-invocation-descriptor.js.map +1 -0
  83. package/dist/{capability → capability-error}/lib/errors.d.ts +3 -7
  84. package/dist/capability-error/lib/errors.d.ts.map +1 -0
  85. package/dist/{capability → capability-error}/lib/errors.js +4 -12
  86. package/dist/capability-error/lib/errors.js.map +1 -0
  87. package/dist/capability-projection/lib/projected-capability.d.ts +1 -0
  88. package/dist/capability-projection/lib/projected-capability.d.ts.map +1 -1
  89. package/dist/conformance/customer-edition-definition.vectors.json +987 -0
  90. package/dist/conformance/edition-source-pins.vectors.json +298 -0
  91. package/dist/conformance/optional-operation-admission.vectors.json +44 -0
  92. package/dist/conformance/verify-store-package.vectors.json +2081 -0
  93. package/dist/connector/index.d.ts +2 -0
  94. package/dist/connector/index.d.ts.map +1 -1
  95. package/dist/connector/index.js +2 -0
  96. package/dist/connector/index.js.map +1 -1
  97. package/dist/connector/lib/connector-adapter-contribution.d.ts +10 -3
  98. package/dist/connector/lib/connector-adapter-contribution.d.ts.map +1 -1
  99. package/dist/connector/lib/connector-adapter-contribution.js +78 -21
  100. package/dist/connector/lib/connector-adapter-contribution.js.map +1 -1
  101. package/dist/connector/lib/connector-endpoint-source-declaration.d.ts +19 -0
  102. package/dist/connector/lib/connector-endpoint-source-declaration.d.ts.map +1 -0
  103. package/dist/connector/lib/connector-endpoint-source-declaration.js +50 -0
  104. package/dist/connector/lib/connector-endpoint-source-declaration.js.map +1 -0
  105. package/dist/connector/lib/connector-endpoint-source.d.ts +5 -0
  106. package/dist/connector/lib/connector-endpoint-source.d.ts.map +1 -0
  107. package/dist/connector/lib/connector-endpoint-source.js +9 -0
  108. package/dist/connector/lib/connector-endpoint-source.js.map +1 -0
  109. package/dist/connector/lib/provider-descriptor.d.ts.map +1 -1
  110. package/dist/connector/lib/provider-descriptor.js.map +1 -1
  111. package/dist/contribution/lib/contribution-kind.d.ts.map +1 -1
  112. package/dist/contribution/lib/contribution-kind.js.map +1 -1
  113. package/dist/contribution/lib/sync.d.ts +6 -2
  114. package/dist/contribution/lib/sync.d.ts.map +1 -1
  115. package/dist/contribution/lib/sync.js +26 -6
  116. package/dist/contribution/lib/sync.js.map +1 -1
  117. package/dist/deployment/index.d.ts +6 -0
  118. package/dist/deployment/index.d.ts.map +1 -1
  119. package/dist/deployment/index.js +6 -0
  120. package/dist/deployment/index.js.map +1 -1
  121. package/dist/deployment/lib/artifact-signer-trust.d.ts +71 -9
  122. package/dist/deployment/lib/artifact-signer-trust.d.ts.map +1 -1
  123. package/dist/deployment/lib/artifact-signer-trust.js +228 -16
  124. package/dist/deployment/lib/artifact-signer-trust.js.map +1 -1
  125. package/dist/deployment/lib/code-unit-order.d.ts +2 -0
  126. package/dist/deployment/lib/code-unit-order.d.ts.map +1 -0
  127. package/dist/deployment/lib/code-unit-order.js +7 -0
  128. package/dist/deployment/lib/code-unit-order.js.map +1 -0
  129. package/dist/deployment/lib/event-subscription-grant.d.ts +46 -0
  130. package/dist/deployment/lib/event-subscription-grant.d.ts.map +1 -0
  131. package/dist/deployment/lib/event-subscription-grant.js +52 -0
  132. package/dist/deployment/lib/event-subscription-grant.js.map +1 -0
  133. package/dist/deployment/lib/installed-event-subscription-grant.d.ts +60 -0
  134. package/dist/deployment/lib/installed-event-subscription-grant.d.ts.map +1 -0
  135. package/dist/deployment/lib/installed-event-subscription-grant.js +107 -0
  136. package/dist/deployment/lib/installed-event-subscription-grant.js.map +1 -0
  137. package/dist/deployment/lib/installed-workload-grant.d.ts +80 -0
  138. package/dist/deployment/lib/installed-workload-grant.d.ts.map +1 -0
  139. package/dist/deployment/lib/installed-workload-grant.js +119 -0
  140. package/dist/deployment/lib/installed-workload-grant.js.map +1 -0
  141. package/dist/deployment/lib/operation-grant.d.ts +19 -0
  142. package/dist/deployment/lib/operation-grant.d.ts.map +1 -1
  143. package/dist/deployment/lib/operation-grant.js +18 -9
  144. package/dist/deployment/lib/operation-grant.js.map +1 -1
  145. package/dist/deployment/lib/org-context-relay.d.ts +10 -0
  146. package/dist/deployment/lib/org-context-relay.d.ts.map +1 -0
  147. package/dist/deployment/lib/org-context-relay.js +22 -0
  148. package/dist/deployment/lib/org-context-relay.js.map +1 -0
  149. package/dist/deployment/lib/organization-sweep-grant.d.ts.map +1 -1
  150. package/dist/deployment/lib/organization-sweep-grant.js +4 -6
  151. package/dist/deployment/lib/organization-sweep-grant.js.map +1 -1
  152. package/dist/deployment/lib/platform-sweep.d.ts +3 -1
  153. package/dist/deployment/lib/platform-sweep.d.ts.map +1 -1
  154. package/dist/deployment/lib/platform-sweep.js +17 -1
  155. package/dist/deployment/lib/platform-sweep.js.map +1 -1
  156. package/dist/deployment/lib/resolved-deployment.d.ts +121 -2
  157. package/dist/deployment/lib/resolved-deployment.d.ts.map +1 -1
  158. package/dist/deployment/lib/resolved-deployment.js +140 -13
  159. package/dist/deployment/lib/resolved-deployment.js.map +1 -1
  160. package/dist/deployment/lib/store-event-ceiling.d.ts +43 -0
  161. package/dist/deployment/lib/store-event-ceiling.d.ts.map +1 -0
  162. package/dist/deployment/lib/store-event-ceiling.js +80 -0
  163. package/dist/deployment/lib/store-event-ceiling.js.map +1 -0
  164. package/dist/deployment/lib/store-workload-grant-ceiling.d.ts +59 -0
  165. package/dist/deployment/lib/store-workload-grant-ceiling.d.ts.map +1 -0
  166. package/dist/deployment/lib/store-workload-grant-ceiling.js +102 -0
  167. package/dist/deployment/lib/store-workload-grant-ceiling.js.map +1 -0
  168. package/dist/distribution/index.d.ts +9 -0
  169. package/dist/distribution/index.d.ts.map +1 -1
  170. package/dist/distribution/index.js +18 -6
  171. package/dist/distribution/index.js.map +1 -1
  172. package/dist/distribution/lib/customer-edition-definition.d.ts +8 -1
  173. package/dist/distribution/lib/customer-edition-definition.d.ts.map +1 -1
  174. package/dist/distribution/lib/customer-edition-definition.js +51 -2
  175. package/dist/distribution/lib/customer-edition-definition.js.map +1 -1
  176. package/dist/distribution/lib/distribution-lock.d.ts +10 -1
  177. package/dist/distribution/lib/distribution-lock.d.ts.map +1 -1
  178. package/dist/distribution/lib/distribution-lock.js +38 -11
  179. package/dist/distribution/lib/distribution-lock.js.map +1 -1
  180. package/dist/distribution/lib/distribution.d.ts +16 -0
  181. package/dist/distribution/lib/distribution.d.ts.map +1 -1
  182. package/dist/distribution/lib/distribution.js +39 -1
  183. package/dist/distribution/lib/distribution.js.map +1 -1
  184. package/dist/distribution/lib/event-subscription-admission.d.ts +22 -0
  185. package/dist/distribution/lib/event-subscription-admission.d.ts.map +1 -0
  186. package/dist/distribution/lib/event-subscription-admission.js +72 -0
  187. package/dist/distribution/lib/event-subscription-admission.js.map +1 -0
  188. package/dist/distribution/lib/image-lock.d.ts.map +1 -1
  189. package/dist/distribution/lib/image-lock.js +2 -10
  190. package/dist/distribution/lib/image-lock.js.map +1 -1
  191. package/dist/distribution/lib/image-producer-evidence.d.ts +114 -10
  192. package/dist/distribution/lib/image-producer-evidence.d.ts.map +1 -1
  193. package/dist/distribution/lib/image-producer-evidence.js +78 -31
  194. package/dist/distribution/lib/image-producer-evidence.js.map +1 -1
  195. package/dist/distribution/lib/installed-operation-ceiling-admission.d.ts +21 -0
  196. package/dist/distribution/lib/installed-operation-ceiling-admission.d.ts.map +1 -0
  197. package/dist/distribution/lib/installed-operation-ceiling-admission.js +54 -0
  198. package/dist/distribution/lib/installed-operation-ceiling-admission.js.map +1 -0
  199. package/dist/distribution/lib/kernel-contract-source-paths.d.ts +1 -1
  200. package/dist/distribution/lib/kernel-contract-source-paths.d.ts.map +1 -1
  201. package/dist/distribution/lib/kernel-contract-source-paths.js +24 -3
  202. package/dist/distribution/lib/kernel-contract-source-paths.js.map +1 -1
  203. package/dist/distribution/lib/operation-grant-admission.d.ts +29 -2
  204. package/dist/distribution/lib/operation-grant-admission.d.ts.map +1 -1
  205. package/dist/distribution/lib/operation-grant-admission.js +97 -19
  206. package/dist/distribution/lib/operation-grant-admission.js.map +1 -1
  207. package/dist/distribution/lib/org-context-relay-admission.d.ts +19 -0
  208. package/dist/distribution/lib/org-context-relay-admission.d.ts.map +1 -0
  209. package/dist/distribution/lib/org-context-relay-admission.js +50 -0
  210. package/dist/distribution/lib/org-context-relay-admission.js.map +1 -0
  211. package/dist/distribution/lib/organization-sweep-admission.d.ts +1 -0
  212. package/dist/distribution/lib/organization-sweep-admission.d.ts.map +1 -1
  213. package/dist/distribution/lib/organization-sweep-admission.js +4 -0
  214. package/dist/distribution/lib/organization-sweep-admission.js.map +1 -1
  215. package/dist/distribution/lib/package-image-lock.d.ts +99 -0
  216. package/dist/distribution/lib/package-image-lock.d.ts.map +1 -0
  217. package/dist/distribution/lib/package-image-lock.js +167 -0
  218. package/dist/distribution/lib/package-image-lock.js.map +1 -0
  219. package/dist/distribution/lib/package-image-trust.d.ts +36 -0
  220. package/dist/distribution/lib/package-image-trust.d.ts.map +1 -0
  221. package/dist/distribution/lib/package-image-trust.js +112 -0
  222. package/dist/distribution/lib/package-image-trust.js.map +1 -0
  223. package/dist/distribution/lib/resolve-unsplit-deployment.d.ts.map +1 -1
  224. package/dist/distribution/lib/resolve-unsplit-deployment.js +31 -0
  225. package/dist/distribution/lib/resolve-unsplit-deployment.js.map +1 -1
  226. package/dist/distribution/lib/store-workload-ceiling-admission.d.ts +17 -0
  227. package/dist/distribution/lib/store-workload-ceiling-admission.d.ts.map +1 -0
  228. package/dist/distribution/lib/store-workload-ceiling-admission.js +40 -0
  229. package/dist/distribution/lib/store-workload-ceiling-admission.js.map +1 -0
  230. package/dist/distribution/lib/store-workload-ceiling.d.ts +6 -0
  231. package/dist/distribution/lib/store-workload-ceiling.d.ts.map +1 -0
  232. package/dist/distribution/lib/store-workload-ceiling.js +13 -0
  233. package/dist/distribution/lib/store-workload-ceiling.js.map +1 -0
  234. package/dist/distribution/lib/verify-resolved-deployment.d.ts +12 -0
  235. package/dist/distribution/lib/verify-resolved-deployment.d.ts.map +1 -1
  236. package/dist/distribution/lib/verify-resolved-deployment.js +148 -4
  237. package/dist/distribution/lib/verify-resolved-deployment.js.map +1 -1
  238. package/dist/distribution/server/index.d.ts +8 -0
  239. package/dist/distribution/server/index.d.ts.map +1 -1
  240. package/dist/distribution/server/index.js +10 -0
  241. package/dist/distribution/server/index.js.map +1 -1
  242. package/dist/edition-protocol/edition-contract.schema.json +1 -1
  243. package/dist/edition-protocol/edition-protocol.json +1 -1
  244. package/dist/edition-protocol/lib/edition-protocol.d.ts +1 -1
  245. package/dist/edition-protocol/lib/edition-protocol.d.ts.map +1 -1
  246. package/dist/edition-protocol/lib/edition-protocol.js +3 -2
  247. package/dist/edition-protocol/lib/edition-protocol.js.map +1 -1
  248. package/dist/event-subscription/index.d.ts +4 -0
  249. package/dist/event-subscription/index.d.ts.map +1 -0
  250. package/dist/event-subscription/index.js +20 -0
  251. package/dist/event-subscription/index.js.map +1 -0
  252. package/dist/event-subscription/lib/event-subscription-clause.d.ts +61 -0
  253. package/dist/event-subscription/lib/event-subscription-clause.d.ts.map +1 -0
  254. package/dist/event-subscription/lib/event-subscription-clause.js +102 -0
  255. package/dist/event-subscription/lib/event-subscription-clause.js.map +1 -0
  256. package/dist/event-subscription/lib/event-type-pattern.d.ts +12 -0
  257. package/dist/event-subscription/lib/event-type-pattern.d.ts.map +1 -0
  258. package/dist/event-subscription/lib/event-type-pattern.js +47 -0
  259. package/dist/event-subscription/lib/event-type-pattern.js.map +1 -0
  260. package/dist/event-subscription/lib/visibility-tier.d.ts +10 -0
  261. package/dist/event-subscription/lib/visibility-tier.d.ts.map +1 -0
  262. package/dist/event-subscription/lib/visibility-tier.js +22 -0
  263. package/dist/event-subscription/lib/visibility-tier.js.map +1 -0
  264. package/dist/execution-environment/lib/execution-environment.d.ts +4 -2
  265. package/dist/execution-environment/lib/execution-environment.d.ts.map +1 -1
  266. package/dist/execution-environment/lib/execution-environment.js +5 -6
  267. package/dist/execution-environment/lib/execution-environment.js.map +1 -1
  268. package/dist/http/lib/problem-details.d.ts.map +1 -1
  269. package/dist/http/lib/problem-details.js.map +1 -1
  270. package/dist/http/lib/xema-error.d.ts.map +1 -1
  271. package/dist/http/lib/xema-error.js.map +1 -1
  272. package/dist/resolved-deployment-fixture/lib/resolved-deployment-fixture.d.ts +21 -1
  273. package/dist/resolved-deployment-fixture/lib/resolved-deployment-fixture.d.ts.map +1 -1
  274. package/dist/resolved-deployment-fixture/lib/resolved-deployment-fixture.js +76 -2
  275. package/dist/resolved-deployment-fixture/lib/resolved-deployment-fixture.js.map +1 -1
  276. package/dist/resource/lib/resource-kind.d.ts +7 -1
  277. package/dist/resource/lib/resource-kind.d.ts.map +1 -1
  278. package/dist/resource/lib/resource-kind.js +6 -0
  279. package/dist/resource/lib/resource-kind.js.map +1 -1
  280. package/dist/resource-accounting/index.d.ts +0 -1
  281. package/dist/resource-accounting/index.d.ts.map +1 -1
  282. package/dist/resource-accounting/index.js +0 -1
  283. package/dist/resource-accounting/index.js.map +1 -1
  284. package/dist/resource-accounting/lib/producer.d.ts +0 -2
  285. package/dist/resource-accounting/lib/producer.d.ts.map +1 -1
  286. package/dist/resource-accounting/lib/producer.js +0 -1
  287. package/dist/resource-accounting/lib/producer.js.map +1 -1
  288. package/dist/revision-target/lib/revision-target.d.ts +10 -4
  289. package/dist/revision-target/lib/revision-target.d.ts.map +1 -1
  290. package/dist/revision-target/lib/revision-target.js +26 -5
  291. package/dist/revision-target/lib/revision-target.js.map +1 -1
  292. package/dist/setting/index.d.ts +1 -0
  293. package/dist/setting/index.d.ts.map +1 -1
  294. package/dist/setting/index.js +1 -0
  295. package/dist/setting/index.js.map +1 -1
  296. package/dist/setting/lib/setting-lifecycle.d.ts +33 -0
  297. package/dist/setting/lib/setting-lifecycle.d.ts.map +1 -0
  298. package/dist/setting/lib/setting-lifecycle.js +64 -0
  299. package/dist/setting/lib/setting-lifecycle.js.map +1 -0
  300. package/dist/store-package/index.d.ts +3 -0
  301. package/dist/store-package/index.d.ts.map +1 -0
  302. package/dist/store-package/index.js +10 -0
  303. package/dist/store-package/index.js.map +1 -0
  304. package/dist/store-package/lib/store-package-signatures.d.ts +22 -0
  305. package/dist/store-package/lib/store-package-signatures.d.ts.map +1 -0
  306. package/dist/store-package/lib/store-package-signatures.js +51 -0
  307. package/dist/store-package/lib/store-package-signatures.js.map +1 -0
  308. package/dist/store-package/lib/store-package-verdict.d.ts +50 -0
  309. package/dist/store-package/lib/store-package-verdict.d.ts.map +1 -0
  310. package/dist/store-package/lib/store-package-verdict.js +28 -0
  311. package/dist/store-package/lib/store-package-verdict.js.map +1 -0
  312. package/dist/store-package/server/index.d.ts +17 -0
  313. package/dist/store-package/server/index.d.ts.map +1 -0
  314. package/dist/store-package/server/index.js +66 -0
  315. package/dist/store-package/server/index.js.map +1 -0
  316. package/dist/workflow/lib/compiled-run.d.ts +1 -1
  317. package/dist/workflow/lib/compiled-run.d.ts.map +1 -1
  318. package/dist/workflow/lib/enums.d.ts +2 -0
  319. package/dist/workflow/lib/enums.d.ts.map +1 -1
  320. package/dist/workflow/lib/enums.js +7 -1
  321. package/dist/workflow/lib/enums.js.map +1 -1
  322. package/dist/workflow/lib/errors.d.ts +1 -0
  323. package/dist/workflow/lib/errors.d.ts.map +1 -1
  324. package/dist/workflow/lib/errors.js +2 -0
  325. package/dist/workflow/lib/errors.js.map +1 -1
  326. package/package.json +14 -3
  327. package/dist/capability/lib/capability-domain.d.ts.map +0 -1
  328. package/dist/capability/lib/capability-domain.js.map +0 -1
  329. package/dist/capability/lib/capability-invocation-descriptor.d.ts.map +0 -1
  330. package/dist/capability/lib/capability-invocation-descriptor.js.map +0 -1
  331. package/dist/capability/lib/errors.d.ts.map +0 -1
  332. package/dist/capability/lib/errors.js.map +0 -1
  333. package/dist/resource-accounting/lib/reconciliation.d.ts +0 -81
  334. package/dist/resource-accounting/lib/reconciliation.d.ts.map +0 -1
  335. package/dist/resource-accounting/lib/reconciliation.js +0 -111
  336. package/dist/resource-accounting/lib/reconciliation.js.map +0 -1
  337. /package/dist/{capability → capability-domain}/lib/capability-domain.d.ts +0 -0
  338. /package/dist/{capability → capability-domain}/lib/capability-domain.js +0 -0
  339. /package/dist/{capability → capability-error}/lib/capability-invocation-descriptor.d.ts +0 -0
@@ -2,7 +2,8 @@ import { z } from "zod";
2
2
  export declare enum ArtifactSignerScope {
3
3
  Charts = "charts",
4
4
  Images = "images",
5
- Editions = "editions"
5
+ Editions = "editions",
6
+ StorePackages = "store-packages"
6
7
  }
7
8
  export declare const ArtifactSignerScopeSchema: z.ZodEnum<typeof ArtifactSignerScope>;
8
9
  export declare function isWhollyAnchoredRegexp(source: string): boolean;
@@ -19,7 +20,28 @@ export declare const ArtifactSignerIdentitySchema: z.ZodUnion<readonly [z.ZodObj
19
20
  }, z.core.$strict>]>;
20
21
  export type ArtifactSignerIdentity = z.infer<typeof ArtifactSignerIdentitySchema>;
21
22
  export declare const ArtifactSignerOidcIssuerSchema: z.ZodString;
22
- export declare const ArtifactSignerSchema: z.ZodObject<{
23
+ export declare const StorePublisherIdentitySchema: z.ZodString;
24
+ export declare enum SignerKind {
25
+ OidcCertificate = "oidc-certificate",
26
+ PublicKey = "public-key"
27
+ }
28
+ export declare const SignerKindSchema: z.ZodEnum<typeof SignerKind>;
29
+ export declare enum TransparencyLog {
30
+ Rekor = "rekor",
31
+ None = "none"
32
+ }
33
+ export declare const TransparencyLogSchema: z.ZodEnum<typeof TransparencyLog>;
34
+ export declare function publicKeySha256(pem: string): string | undefined;
35
+ export declare const SignerPublicKeySchema: z.ZodObject<{
36
+ pem: z.ZodString;
37
+ sha256: z.ZodString;
38
+ }, z.core.$strict>;
39
+ export type SignerPublicKey = z.infer<typeof SignerPublicKeySchema>;
40
+ export interface ArtifactSignerTrustAllowance {
41
+ readonly allowUnloggedPublicKeys?: boolean;
42
+ }
43
+ export declare const OidcCertificateArtifactSignerSchema: z.ZodObject<{
44
+ kind: z.ZodLiteral<SignerKind.OidcCertificate>;
23
45
  scope: z.ZodEnum<typeof ArtifactSignerScope>;
24
46
  oidcIssuer: z.ZodString;
25
47
  identity: z.ZodUnion<readonly [z.ZodObject<{
@@ -28,8 +50,36 @@ export declare const ArtifactSignerSchema: z.ZodObject<{
28
50
  regexp: z.ZodString;
29
51
  }, z.core.$strict>]>;
30
52
  }, z.core.$strict>;
53
+ export declare const PublicKeyArtifactSignerSchema: z.ZodObject<{
54
+ kind: z.ZodLiteral<SignerKind.PublicKey>;
55
+ scope: z.ZodEnum<typeof ArtifactSignerScope>;
56
+ publicKey: z.ZodObject<{
57
+ pem: z.ZodString;
58
+ sha256: z.ZodString;
59
+ }, z.core.$strict>;
60
+ transparencyLog: z.ZodEnum<typeof TransparencyLog>;
61
+ }, z.core.$strict>;
62
+ export declare const ArtifactSignerSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
63
+ kind: z.ZodLiteral<SignerKind.OidcCertificate>;
64
+ scope: z.ZodEnum<typeof ArtifactSignerScope>;
65
+ oidcIssuer: z.ZodString;
66
+ identity: z.ZodUnion<readonly [z.ZodObject<{
67
+ exact: z.ZodString;
68
+ }, z.core.$strict>, z.ZodObject<{
69
+ regexp: z.ZodString;
70
+ }, z.core.$strict>]>;
71
+ }, z.core.$strict>, z.ZodObject<{
72
+ kind: z.ZodLiteral<SignerKind.PublicKey>;
73
+ scope: z.ZodEnum<typeof ArtifactSignerScope>;
74
+ publicKey: z.ZodObject<{
75
+ pem: z.ZodString;
76
+ sha256: z.ZodString;
77
+ }, z.core.$strict>;
78
+ transparencyLog: z.ZodEnum<typeof TransparencyLog>;
79
+ }, z.core.$strict>], "kind">;
31
80
  export type ArtifactSigner = z.infer<typeof ArtifactSignerSchema>;
32
- export declare const ArtifactSignerTrustSchema: z.ZodArray<z.ZodObject<{
81
+ export declare const ArtifactSignerTrustSchema: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
82
+ kind: z.ZodLiteral<SignerKind.OidcCertificate>;
33
83
  scope: z.ZodEnum<typeof ArtifactSignerScope>;
34
84
  oidcIssuer: z.ZodString;
35
85
  identity: z.ZodUnion<readonly [z.ZodObject<{
@@ -37,7 +87,15 @@ export declare const ArtifactSignerTrustSchema: z.ZodArray<z.ZodObject<{
37
87
  }, z.core.$strict>, z.ZodObject<{
38
88
  regexp: z.ZodString;
39
89
  }, z.core.$strict>]>;
40
- }, z.core.$strict>>;
90
+ }, z.core.$strict>, z.ZodObject<{
91
+ kind: z.ZodLiteral<SignerKind.PublicKey>;
92
+ scope: z.ZodEnum<typeof ArtifactSignerScope>;
93
+ publicKey: z.ZodObject<{
94
+ pem: z.ZodString;
95
+ sha256: z.ZodString;
96
+ }, z.core.$strict>;
97
+ transparencyLog: z.ZodEnum<typeof TransparencyLog>;
98
+ }, z.core.$strict>], "kind">>;
41
99
  export type ArtifactSignerTrust = readonly ArtifactSigner[];
42
100
  export declare const GITHUB_ACTIONS_OIDC_ISSUER = "https://token.actions.githubusercontent.com";
43
101
  export declare const OFFICIAL_ARTIFACT_SIGNER_TRUST: ArtifactSignerTrust;
@@ -49,13 +107,17 @@ export interface ResolvedArtifactSignerTrust {
49
107
  readonly signers: ArtifactSignerTrust;
50
108
  readonly origin: ArtifactSignerTrustOrigin;
51
109
  }
52
- export declare function resolveArtifactSignerTrust(declared: unknown): ResolvedArtifactSignerTrust;
110
+ export declare function resolveArtifactSignerTrust(declared: unknown, allowance?: ArtifactSignerTrustAllowance): ResolvedArtifactSignerTrust;
53
111
  export declare function trustedSignersFor(trust: ArtifactSignerTrust, scope: ArtifactSignerScope): readonly ArtifactSigner[];
54
- export interface ArtifactSigningCertificate {
112
+ export type ArtifactSigningEvidence = {
113
+ readonly kind: SignerKind.OidcCertificate;
55
114
  readonly oidcIssuer: string;
56
115
  readonly identity: string;
57
- }
58
- export declare function signerMatches(signer: ArtifactSigner, certificate: ArtifactSigningCertificate): boolean;
59
- export declare function isTrustedArtifactSigner(trust: ArtifactSignerTrust, scope: ArtifactSignerScope, certificate: ArtifactSigningCertificate): boolean;
116
+ } | {
117
+ readonly kind: SignerKind.PublicKey;
118
+ readonly publicKeySha256: string;
119
+ };
120
+ export declare function signerMatches(signer: ArtifactSigner, evidence: ArtifactSigningEvidence): boolean;
121
+ export declare function isTrustedArtifactSigner(trust: ArtifactSignerTrust, scope: ArtifactSignerScope, evidence: ArtifactSigningEvidence): boolean;
60
122
  export declare function describeArtifactSigner(signer: ArtifactSigner): string;
61
123
  //# sourceMappingURL=artifact-signer-trust.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"artifact-signer-trust.d.ts","sourceRoot":"","sources":["../../../src/deployment/lib/artifact-signer-trust.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA4CxB,oBAAY,mBAAmB;IAE7B,MAAM,WAAW;IAEjB,MAAM,WAAW;IAEjB,QAAQ,aAAa;CACtB;AAED,eAAO,MAAM,yBAAyB,uCAAoC,CAAC;AAiB3E,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAwB9D;AAGD,eAAO,MAAM,iCAAiC;;kBAEnC,CAAC;AAGZ,eAAO,MAAM,kCAAkC;;kBAapC,CAAC;AAEZ,eAAO,MAAM,4BAA4B;;;;oBAGvC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAC1C,OAAO,4BAA4B,CACpC,CAAC;AAGF,eAAO,MAAM,8BAA8B,aAKvC,CAAC;AAGL,eAAO,MAAM,oBAAoB;;;;;;;;kBAOtB,CAAC;AACZ,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAOlE,eAAO,MAAM,yBAAyB;;;;;;;;mBAGpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,SAAS,cAAc,EAAE,CAAC;AAG5D,eAAO,MAAM,0BAA0B,gDACQ,CAAC;AAOhD,eAAO,MAAM,8BAA8B,EAAE,mBA0BzC,CAAC;AAGL,oBAAY,yBAAyB;IAEnC,QAAQ,aAAa;IAErB,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC;CAC5C;AAOD,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,OAAO,GAChB,2BAA2B,CAW7B;AAGD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,mBAAmB,EAC1B,KAAK,EAAE,mBAAmB,GACzB,SAAS,cAAc,EAAE,CAE3B;AAGD,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAGD,wBAAgB,aAAa,CAC3B,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,0BAA0B,GACtC,OAAO,CAKT;AAGD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,mBAAmB,EAC1B,KAAK,EAAE,mBAAmB,EAC1B,WAAW,EAAE,0BAA0B,GACtC,OAAO,CAIT;AAGD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAMrE"}
1
+ {"version":3,"file":"artifact-signer-trust.d.ts","sourceRoot":"","sources":["../../../src/deployment/lib/artifact-signer-trust.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ArtifactSignerTrustOrigin = exports.OFFICIAL_ARTIFACT_SIGNER_TRUST = exports.GITHUB_ACTIONS_OIDC_ISSUER = exports.ArtifactSignerTrustSchema = exports.ArtifactSignerSchema = exports.ArtifactSignerOidcIssuerSchema = exports.ArtifactSignerIdentitySchema = exports.ArtifactSignerRegexpIdentitySchema = exports.ArtifactSignerExactIdentitySchema = exports.ArtifactSignerScopeSchema = exports.ArtifactSignerScope = void 0;
3
+ exports.ArtifactSignerTrustOrigin = exports.OFFICIAL_ARTIFACT_SIGNER_TRUST = exports.GITHUB_ACTIONS_OIDC_ISSUER = exports.ArtifactSignerTrustSchema = exports.ArtifactSignerSchema = exports.PublicKeyArtifactSignerSchema = exports.OidcCertificateArtifactSignerSchema = exports.SignerPublicKeySchema = exports.TransparencyLogSchema = exports.TransparencyLog = exports.SignerKindSchema = exports.SignerKind = exports.StorePublisherIdentitySchema = exports.ArtifactSignerOidcIssuerSchema = exports.ArtifactSignerIdentitySchema = exports.ArtifactSignerRegexpIdentitySchema = exports.ArtifactSignerExactIdentitySchema = exports.ArtifactSignerScopeSchema = exports.ArtifactSignerScope = void 0;
4
4
  exports.isWhollyAnchoredRegexp = isWhollyAnchoredRegexp;
5
+ exports.publicKeySha256 = publicKeySha256;
5
6
  exports.resolveArtifactSignerTrust = resolveArtifactSignerTrust;
6
7
  exports.trustedSignersFor = trustedSignersFor;
7
8
  exports.signerMatches = signerMatches;
@@ -13,6 +14,7 @@ var ArtifactSignerScope;
13
14
  ArtifactSignerScope["Charts"] = "charts";
14
15
  ArtifactSignerScope["Images"] = "images";
15
16
  ArtifactSignerScope["Editions"] = "editions";
17
+ ArtifactSignerScope["StorePackages"] = "store-packages";
16
18
  })(ArtifactSignerScope || (exports.ArtifactSignerScope = ArtifactSignerScope = {}));
17
19
  exports.ArtifactSignerScopeSchema = zod_1.z.nativeEnum(ArtifactSignerScope);
18
20
  function isCompilableRegexp(source) {
@@ -82,19 +84,212 @@ exports.ArtifactSignerOidcIssuerSchema = zod_1.z
82
84
  .refine((value) => value.startsWith("https://"), {
83
85
  message: "oidcIssuer must be an https URL",
84
86
  });
85
- exports.ArtifactSignerSchema = zod_1.z
87
+ exports.StorePublisherIdentitySchema = zod_1.z
88
+ .string()
89
+ .min(1)
90
+ .refine((value) => !value.includes("refs/pull/"), {
91
+ message: "identity must not be a pull-request ref",
92
+ });
93
+ var SignerKind;
94
+ (function (SignerKind) {
95
+ SignerKind["OidcCertificate"] = "oidc-certificate";
96
+ SignerKind["PublicKey"] = "public-key";
97
+ })(SignerKind || (exports.SignerKind = SignerKind = {}));
98
+ exports.SignerKindSchema = zod_1.z.nativeEnum(SignerKind);
99
+ var TransparencyLog;
100
+ (function (TransparencyLog) {
101
+ TransparencyLog["Rekor"] = "rekor";
102
+ TransparencyLog["None"] = "none";
103
+ })(TransparencyLog || (exports.TransparencyLog = TransparencyLog = {}));
104
+ exports.TransparencyLogSchema = zod_1.z.nativeEnum(TransparencyLog);
105
+ const SHA256_ROUND_CONSTANTS = Uint32Array.from([
106
+ 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1,
107
+ 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,
108
+ 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786,
109
+ 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
110
+ 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147,
111
+ 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,
112
+ 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b,
113
+ 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
114
+ 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a,
115
+ 0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,
116
+ 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2,
117
+ ]);
118
+ function at(array, index) {
119
+ const value = array[index];
120
+ if (value === undefined)
121
+ throw new Error('sha256: index out of range');
122
+ return value;
123
+ }
124
+ function sha256Hex(bytes) {
125
+ const bitLength = bytes.length * 8;
126
+ const paddedLength = Math.ceil((bytes.length + 9) / 64) * 64;
127
+ const padded = new Uint8Array(paddedLength);
128
+ padded.set(bytes);
129
+ padded[bytes.length] = 0x80;
130
+ const view = new DataView(padded.buffer);
131
+ view.setUint32(paddedLength - 8, Math.floor(bitLength / 0x100000000));
132
+ view.setUint32(paddedLength - 4, bitLength >>> 0);
133
+ const state = Uint32Array.from([
134
+ 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c,
135
+ 0x1f83d9ab, 0x5be0cd19,
136
+ ]);
137
+ const w = new Uint32Array(64);
138
+ const rotr = (x, n) => (x >>> n) | (x << (32 - n));
139
+ for (let offset = 0; offset < paddedLength; offset += 64) {
140
+ for (let i = 0; i < 16; i += 1)
141
+ w[i] = view.getUint32(offset + i * 4);
142
+ for (let i = 16; i < 64; i += 1) {
143
+ const w15 = at(w, i - 15);
144
+ const w2 = at(w, i - 2);
145
+ const s0 = rotr(w15, 7) ^ rotr(w15, 18) ^ (w15 >>> 3);
146
+ const s1 = rotr(w2, 17) ^ rotr(w2, 19) ^ (w2 >>> 10);
147
+ w[i] = (at(w, i - 16) + s0 + at(w, i - 7) + s1) >>> 0;
148
+ }
149
+ let a = at(state, 0);
150
+ let b = at(state, 1);
151
+ let c = at(state, 2);
152
+ let d = at(state, 3);
153
+ let e = at(state, 4);
154
+ let f = at(state, 5);
155
+ let g = at(state, 6);
156
+ let h = at(state, 7);
157
+ for (let i = 0; i < 64; i += 1) {
158
+ const t1 = (h +
159
+ (rotr(e, 6) ^ rotr(e, 11) ^ rotr(e, 25)) +
160
+ ((e & f) ^ (~e & g)) +
161
+ at(SHA256_ROUND_CONSTANTS, i) +
162
+ at(w, i)) >>>
163
+ 0;
164
+ const t2 = ((rotr(a, 2) ^ rotr(a, 13) ^ rotr(a, 22)) +
165
+ ((a & b) ^ (a & c) ^ (b & c))) >>>
166
+ 0;
167
+ h = g;
168
+ g = f;
169
+ f = e;
170
+ e = (d + t1) >>> 0;
171
+ d = c;
172
+ c = b;
173
+ b = a;
174
+ a = (t1 + t2) >>> 0;
175
+ }
176
+ for (const [i, v] of [a, b, c, d, e, f, g, h].entries())
177
+ state[i] = at(state, i) + v;
178
+ }
179
+ return Array.from(state, (word) => word.toString(16).padStart(8, '0')).join('');
180
+ }
181
+ const SPKI_DER_PREFIXES = [
182
+ { prefix: '3059301306072a8648ce3d020106082a8648ce3d030107034200', length: 91 },
183
+ { prefix: '302a300506032b6570032100', length: 44 },
184
+ ];
185
+ const PUBLIC_KEY_PEM_PATTERN = /^-----BEGIN PUBLIC KEY-----\n((?:[A-Za-z0-9+/]{1,64}\n)*[A-Za-z0-9+/]{1,64}={0,2})\n-----END PUBLIC KEY-----\n?$/;
186
+ function spkiDerOf(pem) {
187
+ const match = PUBLIC_KEY_PEM_PATTERN.exec(pem);
188
+ if (match === null)
189
+ return undefined;
190
+ const base64 = (match[1] ?? '').replace(/\n/g, '');
191
+ if (base64.length % 4 !== 0)
192
+ return undefined;
193
+ let binary;
194
+ try {
195
+ binary = atob(base64);
196
+ }
197
+ catch {
198
+ return undefined;
199
+ }
200
+ const der = Uint8Array.from(binary, (char) => char.charCodeAt(0));
201
+ const hex = Array.from(der, (byte) => byte.toString(16).padStart(2, '0')).join('');
202
+ const known = SPKI_DER_PREFIXES.some((entry) => der.length === entry.length && hex.startsWith(entry.prefix));
203
+ return known ? der : undefined;
204
+ }
205
+ function publicKeySha256(pem) {
206
+ const der = spkiDerOf(pem);
207
+ return der === undefined ? undefined : sha256Hex(der);
208
+ }
209
+ exports.SignerPublicKeySchema = zod_1.z
86
210
  .object({
211
+ pem: zod_1.z.string().min(1),
212
+ sha256: zod_1.z.string().regex(/^[a-f0-9]{64}$/, 'expected a lowercase SHA-256 hex digest'),
213
+ })
214
+ .strict()
215
+ .superRefine((value, context) => {
216
+ const actual = publicKeySha256(value.pem);
217
+ if (actual === undefined) {
218
+ context.addIssue({
219
+ code: 'custom',
220
+ path: ['pem'],
221
+ message: `public key ${value.sha256} must be a PEM SPKI ECDSA P-256 or Ed25519 public key`,
222
+ });
223
+ }
224
+ else if (actual !== value.sha256) {
225
+ context.addIssue({
226
+ code: 'custom',
227
+ path: ['sha256'],
228
+ message: `public key ${value.sha256} is not the SHA-256 of its DER (the pem hashes to ${actual})`,
229
+ });
230
+ }
231
+ });
232
+ exports.OidcCertificateArtifactSignerSchema = zod_1.z
233
+ .object({
234
+ kind: zod_1.z.literal(SignerKind.OidcCertificate),
87
235
  scope: exports.ArtifactSignerScopeSchema,
88
236
  oidcIssuer: exports.ArtifactSignerOidcIssuerSchema,
89
237
  identity: exports.ArtifactSignerIdentitySchema,
90
238
  })
91
239
  .strict();
92
- exports.ArtifactSignerTrustSchema = zod_1.z.array(exports.ArtifactSignerSchema).min(1, {
240
+ exports.PublicKeyArtifactSignerSchema = zod_1.z
241
+ .object({
242
+ kind: zod_1.z.literal(SignerKind.PublicKey),
243
+ scope: exports.ArtifactSignerScopeSchema,
244
+ publicKey: exports.SignerPublicKeySchema,
245
+ transparencyLog: exports.TransparencyLogSchema,
246
+ })
247
+ .strict();
248
+ exports.ArtifactSignerSchema = zod_1.z.discriminatedUnion('kind', [
249
+ exports.OidcCertificateArtifactSignerSchema,
250
+ exports.PublicKeyArtifactSignerSchema,
251
+ ]);
252
+ exports.ArtifactSignerTrustSchema = zod_1.z
253
+ .array(exports.ArtifactSignerSchema)
254
+ .min(1, {
93
255
  message: "artifactSignerTrust must list at least one signer. It replaces the official signers; it cannot turn verification off. Remove it to trust the official signers.",
256
+ })
257
+ .superRefine((signers, context) => {
258
+ signers.forEach((signer, index) => {
259
+ if (signer.scope !== ArtifactSignerScope.StorePackages)
260
+ return;
261
+ if (signer.kind === SignerKind.PublicKey) {
262
+ context.addIssue({
263
+ code: "custom",
264
+ path: [index, "kind"],
265
+ message: `a store-packages signer must be an oidc-certificate signer; public key ${signer.publicKey.sha256} is refused`,
266
+ });
267
+ return;
268
+ }
269
+ if (!("exact" in signer.identity)) {
270
+ context.addIssue({
271
+ code: "custom",
272
+ path: [index, "identity"],
273
+ message: "a store-packages signer identity must be exact, not a regexp",
274
+ });
275
+ return;
276
+ }
277
+ const identity = exports.StorePublisherIdentitySchema.safeParse(signer.identity.exact);
278
+ if (!identity.success) {
279
+ for (const issue of identity.error.issues) {
280
+ context.addIssue({
281
+ code: "custom",
282
+ path: [index, "identity", "exact", ...issue.path],
283
+ message: issue.message,
284
+ });
285
+ }
286
+ }
287
+ });
94
288
  });
95
289
  exports.GITHUB_ACTIONS_OIDC_ISSUER = "https://token.actions.githubusercontent.com";
96
290
  exports.OFFICIAL_ARTIFACT_SIGNER_TRUST = Object.freeze([
97
291
  Object.freeze({
292
+ kind: SignerKind.OidcCertificate,
98
293
  scope: ArtifactSignerScope.Charts,
99
294
  oidcIssuer: exports.GITHUB_ACTIONS_OIDC_ISSUER,
100
295
  identity: Object.freeze({
@@ -102,6 +297,7 @@ exports.OFFICIAL_ARTIFACT_SIGNER_TRUST = Object.freeze([
102
297
  }),
103
298
  }),
104
299
  Object.freeze({
300
+ kind: SignerKind.OidcCertificate,
105
301
  scope: ArtifactSignerScope.Images,
106
302
  oidcIssuer: exports.GITHUB_ACTIONS_OIDC_ISSUER,
107
303
  identity: Object.freeze({
@@ -109,6 +305,7 @@ exports.OFFICIAL_ARTIFACT_SIGNER_TRUST = Object.freeze([
109
305
  }),
110
306
  }),
111
307
  Object.freeze({
308
+ kind: SignerKind.OidcCertificate,
112
309
  scope: ArtifactSignerScope.Editions,
113
310
  oidcIssuer: exports.GITHUB_ACTIONS_OIDC_ISSUER,
114
311
  identity: Object.freeze({
@@ -121,33 +318,48 @@ var ArtifactSignerTrustOrigin;
121
318
  ArtifactSignerTrustOrigin["Declared"] = "declared";
122
319
  ArtifactSignerTrustOrigin["Official"] = "official";
123
320
  })(ArtifactSignerTrustOrigin || (exports.ArtifactSignerTrustOrigin = ArtifactSignerTrustOrigin = {}));
124
- function resolveArtifactSignerTrust(declared) {
321
+ function resolveArtifactSignerTrust(declared, allowance = {}) {
125
322
  if (declared === undefined) {
126
323
  return {
127
324
  signers: exports.OFFICIAL_ARTIFACT_SIGNER_TRUST,
128
325
  origin: ArtifactSignerTrustOrigin.Official,
129
326
  };
130
327
  }
131
- return {
132
- signers: exports.ArtifactSignerTrustSchema.parse(declared),
133
- origin: ArtifactSignerTrustOrigin.Declared,
134
- };
328
+ const signers = exports.ArtifactSignerTrustSchema.parse(declared);
329
+ if (allowance.allowUnloggedPublicKeys !== true) {
330
+ for (const signer of signers) {
331
+ if (signer.kind === SignerKind.PublicKey &&
332
+ signer.transparencyLog === TransparencyLog.None) {
333
+ throw new Error(`public key ${signer.publicKey.sha256} declares transparencyLog "none", which this installation does not allow (allowUnloggedPublicKeys is not true)`);
334
+ }
335
+ }
336
+ }
337
+ return { signers, origin: ArtifactSignerTrustOrigin.Declared };
135
338
  }
136
339
  function trustedSignersFor(trust, scope) {
137
340
  return trust.filter((signer) => signer.scope === scope);
138
341
  }
139
- function signerMatches(signer, certificate) {
140
- if (signer.oidcIssuer !== certificate.oidcIssuer)
342
+ function signerMatches(signer, evidence) {
343
+ if (signer.kind === SignerKind.PublicKey) {
344
+ return (evidence.kind === SignerKind.PublicKey &&
345
+ signer.publicKey.sha256 === evidence.publicKeySha256);
346
+ }
347
+ if (evidence.kind !== SignerKind.OidcCertificate)
141
348
  return false;
142
- if ("exact" in signer.identity)
143
- return signer.identity.exact === certificate.identity;
144
- return new RegExp(signer.identity.regexp).test(certificate.identity);
349
+ if (signer.oidcIssuer !== evidence.oidcIssuer)
350
+ return false;
351
+ if ('exact' in signer.identity)
352
+ return signer.identity.exact === evidence.identity;
353
+ return new RegExp(signer.identity.regexp).test(evidence.identity);
145
354
  }
146
- function isTrustedArtifactSigner(trust, scope, certificate) {
147
- return trustedSignersFor(trust, scope).some((signer) => signerMatches(signer, certificate));
355
+ function isTrustedArtifactSigner(trust, scope, evidence) {
356
+ return trustedSignersFor(trust, scope).some((signer) => signerMatches(signer, evidence));
148
357
  }
149
358
  function describeArtifactSigner(signer) {
150
- const identity = "exact" in signer.identity
359
+ if (signer.kind === SignerKind.PublicKey) {
360
+ return `public key ${signer.publicKey.sha256}`;
361
+ }
362
+ const identity = 'exact' in signer.identity
151
363
  ? `identity ${signer.identity.exact}`
152
364
  : `identity matching ${signer.identity.regexp}`;
153
365
  return `${identity} via ${signer.oidcIssuer}`;
@@ -1 +1 @@
1
- {"version":3,"file":"artifact-signer-trust.js","sourceRoot":"","sources":["../../../src/deployment/lib/artifact-signer-trust.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artifact-signer-trust.js","sourceRoot":"","sources":["../../../src/deployment/lib/artifact-signer-trust.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function compareCodeUnits(a: string, b: string): number;
2
+ //# sourceMappingURL=code-unit-order.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-unit-order.d.ts","sourceRoot":"","sources":["../../../src/deployment/lib/code-unit-order.ts"],"names":[],"mappings":"AACA,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAE7D"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.compareCodeUnits = compareCodeUnits;
4
+ function compareCodeUnits(a, b) {
5
+ return a < b ? -1 : a > b ? 1 : 0;
6
+ }
7
+ //# sourceMappingURL=code-unit-order.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-unit-order.js","sourceRoot":"","sources":["../../../src/deployment/lib/code-unit-order.ts"],"names":[],"mappings":";;AACA,4CAEC;AAFD,SAAgB,gBAAgB,CAAC,CAAS,EAAE,CAAS;IACnD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC"}
@@ -0,0 +1,46 @@
1
+ import { z } from 'zod';
2
+ import { EventSubscriptionScopeKind } from '../../event-subscription';
3
+ export declare const EventSubscriptionCallerSchema: z.ZodObject<{
4
+ biome: z.ZodString;
5
+ component: z.ZodString;
6
+ }, z.core.$strict>;
7
+ export type EventSubscriptionCaller = z.infer<typeof EventSubscriptionCallerSchema>;
8
+ export declare const EventSubscriptionGrantSchema: z.ZodObject<{
9
+ caller: z.ZodObject<{
10
+ biome: z.ZodString;
11
+ component: z.ZodString;
12
+ }, z.core.$strict>;
13
+ clauses: z.ZodArray<z.ZodObject<{
14
+ types: z.ZodArray<z.ZodString>;
15
+ tiers: z.ZodArray<z.ZodEnum<typeof import("../../event-subscription").VisibilityTier>>;
16
+ scope: z.ZodDiscriminatedUnion<[z.ZodObject<{
17
+ kind: z.ZodLiteral<EventSubscriptionScopeKind.Org>;
18
+ org: z.ZodString;
19
+ }, z.core.$strict>, z.ZodObject<{
20
+ kind: z.ZodLiteral<EventSubscriptionScopeKind.Realm>;
21
+ }, z.core.$strict>], "kind">;
22
+ }, z.core.$strict>>;
23
+ }, z.core.$strict>;
24
+ export type EventSubscriptionGrant = z.infer<typeof EventSubscriptionGrantSchema>;
25
+ export declare const InstalledEventSubscriptionCeilingSchema: z.ZodObject<{
26
+ caller: z.ZodObject<{
27
+ biome: z.ZodString;
28
+ component: z.ZodString;
29
+ }, z.core.$strict>;
30
+ clauses: z.ZodArray<z.ZodObject<{
31
+ types: z.ZodArray<z.ZodString>;
32
+ tiers: z.ZodArray<z.ZodEnum<typeof import("../../event-subscription").VisibilityTier>>;
33
+ scope: z.ZodDiscriminatedUnion<[z.ZodObject<{
34
+ kind: z.ZodLiteral<EventSubscriptionScopeKind.Org>;
35
+ }, z.core.$strict>, z.ZodObject<{
36
+ kind: z.ZodLiteral<EventSubscriptionScopeKind.Realm>;
37
+ }, z.core.$strict>], "kind">;
38
+ }, z.core.$strict>>;
39
+ }, z.core.$strict>;
40
+ export type InstalledEventSubscriptionCeiling = z.infer<typeof InstalledEventSubscriptionCeilingSchema>;
41
+ export declare function compareEventSubscriptionRows(a: {
42
+ readonly caller: EventSubscriptionCaller;
43
+ }, b: {
44
+ readonly caller: EventSubscriptionCaller;
45
+ }): number;
46
+ //# sourceMappingURL=event-subscription-grant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-subscription-grant.d.ts","sourceRoot":"","sources":["../../../src/deployment/lib/event-subscription-grant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAGL,0BAA0B,EAE3B,MAAM,0BAA0B,CAAC;AAoBlC,eAAO,MAAM,6BAA6B;;;kBAK/B,CAAC;AAEZ,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAGpF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;kBAiB9B,CAAC;AAEZ,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAGlF,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;kBAmBzC,CAAC;AAEZ,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uCAAuC,CAAC,CAAC;AAGxG,wBAAgB,4BAA4B,CAC1C,CAAC,EAAE;IAAE,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAA;CAAE,EAC/C,CAAC,EAAE;IAAE,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAA;CAAE,GAC9C,MAAM,CAER"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InstalledEventSubscriptionCeilingSchema = exports.EventSubscriptionGrantSchema = exports.EventSubscriptionCallerSchema = void 0;
4
+ exports.compareEventSubscriptionRows = compareEventSubscriptionRows;
5
+ const zod_1 = require("zod");
6
+ const event_subscription_1 = require("../../event-subscription");
7
+ const code_unit_order_1 = require("./code-unit-order");
8
+ const trust_domain_1 = require("./trust-domain");
9
+ exports.EventSubscriptionCallerSchema = zod_1.z
10
+ .object({
11
+ biome: zod_1.z.string().regex(trust_domain_1.TRUST_DOMAIN_BIOME_ID_PATTERN, 'biome id must be lowercase kebab-case'),
12
+ component: zod_1.z.string().min(1),
13
+ })
14
+ .strict();
15
+ exports.EventSubscriptionGrantSchema = zod_1.z
16
+ .object({
17
+ caller: exports.EventSubscriptionCallerSchema,
18
+ clauses: (0, event_subscription_1.eventSubscriptionClauseListSchema)(event_subscription_1.EventSubscriptionGrantClauseSchema, 'an eventSubscriptionGrants row', {
19
+ sorted: true,
20
+ }).superRefine((clauses, ctx) => {
21
+ clauses.forEach((clause, index) => {
22
+ if (clause.scope.kind !== event_subscription_1.EventSubscriptionScopeKind.Realm) {
23
+ ctx.addIssue({
24
+ code: 'custom',
25
+ path: [index, 'scope'],
26
+ message: 'an eventSubscriptionGrants clause is realm-scoped; org reach is granted per installation',
27
+ });
28
+ }
29
+ });
30
+ }),
31
+ })
32
+ .strict();
33
+ exports.InstalledEventSubscriptionCeilingSchema = zod_1.z
34
+ .object({
35
+ caller: exports.EventSubscriptionCallerSchema,
36
+ clauses: (0, event_subscription_1.eventSubscriptionClauseListSchema)(event_subscription_1.DeclaredEventSubscriptionClauseSchema, 'an installedEventSubscriptionCeilings row', { sorted: true }).superRefine((clauses, ctx) => {
37
+ clauses.forEach((clause, index) => {
38
+ if (clause.scope.kind !== event_subscription_1.EventSubscriptionScopeKind.Org) {
39
+ ctx.addIssue({
40
+ code: 'custom',
41
+ path: [index, 'scope'],
42
+ message: 'an installedEventSubscriptionCeilings clause is org-scoped; realm reach is never installable',
43
+ });
44
+ }
45
+ });
46
+ }),
47
+ })
48
+ .strict();
49
+ function compareEventSubscriptionRows(a, b) {
50
+ return (0, code_unit_order_1.compareCodeUnits)(a.caller.biome, b.caller.biome) || (0, code_unit_order_1.compareCodeUnits)(a.caller.component, b.caller.component);
51
+ }
52
+ //# sourceMappingURL=event-subscription-grant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-subscription-grant.js","sourceRoot":"","sources":["../../../src/deployment/lib/event-subscription-grant.ts"],"names":[],"mappings":";;;AAmFA,oEAKC;AAxFD,6BAAwB;AAExB,iEAKkC;AAClC,uDAAqD;AACrD,iDAA+D;AAkBlD,QAAA,6BAA6B,GAAG,OAAC;KAC3C,MAAM,CAAC;IACN,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,4CAA6B,EAAE,uCAAuC,CAAC;IAC/F,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC7B,CAAC;KACD,MAAM,EAAE,CAAC;AAKC,QAAA,4BAA4B,GAAG,OAAC;KAC1C,MAAM,CAAC;IACN,MAAM,EAAE,qCAA6B;IACrC,OAAO,EAAE,IAAA,sDAAiC,EAAC,uDAAkC,EAAE,gCAAgC,EAAE;QAC/G,MAAM,EAAE,IAAI;KACb,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE;QAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YAChC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,+CAA0B,CAAC,KAAK,EAAE,CAAC;gBAC3D,GAAG,CAAC,QAAQ,CAAC;oBACX,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;oBACtB,OAAO,EAAE,0FAA0F;iBACpG,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;CACH,CAAC;KACD,MAAM,EAAE,CAAC;AAKC,QAAA,uCAAuC,GAAG,OAAC;KACrD,MAAM,CAAC;IACN,MAAM,EAAE,qCAA6B;IACrC,OAAO,EAAE,IAAA,sDAAiC,EACxC,0DAAqC,EACrC,2CAA2C,EAC3C,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE;QAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YAChC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,+CAA0B,CAAC,GAAG,EAAE,CAAC;gBACzD,GAAG,CAAC,QAAQ,CAAC;oBACX,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;oBACtB,OAAO,EAAE,8FAA8F;iBACxG,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;CACH,CAAC;KACD,MAAM,EAAE,CAAC;AAKZ,SAAgB,4BAA4B,CAC1C,CAA+C,EAC/C,CAA+C;IAE/C,OAAO,IAAA,kCAAgB,EAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAA,kCAAgB,EAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AACtH,CAAC"}