@astrale-os/sdk 0.6.0-beta.3 → 0.6.0-beta.31

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 (444) hide show
  1. package/README.md +181 -58
  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 +44 -31
  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 +8 -6
  8. package/dist/application/define.js +28 -14
  9. package/dist/application/dependency/index.d.ts +1 -1
  10. package/dist/application/dependency/invoker.d.ts +14 -9
  11. package/dist/application/domain.d.ts +30 -0
  12. package/dist/application/index.d.ts +4 -4
  13. package/dist/application/index.js +1 -1
  14. package/dist/application/integration/operation.d.ts +2 -2
  15. package/dist/application/mutation/authoring/properties.d.ts +5 -3
  16. package/dist/application/mutation/authoring/properties.js +35 -2
  17. package/dist/application/mutation/authoring/transition.js +4 -1
  18. package/dist/application/mutation/index.d.ts +1 -1
  19. package/dist/application/query/composite/plan.d.ts +0 -4
  20. package/dist/application/query/composite/plan.js +0 -2
  21. package/dist/application/routes/admission.d.ts +2 -2
  22. package/dist/application/routes/admission.js +1 -1
  23. package/dist/application/routes/route.d.ts +2 -2
  24. package/dist/application/runtime/actions.js +3 -0
  25. package/dist/application/runtime/workflows.d.ts +3 -1
  26. package/dist/application/runtime/workflows.js +6 -4
  27. package/dist/application/view/define.js +4 -6
  28. package/dist/application/view/frontend.d.ts +2 -2
  29. package/dist/application/view/index.d.ts +1 -1
  30. package/dist/application/view/route.d.ts +0 -14
  31. package/dist/application/view/route.js +1 -64
  32. package/dist/application/workflow/authoring.d.ts +3 -2
  33. package/dist/application/workflow/context.d.ts +8 -2
  34. package/dist/application/workflow/define.d.ts +4 -4
  35. package/dist/application/workflow/define.js +20 -4
  36. package/dist/application/workflow/durable.d.ts +87 -0
  37. package/dist/application/workflow/index.d.ts +3 -2
  38. package/dist/application/workflow/runner/inline.js +3 -4
  39. package/dist/application/workflow/runner/runner.d.ts +2 -2
  40. package/dist/application/workflow/step/output.d.ts +2 -0
  41. package/dist/application/workflow/step/output.js +73 -0
  42. package/dist/application/workflow/workflow.d.ts +13 -3
  43. package/dist/deployment/adapter/adapter.d.ts +55 -13
  44. package/dist/deployment/adapter/bundle/bundle.d.ts +36 -0
  45. package/dist/deployment/adapter/bundle/file.d.ts +10 -0
  46. package/dist/deployment/adapter/bundle/index.d.ts +2 -0
  47. package/dist/deployment/adapter/define.d.ts +4 -3
  48. package/dist/deployment/adapter/define.js +107 -23
  49. package/dist/deployment/adapter/index.d.ts +4 -3
  50. package/dist/deployment/adapter/index.js +1 -0
  51. package/dist/deployment/adapter/release/command.d.ts +33 -0
  52. package/dist/deployment/adapter/release/context.d.ts +94 -0
  53. package/dist/deployment/adapter/release/index.d.ts +4 -0
  54. package/dist/deployment/adapter/release/index.js +1 -0
  55. package/dist/deployment/adapter/release/list.d.ts +53 -0
  56. package/dist/deployment/adapter/release/list.js +1 -0
  57. package/dist/deployment/adapter/release/refusal.d.ts +10 -0
  58. package/dist/deployment/adapter/release/refusal.js +14 -0
  59. package/dist/deployment/adapter/release/result.d.ts +56 -0
  60. package/dist/deployment/adapter/release/result.js +1 -0
  61. package/dist/deployment/address/configuration.d.ts +95 -0
  62. package/dist/deployment/address/configuration.js +273 -0
  63. package/dist/deployment/address/fingerprint.d.ts +5 -0
  64. package/dist/deployment/address/fingerprint.js +27 -0
  65. package/dist/deployment/address/index.d.ts +5 -0
  66. package/dist/deployment/address/index.js +4 -0
  67. package/dist/deployment/address/label.d.ts +42 -0
  68. package/dist/deployment/address/label.js +80 -0
  69. package/dist/deployment/address/line.d.ts +29 -0
  70. package/dist/deployment/address/line.js +53 -0
  71. package/dist/deployment/address/record.d.ts +73 -0
  72. package/dist/deployment/address/record.js +138 -0
  73. package/dist/deployment/address/summary.d.ts +30 -0
  74. package/dist/deployment/address/summary.js +1 -0
  75. package/dist/deployment/address/vectors.d.ts +60 -0
  76. package/dist/deployment/address/vectors.js +517 -0
  77. package/dist/deployment/authoring.d.ts +0 -2
  78. package/dist/deployment/authoring.js +0 -1
  79. package/dist/deployment/build/build.d.ts +8 -2
  80. package/dist/deployment/build/compile.d.ts +4 -4
  81. package/dist/deployment/build/compile.js +19 -17
  82. package/dist/deployment/build/frontend/compilation.d.ts +2 -4
  83. package/dist/deployment/build/frontend/compilation.js +0 -5
  84. package/dist/deployment/build/frontend/digest.js +1 -5
  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.d.ts +2 -2
  90. package/dist/deployment/build/material.js +28 -13
  91. package/dist/deployment/build/schema.d.ts +2 -2
  92. package/dist/deployment/deployment.d.ts +3 -2
  93. package/dist/deployment/environment.d.ts +6 -0
  94. package/dist/deployment/environment.js +6 -0
  95. package/dist/deployment/index.d.ts +4 -6
  96. package/dist/deployment/index.js +1 -2
  97. package/dist/deployment/release/addressing.d.ts +6 -5
  98. package/dist/deployment/release/addressing.js +2 -3
  99. package/dist/deployment/release/assemble.d.ts +6 -3
  100. package/dist/deployment/release/assemble.js +12 -10
  101. package/dist/deployment/release/release.d.ts +16 -5
  102. package/dist/deployment/release/seal.d.ts +14 -0
  103. package/dist/deployment/release/seal.js +22 -0
  104. package/dist/deployment/release/{publication → served}/callables.d.ts +2 -2
  105. package/dist/deployment/release/{publication → served}/callables.js +2 -2
  106. package/dist/deployment/release/served/index.d.ts +11 -0
  107. package/dist/deployment/release/served/index.js +26 -0
  108. package/dist/deployment/release/{publication → served}/views.d.ts +2 -2
  109. package/dist/deployment/release/{publication → served}/views.js +0 -1
  110. package/dist/deployment/runtime/admission.d.ts +2 -2
  111. package/dist/deployment/runtime/admission.js +5 -5
  112. package/dist/deployment/verify/index.d.ts +3 -4
  113. package/dist/deployment/verify/index.js +2 -3
  114. package/dist/deployment/verify/preflight/bundle.d.ts +18 -0
  115. package/dist/deployment/verify/preflight/bundle.js +71 -0
  116. package/dist/deployment/verify/preflight/index.d.ts +1 -12
  117. package/dist/deployment/verify/preflight/index.js +1 -12
  118. package/dist/deployment/verify/readiness/fetch.d.ts +13 -0
  119. package/dist/deployment/verify/readiness/fetch.js +26 -0
  120. package/dist/deployment/verify/readiness/identity.d.ts +3 -6
  121. package/dist/deployment/verify/readiness/identity.js +3 -3
  122. package/dist/deployment/verify/readiness/index.d.ts +15 -8
  123. package/dist/deployment/verify/readiness/index.js +25 -6
  124. package/dist/deployment/verify/readiness/release.d.ts +8 -0
  125. package/dist/deployment/verify/readiness/release.js +22 -0
  126. package/dist/deployment/worker/address.d.ts +26 -0
  127. package/dist/deployment/worker/address.js +43 -0
  128. package/dist/deployment/worker/build.d.ts +60 -0
  129. package/dist/deployment/worker/build.js +172 -0
  130. package/dist/deployment/worker/configuration.d.ts +73 -0
  131. package/dist/deployment/worker/configuration.js +165 -0
  132. package/dist/deployment/worker/content.d.ts +38 -0
  133. package/dist/deployment/worker/content.js +169 -0
  134. package/dist/deployment/worker/index.d.ts +29 -0
  135. package/dist/deployment/worker/index.js +29 -0
  136. package/dist/deployment/worker/limits.d.ts +30 -0
  137. package/dist/deployment/worker/limits.js +30 -0
  138. package/dist/deployment/worker/record.d.ts +29 -0
  139. package/dist/deployment/worker/record.js +69 -0
  140. package/dist/deployment/worker/request.d.ts +118 -0
  141. package/dist/deployment/worker/request.js +280 -0
  142. package/dist/deployment/worker/response.d.ts +101 -0
  143. package/dist/deployment/worker/response.js +207 -0
  144. package/dist/execution/identity/authentication.d.ts +33 -3
  145. package/dist/execution/identity/authentication.js +85 -40
  146. package/dist/execution/identity/callback.d.ts +16 -15
  147. package/dist/execution/identity/callback.js +21 -16
  148. package/dist/execution/identity/delivery.d.ts +6 -4
  149. package/dist/execution/identity/delivery.js +25 -20
  150. package/dist/execution/identity/identity.d.ts +17 -3
  151. package/dist/execution/identity/identity.js +12 -4
  152. package/dist/execution/identity/jwks.d.ts +5 -0
  153. package/dist/execution/identity/jwks.js +92 -102
  154. package/dist/execution/index.d.ts +4 -4
  155. package/dist/execution/index.js +2 -2
  156. package/dist/execution/invocation/admission/authentication.d.ts +11 -13
  157. package/dist/execution/invocation/admission/authentication.js +48 -44
  158. package/dist/execution/invocation/admission/authority.d.ts +28 -6
  159. package/dist/execution/invocation/admission/authority.js +9 -2
  160. package/dist/execution/invocation/admission/index.d.ts +2 -2
  161. package/dist/execution/invocation/admission/index.js +1 -1
  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 +3 -1
  165. package/dist/execution/invocation/dependency/bind.js +36 -16
  166. package/dist/execution/invocation/dispatch/context.d.ts +7 -6
  167. package/dist/execution/invocation/dispatch/context.js +17 -31
  168. package/dist/execution/invocation/dispatch/workflow.js +0 -4
  169. package/dist/execution/invocation/index.d.ts +2 -2
  170. package/dist/execution/invocation/index.js +1 -1
  171. package/dist/execution/invocation/integration/call.d.ts +2 -1
  172. package/dist/execution/invocation/integration/call.js +1 -1
  173. package/dist/execution/invocation/integration/clients.d.ts +1 -1
  174. package/dist/execution/invocation/invocation.js +49 -16
  175. package/dist/execution/invocation/result/errors.d.ts +0 -10
  176. package/dist/execution/invocation/result/errors.js +0 -17
  177. package/dist/execution/invocation/result/index.d.ts +2 -2
  178. package/dist/execution/invocation/result/index.js +1 -1
  179. package/dist/execution/invocation/result/project.js +41 -1
  180. package/dist/execution/node/serve.d.ts +2 -2
  181. package/dist/execution/node/serve.js +1 -1
  182. package/dist/execution/runtime/index.d.ts +1 -0
  183. package/dist/execution/runtime/index.js +1 -0
  184. package/dist/execution/runtime/load.d.ts +3 -3
  185. package/dist/execution/runtime/load.js +3 -2
  186. package/dist/execution/runtime/release.d.ts +17 -0
  187. package/dist/execution/runtime/release.js +7 -0
  188. package/dist/execution/serve.d.ts +10 -4
  189. package/dist/execution/serve.js +3 -0
  190. package/dist/execution/service/create.js +41 -7
  191. package/dist/execution/service/initialization.d.ts +4 -4
  192. package/dist/execution/service/initialization.js +23 -14
  193. package/dist/execution/service/release.d.ts +2 -2
  194. package/dist/execution/service/release.js +3 -2
  195. package/dist/execution/service/service.d.ts +14 -5
  196. package/dist/execution/service/serving/delivery.d.ts +5 -0
  197. package/dist/execution/service/{publication → serving}/delivery.js +4 -1
  198. package/dist/execution/service/{publication → serving}/index.d.ts +1 -1
  199. package/dist/execution/service/serving/installation.d.ts +4 -0
  200. package/dist/execution/service/serving/installation.js +9 -0
  201. package/dist/execution/service/serving/source.d.ts +11 -0
  202. package/dist/execution/service/serving/source.js +15 -0
  203. package/dist/execution/workflows/discovery.d.ts +14 -0
  204. package/dist/execution/workflows/discovery.js +151 -0
  205. package/dist/execution/workflows/engine.d.ts +52 -0
  206. package/dist/execution/workflows/engine.js +1 -0
  207. package/dist/execution/workflows/envelope.d.ts +12 -0
  208. package/dist/execution/workflows/envelope.js +46 -0
  209. package/dist/execution/workflows/failure.d.ts +11 -0
  210. package/dist/execution/workflows/failure.js +43 -0
  211. package/dist/execution/workflows/index.d.ts +4 -0
  212. package/dist/execution/workflows/index.js +3 -0
  213. package/dist/execution/workflows/options.d.ts +34 -0
  214. package/dist/execution/workflows/options.js +65 -0
  215. package/dist/execution/workflows/receiver.d.ts +21 -0
  216. package/dist/execution/workflows/receiver.js +92 -0
  217. package/dist/execution/workflows/route.d.ts +12 -0
  218. package/dist/execution/workflows/route.js +35 -0
  219. package/dist/execution/workflows/run.d.ts +22 -0
  220. package/dist/execution/workflows/run.js +223 -0
  221. package/dist/index.d.ts +4 -4
  222. package/dist/index.js +2 -2
  223. package/dist/platform/graph/alias.d.ts +1 -5
  224. package/dist/platform/graph/alias.js +1 -5
  225. package/dist/platform/graph/document/index.d.ts +1 -1
  226. package/dist/platform/graph/document/index.js +1 -1
  227. package/dist/platform/graph/index.d.ts +1 -1
  228. package/dist/platform/graph/index.js +1 -1
  229. package/dist/platform/release/index.d.ts +2 -0
  230. package/dist/platform/release/index.js +2 -0
  231. package/dist/platform/schema/callable-authoring.d.ts +21 -0
  232. package/dist/platform/schema/callable-authoring.js +27 -0
  233. package/dist/platform/schema/class-authoring.d.ts +61 -11
  234. package/dist/platform/schema/class-authoring.js +37 -4
  235. package/dist/platform/schema/class-icon-svg.d.ts +9 -0
  236. package/dist/platform/schema/class-icon-svg.js +29 -0
  237. package/dist/platform/schema/class-icon.d.ts +3 -8
  238. package/dist/platform/schema/class-icon.js +2 -29
  239. package/dist/platform/schema/index.d.ts +6 -4
  240. package/dist/platform/schema/index.js +2 -1
  241. package/dist/platform/schema/property.d.ts +5 -0
  242. package/dist/platform/schema/schema-authoring.d.ts +14 -7
  243. package/dist/platform/schema/schema-authoring.js +5 -1
  244. package/dist/platform/versioning/dependents.d.ts +18 -0
  245. package/dist/platform/versioning/dependents.js +15 -0
  246. package/dist/platform/versioning/index.d.ts +5 -0
  247. package/dist/platform/versioning/index.js +5 -0
  248. package/dist/platform/versioning/name.d.ts +38 -0
  249. package/dist/platform/versioning/name.js +58 -0
  250. package/dist/platform/versioning/reference.d.ts +48 -0
  251. package/dist/platform/versioning/reference.js +95 -0
  252. package/dist/platform/versioning/version.d.ts +72 -0
  253. package/dist/platform/versioning/version.js +98 -0
  254. package/dist/project/admit.js +1 -5
  255. package/dist/project/define.d.ts +4 -4
  256. package/dist/project/define.js +55 -35
  257. package/dist/project/index.d.ts +1 -1
  258. package/dist/project/install-command.d.ts +6 -0
  259. package/dist/project/install-command.js +9 -0
  260. package/dist/project/project.d.ts +10 -8
  261. package/dist/testing/dataset/define.d.ts +1 -1
  262. package/dist/testing/load.js +1 -1
  263. package/dist/tooling/cli/adapter-command.d.ts +35 -0
  264. package/dist/tooling/cli/adapter-command.js +66 -0
  265. package/dist/tooling/cli/arguments.d.ts +17 -6
  266. package/dist/tooling/cli/arguments.js +175 -52
  267. package/dist/tooling/cli/build.d.ts +55 -0
  268. package/dist/tooling/cli/build.js +77 -0
  269. package/dist/tooling/cli/bun.d.ts +0 -1
  270. package/dist/tooling/cli/bun.js +0 -7
  271. package/dist/tooling/cli/commit.d.ts +35 -0
  272. package/dist/tooling/cli/commit.js +235 -0
  273. package/dist/tooling/cli/deploy-mode.d.ts +26 -0
  274. package/dist/tooling/cli/deploy-mode.js +59 -0
  275. package/dist/tooling/cli/deploy-result.d.ts +80 -0
  276. package/dist/tooling/cli/deploy-result.js +64 -0
  277. package/dist/tooling/cli/diff/declared.d.ts +7 -0
  278. package/dist/tooling/cli/diff/declared.js +27 -0
  279. package/dist/tooling/cli/diff/index.d.ts +30 -0
  280. package/dist/tooling/cli/diff/index.js +58 -0
  281. package/dist/tooling/cli/diff/render.d.ts +15 -0
  282. package/dist/tooling/cli/diff/render.js +131 -0
  283. package/dist/tooling/cli/diff/report.d.ts +88 -0
  284. package/dist/tooling/cli/diff/report.js +154 -0
  285. package/dist/tooling/cli/dotenv.d.ts +2 -2
  286. package/dist/tooling/cli/dotenv.js +3 -33
  287. package/dist/tooling/cli/help.js +173 -60
  288. package/dist/tooling/cli/immutable-deployment.d.ts +83 -0
  289. package/dist/tooling/cli/immutable-deployment.js +135 -0
  290. package/dist/tooling/cli/index.d.ts +12 -4
  291. package/dist/tooling/cli/index.js +6 -3
  292. package/dist/tooling/cli/installed-on.d.ts +83 -0
  293. package/dist/tooling/cli/installed-on.js +156 -0
  294. package/dist/tooling/cli/list.d.ts +152 -0
  295. package/dist/tooling/cli/list.js +331 -0
  296. package/dist/tooling/cli/log.d.ts +5 -0
  297. package/dist/tooling/cli/log.js +9 -0
  298. package/dist/tooling/cli/orchestrate.d.ts +0 -6
  299. package/dist/tooling/cli/orchestrate.js +246 -90
  300. package/dist/tooling/cli/project.d.ts +3 -3
  301. package/dist/tooling/cli/publish/index.d.ts +81 -0
  302. package/dist/tooling/cli/publish/index.js +383 -0
  303. package/dist/tooling/cli/publish/report.d.ts +49 -0
  304. package/dist/tooling/cli/publish/report.js +15 -0
  305. package/dist/tooling/cli/registry/client.d.ts +121 -0
  306. package/dist/tooling/cli/registry/client.js +354 -0
  307. package/dist/tooling/cli/registry/error.d.ts +11 -0
  308. package/dist/tooling/cli/registry/error.js +17 -0
  309. package/dist/tooling/cli/registry/executable.d.ts +35 -0
  310. package/dist/tooling/cli/registry/executable.js +96 -0
  311. package/dist/tooling/cli/registry/index.d.ts +9 -0
  312. package/dist/tooling/cli/registry/index.js +8 -0
  313. package/dist/tooling/cli/registry/installations.d.ts +67 -0
  314. package/dist/tooling/cli/registry/installations.js +108 -0
  315. package/dist/tooling/cli/registry/process.d.ts +36 -0
  316. package/dist/tooling/cli/registry/process.js +119 -0
  317. package/dist/tooling/cli/secrets.d.ts +9 -0
  318. package/dist/tooling/cli/secrets.js +19 -0
  319. package/dist/tooling/cli/yank.d.ts +34 -0
  320. package/dist/tooling/cli/yank.js +32 -0
  321. package/dist/tooling/linter/implementations/source/callable-requirements.d.ts +1 -1
  322. package/dist/tooling/linter/implementations/source/callable-requirements.js +10 -10
  323. package/dist/tooling/linter/implementations/source/dependencies.js +12 -10
  324. package/dist/tooling/linter/implementations/source/global.js +1 -2
  325. package/dist/tooling/linter/implementations/source/mutations.js +17 -17
  326. package/dist/tooling/linter/implementations/source/providers.js +5 -5
  327. package/dist/tooling/linter/implementations/source/verifiers.js +0 -2
  328. package/dist/tooling/linter/implementations/source/views.js +2 -2
  329. package/dist/tooling/linter/policy/generated.js +14 -63
  330. package/dist/tooling/linter/requirements/registry.js +1 -6
  331. package/dist/tooling/packaging/declarations/ownership.js +1 -1
  332. package/dist/tooling/packaging/finalize.d.ts +1 -1
  333. package/dist/tooling/packaging/finalize.js +1 -1
  334. package/package.json +39 -13
  335. package/dist/application/application.d.ts +0 -28
  336. package/dist/application/query/execution/projection.d.ts +0 -3
  337. package/dist/application/query/execution/projection.js +0 -3
  338. package/dist/deployment/adapter/deploy/context.d.ts +0 -15
  339. package/dist/deployment/adapter/deploy/index.d.ts +0 -2
  340. package/dist/deployment/adapter/deploy/result.d.ts +0 -50
  341. package/dist/deployment/adapter/prepare/artifact.d.ts +0 -33
  342. package/dist/deployment/adapter/prepare/context.d.ts +0 -23
  343. package/dist/deployment/adapter/prepare/index.d.ts +0 -2
  344. package/dist/deployment/deploy.d.ts +0 -20
  345. package/dist/deployment/deploy.js +0 -31
  346. package/dist/deployment/release/publication/index.d.ts +0 -6
  347. package/dist/deployment/release/publication/index.js +0 -6
  348. package/dist/deployment/release/publication/manifest.d.ts +0 -3
  349. package/dist/deployment/release/publication/manifest.js +0 -5
  350. package/dist/deployment/release/publication/requirements.d.ts +0 -3
  351. package/dist/deployment/release/publication/requirements.js +0 -3
  352. package/dist/deployment/release/publication/seal.d.ts +0 -10
  353. package/dist/deployment/release/publication/seal.js +0 -39
  354. package/dist/deployment/verify/preflight/artifact.d.ts +0 -6
  355. package/dist/deployment/verify/preflight/artifact.js +0 -122
  356. package/dist/deployment/verify/preflight/publication.d.ts +0 -4
  357. package/dist/deployment/verify/preflight/publication.js +0 -14
  358. package/dist/deployment/verify/readiness/deployment.d.ts +0 -3
  359. package/dist/deployment/verify/readiness/deployment.js +0 -151
  360. package/dist/deployment/verify/readiness/publication.d.ts +0 -11
  361. package/dist/deployment/verify/readiness/publication.js +0 -41
  362. package/dist/execution/service/errors.d.ts +0 -3
  363. package/dist/execution/service/errors.js +0 -3
  364. package/dist/execution/service/publication/delivery.d.ts +0 -2
  365. package/dist/execution/service/publication/installation.d.ts +0 -3
  366. package/dist/execution/service/publication/installation.js +0 -8
  367. package/dist/execution/service/publication/source.d.ts +0 -3
  368. package/dist/execution/service/publication/source.js +0 -11
  369. package/dist/platform/publication/index.d.ts +0 -2
  370. package/dist/platform/publication/index.js +0 -2
  371. package/dist/tooling/cli/astrale/authority.d.ts +0 -5
  372. package/dist/tooling/cli/astrale/authority.js +0 -11
  373. package/dist/tooling/cli/astrale/executable.d.ts +0 -2
  374. package/dist/tooling/cli/astrale/executable.js +0 -47
  375. package/dist/tooling/cli/astrale/failure.d.ts +0 -6
  376. package/dist/tooling/cli/astrale/failure.js +0 -48
  377. package/dist/tooling/cli/astrale/instance.d.ts +0 -11
  378. package/dist/tooling/cli/astrale/instance.js +0 -52
  379. package/dist/tooling/cli/astrale/process.d.ts +0 -13
  380. package/dist/tooling/cli/astrale/process.js +0 -94
  381. package/dist/tooling/cli/astrale/version.d.ts +0 -18
  382. package/dist/tooling/cli/astrale/version.js +0 -55
  383. package/dist/tooling/cli/credential.d.ts +0 -2
  384. package/dist/tooling/cli/credential.js +0 -57
  385. package/dist/tooling/cli/deprecations.d.ts +0 -9
  386. package/dist/tooling/cli/deprecations.js +0 -15
  387. package/dist/tooling/cli/development/candidate.d.ts +0 -25
  388. package/dist/tooling/cli/development/candidate.js +0 -176
  389. package/dist/tooling/cli/development/deployment.d.ts +0 -16
  390. package/dist/tooling/cli/development/deployment.js +0 -39
  391. package/dist/tooling/cli/development/develop.d.ts +0 -11
  392. package/dist/tooling/cli/development/develop.js +0 -243
  393. package/dist/tooling/cli/development/lease.d.ts +0 -18
  394. package/dist/tooling/cli/development/lease.js +0 -163
  395. package/dist/tooling/cli/development/lifecycle.d.ts +0 -9
  396. package/dist/tooling/cli/development/lifecycle.js +0 -43
  397. package/dist/tooling/cli/development/project-imports.d.ts +0 -22
  398. package/dist/tooling/cli/development/project-imports.js +0 -39
  399. package/dist/tooling/cli/development/project-lock.d.ts +0 -16
  400. package/dist/tooling/cli/development/project-lock.js +0 -41
  401. package/dist/tooling/cli/development/rebuild.d.ts +0 -13
  402. package/dist/tooling/cli/development/rebuild.js +0 -58
  403. package/dist/tooling/cli/development/release-evidence.d.ts +0 -4
  404. package/dist/tooling/cli/development/release-evidence.js +0 -10
  405. package/dist/tooling/cli/development/report.d.ts +0 -6
  406. package/dist/tooling/cli/development/report.js +0 -14
  407. package/dist/tooling/cli/development/session-file.d.ts +0 -53
  408. package/dist/tooling/cli/development/session-file.js +0 -337
  409. package/dist/tooling/cli/development/source-watch.d.ts +0 -14
  410. package/dist/tooling/cli/development/source-watch.js +0 -140
  411. package/dist/tooling/cli/development/sources.d.ts +0 -7
  412. package/dist/tooling/cli/development/sources.js +0 -48
  413. package/dist/tooling/cli/development/target-lock.d.ts +0 -16
  414. package/dist/tooling/cli/development/target-lock.js +0 -68
  415. package/dist/tooling/cli/development/view.d.ts +0 -28
  416. package/dist/tooling/cli/development/view.js +0 -151
  417. package/dist/tooling/cli/environment-release.d.ts +0 -21
  418. package/dist/tooling/cli/environment-release.js +0 -46
  419. package/dist/tooling/cli/evidence.d.ts +0 -11
  420. package/dist/tooling/cli/evidence.js +0 -53
  421. package/dist/tooling/cli/installation/index.d.ts +0 -2
  422. package/dist/tooling/cli/installation/index.js +0 -1
  423. package/dist/tooling/cli/installation/observation.d.ts +0 -10
  424. package/dist/tooling/cli/installation/observation.js +0 -44
  425. package/dist/tooling/cli/installation/reconcile.d.ts +0 -32
  426. package/dist/tooling/cli/installation/reconcile.js +0 -122
  427. package/dist/tooling/linter/implementations/source/migrations.d.ts +0 -2
  428. package/dist/tooling/linter/implementations/source/migrations.js +0 -113
  429. package/dist/tooling/linter/qualification/index.d.ts +0 -10
  430. package/dist/tooling/linter/qualification/index.js +0 -2
  431. package/dist/tooling/linter/qualification/query-fixtures.d.ts +0 -2
  432. package/dist/tooling/linter/qualification/query-fixtures.js +0 -68
  433. package/dist/tooling/linter/qualification/runner.d.ts +0 -3
  434. package/dist/tooling/linter/qualification/runner.js +0 -6
  435. /package/dist/application/{application.js → domain.js} +0 -0
  436. /package/dist/{deployment/adapter/deploy/context.js → application/workflow/durable.js} +0 -0
  437. /package/dist/deployment/adapter/{deploy/index.js → bundle/bundle.js} +0 -0
  438. /package/dist/deployment/adapter/{deploy/result.js → bundle/file.js} +0 -0
  439. /package/dist/deployment/adapter/{prepare → bundle}/index.js +0 -0
  440. /package/dist/deployment/adapter/{prepare/artifact.js → release/command.js} +0 -0
  441. /package/dist/deployment/adapter/{prepare → release}/context.js +0 -0
  442. /package/dist/deployment/release/{publication → served}/routes.d.ts +0 -0
  443. /package/dist/deployment/release/{publication → served}/routes.js +0 -0
  444. /package/dist/execution/service/{publication → serving}/index.js +0 -0
@@ -1,20 +0,0 @@
1
- import type { ApplicationIdentity } from '../application/index.js';
2
- import type { Adapter } from './adapter/index.js';
3
- import type { RuntimeReference } from './runtime/index.js';
4
- type CanonicalAdapter<Value> = Value extends Adapter<infer _Parameters> ? Value : never;
5
- /** @deprecated Declare Application and Environments directly in defineProject(). */
6
- export interface DeploymentInput<ApplicationValue extends ApplicationIdentity, AdapterValue extends object> {
7
- readonly application: ApplicationValue;
8
- readonly entrypoint: RuntimeReference;
9
- readonly adapter: CanonicalAdapter<AdapterValue>;
10
- }
11
- /** @deprecated Legacy aggregate retained only so tooling can issue an exact migration diagnostic. */
12
- export interface LegacyDeployment<ApplicationValue extends ApplicationIdentity = ApplicationIdentity, AdapterValue extends object = object> {
13
- readonly application: ApplicationValue;
14
- readonly entrypoint: RuntimeReference;
15
- readonly adapter: AdapterValue;
16
- }
17
- /** @deprecated Declare Application and Environments directly in defineProject(). */
18
- export declare function deploy<const ApplicationValue extends ApplicationIdentity, const AdapterValue extends object>(input: DeploymentInput<ApplicationValue, AdapterValue>): LegacyDeployment<ApplicationValue, AdapterValue>;
19
- export declare function isLegacyDeployment(input: unknown): input is LegacyDeployment;
20
- export {};
@@ -1,31 +0,0 @@
1
- import { isApplication } from '../application/index.js';
2
- import { isAdapter } from './adapter/index.js';
3
- import { isRuntimeReference } from './runtime/index.js';
4
- const legacyDeployments = new WeakSet();
5
- /** @deprecated Declare Application and Environments directly in defineProject(). */
6
- export function deploy(input) {
7
- if (input === null || typeof input !== 'object' || Array.isArray(input))
8
- invalid();
9
- const keys = Reflect.ownKeys(input);
10
- if (keys.length !== 3 ||
11
- keys.some((key) => key !== 'application' && key !== 'entrypoint' && key !== 'adapter')) {
12
- invalid();
13
- }
14
- if (!isApplication(input.application)) {
15
- throw new TypeError('Deployment Application is not admitted.');
16
- }
17
- if (!isRuntimeReference(input.entrypoint)) {
18
- throw new TypeError('Deployment entrypoint must be created by runtime(path).');
19
- }
20
- if (!isAdapter(input.adapter))
21
- throw new TypeError('Deployment Adapter is not admitted.');
22
- const deployment = Object.freeze({ ...input });
23
- legacyDeployments.add(deployment);
24
- return deployment;
25
- }
26
- export function isLegacyDeployment(input) {
27
- return input !== null && typeof input === 'object' && legacyDeployments.has(input);
28
- }
29
- function invalid() {
30
- throw new TypeError('Deployment must contain exactly application, entrypoint, and adapter.');
31
- }
@@ -1,6 +0,0 @@
1
- export { callables } from './callables.js';
2
- export { manifest } from './manifest.js';
3
- export { requirements } from './requirements.js';
4
- export { routes } from './routes.js';
5
- export { seal, type SealedPublication } from './seal.js';
6
- export { views } from './views.js';
@@ -1,6 +0,0 @@
1
- export { callables } from './callables.js';
2
- export { manifest } from './manifest.js';
3
- export { requirements } from './requirements.js';
4
- export { routes } from './routes.js';
5
- export { seal } from './seal.js';
6
- export { views } from './views.js';
@@ -1,3 +0,0 @@
1
- import type * as publication from '@astrale-os/kernel-protocol/publication';
2
- import type { Build } from '../../build/index.js';
3
- export declare function manifest(build: Build): publication.Manifest | undefined;
@@ -1,5 +0,0 @@
1
- export function manifest(build) {
2
- return build.frontend === undefined
3
- ? undefined
4
- : Object.freeze({ entrypoint: build.frontend.entrypoint });
5
- }
@@ -1,3 +0,0 @@
1
- import type * as publication from '@astrale-os/kernel-protocol/publication';
2
- import type { Build } from '../../build/index.js';
3
- export declare function requirements(build: Build): publication.PublicationRequirements;
@@ -1,3 +0,0 @@
1
- export function requirements(build) {
2
- return build.requirements;
3
- }
@@ -1,10 +0,0 @@
1
- import * as publication from '@astrale-os/kernel-protocol/publication';
2
- import * as protocolRoutes from '@astrale-os/kernel-protocol/routes';
3
- import type { Build } from '../../build/index.js';
4
- import type { Addressing } from '../addressing.js';
5
- export declare const DELIVERY_PATH: '/install';
6
- export interface SealedPublication {
7
- readonly publication: publication.Publication;
8
- readonly routes: protocolRoutes.Table;
9
- }
10
- export declare function seal(build: Build, addressing: Addressing): SealedPublication;
@@ -1,39 +0,0 @@
1
- import * as publication from '@astrale-os/kernel-protocol/publication';
2
- import * as protocolRoutes from '@astrale-os/kernel-protocol/routes';
3
- import { evidenceOf } from '../../build/admission.js';
4
- import { callables } from './callables.js';
5
- import { manifest } from './manifest.js';
6
- import { requirements } from './requirements.js';
7
- import { routes } from './routes.js';
8
- import { views } from './views.js';
9
- export const DELIVERY_PATH = '/install';
10
- export function seal(build, addressing) {
11
- const root = build.schema.compiled.root;
12
- const selectedManifest = manifest(build);
13
- const sealed = publication.seal({
14
- format: 'astrale.domain.publication',
15
- version: 3,
16
- origin: root.origin,
17
- identity: { issuer: addressing.issuer, subject: root.origin },
18
- schema: {
19
- revision: root.revision,
20
- bundle: {
21
- href: publication.bundleUrl(addressing.publicUrl, build.schema.bundle.ref),
22
- ref: build.schema.bundle.ref,
23
- },
24
- },
25
- requirements: requirements(build),
26
- ...(selectedManifest === undefined ? {} : { manifest: selectedManifest }),
27
- bindings: {
28
- callables: callables(build, addressing),
29
- views: views(build, addressing),
30
- },
31
- delivery: publication.placeDelivery({ path: DELIVERY_PATH, authentication: { kind: 'public' } }, addressing.publicUrl, publication.bundleUrl(addressing.publicUrl, build.schema.bundle.ref)),
32
- routes: routes(build, addressing),
33
- });
34
- const { domain } = evidenceOf(build);
35
- return Object.freeze({
36
- publication: sealed,
37
- routes: protocolRoutes.bind(build.routes, sealed, domain, addressing.publicUrl),
38
- });
39
- }
@@ -1,6 +0,0 @@
1
- import type { ArtifactSource, PreparedArtifact } from '../../adapter/prepare/index.js';
2
- import type { Build } from '../../build/index.js';
3
- import type { ResolvedRuntimeReference } from '../../runtime/index.js';
4
- /** Detach preparation output and bind it to the exact Build and resolved Runtime identity. */
5
- export declare function artifact<const BuildValue extends Build>(build: BuildValue, runtime: ResolvedRuntimeReference, source: ArtifactSource): PreparedArtifact<BuildValue>;
6
- export declare function isPreparedArtifact(input: unknown): input is PreparedArtifact;
@@ -1,122 +0,0 @@
1
- import { identify } from '@astrale-os/kernel-protocol/artifact';
2
- import { isAddressing } from '../../release/index.js';
3
- import { admit as admitRuntime } from '../../runtime/index.js';
4
- const MEDIA_TYPE = 'application/vnd.astrale.prepared-artifact+octet-stream;v=1';
5
- const admittedArtifacts = new WeakSet();
6
- /** Detach preparation output and bind it to the exact Build and resolved Runtime identity. */
7
- export function artifact(build, runtime, source) {
8
- admitRuntime({ runtime: build.runtime }, runtime);
9
- const admitted = admitSource(source);
10
- const digest = identify(evidenceBytes(build, admitted), MEDIA_TYPE).digest;
11
- const files = Object.freeze(admitted.files.map(prepareFile));
12
- const prepared = Object.freeze({
13
- kind: 'prepared-artifact',
14
- build,
15
- digest,
16
- entrypoint: admitted.entrypoint,
17
- files,
18
- addressing: admitted.addressing,
19
- });
20
- admittedArtifacts.add(prepared);
21
- return prepared;
22
- }
23
- function prepareFile(file) {
24
- const content = new Uint8Array(file.content);
25
- return Object.freeze({ path: file.path, bytes: () => new Uint8Array(content) });
26
- }
27
- export function isPreparedArtifact(input) {
28
- return input !== null && typeof input === 'object' && admittedArtifacts.has(input);
29
- }
30
- function admitSource(source) {
31
- if (source === null || typeof source !== 'object' || Array.isArray(source))
32
- invalid();
33
- if (Reflect.ownKeys(source).some((key) => key !== 'entrypoint' && key !== 'files' && key !== 'addressing')) {
34
- invalid();
35
- }
36
- const entrypoint = path(source.entrypoint, 'Artifact entrypoint');
37
- if (!Array.isArray(source.files) || source.files.length === 0) {
38
- throw new TypeError('Artifact files must be a non-empty array.');
39
- }
40
- const paths = new Set();
41
- const files = source.files.map((file, index) => {
42
- if (file === null || typeof file !== 'object' || Array.isArray(file))
43
- invalid();
44
- if (Reflect.ownKeys(file).some((key) => key !== 'path' && key !== 'content') ||
45
- !(file.content instanceof Uint8Array)) {
46
- invalid();
47
- }
48
- const selected = path(file.path, `Artifact file ${index}`);
49
- if (paths.has(selected))
50
- throw new TypeError(`Artifact file ${selected} is duplicated.`);
51
- paths.add(selected);
52
- return Object.freeze({ path: selected, content: new Uint8Array(file.content) });
53
- });
54
- files.sort((left, right) => compare(left.path, right.path));
55
- if (!paths.has(entrypoint))
56
- throw new TypeError('Artifact entrypoint file is absent.');
57
- const addressing = admitPlan(source.addressing);
58
- return Object.freeze({ entrypoint, files: Object.freeze(files), addressing });
59
- }
60
- function admitPlan(input) {
61
- if (input === null || typeof input !== 'object' || Array.isArray(input))
62
- invalid();
63
- if (input.kind === 'configured') {
64
- if (Reflect.ownKeys(input).some((key) => key !== 'kind' && key !== 'addressing'))
65
- invalid();
66
- if (!isAddressing(input.addressing)) {
67
- throw new TypeError('Configured artifact Addressing is not admitted.');
68
- }
69
- return Object.freeze({ kind: 'configured', addressing: input.addressing });
70
- }
71
- if (input.kind === 'provider-assigned') {
72
- if (Reflect.ownKeys(input).some((key) => key !== 'kind' && key !== 'claim'))
73
- invalid();
74
- if (typeof input.claim !== 'string' ||
75
- input.claim.length === 0 ||
76
- input.claim.trim() !== input.claim) {
77
- throw new TypeError('Provider-assigned Addressing claim must be a non-empty stable string.');
78
- }
79
- return Object.freeze({ kind: 'provider-assigned', claim: input.claim });
80
- }
81
- return invalid();
82
- }
83
- function evidenceBytes(build, source) {
84
- const encoder = new TextEncoder();
85
- const chunks = [
86
- encoder.encode(JSON.stringify({
87
- origin: build.schema.compiled.root.origin,
88
- revision: build.schema.compiled.root.revision,
89
- bundle: build.schema.bundle.ref.digest,
90
- entrypoint: source.entrypoint,
91
- addressing: source.addressing.kind === 'configured'
92
- ? { kind: 'configured', ...source.addressing.addressing }
93
- : source.addressing,
94
- })),
95
- ];
96
- for (const file of source.files) {
97
- chunks.push(encoder.encode(`\0${file.path}\0${file.content.byteLength}\0`), file.content);
98
- }
99
- const bytes = new Uint8Array(chunks.reduce((size, chunk) => size + chunk.byteLength, 0));
100
- let offset = 0;
101
- for (const chunk of chunks) {
102
- bytes.set(chunk, offset);
103
- offset += chunk.byteLength;
104
- }
105
- return bytes;
106
- }
107
- function path(input, label) {
108
- if (typeof input !== 'string' ||
109
- input.length === 0 ||
110
- input.startsWith('/') ||
111
- input.includes('\\') ||
112
- input.split('/').some((segment) => segment === '' || segment === '.' || segment === '..')) {
113
- throw new TypeError(`${label} must be a contained relative POSIX path.`);
114
- }
115
- return input;
116
- }
117
- function compare(left, right) {
118
- return left < right ? -1 : left > right ? 1 : 0;
119
- }
120
- function invalid() {
121
- throw new TypeError('Artifact source is invalid.');
122
- }
@@ -1,4 +0,0 @@
1
- import type { PreparedArtifact } from '../../adapter/prepare/index.js';
2
- import type { Release } from '../../release/index.js';
3
- /** Verify locally assemblable Publication evidence before any provider mutation. */
4
- export declare function publication(artifact: PreparedArtifact): Release | undefined;
@@ -1,14 +0,0 @@
1
- import { publication as protocolPublication, routes } from '@astrale-os/kernel-protocol';
2
- import { evidenceOf } from '../../build/admission.js';
3
- import { assemble } from '../../release/index.js';
4
- /** Verify locally assemblable Publication evidence before any provider mutation. */
5
- export function publication(artifact) {
6
- if (artifact.addressing.kind !== 'configured')
7
- return undefined;
8
- const release = assemble(artifact.build, artifact.addressing.addressing);
9
- const admitted = protocolPublication.accept(release.publication);
10
- protocolPublication.verifyBundleBytes(admitted, artifact.build.schema.bundle.bytes());
11
- const { domain } = evidenceOf(artifact.build);
12
- routes.verifyTable(release.routes, admitted, domain);
13
- return release;
14
- }
@@ -1,3 +0,0 @@
1
- import type { DeployResult, PreparedArtifact } from '../../adapter/index.js';
2
- /** Admit adapter-reported progress without changing its mutation knowledge. */
3
- export declare function verifyDeployment(artifact: PreparedArtifact, input: DeployResult): DeployResult;
@@ -1,151 +0,0 @@
1
- import { isRelease } from '../../release/index.js';
2
- import { isPreparedArtifact } from '../preflight/artifact.js';
3
- /** Admit adapter-reported progress without changing its mutation knowledge. */
4
- export function verifyDeployment(artifact, input) {
5
- if (!isPreparedArtifact(artifact))
6
- throw new TypeError('PreparedArtifact is not admitted.');
7
- if (input === null || typeof input !== 'object' || Array.isArray(input))
8
- invalid();
9
- const release = input.release === undefined ? undefined : verifyRelease(artifact, input.release);
10
- const progress = verifyProgress(artifact, input.progress, release);
11
- if (input.status === 'ready') {
12
- exact(input, ['status', 'phase', 'progress', 'release']);
13
- if (input.phase !== 'complete' ||
14
- release === undefined ||
15
- progress.provider.kind !== 'applied' ||
16
- progress.provider.evidence.issuer === undefined ||
17
- !terminal(progress.prerequisite) ||
18
- !terminal(progress.configuration) ||
19
- !terminal(progress.installation)) {
20
- invalid();
21
- }
22
- return Object.freeze({ status: 'ready', phase: 'complete', progress, release });
23
- }
24
- if (input.status === 'failed') {
25
- 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) ||
35
- !(input.error instanceof Error)) {
36
- invalid();
37
- }
38
- return Object.freeze({
39
- status: 'failed',
40
- phase: input.phase,
41
- progress,
42
- error: input.error,
43
- ...(release === undefined ? {} : { release }),
44
- });
45
- }
46
- return invalid();
47
- }
48
- function verifyRelease(artifact, release) {
49
- if (!isRelease(release) || release.build !== artifact.build) {
50
- throw new TypeError('DeployResult Release differs from the PreparedArtifact Build.');
51
- }
52
- if (artifact.addressing.kind === 'configured' &&
53
- (release.addressing.issuer !== artifact.addressing.addressing.issuer ||
54
- release.addressing.publicUrl !== artifact.addressing.addressing.publicUrl)) {
55
- throw new TypeError('DeployResult Release differs from configured Addressing.');
56
- }
57
- return release;
58
- }
59
- function verifyProgress(artifact, input, release) {
60
- if (input === null || typeof input !== 'object' || Array.isArray(input))
61
- invalid();
62
- exact(input, ['prerequisite', 'provider', 'configuration', 'installation']);
63
- return Object.freeze({
64
- prerequisite: knowledge(input.prerequisite),
65
- provider: providerKnowledge(artifact, input.provider, release),
66
- configuration: knowledge(input.configuration),
67
- installation: knowledge(input.installation),
68
- });
69
- }
70
- function providerKnowledge(artifact, input, release) {
71
- if (input?.kind === 'partial') {
72
- exact(input, ['kind'], ['evidence']);
73
- if (input.evidence === undefined)
74
- return Object.freeze({ kind: 'partial' });
75
- const evidence = providerEvidence(input.evidence);
76
- if (evidence.artifact !== artifact.digest) {
77
- throw new TypeError('Provider deployment evidence differs from the PreparedArtifact digest.');
78
- }
79
- if (release !== undefined &&
80
- evidence.issuer !== undefined &&
81
- evidence.issuer !== release.addressing.issuer) {
82
- throw new TypeError('Provider deployment evidence differs from the Release issuer.');
83
- }
84
- return Object.freeze({ kind: 'partial', evidence });
85
- }
86
- if (input?.kind !== 'applied')
87
- return knowledge(input);
88
- exact(input, ['kind', 'evidence']);
89
- const evidence = providerEvidence(input.evidence);
90
- if (evidence.artifact !== artifact.digest) {
91
- throw new TypeError('Provider deployment evidence differs from the PreparedArtifact digest.');
92
- }
93
- if (release !== undefined &&
94
- evidence.issuer !== undefined &&
95
- evidence.issuer !== release.addressing.issuer) {
96
- throw new TypeError('Provider deployment evidence differs from the Release issuer.');
97
- }
98
- return Object.freeze({ kind: 'applied', evidence });
99
- }
100
- function terminal(input) {
101
- return input.kind === 'none' || input.kind === 'applied';
102
- }
103
- function providerEvidence(input) {
104
- if (input === null || typeof input !== 'object' || Array.isArray(input))
105
- invalid();
106
- exact(input, ['provider', 'deployment', 'artifact'], ['issuer', 'preflight']);
107
- if (typeof input.provider !== 'string' ||
108
- input.provider.length === 0 ||
109
- input.provider.trim() !== input.provider ||
110
- typeof input.deployment !== 'string' ||
111
- input.deployment.length === 0 ||
112
- input.deployment.trim() !== input.deployment ||
113
- typeof input.artifact !== 'string' ||
114
- (input.issuer !== undefined && typeof input.issuer !== 'string') ||
115
- (input.preflight !== undefined &&
116
- input.preflight !== 'passed' &&
117
- input.preflight !== 'unavailable')) {
118
- invalid();
119
- }
120
- return Object.freeze({ ...input });
121
- }
122
- function knowledge(input) {
123
- if (input === null || typeof input !== 'object' || Array.isArray(input))
124
- invalid();
125
- if (input.kind === 'applied') {
126
- exact(input, ['kind', 'evidence']);
127
- return Object.freeze({ kind: 'applied', evidence: input.evidence });
128
- }
129
- if (input.kind === 'partial') {
130
- exact(input, ['kind'], ['evidence']);
131
- return Object.freeze({
132
- kind: 'partial',
133
- ...(input.evidence === undefined ? {} : { evidence: input.evidence }),
134
- });
135
- }
136
- if (input.kind === 'none' || input.kind === 'unknown') {
137
- exact(input, ['kind']);
138
- return Object.freeze({ kind: input.kind });
139
- }
140
- return invalid();
141
- }
142
- function exact(input, required, optional = []) {
143
- const allowed = new Set([...required, ...optional]);
144
- if (required.some((key) => !Object.hasOwn(input, key)) ||
145
- Reflect.ownKeys(input).some((key) => typeof key !== 'string' || !allowed.has(key))) {
146
- invalid();
147
- }
148
- }
149
- function invalid() {
150
- throw new TypeError('DeployResult is invalid.');
151
- }
@@ -1,11 +0,0 @@
1
- import { publication } from '@astrale-os/kernel-protocol';
2
- import type { Release } from '../../release/index.js';
3
- export type ReadinessFetch = (input: string, init: {
4
- readonly redirect: 'error';
5
- readonly signal?: AbortSignal;
6
- }) => Promise<Response>;
7
- /** Fetch and verify the exact live Publication and Bundle for one Release. */
8
- export declare function verifyPublication(release: Release, options?: {
9
- readonly fetch?: ReadinessFetch;
10
- readonly signal?: AbortSignal;
11
- }): Promise<publication.Publication>;
@@ -1,41 +0,0 @@
1
- import { publication } from '@astrale-os/kernel-protocol';
2
- const MAXIMUM_PUBLICATION_BYTES = 1024 * 1024;
3
- const MAXIMUM_BUNDLE_BYTES = 16 * 1024 * 1024;
4
- /** Fetch and verify the exact live Publication and Bundle for one Release. */
5
- export async function verifyPublication(release, options = {}) {
6
- const fetcher = options.fetch ?? globalThis.fetch;
7
- const publicationUrl = publication.url(release.addressing.publicUrl);
8
- const response = await fetchRequired(fetcher, publicationUrl, options.signal);
9
- const deployed = publication.accept(JSON.parse(await text(response, publicationUrl, MAXIMUM_PUBLICATION_BYTES)));
10
- if (!publication.matchesReference(deployed, publication.reference(release.publication))) {
11
- throw new Error('Live Publication differs from the expected Release.');
12
- }
13
- const bundleResponse = await fetchRequired(fetcher, deployed.schema.bundle.href, options.signal);
14
- const bytes = new Uint8Array(await bounded(bundleResponse, deployed.schema.bundle.href, MAXIMUM_BUNDLE_BYTES));
15
- publication.decodeBundle(deployed, bytes);
16
- return deployed;
17
- }
18
- async function fetchRequired(fetcher, url, signal) {
19
- const response = await fetcher(url, {
20
- redirect: 'error',
21
- ...(signal === undefined ? {} : { signal }),
22
- });
23
- if (!response.ok)
24
- throw new Error(`GET ${url} returned ${response.status}.`);
25
- return response;
26
- }
27
- async function bounded(response, url, maximum) {
28
- const bytes = await response.arrayBuffer();
29
- if (bytes.byteLength > maximum)
30
- throw new Error(`GET ${url} exceeded ${maximum} bytes.`);
31
- return bytes;
32
- }
33
- async function text(response, url, maximum) {
34
- const bytes = await bounded(response, url, maximum);
35
- try {
36
- return new TextDecoder('utf-8', { fatal: true, ignoreBOM: false }).decode(bytes);
37
- }
38
- catch (cause) {
39
- throw new Error(`GET ${url} returned invalid UTF-8.`, { cause });
40
- }
41
- }
@@ -1,3 +0,0 @@
1
- export declare class ServiceUnavailableError extends Error {
2
- readonly name = "ServiceUnavailableError";
3
- }
@@ -1,3 +0,0 @@
1
- export class ServiceUnavailableError extends Error {
2
- name = 'ServiceUnavailableError';
3
- }
@@ -1,2 +0,0 @@
1
- import type { publication } from '@astrale-os/kernel-server';
2
- export declare function delivery(input: publication.delivery.Provider | undefined): publication.delivery.Provider | undefined;
@@ -1,3 +0,0 @@
1
- import type { publication } from '@astrale-os/kernel-server';
2
- import type { Release } from '../../../deployment/release/index.js';
3
- export declare function installation(release: Release, provider: publication.delivery.Provider | undefined): void;
@@ -1,8 +0,0 @@
1
- export function installation(release, provider) {
2
- const advertised = release.publication.delivery !== undefined;
3
- if (advertised !== (provider !== undefined)) {
4
- throw new TypeError(advertised
5
- ? 'Release advertises Publication delivery without a Provider.'
6
- : 'Publication delivery Provider has no Release endpoint.');
7
- }
8
- }
@@ -1,3 +0,0 @@
1
- import type { PublicationSource } from '@astrale-os/kernel-server';
2
- import type { LoadedRuntime } from '../../runtime/index.js';
3
- export declare function source(runtime: LoadedRuntime): PublicationSource;
@@ -1,11 +0,0 @@
1
- import { preparePublicationSnapshot } from '@astrale-os/kernel-server';
2
- export function source(runtime) {
3
- const release = runtime.release;
4
- const snapshot = preparePublicationSnapshot({
5
- publication: release.publication,
6
- bundle: release.build.schema.bundle.bytes(),
7
- table: release.routes,
8
- domain: runtime.domain,
9
- });
10
- return Object.freeze({ current: () => snapshot });
11
- }
@@ -1,2 +0,0 @@
1
- /** Canonical Publication wire contract and admission owned by the Astrale platform. */
2
- export { publication } from '@astrale-os/kernel-protocol';
@@ -1,2 +0,0 @@
1
- /** Canonical Publication wire contract and admission owned by the Astrale platform. */
2
- export { publication } from '@astrale-os/kernel-protocol';
@@ -1,5 +0,0 @@
1
- /** Build one mutually exclusive authority argument set for an Astrale CLI operation. */
2
- export declare function astraleAuthorityArguments(input: {
3
- readonly identity?: string;
4
- readonly credential?: string;
5
- }): readonly string[];
@@ -1,11 +0,0 @@
1
- /** Build one mutually exclusive authority argument set for an Astrale CLI operation. */
2
- export function astraleAuthorityArguments(input) {
3
- if (input.identity !== undefined && input.credential !== undefined) {
4
- throw new TypeError('Astrale authority cannot combine an identity and a credential.');
5
- }
6
- return input.credential === undefined
7
- ? input.identity === undefined
8
- ? Object.freeze([])
9
- : Object.freeze(['--as', input.identity])
10
- : Object.freeze(['--creds', input.credential]);
11
- }
@@ -1,2 +0,0 @@
1
- /** Resolve one exact executable for a complete sequence of Kernel CLI operations. */
2
- export declare function resolveAstraleExecutable(input?: string): Promise<string>;
@@ -1,47 +0,0 @@
1
- import { constants } from 'node:fs';
2
- import { access, readFile, realpath } from 'node:fs/promises';
3
- import { homedir } from 'node:os';
4
- import { delimiter, isAbsolute, join } from 'node:path';
5
- /** Resolve one exact executable for a complete sequence of Kernel CLI operations. */
6
- export async function resolveAstraleExecutable(input = 'astrale') {
7
- const candidates = isAbsolute(input) ? [input] : await executableCandidates(input);
8
- for (const candidate of candidates) {
9
- try {
10
- await access(candidate, constants.X_OK);
11
- return await realpath(candidate);
12
- }
13
- catch {
14
- // Continue through the bounded recorded-install and PATH candidates.
15
- }
16
- }
17
- throw new TypeError('Astrale CLI is unavailable. Install it with the official Astrale installer.');
18
- }
19
- async function executableCandidates(input) {
20
- const path = (process.env.PATH ?? '')
21
- .split(delimiter)
22
- .filter(Boolean)
23
- .map((directory) => join(directory, input));
24
- if (input !== 'astrale')
25
- return path;
26
- const installed = await recordedInstallation();
27
- return installed === undefined ? path : [installed, ...path];
28
- }
29
- async function recordedInstallation() {
30
- const home = process.env.ASTRALE_HOME ?? join(homedir(), '.astrale');
31
- try {
32
- const decoded = JSON.parse(await readFile(join(home, 'install.json'), 'utf8'));
33
- if (typeof decoded !== 'object' ||
34
- decoded === null ||
35
- !('method' in decoded) ||
36
- decoded.method !== 'script' ||
37
- !('bin' in decoded) ||
38
- typeof decoded.bin !== 'string' ||
39
- !isAbsolute(decoded.bin)) {
40
- return undefined;
41
- }
42
- return decoded.bin;
43
- }
44
- catch {
45
- return undefined;
46
- }
47
- }
@@ -1,6 +0,0 @@
1
- import type { AstraleProcessResult } from './process.js';
2
- /** Only sanitized CLI diagnostics may be promoted through installation failures. */
3
- export declare class AstraleCliError extends Error {
4
- }
5
- export declare function astraleFailure(command: string, result: AstraleProcessResult): Error;
6
- export declare function isDomainNotInstalledFailure(stderr: string): boolean;