@mannyc1/ts-release 0.0.7 → 0.2.2

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 (635) hide show
  1. package/ARCHITECTURE.md +124 -92
  2. package/CHANGELOG.md +115 -0
  3. package/LICENSE +21 -0
  4. package/README.md +278 -324
  5. package/SPEC.md +206 -310
  6. package/apps/release-ts/README.md +32 -0
  7. package/apps/release-ts/src/cli/command.ts +164 -0
  8. package/apps/release-ts/src/cli/commands.ts +351 -0
  9. package/apps/release-ts/src/cli/main.ts +43 -0
  10. package/apps/release-ts/src/cli/node-main.ts +49 -0
  11. package/apps/ts-release-agents/LICENSE +21 -0
  12. package/apps/ts-release-agents/README.md +21 -0
  13. package/apps/ts-release-agents/evals/cases.json +11 -0
  14. package/apps/ts-release-agents/manifests/claude.json +5 -0
  15. package/apps/ts-release-agents/manifests/codex.json +5 -0
  16. package/apps/ts-release-agents/package.json +11 -0
  17. package/apps/ts-release-agents/skills/release/SKILL.md +48 -0
  18. package/apps/ts-release-agents/skills/release/references/configuration.md +18 -0
  19. package/apps/ts-release-agents/skills/release/references/recovery.md +10 -0
  20. package/apps/ts-release-agents/skills/release/references/staged-workflow.md +12 -0
  21. package/apps/ts-release-agents/skills/release/references/target-selection.md +13 -0
  22. package/apps/ts-release-agents/skills/release/references/verification.md +14 -0
  23. package/apps/ts-release-agents/src/build.ts +105 -0
  24. package/apps/ts-release-agents/src/check.ts +117 -0
  25. package/apps/ts-release-agents/src/install.ts +121 -0
  26. package/apps/ts-release-agents/test/contract.test.ts +56 -0
  27. package/apps/ts-release-agents/tsconfig.json +5 -0
  28. package/dist/api/api.d.ts +15 -0
  29. package/dist/api/api.d.ts.map +1 -0
  30. package/dist/api/api.js +244 -0
  31. package/dist/api/api.js.map +1 -0
  32. package/dist/api/errors.d.ts +39 -0
  33. package/dist/api/errors.d.ts.map +1 -0
  34. package/dist/api/errors.js +32 -0
  35. package/dist/api/errors.js.map +1 -0
  36. package/dist/api/input.d.ts +10 -0
  37. package/dist/api/input.d.ts.map +1 -0
  38. package/dist/api/input.js +73 -0
  39. package/dist/api/input.js.map +1 -0
  40. package/dist/api/runtime.d.ts +18 -0
  41. package/dist/api/runtime.d.ts.map +1 -0
  42. package/dist/api/runtime.js +7 -0
  43. package/dist/api/runtime.js.map +1 -0
  44. package/dist/api/types.d.ts +76 -0
  45. package/dist/api/types.d.ts.map +1 -0
  46. package/dist/api/types.js +17 -0
  47. package/dist/api/types.js.map +1 -0
  48. package/dist/bin/ts-release.js +39239 -0
  49. package/dist/capabilities/bun-targets.d.ts +3 -0
  50. package/dist/capabilities/bun-targets.d.ts.map +1 -0
  51. package/dist/capabilities/bun-targets.js +3 -0
  52. package/dist/capabilities/bun-targets.js.map +1 -0
  53. package/dist/capabilities/field-ownership.d.ts +17 -0
  54. package/dist/capabilities/field-ownership.d.ts.map +1 -0
  55. package/dist/capabilities/field-ownership.js +40 -0
  56. package/dist/capabilities/field-ownership.js.map +1 -0
  57. package/dist/capabilities/module.d.ts +91 -0
  58. package/dist/capabilities/module.d.ts.map +1 -0
  59. package/dist/capabilities/module.js +2 -0
  60. package/dist/capabilities/module.js.map +1 -0
  61. package/dist/capabilities/registry.d.ts +829 -0
  62. package/dist/capabilities/registry.d.ts.map +1 -0
  63. package/dist/capabilities/registry.js +291 -0
  64. package/dist/capabilities/registry.js.map +1 -0
  65. package/dist/config/config.d.ts +6 -0
  66. package/dist/config/config.d.ts.map +1 -0
  67. package/dist/config/config.js +42 -0
  68. package/dist/config/config.js.map +1 -0
  69. package/dist/correction/coordinator.d.ts +248 -0
  70. package/dist/correction/coordinator.d.ts.map +1 -0
  71. package/dist/correction/coordinator.js +274 -0
  72. package/dist/correction/coordinator.js.map +1 -0
  73. package/dist/correction/index.d.ts +3 -0
  74. package/dist/correction/index.d.ts.map +1 -0
  75. package/dist/correction/index.js +3 -0
  76. package/dist/correction/index.js.map +1 -0
  77. package/dist/correction/intent.d.ts +111 -0
  78. package/dist/correction/intent.d.ts.map +1 -0
  79. package/dist/correction/intent.js +146 -0
  80. package/dist/correction/intent.js.map +1 -0
  81. package/dist/drivers/archive.d.ts +8 -0
  82. package/dist/drivers/archive.d.ts.map +1 -0
  83. package/dist/drivers/archive.js +101 -0
  84. package/dist/drivers/archive.js.map +1 -0
  85. package/dist/drivers/contain.d.ts +6 -0
  86. package/dist/drivers/contain.d.ts.map +1 -0
  87. package/dist/drivers/contain.js +17 -0
  88. package/dist/drivers/contain.js.map +1 -0
  89. package/dist/drivers/environment.d.ts +4 -0
  90. package/dist/drivers/environment.d.ts.map +1 -0
  91. package/dist/drivers/environment.js +18 -0
  92. package/dist/drivers/environment.js.map +1 -0
  93. package/dist/drivers/errors.d.ts +9 -0
  94. package/dist/drivers/errors.d.ts.map +1 -0
  95. package/dist/drivers/errors.js +6 -0
  96. package/dist/drivers/errors.js.map +1 -0
  97. package/dist/drivers/glob.d.ts +2 -0
  98. package/dist/drivers/glob.d.ts.map +1 -0
  99. package/dist/drivers/glob.js +162 -0
  100. package/dist/drivers/glob.js.map +1 -0
  101. package/dist/drivers/process.d.ts +48 -0
  102. package/dist/drivers/process.d.ts.map +1 -0
  103. package/dist/drivers/process.js +257 -0
  104. package/dist/drivers/process.js.map +1 -0
  105. package/dist/drivers/redact.d.ts +4 -0
  106. package/dist/drivers/redact.d.ts.map +1 -0
  107. package/dist/drivers/redact.js +24 -0
  108. package/dist/drivers/redact.js.map +1 -0
  109. package/dist/drivers/seccomp-helper-source.d.ts +7 -0
  110. package/dist/drivers/seccomp-helper-source.d.ts.map +1 -0
  111. package/dist/drivers/seccomp-helper-source.js +121 -0
  112. package/dist/drivers/seccomp-helper-source.js.map +1 -0
  113. package/dist/drivers/utils.d.ts +4 -0
  114. package/dist/drivers/utils.d.ts.map +1 -0
  115. package/dist/drivers/utils.js +5 -0
  116. package/dist/drivers/utils.js.map +1 -0
  117. package/dist/drivers/workspace.d.ts +6 -0
  118. package/dist/drivers/workspace.d.ts.map +1 -0
  119. package/dist/drivers/workspace.js +49 -0
  120. package/dist/drivers/workspace.js.map +1 -0
  121. package/dist/extensions/provider-adapter.d.ts +48 -0
  122. package/dist/extensions/provider-adapter.d.ts.map +1 -0
  123. package/dist/extensions/provider-adapter.js +64 -0
  124. package/dist/extensions/provider-adapter.js.map +1 -0
  125. package/dist/host.d.ts +33 -0
  126. package/dist/host.d.ts.map +1 -0
  127. package/dist/host.js +20 -0
  128. package/dist/host.js.map +1 -0
  129. package/dist/index.d.ts +19 -1
  130. package/dist/index.d.ts.map +1 -1
  131. package/dist/index.js +12 -1
  132. package/dist/index.js.map +1 -1
  133. package/dist/model/artifact-collection.d.ts +84 -0
  134. package/dist/model/artifact-collection.d.ts.map +1 -0
  135. package/dist/model/artifact-collection.js +185 -0
  136. package/dist/model/artifact-collection.js.map +1 -0
  137. package/dist/model/authority.d.ts +89 -0
  138. package/dist/model/authority.d.ts.map +1 -0
  139. package/dist/model/authority.js +80 -0
  140. package/dist/model/authority.js.map +1 -0
  141. package/dist/model/bun-targets.d.ts +34 -0
  142. package/dist/model/bun-targets.d.ts.map +1 -0
  143. package/dist/model/bun-targets.js +17 -0
  144. package/dist/model/bun-targets.js.map +1 -0
  145. package/dist/model/canonical.d.ts +8 -0
  146. package/dist/model/canonical.d.ts.map +1 -0
  147. package/dist/model/canonical.js +205 -0
  148. package/dist/model/canonical.js.map +1 -0
  149. package/dist/model/catalog.d.ts +76 -0
  150. package/dist/model/catalog.d.ts.map +1 -0
  151. package/dist/model/catalog.js +174 -0
  152. package/dist/model/catalog.js.map +1 -0
  153. package/dist/model/digest.d.ts +53 -0
  154. package/dist/model/digest.d.ts.map +1 -0
  155. package/dist/model/digest.js +127 -0
  156. package/dist/model/digest.js.map +1 -0
  157. package/dist/model/errors.d.ts +14 -0
  158. package/dist/model/errors.d.ts.map +1 -0
  159. package/dist/model/errors.js +8 -0
  160. package/dist/model/errors.js.map +1 -0
  161. package/dist/model/primitives.d.ts +19 -0
  162. package/dist/model/primitives.d.ts.map +1 -0
  163. package/dist/model/primitives.js +18 -0
  164. package/dist/model/primitives.js.map +1 -0
  165. package/dist/model/pypi.d.ts +12 -0
  166. package/dist/model/pypi.d.ts.map +1 -0
  167. package/dist/model/pypi.js +20 -0
  168. package/dist/model/pypi.js.map +1 -0
  169. package/dist/model/python-distribution.d.ts +33 -0
  170. package/dist/model/python-distribution.d.ts.map +1 -0
  171. package/dist/model/python-distribution.js +367 -0
  172. package/dist/model/python-distribution.js.map +1 -0
  173. package/dist/model/secret-patterns.d.ts +2 -0
  174. package/dist/model/secret-patterns.d.ts.map +1 -0
  175. package/dist/model/secret-patterns.js +12 -0
  176. package/dist/model/secret-patterns.js.map +1 -0
  177. package/dist/platform/bun.d.ts +7 -0
  178. package/dist/platform/bun.d.ts.map +1 -0
  179. package/dist/platform/bun.js +15 -0
  180. package/dist/platform/bun.js.map +1 -0
  181. package/dist/platform/credentials.d.ts +32 -0
  182. package/dist/platform/credentials.d.ts.map +1 -0
  183. package/dist/platform/credentials.js +772 -0
  184. package/dist/platform/credentials.js.map +1 -0
  185. package/dist/platform/host-support.d.ts +2 -0
  186. package/dist/platform/host-support.d.ts.map +1 -0
  187. package/dist/platform/host-support.js +4 -0
  188. package/dist/platform/host-support.js.map +1 -0
  189. package/dist/platform/node.d.ts +7 -0
  190. package/dist/platform/node.d.ts.map +1 -0
  191. package/dist/platform/node.js +15 -0
  192. package/dist/platform/node.js.map +1 -0
  193. package/dist/platform/release-runtime.d.ts +11 -0
  194. package/dist/platform/release-runtime.d.ts.map +1 -0
  195. package/dist/platform/release-runtime.js +34 -0
  196. package/dist/platform/release-runtime.js.map +1 -0
  197. package/dist/platform/services.d.ts +15 -0
  198. package/dist/platform/services.d.ts.map +1 -0
  199. package/dist/platform/services.js +30 -0
  200. package/dist/platform/services.js.map +1 -0
  201. package/dist/platform/source-observer.d.ts +5 -0
  202. package/dist/platform/source-observer.d.ts.map +1 -0
  203. package/dist/platform/source-observer.js +159 -0
  204. package/dist/platform/source-observer.js.map +1 -0
  205. package/dist/provider-sdk.d.ts +14 -0
  206. package/dist/provider-sdk.d.ts.map +1 -0
  207. package/dist/provider-sdk.js +10 -0
  208. package/dist/provider-sdk.js.map +1 -0
  209. package/dist/publication/adapter.d.ts +212 -0
  210. package/dist/publication/adapter.d.ts.map +1 -0
  211. package/dist/publication/adapter.js +83 -0
  212. package/dist/publication/adapter.js.map +1 -0
  213. package/dist/publication/authority.d.ts +137 -0
  214. package/dist/publication/authority.d.ts.map +1 -0
  215. package/dist/publication/authority.js +233 -0
  216. package/dist/publication/authority.js.map +1 -0
  217. package/dist/publication/catalog-git.d.ts +37 -0
  218. package/dist/publication/catalog-git.d.ts.map +1 -0
  219. package/dist/publication/catalog-git.js +451 -0
  220. package/dist/publication/catalog-git.js.map +1 -0
  221. package/dist/publication/claim.d.ts +39 -0
  222. package/dist/publication/claim.d.ts.map +1 -0
  223. package/dist/publication/claim.js +31 -0
  224. package/dist/publication/claim.js.map +1 -0
  225. package/dist/publication/coordinator.d.ts +246 -0
  226. package/dist/publication/coordinator.d.ts.map +1 -0
  227. package/dist/publication/coordinator.js +370 -0
  228. package/dist/publication/coordinator.js.map +1 -0
  229. package/dist/publication/github.d.ts +36 -0
  230. package/dist/publication/github.d.ts.map +1 -0
  231. package/dist/publication/github.js +644 -0
  232. package/dist/publication/github.js.map +1 -0
  233. package/dist/publication/http.d.ts +69 -0
  234. package/dist/publication/http.d.ts.map +1 -0
  235. package/dist/publication/http.js +29 -0
  236. package/dist/publication/http.js.map +1 -0
  237. package/dist/publication/index.d.ts +5 -0
  238. package/dist/publication/index.d.ts.map +1 -0
  239. package/dist/publication/index.js +5 -0
  240. package/dist/publication/index.js.map +1 -0
  241. package/dist/publication/npm.d.ts +40 -0
  242. package/dist/publication/npm.d.ts.map +1 -0
  243. package/dist/publication/npm.js +359 -0
  244. package/dist/publication/npm.js.map +1 -0
  245. package/dist/publication/profiles.d.ts +136 -0
  246. package/dist/publication/profiles.d.ts.map +1 -0
  247. package/dist/publication/profiles.js +90 -0
  248. package/dist/publication/profiles.js.map +1 -0
  249. package/dist/publication/publisher.d.ts +82 -0
  250. package/dist/publication/publisher.d.ts.map +1 -0
  251. package/dist/publication/publisher.js +53 -0
  252. package/dist/publication/publisher.js.map +1 -0
  253. package/dist/publication/pypi.d.ts +45 -0
  254. package/dist/publication/pypi.d.ts.map +1 -0
  255. package/dist/publication/pypi.js +369 -0
  256. package/dist/publication/pypi.js.map +1 -0
  257. package/dist/publication/recovery.d.ts +663 -0
  258. package/dist/publication/recovery.d.ts.map +1 -0
  259. package/dist/publication/recovery.js +252 -0
  260. package/dist/publication/recovery.js.map +1 -0
  261. package/dist/publication/report.d.ts +1061 -0
  262. package/dist/publication/report.d.ts.map +1 -0
  263. package/dist/publication/report.js +441 -0
  264. package/dist/publication/report.js.map +1 -0
  265. package/dist/recipes/config.d.ts +296 -0
  266. package/dist/recipes/config.d.ts.map +1 -0
  267. package/dist/recipes/config.js +325 -0
  268. package/dist/recipes/config.js.map +1 -0
  269. package/dist/release/capabilities.d.ts +12 -0
  270. package/dist/release/capabilities.d.ts.map +1 -0
  271. package/dist/release/capabilities.js +395 -0
  272. package/dist/release/capabilities.js.map +1 -0
  273. package/dist/release/compiler.d.ts +5 -0
  274. package/dist/release/compiler.d.ts.map +1 -0
  275. package/dist/release/compiler.js +19 -0
  276. package/dist/release/compiler.js.map +1 -0
  277. package/dist/release/config.d.ts +5 -0
  278. package/dist/release/config.d.ts.map +1 -0
  279. package/dist/release/config.js +10 -0
  280. package/dist/release/config.js.map +1 -0
  281. package/dist/release/context.d.ts +96 -0
  282. package/dist/release/context.d.ts.map +1 -0
  283. package/dist/release/context.js +168 -0
  284. package/dist/release/context.js.map +1 -0
  285. package/dist/release/graph.d.ts +271 -0
  286. package/dist/release/graph.d.ts.map +1 -0
  287. package/dist/release/graph.js +766 -0
  288. package/dist/release/graph.js.map +1 -0
  289. package/dist/release/inspect.d.ts +88 -0
  290. package/dist/release/inspect.d.ts.map +1 -0
  291. package/dist/release/inspect.js +75 -0
  292. package/dist/release/inspect.js.map +1 -0
  293. package/dist/release/prepare.d.ts +24 -0
  294. package/dist/release/prepare.d.ts.map +1 -0
  295. package/dist/release/prepare.js +1116 -0
  296. package/dist/release/prepare.js.map +1 -0
  297. package/dist/release/prepared-ref.d.ts +60 -0
  298. package/dist/release/prepared-ref.d.ts.map +1 -0
  299. package/dist/release/prepared-ref.js +131 -0
  300. package/dist/release/prepared-ref.js.map +1 -0
  301. package/dist/release/prepared-store.d.ts +90 -0
  302. package/dist/release/prepared-store.d.ts.map +1 -0
  303. package/dist/release/prepared-store.js +337 -0
  304. package/dist/release/prepared-store.js.map +1 -0
  305. package/dist/release/prepared.d.ts +172 -0
  306. package/dist/release/prepared.d.ts.map +1 -0
  307. package/dist/release/prepared.js +268 -0
  308. package/dist/release/prepared.js.map +1 -0
  309. package/dist/release/staging.d.ts +31 -0
  310. package/dist/release/staging.d.ts.map +1 -0
  311. package/dist/release/staging.js +218 -0
  312. package/dist/release/staging.js.map +1 -0
  313. package/dist/resolve/authored.d.ts +53 -0
  314. package/dist/resolve/authored.d.ts.map +1 -0
  315. package/dist/resolve/authored.js +55 -0
  316. package/dist/resolve/authored.js.map +1 -0
  317. package/dist/resolve/encode.d.ts +3 -0
  318. package/dist/resolve/encode.d.ts.map +1 -0
  319. package/dist/resolve/encode.js +21 -0
  320. package/dist/resolve/encode.js.map +1 -0
  321. package/dist/resolve/errors.d.ts +7 -0
  322. package/dist/resolve/errors.d.ts.map +1 -0
  323. package/dist/resolve/errors.js +17 -0
  324. package/dist/resolve/errors.js.map +1 -0
  325. package/dist/resolve/facts.d.ts +12 -0
  326. package/dist/resolve/facts.d.ts.map +1 -0
  327. package/dist/resolve/facts.js +18 -0
  328. package/dist/resolve/facts.js.map +1 -0
  329. package/dist/resolve/resolve.d.ts +10 -0
  330. package/dist/resolve/resolve.d.ts.map +1 -0
  331. package/dist/resolve/resolve.js +242 -0
  332. package/dist/resolve/resolve.js.map +1 -0
  333. package/dist/store.d.ts +11 -0
  334. package/dist/store.d.ts.map +1 -0
  335. package/dist/store.js +9 -0
  336. package/dist/store.js.map +1 -0
  337. package/examples/README.md +20 -30
  338. package/examples/github-release/release.config.json +11 -18
  339. package/examples/homebrew-tap/README.md +11 -0
  340. package/examples/homebrew-tap/release.config.json +40 -28
  341. package/examples/multi-target/release.config.json +28 -53
  342. package/examples/npm-first-publish/release.config.json +23 -25
  343. package/examples/npm-only/release.config.json +22 -30
  344. package/examples/portable-cli/README.md +17 -0
  345. package/examples/portable-cli/artifacts/portable-example-0.1.0-darwin-arm64 +1 -0
  346. package/examples/portable-cli/artifacts/portable-example-0.1.0-darwin-x64 +1 -0
  347. package/examples/portable-cli/artifacts/portable-example-0.1.0-linux-arm64 +1 -0
  348. package/examples/portable-cli/artifacts/portable-example-0.1.0-linux-x64 +1 -0
  349. package/examples/portable-cli/artifacts/portable-example-0.1.0-windows-x64.exe +1 -0
  350. package/examples/portable-cli/artifacts/portable_example-0.1.0-py3-none-macosx_10_15_x86_64.whl +1 -0
  351. package/examples/portable-cli/artifacts/portable_example-0.1.0-py3-none-macosx_11_0_arm64.whl +1 -0
  352. package/examples/portable-cli/artifacts/portable_example-0.1.0-py3-none-manylinux2014_aarch64.whl +1 -0
  353. package/examples/portable-cli/artifacts/portable_example-0.1.0-py3-none-manylinux2014_x86_64.whl +1 -0
  354. package/examples/portable-cli/artifacts/portable_example-0.1.0-py3-none-win_amd64.whl +1 -0
  355. package/examples/portable-cli/package.json +9 -0
  356. package/examples/portable-cli/release.config.json +53 -0
  357. package/examples/portable-cli/src/cli.ts +3 -0
  358. package/examples/pypi-registry/README.md +8 -0
  359. package/examples/scoop-bucket/README.md +10 -0
  360. package/examples/scoop-bucket/release.config.json +40 -30
  361. package/package.json +60 -156
  362. package/src/api/api.ts +365 -0
  363. package/src/api/errors.ts +36 -0
  364. package/src/api/input.ts +92 -0
  365. package/src/api/runtime.ts +14 -0
  366. package/src/api/types.ts +103 -0
  367. package/src/capabilities/bun-targets.ts +2 -0
  368. package/src/capabilities/field-ownership.ts +60 -0
  369. package/src/capabilities/module.ts +158 -0
  370. package/src/capabilities/registry.ts +333 -0
  371. package/src/config/config.ts +48 -0
  372. package/src/correction/coordinator.ts +336 -0
  373. package/src/correction/index.ts +2 -0
  374. package/src/correction/intent.ts +172 -0
  375. package/src/drivers/archive.ts +102 -0
  376. package/src/drivers/contain.ts +20 -0
  377. package/src/drivers/environment.ts +28 -0
  378. package/src/drivers/errors.ts +6 -0
  379. package/src/drivers/glob.ts +137 -0
  380. package/src/drivers/process.ts +340 -0
  381. package/src/drivers/redact.ts +31 -0
  382. package/src/drivers/seccomp-helper-source.ts +121 -0
  383. package/src/drivers/utils.ts +10 -0
  384. package/src/drivers/workspace.ts +40 -0
  385. package/src/extensions/provider-adapter.ts +99 -0
  386. package/src/host.ts +140 -0
  387. package/src/index.ts +64 -0
  388. package/src/model/artifact-collection.ts +237 -0
  389. package/src/model/authority.ts +116 -0
  390. package/src/model/bun-targets.ts +34 -0
  391. package/src/model/canonical.ts +205 -0
  392. package/src/model/catalog.ts +220 -0
  393. package/src/model/digest.ts +172 -0
  394. package/src/model/errors.ts +6 -0
  395. package/src/model/primitives.ts +37 -0
  396. package/src/model/pypi.ts +30 -0
  397. package/src/model/python-distribution.ts +360 -0
  398. package/src/model/secret-patterns.ts +11 -0
  399. package/src/platform/bun.ts +38 -0
  400. package/src/platform/credentials.ts +1083 -0
  401. package/src/platform/host-support.ts +4 -0
  402. package/src/platform/node.ts +38 -0
  403. package/src/platform/release-runtime.ts +47 -0
  404. package/src/platform/services.ts +57 -0
  405. package/src/platform/source-observer.ts +193 -0
  406. package/src/provider-sdk.ts +48 -0
  407. package/src/publication/adapter.ts +132 -0
  408. package/src/publication/authority.ts +397 -0
  409. package/src/publication/catalog-git.ts +603 -0
  410. package/src/publication/claim.ts +51 -0
  411. package/src/publication/coordinator.ts +578 -0
  412. package/src/publication/github.ts +954 -0
  413. package/src/publication/http.ts +101 -0
  414. package/src/publication/index.ts +4 -0
  415. package/src/publication/npm.ts +525 -0
  416. package/src/publication/profiles.ts +94 -0
  417. package/src/publication/publisher.ts +130 -0
  418. package/src/publication/pypi.ts +463 -0
  419. package/src/publication/recovery.ts +349 -0
  420. package/src/publication/report.ts +628 -0
  421. package/src/recipes/config.ts +395 -0
  422. package/src/release/capabilities.ts +459 -0
  423. package/src/release/compiler.ts +28 -0
  424. package/src/release/config.ts +12 -0
  425. package/src/release/context.ts +223 -0
  426. package/src/release/graph.ts +866 -0
  427. package/src/release/inspect.ts +83 -0
  428. package/src/release/prepare.ts +1331 -0
  429. package/src/release/prepared-ref.ts +193 -0
  430. package/src/release/prepared-store.ts +377 -0
  431. package/src/release/prepared.ts +299 -0
  432. package/src/release/staging.ts +257 -0
  433. package/src/resolve/authored.ts +64 -0
  434. package/src/resolve/encode.ts +22 -0
  435. package/src/resolve/errors.ts +15 -0
  436. package/src/resolve/facts.ts +18 -0
  437. package/src/resolve/resolve.ts +328 -0
  438. package/src/store.ts +28 -0
  439. package/templates/README.md +55 -72
  440. package/templates/bun-cli-github/README.md +7 -9
  441. package/templates/bun-cli-github/release.config.json +35 -73
  442. package/templates/github-actions/release.yml +57 -0
  443. package/templates/github-actions/reviewed-release.yml +80 -0
  444. package/templates/multi-target-homebrew/README.md +10 -0
  445. package/templates/multi-target-homebrew/release.config.json +43 -60
  446. package/templates/multi-target-scoop/README.md +10 -0
  447. package/templates/multi-target-scoop/release.config.json +43 -62
  448. package/templates/npm-github/release.config.json +25 -38
  449. package/templates/npm-github/reviewed-release.config.json +37 -0
  450. package/templates/npm-only/README.md +10 -0
  451. package/templates/npm-only/release.config.json +15 -30
  452. package/templates/portable-cli/README.md +13 -0
  453. package/templates/portable-cli/release.config.json +53 -0
  454. package/dist/artifacts/adapter.d.ts +0 -39
  455. package/dist/artifacts/adapter.d.ts.map +0 -1
  456. package/dist/artifacts/adapter.js +0 -23
  457. package/dist/artifacts/adapter.js.map +0 -1
  458. package/dist/artifacts/registry.d.ts +0 -21
  459. package/dist/artifacts/registry.d.ts.map +0 -1
  460. package/dist/artifacts/registry.js +0 -21
  461. package/dist/artifacts/registry.js.map +0 -1
  462. package/dist/config/errors.d.ts +0 -24
  463. package/dist/config/errors.d.ts.map +0 -1
  464. package/dist/config/errors.js +0 -19
  465. package/dist/config/errors.js.map +0 -1
  466. package/dist/config/load.d.ts +0 -9
  467. package/dist/config/load.d.ts.map +0 -1
  468. package/dist/config/load.js +0 -29
  469. package/dist/config/load.js.map +0 -1
  470. package/dist/config/schema.d.ts +0 -12
  471. package/dist/config/schema.d.ts.map +0 -1
  472. package/dist/config/schema.js +0 -19
  473. package/dist/config/schema.js.map +0 -1
  474. package/dist/domain/artifact.d.ts +0 -118
  475. package/dist/domain/artifact.d.ts.map +0 -1
  476. package/dist/domain/artifact.js +0 -197
  477. package/dist/domain/artifact.js.map +0 -1
  478. package/dist/domain/evidence.d.ts +0 -59
  479. package/dist/domain/evidence.d.ts.map +0 -1
  480. package/dist/domain/evidence.js +0 -51
  481. package/dist/domain/evidence.js.map +0 -1
  482. package/dist/domain/operation.d.ts +0 -143
  483. package/dist/domain/operation.d.ts.map +0 -1
  484. package/dist/domain/operation.js +0 -198
  485. package/dist/domain/operation.js.map +0 -1
  486. package/dist/domain/release.d.ts +0 -93
  487. package/dist/domain/release.d.ts.map +0 -1
  488. package/dist/domain/release.js +0 -82
  489. package/dist/domain/release.js.map +0 -1
  490. package/dist/domain/remote-state.d.ts +0 -58
  491. package/dist/domain/remote-state.d.ts.map +0 -1
  492. package/dist/domain/remote-state.js +0 -55
  493. package/dist/domain/remote-state.js.map +0 -1
  494. package/dist/domain/target.d.ts +0 -148
  495. package/dist/domain/target.d.ts.map +0 -1
  496. package/dist/domain/target.js +0 -151
  497. package/dist/domain/target.js.map +0 -1
  498. package/dist/host/host.d.ts +0 -32
  499. package/dist/host/host.d.ts.map +0 -1
  500. package/dist/host/host.js +0 -24
  501. package/dist/host/host.js.map +0 -1
  502. package/dist/host/http-live.d.ts +0 -6
  503. package/dist/host/http-live.d.ts.map +0 -1
  504. package/dist/host/http-live.js +0 -86
  505. package/dist/host/http-live.js.map +0 -1
  506. package/dist/host/http.d.ts +0 -43
  507. package/dist/host/http.d.ts.map +0 -1
  508. package/dist/host/http.js +0 -59
  509. package/dist/host/http.js.map +0 -1
  510. package/dist/host/platform.d.ts +0 -10
  511. package/dist/host/platform.d.ts.map +0 -1
  512. package/dist/host/platform.js +0 -114
  513. package/dist/host/platform.js.map +0 -1
  514. package/dist/host/test.d.ts +0 -23
  515. package/dist/host/test.d.ts.map +0 -1
  516. package/dist/host/test.js +0 -222
  517. package/dist/host/test.js.map +0 -1
  518. package/dist/internal/workspace-path.d.ts +0 -15
  519. package/dist/internal/workspace-path.d.ts.map +0 -1
  520. package/dist/internal/workspace-path.js +0 -36
  521. package/dist/internal/workspace-path.js.map +0 -1
  522. package/dist/planner/artifact-inventory.d.ts +0 -9
  523. package/dist/planner/artifact-inventory.d.ts.map +0 -1
  524. package/dist/planner/artifact-inventory.js +0 -86
  525. package/dist/planner/artifact-inventory.js.map +0 -1
  526. package/dist/planner/create-release-plan.d.ts +0 -5
  527. package/dist/planner/create-release-plan.d.ts.map +0 -1
  528. package/dist/planner/create-release-plan.js +0 -25
  529. package/dist/planner/create-release-plan.js.map +0 -1
  530. package/dist/planner/errors.d.ts +0 -67
  531. package/dist/planner/errors.d.ts.map +0 -1
  532. package/dist/planner/errors.js +0 -58
  533. package/dist/planner/errors.js.map +0 -1
  534. package/dist/planner/evidence-recorder.d.ts +0 -28
  535. package/dist/planner/evidence-recorder.d.ts.map +0 -1
  536. package/dist/planner/evidence-recorder.js +0 -362
  537. package/dist/planner/evidence-recorder.js.map +0 -1
  538. package/dist/planner/executor.d.ts +0 -58
  539. package/dist/planner/executor.d.ts.map +0 -1
  540. package/dist/planner/executor.js +0 -147
  541. package/dist/planner/executor.js.map +0 -1
  542. package/dist/planner/normalize-release.d.ts +0 -19
  543. package/dist/planner/normalize-release.d.ts.map +0 -1
  544. package/dist/planner/normalize-release.js +0 -342
  545. package/dist/planner/normalize-release.js.map +0 -1
  546. package/dist/planner/reconcile.d.ts +0 -17
  547. package/dist/planner/reconcile.d.ts.map +0 -1
  548. package/dist/planner/reconcile.js +0 -259
  549. package/dist/planner/reconcile.js.map +0 -1
  550. package/dist/planner/render-plan.d.ts +0 -15
  551. package/dist/planner/render-plan.d.ts.map +0 -1
  552. package/dist/planner/render-plan.js +0 -231
  553. package/dist/planner/render-plan.js.map +0 -1
  554. package/dist/targets/adapter-helpers.d.ts +0 -79
  555. package/dist/targets/adapter-helpers.d.ts.map +0 -1
  556. package/dist/targets/adapter-helpers.js +0 -194
  557. package/dist/targets/adapter-helpers.js.map +0 -1
  558. package/dist/targets/adapter.d.ts +0 -17
  559. package/dist/targets/adapter.d.ts.map +0 -1
  560. package/dist/targets/adapter.js +0 -2
  561. package/dist/targets/adapter.js.map +0 -1
  562. package/dist/targets/github-release.d.ts +0 -25
  563. package/dist/targets/github-release.d.ts.map +0 -1
  564. package/dist/targets/github-release.js +0 -82
  565. package/dist/targets/github-release.js.map +0 -1
  566. package/dist/targets/github.d.ts +0 -11
  567. package/dist/targets/github.d.ts.map +0 -1
  568. package/dist/targets/github.js +0 -117
  569. package/dist/targets/github.js.map +0 -1
  570. package/dist/targets/homebrew.d.ts +0 -11
  571. package/dist/targets/homebrew.d.ts.map +0 -1
  572. package/dist/targets/homebrew.js +0 -210
  573. package/dist/targets/homebrew.js.map +0 -1
  574. package/dist/targets/live.d.ts +0 -5
  575. package/dist/targets/live.d.ts.map +0 -1
  576. package/dist/targets/live.js +0 -50
  577. package/dist/targets/live.js.map +0 -1
  578. package/dist/targets/npm.d.ts +0 -10
  579. package/dist/targets/npm.d.ts.map +0 -1
  580. package/dist/targets/npm.js +0 -112
  581. package/dist/targets/npm.js.map +0 -1
  582. package/dist/targets/pypi.d.ts +0 -11
  583. package/dist/targets/pypi.d.ts.map +0 -1
  584. package/dist/targets/pypi.js +0 -141
  585. package/dist/targets/pypi.js.map +0 -1
  586. package/dist/targets/registry.d.ts +0 -25
  587. package/dist/targets/registry.d.ts.map +0 -1
  588. package/dist/targets/registry.js +0 -34
  589. package/dist/targets/registry.js.map +0 -1
  590. package/dist/targets/scoop.d.ts +0 -11
  591. package/dist/targets/scoop.d.ts.map +0 -1
  592. package/dist/targets/scoop.js +0 -88
  593. package/dist/targets/scoop.js.map +0 -1
  594. package/dist/types/effect-internal.d.ts +0 -5
  595. package/dist/types/effect-internal.d.ts.map +0 -1
  596. package/dist/types/effect-internal.js +0 -2
  597. package/dist/types/effect-internal.js.map +0 -1
  598. package/dist/workflows/config.d.ts +0 -202
  599. package/dist/workflows/config.d.ts.map +0 -1
  600. package/dist/workflows/config.js +0 -420
  601. package/dist/workflows/config.js.map +0 -1
  602. package/dist/workflows/diagnostics.d.ts +0 -62
  603. package/dist/workflows/diagnostics.d.ts.map +0 -1
  604. package/dist/workflows/diagnostics.js +0 -530
  605. package/dist/workflows/diagnostics.js.map +0 -1
  606. package/dist/workflows/distribution.d.ts +0 -25
  607. package/dist/workflows/distribution.d.ts.map +0 -1
  608. package/dist/workflows/distribution.js +0 -24
  609. package/dist/workflows/distribution.js.map +0 -1
  610. package/dist/workflows/evidence.d.ts +0 -17
  611. package/dist/workflows/evidence.d.ts.map +0 -1
  612. package/dist/workflows/evidence.js +0 -32
  613. package/dist/workflows/evidence.js.map +0 -1
  614. package/dist/workflows/index.d.ts +0 -8
  615. package/dist/workflows/index.d.ts.map +0 -1
  616. package/dist/workflows/index.js +0 -7
  617. package/dist/workflows/index.js.map +0 -1
  618. package/dist/workflows/init.d.ts +0 -84
  619. package/dist/workflows/init.d.ts.map +0 -1
  620. package/dist/workflows/init.js +0 -487
  621. package/dist/workflows/init.js.map +0 -1
  622. package/dist/workflows/live.d.ts +0 -9
  623. package/dist/workflows/live.d.ts.map +0 -1
  624. package/dist/workflows/live.js +0 -7
  625. package/dist/workflows/live.js.map +0 -1
  626. package/dist/workflows/options.d.ts +0 -30
  627. package/dist/workflows/options.d.ts.map +0 -1
  628. package/dist/workflows/options.js +0 -16
  629. package/dist/workflows/options.js.map +0 -1
  630. package/examples/non-strict-skips/artifacts/release-example-skips-0.1.0.tgz +0 -1
  631. package/examples/non-strict-skips/release.config.json +0 -31
  632. package/examples/pypi-registry/release.config.json +0 -31
  633. package/templates/github-actions/plan-and-approved-execute.yml +0 -58
  634. package/templates/github-actions/plan-only.yml +0 -33
  635. package/templates/github-actions/trusted-publishing.yml +0 -61
@@ -0,0 +1,185 @@
1
+ import * as Schema from "effect/Schema";
2
+ import { encodeCanonicalJson } from "./canonical.js";
3
+ import { sha256Digest } from "./digest.js";
4
+ import { OperationId, OutputId, SafeRelativePath } from "./primitives.js";
5
+ export const ArtifactCollectionId = Schema.NonEmptyString.check(Schema.makeFilter((value) => /^[A-Za-z0-9._-]+$/u.test(value)
6
+ ? undefined
7
+ : "Artifact collection id must be a portable ASCII identifier.")).pipe(Schema.brand("ArtifactCollectionId"));
8
+ export const CollectionArtifactKind = Schema.Literals([
9
+ "file",
10
+ "executable",
11
+ "archive",
12
+ "digest"
13
+ ]);
14
+ export const ArtifactPathSuffix = Schema.NonEmptyString.check(Schema.makeFilter((value) => /^\.[A-Za-z0-9._-]+$/u.test(value)
15
+ ? undefined
16
+ : "Artifact collection pathSuffix must be a canonical dot suffix without path separators.")).pipe(Schema.brand("ArtifactPathSuffix"));
17
+ export const ArtifactCollectionRoot = SafeRelativePath.check(Schema.makeFilter((value) => value !== "." && value.split("/").every((part) => /^[A-Za-z0-9._-]+$/u.test(part) && part !== "." && part !== "..")
18
+ ? undefined
19
+ : "Artifact collection root must be a canonical NFC POSIX subdirectory.")).pipe(Schema.brand("ArtifactCollectionRoot"));
20
+ const nonNegativeInteger = Schema.Number.check(Schema.makeFilter((value) => Number.isSafeInteger(value) && value >= 0
21
+ ? undefined
22
+ : "Collection cardinality bounds must be nonnegative safe integers."));
23
+ export class OneArtifactCardinality extends Schema.Class("OneArtifactCardinality")({
24
+ kind: Schema.Literal("one")
25
+ }) {
26
+ }
27
+ export class OneOrMoreArtifactCardinality extends Schema.Class("OneOrMoreArtifactCardinality")({
28
+ kind: Schema.Literal("one-or-more")
29
+ }) {
30
+ }
31
+ export class BoundedArtifactCardinality extends Schema.Class("BoundedArtifactCardinality")({
32
+ kind: Schema.Literal("bounded"),
33
+ minimum: nonNegativeInteger,
34
+ maximum: nonNegativeInteger
35
+ }) {
36
+ }
37
+ const ArtifactCardinalityVariants = Schema.Union([
38
+ OneArtifactCardinality,
39
+ OneOrMoreArtifactCardinality,
40
+ BoundedArtifactCardinality
41
+ ]);
42
+ export const ArtifactCardinality = ArtifactCardinalityVariants.pipe(Schema.check(Schema.makeFilter((value) => value.kind !== "bounded" || value.minimum <= value.maximum
43
+ ? undefined
44
+ : "Bounded collection cardinality minimum must not exceed maximum.")));
45
+ /**
46
+ * One command-owned dynamic output set. A collection intentionally permits one
47
+ * artifact kind and one filename suffix: heterogeneous output sets must be
48
+ * split into independently selectable contracts.
49
+ */
50
+ export class ArtifactCollectionContract extends Schema.Class("ArtifactCollectionContract")({
51
+ id: ArtifactCollectionId,
52
+ producer: OperationId,
53
+ root: ArtifactCollectionRoot,
54
+ artifactKind: CollectionArtifactKind,
55
+ pathSuffix: ArtifactPathSuffix,
56
+ mediaType: Schema.NonEmptyString,
57
+ cardinality: ArtifactCardinality
58
+ }) {
59
+ }
60
+ /** A downstream requirement over a stable collection identity. */
61
+ export class ArtifactCollectionSelector extends Schema.Class("ArtifactCollectionSelector")({
62
+ collection: ArtifactCollectionId,
63
+ artifactKind: CollectionArtifactKind,
64
+ pathSuffix: ArtifactPathSuffix,
65
+ mediaType: Schema.NonEmptyString,
66
+ cardinality: ArtifactCardinality
67
+ }) {
68
+ }
69
+ /** Exact runtime member identity persisted beside the prepared artifacts. */
70
+ export class ArtifactCollectionMember extends Schema.Class("ArtifactCollectionMember")({
71
+ key: SafeRelativePath,
72
+ artifactId: OutputId
73
+ }) {
74
+ }
75
+ export const cardinalityRange = (value) => {
76
+ switch (value.kind) {
77
+ case "one": return { minimum: 1, maximum: 1 };
78
+ case "one-or-more": return { minimum: 1 };
79
+ case "bounded": return { minimum: value.minimum, maximum: value.maximum };
80
+ }
81
+ };
82
+ export const cardinalityIssue = (value) => {
83
+ const range = cardinalityRange(value);
84
+ return !Number.isSafeInteger(range.minimum) || range.minimum < 0 ||
85
+ (range.maximum !== undefined && (!Number.isSafeInteger(range.maximum) || range.maximum < range.minimum))
86
+ ? "Collection cardinality must define a valid nonnegative integer range."
87
+ : undefined;
88
+ };
89
+ /** Reject kind/media/suffix combinations whose observable claims conflict. */
90
+ export const collectionContractIssue = (value) => {
91
+ const suffix = value.pathSuffix.toString();
92
+ switch (value.artifactKind) {
93
+ case "archive":
94
+ if (value.mediaType === "application/zip" && suffix === ".zip")
95
+ return undefined;
96
+ if (value.mediaType === "application/gzip" && [".gz", ".tgz", ".tar.gz"].includes(suffix))
97
+ return undefined;
98
+ return "Archive collections support application/zip with .zip or application/gzip with .gz, .tgz, or .tar.gz.";
99
+ case "digest":
100
+ return value.mediaType === "text/plain" && [".sha256", ".sha512"].includes(suffix)
101
+ ? undefined
102
+ : "Digest collections require text/plain with .sha256 or .sha512.";
103
+ case "executable":
104
+ return value.mediaType === "application/octet-stream"
105
+ ? undefined
106
+ : "Executable collections require application/octet-stream; executable mode is observed at capture.";
107
+ case "file":
108
+ return value.mediaType === "application/zip" || value.mediaType === "application/gzip"
109
+ ? "Archive media types require the archive artifact kind."
110
+ : undefined;
111
+ }
112
+ };
113
+ /** Byte-level checks for the formats whose kind is portable and observable. */
114
+ export const collectionMemberBytesIssue = (contract, bytes) => {
115
+ if (contract.artifactKind === "archive") {
116
+ if (contract.mediaType === "application/zip") {
117
+ return bytes.length >= 4 && bytes[0] === 0x50 && bytes[1] === 0x4b &&
118
+ ((bytes[2] === 0x03 && bytes[3] === 0x04) ||
119
+ (bytes[2] === 0x05 && bytes[3] === 0x06) ||
120
+ (bytes[2] === 0x07 && bytes[3] === 0x08))
121
+ ? undefined
122
+ : "declared ZIP member does not have a ZIP file signature";
123
+ }
124
+ if (contract.mediaType === "application/gzip") {
125
+ return bytes.length >= 3 && bytes[0] === 0x1f && bytes[1] === 0x8b && bytes[2] === 0x08
126
+ ? undefined
127
+ : "declared gzip member does not have a gzip file signature";
128
+ }
129
+ }
130
+ if (contract.artifactKind === "digest") {
131
+ let text;
132
+ try {
133
+ text = new TextDecoder("utf-8", { fatal: true }).decode(bytes);
134
+ }
135
+ catch {
136
+ return "declared digest member is not UTF-8 text";
137
+ }
138
+ const digits = contract.pathSuffix === ".sha256" ? 64 : 128;
139
+ const rows = text.endsWith("\n") ? text.slice(0, -1).split("\n") : text.split("\n");
140
+ return rows.length > 0 && rows.every((row) => new RegExp(`^[a-f0-9]{${digits}} [^\\s/](?:.*[^\\s/])?$`, "u").test(row))
141
+ ? undefined
142
+ : `declared digest member does not contain canonical ${digits}-hex checksum rows`;
143
+ }
144
+ return undefined;
145
+ };
146
+ export const cardinalityAccepts = (value, count) => {
147
+ const range = cardinalityRange(value);
148
+ return Number.isSafeInteger(count) && count >= range.minimum &&
149
+ (range.maximum === undefined || count <= range.maximum);
150
+ };
151
+ export const cardinalitiesOverlap = (left, right) => {
152
+ const a = cardinalityRange(left);
153
+ const b = cardinalityRange(right);
154
+ const maximum = a.maximum === undefined
155
+ ? b.maximum
156
+ : b.maximum === undefined
157
+ ? a.maximum
158
+ : Math.min(a.maximum, b.maximum);
159
+ return maximum === undefined || Math.max(a.minimum, b.minimum) <= maximum;
160
+ };
161
+ /** Paths discovered from directory entries must already be portable canon. */
162
+ export const normalizeCollectionMemberKey = (value) => {
163
+ if (value.split("/").some((part) => !/^[A-Za-z0-9._-]+$/u.test(part) || part === "." || part === "..")) {
164
+ throw new Error(`Collection member path ${JSON.stringify(value)} is not portable ASCII POSIX form.`);
165
+ }
166
+ return SafeRelativePath.make(value);
167
+ };
168
+ /**
169
+ * Stable output identity is a digest of the declared producer/contract and the
170
+ * normalized member key. No guessed runtime filename becomes graph authority.
171
+ */
172
+ export const collectionMemberId = (contract, key) => OutputId.make(`collection-sha256-${sha256Digest(new TextEncoder().encode(encodeCanonicalJson({
173
+ producer: contract.producer.toString(),
174
+ collection: contract.id.toString(),
175
+ root: contract.root.toString(),
176
+ artifactKind: contract.artifactKind,
177
+ pathSuffix: contract.pathSuffix.toString(),
178
+ mediaType: contract.mediaType,
179
+ cardinality: contract.cardinality.kind === "bounded"
180
+ ? { kind: contract.cardinality.kind, minimum: contract.cardinality.minimum, maximum: contract.cardinality.maximum }
181
+ : { kind: contract.cardinality.kind },
182
+ key: key.toString()
183
+ }))).hex}`);
184
+ export const collectionMemberPath = (contract, key) => SafeRelativePath.make(`${contract.root}/${key}`);
185
+ //# sourceMappingURL=artifact-collection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifact-collection.js","sourceRoot":"","sources":["../../src/model/artifact-collection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ import * as Schema from "effect/Schema";
2
+ /** Stable identity of one remotely observable publication/correction subject. */
3
+ export declare const SubjectId: Schema.brand<Schema.NonEmptyString, "SubjectId">;
4
+ export type SubjectId = typeof SubjectId.Type;
5
+ export declare const ProviderId: Schema.brand<Schema.NonEmptyString, "ProviderId">;
6
+ export type ProviderId = typeof ProviderId.Type;
7
+ /** Canonical provider audience, including any authority-relevant base path. */
8
+ export declare const CanonicalAudience: Schema.brand<Schema.NonEmptyString, "CanonicalAudience">;
9
+ export type CanonicalAudience = typeof CanonicalAudience.Type;
10
+ /** A host-owned secret reference. It is a name/handle, never secret material. */
11
+ export declare const CredentialRef: Schema.brand<Schema.NonEmptyString, "CredentialRef">;
12
+ export type CredentialRef = typeof CredentialRef.Type;
13
+ export declare const EnvironmentName: Schema.brand<Schema.String, "EnvironmentName">;
14
+ export type EnvironmentName = typeof EnvironmentName.Type;
15
+ export declare const CredentialPurpose: Schema.Literals<readonly ["observe", "publish", "correct"]>;
16
+ export type CredentialPurpose = typeof CredentialPurpose.Type;
17
+ /** Exact verified source revision projected into npm's GitHub provenance statement. */
18
+ export declare const TrustedPublishingSourceCommit: Schema.brand<Schema.String, "TrustedPublishingSourceCommit">;
19
+ export type TrustedPublishingSourceCommit = typeof TrustedPublishingSourceCommit.Type;
20
+ declare const AnonymousAuthStrategy_base: Schema.Class<AnonymousAuthStrategy, Schema.Struct<{
21
+ readonly kind: Schema.Literal<"anonymous">;
22
+ }>, {}>;
23
+ export declare class AnonymousAuthStrategy extends AnonymousAuthStrategy_base {
24
+ }
25
+ declare const TokenAuthStrategy_base: Schema.Class<TokenAuthStrategy, Schema.Struct<{
26
+ readonly kind: Schema.Literal<"token">;
27
+ readonly credential: Schema.brand<Schema.NonEmptyString, "CredentialRef">;
28
+ }>, {}>;
29
+ export declare class TokenAuthStrategy extends TokenAuthStrategy_base {
30
+ }
31
+ declare const TrustedPublishingAuthStrategy_base: Schema.Class<TrustedPublishingAuthStrategy, Schema.Struct<{
32
+ readonly kind: Schema.Literal<"trusted-publishing">;
33
+ readonly identityProvider: Schema.Literal<"github-actions">;
34
+ readonly runnerClass: Schema.Literal<"github-hosted">;
35
+ readonly repository: Schema.NonEmptyString;
36
+ readonly workflow: Schema.NonEmptyString;
37
+ readonly workflowRef: Schema.NonEmptyString;
38
+ readonly sourceCommit: Schema.brand<Schema.String, "TrustedPublishingSourceCommit">;
39
+ readonly provenanceEnvironmentContract: Schema.Literal<"github-actions-npm-provenance-v1">;
40
+ readonly allowedAction: Schema.Literal<"npm-publish-direct">;
41
+ readonly publisherSink: Schema.Literal<"certified-npm-cli">;
42
+ }>, {}>;
43
+ export declare class TrustedPublishingAuthStrategy extends TrustedPublishingAuthStrategy_base {
44
+ }
45
+ declare const ExternalTrustedPublishingAuthStrategy_base: Schema.Class<ExternalTrustedPublishingAuthStrategy, Schema.Struct<{
46
+ readonly kind: Schema.Literal<"trusted-publishing">;
47
+ readonly identityProvider: Schema.Literal<"github-actions">;
48
+ readonly runnerClass: Schema.Literal<"github-hosted">;
49
+ readonly repository: Schema.NonEmptyString;
50
+ readonly workflow: Schema.NonEmptyString;
51
+ readonly workflowRef: Schema.NonEmptyString;
52
+ readonly sourceCommit: Schema.brand<Schema.String, "TrustedPublishingSourceCommit">;
53
+ readonly provenanceEnvironmentContract: Schema.Literal<"external-pypa-action-v1">;
54
+ readonly allowedAction: Schema.Literal<"external-pypa-action">;
55
+ readonly publisherSink: Schema.Literal<"external-host-owned">;
56
+ readonly environment: Schema.NonEmptyString;
57
+ readonly projects: Schema.NonEmptyArray<Schema.NonEmptyString>;
58
+ }>, {}>;
59
+ /**
60
+ * A supported external workflow owner. The stock coordinator persists and
61
+ * reports this identity but deliberately cannot mint or consume its token.
62
+ */
63
+ export declare class ExternalTrustedPublishingAuthStrategy extends ExternalTrustedPublishingAuthStrategy_base {
64
+ }
65
+ export declare const ResolvedTrustedPublishingAuthStrategy: Schema.Union<readonly [typeof TrustedPublishingAuthStrategy, typeof ExternalTrustedPublishingAuthStrategy]>;
66
+ export type ResolvedTrustedPublishingAuthStrategy = typeof ResolvedTrustedPublishingAuthStrategy.Type;
67
+ export declare const ResolvedAuthStrategy: Schema.Union<readonly [typeof AnonymousAuthStrategy, typeof TokenAuthStrategy, Schema.Union<readonly [typeof TrustedPublishingAuthStrategy, typeof ExternalTrustedPublishingAuthStrategy]>]>;
68
+ export type ResolvedAuthStrategy = typeof ResolvedAuthStrategy.Type;
69
+ declare const CredentialRequest_base: Schema.Class<CredentialRequest, Schema.Struct<{
70
+ readonly subject: Schema.brand<Schema.NonEmptyString, "SubjectId">;
71
+ readonly provider: Schema.brand<Schema.NonEmptyString, "ProviderId">;
72
+ readonly audience: Schema.brand<Schema.NonEmptyString, "CanonicalAudience">;
73
+ readonly purpose: Schema.Literals<readonly ["observe", "publish", "correct"]>;
74
+ readonly strategy: Schema.Union<readonly [typeof AnonymousAuthStrategy, typeof TokenAuthStrategy, Schema.Union<readonly [typeof TrustedPublishingAuthStrategy, typeof ExternalTrustedPublishingAuthStrategy]>]>;
75
+ }>, {}>;
76
+ /**
77
+ * Exact authority requested for a verified prepared subject. This value is
78
+ * safe to report and persist: it contains only host references and intent.
79
+ */
80
+ export declare class CredentialRequest extends CredentialRequest_base {
81
+ }
82
+ export type ObservationCredentialRequest = CredentialRequest & {
83
+ readonly purpose: "observe";
84
+ };
85
+ export type MutationCredentialRequest = CredentialRequest & {
86
+ readonly purpose: "publish" | "correct";
87
+ };
88
+ export {};
89
+ //# sourceMappingURL=authority.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authority.d.ts","sourceRoot":"","sources":["../../src/model/authority.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAKvC,iFAAiF;AACjF,eAAO,MAAM,SAAS,kDAA0B,CAAA;AAChD,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAA;AAE7C,eAAO,MAAM,UAAU,mDAA2B,CAAA;AAClD,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;AAE/C,+EAA+E;AAC/E,eAAO,MAAM,iBAAiB,0DAAkC,CAAA;AAChE,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAE7D,iFAAiF;AACjF,eAAO,MAAM,aAAa,sDAA8B,CAAA;AACxD,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAA;AAErD,eAAO,MAAM,eAAe,gDAIW,CAAA;AACvC,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAEzD,eAAO,MAAM,iBAAiB,6DAAqD,CAAA;AACnF,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAE7D,uFAAuF;AACvF,eAAO,MAAM,6BAA6B,8DAIW,CAAA;AACrD,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAC,IAAI,CAAA;;;;AAErF,qBAAa,qBACX,SAAQ,0BAEN;CAAG;;;;;AAEP,qBAAa,iBACX,SAAQ,sBAGN;CAAG;;;;;;;;;;;;;AAEP,qBAAa,6BACX,SAAQ,kCAWN;CAAG;;;;;;;;;;;;;;;AAEP;;;GAGG;AACH,qBAAa,qCACX,SAAQ,0CAaN;CAAG;AAEP,eAAO,MAAM,qCAAqC,6GAGhD,CAAA;AACF,MAAM,MAAM,qCAAqC,GAAG,OAAO,qCAAqC,CAAC,IAAI,CAAA;AAErG,eAAO,MAAM,oBAAoB,8LAI/B,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,OAAO,oBAAoB,CAAC,IAAI,CAAA;;;;;;;;AAEnE;;;GAGG;AACH,qBAAa,iBACX,SAAQ,sBAMN;CAAG;AAEP,MAAM,MAAM,4BAA4B,GAAG,iBAAiB,GAAG;IAC7D,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG,iBAAiB,GAAG;IAC1D,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,CAAA;CACxC,CAAA"}
@@ -0,0 +1,80 @@
1
+ import * as Schema from "effect/Schema";
2
+ const identifier = (name) => Schema.NonEmptyString.pipe(Schema.brand(name));
3
+ /** Stable identity of one remotely observable publication/correction subject. */
4
+ export const SubjectId = identifier("SubjectId");
5
+ export const ProviderId = identifier("ProviderId");
6
+ /** Canonical provider audience, including any authority-relevant base path. */
7
+ export const CanonicalAudience = identifier("CanonicalAudience");
8
+ /** A host-owned secret reference. It is a name/handle, never secret material. */
9
+ export const CredentialRef = identifier("CredentialRef");
10
+ export const EnvironmentName = Schema.String.check(Schema.makeFilter((value) => /^[A-Za-z_][A-Za-z0-9_]*$/u.test(value)
11
+ ? undefined
12
+ : "EnvironmentName must be a portable environment variable name.")).pipe(Schema.brand("EnvironmentName"));
13
+ export const CredentialPurpose = Schema.Literals(["observe", "publish", "correct"]);
14
+ /** Exact verified source revision projected into npm's GitHub provenance statement. */
15
+ export const TrustedPublishingSourceCommit = Schema.String.check(Schema.makeFilter((value) => /^[a-f0-9]{40}(?:[a-f0-9]{24})?$/u.test(value)
16
+ ? undefined
17
+ : "TrustedPublishingSourceCommit must be a lowercase full Git SHA (40 or 64 hex characters).")).pipe(Schema.brand("TrustedPublishingSourceCommit"));
18
+ export class AnonymousAuthStrategy extends Schema.Class("AnonymousAuthStrategy")({
19
+ kind: Schema.Literal("anonymous")
20
+ }) {
21
+ }
22
+ export class TokenAuthStrategy extends Schema.Class("TokenAuthStrategy")({
23
+ kind: Schema.Literal("token"),
24
+ credential: CredentialRef
25
+ }) {
26
+ }
27
+ export class TrustedPublishingAuthStrategy extends Schema.Class("TrustedPublishingAuthStrategy")({
28
+ kind: Schema.Literal("trusted-publishing"),
29
+ identityProvider: Schema.Literal("github-actions"),
30
+ runnerClass: Schema.Literal("github-hosted"),
31
+ repository: Schema.NonEmptyString,
32
+ workflow: Schema.NonEmptyString,
33
+ workflowRef: Schema.NonEmptyString,
34
+ sourceCommit: TrustedPublishingSourceCommit,
35
+ provenanceEnvironmentContract: Schema.Literal("github-actions-npm-provenance-v1"),
36
+ allowedAction: Schema.Literal("npm-publish-direct"),
37
+ publisherSink: Schema.Literal("certified-npm-cli")
38
+ }) {
39
+ }
40
+ /**
41
+ * A supported external workflow owner. The stock coordinator persists and
42
+ * reports this identity but deliberately cannot mint or consume its token.
43
+ */
44
+ export class ExternalTrustedPublishingAuthStrategy extends Schema.Class("ExternalTrustedPublishingAuthStrategy")({
45
+ kind: Schema.Literal("trusted-publishing"),
46
+ identityProvider: Schema.Literal("github-actions"),
47
+ runnerClass: Schema.Literal("github-hosted"),
48
+ repository: Schema.NonEmptyString,
49
+ workflow: Schema.NonEmptyString,
50
+ workflowRef: Schema.NonEmptyString,
51
+ sourceCommit: TrustedPublishingSourceCommit,
52
+ provenanceEnvironmentContract: Schema.Literal("external-pypa-action-v1"),
53
+ allowedAction: Schema.Literal("external-pypa-action"),
54
+ publisherSink: Schema.Literal("external-host-owned"),
55
+ environment: Schema.NonEmptyString,
56
+ projects: Schema.NonEmptyArray(Schema.NonEmptyString)
57
+ }) {
58
+ }
59
+ export const ResolvedTrustedPublishingAuthStrategy = Schema.Union([
60
+ TrustedPublishingAuthStrategy,
61
+ ExternalTrustedPublishingAuthStrategy
62
+ ]);
63
+ export const ResolvedAuthStrategy = Schema.Union([
64
+ AnonymousAuthStrategy,
65
+ TokenAuthStrategy,
66
+ ResolvedTrustedPublishingAuthStrategy
67
+ ]);
68
+ /**
69
+ * Exact authority requested for a verified prepared subject. This value is
70
+ * safe to report and persist: it contains only host references and intent.
71
+ */
72
+ export class CredentialRequest extends Schema.Class("CredentialRequest")({
73
+ subject: SubjectId,
74
+ provider: ProviderId,
75
+ audience: CanonicalAudience,
76
+ purpose: CredentialPurpose,
77
+ strategy: ResolvedAuthStrategy
78
+ }) {
79
+ }
80
+ //# sourceMappingURL=authority.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authority.js","sourceRoot":"","sources":["../../src/model/authority.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * The one advertised Bun artifact-target vocabulary. Config decoding, graph
3
+ * compilation, capability documentation, and cross-compile certification all
4
+ * project from these values.
5
+ */
6
+ export declare const bunArtifactTargets: readonly [{
7
+ readonly id: "linux-x64";
8
+ readonly bunTarget: "bun-linux-x64";
9
+ readonly format: "elf";
10
+ readonly architecture: "x86_64";
11
+ }, {
12
+ readonly id: "linux-arm64";
13
+ readonly bunTarget: "bun-linux-arm64";
14
+ readonly format: "elf";
15
+ readonly architecture: "aarch64";
16
+ }, {
17
+ readonly id: "darwin-x64";
18
+ readonly bunTarget: "bun-darwin-x64";
19
+ readonly format: "mach-o";
20
+ readonly architecture: "x86_64";
21
+ }, {
22
+ readonly id: "darwin-arm64";
23
+ readonly bunTarget: "bun-darwin-arm64";
24
+ readonly format: "mach-o";
25
+ readonly architecture: "aarch64";
26
+ }];
27
+ export type BunArtifactTarget = typeof bunArtifactTargets[number];
28
+ export type BunArtifactTargetId = BunArtifactTarget["id"];
29
+ export type BunBinaryFormat = BunArtifactTarget["format"];
30
+ export type BunBinaryArchitecture = BunArtifactTarget["architecture"];
31
+ export declare const bunArtifactTargetIds: readonly ["linux-x64", "linux-arm64", "darwin-x64", "darwin-arm64"];
32
+ /** Total after strict config decoding against `bunArtifactTargetIds`. */
33
+ export declare const bunArtifactTarget: (id: BunArtifactTargetId) => BunArtifactTarget;
34
+ //# sourceMappingURL=bun-targets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bun-targets.d.ts","sourceRoot":"","sources":["../../src/model/bun-targets.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;EAKpB,CAAA;AAMX,MAAM,MAAM,iBAAiB,GAAG,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAA;AACjE,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAA;AACzD,MAAM,MAAM,eAAe,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAA;AACzD,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAA;AAOrE,eAAO,MAAM,oBAAoB,qEAA4B,CAAA;AAM7D,yEAAyE;AACzE,eAAO,MAAM,iBAAiB,GAAI,IAAI,mBAAmB,KAAG,iBAAkC,CAAA"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * The one advertised Bun artifact-target vocabulary. Config decoding, graph
3
+ * compilation, capability documentation, and cross-compile certification all
4
+ * project from these values.
5
+ */
6
+ export const bunArtifactTargets = Object.freeze([
7
+ { id: "linux-x64", bunTarget: "bun-linux-x64", format: "elf", architecture: "x86_64" },
8
+ { id: "linux-arm64", bunTarget: "bun-linux-arm64", format: "elf", architecture: "aarch64" },
9
+ { id: "darwin-x64", bunTarget: "bun-darwin-x64", format: "mach-o", architecture: "x86_64" },
10
+ { id: "darwin-arm64", bunTarget: "bun-darwin-arm64", format: "mach-o", architecture: "aarch64" }
11
+ ]);
12
+ const idsOf = (entries) => Object.freeze(entries.map(({ id }) => id));
13
+ export const bunArtifactTargetIds = idsOf(bunArtifactTargets);
14
+ const byId = new Map(bunArtifactTargets.map((target) => [target.id, target]));
15
+ /** Total after strict config decoding against `bunArtifactTargetIds`. */
16
+ export const bunArtifactTarget = (id) => byId.get(id);
17
+ //# sourceMappingURL=bun-targets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bun-targets.js","sourceRoot":"","sources":["../../src/model/bun-targets.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9C,EAAE,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE;IACtF,EAAE,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE;IAC3F,EAAE,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE;IAC3F,EAAE,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE;CACxF,CAAC,CAAA;AAWX,MAAM,KAAK,GAAG,CACZ,OAAgB,EACsF,EAAE,CACxG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAU,CAAA;AAErD,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAA;AAE7D,MAAM,IAAI,GAAG,IAAI,GAAG,CAClB,kBAAkB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CACxD,CAAA;AAED,yEAAyE;AACzE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAAuB,EAAqB,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAE,CAAA"}
@@ -0,0 +1,8 @@
1
+ export type Json = boolean | null | number | string | ReadonlyArray<Json> | {
2
+ readonly [key: string]: Json;
3
+ };
4
+ export declare const parseStrictJson: (text: string) => Json;
5
+ export declare const encodeCanonicalJson: (value: unknown) => string;
6
+ export declare const hashFramed: (domain: string, parts: ReadonlyArray<Uint8Array>) => string;
7
+ export declare const hashCanonical: (domain: string, value: unknown) => string;
8
+ //# sourceMappingURL=canonical.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canonical.d.ts","sourceRoot":"","sources":["../../src/model/canonical.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,IAAI,GACZ,OAAO,GACP,IAAI,GACJ,MAAM,GACN,MAAM,GACN,aAAa,CAAC,IAAI,CAAC,GACnB;IAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAA;AAwLpC,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,KAAG,IAA0C,CAAA;AACzF,eAAO,MAAM,mBAAmB,GAAI,OAAO,OAAO,KAAG,MACjB,CAAA;AACpC,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,EAAE,OAAO,aAAa,CAAC,UAAU,CAAC,KAAG,MAO7E,CAAA;AACD,eAAO,MAAM,aAAa,GAAI,QAAQ,MAAM,EAAE,OAAO,OAAO,KAAG,MACa,CAAA"}