@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,111 @@
1
+ import * as Schema from "effect/Schema";
2
+ import { Sha256Digest, Sha512Digest } from "../model/digest.js";
3
+ import { PreparedCatalogDownload } from "../model/catalog.js";
4
+ declare const ReplacementCoordinate_base: Schema.Class<ReplacementCoordinate, Schema.Struct<{
5
+ readonly provider: Schema.Literals<readonly ["npm", "github"]>;
6
+ readonly coordinate: Schema.String;
7
+ }>, {}>;
8
+ export declare class ReplacementCoordinate extends ReplacementCoordinate_base {
9
+ }
10
+ declare const NpmDeprecationCorrection_base: Schema.Class<NpmDeprecationCorrection, Schema.TaggedStruct<"NpmDeprecationCorrection", {
11
+ readonly provider: Schema.Literal<"npm">;
12
+ readonly publicationId: Schema.brand<Schema.NonEmptyString, "NonEmptyName">;
13
+ readonly registryUrl: Schema.NonEmptyString;
14
+ readonly packageName: Schema.brand<Schema.NonEmptyString, "NonEmptyName">;
15
+ readonly version: Schema.brand<Schema.NonEmptyString, "Version">;
16
+ readonly baselineDigest: typeof Sha256Digest;
17
+ readonly tarballIntegrity: typeof Sha512Digest;
18
+ readonly message: Schema.String;
19
+ readonly replacement: Schema.optionalKey<typeof ReplacementCoordinate>;
20
+ }>, {}>;
21
+ export declare class NpmDeprecationCorrection extends NpmDeprecationCorrection_base {
22
+ }
23
+ declare const GithubReleaseCorrection_base: Schema.Class<GithubReleaseCorrection, Schema.TaggedStruct<"GithubReleaseCorrection", {
24
+ readonly provider: Schema.Literal<"github">;
25
+ readonly publicationId: Schema.brand<Schema.NonEmptyString, "NonEmptyName">;
26
+ readonly repository: Schema.NonEmptyString;
27
+ readonly tag: Schema.brand<Schema.NonEmptyString, "NonEmptyName">;
28
+ readonly baselineDigest: typeof Sha256Digest;
29
+ readonly marker: Schema.String;
30
+ readonly replacement: Schema.optionalKey<typeof ReplacementCoordinate>;
31
+ }>, {}>;
32
+ export declare class GithubReleaseCorrection extends GithubReleaseCorrection_base {
33
+ }
34
+ declare const CatalogForwardCorrection_base: Schema.Class<CatalogForwardCorrection, Schema.TaggedStruct<"CatalogForwardCorrection", {
35
+ readonly provider: Schema.Literal<"catalog-git">;
36
+ readonly publicationId: Schema.brand<Schema.NonEmptyString, "NonEmptyName">;
37
+ readonly baselineDigest: typeof Sha256Digest;
38
+ readonly baselineTargetDigest: typeof Sha256Digest;
39
+ readonly baselineStateDigest: typeof Sha256Digest;
40
+ readonly replacementVersion: Schema.brand<Schema.NonEmptyString, "Version">;
41
+ readonly replacementTag: Schema.brand<Schema.NonEmptyString, "NonEmptyName">;
42
+ readonly downloads: Schema.NonEmptyArray<typeof PreparedCatalogDownload>;
43
+ readonly reason: Schema.String;
44
+ }>, {}>;
45
+ export declare class CatalogForwardCorrection extends CatalogForwardCorrection_base {
46
+ }
47
+ declare const AuthoredNpmDeprecation_base: Schema.Class<AuthoredNpmDeprecation, Schema.Struct<{
48
+ readonly provider: Schema.Literal<"npm">;
49
+ readonly kind: Schema.Literal<"deprecate">;
50
+ readonly publicationId: Schema.optionalKey<Schema.brand<Schema.NonEmptyString, "NonEmptyName">>;
51
+ readonly message: Schema.String;
52
+ readonly replacement: Schema.optionalKey<typeof ReplacementCoordinate>;
53
+ }>, {}>;
54
+ /** Human-authored correction request. Destination and immutable subject facts
55
+ * are deliberately absent: they are derived from the loaded prepared bundle. */
56
+ export declare class AuthoredNpmDeprecation extends AuthoredNpmDeprecation_base {
57
+ }
58
+ declare const AuthoredGithubReleaseAmendment_base: Schema.Class<AuthoredGithubReleaseAmendment, Schema.Struct<{
59
+ readonly provider: Schema.Literal<"github">;
60
+ readonly kind: Schema.Literal<"amend-release-metadata">;
61
+ readonly publicationId: Schema.optionalKey<Schema.brand<Schema.NonEmptyString, "NonEmptyName">>;
62
+ readonly message: Schema.String;
63
+ readonly replacement: Schema.optionalKey<typeof ReplacementCoordinate>;
64
+ }>, {}>;
65
+ export declare class AuthoredGithubReleaseAmendment extends AuthoredGithubReleaseAmendment_base {
66
+ }
67
+ declare const AuthoredCatalogDownload_base: Schema.Class<AuthoredCatalogDownload, Schema.Struct<{
68
+ readonly architecture: Schema.Literals<readonly ["x64", "arm64"]>;
69
+ readonly url: Schema.NonEmptyString;
70
+ readonly filename: Schema.brand<Schema.NonEmptyString, "NonEmptyName">;
71
+ readonly sha256: Schema.brand<Schema.String, "sha1Hex" | "sha256Hex" | "sha512Hex">;
72
+ }>, {}>;
73
+ export declare class AuthoredCatalogDownload extends AuthoredCatalogDownload_base {
74
+ }
75
+ declare const AuthoredCatalogForwardCorrection_base: Schema.Class<AuthoredCatalogForwardCorrection, Schema.Struct<{
76
+ readonly provider: Schema.Literal<"catalog-git">;
77
+ readonly kind: Schema.Literal<"forward-catalog-state">;
78
+ readonly publicationId: Schema.optionalKey<Schema.brand<Schema.NonEmptyString, "NonEmptyName">>;
79
+ readonly replacementVersion: Schema.brand<Schema.NonEmptyString, "Version">;
80
+ readonly replacementTag: Schema.brand<Schema.NonEmptyString, "NonEmptyName">;
81
+ readonly downloads: Schema.NonEmptyArray<typeof AuthoredCatalogDownload>;
82
+ readonly reason: Schema.String;
83
+ }>, {}>;
84
+ export declare class AuthoredCatalogForwardCorrection extends AuthoredCatalogForwardCorrection_base {
85
+ }
86
+ export declare const AuthoredCorrection: Schema.Union<readonly [typeof AuthoredNpmDeprecation, typeof AuthoredGithubReleaseAmendment, typeof AuthoredCatalogForwardCorrection]>;
87
+ export type AuthoredCorrection = typeof AuthoredCorrection.Type;
88
+ export declare const decodeAuthoredCorrection: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => AuthoredNpmDeprecation | AuthoredGithubReleaseAmendment | AuthoredCatalogForwardCorrection;
89
+ export declare const CorrectionVariant: Schema.Union<readonly [typeof NpmDeprecationCorrection, typeof GithubReleaseCorrection, typeof CatalogForwardCorrection]>;
90
+ export type CorrectionVariant = typeof CorrectionVariant.Type;
91
+ declare const CorrectionIntentV2_base: Schema.Class<CorrectionIntentV2, Schema.Struct<{
92
+ readonly schemaVersion: Schema.Literal<"correction-intent/v2">;
93
+ readonly preparedDigest: typeof Sha256Digest;
94
+ readonly correction: Schema.Union<readonly [typeof NpmDeprecationCorrection, typeof GithubReleaseCorrection, typeof CatalogForwardCorrection]>;
95
+ readonly correctionId: typeof Sha256Digest;
96
+ }>, {}>;
97
+ export declare class CorrectionIntentV2 extends CorrectionIntentV2_base {
98
+ }
99
+ export type CorrectionIntent = typeof CorrectionIntentV2.Type;
100
+ export type CorrectionIntentInput = Omit<CorrectionIntent, "correctionId">;
101
+ declare const CorrectionIntentError_base: Schema.Class<CorrectionIntentError, Schema.TaggedStruct<"CorrectionIntentError", {
102
+ readonly reason: Schema.String;
103
+ }>, import("effect/Cause").YieldableError>;
104
+ export declare class CorrectionIntentError extends CorrectionIntentError_base {
105
+ }
106
+ export declare const correctionIdFor: (value: CorrectionIntentInput) => Sha256Digest;
107
+ export declare const makeCorrectionIntent: (value: CorrectionIntentInput) => CorrectionIntent;
108
+ export declare const encodeCorrectionIntent: (value: CorrectionIntent) => Uint8Array;
109
+ export declare const decodeCorrectionIntent: (bytes: Uint8Array) => CorrectionIntent;
110
+ export {};
111
+ //# sourceMappingURL=intent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intent.d.ts","sourceRoot":"","sources":["../../src/correction/intent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,EACL,YAAY,EAEZ,YAAY,EAGb,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAuB,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;;;;;AAWlF,qBAAa,qBAAsB,SAAQ,0BAEzC;CAAG;;;;;;;;;;;;AAEL,qBAAa,wBAAyB,SAAQ,6BAI5C;CAAG;;;;;;;;;;AAEL,qBAAa,uBAAwB,SAAQ,4BAI3C;CAAG;;;;;;;;;;;;AAEL,qBAAa,wBAAyB,SAAQ,6BAU5C;CAAG;;;;;;;;AAEL;gFACgF;AAChF,qBAAa,sBACX,SAAQ,2BAMN;CAAG;;;;;;;;AAEP,qBAAa,8BACX,SAAQ,mCAMN;CAAG;;;;;;;AAEP,qBAAa,uBAAwB,SAAQ,4BAK3C;CAAG;;;;;;;;;;AAEL,qBAAa,gCACX,SAAQ,qCAQN;CAAG;AAEP,eAAO,MAAM,kBAAkB,wIAI7B,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC,IAAI,CAAA;AAE/D,eAAO,MAAM,wBAAwB,mKAEnC,CAAA;AAEF,eAAO,MAAM,iBAAiB,2HAE5B,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;;;;;;;AAQ7D,qBAAa,kBAAmB,SAAQ,uBAGtC;CAAG;AACL,MAAM,MAAM,gBAAgB,GAAG,OAAO,kBAAkB,CAAC,IAAI,CAAA;AAC7D,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAA;;;;AAE1E,qBAAa,qBACX,SAAQ,0BAEN;CAAG;AAgBP,eAAO,MAAM,eAAe,GAAI,OAAO,qBAAqB,KAAG,YAC3B,CAAA;AAEpC,eAAO,MAAM,oBAAoB,GAAI,OAAO,qBAAqB,KAAG,gBAInE,CAAA;AAKD,eAAO,MAAM,sBAAsB,GAAI,OAAO,gBAAgB,KAAG,UAWhE,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAI,OAAO,UAAU,KAAG,gBAW1D,CAAA"}
@@ -0,0 +1,146 @@
1
+ import * as Schema from "effect/Schema";
2
+ import { encodeCanonicalJson, parseStrictJson } from "../model/canonical.js";
3
+ import { Sha256Digest, Sha256Hex, Sha512Digest, digestEquals, sha256Digest } from "../model/digest.js";
4
+ import { NonEmptyName, Version } from "../model/primitives.js";
5
+ import { CatalogArchitecture, PreparedCatalogDownload } from "../model/catalog.js";
6
+ const optional = Schema.optionalKey;
7
+ const boundedText = Schema.String.check(Schema.makeFilter((value) => [...value].length <= 2048 && [...value].every((character) => {
8
+ const codePoint = character.codePointAt(0) ?? 0;
9
+ return codePoint === 9 || codePoint === 10 || codePoint === 13 || codePoint >= 0x20;
10
+ }) ? undefined : "Correction text must be bounded and contain no control characters."));
11
+ const publicMessage = boundedText.pipe(Schema.check(Schema.makeFilter((value) => value.length > 0 ? undefined : "Correction message must be nonempty.")));
12
+ export class ReplacementCoordinate extends Schema.Class("ReplacementCoordinate")({
13
+ provider: Schema.Literals(["npm", "github"]), coordinate: publicMessage
14
+ }) {
15
+ }
16
+ export class NpmDeprecationCorrection extends Schema.TaggedClass()("NpmDeprecationCorrection", {
17
+ provider: Schema.Literal("npm"), publicationId: NonEmptyName, registryUrl: Schema.NonEmptyString,
18
+ packageName: NonEmptyName, version: Version, baselineDigest: Sha256Digest, tarballIntegrity: Sha512Digest,
19
+ message: publicMessage, replacement: optional(ReplacementCoordinate)
20
+ }) {
21
+ }
22
+ export class GithubReleaseCorrection extends Schema.TaggedClass()("GithubReleaseCorrection", {
23
+ provider: Schema.Literal("github"), publicationId: NonEmptyName, repository: Schema.NonEmptyString,
24
+ tag: NonEmptyName, baselineDigest: Sha256Digest, marker: publicMessage,
25
+ replacement: optional(ReplacementCoordinate)
26
+ }) {
27
+ }
28
+ export class CatalogForwardCorrection extends Schema.TaggedClass()("CatalogForwardCorrection", {
29
+ provider: Schema.Literal("catalog-git"),
30
+ publicationId: NonEmptyName,
31
+ baselineDigest: Sha256Digest,
32
+ baselineTargetDigest: Sha256Digest,
33
+ baselineStateDigest: Sha256Digest,
34
+ replacementVersion: Version,
35
+ replacementTag: NonEmptyName,
36
+ downloads: Schema.NonEmptyArray(PreparedCatalogDownload),
37
+ reason: publicMessage
38
+ }) {
39
+ }
40
+ /** Human-authored correction request. Destination and immutable subject facts
41
+ * are deliberately absent: they are derived from the loaded prepared bundle. */
42
+ export class AuthoredNpmDeprecation extends Schema.Class("AuthoredNpmDeprecation")({
43
+ provider: Schema.Literal("npm"),
44
+ kind: Schema.Literal("deprecate"),
45
+ publicationId: optional(NonEmptyName),
46
+ message: publicMessage,
47
+ replacement: optional(ReplacementCoordinate)
48
+ }) {
49
+ }
50
+ export class AuthoredGithubReleaseAmendment extends Schema.Class("AuthoredGithubReleaseAmendment")({
51
+ provider: Schema.Literal("github"),
52
+ kind: Schema.Literal("amend-release-metadata"),
53
+ publicationId: optional(NonEmptyName),
54
+ message: publicMessage,
55
+ replacement: optional(ReplacementCoordinate)
56
+ }) {
57
+ }
58
+ export class AuthoredCatalogDownload extends Schema.Class("AuthoredCatalogDownload")({
59
+ architecture: CatalogArchitecture,
60
+ url: Schema.NonEmptyString,
61
+ filename: NonEmptyName,
62
+ sha256: Sha256Hex
63
+ }) {
64
+ }
65
+ export class AuthoredCatalogForwardCorrection extends Schema.Class("AuthoredCatalogForwardCorrection")({
66
+ provider: Schema.Literal("catalog-git"),
67
+ kind: Schema.Literal("forward-catalog-state"),
68
+ publicationId: optional(NonEmptyName),
69
+ replacementVersion: Version,
70
+ replacementTag: NonEmptyName,
71
+ downloads: Schema.NonEmptyArray(AuthoredCatalogDownload),
72
+ reason: publicMessage
73
+ }) {
74
+ }
75
+ export const AuthoredCorrection = Schema.Union([
76
+ AuthoredNpmDeprecation,
77
+ AuthoredGithubReleaseAmendment,
78
+ AuthoredCatalogForwardCorrection
79
+ ]);
80
+ export const decodeAuthoredCorrection = Schema.decodeUnknownSync(AuthoredCorrection, {
81
+ onExcessProperty: "error"
82
+ });
83
+ export const CorrectionVariant = Schema.Union([
84
+ NpmDeprecationCorrection, GithubReleaseCorrection, CatalogForwardCorrection
85
+ ]);
86
+ const CorrectionIntentUnsignedV2 = Schema.Struct({
87
+ schemaVersion: Schema.Literal("correction-intent/v2"),
88
+ preparedDigest: Sha256Digest,
89
+ correction: CorrectionVariant
90
+ });
91
+ export class CorrectionIntentV2 extends Schema.Class("CorrectionIntentV2")({
92
+ schemaVersion: Schema.Literal("correction-intent/v2"), preparedDigest: Sha256Digest,
93
+ correction: CorrectionVariant, correctionId: Sha256Digest
94
+ }) {
95
+ }
96
+ export class CorrectionIntentError extends Schema.TaggedErrorClass()("CorrectionIntentError", {
97
+ reason: Schema.String
98
+ }) {
99
+ }
100
+ const normalizeCorrection = (value) => Schema.decodeUnknownSync(CorrectionVariant)(value);
101
+ const normalizeUnsigned = (value) => Schema.decodeUnknownSync(CorrectionIntentUnsignedV2, { onExcessProperty: "error" })({
102
+ schemaVersion: value.schemaVersion,
103
+ preparedDigest: value.preparedDigest,
104
+ correction: normalizeCorrection(value.correction)
105
+ });
106
+ const unsignedBytes = (value) => {
107
+ const normalized = normalizeUnsigned(value);
108
+ const encoded = Schema.encodeSync(CorrectionIntentUnsignedV2)(normalized);
109
+ return new TextEncoder().encode(encodeCanonicalJson(encoded));
110
+ };
111
+ export const correctionIdFor = (value) => sha256Digest(unsignedBytes(value));
112
+ export const makeCorrectionIntent = (value) => {
113
+ const normalized = normalizeUnsigned(value);
114
+ const correctionId = correctionIdFor(normalized);
115
+ return CorrectionIntentV2.make({ ...normalized, correctionId });
116
+ };
117
+ const equal = (left, right) => left.length === right.length && left.every((byte, index) => byte === right[index]);
118
+ export const encodeCorrectionIntent = (value) => {
119
+ try {
120
+ const normalized = Schema.decodeUnknownSync(CorrectionIntentV2, { onExcessProperty: "error" })(value);
121
+ const expected = correctionIdFor(normalized);
122
+ if (!digestEquals(expected, normalized.correctionId)) {
123
+ throw new Error("Correction id does not match canonical unsigned V2 intent bytes.");
124
+ }
125
+ return new TextEncoder().encode(encodeCanonicalJson(Schema.encodeSync(CorrectionIntentV2)(normalized)));
126
+ }
127
+ catch (cause) {
128
+ throw CorrectionIntentError.make({ reason: cause instanceof Error ? cause.message : String(cause) });
129
+ }
130
+ };
131
+ export const decodeCorrectionIntent = (bytes) => {
132
+ try {
133
+ const text = new TextDecoder("utf-8", { fatal: true }).decode(bytes);
134
+ const value = Schema.decodeUnknownSync(CorrectionIntentV2, { onExcessProperty: "error" })(parseStrictJson(text));
135
+ const canonical = encodeCorrectionIntent(value);
136
+ if (!equal(canonical, bytes))
137
+ throw new Error("Correction intent bytes are not canonical.");
138
+ return value;
139
+ }
140
+ catch (cause) {
141
+ if (cause instanceof CorrectionIntentError)
142
+ throw cause;
143
+ throw CorrectionIntentError.make({ reason: cause instanceof Error ? cause.message : String(cause) });
144
+ }
145
+ };
146
+ //# sourceMappingURL=intent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intent.js","sourceRoot":"","sources":["../../src/correction/intent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export interface ArchiveEntry {
2
+ readonly path: string;
3
+ readonly data: Uint8Array;
4
+ readonly mode: number;
5
+ }
6
+ export declare const zip: (entries: ReadonlyArray<ArchiveEntry>) => Uint8Array;
7
+ export declare const tarGz: (entries: ReadonlyArray<ArchiveEntry>) => Uint8Array;
8
+ //# sourceMappingURL=archive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"archive.d.ts","sourceRoot":"","sources":["../../src/drivers/archive.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AA8BD,eAAO,MAAM,GAAG,GAAI,SAAS,aAAa,CAAC,YAAY,CAAC,KAAG,UA4B1D,CAAA;AA6BD,eAAO,MAAM,KAAK,GAAI,SAAS,aAAa,CAAC,YAAY,CAAC,KAAG,UAQ5D,CAAA"}
@@ -0,0 +1,101 @@
1
+ import { gzipSync } from "node:zlib";
2
+ const text = (value) => new TextEncoder().encode(value);
3
+ const concat = (parts) => {
4
+ const output = new Uint8Array(parts.reduce((total, part) => total + part.length, 0));
5
+ let offset = 0;
6
+ for (const part of parts) {
7
+ output.set(part, offset);
8
+ offset += part.length;
9
+ }
10
+ return output;
11
+ };
12
+ const integer = (bytes, value) => {
13
+ const output = new Uint8Array(bytes);
14
+ const view = new DataView(output.buffer);
15
+ if (bytes === 2)
16
+ view.setUint16(0, value, true);
17
+ else
18
+ view.setUint32(0, value, true);
19
+ return output;
20
+ };
21
+ const crcTable = Array.from({ length: 256 }, (_, value) => {
22
+ let crc = value;
23
+ for (const bit of Array.from({ length: 8 }, (_, index) => index)) {
24
+ crc = (crc & 1) === 1 ? 0xedb88320 ^ (crc >>> 1) : crc >>> 1;
25
+ }
26
+ return crc >>> 0;
27
+ });
28
+ const crc32 = (data) => {
29
+ let crc = 0xffffffff;
30
+ for (const byte of data)
31
+ crc = (crc >>> 8) ^ crcTable[(crc ^ byte) & 0xff];
32
+ return (crc ^ 0xffffffff) >>> 0;
33
+ };
34
+ export const zip = (entries) => {
35
+ const bodies = [];
36
+ const central = [];
37
+ let offset = 0;
38
+ for (const entry of entries) {
39
+ const name = text(entry.path);
40
+ const crc = crc32(entry.data);
41
+ const local = concat([
42
+ integer(4, 0x04034b50), integer(2, 20), integer(2, 0x0800), integer(2, 0),
43
+ integer(2, 0), integer(2, 0), integer(4, crc), integer(4, entry.data.length),
44
+ integer(4, entry.data.length), integer(2, name.length), integer(2, 0), name
45
+ ]);
46
+ bodies.push(local, entry.data);
47
+ central.push(concat([
48
+ integer(4, 0x02014b50), integer(2, 0x0314), integer(2, 20), integer(2, 0x0800),
49
+ integer(2, 0), integer(2, 0), integer(2, 0), integer(4, crc),
50
+ integer(4, entry.data.length), integer(4, entry.data.length), integer(2, name.length),
51
+ integer(2, 0), integer(2, 0), integer(2, 0), integer(2, 0),
52
+ integer(4, entry.mode << 16), integer(4, offset), name
53
+ ]));
54
+ offset += local.length + entry.data.length;
55
+ }
56
+ const directory = concat(central);
57
+ return concat([
58
+ ...bodies, directory, integer(4, 0x06054b50), integer(2, 0), integer(2, 0),
59
+ integer(2, entries.length), integer(2, entries.length), integer(4, directory.length),
60
+ integer(4, offset), integer(2, 0)
61
+ ]);
62
+ };
63
+ const ascii = (output, offset, length, value) => {
64
+ const bytes = text(value);
65
+ if (bytes.length > length)
66
+ throw new Error(`Archive path is too long: ${value}`);
67
+ output.set(bytes, offset);
68
+ };
69
+ const octal = (output, offset, length, value) => {
70
+ ascii(output, offset, length - 2, value.toString(8).padStart(length - 2, "0"));
71
+ output[offset + length - 2] = 0;
72
+ output[offset + length - 1] = 0x20;
73
+ };
74
+ const tarHeader = (entry) => {
75
+ const header = new Uint8Array(512);
76
+ ascii(header, 0, 100, entry.path);
77
+ octal(header, 100, 8, entry.mode & 0o777);
78
+ octal(header, 108, 8, 0);
79
+ octal(header, 116, 8, 0);
80
+ octal(header, 124, 12, entry.data.length);
81
+ octal(header, 136, 12, 0);
82
+ header.fill(0x20, 148, 156);
83
+ header[156] = 0x30;
84
+ ascii(header, 257, 6, "ustar");
85
+ ascii(header, 263, 2, "00");
86
+ octal(header, 148, 8, header.reduce((sum, byte) => sum + byte, 0));
87
+ return header;
88
+ };
89
+ // Level 9 is explicit because it is the level at which every zlib we ship on
90
+ // emits identical deflate bytes; the 10-byte header is then overwritten so no
91
+ // clock (MTIME) or platform (OS) leaks into an artifact.
92
+ export const tarGz = (entries) => {
93
+ const packed = new Uint8Array(gzipSync(concat(entries.flatMap((entry) => [
94
+ tarHeader(entry), entry.data,
95
+ new Uint8Array(entry.data.length % 512 === 0 ? 0 : 512 - entry.data.length % 512)
96
+ ]).concat([new Uint8Array(1024)])), { level: 9 }));
97
+ packed.fill(0, 4, 8);
98
+ packed[9] = 0xff;
99
+ return packed;
100
+ };
101
+ //# sourceMappingURL=archive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"archive.js","sourceRoot":"","sources":["../../src/drivers/archive.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare const contained: (root: string, path: string) => boolean;
2
+ export declare const assertContained: (root: string, path: string, options: {
3
+ readonly realpath: boolean;
4
+ readonly what: string;
5
+ }) => string;
6
+ //# sourceMappingURL=contain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contain.d.ts","sourceRoot":"","sources":["../../src/drivers/contain.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,EAAE,MAAM,MAAM,KAAG,OAGtD,CAAA;AACD,eAAO,MAAM,eAAe,GAC1B,MAAM,MAAM,EAAE,MAAM,MAAM,EAC1B,SAAS;IAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,KAC7D,MAMF,CAAA"}
@@ -0,0 +1,17 @@
1
+ import { realpathSync } from "node:fs";
2
+ import { isAbsolute, relative, sep } from "node:path";
3
+ // Lexical: is `path` at or beneath `root`? Both must already be in the same
4
+ // canonical form (use assertContained with realpath when symlinks may be
5
+ // present).
6
+ export const contained = (root, path) => {
7
+ const value = relative(root, path);
8
+ return value === "" || (value !== ".." && !value.startsWith(`..${sep}`) && !isAbsolute(value));
9
+ };
10
+ export const assertContained = (root, path, options) => {
11
+ const candidate = options.realpath ? realpathSync(path) : path;
12
+ if (!contained(options.realpath ? realpathSync(root) : root, candidate)) {
13
+ throw new Error(`${options.what} escapes the workspace root.`);
14
+ }
15
+ return candidate;
16
+ };
17
+ //# sourceMappingURL=contain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contain.js","sourceRoot":"","sources":["../../src/drivers/contain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAErD,4EAA4E;AAC5E,yEAAyE;AACzE,YAAY;AACZ,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,IAAY,EAAW,EAAE;IAC/D,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAClC,OAAO,KAAK,KAAK,EAAE,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;AAChG,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,IAAY,EAAE,IAAY,EAC1B,OAA8D,EACtD,EAAE;IACV,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC9D,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,8BAA8B,CAAC,CAAA;IAChE,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import * as Effect from "effect/Effect";
2
+ export declare const readOptionalEnv: (name: string) => Effect.Effect<string | undefined>;
3
+ export declare const readEnvironment: (names: ReadonlyArray<string>) => Effect.Effect<Record<string, string>>;
4
+ //# sourceMappingURL=environment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/drivers/environment.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAMvC,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAI5E,CAAA;AAKH,eAAO,MAAM,eAAe,GAC1B,OAAO,aAAa,CAAC,MAAM,CAAC,KAC3B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAS/B,CAAA"}
@@ -0,0 +1,18 @@
1
+ import * as Config from "effect/Config";
2
+ import * as Effect from "effect/Effect";
3
+ import * as Option from "effect/Option";
4
+ // Environment is a host capability, so it is read through effect/Config rather
5
+ // than process.env. The default ConfigProvider reads the host environment; a
6
+ // test or an embedding host substitutes one with ConfigProvider.layer.
7
+ export const readOptionalEnv = (name) => Config.option(Config.string(name)).pipe(Effect.map(Option.getOrUndefined), Effect.orElseSucceed(() => undefined));
8
+ // Exec and command publish run with a closed environment: PATH plus the
9
+ // operation's named variables and nothing else. The parent environment is
10
+ // never inherited, so a plan states every variable a command can observe.
11
+ export const readEnvironment = (names) => Effect.forEach(["PATH", ...names], (name) => readOptionalEnv(name).pipe(Effect.map((value) => [name, value]))).pipe(Effect.map((entries) => ({
12
+ ...Object.fromEntries(entries.flatMap(([name, value]) => value === undefined ? [] : [[name, value]])),
13
+ TZ: "UTC",
14
+ LC_ALL: "C",
15
+ LANG: "C",
16
+ SOURCE_DATE_EPOCH: "0"
17
+ })));
18
+ //# sourceMappingURL=environment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/drivers/environment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,+EAA+E;AAC/E,6EAA6E;AAC7E,uEAAuE;AACvE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAqC,EAAE,CACjF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CACrC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,EACjC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CACtC,CAAA;AAEH,wEAAwE;AACxE,0EAA0E;AAC1E,0EAA0E;AAC1E,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,KAA4B,EACW,EAAE,CACzC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAC1C,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,CAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAC/E,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACvB,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACrG,EAAE,EAAE,KAAK;IACT,MAAM,EAAE,GAAG;IACX,IAAI,EAAE,GAAG;IACT,iBAAiB,EAAE,GAAG;CACvB,CAAC,CAAC,CAAC,CAAA"}
@@ -0,0 +1,9 @@
1
+ import * as Schema from "effect/Schema";
2
+ declare const DriverError_base: Schema.Class<DriverError, Schema.TaggedStruct<"DriverError", {
3
+ readonly reason: Schema.String;
4
+ readonly commitment: Schema.Literals<readonly ["before-commit", "unknown"]>;
5
+ }>, import("effect/Cause").YieldableError>;
6
+ export declare class DriverError extends DriverError_base {
7
+ }
8
+ export {};
9
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/drivers/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;;;;;AAEvC,qBAAa,WACX,SAAQ,gBAEN;CAAG"}
@@ -0,0 +1,6 @@
1
+ import * as Schema from "effect/Schema";
2
+ export class DriverError extends Schema.TaggedErrorClass()("DriverError", {
3
+ reason: Schema.String, commitment: Schema.Literals(["before-commit", "unknown"])
4
+ }) {
5
+ }
6
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/drivers/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,MAAM,OAAO,WACX,SAAQ,MAAM,CAAC,gBAAgB,EAAe,CAAC,aAAa,EAAE;IAC5D,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;CACjF,CAAC;CAAG"}
@@ -0,0 +1,2 @@
1
+ export declare const matchGlob: (pattern: string) => (path: string) => boolean;
2
+ //# sourceMappingURL=glob.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glob.d.ts","sourceRoot":"","sources":["../../src/drivers/glob.ts"],"names":[],"mappings":"AAmIA,eAAO,MAAM,SAAS,GAAI,SAAS,MAAM,KAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAK7D,CAAA"}