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

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 +74 -0
  286. package/dist/tooling/cli/publish/index.js +364 -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 +127 -0
  290. package/dist/tooling/cli/registry/client.js +351 -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
@@ -0,0 +1,22 @@
1
+ import * as release from '@astrale-os/kernel-protocol/release';
2
+ import * as protocolRoutes from '@astrale-os/kernel-protocol/routes';
3
+ import { evidenceOf } from '../build/admission.js';
4
+ import { served } from './served/index.js';
5
+ /**
6
+ * Seal the `DomainRelease` v4 one deployment serves: the served content of the Build at its
7
+ * address, and the build digest of the exact code it runs. Its release digest therefore names the
8
+ * schema, the address and the code at once; the Route Table is bound to that release.
9
+ */
10
+ export function seal(build, buildDigest, addressing) {
11
+ const document = release.seal({
12
+ format: 'astrale.domain.release',
13
+ version: 4,
14
+ ...served(build, addressing),
15
+ build: { digest: buildDigest },
16
+ });
17
+ const { domain } = evidenceOf(build);
18
+ return Object.freeze({
19
+ document,
20
+ routes: protocolRoutes.bind(build.routes, document, domain, addressing.publicUrl),
21
+ });
22
+ }
@@ -1,4 +1,4 @@
1
- import * as publication from '@astrale-os/kernel-protocol/publication';
1
+ import * as release from '@astrale-os/kernel-protocol/release';
2
2
  import type { Build } from '../../build/index.js';
3
3
  import type { Addressing } from '../addressing.js';
4
- export declare function callables(build: Build, addressing: Addressing): readonly publication.CallableBinding[];
4
+ export declare function callables(build: Build, addressing: Addressing): readonly release.CallableBinding[];
@@ -1,7 +1,7 @@
1
- import * as publication from '@astrale-os/kernel-protocol/publication';
1
+ import * as release from '@astrale-os/kernel-protocol/release';
2
2
  import { invocationPath } from '../invocation.js';
3
3
  export function callables(build, addressing) {
4
- const endpoint = publication.acceptInvocationEndpoints({
4
+ const endpoint = release.acceptInvocationEndpoints({
5
5
  http: new URL(invocationPath(), addressing.publicUrl).href,
6
6
  });
7
7
  return Object.freeze(build.callables.map((callable) => Object.freeze({ callable, endpoint })));
@@ -0,0 +1,12 @@
1
+ import * as release from '@astrale-os/kernel-protocol/release';
2
+ import type { Build } from '../../build/index.js';
3
+ import type { Addressing } from '../addressing.js';
4
+ export declare const DELIVERY_PATH: '/install';
5
+ /**
6
+ * What a deployment serves beneath its URL: identity, schema bundle, requirements, bindings, routes
7
+ * and delivery. A `DomainRelease` v4 adds its build to it, and the v3 Publication of the legacy
8
+ * path is exactly this content, so both documents of one build at one address agree.
9
+ */
10
+ export type Served = Omit<release.Content, 'format' | 'version' | 'build'>;
11
+ /** Derive the served content of one exact Build at one Addressing. */
12
+ export declare function served(build: Build, addressing: Addressing): Served;
@@ -0,0 +1,22 @@
1
+ import * as release from '@astrale-os/kernel-protocol/release';
2
+ import { callables } from './callables.js';
3
+ import { routes } from './routes.js';
4
+ import { views } from './views.js';
5
+ export const DELIVERY_PATH = '/install';
6
+ /** Derive the served content of one exact Build at one Addressing. */
7
+ export function served(build, addressing) {
8
+ const root = build.schema.compiled.root;
9
+ const bundle = release.bundleUrl(addressing.publicUrl, build.schema.bundle.ref);
10
+ return {
11
+ origin: root.origin,
12
+ identity: { issuer: addressing.issuer, subject: root.origin },
13
+ schema: { revision: root.revision, bundle: { href: bundle, ref: build.schema.bundle.ref } },
14
+ requirements: build.requirements,
15
+ ...(build.frontend === undefined
16
+ ? {}
17
+ : { manifest: Object.freeze({ entrypoint: build.frontend.entrypoint }) }),
18
+ bindings: { callables: callables(build, addressing), views: views(build, addressing) },
19
+ delivery: release.placeDelivery({ path: DELIVERY_PATH, authentication: { kind: 'public' } }, addressing.publicUrl, bundle),
20
+ routes: routes(build, addressing),
21
+ };
22
+ }
@@ -1,4 +1,4 @@
1
- import type * as publication from '@astrale-os/kernel-protocol/publication';
1
+ import type * as release from '@astrale-os/kernel-protocol/release';
2
2
  import type { Build } from '../../build/index.js';
3
3
  import type { Addressing } from '../addressing.js';
4
- export declare function views(build: Build, addressing: Addressing): readonly publication.ViewBinding[];
4
+ export declare function views(build: Build, addressing: Addressing): readonly release.ViewBinding[];
@@ -1,5 +1,5 @@
1
1
  import type { ResolvedRuntimeReference } from './resolve.js';
2
- /** Prove that a resolved module exports the exact Runtime captured by an Application. */
3
- export declare function admit<RuntimeValue extends object>(application: {
2
+ /** Prove that a resolved module exports the exact Runtime captured by a Domain definition. */
3
+ export declare function admit<RuntimeValue extends object>(definition: {
4
4
  readonly runtime: RuntimeValue;
5
5
  }, resolved: ResolvedRuntimeReference): RuntimeValue;
@@ -1,11 +1,11 @@
1
1
  import { isResolvedRuntimeReference } from './resolve.js';
2
- /** Prove that a resolved module exports the exact Runtime captured by an Application. */
3
- export function admit(application, resolved) {
2
+ /** Prove that a resolved module exports the exact Runtime captured by a Domain definition. */
3
+ export function admit(definition, resolved) {
4
4
  if (!isResolvedRuntimeReference(resolved)) {
5
5
  throw new TypeError('Resolved Runtime reference is not admitted.');
6
6
  }
7
- if (resolved.runtime !== application.runtime) {
8
- throw new TypeError('Runtime module default export differs from the Application Runtime.');
7
+ if (resolved.runtime !== definition.runtime) {
8
+ throw new TypeError('Runtime module default export differs from the Domain Runtime.');
9
9
  }
10
- return application.runtime;
10
+ return definition.runtime;
11
11
  }
@@ -1,4 +1,5 @@
1
1
  export { preflight as verifyPreflight } from './preflight/index.js';
2
2
  export { isPreparedArtifact } from './preflight/index.js';
3
- export type { PreflightInput } from './preflight/index.js';
3
+ export { bundle as verifyBundle, isBundle, uploadedBuild as verifyUploadedBuild, } from './preflight/index.js';
4
+ export type { BundleInput, PreflightInput } from './preflight/index.js';
4
5
  export { readiness as verifyReadiness, verifyDeployment } from './readiness/index.js';
@@ -1,3 +1,4 @@
1
1
  export { preflight as verifyPreflight } from './preflight/index.js';
2
2
  export { isPreparedArtifact } from './preflight/index.js';
3
+ export { bundle as verifyBundle, isBundle, uploadedBuild as verifyUploadedBuild, } from './preflight/index.js';
3
4
  export { readiness as verifyReadiness, verifyDeployment } from './readiness/index.js';
@@ -1,4 +1,4 @@
1
- import type { ArtifactSource, PreparedArtifact } from '../../adapter/prepare/index.js';
1
+ import type { ArtifactSource, PreparedArtifact } from '../../adapter/legacy/index.js';
2
2
  import type { Build } from '../../build/index.js';
3
3
  import type { ResolvedRuntimeReference } from '../../runtime/index.js';
4
4
  /** Detach preparation output and bind it to the exact Build and resolved Runtime identity. */
@@ -0,0 +1,18 @@
1
+ import type { Bundle, Bundler, BundleSource } from '../../adapter/bundle/index.js';
2
+ import type { Build, BuildDigest } from '../../build/index.js';
3
+ import type { ResolvedRuntimeReference } from '../../runtime/index.js';
4
+ export interface BundleInput<BuildValue extends Build = Build> {
5
+ readonly build: BuildValue;
6
+ readonly runtime: ResolvedRuntimeReference;
7
+ readonly bundler: Pick<Bundler, 'id' | 'version'>;
8
+ readonly source: BundleSource;
9
+ }
10
+ /** Detach bundler output and identify it by the build digest of its exact bytes. */
11
+ export declare function bundle<const BuildValue extends Build>(input: BundleInput<BuildValue>): Bundle<BuildValue>;
12
+ export declare function isBundle(input: unknown): input is Bundle;
13
+ /**
14
+ * `deploy` rebuilds (there is no `deploy --from`), so the exact upload of an immutable deployment
15
+ * must carry the build digest `astrale-domain build` prints for the same tree. A different digest
16
+ * refuses the deployment.
17
+ */
18
+ export declare function uploadedBuild(expected: Bundle, uploaded: BuildDigest): void;
@@ -0,0 +1,71 @@
1
+ import { buildDigest, buildManifest } from '../../build/index.js';
2
+ import { admit as admitRuntime } from '../../runtime/index.js';
3
+ import { build as verifyBuild } from './build.js';
4
+ const admittedBundles = new WeakSet();
5
+ /** Detach bundler output and identify it by the build digest of its exact bytes. */
6
+ export function bundle(input) {
7
+ verifyBuild(input.build);
8
+ admitRuntime({ runtime: input.build.runtime }, input.runtime);
9
+ const source = input.source;
10
+ if (source === null || typeof source !== 'object' || Array.isArray(source))
11
+ invalid();
12
+ if (Reflect.ownKeys(source).some((key) => key !== 'entrypoint' && key !== 'files'))
13
+ invalid();
14
+ if (!Array.isArray(source.files) || source.files.length === 0) {
15
+ throw new TypeError('Bundle files must be a non-empty array.');
16
+ }
17
+ const files = source.files.map((file) => {
18
+ if (file === null || typeof file !== 'object' || Array.isArray(file))
19
+ invalid();
20
+ if (Reflect.ownKeys(file).some((key) => key !== 'path' && key !== 'content') ||
21
+ !(file.content instanceof Uint8Array)) {
22
+ invalid();
23
+ }
24
+ return Object.freeze({ path: file.path, content: new Uint8Array(file.content) });
25
+ });
26
+ if (new Set(files.map((file) => file.path)).size !== files.length) {
27
+ throw new TypeError('Bundle files must have unique paths.');
28
+ }
29
+ const root = input.build.schema.compiled.root;
30
+ const manifest = buildManifest({
31
+ origin: root.origin,
32
+ revision: root.revision,
33
+ bundle: input.build.schema.bundle.ref.digest,
34
+ bundler: { id: input.bundler.id, version: input.bundler.version },
35
+ entrypoint: source.entrypoint,
36
+ files,
37
+ });
38
+ const contents = new Map(files.map((file) => [file.path, file.content]));
39
+ const admitted = Object.freeze({
40
+ kind: 'bundle',
41
+ build: input.build,
42
+ manifest,
43
+ digest: buildDigest(manifest),
44
+ entrypoint: manifest.entrypoint,
45
+ files: Object.freeze(manifest.files.map((file) => {
46
+ const content = contents.get(file.path);
47
+ return Object.freeze({ path: file.path, bytes: () => new Uint8Array(content) });
48
+ })),
49
+ });
50
+ admittedBundles.add(admitted);
51
+ return admitted;
52
+ }
53
+ export function isBundle(input) {
54
+ return input !== null && typeof input === 'object' && admittedBundles.has(input);
55
+ }
56
+ /**
57
+ * `deploy` rebuilds (there is no `deploy --from`), so the exact upload of an immutable deployment
58
+ * must carry the build digest `astrale-domain build` prints for the same tree. A different digest
59
+ * refuses the deployment.
60
+ */
61
+ export function uploadedBuild(expected, uploaded) {
62
+ if (!isBundle(expected))
63
+ throw new TypeError('Uploaded build check requires an admitted Bundle.');
64
+ if (uploaded === expected.digest)
65
+ return;
66
+ throw new TypeError(`The uploaded code has build digest ${uploaded}, not ${expected.digest} ` +
67
+ 'as `astrale-domain build` gives for this tree.');
68
+ }
69
+ function invalid() {
70
+ throw new TypeError('Bundle source is invalid.');
71
+ }
@@ -1,7 +1,8 @@
1
- import type { ArtifactSource, PreparedArtifact } from '../../adapter/prepare/index.js';
1
+ import type { ArtifactSource, PreparedArtifact } from '../../adapter/legacy/index.js';
2
2
  import type { Build } from '../../build/index.js';
3
3
  import type { ResolvedRuntimeReference } from '../../runtime/index.js';
4
4
  export { artifact, isPreparedArtifact } from './artifact.js';
5
+ export { bundle, isBundle, uploadedBuild, type BundleInput } from './bundle.js';
5
6
  export { build } from './build.js';
6
7
  export { publication } from './publication.js';
7
8
  export interface PreflightInput<BuildValue extends Build = Build> {
@@ -2,6 +2,7 @@ import { artifact } from './artifact.js';
2
2
  import { build as verifyBuild } from './build.js';
3
3
  import { publication as verifyPublication } from './publication.js';
4
4
  export { artifact, isPreparedArtifact } from './artifact.js';
5
+ export { bundle, isBundle, uploadedBuild } from './bundle.js';
5
6
  export { build } from './build.js';
6
7
  export { publication } from './publication.js';
7
8
  /** Admit exact deployment material before any provider mutation. */
@@ -1,4 +1,4 @@
1
- import type { PreparedArtifact } from '../../adapter/prepare/index.js';
2
- import type { Release } from '../../release/index.js';
1
+ import type { PreparedArtifact } from '../../adapter/legacy/index.js';
2
+ import type { Release } from '../../release/legacy/index.js';
3
3
  /** Verify locally assemblable Publication evidence before any provider mutation. */
4
4
  export declare function publication(artifact: PreparedArtifact): Release | undefined;
@@ -1,6 +1,7 @@
1
- import { publication as protocolPublication, routes } from '@astrale-os/kernel-protocol';
1
+ import * as protocolPublication from '@astrale-os/kernel-protocol/release/legacy';
2
+ import * as routes from '@astrale-os/kernel-protocol/routes';
2
3
  import { evidenceOf } from '../../build/admission.js';
3
- import { assemble } from '../../release/index.js';
4
+ import { assemble } from '../../release/legacy/index.js';
4
5
  /** Verify locally assemblable Publication evidence before any provider mutation. */
5
6
  export function publication(artifact) {
6
7
  if (artifact.addressing.kind !== 'configured')
@@ -9,6 +10,6 @@ export function publication(artifact) {
9
10
  const admitted = protocolPublication.accept(release.publication);
10
11
  protocolPublication.verifyBundleBytes(admitted, artifact.build.schema.bundle.bytes());
11
12
  const { domain } = evidenceOf(artifact.build);
12
- routes.verifyTable(release.routes, admitted, domain);
13
+ routes.legacy.verifyTable(release.routes, admitted, domain);
13
14
  return release;
14
15
  }
@@ -1,4 +1,4 @@
1
- import { isRelease } from '../../release/index.js';
1
+ import { isRelease } from '../../release/legacy/index.js';
2
2
  import { isPreparedArtifact } from '../preflight/artifact.js';
3
3
  /** Admit adapter-reported progress without changing its mutation knowledge. */
4
4
  export function verifyDeployment(artifact, input) {
@@ -15,23 +15,14 @@ export function verifyDeployment(artifact, input) {
15
15
  progress.provider.kind !== 'applied' ||
16
16
  progress.provider.evidence.issuer === undefined ||
17
17
  !terminal(progress.prerequisite) ||
18
- !terminal(progress.configuration) ||
19
- !terminal(progress.installation)) {
18
+ !terminal(progress.configuration)) {
20
19
  invalid();
21
20
  }
22
21
  return Object.freeze({ status: 'ready', phase: 'complete', progress, release });
23
22
  }
24
23
  if (input.status === 'failed') {
25
24
  exact(input, ['status', 'phase', 'progress', 'error'], ['release']);
26
- if (![
27
- 'prerequisite',
28
- 'provider',
29
- 'addressing',
30
- 'release',
31
- 'configuration',
32
- 'installation',
33
- 'readiness',
34
- ].includes(input.phase) ||
25
+ if (!['prerequisite', 'provider', 'addressing', 'release', 'configuration', 'readiness'].includes(input.phase) ||
35
26
  !(input.error instanceof Error)) {
36
27
  invalid();
37
28
  }
@@ -59,12 +50,11 @@ function verifyRelease(artifact, release) {
59
50
  function verifyProgress(artifact, input, release) {
60
51
  if (input === null || typeof input !== 'object' || Array.isArray(input))
61
52
  invalid();
62
- exact(input, ['prerequisite', 'provider', 'configuration', 'installation']);
53
+ exact(input, ['prerequisite', 'provider', 'configuration']);
63
54
  return Object.freeze({
64
55
  prerequisite: knowledge(input.prerequisite),
65
56
  provider: providerKnowledge(artifact, input.provider, release),
66
57
  configuration: knowledge(input.configuration),
67
- installation: knowledge(input.installation),
68
58
  });
69
59
  }
70
60
  function providerKnowledge(artifact, input, release) {
@@ -103,7 +93,7 @@ function terminal(input) {
103
93
  function providerEvidence(input) {
104
94
  if (input === null || typeof input !== 'object' || Array.isArray(input))
105
95
  invalid();
106
- exact(input, ['provider', 'deployment', 'artifact'], ['issuer', 'preflight']);
96
+ exact(input, ['provider', 'deployment', 'artifact'], ['build', 'issuer', 'preflight']);
107
97
  if (typeof input.provider !== 'string' ||
108
98
  input.provider.length === 0 ||
109
99
  input.provider.trim() !== input.provider ||
@@ -111,6 +101,8 @@ function providerEvidence(input) {
111
101
  input.deployment.length === 0 ||
112
102
  input.deployment.trim() !== input.deployment ||
113
103
  typeof input.artifact !== 'string' ||
104
+ (input.build !== undefined &&
105
+ (typeof input.build !== 'string' || !/^sha256:[0-9a-f]{64}$/u.test(input.build))) ||
114
106
  (input.issuer !== undefined && typeof input.issuer !== 'string') ||
115
107
  (input.preflight !== undefined &&
116
108
  input.preflight !== 'passed' &&
@@ -0,0 +1,13 @@
1
+ export type ReadinessFetch = (input: string, init: {
2
+ readonly redirect: 'error';
3
+ readonly signal?: AbortSignal;
4
+ }) => Promise<Response>;
5
+ export interface ReadinessOptions {
6
+ readonly fetch?: ReadinessFetch;
7
+ readonly signal?: AbortSignal;
8
+ }
9
+ export declare const MAXIMUM_DOCUMENT_BYTES: number;
10
+ export declare const MAXIMUM_BUNDLE_BYTES: number;
11
+ export declare function fetchRequired(fetcher: ReadinessFetch, url: string, signal: AbortSignal | undefined): Promise<Response>;
12
+ export declare function bounded(response: Response, url: string, maximum: number): Promise<ArrayBuffer>;
13
+ export declare function text(response: Response, url: string, maximum: number): Promise<string>;
@@ -0,0 +1,26 @@
1
+ export const MAXIMUM_DOCUMENT_BYTES = 1024 * 1024;
2
+ export const MAXIMUM_BUNDLE_BYTES = 16 * 1024 * 1024;
3
+ export async function fetchRequired(fetcher, url, signal) {
4
+ const response = await fetcher(url, {
5
+ redirect: 'error',
6
+ ...(signal === undefined ? {} : { signal }),
7
+ });
8
+ if (!response.ok)
9
+ throw new Error(`GET ${url} returned ${response.status}.`);
10
+ return response;
11
+ }
12
+ export async function bounded(response, url, maximum) {
13
+ const bytes = await response.arrayBuffer();
14
+ if (bytes.byteLength > maximum)
15
+ throw new Error(`GET ${url} exceeded ${maximum} bytes.`);
16
+ return bytes;
17
+ }
18
+ export async function text(response, url, maximum) {
19
+ const bytes = await bounded(response, url, maximum);
20
+ try {
21
+ return new TextDecoder('utf-8', { fatal: true, ignoreBOM: false }).decode(bytes);
22
+ }
23
+ catch (cause) {
24
+ throw new Error(`GET ${url} returned invalid UTF-8.`, { cause });
25
+ }
26
+ }
@@ -1,7 +1,4 @@
1
- import type { Addressing } from '../../release/index.js';
2
- import type { ReadinessFetch } from './publication.js';
1
+ import type { IssuerId } from '../../../platform/auth/index.js';
2
+ import type { ReadinessOptions } from './fetch.js';
3
3
  /** Verify issuer discovery and at least one admitted signing key at the serving identity. */
4
- export declare function verifyIdentity(addressing: Addressing, options?: {
5
- readonly fetch?: ReadinessFetch;
6
- readonly signal?: AbortSignal;
7
- }): Promise<void>;
4
+ export declare function verifyIdentity(serving: IssuerId, options?: ReadinessOptions): Promise<void>;
@@ -1,10 +1,10 @@
1
1
  import { issuer } from '@astrale-os/kernel-protocol';
2
2
  const MAXIMUM_IDENTITY_BYTES = 256 * 1024;
3
3
  /** Verify issuer discovery and at least one admitted signing key at the serving identity. */
4
- export async function verifyIdentity(addressing, options = {}) {
4
+ export async function verifyIdentity(serving, options = {}) {
5
5
  const fetcher = options.fetch ?? globalThis.fetch;
6
- const configurationUrl = new URL(issuer.paths(addressing.issuer).configuration, addressing.issuer);
7
- const configuration = issuer.acceptConfiguration(await json(fetcher, configurationUrl.href, options.signal), addressing.issuer);
6
+ const configurationUrl = new URL(issuer.paths(serving).configuration, serving);
7
+ const configuration = issuer.acceptConfiguration(await json(fetcher, configurationUrl.href, options.signal), serving);
8
8
  const keys = issuer.acceptKeySet(await json(fetcher, configuration.jwks_uri, options.signal), configuration.id_token_signing_alg_values_supported);
9
9
  if (keys.keys.length === 0)
10
10
  throw new Error('Serving issuer publishes no signing keys.');
@@ -1,10 +1,14 @@
1
1
  import type { Release } from '../../release/index.js';
2
- import type { ReadinessFetch } from './publication.js';
2
+ import type * as legacy from '../../release/legacy/index.js';
3
+ import type { ReadinessOptions } from './fetch.js';
3
4
  export { verifyDeployment } from './deployment.js';
4
5
  export { verifyIdentity } from './identity.js';
5
- export { verifyPublication, type ReadinessFetch } from './publication.js';
6
- /** Read-only verification of one exact live Release and serving identity. */
7
- export declare function readiness(release: Release, options?: {
8
- readonly fetch?: ReadinessFetch;
9
- readonly signal?: AbortSignal;
10
- }): Promise<void>;
6
+ export type { ReadinessFetch, ReadinessOptions } from './fetch.js';
7
+ export { verifyPublication } from './legacy/index.js';
8
+ export { verifyRelease } from './release.js';
9
+ /**
10
+ * Read-only verification of one exact live Release and its serving identity: an immutable
11
+ * deployment's `release.json` (release digest and build digest), or a stable target's
12
+ * `domain.json` (deprecated, `legacy/`).
13
+ */
14
+ export declare function readiness(release: Release | legacy.Release, options?: ReadinessOptions): Promise<void>;
@@ -1,10 +1,21 @@
1
1
  import { verifyIdentity } from './identity.js';
2
- import { verifyPublication } from './publication.js';
2
+ import { verifyPublication } from './legacy/index.js';
3
+ import { verifyRelease } from './release.js';
3
4
  export { verifyDeployment } from './deployment.js';
4
5
  export { verifyIdentity } from './identity.js';
5
- export { verifyPublication } from './publication.js';
6
- /** Read-only verification of one exact live Release and serving identity. */
6
+ export { verifyPublication } from './legacy/index.js';
7
+ export { verifyRelease } from './release.js';
8
+ /**
9
+ * Read-only verification of one exact live Release and its serving identity: an immutable
10
+ * deployment's `release.json` (release digest and build digest), or a stable target's
11
+ * `domain.json` (deprecated, `legacy/`).
12
+ */
7
13
  export async function readiness(release, options = {}) {
14
+ if (release.kind === 'release') {
15
+ await verifyRelease(release, options);
16
+ await verifyIdentity(release.url, options);
17
+ return;
18
+ }
8
19
  await verifyPublication(release, options);
9
- await verifyIdentity(release.addressing, options);
20
+ await verifyIdentity(release.addressing.issuer, options);
10
21
  }
@@ -0,0 +1,2 @@
1
+ /** @deprecated Stable-target readiness at `domain.json`; see `publication.ts` (removal D10). */
2
+ export { verifyPublication } from './publication.js';
@@ -0,0 +1,2 @@
1
+ /** @deprecated Stable-target readiness at `domain.json`; see `publication.ts` (removal D10). */
2
+ export { verifyPublication } from './publication.js';
@@ -0,0 +1,12 @@
1
+ import * as publication from '@astrale-os/kernel-protocol/release/legacy';
2
+ import type * as legacy from '../../../release/legacy/index.js';
3
+ import type { ReadinessOptions } from '../fetch.js';
4
+ /**
5
+ * Fetch and verify the exact live Publication and Bundle a stable target serves at `domain.json`.
6
+ *
7
+ * @deprecated Replacement: `verifyRelease`, the readiness of an immutable deployment at
8
+ * `release.json` (release digest and build digest). Consumer: the direct-mode deploy path of
9
+ * adapter-cloudflare (the consumers of `deployment/release/legacy/index.ts`).
10
+ * Removal: D10, with that path.
11
+ */
12
+ export declare function verifyPublication(release: legacy.Release, options?: ReadinessOptions): Promise<publication.Publication>;
@@ -0,0 +1,23 @@
1
+ import * as publication from '@astrale-os/kernel-protocol/release/legacy';
2
+ import { bounded, fetchRequired, MAXIMUM_BUNDLE_BYTES, MAXIMUM_DOCUMENT_BYTES, text, } from '../fetch.js';
3
+ /**
4
+ * Fetch and verify the exact live Publication and Bundle a stable target serves at `domain.json`.
5
+ *
6
+ * @deprecated Replacement: `verifyRelease`, the readiness of an immutable deployment at
7
+ * `release.json` (release digest and build digest). Consumer: the direct-mode deploy path of
8
+ * adapter-cloudflare (the consumers of `deployment/release/legacy/index.ts`).
9
+ * Removal: D10, with that path.
10
+ */
11
+ export async function verifyPublication(release, options = {}) {
12
+ const fetcher = options.fetch ?? globalThis.fetch;
13
+ const publicationUrl = publication.url(release.addressing.publicUrl);
14
+ const response = await fetchRequired(fetcher, publicationUrl, options.signal);
15
+ const deployed = publication.accept(JSON.parse(await text(response, publicationUrl, MAXIMUM_DOCUMENT_BYTES)));
16
+ if (!publication.matchesReference(deployed, publication.reference(release.publication))) {
17
+ throw new Error('Live Publication differs from the expected Release.');
18
+ }
19
+ const bundleResponse = await fetchRequired(fetcher, deployed.schema.bundle.href, options.signal);
20
+ const bytes = new Uint8Array(await bounded(bundleResponse, deployed.schema.bundle.href, MAXIMUM_BUNDLE_BYTES));
21
+ publication.decodeBundle(deployed, bytes);
22
+ return deployed;
23
+ }
@@ -0,0 +1,8 @@
1
+ import * as release from '@astrale-os/kernel-protocol/release';
2
+ import type { Release } from '../../release/index.js';
3
+ import type { ReadinessOptions } from './fetch.js';
4
+ /**
5
+ * Fetch and verify the exact live release of one immutable deployment at its `release.json`: its
6
+ * release digest and the build digest of its code, then its Bundle.
7
+ */
8
+ export declare function verifyRelease(expected: Release, options?: ReadinessOptions): Promise<release.DomainRelease>;
@@ -0,0 +1,22 @@
1
+ import * as release from '@astrale-os/kernel-protocol/release';
2
+ import { bounded, fetchRequired, MAXIMUM_BUNDLE_BYTES, MAXIMUM_DOCUMENT_BYTES, text, } from './fetch.js';
3
+ /**
4
+ * Fetch and verify the exact live release of one immutable deployment at its `release.json`: its
5
+ * release digest and the build digest of its code, then its Bundle.
6
+ */
7
+ export async function verifyRelease(expected, options = {}) {
8
+ const fetcher = options.fetch ?? globalThis.fetch;
9
+ const releaseUrl = release.url(expected.url);
10
+ const response = await fetchRequired(fetcher, releaseUrl, options.signal);
11
+ const deployed = release.accept(JSON.parse(await text(response, releaseUrl, MAXIMUM_DOCUMENT_BYTES)));
12
+ if (!release.matchesReference(deployed, release.reference(expected.document))) {
13
+ throw new Error('Live release differs from the expected Release.');
14
+ }
15
+ if (deployed.build.digest !== expected.buildDigest) {
16
+ throw new Error('Live release build digest differs from the expected build.');
17
+ }
18
+ const bundleResponse = await fetchRequired(fetcher, deployed.schema.bundle.href, options.signal);
19
+ const bytes = new Uint8Array(await bounded(bundleResponse, deployed.schema.bundle.href, MAXIMUM_BUNDLE_BYTES));
20
+ release.decodeBundle(deployed, bytes);
21
+ return deployed;
22
+ }
@@ -1,9 +1,18 @@
1
1
  import type { Fetch } from '@astrale-os/kernel-client';
2
- import type { CredentialInput, Grant, IssuerId } from '../../platform/auth/index.js';
2
+ import type { CredentialInput, IdentityId, IssuerId } from '../../platform/auth/index.js';
3
3
  import type { AuthenticatedInvocation } from '../invocation/index.js';
4
4
  import type { InvocationAdmissionInput } from '../invocation/index.js';
5
5
  import type { IdentityNetworkPolicy, VerificationBasis, VerificationBasisResolver } from './jwks.js';
6
6
  import type { SigningMaterial } from './signing.js';
7
+ import { ClientSession } from '../../platform/client/session/index.js';
8
+ import { NodeId } from '../../platform/graph/node/index.js';
9
+ /**
10
+ * How long a callback Session reuses a learned route. It stays at most the Kernel's in-flight
11
+ * issuer window (`KERNEL_INFLIGHT_ISSUER_MS`, Host default 300 s; CT11): a route learned to a
12
+ * deployment replaced by a consented install ages out while that deployment is still accepted and
13
+ * answers the reserved miss, never after its own credential is refused (AM-85).
14
+ */
15
+ export declare const DEFAULT_ROUTE_AGE_MS = 60000;
7
16
  export declare function admit(request: InvocationAdmissionInput, configuration: AuthenticationConfiguration): Promise<unknown>;
8
17
  export interface AuthenticationConfiguration {
9
18
  readonly issuer: IssuerId;
@@ -17,5 +26,17 @@ export declare function authenticate(credentialInput: CredentialInput, expectedK
17
26
  readonly deadline: number;
18
27
  readonly signal: AbortSignal;
19
28
  }, configuration: AuthenticationConfiguration): Promise<AuthenticatedInvocation>;
20
- export declare function acceptResolvedDelegation(input: unknown): Grant;
29
+ /**
30
+ * The Domain's own authority toward one Kernel for a step of the durable Execution `executionId`,
31
+ * which no caller credential carries: the run acts as its executor, never as its initiator. Every
32
+ * credential names `executionId` in `EXECUTION_CLAIM`, so the Kernel can accept a replaced issuer
33
+ * for the steps of a run in flight at a consented issuer change. The caller owns the returned
34
+ * Session.
35
+ */
36
+ export declare function executorSession(kernel: IssuerId, executionId: NodeId, execution: {
37
+ readonly deadline: number;
38
+ readonly signal: AbortSignal;
39
+ }, configuration: AuthenticationConfiguration): ClientSession;
40
+ /** Accept a Kernel delegation proof claim naming exactly one resolved caller Identity. */
41
+ export declare function acceptResolvedDelegation(input: unknown): IdentityId;
21
42
  export type { VerificationBasis };