@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,663 @@
1
+ import * as Schema from "effect/Schema";
2
+ /** Independent recovery axes. None of these values implies another axis. */
3
+ export declare const ObservationStrength: Schema.Literals<readonly ["exact", "conditional", "none"]>;
4
+ export type ObservationStrength = typeof ObservationStrength.Type;
5
+ export declare const AuthoritativeAbsenceCapability: Schema.Literals<readonly ["proved", "provider-specific", "unavailable"]>;
6
+ export type AuthoritativeAbsenceCapability = typeof AuthoritativeAbsenceCapability.Type;
7
+ export declare const CreateAuthorizationCapability: Schema.Literals<readonly ["none", "authenticated-namespace-and-unique-coordinate"]>;
8
+ export type CreateAuthorizationCapability = typeof CreateAuthorizationCapability.Type;
9
+ export declare const ReplayCapability: Schema.Literals<readonly ["coordinate-unique", "idempotency-key", "conditional", "unsafe"]>;
10
+ export type ReplayCapability = typeof ReplayCapability.Type;
11
+ export declare const IdentifierReuseCapability: Schema.Literals<readonly ["reusable", "consumed-after-delete", "not-applicable"]>;
12
+ export type IdentifierReuseCapability = typeof IdentifierReuseCapability.Type;
13
+ export declare const CorrectionKind: Schema.Literals<readonly ["deprecate", "amend-release-metadata", "yank-file", "forward-catalog-state"]>;
14
+ export type CorrectionKind = typeof CorrectionKind.Type;
15
+ export declare const ExposureCapability: Schema.Literals<readonly ["retractable", "persistent-to-consumers", "append-only"]>;
16
+ export type ExposureCapability = typeof ExposureCapability.Type;
17
+ export declare const HistoryStoreRequirement: Schema.Literals<readonly ["optional-evidence", "durable-cas-required"]>;
18
+ export type HistoryStoreRequirement = typeof HistoryStoreRequirement.Type;
19
+ declare const DocumentedReadConvergenceContract_base: Schema.Class<DocumentedReadConvergenceContract, Schema.TaggedStruct<"documented", {
20
+ readonly url: Schema.String;
21
+ readonly date: Schema.String;
22
+ }>, {}>;
23
+ export declare class DocumentedReadConvergenceContract extends DocumentedReadConvergenceContract_base {
24
+ }
25
+ declare const AssumedReadConvergenceContract_base: Schema.Class<AssumedReadConvergenceContract, Schema.TaggedStruct<"assumed", {
26
+ readonly basis: Schema.brand<Schema.String, "SafeReason">;
27
+ }>, {}>;
28
+ export declare class AssumedReadConvergenceContract extends AssumedReadConvergenceContract_base {
29
+ }
30
+ declare const UnknownReadConvergenceContract_base: Schema.Class<UnknownReadConvergenceContract, Schema.TaggedStruct<"unknown", {}>, {}>;
31
+ export declare class UnknownReadConvergenceContract extends UnknownReadConvergenceContract_base {
32
+ }
33
+ export declare const ReadConvergenceContract: Schema.Union<readonly [typeof DocumentedReadConvergenceContract, typeof AssumedReadConvergenceContract, typeof UnknownReadConvergenceContract]>;
34
+ export type ReadConvergenceContract = typeof ReadConvergenceContract.Type;
35
+ declare const ObservationRetryBackoff_base: Schema.Class<ObservationRetryBackoff, Schema.Struct<{
36
+ readonly baseMs: Schema.Number;
37
+ readonly factor: Schema.Number;
38
+ readonly capMs: Schema.Number;
39
+ }>, {}>;
40
+ export declare class ObservationRetryBackoff extends ObservationRetryBackoff_base {
41
+ }
42
+ declare const ObservationRetryRecord_base: Schema.Class<ObservationRetryRecord, Schema.Struct<{
43
+ readonly maxAttempts: Schema.Number;
44
+ readonly backoff: typeof ObservationRetryBackoff;
45
+ readonly totalBudgetMs: Schema.Number;
46
+ }>, {}>;
47
+ declare class ObservationRetryRecord extends ObservationRetryRecord_base {
48
+ }
49
+ export declare const ObservationRetry: Schema.decodeTo<Schema.declareConstructor<ObservationRetryRecord, {
50
+ readonly maxAttempts: number;
51
+ readonly backoff: {
52
+ readonly baseMs: number;
53
+ readonly factor: number;
54
+ readonly capMs: number;
55
+ };
56
+ readonly totalBudgetMs: number;
57
+ }, readonly [Schema.Struct<{
58
+ readonly maxAttempts: Schema.Number;
59
+ readonly backoff: typeof ObservationRetryBackoff;
60
+ readonly totalBudgetMs: Schema.Number;
61
+ }>], {
62
+ readonly maxAttempts: number;
63
+ readonly backoff: {
64
+ readonly baseMs: number;
65
+ readonly factor: number;
66
+ readonly capMs: number;
67
+ };
68
+ readonly totalBudgetMs: number;
69
+ }>, Schema.Struct<{
70
+ readonly maxAttempts: Schema.Number;
71
+ readonly backoff: typeof ObservationRetryBackoff;
72
+ readonly totalBudgetMs: Schema.Number;
73
+ }>, never, never>;
74
+ export type ObservationRetry = typeof ObservationRetry.Type;
75
+ export declare const RetryEligible: Schema.Literal<"VisibilityPending | Inconclusive">;
76
+ export type RetryEligible = typeof RetryEligible.Type;
77
+ export declare const RetryExhaustion: Schema.Literal<"UncertainSubject with full trace">;
78
+ export type RetryExhaustion = typeof RetryExhaustion.Type;
79
+ declare const ReadConvergenceProfileRecord_base: Schema.Class<ReadConvergenceProfileRecord, Schema.Struct<{
80
+ readonly contract: Schema.Union<readonly [typeof DocumentedReadConvergenceContract, typeof AssumedReadConvergenceContract, typeof UnknownReadConvergenceContract]>;
81
+ readonly observationRetry: Schema.decodeTo<Schema.declareConstructor<ObservationRetryRecord, {
82
+ readonly maxAttempts: number;
83
+ readonly backoff: {
84
+ readonly baseMs: number;
85
+ readonly factor: number;
86
+ readonly capMs: number;
87
+ };
88
+ readonly totalBudgetMs: number;
89
+ }, readonly [Schema.Struct<{
90
+ readonly maxAttempts: Schema.Number;
91
+ readonly backoff: typeof ObservationRetryBackoff;
92
+ readonly totalBudgetMs: Schema.Number;
93
+ }>], {
94
+ readonly maxAttempts: number;
95
+ readonly backoff: {
96
+ readonly baseMs: number;
97
+ readonly factor: number;
98
+ readonly capMs: number;
99
+ };
100
+ readonly totalBudgetMs: number;
101
+ }>, Schema.Struct<{
102
+ readonly maxAttempts: Schema.Number;
103
+ readonly backoff: typeof ObservationRetryBackoff;
104
+ readonly totalBudgetMs: Schema.Number;
105
+ }>, never, never>;
106
+ readonly retryEligible: Schema.Literal<"VisibilityPending | Inconclusive">;
107
+ readonly exhaustion: Schema.Literal<"UncertainSubject with full trace">;
108
+ }>, {}>;
109
+ declare class ReadConvergenceProfileRecord extends ReadConvergenceProfileRecord_base {
110
+ }
111
+ export declare const ReadConvergenceProfile: Schema.decodeTo<Schema.declareConstructor<ReadConvergenceProfileRecord, {
112
+ readonly contract: {
113
+ readonly _tag: "documented";
114
+ readonly url: string;
115
+ readonly date: string;
116
+ } | {
117
+ readonly _tag: "assumed";
118
+ readonly basis: string;
119
+ } | {
120
+ readonly _tag: "unknown";
121
+ };
122
+ readonly observationRetry: {
123
+ readonly maxAttempts: number;
124
+ readonly backoff: {
125
+ readonly baseMs: number;
126
+ readonly factor: number;
127
+ readonly capMs: number;
128
+ };
129
+ readonly totalBudgetMs: number;
130
+ };
131
+ readonly retryEligible: "VisibilityPending | Inconclusive";
132
+ readonly exhaustion: "UncertainSubject with full trace";
133
+ }, readonly [Schema.Struct<{
134
+ readonly contract: Schema.Union<readonly [typeof DocumentedReadConvergenceContract, typeof AssumedReadConvergenceContract, typeof UnknownReadConvergenceContract]>;
135
+ readonly observationRetry: Schema.decodeTo<Schema.declareConstructor<ObservationRetryRecord, {
136
+ readonly maxAttempts: number;
137
+ readonly backoff: {
138
+ readonly baseMs: number;
139
+ readonly factor: number;
140
+ readonly capMs: number;
141
+ };
142
+ readonly totalBudgetMs: number;
143
+ }, readonly [Schema.Struct<{
144
+ readonly maxAttempts: Schema.Number;
145
+ readonly backoff: typeof ObservationRetryBackoff;
146
+ readonly totalBudgetMs: Schema.Number;
147
+ }>], {
148
+ readonly maxAttempts: number;
149
+ readonly backoff: {
150
+ readonly baseMs: number;
151
+ readonly factor: number;
152
+ readonly capMs: number;
153
+ };
154
+ readonly totalBudgetMs: number;
155
+ }>, Schema.Struct<{
156
+ readonly maxAttempts: Schema.Number;
157
+ readonly backoff: typeof ObservationRetryBackoff;
158
+ readonly totalBudgetMs: Schema.Number;
159
+ }>, never, never>;
160
+ readonly retryEligible: Schema.Literal<"VisibilityPending | Inconclusive">;
161
+ readonly exhaustion: Schema.Literal<"UncertainSubject with full trace">;
162
+ }>], {
163
+ readonly contract: {
164
+ readonly _tag: "documented";
165
+ readonly url: string;
166
+ readonly date: string;
167
+ } | {
168
+ readonly _tag: "assumed";
169
+ readonly basis: string & import("effect/Brand").Brand<"SafeReason">;
170
+ } | {
171
+ readonly _tag: "unknown";
172
+ };
173
+ readonly observationRetry: {
174
+ readonly maxAttempts: number;
175
+ readonly backoff: {
176
+ readonly baseMs: number;
177
+ readonly factor: number;
178
+ readonly capMs: number;
179
+ };
180
+ readonly totalBudgetMs: number;
181
+ };
182
+ readonly retryEligible: "VisibilityPending | Inconclusive";
183
+ readonly exhaustion: "UncertainSubject with full trace";
184
+ }>, Schema.Struct<{
185
+ readonly contract: Schema.Union<readonly [typeof DocumentedReadConvergenceContract, typeof AssumedReadConvergenceContract, typeof UnknownReadConvergenceContract]>;
186
+ readonly observationRetry: Schema.decodeTo<Schema.declareConstructor<ObservationRetryRecord, {
187
+ readonly maxAttempts: number;
188
+ readonly backoff: {
189
+ readonly baseMs: number;
190
+ readonly factor: number;
191
+ readonly capMs: number;
192
+ };
193
+ readonly totalBudgetMs: number;
194
+ }, readonly [Schema.Struct<{
195
+ readonly maxAttempts: Schema.Number;
196
+ readonly backoff: typeof ObservationRetryBackoff;
197
+ readonly totalBudgetMs: Schema.Number;
198
+ }>], {
199
+ readonly maxAttempts: number;
200
+ readonly backoff: {
201
+ readonly baseMs: number;
202
+ readonly factor: number;
203
+ readonly capMs: number;
204
+ };
205
+ readonly totalBudgetMs: number;
206
+ }>, Schema.Struct<{
207
+ readonly maxAttempts: Schema.Number;
208
+ readonly backoff: typeof ObservationRetryBackoff;
209
+ readonly totalBudgetMs: Schema.Number;
210
+ }>, never, never>;
211
+ readonly retryEligible: Schema.Literal<"VisibilityPending | Inconclusive">;
212
+ readonly exhaustion: Schema.Literal<"UncertainSubject with full trace">;
213
+ }>, never, never>;
214
+ export type ReadConvergenceProfile = typeof ReadConvergenceProfile.Type;
215
+ declare const RecoveryCapabilityProfileRecord_base: Schema.Class<RecoveryCapabilityProfileRecord, Schema.Struct<{
216
+ readonly observation: Schema.Literals<readonly ["exact", "conditional", "none"]>;
217
+ readonly authoritativeAbsence: Schema.Literals<readonly ["proved", "provider-specific", "unavailable"]>;
218
+ readonly createAuthorization: Schema.Literals<readonly ["none", "authenticated-namespace-and-unique-coordinate"]>;
219
+ readonly replay: Schema.Literals<readonly ["coordinate-unique", "idempotency-key", "conditional", "unsafe"]>;
220
+ readonly identifierReuse: Schema.Literals<readonly ["reusable", "consumed-after-delete", "not-applicable"]>;
221
+ readonly correction: Schema.$Array<Schema.Literals<readonly ["deprecate", "amend-release-metadata", "yank-file", "forward-catalog-state"]>>;
222
+ readonly exposure: Schema.Literals<readonly ["retractable", "persistent-to-consumers", "append-only"]>;
223
+ readonly historyRequirement: Schema.Literals<readonly ["optional-evidence", "durable-cas-required"]>;
224
+ readonly readConvergence: Schema.decodeTo<Schema.declareConstructor<ReadConvergenceProfileRecord, {
225
+ readonly contract: {
226
+ readonly _tag: "documented";
227
+ readonly url: string;
228
+ readonly date: string;
229
+ } | {
230
+ readonly _tag: "assumed";
231
+ readonly basis: string;
232
+ } | {
233
+ readonly _tag: "unknown";
234
+ };
235
+ readonly observationRetry: {
236
+ readonly maxAttempts: number;
237
+ readonly backoff: {
238
+ readonly baseMs: number;
239
+ readonly factor: number;
240
+ readonly capMs: number;
241
+ };
242
+ readonly totalBudgetMs: number;
243
+ };
244
+ readonly retryEligible: "VisibilityPending | Inconclusive";
245
+ readonly exhaustion: "UncertainSubject with full trace";
246
+ }, readonly [Schema.Struct<{
247
+ readonly contract: Schema.Union<readonly [typeof DocumentedReadConvergenceContract, typeof AssumedReadConvergenceContract, typeof UnknownReadConvergenceContract]>;
248
+ readonly observationRetry: Schema.decodeTo<Schema.declareConstructor<ObservationRetryRecord, {
249
+ readonly maxAttempts: number;
250
+ readonly backoff: {
251
+ readonly baseMs: number;
252
+ readonly factor: number;
253
+ readonly capMs: number;
254
+ };
255
+ readonly totalBudgetMs: number;
256
+ }, readonly [Schema.Struct<{
257
+ readonly maxAttempts: Schema.Number;
258
+ readonly backoff: typeof ObservationRetryBackoff;
259
+ readonly totalBudgetMs: Schema.Number;
260
+ }>], {
261
+ readonly maxAttempts: number;
262
+ readonly backoff: {
263
+ readonly baseMs: number;
264
+ readonly factor: number;
265
+ readonly capMs: number;
266
+ };
267
+ readonly totalBudgetMs: number;
268
+ }>, Schema.Struct<{
269
+ readonly maxAttempts: Schema.Number;
270
+ readonly backoff: typeof ObservationRetryBackoff;
271
+ readonly totalBudgetMs: Schema.Number;
272
+ }>, never, never>;
273
+ readonly retryEligible: Schema.Literal<"VisibilityPending | Inconclusive">;
274
+ readonly exhaustion: Schema.Literal<"UncertainSubject with full trace">;
275
+ }>], {
276
+ readonly contract: {
277
+ readonly _tag: "documented";
278
+ readonly url: string;
279
+ readonly date: string;
280
+ } | {
281
+ readonly _tag: "assumed";
282
+ readonly basis: string & import("effect/Brand").Brand<"SafeReason">;
283
+ } | {
284
+ readonly _tag: "unknown";
285
+ };
286
+ readonly observationRetry: {
287
+ readonly maxAttempts: number;
288
+ readonly backoff: {
289
+ readonly baseMs: number;
290
+ readonly factor: number;
291
+ readonly capMs: number;
292
+ };
293
+ readonly totalBudgetMs: number;
294
+ };
295
+ readonly retryEligible: "VisibilityPending | Inconclusive";
296
+ readonly exhaustion: "UncertainSubject with full trace";
297
+ }>, Schema.Struct<{
298
+ readonly contract: Schema.Union<readonly [typeof DocumentedReadConvergenceContract, typeof AssumedReadConvergenceContract, typeof UnknownReadConvergenceContract]>;
299
+ readonly observationRetry: Schema.decodeTo<Schema.declareConstructor<ObservationRetryRecord, {
300
+ readonly maxAttempts: number;
301
+ readonly backoff: {
302
+ readonly baseMs: number;
303
+ readonly factor: number;
304
+ readonly capMs: number;
305
+ };
306
+ readonly totalBudgetMs: number;
307
+ }, readonly [Schema.Struct<{
308
+ readonly maxAttempts: Schema.Number;
309
+ readonly backoff: typeof ObservationRetryBackoff;
310
+ readonly totalBudgetMs: Schema.Number;
311
+ }>], {
312
+ readonly maxAttempts: number;
313
+ readonly backoff: {
314
+ readonly baseMs: number;
315
+ readonly factor: number;
316
+ readonly capMs: number;
317
+ };
318
+ readonly totalBudgetMs: number;
319
+ }>, Schema.Struct<{
320
+ readonly maxAttempts: Schema.Number;
321
+ readonly backoff: typeof ObservationRetryBackoff;
322
+ readonly totalBudgetMs: Schema.Number;
323
+ }>, never, never>;
324
+ readonly retryEligible: Schema.Literal<"VisibilityPending | Inconclusive">;
325
+ readonly exhaustion: Schema.Literal<"UncertainSubject with full trace">;
326
+ }>, never, never>;
327
+ }>, {}>;
328
+ declare class RecoveryCapabilityProfileRecord extends RecoveryCapabilityProfileRecord_base {
329
+ }
330
+ export declare const RecoveryCapabilityProfile: Schema.decodeTo<Schema.declareConstructor<RecoveryCapabilityProfileRecord, {
331
+ readonly observation: "exact" | "none" | "conditional";
332
+ readonly authoritativeAbsence: "proved" | "provider-specific" | "unavailable";
333
+ readonly createAuthorization: "none" | "authenticated-namespace-and-unique-coordinate";
334
+ readonly replay: "conditional" | "coordinate-unique" | "idempotency-key" | "unsafe";
335
+ readonly identifierReuse: "reusable" | "consumed-after-delete" | "not-applicable";
336
+ readonly correction: readonly ("deprecate" | "amend-release-metadata" | "forward-catalog-state" | "yank-file")[];
337
+ readonly exposure: "retractable" | "persistent-to-consumers" | "append-only";
338
+ readonly historyRequirement: "optional-evidence" | "durable-cas-required";
339
+ readonly readConvergence: {
340
+ readonly contract: {
341
+ readonly _tag: "documented";
342
+ readonly url: string;
343
+ readonly date: string;
344
+ } | {
345
+ readonly _tag: "assumed";
346
+ readonly basis: string;
347
+ } | {
348
+ readonly _tag: "unknown";
349
+ };
350
+ readonly observationRetry: {
351
+ readonly maxAttempts: number;
352
+ readonly backoff: {
353
+ readonly baseMs: number;
354
+ readonly factor: number;
355
+ readonly capMs: number;
356
+ };
357
+ readonly totalBudgetMs: number;
358
+ };
359
+ readonly retryEligible: "VisibilityPending | Inconclusive";
360
+ readonly exhaustion: "UncertainSubject with full trace";
361
+ };
362
+ }, readonly [Schema.Struct<{
363
+ readonly observation: Schema.Literals<readonly ["exact", "conditional", "none"]>;
364
+ readonly authoritativeAbsence: Schema.Literals<readonly ["proved", "provider-specific", "unavailable"]>;
365
+ readonly createAuthorization: Schema.Literals<readonly ["none", "authenticated-namespace-and-unique-coordinate"]>;
366
+ readonly replay: Schema.Literals<readonly ["coordinate-unique", "idempotency-key", "conditional", "unsafe"]>;
367
+ readonly identifierReuse: Schema.Literals<readonly ["reusable", "consumed-after-delete", "not-applicable"]>;
368
+ readonly correction: Schema.$Array<Schema.Literals<readonly ["deprecate", "amend-release-metadata", "yank-file", "forward-catalog-state"]>>;
369
+ readonly exposure: Schema.Literals<readonly ["retractable", "persistent-to-consumers", "append-only"]>;
370
+ readonly historyRequirement: Schema.Literals<readonly ["optional-evidence", "durable-cas-required"]>;
371
+ readonly readConvergence: Schema.decodeTo<Schema.declareConstructor<ReadConvergenceProfileRecord, {
372
+ readonly contract: {
373
+ readonly _tag: "documented";
374
+ readonly url: string;
375
+ readonly date: string;
376
+ } | {
377
+ readonly _tag: "assumed";
378
+ readonly basis: string;
379
+ } | {
380
+ readonly _tag: "unknown";
381
+ };
382
+ readonly observationRetry: {
383
+ readonly maxAttempts: number;
384
+ readonly backoff: {
385
+ readonly baseMs: number;
386
+ readonly factor: number;
387
+ readonly capMs: number;
388
+ };
389
+ readonly totalBudgetMs: number;
390
+ };
391
+ readonly retryEligible: "VisibilityPending | Inconclusive";
392
+ readonly exhaustion: "UncertainSubject with full trace";
393
+ }, readonly [Schema.Struct<{
394
+ readonly contract: Schema.Union<readonly [typeof DocumentedReadConvergenceContract, typeof AssumedReadConvergenceContract, typeof UnknownReadConvergenceContract]>;
395
+ readonly observationRetry: Schema.decodeTo<Schema.declareConstructor<ObservationRetryRecord, {
396
+ readonly maxAttempts: number;
397
+ readonly backoff: {
398
+ readonly baseMs: number;
399
+ readonly factor: number;
400
+ readonly capMs: number;
401
+ };
402
+ readonly totalBudgetMs: number;
403
+ }, readonly [Schema.Struct<{
404
+ readonly maxAttempts: Schema.Number;
405
+ readonly backoff: typeof ObservationRetryBackoff;
406
+ readonly totalBudgetMs: Schema.Number;
407
+ }>], {
408
+ readonly maxAttempts: number;
409
+ readonly backoff: {
410
+ readonly baseMs: number;
411
+ readonly factor: number;
412
+ readonly capMs: number;
413
+ };
414
+ readonly totalBudgetMs: number;
415
+ }>, Schema.Struct<{
416
+ readonly maxAttempts: Schema.Number;
417
+ readonly backoff: typeof ObservationRetryBackoff;
418
+ readonly totalBudgetMs: Schema.Number;
419
+ }>, never, never>;
420
+ readonly retryEligible: Schema.Literal<"VisibilityPending | Inconclusive">;
421
+ readonly exhaustion: Schema.Literal<"UncertainSubject with full trace">;
422
+ }>], {
423
+ readonly contract: {
424
+ readonly _tag: "documented";
425
+ readonly url: string;
426
+ readonly date: string;
427
+ } | {
428
+ readonly _tag: "assumed";
429
+ readonly basis: string & import("effect/Brand").Brand<"SafeReason">;
430
+ } | {
431
+ readonly _tag: "unknown";
432
+ };
433
+ readonly observationRetry: {
434
+ readonly maxAttempts: number;
435
+ readonly backoff: {
436
+ readonly baseMs: number;
437
+ readonly factor: number;
438
+ readonly capMs: number;
439
+ };
440
+ readonly totalBudgetMs: number;
441
+ };
442
+ readonly retryEligible: "VisibilityPending | Inconclusive";
443
+ readonly exhaustion: "UncertainSubject with full trace";
444
+ }>, Schema.Struct<{
445
+ readonly contract: Schema.Union<readonly [typeof DocumentedReadConvergenceContract, typeof AssumedReadConvergenceContract, typeof UnknownReadConvergenceContract]>;
446
+ readonly observationRetry: Schema.decodeTo<Schema.declareConstructor<ObservationRetryRecord, {
447
+ readonly maxAttempts: number;
448
+ readonly backoff: {
449
+ readonly baseMs: number;
450
+ readonly factor: number;
451
+ readonly capMs: number;
452
+ };
453
+ readonly totalBudgetMs: number;
454
+ }, readonly [Schema.Struct<{
455
+ readonly maxAttempts: Schema.Number;
456
+ readonly backoff: typeof ObservationRetryBackoff;
457
+ readonly totalBudgetMs: Schema.Number;
458
+ }>], {
459
+ readonly maxAttempts: number;
460
+ readonly backoff: {
461
+ readonly baseMs: number;
462
+ readonly factor: number;
463
+ readonly capMs: number;
464
+ };
465
+ readonly totalBudgetMs: number;
466
+ }>, Schema.Struct<{
467
+ readonly maxAttempts: Schema.Number;
468
+ readonly backoff: typeof ObservationRetryBackoff;
469
+ readonly totalBudgetMs: Schema.Number;
470
+ }>, never, never>;
471
+ readonly retryEligible: Schema.Literal<"VisibilityPending | Inconclusive">;
472
+ readonly exhaustion: Schema.Literal<"UncertainSubject with full trace">;
473
+ }>, never, never>;
474
+ }>], {
475
+ readonly observation: "exact" | "none" | "conditional";
476
+ readonly authoritativeAbsence: "proved" | "provider-specific" | "unavailable";
477
+ readonly createAuthorization: "none" | "authenticated-namespace-and-unique-coordinate";
478
+ readonly replay: "conditional" | "coordinate-unique" | "idempotency-key" | "unsafe";
479
+ readonly identifierReuse: "reusable" | "consumed-after-delete" | "not-applicable";
480
+ readonly correction: readonly ("deprecate" | "amend-release-metadata" | "forward-catalog-state" | "yank-file")[];
481
+ readonly exposure: "retractable" | "persistent-to-consumers" | "append-only";
482
+ readonly historyRequirement: "optional-evidence" | "durable-cas-required";
483
+ readonly readConvergence: {
484
+ readonly contract: {
485
+ readonly _tag: "documented";
486
+ readonly url: string;
487
+ readonly date: string;
488
+ } | {
489
+ readonly _tag: "assumed";
490
+ readonly basis: string & import("effect/Brand").Brand<"SafeReason">;
491
+ } | {
492
+ readonly _tag: "unknown";
493
+ };
494
+ readonly observationRetry: {
495
+ readonly maxAttempts: number;
496
+ readonly backoff: {
497
+ readonly baseMs: number;
498
+ readonly factor: number;
499
+ readonly capMs: number;
500
+ };
501
+ readonly totalBudgetMs: number;
502
+ };
503
+ readonly retryEligible: "VisibilityPending | Inconclusive";
504
+ readonly exhaustion: "UncertainSubject with full trace";
505
+ };
506
+ }>, Schema.Struct<{
507
+ readonly observation: Schema.Literals<readonly ["exact", "conditional", "none"]>;
508
+ readonly authoritativeAbsence: Schema.Literals<readonly ["proved", "provider-specific", "unavailable"]>;
509
+ readonly createAuthorization: Schema.Literals<readonly ["none", "authenticated-namespace-and-unique-coordinate"]>;
510
+ readonly replay: Schema.Literals<readonly ["coordinate-unique", "idempotency-key", "conditional", "unsafe"]>;
511
+ readonly identifierReuse: Schema.Literals<readonly ["reusable", "consumed-after-delete", "not-applicable"]>;
512
+ readonly correction: Schema.$Array<Schema.Literals<readonly ["deprecate", "amend-release-metadata", "yank-file", "forward-catalog-state"]>>;
513
+ readonly exposure: Schema.Literals<readonly ["retractable", "persistent-to-consumers", "append-only"]>;
514
+ readonly historyRequirement: Schema.Literals<readonly ["optional-evidence", "durable-cas-required"]>;
515
+ readonly readConvergence: Schema.decodeTo<Schema.declareConstructor<ReadConvergenceProfileRecord, {
516
+ readonly contract: {
517
+ readonly _tag: "documented";
518
+ readonly url: string;
519
+ readonly date: string;
520
+ } | {
521
+ readonly _tag: "assumed";
522
+ readonly basis: string;
523
+ } | {
524
+ readonly _tag: "unknown";
525
+ };
526
+ readonly observationRetry: {
527
+ readonly maxAttempts: number;
528
+ readonly backoff: {
529
+ readonly baseMs: number;
530
+ readonly factor: number;
531
+ readonly capMs: number;
532
+ };
533
+ readonly totalBudgetMs: number;
534
+ };
535
+ readonly retryEligible: "VisibilityPending | Inconclusive";
536
+ readonly exhaustion: "UncertainSubject with full trace";
537
+ }, readonly [Schema.Struct<{
538
+ readonly contract: Schema.Union<readonly [typeof DocumentedReadConvergenceContract, typeof AssumedReadConvergenceContract, typeof UnknownReadConvergenceContract]>;
539
+ readonly observationRetry: Schema.decodeTo<Schema.declareConstructor<ObservationRetryRecord, {
540
+ readonly maxAttempts: number;
541
+ readonly backoff: {
542
+ readonly baseMs: number;
543
+ readonly factor: number;
544
+ readonly capMs: number;
545
+ };
546
+ readonly totalBudgetMs: number;
547
+ }, readonly [Schema.Struct<{
548
+ readonly maxAttempts: Schema.Number;
549
+ readonly backoff: typeof ObservationRetryBackoff;
550
+ readonly totalBudgetMs: Schema.Number;
551
+ }>], {
552
+ readonly maxAttempts: number;
553
+ readonly backoff: {
554
+ readonly baseMs: number;
555
+ readonly factor: number;
556
+ readonly capMs: number;
557
+ };
558
+ readonly totalBudgetMs: number;
559
+ }>, Schema.Struct<{
560
+ readonly maxAttempts: Schema.Number;
561
+ readonly backoff: typeof ObservationRetryBackoff;
562
+ readonly totalBudgetMs: Schema.Number;
563
+ }>, never, never>;
564
+ readonly retryEligible: Schema.Literal<"VisibilityPending | Inconclusive">;
565
+ readonly exhaustion: Schema.Literal<"UncertainSubject with full trace">;
566
+ }>], {
567
+ readonly contract: {
568
+ readonly _tag: "documented";
569
+ readonly url: string;
570
+ readonly date: string;
571
+ } | {
572
+ readonly _tag: "assumed";
573
+ readonly basis: string & import("effect/Brand").Brand<"SafeReason">;
574
+ } | {
575
+ readonly _tag: "unknown";
576
+ };
577
+ readonly observationRetry: {
578
+ readonly maxAttempts: number;
579
+ readonly backoff: {
580
+ readonly baseMs: number;
581
+ readonly factor: number;
582
+ readonly capMs: number;
583
+ };
584
+ readonly totalBudgetMs: number;
585
+ };
586
+ readonly retryEligible: "VisibilityPending | Inconclusive";
587
+ readonly exhaustion: "UncertainSubject with full trace";
588
+ }>, Schema.Struct<{
589
+ readonly contract: Schema.Union<readonly [typeof DocumentedReadConvergenceContract, typeof AssumedReadConvergenceContract, typeof UnknownReadConvergenceContract]>;
590
+ readonly observationRetry: Schema.decodeTo<Schema.declareConstructor<ObservationRetryRecord, {
591
+ readonly maxAttempts: number;
592
+ readonly backoff: {
593
+ readonly baseMs: number;
594
+ readonly factor: number;
595
+ readonly capMs: number;
596
+ };
597
+ readonly totalBudgetMs: number;
598
+ }, readonly [Schema.Struct<{
599
+ readonly maxAttempts: Schema.Number;
600
+ readonly backoff: typeof ObservationRetryBackoff;
601
+ readonly totalBudgetMs: Schema.Number;
602
+ }>], {
603
+ readonly maxAttempts: number;
604
+ readonly backoff: {
605
+ readonly baseMs: number;
606
+ readonly factor: number;
607
+ readonly capMs: number;
608
+ };
609
+ readonly totalBudgetMs: number;
610
+ }>, Schema.Struct<{
611
+ readonly maxAttempts: Schema.Number;
612
+ readonly backoff: typeof ObservationRetryBackoff;
613
+ readonly totalBudgetMs: Schema.Number;
614
+ }>, never, never>;
615
+ readonly retryEligible: Schema.Literal<"VisibilityPending | Inconclusive">;
616
+ readonly exhaustion: Schema.Literal<"UncertainSubject with full trace">;
617
+ }>, never, never>;
618
+ }>, never, never>;
619
+ export type RecoveryCapabilityProfile = typeof RecoveryCapabilityProfile.Type;
620
+ /**
621
+ * One executable publication adapter and the durable recovery profile it
622
+ * promises to honor. `correctionAdapters` names only actually installed
623
+ * conditional correction implementations; an authored operator proposal is
624
+ * not an adapter.
625
+ */
626
+ export interface PublicationProfileRegistration {
627
+ readonly id: string;
628
+ readonly provider: string;
629
+ readonly preparedTag: string;
630
+ readonly recovery: RecoveryCapabilityProfile;
631
+ readonly correctionAdapters: ReadonlyArray<CorrectionKind>;
632
+ readonly evidence: {
633
+ readonly reviewedAt: string;
634
+ readonly observationSources: ReadonlyArray<string>;
635
+ readonly correctionSources: ReadonlyArray<string>;
636
+ readonly correctionFinding: string;
637
+ };
638
+ }
639
+ declare const RecoveryProfileRegistrationError_base: Schema.Class<RecoveryProfileRegistrationError, Schema.TaggedStruct<"RecoveryProfileRegistrationError", {
640
+ readonly registration: Schema.NonEmptyString;
641
+ readonly reason: Schema.brand<Schema.String, "SafeReason">;
642
+ }>, import("effect/Cause").YieldableError>;
643
+ export declare class RecoveryProfileRegistrationError extends RecoveryProfileRegistrationError_base {
644
+ }
645
+ /** Canonical profile bytes are shared by registration checks and generators. */
646
+ export declare const encodeRecoveryCapabilityProfile: (value: unknown) => string;
647
+ export declare const recoveryCapabilityProfilesEqual: (left: unknown, right: unknown) => boolean;
648
+ /**
649
+ * Fail module registration before any provider operation when the declared
650
+ * profile or installed correction behavior is incoherent.
651
+ */
652
+ export declare const validatePublicationProfiles: <const Profiles extends Readonly<Record<string, PublicationProfileRegistration>>>(profiles: Profiles) => Profiles;
653
+ /** Refuse a subject factory whose executable subject advertises another policy. */
654
+ export declare const assertRecoveryProfileMatches: (registration: string, expected: RecoveryCapabilityProfile, actual: unknown) => void;
655
+ export declare const validateRecoveryProfileSubjects: (registration: string, expected: RecoveryCapabilityProfile, actualProfiles: ReadonlyArray<unknown>) => void;
656
+ /** Decode at module/registration boundaries so malformed policies never run. */
657
+ export declare const makeRecoveryCapabilityProfile: (value: unknown) => RecoveryCapabilityProfile;
658
+ /** Unknown provider timing permits the mandatory first reread and nothing else. */
659
+ export declare const conservativeUnknownRecoveryProfile: RecoveryCapabilityProfileRecord;
660
+ /** Additional reads are permitted only when their timing basis is explicit. */
661
+ export declare const isReadConvergenceLagCapable: (profile: RecoveryCapabilityProfile) => boolean;
662
+ export {};
663
+ //# sourceMappingURL=recovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recovery.d.ts","sourceRoot":"","sources":["../../src/publication/recovery.ts"],"names":[],"mappings":"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"}