@astrale-os/sdk 0.6.0-beta.2 → 0.6.0-beta.21

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 (403) hide show
  1. package/README.md +74 -14
  2. package/dist/application/action/action.d.ts +6 -0
  3. package/dist/application/action/authoring.d.ts +1 -1
  4. package/dist/application/action/context.d.ts +17 -8
  5. package/dist/application/action/define.d.ts +3 -3
  6. package/dist/application/action/index.d.ts +1 -1
  7. package/dist/application/define.d.ts +5 -5
  8. package/dist/application/define.js +13 -13
  9. package/dist/application/dependency/index.d.ts +1 -1
  10. package/dist/application/dependency/invoker.d.ts +11 -6
  11. package/dist/application/domain.d.ts +28 -0
  12. package/dist/application/index.d.ts +3 -3
  13. package/dist/application/index.js +1 -1
  14. package/dist/application/mutation/authoring/properties.d.ts +5 -3
  15. package/dist/application/mutation/authoring/properties.js +35 -2
  16. package/dist/application/mutation/authoring/transition.js +4 -1
  17. package/dist/application/routes/admission.d.ts +2 -2
  18. package/dist/application/routes/admission.js +1 -1
  19. package/dist/application/routes/route.d.ts +2 -2
  20. package/dist/application/runtime/actions.js +3 -0
  21. package/dist/application/runtime/workflows.d.ts +2 -0
  22. package/dist/application/runtime/workflows.js +5 -0
  23. package/dist/application/workflow/authoring.d.ts +3 -2
  24. package/dist/application/workflow/context.d.ts +8 -2
  25. package/dist/application/workflow/define.d.ts +3 -3
  26. package/dist/application/workflow/define.js +19 -3
  27. package/dist/application/workflow/durable.d.ts +83 -0
  28. package/dist/application/workflow/index.d.ts +3 -2
  29. package/dist/application/workflow/runner/inline.js +3 -4
  30. package/dist/application/workflow/runner/runner.d.ts +2 -2
  31. package/dist/application/workflow/step/output.d.ts +2 -0
  32. package/dist/application/workflow/step/output.js +73 -0
  33. package/dist/application/workflow/workflow.d.ts +12 -0
  34. package/dist/deployment/adapter/adapter.d.ts +59 -11
  35. package/dist/deployment/adapter/bundle/bundle.d.ts +36 -0
  36. package/dist/deployment/adapter/bundle/file.d.ts +10 -0
  37. package/dist/deployment/adapter/bundle/index.d.ts +2 -0
  38. package/dist/deployment/adapter/define.d.ts +25 -3
  39. package/dist/deployment/adapter/define.js +101 -24
  40. package/dist/deployment/adapter/index.d.ts +6 -3
  41. package/dist/deployment/adapter/index.js +1 -0
  42. package/dist/deployment/adapter/legacy/adapter.d.ts +40 -0
  43. package/dist/deployment/adapter/{deploy → legacy/deploy}/context.d.ts +6 -2
  44. package/dist/deployment/adapter/legacy/deploy/index.d.ts +2 -0
  45. package/dist/deployment/adapter/legacy/deploy/index.js +1 -0
  46. package/dist/deployment/adapter/legacy/deploy/result.d.ts +89 -0
  47. package/dist/deployment/adapter/legacy/deploy/result.js +1 -0
  48. package/dist/deployment/adapter/legacy/index.d.ts +24 -0
  49. package/dist/deployment/adapter/legacy/index.js +1 -0
  50. package/dist/deployment/adapter/legacy/prepare/artifact.d.ts +43 -0
  51. package/dist/deployment/adapter/legacy/prepare/artifact.js +1 -0
  52. package/dist/deployment/adapter/legacy/prepare/context.d.ts +33 -0
  53. package/dist/deployment/adapter/legacy/prepare/context.js +1 -0
  54. package/dist/deployment/adapter/legacy/prepare/index.d.ts +2 -0
  55. package/dist/deployment/adapter/legacy/prepare/index.js +1 -0
  56. package/dist/deployment/adapter/release/context.d.ts +95 -0
  57. package/dist/deployment/adapter/release/context.js +1 -0
  58. package/dist/deployment/adapter/release/index.d.ts +3 -0
  59. package/dist/deployment/adapter/release/index.js +1 -0
  60. package/dist/deployment/adapter/release/list.d.ts +53 -0
  61. package/dist/deployment/adapter/release/list.js +1 -0
  62. package/dist/deployment/adapter/release/refusal.d.ts +10 -0
  63. package/dist/deployment/adapter/release/refusal.js +14 -0
  64. package/dist/deployment/adapter/release/result.d.ts +56 -0
  65. package/dist/deployment/adapter/release/result.js +1 -0
  66. package/dist/deployment/address/configuration.d.ts +83 -0
  67. package/dist/deployment/address/configuration.js +262 -0
  68. package/dist/deployment/address/fingerprint.d.ts +5 -0
  69. package/dist/deployment/address/fingerprint.js +27 -0
  70. package/dist/deployment/address/index.d.ts +5 -0
  71. package/dist/deployment/address/index.js +5 -0
  72. package/dist/deployment/address/label.d.ts +42 -0
  73. package/dist/deployment/address/label.js +80 -0
  74. package/dist/deployment/address/line.d.ts +29 -0
  75. package/dist/deployment/address/line.js +53 -0
  76. package/dist/deployment/address/record.d.ts +52 -0
  77. package/dist/deployment/address/record.js +104 -0
  78. package/dist/deployment/address/summary.d.ts +57 -0
  79. package/dist/deployment/address/summary.js +117 -0
  80. package/dist/deployment/address/vectors.d.ts +60 -0
  81. package/dist/deployment/address/vectors.js +517 -0
  82. package/dist/deployment/build/build.d.ts +2 -2
  83. package/dist/deployment/build/compile.d.ts +4 -4
  84. package/dist/deployment/build/compile.js +17 -17
  85. package/dist/deployment/build/index.d.ts +1 -0
  86. package/dist/deployment/build/index.js +1 -0
  87. package/dist/deployment/build/manifest.d.ts +59 -0
  88. package/dist/deployment/build/manifest.js +118 -0
  89. package/dist/deployment/build/material.js +2 -2
  90. package/dist/deployment/build/schema.d.ts +2 -2
  91. package/dist/deployment/deploy.d.ts +10 -10
  92. package/dist/deployment/deploy.js +3 -3
  93. package/dist/deployment/deployment.d.ts +9 -4
  94. package/dist/deployment/environment.d.ts +6 -0
  95. package/dist/deployment/environment.js +6 -0
  96. package/dist/deployment/index.d.ts +4 -4
  97. package/dist/deployment/index.js +1 -1
  98. package/dist/deployment/release/addressing.d.ts +9 -1
  99. package/dist/deployment/release/assemble.d.ts +6 -3
  100. package/dist/deployment/release/assemble.js +12 -10
  101. package/dist/deployment/release/index.d.ts +2 -0
  102. package/dist/deployment/release/index.js +2 -0
  103. package/dist/deployment/release/legacy/admission.d.ts +3 -0
  104. package/dist/deployment/release/legacy/admission.js +8 -0
  105. package/dist/deployment/release/legacy/assemble.d.ts +5 -0
  106. package/dist/deployment/release/legacy/assemble.js +20 -0
  107. package/dist/deployment/release/legacy/index.d.ts +35 -0
  108. package/dist/deployment/release/legacy/index.js +34 -0
  109. package/dist/deployment/release/legacy/release.d.ts +12 -0
  110. package/dist/deployment/release/legacy/release.js +1 -0
  111. package/dist/deployment/release/{publication → legacy}/seal.d.ts +3 -3
  112. package/dist/deployment/release/legacy/seal.js +17 -0
  113. package/dist/deployment/release/release.d.ts +16 -5
  114. package/dist/deployment/release/runtime.d.ts +2 -0
  115. package/dist/deployment/release/runtime.js +2 -0
  116. package/dist/deployment/release/seal.d.ts +14 -0
  117. package/dist/deployment/release/seal.js +22 -0
  118. package/dist/deployment/release/{publication → served}/callables.d.ts +2 -2
  119. package/dist/deployment/release/{publication → served}/callables.js +2 -2
  120. package/dist/deployment/release/served/index.d.ts +12 -0
  121. package/dist/deployment/release/served/index.js +22 -0
  122. package/dist/deployment/release/{publication → served}/views.d.ts +2 -2
  123. package/dist/deployment/runtime/admission.d.ts +2 -2
  124. package/dist/deployment/runtime/admission.js +5 -5
  125. package/dist/deployment/verify/index.d.ts +2 -1
  126. package/dist/deployment/verify/index.js +1 -0
  127. package/dist/deployment/verify/preflight/artifact.d.ts +1 -1
  128. package/dist/deployment/verify/preflight/bundle.d.ts +18 -0
  129. package/dist/deployment/verify/preflight/bundle.js +71 -0
  130. package/dist/deployment/verify/preflight/index.d.ts +2 -1
  131. package/dist/deployment/verify/preflight/index.js +1 -0
  132. package/dist/deployment/verify/preflight/publication.d.ts +2 -2
  133. package/dist/deployment/verify/preflight/publication.js +4 -3
  134. package/dist/deployment/verify/readiness/deployment.js +7 -15
  135. package/dist/deployment/verify/readiness/fetch.d.ts +13 -0
  136. package/dist/deployment/verify/readiness/fetch.js +26 -0
  137. package/dist/deployment/verify/readiness/identity.d.ts +3 -6
  138. package/dist/deployment/verify/readiness/identity.js +3 -3
  139. package/dist/deployment/verify/readiness/index.d.ts +11 -7
  140. package/dist/deployment/verify/readiness/index.js +15 -4
  141. package/dist/deployment/verify/readiness/legacy/index.d.ts +2 -0
  142. package/dist/deployment/verify/readiness/legacy/index.js +2 -0
  143. package/dist/deployment/verify/readiness/legacy/publication.d.ts +12 -0
  144. package/dist/deployment/verify/readiness/legacy/publication.js +23 -0
  145. package/dist/deployment/verify/readiness/release.d.ts +8 -0
  146. package/dist/deployment/verify/readiness/release.js +22 -0
  147. package/dist/execution/identity/authentication.d.ts +23 -2
  148. package/dist/execution/identity/authentication.js +64 -40
  149. package/dist/execution/identity/callback.d.ts +16 -15
  150. package/dist/execution/identity/callback.js +21 -16
  151. package/dist/execution/identity/delivery.d.ts +11 -4
  152. package/dist/execution/identity/delivery.js +47 -20
  153. package/dist/execution/identity/identity.d.ts +18 -3
  154. package/dist/execution/identity/identity.js +8 -4
  155. package/dist/execution/identity/jwks.js +57 -12
  156. package/dist/execution/index.d.ts +4 -2
  157. package/dist/execution/index.js +2 -1
  158. package/dist/execution/invocation/admission/authentication.d.ts +3 -8
  159. package/dist/execution/invocation/admission/authentication.js +10 -24
  160. package/dist/execution/invocation/admission/authority.d.ts +15 -8
  161. package/dist/execution/invocation/admission/authority.js +5 -0
  162. package/dist/execution/invocation/admission/input.d.ts +2 -2
  163. package/dist/execution/invocation/admission/input.js +16 -2
  164. package/dist/execution/invocation/dependency/bind.d.ts +1 -1
  165. package/dist/execution/invocation/dependency/bind.js +35 -14
  166. package/dist/execution/invocation/dispatch/context.d.ts +2 -1
  167. package/dist/execution/invocation/dispatch/context.js +1 -1
  168. package/dist/execution/invocation/invocation.js +58 -16
  169. package/dist/execution/invocation/result/project.js +41 -1
  170. package/dist/execution/node/serve.d.ts +2 -2
  171. package/dist/execution/node/serve.js +1 -1
  172. package/dist/execution/runtime/index.d.ts +1 -0
  173. package/dist/execution/runtime/index.js +1 -0
  174. package/dist/execution/runtime/load.d.ts +3 -3
  175. package/dist/execution/runtime/load.js +3 -2
  176. package/dist/execution/runtime/release.d.ts +22 -0
  177. package/dist/execution/runtime/release.js +14 -0
  178. package/dist/execution/serve.d.ts +10 -4
  179. package/dist/execution/serve.js +3 -0
  180. package/dist/execution/service/create.js +39 -7
  181. package/dist/execution/service/initialization.d.ts +4 -4
  182. package/dist/execution/service/initialization.js +23 -14
  183. package/dist/execution/service/release.d.ts +2 -2
  184. package/dist/execution/service/release.js +3 -2
  185. package/dist/execution/service/service.d.ts +15 -5
  186. package/dist/execution/service/serving/delivery.d.ts +6 -0
  187. package/dist/execution/service/{publication → serving}/delivery.js +5 -1
  188. package/dist/execution/service/{publication → serving}/index.d.ts +1 -1
  189. package/dist/execution/service/serving/installation.d.ts +4 -0
  190. package/dist/execution/service/serving/installation.js +9 -0
  191. package/dist/execution/service/serving/legacy/index.d.ts +15 -0
  192. package/dist/execution/service/serving/legacy/index.js +19 -0
  193. package/dist/execution/service/serving/source.d.ts +18 -0
  194. package/dist/execution/service/serving/source.js +19 -0
  195. package/dist/execution/workflows/discovery.d.ts +14 -0
  196. package/dist/execution/workflows/discovery.js +151 -0
  197. package/dist/execution/workflows/engine.d.ts +52 -0
  198. package/dist/execution/workflows/engine.js +1 -0
  199. package/dist/execution/workflows/envelope.d.ts +12 -0
  200. package/dist/execution/workflows/envelope.js +46 -0
  201. package/dist/execution/workflows/failure.d.ts +11 -0
  202. package/dist/execution/workflows/failure.js +43 -0
  203. package/dist/execution/workflows/index.d.ts +4 -0
  204. package/dist/execution/workflows/index.js +3 -0
  205. package/dist/execution/workflows/options.d.ts +40 -0
  206. package/dist/execution/workflows/options.js +83 -0
  207. package/dist/execution/workflows/receiver.d.ts +22 -0
  208. package/dist/execution/workflows/receiver.js +99 -0
  209. package/dist/execution/workflows/route.d.ts +14 -0
  210. package/dist/execution/workflows/route.js +40 -0
  211. package/dist/execution/workflows/run.d.ts +22 -0
  212. package/dist/execution/workflows/run.js +211 -0
  213. package/dist/index.d.ts +3 -3
  214. package/dist/index.js +1 -1
  215. package/dist/platform/release/index.d.ts +27 -0
  216. package/dist/platform/release/index.js +27 -0
  217. package/dist/platform/schema/index.d.ts +2 -1
  218. package/dist/platform/schema/property-input.d.ts +15 -0
  219. package/dist/platform/schema/property-input.js +1 -0
  220. package/dist/platform/schema/property.d.ts +5 -0
  221. package/dist/platform/versioning/dependents.d.ts +18 -0
  222. package/dist/platform/versioning/dependents.js +15 -0
  223. package/dist/platform/versioning/index.d.ts +5 -0
  224. package/dist/platform/versioning/index.js +5 -0
  225. package/dist/platform/versioning/name.d.ts +38 -0
  226. package/dist/platform/versioning/name.js +58 -0
  227. package/dist/platform/versioning/reference.d.ts +48 -0
  228. package/dist/platform/versioning/reference.js +95 -0
  229. package/dist/platform/versioning/version.d.ts +72 -0
  230. package/dist/platform/versioning/version.js +98 -0
  231. package/dist/project/admit.js +2 -2
  232. package/dist/project/define.d.ts +4 -4
  233. package/dist/project/define.js +55 -35
  234. package/dist/project/index.d.ts +1 -1
  235. package/dist/project/install-command.d.ts +10 -0
  236. package/dist/project/install-command.js +13 -0
  237. package/dist/project/project.d.ts +10 -8
  238. package/dist/testing/dataset/builder.d.ts +3 -3
  239. package/dist/testing/dataset/define.d.ts +1 -1
  240. package/dist/testing/load.js +1 -1
  241. package/dist/tooling/cli/arguments.d.ts +10 -5
  242. package/dist/tooling/cli/arguments.js +123 -52
  243. package/dist/tooling/cli/build.d.ts +55 -0
  244. package/dist/tooling/cli/build.js +77 -0
  245. package/dist/tooling/cli/bun.d.ts +0 -1
  246. package/dist/tooling/cli/bun.js +0 -7
  247. package/dist/tooling/cli/commit.d.ts +35 -0
  248. package/dist/tooling/cli/commit.js +235 -0
  249. package/dist/tooling/cli/deploy-mode.d.ts +82 -0
  250. package/dist/tooling/cli/deploy-mode.js +135 -0
  251. package/dist/tooling/cli/deploy-result.d.ts +85 -0
  252. package/dist/tooling/cli/deploy-result.js +64 -0
  253. package/dist/tooling/cli/diff/declared.d.ts +7 -0
  254. package/dist/tooling/cli/diff/declared.js +27 -0
  255. package/dist/tooling/cli/diff/index.d.ts +30 -0
  256. package/dist/tooling/cli/diff/index.js +58 -0
  257. package/dist/tooling/cli/diff/render.d.ts +15 -0
  258. package/dist/tooling/cli/diff/render.js +131 -0
  259. package/dist/tooling/cli/diff/report.d.ts +88 -0
  260. package/dist/tooling/cli/diff/report.js +154 -0
  261. package/dist/tooling/cli/dotenv.d.ts +2 -2
  262. package/dist/tooling/cli/dotenv.js +3 -33
  263. package/dist/tooling/cli/help.js +176 -59
  264. package/dist/tooling/cli/immutable-deployment.d.ts +83 -0
  265. package/dist/tooling/cli/immutable-deployment.js +135 -0
  266. package/dist/tooling/cli/index.d.ts +10 -4
  267. package/dist/tooling/cli/index.js +5 -3
  268. package/dist/tooling/cli/installed-on.d.ts +83 -0
  269. package/dist/tooling/cli/installed-on.js +156 -0
  270. package/dist/tooling/cli/legacy/deploy-result.d.ts +28 -0
  271. package/dist/tooling/cli/legacy/deploy-result.js +37 -0
  272. package/dist/tooling/cli/legacy/stable-target-adapter.d.ts +21 -0
  273. package/dist/tooling/cli/legacy/stable-target-adapter.js +14 -0
  274. package/dist/tooling/cli/legacy/stable-target-deploy.d.ts +40 -0
  275. package/dist/tooling/cli/legacy/stable-target-deploy.js +102 -0
  276. package/dist/tooling/cli/legacy/uploaded-build.d.ts +11 -0
  277. package/dist/tooling/cli/legacy/uploaded-build.js +22 -0
  278. package/dist/tooling/cli/list.d.ts +154 -0
  279. package/dist/tooling/cli/list.js +381 -0
  280. package/dist/tooling/cli/log.d.ts +5 -0
  281. package/dist/tooling/cli/log.js +9 -0
  282. package/dist/tooling/cli/orchestrate.d.ts +0 -6
  283. package/dist/tooling/cli/orchestrate.js +236 -88
  284. package/dist/tooling/cli/project.d.ts +3 -3
  285. package/dist/tooling/cli/publish/index.d.ts +73 -0
  286. package/dist/tooling/cli/publish/index.js +346 -0
  287. package/dist/tooling/cli/publish/report.d.ts +49 -0
  288. package/dist/tooling/cli/publish/report.js +15 -0
  289. package/dist/tooling/cli/registry/client.d.ts +114 -0
  290. package/dist/tooling/cli/registry/client.js +346 -0
  291. package/dist/tooling/cli/registry/error.d.ts +11 -0
  292. package/dist/tooling/cli/registry/error.js +17 -0
  293. package/dist/tooling/cli/registry/executable.d.ts +29 -0
  294. package/dist/tooling/cli/registry/executable.js +90 -0
  295. package/dist/tooling/cli/registry/index.d.ts +9 -0
  296. package/dist/tooling/cli/registry/index.js +8 -0
  297. package/dist/tooling/cli/registry/installations.d.ts +67 -0
  298. package/dist/tooling/cli/registry/installations.js +108 -0
  299. package/dist/tooling/cli/registry/process.d.ts +36 -0
  300. package/dist/tooling/cli/registry/process.js +119 -0
  301. package/dist/tooling/cli/secrets.d.ts +9 -0
  302. package/dist/tooling/cli/secrets.js +19 -0
  303. package/dist/tooling/cli/yank.d.ts +34 -0
  304. package/dist/tooling/cli/yank.js +32 -0
  305. package/dist/tooling/linter/implementations/source/callable-requirements.d.ts +1 -1
  306. package/dist/tooling/linter/implementations/source/callable-requirements.js +10 -10
  307. package/dist/tooling/linter/implementations/source/dependencies.js +12 -10
  308. package/dist/tooling/linter/implementations/source/global.js +1 -1
  309. package/dist/tooling/linter/implementations/source/mutations.js +17 -17
  310. package/dist/tooling/linter/implementations/source/providers.js +5 -5
  311. package/dist/tooling/linter/implementations/source/views.js +2 -2
  312. package/dist/tooling/linter/policy/generated.js +16 -16
  313. package/dist/tooling/packaging/declarations/ownership.js +1 -1
  314. package/dist/tooling/packaging/finalize.d.ts +1 -1
  315. package/dist/tooling/packaging/finalize.js +1 -1
  316. package/package.json +32 -11
  317. package/dist/application/application.d.ts +0 -28
  318. package/dist/deployment/adapter/deploy/index.d.ts +0 -2
  319. package/dist/deployment/adapter/deploy/result.d.ts +0 -50
  320. package/dist/deployment/adapter/prepare/artifact.d.ts +0 -33
  321. package/dist/deployment/adapter/prepare/context.d.ts +0 -23
  322. package/dist/deployment/adapter/prepare/index.d.ts +0 -2
  323. package/dist/deployment/release/publication/index.d.ts +0 -6
  324. package/dist/deployment/release/publication/index.js +0 -6
  325. package/dist/deployment/release/publication/manifest.d.ts +0 -3
  326. package/dist/deployment/release/publication/manifest.js +0 -5
  327. package/dist/deployment/release/publication/requirements.d.ts +0 -3
  328. package/dist/deployment/release/publication/requirements.js +0 -3
  329. package/dist/deployment/release/publication/seal.js +0 -39
  330. package/dist/deployment/verify/readiness/publication.d.ts +0 -11
  331. package/dist/deployment/verify/readiness/publication.js +0 -41
  332. package/dist/execution/service/publication/delivery.d.ts +0 -2
  333. package/dist/execution/service/publication/installation.d.ts +0 -3
  334. package/dist/execution/service/publication/installation.js +0 -8
  335. package/dist/execution/service/publication/source.d.ts +0 -3
  336. package/dist/execution/service/publication/source.js +0 -11
  337. package/dist/platform/publication/index.d.ts +0 -2
  338. package/dist/platform/publication/index.js +0 -2
  339. package/dist/tooling/cli/astrale/authority.d.ts +0 -5
  340. package/dist/tooling/cli/astrale/authority.js +0 -11
  341. package/dist/tooling/cli/astrale/executable.d.ts +0 -2
  342. package/dist/tooling/cli/astrale/executable.js +0 -47
  343. package/dist/tooling/cli/astrale/failure.d.ts +0 -6
  344. package/dist/tooling/cli/astrale/failure.js +0 -48
  345. package/dist/tooling/cli/astrale/instance.d.ts +0 -11
  346. package/dist/tooling/cli/astrale/instance.js +0 -52
  347. package/dist/tooling/cli/astrale/process.d.ts +0 -13
  348. package/dist/tooling/cli/astrale/process.js +0 -94
  349. package/dist/tooling/cli/astrale/version.d.ts +0 -18
  350. package/dist/tooling/cli/astrale/version.js +0 -55
  351. package/dist/tooling/cli/credential.d.ts +0 -2
  352. package/dist/tooling/cli/credential.js +0 -57
  353. package/dist/tooling/cli/development/candidate.d.ts +0 -25
  354. package/dist/tooling/cli/development/candidate.js +0 -176
  355. package/dist/tooling/cli/development/deployment.d.ts +0 -16
  356. package/dist/tooling/cli/development/deployment.js +0 -39
  357. package/dist/tooling/cli/development/develop.d.ts +0 -11
  358. package/dist/tooling/cli/development/develop.js +0 -243
  359. package/dist/tooling/cli/development/lease.d.ts +0 -18
  360. package/dist/tooling/cli/development/lease.js +0 -163
  361. package/dist/tooling/cli/development/lifecycle.d.ts +0 -9
  362. package/dist/tooling/cli/development/lifecycle.js +0 -43
  363. package/dist/tooling/cli/development/project-imports.d.ts +0 -22
  364. package/dist/tooling/cli/development/project-imports.js +0 -39
  365. package/dist/tooling/cli/development/project-lock.d.ts +0 -16
  366. package/dist/tooling/cli/development/project-lock.js +0 -41
  367. package/dist/tooling/cli/development/rebuild.d.ts +0 -13
  368. package/dist/tooling/cli/development/rebuild.js +0 -58
  369. package/dist/tooling/cli/development/release-evidence.d.ts +0 -4
  370. package/dist/tooling/cli/development/release-evidence.js +0 -10
  371. package/dist/tooling/cli/development/report.d.ts +0 -6
  372. package/dist/tooling/cli/development/report.js +0 -14
  373. package/dist/tooling/cli/development/session-file.d.ts +0 -53
  374. package/dist/tooling/cli/development/session-file.js +0 -337
  375. package/dist/tooling/cli/development/source-watch.d.ts +0 -14
  376. package/dist/tooling/cli/development/source-watch.js +0 -140
  377. package/dist/tooling/cli/development/sources.d.ts +0 -7
  378. package/dist/tooling/cli/development/sources.js +0 -48
  379. package/dist/tooling/cli/development/target-lock.d.ts +0 -16
  380. package/dist/tooling/cli/development/target-lock.js +0 -68
  381. package/dist/tooling/cli/development/view.d.ts +0 -28
  382. package/dist/tooling/cli/development/view.js +0 -151
  383. package/dist/tooling/cli/environment-release.d.ts +0 -21
  384. package/dist/tooling/cli/environment-release.js +0 -46
  385. package/dist/tooling/cli/evidence.d.ts +0 -11
  386. package/dist/tooling/cli/evidence.js +0 -53
  387. package/dist/tooling/cli/installation/index.d.ts +0 -2
  388. package/dist/tooling/cli/installation/index.js +0 -1
  389. package/dist/tooling/cli/installation/observation.d.ts +0 -10
  390. package/dist/tooling/cli/installation/observation.js +0 -44
  391. package/dist/tooling/cli/installation/reconcile.d.ts +0 -32
  392. package/dist/tooling/cli/installation/reconcile.js +0 -122
  393. /package/dist/application/{application.js → domain.js} +0 -0
  394. /package/dist/{deployment/adapter/deploy/context.js → application/workflow/durable.js} +0 -0
  395. /package/dist/deployment/adapter/{deploy/index.js → bundle/bundle.js} +0 -0
  396. /package/dist/deployment/adapter/{deploy/result.js → bundle/file.js} +0 -0
  397. /package/dist/deployment/adapter/{prepare → bundle}/index.js +0 -0
  398. /package/dist/deployment/adapter/{prepare/artifact.js → legacy/adapter.js} +0 -0
  399. /package/dist/deployment/adapter/{prepare → legacy/deploy}/context.js +0 -0
  400. /package/dist/deployment/release/{publication → served}/routes.d.ts +0 -0
  401. /package/dist/deployment/release/{publication → served}/routes.js +0 -0
  402. /package/dist/deployment/release/{publication → served}/views.js +0 -0
  403. /package/dist/execution/service/{publication → serving}/index.js +0 -0
@@ -1,29 +1,78 @@
1
1
  import { captureDeployment } from '../deployment.js';
2
2
  const admittedAdapters = new WeakSet();
3
- /** Capture one receiver-bound provider adapter. */
3
+ const admittedBundlers = new WeakMap();
4
+ /** Every field an adapter definition may declare, in either contract. */
5
+ const FIELDS = [
6
+ 'name',
7
+ 'version',
8
+ 'bundler',
9
+ 'admit',
10
+ 'configure',
11
+ 'placement',
12
+ 'deployRelease',
13
+ 'list',
14
+ 'retain',
15
+ 'prepare',
16
+ 'deploy',
17
+ 'secretsFile',
18
+ ];
19
+ /** The operations that make a definition adapter interface v2. */
20
+ const RELEASE_OPERATIONS = ['configure', 'placement', 'deployRelease'];
21
+ const OPTIONAL_RELEASE_OPERATIONS = ['list', 'retain'];
22
+ /** The operations of the legacy direct-mode path. */
23
+ const STABLE_TARGET_OPERATIONS = ['prepare', 'deploy'];
24
+ /** Every operation an adapter may declare, in the order an admitted adapter lists them. */
25
+ const OPERATIONS = FIELDS.filter((key) => key !== 'name' && key !== 'version' && key !== 'bundler');
4
26
  export function defineAdapter(input) {
5
27
  const value = record(input, 'Adapter definition');
6
- exact(value, ['name', 'version', 'prepare', 'deploy'], ['admit', 'secretsFile']);
28
+ if (Reflect.ownKeys(value).some((key) => !FIELDS.includes(key))) {
29
+ invalidFields();
30
+ }
31
+ const declared = (key) => value[key] !== undefined;
32
+ const release = [...RELEASE_OPERATIONS, ...OPTIONAL_RELEASE_OPERATIONS].some(declared);
33
+ // A legacy definition names both operations, as it always had to; v2 treats undefined as absent.
34
+ const stableTarget = STABLE_TARGET_OPERATIONS.filter((key) => release ? declared(key) : Object.hasOwn(value, key));
35
+ if (!release && stableTarget.length !== STABLE_TARGET_OPERATIONS.length)
36
+ invalidFields();
7
37
  const name = stableName(input.name);
8
38
  const version = stableName(input.version);
39
+ if (release)
40
+ admitRelease(name, value, stableTarget.length);
41
+ if (value.bundler === undefined)
42
+ missingBundler(name);
43
+ const bundler = admitBundler(input.bundler);
9
44
  const receiver = Object.freeze({ ...input });
10
- const admit = optional(receiver, 'admit');
11
- const prepare = capture(receiver, 'prepare');
12
- const deploy = capture(receiver, 'deploy');
13
- const secretsFile = optional(receiver, 'secretsFile');
45
+ const required = new Set([...(release ? RELEASE_OPERATIONS : []), ...stableTarget]);
46
+ const operations = Object.fromEntries(OPERATIONS.filter((key) => required.has(key) || declared(key)).map((key) => [
47
+ key,
48
+ capture(receiver, key),
49
+ ]));
14
50
  const adapter = Object.freeze({
15
51
  kind: 'adapter',
16
52
  name,
17
53
  version,
18
- ...(admit === undefined ? {} : { admit }),
19
- prepare,
20
- deploy,
21
- ...(secretsFile === undefined ? {} : { secretsFile }),
54
+ bundler,
55
+ ...operations,
22
56
  });
23
57
  admittedAdapters.add(adapter);
24
58
  return adapter;
25
59
  }
26
- /** Bind one provider adapter to the parameters of one Project Environment. */
60
+ /**
61
+ * An adapter interface v2 definition implements configure, placement and deployRelease, and keeps
62
+ * prepare with deploy, or neither.
63
+ */
64
+ function admitRelease(name, value, stableTargetOperations) {
65
+ const missing = RELEASE_OPERATIONS.filter((key) => value[key] === undefined);
66
+ if (missing.length > 0) {
67
+ throw new TypeError(`Adapter ${name} declares part of adapter interface v2 without ${missing.join(', ')}: ` +
68
+ 'an adapter that deploys immutable deployments implements configure, placement and ' +
69
+ 'deployRelease.');
70
+ }
71
+ if (stableTargetOperations === 1) {
72
+ throw new TypeError(`Adapter ${name} declares only one of prepare and deploy: an adapter that keeps the legacy ` +
73
+ 'direct-mode path declares both.');
74
+ }
75
+ }
27
76
  export function defineDeployment(adapter, parameters) {
28
77
  if (!isAdapter(adapter))
29
78
  throw new TypeError('Deployment Adapter is not admitted.');
@@ -32,12 +81,39 @@ export function defineDeployment(adapter, parameters) {
32
81
  }
33
82
  return captureDeployment(adapter, Object.freeze({ ...parameters }));
34
83
  }
84
+ /** Whether `defineAdapter` admitted this value, on either contract. */
35
85
  export function isAdapter(input) {
36
86
  return input !== null && typeof input === 'object' && admittedAdapters.has(input);
37
87
  }
38
- function stableName(input) {
88
+ /**
89
+ * Capture one receiver-bound bundler; its id and version name the bytes it produces. Adapters that
90
+ * declare one bundler object receive one admitted Bundler, so `astrale-domain build` bundles once
91
+ * for all of them.
92
+ */
93
+ function admitBundler(input) {
94
+ const value = record(input, 'Bundler');
95
+ if (Reflect.ownKeys(value).some((key) => key !== 'id' && key !== 'version' && key !== 'bundle') ||
96
+ typeof input.bundle !== 'function') {
97
+ throw new TypeError('Bundler must declare exactly id, version and bundle.');
98
+ }
99
+ const admitted = admittedBundlers.get(value);
100
+ if (admitted !== undefined &&
101
+ admitted.declared === input.bundle &&
102
+ admitted.bundler.id === input.id &&
103
+ admitted.bundler.version === input.version) {
104
+ return admitted.bundler;
105
+ }
106
+ const bundler = Object.freeze({
107
+ id: stableName(input.id, 'Bundler id'),
108
+ version: stableName(input.version, 'Bundler version'),
109
+ bundle: input.bundle.bind(input),
110
+ });
111
+ admittedBundlers.set(value, { declared: input.bundle, bundler });
112
+ return bundler;
113
+ }
114
+ function stableName(input, label = 'Adapter name') {
39
115
  if (typeof input !== 'string' || input.length === 0 || input.trim() !== input) {
40
- throw new TypeError('Adapter name must be a non-empty stable string.');
116
+ throw new TypeError(`${label} must be a non-empty stable string.`);
41
117
  }
42
118
  return input;
43
119
  }
@@ -47,20 +123,21 @@ function record(input, label) {
47
123
  }
48
124
  return input;
49
125
  }
50
- function exact(input, required, optional) {
51
- const allowed = new Set([...required, ...optional]);
52
- if (required.some((key) => !Object.hasOwn(input, key)) ||
53
- Reflect.ownKeys(input).some((key) => !allowed.has(key))) {
54
- throw new TypeError('Adapter definition contains missing or unknown fields.');
55
- }
126
+ /** Every adapter, on either contract, declares the bundler of the bytes it deploys. */
127
+ function missingBundler(name) {
128
+ throw new TypeError(`Adapter ${name} declares no bundler. ` +
129
+ 'Every adapter declares `bundler`: the bundler of the environment-free bytes ' +
130
+ '`astrale-domain build` identifies by their build digest and `astrale-domain deploy` hands ' +
131
+ 'to the adapter as its Bundle (a Cloudflare Worker adapter declares ' +
132
+ '`cloudflareWorkerBundler` from `@astrale-os/adapter-cloudflare/build`).');
133
+ }
134
+ function invalidFields() {
135
+ throw new TypeError('Adapter definition contains missing or unknown fields.');
56
136
  }
57
137
  function capture(receiver, key) {
58
- const method = receiver[key];
138
+ const method = Reflect.get(receiver, key);
59
139
  if (typeof method !== 'function') {
60
- throw new TypeError(`Adapter ${String(key)} operation is invalid.`);
140
+ throw new TypeError(`Adapter ${key} operation is invalid.`);
61
141
  }
62
142
  return method.bind(receiver);
63
143
  }
64
- function optional(receiver, key) {
65
- return receiver[key] === undefined ? undefined : capture(receiver, key);
66
- }
@@ -1,4 +1,7 @@
1
- export type { Adapter, AdapterEnvironmentContext, AdapterInput, InstallationTarget, } from './adapter.js';
1
+ export type { Adapter, AdapterEnvironmentContext, AdapterInput } from './adapter.js';
2
2
  export { defineAdapter, defineDeployment, isAdapter } from './define.js';
3
- export type * from './prepare/index.js';
4
- export type * from './deploy/index.js';
3
+ export { RetainRefusal } from './release/refusal.js';
4
+ export type * from './bundle/index.js';
5
+ export type * from './release/index.js';
6
+ /** @deprecated The contract before adapter interface v2; see `./legacy/index.ts`. */
7
+ export type * from './legacy/index.js';
@@ -1 +1,2 @@
1
1
  export { defineAdapter, defineDeployment, isAdapter } from './define.js';
2
+ export { RetainRefusal } from './release/refusal.js';
@@ -0,0 +1,40 @@
1
+ import type { AdapterEnvironmentContext } from '../adapter.js';
2
+ import type { Bundler } from '../bundle/index.js';
3
+ import type { DeployContext, DeployResult } from './deploy/index.js';
4
+ import type { ArtifactSource, PrepareContext } from './prepare/index.js';
5
+ /**
6
+ * A provider adapter on the contract before adapter interface v2: `prepare` places a build at one
7
+ * stable target per Environment and `deploy` replaces that target's code in place. It declares no
8
+ * `deployRelease`, so every Environment it deploys is on the legacy direct-mode path (CT33). Like
9
+ * every adapter, it declares its `bundler`: `astrale-domain deploy` bundles first and `prepare`
10
+ * only places that Bundle.
11
+ *
12
+ * @deprecated Replacement: `Adapter` (adapter interface v2), whose `deployRelease` deploys one
13
+ * sealed release as one immutable deployment. See `./index.ts` for its consumers and removal.
14
+ */
15
+ export interface LegacyAdapter<Parameters extends object = object> {
16
+ readonly kind: 'adapter';
17
+ readonly name: string;
18
+ readonly version: string;
19
+ /** Environment-free bytes `astrale-domain build` identifies by their build digest. */
20
+ readonly bundler: Bundler;
21
+ admit?(parameters: Parameters, context: AdapterEnvironmentContext): void;
22
+ prepare(parameters: Parameters, context: PrepareContext): Promise<ArtifactSource>;
23
+ deploy(parameters: Parameters, context: DeployContext): Promise<DeployResult>;
24
+ readonly secretsFile?: (parameters: Parameters) => string | undefined;
25
+ }
26
+ /**
27
+ * What `defineAdapter` admits for a `LegacyAdapter`.
28
+ *
29
+ * @deprecated Replacement: `AdapterInput` (adapter interface v2). See `./index.ts`.
30
+ */
31
+ export interface LegacyAdapterInput<Parameters extends object> {
32
+ readonly name: string;
33
+ readonly version: string;
34
+ /** Environment-free bytes `astrale-domain build` identifies by their build digest. */
35
+ readonly bundler: Bundler;
36
+ admit?(parameters: Parameters, context: AdapterEnvironmentContext): void;
37
+ prepare(parameters: Parameters, context: PrepareContext): Promise<ArtifactSource>;
38
+ deploy(parameters: Parameters, context: DeployContext): Promise<DeployResult>;
39
+ readonly secretsFile?: (parameters: Parameters) => string | undefined;
40
+ }
@@ -1,9 +1,13 @@
1
- import type { InstallationTarget } from '../adapter.js';
2
1
  import type { PreparedArtifact } from '../prepare/index.js';
2
+ /**
3
+ * What a legacy `deploy` receives to replace one Environment's stable target in place.
4
+ *
5
+ * @deprecated Legacy `prepare`/`deploy` contract (see `../index.ts`). Replacement:
6
+ * `ReleaseDeployContext`, which `deployRelease` receives.
7
+ */
3
8
  export interface DeployContext {
4
9
  readonly projectDir: string;
5
10
  readonly environment: string;
6
- readonly installation?: InstallationTarget;
7
11
  /** Optional command-scoped identity override (`--as`). */
8
12
  readonly identity?: string;
9
13
  /** Optional command-scoped credential; trusted adapters must neither retain nor disclose it. */
@@ -0,0 +1,2 @@
1
+ export type { DeployContext } from './context.js';
2
+ export type { AppliedProviderDeployment, DeploymentPhase, DeploymentProgress, DeployResult, FailedDeployResult, ProviderDeploymentEvidence, ReadyDeployResult, } from './result.js';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,89 @@
1
+ import type { Digest } from '@astrale-os/kernel-protocol/artifact';
2
+ import type { BuildDigest } from '../../../build/index.js';
3
+ import type { Addressing } from '../../../release/index.js';
4
+ import type { Release } from '../../../release/legacy/index.js';
5
+ import type { MutationKnowledge } from '../../release/index.js';
6
+ /**
7
+ * Where a legacy `deploy` stopped.
8
+ *
9
+ * @deprecated Legacy `prepare`/`deploy` contract (see `../index.ts`). Replacement:
10
+ * `ReleaseDeploymentPhase`; an immutable deployment is neither addressed nor installed by its deploy.
11
+ */
12
+ export type DeploymentPhase = 'prerequisite' | 'provider' | 'addressing' | 'release' | 'configuration' | 'readiness';
13
+ /**
14
+ * What a provider reports for the stable target it replaced.
15
+ *
16
+ * @deprecated Legacy `prepare`/`deploy` contract (see `../index.ts`). Replacement: the
17
+ * `DeploymentRecordV1` of `ReadyReleaseDeployResult`; a provider deployment or version id never
18
+ * identifies an immutable deployment.
19
+ */
20
+ export interface ProviderDeploymentEvidence {
21
+ readonly provider: string;
22
+ readonly deployment: string;
23
+ readonly artifact: Digest;
24
+ /**
25
+ * Build digest of the portable upload (modules and assets) this deployment was made from, which
26
+ * `astrale-domain deploy` compares with the Bundle it passed as `PrepareContext.bundle`. Present
27
+ * only when preparation placed that Bundle. A provider that bundles the upload again (Wrangler in
28
+ * direct mode) runs other bytes than these. Legacy prepare/deploy surface: deleted with it.
29
+ */
30
+ readonly build?: BuildDigest;
31
+ readonly issuer?: Addressing['issuer'];
32
+ /** Optional provider-side check before promotion; distinct from public readiness. */
33
+ readonly preflight?: 'passed' | 'unavailable';
34
+ }
35
+ /** @deprecated Legacy `prepare`/`deploy` contract (see `../index.ts`). */
36
+ export type AppliedProviderDeployment = {
37
+ readonly kind: 'applied';
38
+ readonly evidence: ProviderDeploymentEvidence & {
39
+ readonly issuer: Addressing['issuer'];
40
+ };
41
+ };
42
+ /**
43
+ * What a legacy `deploy` changed, effect by effect.
44
+ *
45
+ * @deprecated Legacy `prepare`/`deploy` contract (see `../index.ts`). Replacement:
46
+ * `FailedReleaseDeployResult.provider`.
47
+ */
48
+ export interface DeploymentProgress {
49
+ readonly prerequisite: MutationKnowledge;
50
+ readonly provider: MutationKnowledge<ProviderDeploymentEvidence>;
51
+ readonly configuration: MutationKnowledge;
52
+ }
53
+ /**
54
+ * A stable target replaced in place and ready.
55
+ *
56
+ * @deprecated Legacy `prepare`/`deploy` contract (see `../index.ts`). Replacement:
57
+ * `ReadyReleaseDeployResult`, the immutable deployment `deployRelease` created or reused.
58
+ */
59
+ export interface ReadyDeployResult {
60
+ readonly status: 'ready';
61
+ readonly phase: 'complete';
62
+ readonly progress: DeploymentProgress & {
63
+ readonly provider: AppliedProviderDeployment;
64
+ };
65
+ /**
66
+ * The stable-target Release (v3 Publication) of the legacy `deploy` operation. A canonical deploy
67
+ * reaches its adapter through `deployRelease` with the v4 Release (CT23); D10 deletes `deploy`
68
+ * and this result with the direct-mode path.
69
+ */
70
+ readonly release: Release;
71
+ }
72
+ /**
73
+ * A legacy `deploy` that did not reach a ready stable target.
74
+ *
75
+ * @deprecated Legacy `prepare`/`deploy` contract (see `../index.ts`). Replacement:
76
+ * `FailedReleaseDeployResult`.
77
+ */
78
+ export interface FailedDeployResult {
79
+ readonly status: 'failed';
80
+ readonly phase: DeploymentPhase;
81
+ readonly progress: DeploymentProgress;
82
+ readonly error: Error;
83
+ readonly release?: Release;
84
+ }
85
+ /**
86
+ * @deprecated Legacy `prepare`/`deploy` contract (see `../index.ts`). Replacement:
87
+ * `ReleaseDeployResult`.
88
+ */
89
+ export type DeployResult = ReadyDeployResult | FailedDeployResult;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,24 @@
1
+ /**
2
+ * The adapter contract before adapter interface v2: `prepare` places a build at one stable target
3
+ * per Environment, `deploy` replaces that target's code in place, and the stable target serves a
4
+ * v3 Publication under an issuer bound to it for life. Neither installs anything.
5
+ *
6
+ * @deprecated Replacement: `Adapter` (adapter interface v2): beside the same `bundler`, `configure`,
7
+ * `placement` and `deployRelease`, which deploys one sealed release as one immutable deployment,
8
+ * created or reused, and installs nothing.
9
+ *
10
+ * Short-term consumers: the legacy direct-mode path (CT33), which `astrale-domain deploy`
11
+ * runs through these operations: adapter-cloudflare direct mode (`route`,
12
+ * `workerName`, `identityIssuer`, `addressing`, `signingIdentity`, or no `namespace`), which serves
13
+ * the configurations of domains ai-gateway, closing, grc, integrations and issues (until SV15),
14
+ * domains organization (until it leaves direct mode, AM-147), the Services `beta` and `prod` (until
15
+ * SV12), `development` (until SV9) and frozen `admin-beta` (until D19) environments, shell (until
16
+ * SH2) and its frozen `legacy-v3` (until D22), and ui:domain (until UI1).
17
+ *
18
+ * Removal: D10, once no configuration on any repository's main selects the direct-mode path
19
+ * (CT33, AM-147); it deletes these types with `prepare`/`deploy`, `src/deployment/release/legacy`
20
+ * and the stable-target CLI path.
21
+ */
22
+ export type { LegacyAdapter, LegacyAdapterInput } from './adapter.js';
23
+ export type * from './prepare/index.js';
24
+ export type * from './deploy/index.js';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,43 @@
1
+ import type { Digest } from '@astrale-os/kernel-protocol/artifact';
2
+ import type { Build } from '../../../build/index.js';
3
+ import type { Addressing } from '../../../release/index.js';
4
+ import type { ArtifactFile, PreparedArtifactFile } from '../../bundle/index.js';
5
+ /**
6
+ * Where the stable target of one Environment answers: configured by the author or assigned by the
7
+ * provider.
8
+ *
9
+ * @deprecated Legacy `prepare`/`deploy` contract (see `../index.ts`). Replacement: `Placement`,
10
+ * from which `deploymentUrl(label, placement.routingDomain)` derives an immutable deployment's URL.
11
+ */
12
+ export type AddressingPlan = {
13
+ readonly kind: 'configured';
14
+ readonly addressing: Addressing;
15
+ } | {
16
+ readonly kind: 'provider-assigned';
17
+ readonly claim: string;
18
+ };
19
+ /**
20
+ * Untrusted provider-specific preparation output admitted by verify/preflight.
21
+ *
22
+ * @deprecated Legacy `prepare`/`deploy` contract (see `../index.ts`). Replacement: the `Bundle`
23
+ * the adapter's `bundler` produces, which `deployRelease` receives.
24
+ */
25
+ export interface ArtifactSource {
26
+ readonly entrypoint: string;
27
+ readonly files: readonly ArtifactFile[];
28
+ readonly addressing: AddressingPlan;
29
+ }
30
+ /**
31
+ * Exact detached input supplied to every provider deployment effect.
32
+ *
33
+ * @deprecated Legacy `prepare`/`deploy` contract (see `../index.ts`). Replacement: the `Bundle`
34
+ * and `FrozenConfigurationV1` that `deployRelease` receives.
35
+ */
36
+ export interface PreparedArtifact<BuildValue extends Build = Build> {
37
+ readonly kind: 'prepared-artifact';
38
+ readonly build: BuildValue;
39
+ readonly digest: Digest;
40
+ readonly entrypoint: string;
41
+ readonly files: readonly PreparedArtifactFile[];
42
+ readonly addressing: AddressingPlan;
43
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,33 @@
1
+ import type { Build } from '../../../build/index.js';
2
+ import type { ResolvedRuntimeReference } from '../../../runtime/index.js';
3
+ import type { Bundle } from '../../bundle/index.js';
4
+ /**
5
+ * What `prepare` receives to produce the artifact of one Environment's stable target.
6
+ *
7
+ * @deprecated Legacy `prepare`/`deploy` contract (see `../index.ts`). Replacement: `configure`,
8
+ * `placement` and the Bundle of the adapter's `bundler`, which `deployRelease` receives.
9
+ */
10
+ export interface PrepareContext<BuildValue extends Build = Build> {
11
+ readonly projectDir: string;
12
+ readonly environment: string;
13
+ /**
14
+ * Preparation purpose. One-shot deployment prepares complete release artifacts. Omitted by
15
+ * older custom callers means release for compatibility during the beta migration.
16
+ */
17
+ readonly mode?: 'release';
18
+ /**
19
+ * Optional preparation-input observer used by tooling that must rebuild when
20
+ * an adapter reads authored paths outside the Domain/Runtime module graph.
21
+ */
22
+ readonly recordSource?: (path: string) => void;
23
+ /** Parent-owned lifecycle cancellation shared by every preparation process/effect. */
24
+ readonly signal: AbortSignal;
25
+ readonly build: BuildValue;
26
+ readonly runtime: ResolvedRuntimeReference;
27
+ /**
28
+ * The environment-free Bundle of the adapter's own `bundler`, which `astrale-domain deploy`
29
+ * always produces first so that preparation only places it. Absent for a custom caller, the
30
+ * adapter bundles by itself. Legacy prepare/deploy surface: deleted with it.
31
+ */
32
+ readonly bundle?: Bundle<BuildValue>;
33
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export type { PrepareContext } from './context.js';
2
+ export type { AddressingPlan, ArtifactSource, PreparedArtifact } from './artifact.js';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,95 @@
1
+ import type { DeploymentCommitV1, FrozenConfigurationV1, LineAddressing } from '../../address/index.js';
2
+ import type { Release } from '../../release/index.js';
3
+ import type { Bundle } from '../bundle/index.js';
4
+ /**
5
+ * What `configure` receives: the Environment whose configuration it freezes, and the names of the
6
+ * secrets its deployment binds. Never a secret value: a rotated value is not another configuration,
7
+ * a name added or removed is.
8
+ */
9
+ export interface ConfigureContext {
10
+ readonly environment: string;
11
+ /**
12
+ * The names of the Environment's current secrets (the adapter's `secretsFile`), sorted and
13
+ * unique: exactly the secrets `deployRelease` receives, which the configuration declares in
14
+ * `bindings.secrets`.
15
+ */
16
+ readonly secrets: readonly string[];
17
+ }
18
+ /**
19
+ * Where the host places the deployments of one Environment. `routingDomain` is the DNS name every
20
+ * deployment URL ends with, `https://<label>.<routingDomain>`; `addressing` is how its line reads:
21
+ * `readable` for platform lines, `opaque` (the fingerprint alone) for tenant lines.
22
+ */
23
+ export interface Placement {
24
+ readonly addressing: LineAddressing;
25
+ readonly routingDomain: string;
26
+ }
27
+ /** What `placement` receives. It answers without any effect at the host. */
28
+ export interface PlacementContext {
29
+ readonly environment: string;
30
+ /** Parent-owned lifecycle cancellation. */
31
+ readonly signal: AbortSignal;
32
+ /** Optional command-scoped identity override (`--as`). */
33
+ readonly identity?: string;
34
+ }
35
+ /**
36
+ * Everything `deployRelease` deploys: one sealed release as one immutable deployment at
37
+ * `release.url`, which is `deploymentUrl(label, placement.routingDomain)` and the release's issuer.
38
+ * The SDK computes each value before the call, from the Build, `configure` and `placement`, so the
39
+ * adapter never derives an address or seals anything itself.
40
+ */
41
+ export interface ReleaseDeployContext {
42
+ readonly projectDir: string;
43
+ readonly environment: string;
44
+ /** Optional command-scoped identity override (`--as`). */
45
+ readonly identity?: string;
46
+ /** Optional command-scoped credential; trusted adapters must neither retain nor disclose it. */
47
+ readonly credential?: string;
48
+ /**
49
+ * The Environment's current secrets. A new deployment binds them; a reused deployment has its
50
+ * own declared secrets rewritten in place. A deploy never writes another deployment's secrets.
51
+ */
52
+ readonly secrets: Readonly<Record<string, string>>;
53
+ /** The environment-free bytes of the adapter's `bundler`, identified by `bundle.digest`. */
54
+ readonly bundle: Bundle;
55
+ /** What `configure` froze for this Environment. */
56
+ readonly configuration: FrozenConfigurationV1;
57
+ /** Where `placement` said the host places the deployment. */
58
+ readonly placement: Placement;
59
+ /**
60
+ * `<line>-<content>`: the DNS label of the deployment, which is also its provider script. Its
61
+ * content covers `bundle.digest` and `configuration`, so one label serves one release.
62
+ */
63
+ readonly label: string;
64
+ /**
65
+ * The release the SDK sealed for this deployment before the call: its `document` is the
66
+ * `DomainRelease` v4 the deployment serves at `release.json`, its `url` the deployment URL.
67
+ */
68
+ readonly release: Release;
69
+ /**
70
+ * The commit this deploy runs from, which the record of a deployment it creates declares. The
71
+ * label does not cover it: a reused deployment keeps the record, and so the commit, of the deploy
72
+ * that created it, and an adapter never refuses a reuse for another commit.
73
+ */
74
+ readonly commit: DeploymentCommitV1 | null;
75
+ /** Parent-owned lifecycle cancellation shared by every provider effect. */
76
+ readonly signal: AbortSignal;
77
+ }
78
+ /**
79
+ * What `list` receives: the origin and the Environment whose deployments the host lists for the
80
+ * caller. It answers without any effect at the host.
81
+ */
82
+ export interface ListContext {
83
+ readonly origin: string;
84
+ readonly environment: string;
85
+ /** Parent-owned lifecycle cancellation. */
86
+ readonly signal: AbortSignal;
87
+ /** Optional command-scoped identity override (`--as`). */
88
+ readonly identity?: string;
89
+ }
90
+ /** What `retain` receives: the label of the published deployment to keep. */
91
+ export interface RetainContext {
92
+ readonly label: string;
93
+ readonly signal: AbortSignal;
94
+ readonly identity?: string;
95
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ export type { ConfigureContext, ListContext, Placement, PlacementContext, ReleaseDeployContext, RetainContext, } from './context.js';
2
+ export type { DeploymentCallTarget, ListedDeployment } from './list.js';
3
+ export type { DeploymentSecretsState, FailedReleaseDeployResult, MutationKnowledge, ReadyReleaseDeployResult, ReleaseDeploymentPhase, ReleaseDeployResult, } from './result.js';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,53 @@
1
+ import type { DeploymentSummaryV1 } from '../../address/index.js';
2
+ /**
3
+ * Where one listed deployment is called on its host, so that an operator can act on it:
4
+ *
5
+ * - `services`: a deployment Admin's Services hosts, called on the Admin instance with
6
+ * `astrale call "<node>.method.<method>" --admin` (`--admin=<admin>` when `admin` names the
7
+ * Admin bookmark). `path` is the deployment's node, `@<id>`, qualified by its class,
8
+ * `@<id>::services.astrale.ai:class.CloudflareDeployment`, whose only Method is `retire`.
9
+ * `service` is the node of the Service it is a version of,
10
+ * `@<serviceId>::services.astrale.ai:class.CloudflareService`, whose Methods act on the Service
11
+ * and the deployment it currently serves: `promote` (this deployment's label rolls the Service
12
+ * back or forward to it), `setSecret` and `secrets`, `setSchedule` and `schedules`, `logs`,
13
+ * `transfer` and `delete`.
14
+ * - `namespace`: a deployment of a platform dispatch namespace, which has no Services node: the
15
+ * namespace and the script the per-script tooling of that namespace takes.
16
+ */
17
+ export type DeploymentCallTarget = {
18
+ readonly kind: 'services';
19
+ readonly path: string;
20
+ readonly service: string;
21
+ /** The Admin bookmark the deployment is reached through; the CLI's own Admin target when absent. */
22
+ readonly admin?: string;
23
+ } | {
24
+ readonly kind: 'namespace';
25
+ readonly namespace: string;
26
+ readonly script: string;
27
+ };
28
+ /**
29
+ * One deployment as an adapter's `list` returns it: what its host knows of it, its record as the
30
+ * host stores it, and where it is called. `lastCallAt`, and a preview's `expiresAt`, are as of the
31
+ * listing: an adapter whose host records calls only now and then reads the calls counted since, and
32
+ * one that cannot read them for want of a permission omits both rather than print stale values.
33
+ * Admin's Services keeps every deployment until it is retired and counts no call: its deployments
34
+ * are `published`, `withdrawn` once retiring, and carry neither clock.
35
+ *
36
+ * The adapter does not admit the record. The listing admits it with `acceptDeploymentRecord`, and a
37
+ * record it refuses (one a host on an older SDK still admits, say) never fails the listing: that
38
+ * deployment is listed from the facts its host owns.
39
+ */
40
+ export interface ListedDeployment extends Omit<DeploymentSummaryV1, 'record'> {
41
+ /**
42
+ * The record as the host stores it, unadmitted, whatever value that is (JSON `null` included).
43
+ * Absent when the host keeps no record of the deployment: a platform namespace keeps none until
44
+ * it activates the deployment.
45
+ */
46
+ readonly record?: unknown;
47
+ /**
48
+ * Whether the stable URL of the deployment's Service serves it. Present only where the host has
49
+ * Services (Admin's Services); a platform namespace has none.
50
+ */
51
+ readonly current?: boolean;
52
+ readonly callTarget: DeploymentCallTarget;
53
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Why the host can no longer keep one published deployment (`Adapter.retain`): it is `absent`
3
+ * (the host holds no deployment of that label, or it was deleted) or `retired` (withdrawn, never
4
+ * served again). No rerun keeps it; a new version publishes a new deployment. Any other rejection
5
+ * of `retain` is transient: once it has passed, a rerun keeps the deployment.
6
+ */
7
+ export declare class RetainRefusal extends Error {
8
+ readonly reason: 'absent' | 'retired';
9
+ constructor(reason: RetainRefusal['reason'], message: string);
10
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Why the host can no longer keep one published deployment (`Adapter.retain`): it is `absent`
3
+ * (the host holds no deployment of that label, or it was deleted) or `retired` (withdrawn, never
4
+ * served again). No rerun keeps it; a new version publishes a new deployment. Any other rejection
5
+ * of `retain` is transient: once it has passed, a rerun keeps the deployment.
6
+ */
7
+ export class RetainRefusal extends Error {
8
+ reason;
9
+ constructor(reason, message) {
10
+ super(message);
11
+ this.name = 'RetainRefusal';
12
+ this.reason = reason;
13
+ }
14
+ }