@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,18 +1,23 @@
1
1
  import { existsSync } from 'node:fs';
2
- import { dirname, isAbsolute, join, resolve } from 'node:path';
3
- import { admitRuntime, compile, resolveRuntime, verifyDeployment, verifyPreflight, } from '../../deployment/index.js';
2
+ import { dirname, join, resolve } from 'node:path';
3
+ import { admitRuntime, compile, resolveRuntime } from '../../deployment/index.js';
4
4
  import { packageDomain } from '../packaging/index.js';
5
5
  import { parseArgs } from './arguments.js';
6
- import { resolveCompatibleAstrale } from './astrale/version.js';
6
+ import { buildResult, bundleBuild, bundlerCopyWarnings, projectBundlers } from './build.js';
7
7
  import { BunRequiredError } from './bun.js';
8
+ import { selectDeployMode } from './deploy-mode.js';
8
9
  import { deprecationWarnings } from './deprecations.js';
9
- import { develop } from './development/develop.js';
10
- import { loadDeclaredSecrets } from './dotenv.js';
11
- import { reconcileEnvironmentRelease } from './environment-release.js';
10
+ import { runDiff } from './diff/index.js';
12
11
  import { ERROR_USAGE, helpRequest, helpText } from './help.js';
13
- import { error, info, warn } from './log.js';
14
- import { importModule, loadProject, runtimeEntrypoint, selectEnvironment } from './project.js';
12
+ import { deployImmutable } from './immutable-deployment.js';
13
+ import { deployStableTarget } from './legacy/stable-target-deploy.js';
14
+ import { listDeployments, renderDeploymentList } from './list.js';
15
+ import { error, info, progress, warn } from './log.js';
16
+ import { importModule, loadProject, runtimeEntrypoint, selectEnvironment, } from './project.js';
17
+ import { runPublish } from './publish/index.js';
18
+ import { MINIMUM_INSTALLATIONS_CLI_VERSION, openDomainRegistry, RegistryCliError, } from './registry/index.js';
15
19
  import { executeTests } from './test.js';
20
+ import { yankPublication, yankSummary } from './yank.js';
16
21
  const CONFIG_NAMES = ['astrale.config.ts', 'astrale.config.js', 'astrale.config.mjs'];
17
22
  export async function run(argv) {
18
23
  const requestedHelp = helpRequest(argv);
@@ -56,10 +61,22 @@ export async function run(argv) {
56
61
  error(`No astrale.config.ts found in ${projectDir}.`);
57
62
  return 1;
58
63
  }
59
- if (parsed.command === 'dev') {
60
- return executeDevelopmentCommand(parsed, { configPath, projectDir });
61
- }
62
64
  const project = await loadProject(configPath);
65
+ if (parsed.command === 'list')
66
+ return list(parsed, project, projectDir);
67
+ if (parsed.command === 'yank')
68
+ return yank(parsed, project);
69
+ if (parsed.command === 'publish') {
70
+ // A version names an immutable deployment's release: any other Environment is refused before
71
+ // anything is built (CT33, R-G03).
72
+ const mode = selectDeployMode({
73
+ command: 'publish',
74
+ environment: parsed.env,
75
+ definition: selectEnvironment(project, parsed.env),
76
+ });
77
+ if (refused(mode))
78
+ return 1;
79
+ }
63
80
  if (parsed.command === 'test') {
64
81
  selectEnvironment(project, parsed.env);
65
82
  return executeTests({
@@ -67,94 +84,238 @@ export async function run(argv) {
67
84
  ...(parsed.suite === undefined ? {} : { suite: parsed.suite }),
68
85
  });
69
86
  }
70
- const build = compile(project.application);
87
+ const build = compile(project.domain);
71
88
  for (const warning of deprecationWarnings(build))
72
89
  warn(warning);
73
90
  const resolved = await resolveRuntime(runtimeEntrypoint(project), (path) => importModule(resolve(dirname(configPath), path)));
74
91
  admitRuntime({ runtime: build.runtime }, resolved);
92
+ if (parsed.command === 'diff') {
93
+ const lifecycle = deploymentLifecycle('Diff interrupted.');
94
+ try {
95
+ return await runDiff({
96
+ projectDir,
97
+ build,
98
+ // The build digests `build` prints, bundled only when the Schema revision is unchanged.
99
+ builds: async () => {
100
+ const digests = [];
101
+ for (const source of projectBundlers(project)) {
102
+ const bundle = await bundleBuild({
103
+ bundler: source.bundler,
104
+ projectDir,
105
+ build,
106
+ runtime: resolved,
107
+ signal: lifecycle.signal,
108
+ });
109
+ digests.push(bundle.digest);
110
+ }
111
+ return digests;
112
+ },
113
+ ...(parsed.identity === undefined ? {} : { identity: parsed.identity }),
114
+ json: parsed.json === true,
115
+ signal: lifecycle.signal,
116
+ });
117
+ }
118
+ finally {
119
+ lifecycle.dispose();
120
+ }
121
+ }
122
+ if (parsed.command === 'publish') {
123
+ const environment = selectEnvironment(project, parsed.env);
124
+ const lifecycle = deploymentLifecycle('Publish interrupted.');
125
+ try {
126
+ return await runPublish({
127
+ projectDir,
128
+ environment: parsed.env,
129
+ adapter: environment.deployment.adapter,
130
+ parameters: environment.deployment.parameters,
131
+ build,
132
+ runtime: resolved,
133
+ ...(parsed.identity === undefined ? {} : { identity: parsed.identity }),
134
+ allowDirty: parsed.allowDirty === true,
135
+ json: parsed.json === true,
136
+ signal: lifecycle.signal,
137
+ });
138
+ }
139
+ finally {
140
+ lifecycle.dispose();
141
+ }
142
+ }
75
143
  if (parsed.command === 'build') {
76
- info(`Built ${build.schema.compiled.root.origin} (${build.schema.compiled.root.revision}).`);
77
- return 0;
144
+ // Every distinct bundler of the Project, and never an Environment, address, key or secret.
145
+ const lifecycle = deploymentLifecycle();
146
+ try {
147
+ const built = [];
148
+ for (const source of projectBundlers(project)) {
149
+ built.push({
150
+ source,
151
+ bundle: await bundleBuild({
152
+ bundler: source.bundler,
153
+ projectDir,
154
+ build,
155
+ runtime: resolved,
156
+ signal: lifecycle.signal,
157
+ }),
158
+ });
159
+ }
160
+ for (const warning of bundlerCopyWarnings(built))
161
+ warn(warning);
162
+ const result = buildResult(build, built.map(({ bundle }) => bundle));
163
+ if (parsed.json === true) {
164
+ process.stdout.write(`${JSON.stringify(result, null, 2)}\n`);
165
+ return 0;
166
+ }
167
+ info(`Built ${result.origin} (${result.schema.revision}).`);
168
+ for (const built of result.builds) {
169
+ info(`Build: ${built.digest} (${built.bundler.id}@${built.bundler.version})`);
170
+ }
171
+ return 0;
172
+ }
173
+ finally {
174
+ lifecycle.dispose();
175
+ }
78
176
  }
79
177
  const environment = selectEnvironment(project, parsed.env);
80
- const adapter = environment.deployment.adapter;
81
- const parameters = environment.deployment.parameters;
178
+ // The configuration selects the deploy mode, before any effect (CT33).
179
+ const mode = selectDeployMode({
180
+ command: 'deploy',
181
+ environment: parsed.env,
182
+ definition: environment,
183
+ });
184
+ if (refused(mode))
185
+ return 1;
186
+ // With `--json`, stdout carries only the DeployResultV1; progress goes to stderr.
187
+ const report = progress(parsed.json === true);
82
188
  const lifecycle = deploymentLifecycle();
83
189
  try {
84
- const source = await adapter.prepare(parameters, {
190
+ const deployment = {
85
191
  projectDir,
86
192
  environment: parsed.env,
87
- ...(environment.installation === undefined ? {} : { installation: environment.installation }),
88
- mode: 'release',
89
- signal: lifecycle.signal,
90
193
  build,
91
194
  runtime: resolved,
92
- });
93
- const artifact = verifyPreflight({ build, runtime: resolved, source });
94
- const secrets = secretsFor(adapter, parameters, projectDir, resolved.runtime);
95
- const installationExecutable = environment.installation === undefined || parsed.deployOnly
96
- ? undefined
97
- : await resolveCompatibleAstrale({ projectDir, signal: lifecycle.signal });
98
- const deployed = await adapter.deploy(parameters, {
99
- projectDir,
100
- environment: parsed.env,
101
- ...(environment.installation === undefined ? {} : { installation: environment.installation }),
102
195
  ...(parsed.identity === undefined ? {} : { identity: parsed.identity }),
103
- secrets,
104
- artifact,
105
196
  signal: lifecycle.signal,
106
- });
107
- const result = verifyDeployment(artifact, deployed);
108
- if (result.status === 'failed') {
109
- error(`Deployment failed during ${result.phase}: ${result.error.message}`);
197
+ report,
198
+ };
199
+ const deployed = mode.kind === 'canonical'
200
+ ? await deployImmutable({
201
+ ...deployment,
202
+ adapter: environment.deployment.adapter,
203
+ parameters: environment.deployment.parameters,
204
+ })
205
+ : await deployStableTarget({
206
+ ...deployment,
207
+ definition: environment,
208
+ reasons: mode.reasons,
209
+ });
210
+ if (deployed === undefined)
110
211
  return 1;
111
- }
112
- info(`Domain: ${result.release.publication.origin}`);
113
- info(`Environment: ${parsed.env}`);
114
- info(`Adapter: ${adapter.name}@${adapter.version}`);
115
- info(`Deployment: ${result.progress.provider.evidence.deployment}`);
116
- if (result.progress.provider.evidence.preflight !== undefined) {
117
- info(`Preflight: ${result.progress.provider.evidence.preflight}; public readiness verified`);
118
- }
119
- info(`Public: ${result.release.addressing.publicUrl}`);
120
- info(`Publication: ${result.release.publication.schema.revision} · ${result.release.publication.etag}`);
121
- const installed = await reconcileEnvironmentRelease({
122
- projectDir,
123
- environment: parsed.env,
124
- adapter,
125
- deployment: result,
126
- ...(environment.installation === undefined ? {} : { installation: environment.installation }),
127
- deployOnly: parsed.deployOnly ?? false,
128
- ...(installationExecutable === undefined ? {} : { installationExecutable }),
212
+ if (parsed.json === true)
213
+ process.stdout.write(`${JSON.stringify(deployed, null, 2)}\n`);
214
+ return 0;
215
+ }
216
+ finally {
217
+ lifecycle.dispose();
218
+ }
219
+ }
220
+ /**
221
+ * `astrale-domain list`: the deployments of every Environment, or of the one `--environment`
222
+ * names, as their hosts keep them for the caller, named by the registry's versions and placed on
223
+ * the instances each `--instance` says pin them. With `--json`, stdout
224
+ * carries only the ListResultV1, and only when every host and the registry answered; notices go to
225
+ * stderr. A registry that cannot be read (no Astrale CLI, one older than the listing's floor, Admin
226
+ * out of reach, an unreadable index) prints nothing on stdout and exits 1: versions are never
227
+ * dropped silently (AM-224).
228
+ */
229
+ async function list(parsed, project, projectDir) {
230
+ const origin = compile(project.domain).schema.compiled.root.origin;
231
+ const environments = parsed.env === ''
232
+ ? Object.entries(project.environments)
233
+ : [[parsed.env, selectEnvironment(project, parsed.env)]];
234
+ const lifecycle = deploymentLifecycle();
235
+ try {
236
+ const listing = await listDeployments({
237
+ origin,
238
+ environments,
129
239
  ...(parsed.identity === undefined ? {} : { identity: parsed.identity }),
130
240
  signal: lifecycle.signal,
241
+ registry: (signal) => openDomainRegistry({
242
+ projectDir,
243
+ ...(parsed.identity === undefined ? {} : { identity: parsed.identity }),
244
+ signal,
245
+ minimum: MINIMUM_INSTALLATIONS_CLI_VERSION,
246
+ }),
247
+ ...(parsed.instances === undefined ? {} : { instances: parsed.instances }),
131
248
  });
132
- if (installed === undefined) {
133
- info('Installation: skipped');
249
+ for (const notice of listing.notices)
250
+ warn(notice);
251
+ for (const failure of listing.failures) {
252
+ error(`Environment ${failure.environment} could not be listed (${failure.adapter}): ` +
253
+ failure.error.message);
134
254
  }
135
- else {
136
- info(`Installation: ${installed.instance} · ${installed.status}`);
255
+ if (listing.registryFailure !== undefined) {
256
+ const failure = listing.registryFailure;
257
+ error(failure instanceof RegistryCliError
258
+ ? `Domain registry: ${failure.code}: ${failure.message}`
259
+ : `Domain registry: ${failure.message}`);
260
+ return 1;
137
261
  }
138
- info('Ready: deployment verified');
139
- return 0;
262
+ if (parsed.json === true) {
263
+ if (listing.failures.length > 0)
264
+ return 1;
265
+ process.stdout.write(`${JSON.stringify(listing.result, null, 2)}\n`);
266
+ return 0;
267
+ }
268
+ const failed = listing.failures.length > 0;
269
+ for (const line of renderDeploymentList(listing.result, Date.now(), failed)) {
270
+ process.stdout.write(`${line}\n`);
271
+ }
272
+ return failed ? 1 : 0;
140
273
  }
141
274
  finally {
142
275
  lifecycle.dispose();
143
276
  }
144
277
  }
145
- export function executeDevelopmentCommand(parsed, input, execute = develop) {
146
- if (parsed.command !== 'dev')
147
- throw new TypeError('Development execution requires the dev command.');
148
- return execute({
149
- configPath: input.configPath,
150
- projectDir: input.projectDir,
151
- environment: parsed.env,
152
- deployOnly: parsed.deployOnly ?? false,
153
- ...(parsed.identity === undefined ? {} : { identity: parsed.identity }),
154
- ...(parsed.credentialFile === undefined ? {} : { credentialFile: parsed.credentialFile }),
155
- ...(parsed.sessionFile === undefined ? {} : { sessionFile: parsed.sessionFile }),
156
- ...(parsed.secretsFile === undefined ? {} : { secretsFile: parsed.secretsFile }),
157
- });
278
+ /** Report every refusal of a refused deploy mode, each with what to write instead. */
279
+ function refused(mode) {
280
+ if (mode.kind !== 'refused')
281
+ return false;
282
+ for (const refusal of mode.refusals)
283
+ error(refusal.guidance);
284
+ return true;
285
+ }
286
+ /**
287
+ * `astrale-domain yank <version> [--undo]`: take one published version of the Project's Domain
288
+ * out of resolution in the Admin registry, or put it back. With `--json`, stdout carries only the
289
+ * YankReportV1; a refused or failed run prints nothing there.
290
+ */
291
+ async function yank(parsed, project) {
292
+ if (parsed.version === undefined)
293
+ throw new TypeError('`yank` requires a published version.');
294
+ const origin = compile(project.domain).schema.compiled.root.origin;
295
+ const lifecycle = deploymentLifecycle('Yank interrupted.');
296
+ try {
297
+ const report = await yankPublication({
298
+ origin,
299
+ version: parsed.version,
300
+ undo: parsed.undo === true,
301
+ projectDir: process.cwd(),
302
+ signal: lifecycle.signal,
303
+ });
304
+ if (parsed.json === true)
305
+ process.stdout.write(`${JSON.stringify(report, null, 2)}\n`);
306
+ else
307
+ info(yankSummary(report));
308
+ return 0;
309
+ }
310
+ catch (cause) {
311
+ if (!(cause instanceof RegistryCliError))
312
+ throw cause;
313
+ error(`${cause.code}: ${cause.message}`);
314
+ return 1;
315
+ }
316
+ finally {
317
+ lifecycle.dispose();
318
+ }
158
319
  }
159
320
  async function lint(parsed) {
160
321
  const { formatLintResult, lintDomain, LinterToolError } = await import('../linter/index.js');
@@ -174,25 +335,12 @@ async function lint(parsed) {
174
335
  throw cause;
175
336
  }
176
337
  }
177
- function secretsFor(adapter, parameters, projectDir, runtime) {
178
- const file = adapter.secretsFile?.(parameters);
179
- if (file === undefined)
180
- return Object.freeze({});
181
- const path = isAbsolute(file) ? file : join(projectDir, file);
182
- // An Integration-free Runtime has no Providers and therefore no author-owned
183
- // environment secrets. Adapter-owned secrets, such as the signing identity,
184
- // are resolved separately by the adapter and must not make this file required.
185
- if (Object.keys(runtime.integrations).length === 0 && !existsSync(path)) {
186
- return Object.freeze({});
187
- }
188
- return Object.freeze(loadDeclaredSecrets(path, file));
189
- }
190
338
  function findConfig(projectDir) {
191
339
  return CONFIG_NAMES.map((name) => join(projectDir, name)).find(existsSync);
192
340
  }
193
- function deploymentLifecycle() {
341
+ function deploymentLifecycle(interruption = 'Deployment interrupted.') {
194
342
  const controller = new AbortController();
195
- const stop = () => controller.abort(new Error('Deployment interrupted.'));
343
+ const stop = () => controller.abort(new Error(interruption));
196
344
  process.once('SIGINT', stop);
197
345
  process.once('SIGTERM', stop);
198
346
  return Object.freeze({
@@ -1,4 +1,4 @@
1
- import type { Application } from '../../application/index.js';
1
+ import type { DomainDefinition } from '../../application/index.js';
2
2
  import type { Requirements } from '../../application/requirements/index.js';
3
3
  import type { Routes } from '../../application/routes/index.js';
4
4
  import type { Runtime } from '../../application/runtime/index.js';
@@ -7,10 +7,10 @@ import type { Deployment } from '../../deployment/index.js';
7
7
  import type { schema } from '../../platform/schema/index.js';
8
8
  import type { Project, ProjectEnvironment } from '../../project/index.js';
9
9
  import type { Tests } from '../../testing/index.js';
10
- export type LoadedApplication = Application<schema.DomainSchema, Runtime, Frontend<schema.DomainSchema> | undefined, Routes | undefined, Requirements | undefined>;
10
+ export type LoadedDomainDefinition = DomainDefinition<schema.DomainSchema, Runtime, Frontend<schema.DomainSchema> | undefined, Routes | undefined, Requirements | undefined>;
11
11
  export type LoadedDeployment = Deployment<object>;
12
12
  export type LoadedEnvironment = ProjectEnvironment<LoadedDeployment>;
13
- export type LoadedProject = Project<LoadedApplication, Readonly<Record<string, LoadedEnvironment>>, Tests | undefined>;
13
+ export type LoadedProject = Project<LoadedDomainDefinition, Readonly<Record<string, LoadedEnvironment>>, Tests | undefined>;
14
14
  export declare function loadProject(path: string): Promise<LoadedProject>;
15
15
  export declare function selectEnvironment(project: LoadedProject, name: string): LoadedEnvironment;
16
16
  export declare function runtimeEntrypoint(project: LoadedProject): import("../../deployment/index.js").RuntimeReference;
@@ -0,0 +1,73 @@
1
+ import type { Adapter, Build, LegacyAdapter, Release, ResolvedRuntimeReference } from '../../../deployment/index.js';
2
+ import type { DomainRegistry } from '../registry/index.js';
3
+ export type { PublishReportV1 } from './report.js';
4
+ export interface PublishCommandInput {
5
+ readonly projectDir: string;
6
+ readonly environment: string;
7
+ /** The adapter of a canonical Environment (CT33): `publish` refuses every other one before. */
8
+ readonly adapter: Adapter<object> | LegacyAdapter<object>;
9
+ readonly parameters: object;
10
+ readonly build: Build;
11
+ readonly runtime: ResolvedRuntimeReference;
12
+ /** `--as`: the identity that reads and writes the registry and deploys. */
13
+ readonly identity?: string;
14
+ /** `--allow-dirty`: publish from a working tree with changes, or outside git. */
15
+ readonly allowDirty: boolean;
16
+ readonly json: boolean;
17
+ readonly signal: AbortSignal;
18
+ }
19
+ /** What `publish` uses of the Domain registry: the index, a baseline's bundle, the Publication. */
20
+ type PublishRegistry = Pick<DomainRegistry, 'index' | 'bundle' | 'publish'>;
21
+ export interface PublishCommandDependencies {
22
+ readonly open: (input: {
23
+ readonly projectDir: string;
24
+ readonly identity?: string;
25
+ readonly signal: AbortSignal;
26
+ }) => Promise<PublishRegistry>;
27
+ /** Step 5: the deployment serves exactly this sealed release at its URL. */
28
+ readonly verify: (release: Release, signal: AbortSignal) => Promise<void>;
29
+ /** Whether a remote-tracking branch already holds the commit (tech Versioning [.73872]). */
30
+ readonly pushed: (input: {
31
+ readonly projectDir: string;
32
+ readonly sha: string;
33
+ readonly signal: AbortSignal;
34
+ }) => Promise<boolean | undefined>;
35
+ readonly stdout: (text: string) => void;
36
+ readonly stderr: (text: string) => void;
37
+ /** The deadline of step 5; `VERIFY_TIMEOUT_MS` by default. */
38
+ readonly verifyTimeoutMs?: number;
39
+ }
40
+ /**
41
+ * Step 5 reads the deployment's `release.json` (at most 1 MiB) and its Bundle (at most 16 MiB)
42
+ * once the adapter has seen it ready: a deployment that accepts the connection and never answers
43
+ * is refused after this long, never waited on until the CI job's own timeout.
44
+ */
45
+ export declare const VERIFY_TIMEOUT_MS = 60000;
46
+ /**
47
+ * `astrale-domain publish <environment> [--allow-dirty] [--as <identity>] [--json]`: give the
48
+ * release this tree deploys in one Environment the version `package.json` declares (tech
49
+ * Versioning [.73345], Registry [.122137]). It deploys bottom-up and names last: the Publication
50
+ * Admin creates under the Domain's lock is the only switch, so every failure before it leaves at
51
+ * most a deployment without a version, which a rerun reuses (Registry [.122407]).
52
+ *
53
+ * 0. Before any effect: provenance (a dirty tree or no git is refused unless `--allow-dirty`; the
54
+ * commit is recorded; an unpushed commit warns), then the plan of the deployment: build,
55
+ * configure, placement, label, URL and the sealed release digest.
56
+ * 1. Read the version from `package.json`.
57
+ * 2. Read the registry. The version exists: the same release succeeds without effect, another is
58
+ * refused. A Domain absent or unreadable, or a registry that does not answer, is refused.
59
+ * 3. Judge the version against the highest stable version below it (AM-23); refuse a version
60
+ * that is too low.
61
+ * 4. Deploy the release, or reuse its deployment.
62
+ * 5. Verify that the deployment serves the sealed release.
63
+ * 6. Ask Admin for the Publication; a version Admin gave another release meanwhile is refused,
64
+ * naming the winner's release, and this deployment stays a preview. Any other failure says
65
+ * what CT29 says of it: Admin may have created the Publication (a rerun settles it), Admin made
66
+ * none and a rerun can help, or Admin refused and a rerun meets the same refusal. Then, where
67
+ * the host has no registry principal to keep it (the platform namespace), `adapter.retain`
68
+ * keeps the published deployment (CT36). Admin keeps no mark on its Services' deployments:
69
+ * Services keeps every deployment until it is retired.
70
+ *
71
+ * Steps 0 to 3 make no deploy call. Never installs.
72
+ */
73
+ export declare function runPublish(input: PublishCommandInput, dependencies?: PublishCommandDependencies): Promise<number>;