@astrale-os/kernel-protocol 0.5.0-beta.7 → 0.5.0-beta.71

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 (559) hide show
  1. package/dist/artifact/index.d.ts +1 -2
  2. package/dist/artifact/index.js +1 -2
  3. package/dist/artifact/ref.d.ts +2 -1
  4. package/dist/artifact/ref.js +4 -4
  5. package/dist/codecs/codec.d.ts +0 -1
  6. package/dist/codecs/codec.js +0 -1
  7. package/dist/codecs/index.d.ts +1 -3
  8. package/dist/codecs/index.js +1 -3
  9. package/dist/codecs/json.d.ts +0 -1
  10. package/dist/codecs/json.js +0 -1
  11. package/dist/codecs/media-types.d.ts +0 -2
  12. package/dist/codecs/media-types.js +0 -2
  13. package/dist/errors/codes.d.ts +0 -1
  14. package/dist/errors/codes.js +0 -1
  15. package/dist/errors/http-status.d.ts +0 -1
  16. package/dist/errors/http-status.js +0 -1
  17. package/dist/errors/index.d.ts +1 -1
  18. package/dist/errors/index.js +1 -1
  19. package/dist/errors/payload.d.ts +0 -1
  20. package/dist/errors/payload.js +3 -3
  21. package/dist/errors/protocol-error.d.ts +0 -1
  22. package/dist/errors/protocol-error.js +4 -3
  23. package/dist/errors/reason.d.ts +0 -1
  24. package/dist/errors/reason.js +0 -1
  25. package/dist/errors/retry.d.ts +23 -0
  26. package/dist/errors/retry.js +44 -0
  27. package/dist/index.d.ts +3 -2
  28. package/dist/index.js +3 -2
  29. package/dist/invocation/admission.d.ts +2 -3
  30. package/dist/invocation/admission.js +7 -11
  31. package/dist/invocation/binary.d.ts +1 -1
  32. package/dist/invocation/binary.js +21 -5
  33. package/dist/invocation/binding-codecs.d.ts +1 -2
  34. package/dist/invocation/binding-codecs.js +1 -7
  35. package/dist/invocation/cancellation.d.ts +0 -1
  36. package/dist/invocation/cancellation.js +0 -1
  37. package/dist/invocation/correlation.d.ts +0 -1
  38. package/dist/invocation/correlation.js +0 -1
  39. package/dist/invocation/delegate.d.ts +0 -21
  40. package/dist/invocation/delegate.js +4 -36
  41. package/dist/invocation/http/binary.d.ts +3 -2
  42. package/dist/invocation/http/binary.js +6 -2
  43. package/dist/invocation/http/index.d.ts +2 -2
  44. package/dist/invocation/http/index.js +2 -2
  45. package/dist/invocation/http/negotiation.d.ts +0 -1
  46. package/dist/invocation/http/negotiation.js +3 -11
  47. package/dist/invocation/http/request.d.ts +11 -0
  48. package/dist/invocation/http/request.js +69 -0
  49. package/dist/invocation/http/stream.d.ts +0 -1
  50. package/dist/invocation/http/stream.js +0 -1
  51. package/dist/invocation/http/trace.d.ts +0 -1
  52. package/dist/invocation/http/trace.js +0 -1
  53. package/dist/invocation/idempotency.d.ts +0 -1
  54. package/dist/invocation/idempotency.js +0 -1
  55. package/dist/invocation/identity.d.ts +0 -1
  56. package/dist/invocation/identity.js +0 -1
  57. package/dist/invocation/index.d.ts +6 -4
  58. package/dist/invocation/index.js +5 -4
  59. package/dist/invocation/legacy/delegate.d.ts +17 -0
  60. package/dist/invocation/legacy/delegate.js +37 -0
  61. package/dist/invocation/legacy/index.d.ts +29 -0
  62. package/dist/invocation/legacy/index.js +28 -0
  63. package/dist/invocation/legacy/route.d.ts +14 -0
  64. package/dist/invocation/legacy/route.js +25 -0
  65. package/dist/invocation/legacy/via.d.ts +30 -0
  66. package/dist/invocation/legacy/via.js +15 -0
  67. package/dist/invocation/miss.d.ts +0 -1
  68. package/dist/invocation/miss.js +0 -1
  69. package/dist/invocation/redirect.d.ts +15 -13
  70. package/dist/invocation/redirect.js +9 -22
  71. package/dist/invocation/request.d.ts +0 -1
  72. package/dist/invocation/request.js +2 -3
  73. package/dist/invocation/response.d.ts +0 -1
  74. package/dist/invocation/response.js +0 -1
  75. package/dist/invocation/routing.d.ts +19 -6
  76. package/dist/invocation/routing.js +50 -21
  77. package/dist/invocation/schema.d.ts +6 -5
  78. package/dist/invocation/schema.js +5 -12
  79. package/dist/invocation/service-reason.d.ts +21 -17
  80. package/dist/invocation/service-reason.js +27 -20
  81. package/dist/invocation/stale-route.d.ts +1 -2
  82. package/dist/invocation/stale-route.js +0 -1
  83. package/dist/invocation/stream.d.ts +0 -1
  84. package/dist/invocation/stream.js +0 -1
  85. package/dist/invocation/target.d.ts +5 -3
  86. package/dist/invocation/target.js +25 -4
  87. package/dist/invocation/trace.d.ts +0 -1
  88. package/dist/invocation/trace.js +0 -1
  89. package/dist/invocation/version.d.ts +0 -1
  90. package/dist/invocation/version.js +0 -1
  91. package/dist/invocation/websocket/binary.d.ts +0 -1
  92. package/dist/invocation/websocket/binary.js +1 -1
  93. package/dist/invocation/websocket/index.d.ts +1 -2
  94. package/dist/invocation/websocket/index.js +1 -2
  95. package/dist/invocation/websocket/subprotocol.d.ts +1 -3
  96. package/dist/invocation/websocket/subprotocol.js +3 -5
  97. package/dist/issuer/claims.d.ts +7 -0
  98. package/dist/issuer/claims.js +7 -0
  99. package/dist/issuer/configuration.d.ts +0 -1
  100. package/dist/issuer/configuration.js +0 -1
  101. package/dist/issuer/error.d.ts +0 -1
  102. package/dist/issuer/error.js +0 -1
  103. package/dist/issuer/exchange.d.ts +0 -1
  104. package/dist/issuer/exchange.js +0 -1
  105. package/dist/issuer/hosted.d.ts +0 -1
  106. package/dist/issuer/hosted.js +0 -1
  107. package/dist/issuer/index.d.ts +2 -1
  108. package/dist/issuer/index.js +2 -1
  109. package/dist/issuer/key-set.d.ts +0 -1
  110. package/dist/issuer/key-set.js +0 -1
  111. package/dist/issuer/paths.d.ts +2 -1
  112. package/dist/issuer/paths.js +1 -1
  113. package/dist/issuer/url.d.ts +0 -1
  114. package/dist/issuer/url.js +0 -1
  115. package/dist/issuer/workflow-engine.d.ts +18 -0
  116. package/dist/issuer/workflow-engine.js +59 -0
  117. package/dist/{publication → release}/bindings/callable.d.ts +0 -1
  118. package/dist/release/bindings/callable.js +34 -0
  119. package/dist/{publication → release}/bindings/index.d.ts +1 -2
  120. package/dist/{publication → release}/bindings/index.js +0 -1
  121. package/dist/{publication → release}/bindings/invocation.d.ts +0 -1
  122. package/dist/release/bindings/invocation.js +13 -0
  123. package/dist/release/bindings/view.d.ts +16 -0
  124. package/dist/release/bindings/view.js +148 -0
  125. package/dist/release/build.d.ts +6 -0
  126. package/dist/release/build.js +7 -0
  127. package/dist/release/bundle-admission.d.ts +21 -0
  128. package/dist/release/bundle-admission.js +66 -0
  129. package/dist/{publication → release}/bundle-descriptor.d.ts +0 -1
  130. package/dist/release/bundle-descriptor.js +19 -0
  131. package/dist/release/bundle-evidence.d.ts +3 -0
  132. package/dist/release/bundle-evidence.js +13 -0
  133. package/dist/release/bundle.d.ts +12 -0
  134. package/dist/{publication → release}/bundle.js +16 -11
  135. package/dist/{publication → release}/declaration.d.ts +0 -1
  136. package/dist/release/declaration.js +1 -0
  137. package/dist/{publication → release}/delivery/attestation.d.ts +1 -1
  138. package/dist/{publication → release}/delivery/attestation.js +0 -1
  139. package/dist/release/delivery/claims.d.ts +21 -0
  140. package/dist/release/delivery/claims.js +68 -0
  141. package/dist/release/delivery/delivery.d.ts +11 -0
  142. package/dist/release/delivery/delivery.js +24 -0
  143. package/dist/{publication → release}/delivery/error.d.ts +2 -1
  144. package/dist/{publication → release}/delivery/error.js +1 -1
  145. package/dist/{publication → release}/delivery/index.d.ts +6 -2
  146. package/dist/{publication → release}/delivery/index.js +5 -1
  147. package/dist/{publication → release}/delivery/limits.d.ts +2 -2
  148. package/dist/release/delivery/limits.js +5 -0
  149. package/dist/release/delivery/request.d.ts +21 -0
  150. package/dist/release/delivery/request.js +60 -0
  151. package/dist/{publication → release}/delivery-declaration.d.ts +0 -1
  152. package/dist/{publication → release}/delivery-declaration.js +4 -5
  153. package/dist/{publication → release}/delivery-endpoint.d.ts +0 -1
  154. package/dist/release/delivery-endpoint.js +22 -0
  155. package/dist/release/digest.d.ts +13 -0
  156. package/dist/{publication/etag.js → release/digest.js} +1 -7
  157. package/dist/release/error.d.ts +7 -0
  158. package/dist/release/error.js +11 -0
  159. package/dist/release/index.d.ts +21 -0
  160. package/dist/release/index.js +14 -0
  161. package/dist/release/issuer.d.ts +5 -0
  162. package/dist/release/issuer.js +34 -0
  163. package/dist/release/legacy/bindings.d.ts +14 -0
  164. package/dist/release/legacy/bindings.js +11 -0
  165. package/dist/release/legacy/bundle-admission.d.ts +6 -0
  166. package/dist/release/legacy/bundle-admission.js +10 -0
  167. package/dist/release/legacy/bundle-evidence.d.ts +8 -0
  168. package/dist/release/legacy/bundle-evidence.js +11 -0
  169. package/dist/release/legacy/bundle.d.ts +24 -0
  170. package/dist/release/legacy/bundle.js +31 -0
  171. package/dist/release/legacy/delivery/attestation.d.ts +6 -0
  172. package/dist/release/legacy/delivery/attestation.js +1 -0
  173. package/dist/{publication → release/legacy}/delivery/claims.d.ts +10 -2
  174. package/dist/{publication → release/legacy}/delivery/claims.js +7 -3
  175. package/dist/release/legacy/delivery/delivery.d.ts +18 -0
  176. package/dist/{publication → release/legacy}/delivery/delivery.js +6 -3
  177. package/dist/release/legacy/delivery/error.d.ts +16 -0
  178. package/dist/release/legacy/delivery/error.js +6 -0
  179. package/dist/release/legacy/delivery/index.d.ts +13 -0
  180. package/dist/release/legacy/delivery/index.js +13 -0
  181. package/dist/release/legacy/delivery/limits.d.ts +21 -0
  182. package/dist/release/legacy/delivery/limits.js +22 -0
  183. package/dist/release/legacy/delivery/request.d.ts +26 -0
  184. package/dist/{publication → release/legacy}/delivery/request.js +8 -4
  185. package/dist/release/legacy/delivery-declaration.d.ts +9 -0
  186. package/dist/release/legacy/delivery-declaration.js +11 -0
  187. package/dist/release/legacy/error.d.ts +26 -0
  188. package/dist/release/legacy/error.js +114 -0
  189. package/dist/release/legacy/etag.d.ts +12 -0
  190. package/dist/release/legacy/etag.js +14 -0
  191. package/dist/release/legacy/index.d.ts +75 -0
  192. package/dist/release/legacy/index.js +15 -0
  193. package/dist/release/legacy/profiles.d.ts +23 -0
  194. package/dist/release/legacy/profiles.js +36 -0
  195. package/dist/release/legacy/projection.d.ts +13 -0
  196. package/dist/release/legacy/projection.js +25 -0
  197. package/dist/release/legacy/publication.d.ts +90 -0
  198. package/dist/release/legacy/publication.js +124 -0
  199. package/dist/release/legacy/reference.d.ts +47 -0
  200. package/dist/{publication → release/legacy}/reference.js +27 -4
  201. package/dist/release/legacy/requirements.d.ts +30 -0
  202. package/dist/release/legacy/requirements.js +20 -0
  203. package/dist/release/manifest.d.ts +10 -0
  204. package/dist/release/manifest.js +66 -0
  205. package/dist/release/reference.d.ts +26 -0
  206. package/dist/release/reference.js +70 -0
  207. package/dist/release/release.d.ts +60 -0
  208. package/dist/release/release.js +123 -0
  209. package/dist/release/requirements.d.ts +41 -0
  210. package/dist/release/requirements.js +306 -0
  211. package/dist/{publication → release}/route.d.ts +0 -1
  212. package/dist/{publication → release}/route.js +24 -25
  213. package/dist/{publication → release}/schema.d.ts +1 -2
  214. package/dist/{publication → release}/schema.js +4 -5
  215. package/dist/release/served.d.ts +26 -0
  216. package/dist/release/served.js +65 -0
  217. package/dist/release/shape.d.ts +8 -0
  218. package/dist/{publication/content.js → release/shape.js} +0 -1
  219. package/dist/routes/admission.d.ts +1 -2
  220. package/dist/routes/admission.js +7 -86
  221. package/dist/routes/binding.d.ts +4 -5
  222. package/dist/routes/binding.js +11 -22
  223. package/dist/routes/collision.d.ts +0 -1
  224. package/dist/routes/collision.js +0 -1
  225. package/dist/routes/compiler.d.ts +4 -5
  226. package/dist/routes/compiler.js +20 -13
  227. package/dist/routes/credential.d.ts +12 -2
  228. package/dist/routes/credential.js +11 -4
  229. package/dist/routes/decode.d.ts +6 -4
  230. package/dist/routes/decode.js +32 -30
  231. package/dist/routes/deployment-retired.d.ts +30 -0
  232. package/dist/routes/deployment-retired.js +96 -0
  233. package/dist/routes/encode.d.ts +2 -3
  234. package/dist/routes/encode.js +22 -20
  235. package/dist/routes/entries.d.ts +23 -0
  236. package/dist/routes/entries.js +150 -0
  237. package/dist/routes/error-response.d.ts +0 -1
  238. package/dist/routes/error-response.js +0 -1
  239. package/dist/routes/error.d.ts +0 -1
  240. package/dist/routes/error.js +0 -1
  241. package/dist/routes/evidence.d.ts +4 -5
  242. package/dist/routes/evidence.js +8 -34
  243. package/dist/routes/header.d.ts +9 -0
  244. package/dist/routes/header.js +34 -0
  245. package/dist/routes/index.d.ts +5 -3
  246. package/dist/routes/index.js +5 -3
  247. package/dist/routes/legacy/index.d.ts +29 -0
  248. package/dist/routes/legacy/index.js +29 -0
  249. package/dist/routes/legacy/routing.d.ts +24 -0
  250. package/dist/routes/legacy/routing.js +45 -0
  251. package/dist/routes/legacy/table.d.ts +34 -0
  252. package/dist/routes/legacy/table.js +50 -0
  253. package/dist/routes/mapping.d.ts +1 -2
  254. package/dist/routes/mapping.js +4 -5
  255. package/dist/routes/match.d.ts +1 -2
  256. package/dist/routes/match.js +0 -1
  257. package/dist/routes/placement.d.ts +2 -3
  258. package/dist/routes/placement.js +1 -2
  259. package/dist/routes/plan.d.ts +6 -6
  260. package/dist/routes/plan.js +0 -1
  261. package/dist/routes/request.d.ts +5 -4
  262. package/dist/routes/request.js +0 -1
  263. package/dist/routes/reservation.d.ts +4 -3
  264. package/dist/routes/reservation.js +10 -4
  265. package/dist/routes/routing.d.ts +30 -7
  266. package/dist/routes/routing.js +34 -50
  267. package/dist/routes/scalar.d.ts +3 -4
  268. package/dist/routes/scalar.js +5 -6
  269. package/dist/routes/select.d.ts +1 -2
  270. package/dist/routes/select.js +0 -1
  271. package/dist/routes/stream.d.ts +0 -1
  272. package/dist/routes/stream.js +0 -1
  273. package/dist/routes/table.d.ts +3 -3
  274. package/dist/routes/table.js +0 -1
  275. package/dist/routes/target.d.ts +5 -1
  276. package/dist/routes/target.js +16 -1
  277. package/dist/routes/template.d.ts +0 -1
  278. package/dist/routes/template.js +0 -1
  279. package/dist/runtime/artifact.d.ts +8 -7
  280. package/dist/runtime/artifact.js +23 -11
  281. package/dist/runtime/index.d.ts +1 -2
  282. package/dist/runtime/index.js +1 -2
  283. package/dist/schema/index.d.ts +0 -1
  284. package/dist/schema/index.js +0 -1
  285. package/dist/schema/installation/codec.d.ts +9 -0
  286. package/dist/schema/installation/codec.js +74 -0
  287. package/dist/schema/installation/index.d.ts +2 -1
  288. package/dist/schema/installation/index.js +1 -1
  289. package/dist/schema/installation/introspection/codec.d.ts +14 -3
  290. package/dist/schema/installation/introspection/codec.js +323 -194
  291. package/dist/schema/installation/introspection/index.d.ts +2 -3
  292. package/dist/schema/installation/introspection/index.js +1 -2
  293. package/dist/schema/installation/introspection/result.d.ts +96 -23
  294. package/dist/schema/installation/introspection/result.js +0 -1
  295. package/dist/schema/installation/legacy/index.d.ts +39 -0
  296. package/dist/schema/installation/legacy/index.js +39 -0
  297. package/dist/schema/installation/legacy/installation.d.ts +9 -0
  298. package/dist/schema/installation/legacy/installation.js +28 -0
  299. package/dist/schema/installation/legacy/introspection.d.ts +10 -0
  300. package/dist/schema/installation/legacy/introspection.js +70 -0
  301. package/dist/schema/installation/legacy/msgpack.d.ts +1 -0
  302. package/dist/schema/installation/legacy/msgpack.js +143 -0
  303. package/dist/schema/installation/result.d.ts +9 -0
  304. package/dist/schema/installation/result.js +1 -0
  305. package/package.json +78 -37
  306. package/dist/artifact/index.d.ts.map +0 -1
  307. package/dist/artifact/index.js.map +0 -1
  308. package/dist/artifact/ref.d.ts.map +0 -1
  309. package/dist/artifact/ref.js.map +0 -1
  310. package/dist/codecs/codec.d.ts.map +0 -1
  311. package/dist/codecs/codec.js.map +0 -1
  312. package/dist/codecs/index.d.ts.map +0 -1
  313. package/dist/codecs/index.js.map +0 -1
  314. package/dist/codecs/json.d.ts.map +0 -1
  315. package/dist/codecs/json.js.map +0 -1
  316. package/dist/codecs/media-types.d.ts.map +0 -1
  317. package/dist/codecs/media-types.js.map +0 -1
  318. package/dist/codecs/msgpack.d.ts +0 -5
  319. package/dist/codecs/msgpack.d.ts.map +0 -1
  320. package/dist/codecs/msgpack.js +0 -51
  321. package/dist/codecs/msgpack.js.map +0 -1
  322. package/dist/errors/codes.d.ts.map +0 -1
  323. package/dist/errors/codes.js.map +0 -1
  324. package/dist/errors/http-status.d.ts.map +0 -1
  325. package/dist/errors/http-status.js.map +0 -1
  326. package/dist/errors/index.d.ts.map +0 -1
  327. package/dist/errors/index.js.map +0 -1
  328. package/dist/errors/payload.d.ts.map +0 -1
  329. package/dist/errors/payload.js.map +0 -1
  330. package/dist/errors/protocol-error.d.ts.map +0 -1
  331. package/dist/errors/protocol-error.js.map +0 -1
  332. package/dist/errors/reason.d.ts.map +0 -1
  333. package/dist/errors/reason.js.map +0 -1
  334. package/dist/index.d.ts.map +0 -1
  335. package/dist/index.js.map +0 -1
  336. package/dist/invocation/admission.d.ts.map +0 -1
  337. package/dist/invocation/admission.js.map +0 -1
  338. package/dist/invocation/binary.d.ts.map +0 -1
  339. package/dist/invocation/binary.js.map +0 -1
  340. package/dist/invocation/binding-codecs.d.ts.map +0 -1
  341. package/dist/invocation/binding-codecs.js.map +0 -1
  342. package/dist/invocation/cancellation.d.ts.map +0 -1
  343. package/dist/invocation/cancellation.js.map +0 -1
  344. package/dist/invocation/correlation.d.ts.map +0 -1
  345. package/dist/invocation/correlation.js.map +0 -1
  346. package/dist/invocation/delegate.d.ts.map +0 -1
  347. package/dist/invocation/delegate.js.map +0 -1
  348. package/dist/invocation/http/binary.d.ts.map +0 -1
  349. package/dist/invocation/http/binary.js.map +0 -1
  350. package/dist/invocation/http/index.d.ts.map +0 -1
  351. package/dist/invocation/http/index.js.map +0 -1
  352. package/dist/invocation/http/negotiation.d.ts.map +0 -1
  353. package/dist/invocation/http/negotiation.js.map +0 -1
  354. package/dist/invocation/http/stream.d.ts.map +0 -1
  355. package/dist/invocation/http/stream.js.map +0 -1
  356. package/dist/invocation/http/trace.d.ts.map +0 -1
  357. package/dist/invocation/http/trace.js.map +0 -1
  358. package/dist/invocation/idempotency.d.ts.map +0 -1
  359. package/dist/invocation/idempotency.js.map +0 -1
  360. package/dist/invocation/identity.d.ts.map +0 -1
  361. package/dist/invocation/identity.js.map +0 -1
  362. package/dist/invocation/index.d.ts.map +0 -1
  363. package/dist/invocation/index.js.map +0 -1
  364. package/dist/invocation/miss.d.ts.map +0 -1
  365. package/dist/invocation/miss.js.map +0 -1
  366. package/dist/invocation/redirect.d.ts.map +0 -1
  367. package/dist/invocation/redirect.js.map +0 -1
  368. package/dist/invocation/request.d.ts.map +0 -1
  369. package/dist/invocation/request.js.map +0 -1
  370. package/dist/invocation/response.d.ts.map +0 -1
  371. package/dist/invocation/response.js.map +0 -1
  372. package/dist/invocation/routing.d.ts.map +0 -1
  373. package/dist/invocation/routing.js.map +0 -1
  374. package/dist/invocation/schema.d.ts.map +0 -1
  375. package/dist/invocation/schema.js.map +0 -1
  376. package/dist/invocation/service-reason.d.ts.map +0 -1
  377. package/dist/invocation/service-reason.js.map +0 -1
  378. package/dist/invocation/stale-route.d.ts.map +0 -1
  379. package/dist/invocation/stale-route.js.map +0 -1
  380. package/dist/invocation/stream.d.ts.map +0 -1
  381. package/dist/invocation/stream.js.map +0 -1
  382. package/dist/invocation/target.d.ts.map +0 -1
  383. package/dist/invocation/target.js.map +0 -1
  384. package/dist/invocation/trace.d.ts.map +0 -1
  385. package/dist/invocation/trace.js.map +0 -1
  386. package/dist/invocation/version.d.ts.map +0 -1
  387. package/dist/invocation/version.js.map +0 -1
  388. package/dist/invocation/websocket/binary.d.ts.map +0 -1
  389. package/dist/invocation/websocket/binary.js.map +0 -1
  390. package/dist/invocation/websocket/index.d.ts.map +0 -1
  391. package/dist/invocation/websocket/index.js.map +0 -1
  392. package/dist/invocation/websocket/subprotocol.d.ts.map +0 -1
  393. package/dist/invocation/websocket/subprotocol.js.map +0 -1
  394. package/dist/issuer/configuration.d.ts.map +0 -1
  395. package/dist/issuer/configuration.js.map +0 -1
  396. package/dist/issuer/error.d.ts.map +0 -1
  397. package/dist/issuer/error.js.map +0 -1
  398. package/dist/issuer/exchange.d.ts.map +0 -1
  399. package/dist/issuer/exchange.js.map +0 -1
  400. package/dist/issuer/hosted.d.ts.map +0 -1
  401. package/dist/issuer/hosted.js.map +0 -1
  402. package/dist/issuer/index.d.ts.map +0 -1
  403. package/dist/issuer/index.js.map +0 -1
  404. package/dist/issuer/key-set.d.ts.map +0 -1
  405. package/dist/issuer/key-set.js.map +0 -1
  406. package/dist/issuer/paths.d.ts.map +0 -1
  407. package/dist/issuer/paths.js.map +0 -1
  408. package/dist/issuer/url.d.ts.map +0 -1
  409. package/dist/issuer/url.js.map +0 -1
  410. package/dist/publication/bindings/callable.d.ts.map +0 -1
  411. package/dist/publication/bindings/callable.js +0 -32
  412. package/dist/publication/bindings/callable.js.map +0 -1
  413. package/dist/publication/bindings/index.d.ts.map +0 -1
  414. package/dist/publication/bindings/index.js.map +0 -1
  415. package/dist/publication/bindings/invocation.d.ts.map +0 -1
  416. package/dist/publication/bindings/invocation.js +0 -14
  417. package/dist/publication/bindings/invocation.js.map +0 -1
  418. package/dist/publication/bindings/view.d.ts +0 -8
  419. package/dist/publication/bindings/view.d.ts.map +0 -1
  420. package/dist/publication/bindings/view.js +0 -29
  421. package/dist/publication/bindings/view.js.map +0 -1
  422. package/dist/publication/bundle-admission.d.ts +0 -5
  423. package/dist/publication/bundle-admission.d.ts.map +0 -1
  424. package/dist/publication/bundle-admission.js +0 -66
  425. package/dist/publication/bundle-admission.js.map +0 -1
  426. package/dist/publication/bundle-descriptor.d.ts.map +0 -1
  427. package/dist/publication/bundle-descriptor.js +0 -20
  428. package/dist/publication/bundle-descriptor.js.map +0 -1
  429. package/dist/publication/bundle-evidence.d.ts +0 -4
  430. package/dist/publication/bundle-evidence.d.ts.map +0 -1
  431. package/dist/publication/bundle-evidence.js +0 -14
  432. package/dist/publication/bundle-evidence.js.map +0 -1
  433. package/dist/publication/bundle.d.ts +0 -10
  434. package/dist/publication/bundle.d.ts.map +0 -1
  435. package/dist/publication/bundle.js.map +0 -1
  436. package/dist/publication/content.d.ts +0 -11
  437. package/dist/publication/content.d.ts.map +0 -1
  438. package/dist/publication/content.js.map +0 -1
  439. package/dist/publication/declaration.d.ts.map +0 -1
  440. package/dist/publication/declaration.js +0 -2
  441. package/dist/publication/declaration.js.map +0 -1
  442. package/dist/publication/delivery/attestation.d.ts.map +0 -1
  443. package/dist/publication/delivery/attestation.js.map +0 -1
  444. package/dist/publication/delivery/claims.d.ts.map +0 -1
  445. package/dist/publication/delivery/claims.js.map +0 -1
  446. package/dist/publication/delivery/delivery.d.ts +0 -10
  447. package/dist/publication/delivery/delivery.d.ts.map +0 -1
  448. package/dist/publication/delivery/delivery.js.map +0 -1
  449. package/dist/publication/delivery/error.d.ts.map +0 -1
  450. package/dist/publication/delivery/error.js.map +0 -1
  451. package/dist/publication/delivery/index.d.ts.map +0 -1
  452. package/dist/publication/delivery/index.js.map +0 -1
  453. package/dist/publication/delivery/limits.d.ts.map +0 -1
  454. package/dist/publication/delivery/limits.js +0 -5
  455. package/dist/publication/delivery/limits.js.map +0 -1
  456. package/dist/publication/delivery/request.d.ts +0 -16
  457. package/dist/publication/delivery/request.d.ts.map +0 -1
  458. package/dist/publication/delivery/request.js.map +0 -1
  459. package/dist/publication/delivery-declaration.d.ts.map +0 -1
  460. package/dist/publication/delivery-declaration.js.map +0 -1
  461. package/dist/publication/delivery-endpoint.d.ts.map +0 -1
  462. package/dist/publication/delivery-endpoint.js +0 -23
  463. package/dist/publication/delivery-endpoint.js.map +0 -1
  464. package/dist/publication/error.d.ts +0 -8
  465. package/dist/publication/error.d.ts.map +0 -1
  466. package/dist/publication/error.js +0 -12
  467. package/dist/publication/error.js.map +0 -1
  468. package/dist/publication/etag.d.ts +0 -7
  469. package/dist/publication/etag.d.ts.map +0 -1
  470. package/dist/publication/etag.js.map +0 -1
  471. package/dist/publication/index.d.ts +0 -18
  472. package/dist/publication/index.d.ts.map +0 -1
  473. package/dist/publication/index.js +0 -11
  474. package/dist/publication/index.js.map +0 -1
  475. package/dist/publication/manifest.d.ts +0 -7
  476. package/dist/publication/manifest.d.ts.map +0 -1
  477. package/dist/publication/manifest.js +0 -26
  478. package/dist/publication/manifest.js.map +0 -1
  479. package/dist/publication/publication.d.ts +0 -37
  480. package/dist/publication/publication.d.ts.map +0 -1
  481. package/dist/publication/publication.js +0 -131
  482. package/dist/publication/publication.js.map +0 -1
  483. package/dist/publication/reference.d.ts +0 -18
  484. package/dist/publication/reference.d.ts.map +0 -1
  485. package/dist/publication/reference.js.map +0 -1
  486. package/dist/publication/requirements.d.ts +0 -27
  487. package/dist/publication/requirements.d.ts.map +0 -1
  488. package/dist/publication/requirements.js +0 -185
  489. package/dist/publication/requirements.js.map +0 -1
  490. package/dist/publication/route.d.ts.map +0 -1
  491. package/dist/publication/route.js.map +0 -1
  492. package/dist/publication/schema.d.ts.map +0 -1
  493. package/dist/publication/schema.js.map +0 -1
  494. package/dist/routes/admission.d.ts.map +0 -1
  495. package/dist/routes/admission.js.map +0 -1
  496. package/dist/routes/binding.d.ts.map +0 -1
  497. package/dist/routes/binding.js.map +0 -1
  498. package/dist/routes/collision.d.ts.map +0 -1
  499. package/dist/routes/collision.js.map +0 -1
  500. package/dist/routes/compiler.d.ts.map +0 -1
  501. package/dist/routes/compiler.js.map +0 -1
  502. package/dist/routes/credential.d.ts.map +0 -1
  503. package/dist/routes/credential.js.map +0 -1
  504. package/dist/routes/decode.d.ts.map +0 -1
  505. package/dist/routes/decode.js.map +0 -1
  506. package/dist/routes/encode.d.ts.map +0 -1
  507. package/dist/routes/encode.js.map +0 -1
  508. package/dist/routes/error-response.d.ts.map +0 -1
  509. package/dist/routes/error-response.js.map +0 -1
  510. package/dist/routes/error.d.ts.map +0 -1
  511. package/dist/routes/error.js.map +0 -1
  512. package/dist/routes/evidence.d.ts.map +0 -1
  513. package/dist/routes/evidence.js.map +0 -1
  514. package/dist/routes/index.d.ts.map +0 -1
  515. package/dist/routes/index.js.map +0 -1
  516. package/dist/routes/mapping.d.ts.map +0 -1
  517. package/dist/routes/mapping.js.map +0 -1
  518. package/dist/routes/match.d.ts.map +0 -1
  519. package/dist/routes/match.js.map +0 -1
  520. package/dist/routes/placement.d.ts.map +0 -1
  521. package/dist/routes/placement.js.map +0 -1
  522. package/dist/routes/plan.d.ts.map +0 -1
  523. package/dist/routes/plan.js.map +0 -1
  524. package/dist/routes/release-unavailable.d.ts +0 -9
  525. package/dist/routes/release-unavailable.d.ts.map +0 -1
  526. package/dist/routes/release-unavailable.js +0 -33
  527. package/dist/routes/release-unavailable.js.map +0 -1
  528. package/dist/routes/request.d.ts.map +0 -1
  529. package/dist/routes/request.js.map +0 -1
  530. package/dist/routes/reservation.d.ts.map +0 -1
  531. package/dist/routes/reservation.js.map +0 -1
  532. package/dist/routes/routing.d.ts.map +0 -1
  533. package/dist/routes/routing.js.map +0 -1
  534. package/dist/routes/scalar.d.ts.map +0 -1
  535. package/dist/routes/scalar.js.map +0 -1
  536. package/dist/routes/select.d.ts.map +0 -1
  537. package/dist/routes/select.js.map +0 -1
  538. package/dist/routes/stream.d.ts.map +0 -1
  539. package/dist/routes/stream.js.map +0 -1
  540. package/dist/routes/table.d.ts.map +0 -1
  541. package/dist/routes/table.js.map +0 -1
  542. package/dist/routes/target.d.ts.map +0 -1
  543. package/dist/routes/target.js.map +0 -1
  544. package/dist/routes/template.d.ts.map +0 -1
  545. package/dist/routes/template.js.map +0 -1
  546. package/dist/runtime/artifact.d.ts.map +0 -1
  547. package/dist/runtime/artifact.js.map +0 -1
  548. package/dist/runtime/index.d.ts.map +0 -1
  549. package/dist/runtime/index.js.map +0 -1
  550. package/dist/schema/index.d.ts.map +0 -1
  551. package/dist/schema/index.js.map +0 -1
  552. package/dist/schema/installation/index.d.ts.map +0 -1
  553. package/dist/schema/installation/index.js.map +0 -1
  554. package/dist/schema/installation/introspection/codec.d.ts.map +0 -1
  555. package/dist/schema/installation/introspection/codec.js.map +0 -1
  556. package/dist/schema/installation/introspection/index.d.ts.map +0 -1
  557. package/dist/schema/installation/introspection/index.js.map +0 -1
  558. package/dist/schema/installation/introspection/result.d.ts.map +0 -1
  559. package/dist/schema/installation/introspection/result.js.map +0 -1
@@ -1,34 +1,107 @@
1
+ import type { IssuerId } from '@astrale-os/kernel-core/auth/issuer';
1
2
  import type { introspection } from '@astrale-os/kernel-core/schema';
2
- import type { bundle } from '@astrale-os/kernel-dsl/v1';
3
- import type { Ref } from '../../../artifact/index.js';
4
- import type { Publication } from '../../../publication/index.js';
5
- import type { PublicationRequirements } from '../../../publication/index.js';
3
+ import type { bundle, Key, Revision } from '@astrale-os/kernel-dsl/v1';
4
+ import type { BuildDigest, ReleaseDigest } from '../../../release/index.js';
5
+ import type { Publication, PublicationRef, PublicationRequirements } from '../../../release/legacy/index.js';
6
6
  export type Digest = `sha256:${string}`;
7
- export type Source = {
8
- readonly kind: 'builtin';
9
- readonly bundle: Ref;
10
- } | {
11
- readonly kind: 'local';
12
- readonly artifact: Ref;
13
- readonly bundle: Ref;
14
- } | {
15
- readonly kind: 'remote';
16
- readonly publication: Publication;
17
- };
18
- export interface Installation {
19
- readonly state: 'installed' | 'ready' | 'removing';
20
- readonly target: Digest;
21
- readonly source: Source;
22
- readonly bundle: bundle.Bundle;
23
- readonly readiness: Digest | null;
7
+ /** Lightweight proof of one exact ready installed Domain generation. */
8
+ export interface DomainInfo {
9
+ readonly origin: Key.Origin;
10
+ readonly revision: Revision;
11
+ readonly generation: Digest;
12
+ /**
13
+ * Installed Publication reference: the pinned document's own for a legacy pin, the reference of
14
+ * the frozen v3 projection for a v4 pin.
15
+ *
16
+ * @deprecated Successor: `DomainInfo.release`, the installed `ReleaseRef`, emitted by the
17
+ * breaking release (AM-1).
18
+ */
19
+ readonly publication: PublicationRef | null;
20
+ readonly readiness: Digest;
24
21
  readonly capabilities: {
25
22
  readonly requested: PublicationRequirements['capabilities'];
26
23
  readonly materialized: PublicationRequirements['capabilities'];
27
24
  };
25
+ readonly bindings: Publication['bindings'];
26
+ }
27
+ /** Explicit complete Bundle observed coherently with its ready Domain generation. */
28
+ export interface DomainBundle {
29
+ readonly domain: DomainInfo;
30
+ readonly bundle: bundle.Bundle;
31
+ }
32
+ /**
33
+ * How one ready Domain generation binds one dependency of its exact closure: `exact` when the
34
+ * pinned revision is the one the Kernel serves, `retained` when the Kernel serves another revision
35
+ * and keeps the pinned one as inactive context admitted by unchanged meaning.
36
+ */
37
+ export interface DependencyBinding {
38
+ readonly origin: Key.Origin;
39
+ readonly pinned: Revision;
40
+ readonly active: Revision;
41
+ readonly binding: 'exact' | 'retained';
42
+ }
43
+ /** The origin-ordered dependency bindings observed coherently with a ready Domain generation. */
44
+ export interface DomainDependencies {
45
+ readonly domain: DomainInfo;
46
+ readonly dependencies: readonly DependencyBinding[];
47
+ }
48
+ /**
49
+ * What one installation pins, one meaning per variant: a `DomainRelease` v4 by its release digest
50
+ * beside the build digest it runs, or a legacy v2/v3 Publication by its strong ETag.
51
+ */
52
+ export type InstalledPin = ReleasePin | LegacyPin;
53
+ /** A `DomainRelease` v4 pin: its release digest beside the build digest it runs. */
54
+ interface ReleasePin {
55
+ readonly kind: 'release';
56
+ readonly release: ReleaseDigest;
57
+ readonly build: BuildDigest;
58
+ }
59
+ /**
60
+ * A legacy v2/v3 Publication pin: its document version and strong ETag.
61
+ *
62
+ * @deprecated Successor: the `release` pin. Short-term consumer: the installations that still pin
63
+ * a v2/v3 Publication, such as the astrale Host's v3 installs until Shell is republished as a
64
+ * release. Deleted, with its codec branch, in the separate breaking release that deletes
65
+ * `runtime/schema/installation/source/legacy/`, once no installation pins a v2/v3 Publication
66
+ * (the conditions of `protocol/release/legacy/index.ts`).
67
+ */
68
+ interface LegacyPin {
69
+ readonly kind: 'legacy';
70
+ readonly document: 2 | 3;
71
+ readonly etag: Digest;
72
+ }
73
+ /**
74
+ * The issuer of a release one installation replaced, as the Kernel records it: accepted while its
75
+ * work drains, and listed until a later consented install re-pins or prunes it, drained or not.
76
+ */
77
+ export interface InFlightIssuer {
78
+ readonly issuer: IssuerId;
79
+ /** Pinned document digest of the replaced release. */
80
+ readonly release: Digest;
81
+ /** UTC millisecond ISO 8601 instant of the activation commit that replaced it. */
82
+ readonly replacedAt: string;
83
+ }
84
+ /** One ready installation the Kernel pins to a deployment, as its caller can read it. */
85
+ export interface InstalledRelease {
86
+ readonly origin: Key.Origin;
87
+ readonly revision: Revision;
88
+ /** Issuer of the installation's Domain principal. */
89
+ readonly issuer: IssuerId;
90
+ /** The deployment URL, an HTTP(S) origin, the Kernel discovered the pinned document at. */
91
+ readonly url: string;
92
+ readonly pin: InstalledPin;
93
+ /** Issuer-ordered, distinct, never the current issuer. */
94
+ readonly inFlight: readonly InFlightIssuer[];
28
95
  }
29
- export type ResultFor<Input extends introspection.Introspection> = Pick<Installation, Extract<keyof Input['select'], keyof Installation>> | null;
96
+ export type ResultFor<Input extends introspection.Introspection> = Input extends {
97
+ readonly kind: 'installed';
98
+ } ? readonly InstalledRelease[] : Input extends {
99
+ readonly kind: 'bundle';
100
+ } ? DomainBundle : Input extends {
101
+ readonly kind: 'dependencies';
102
+ } ? DomainDependencies : DomainInfo;
30
103
  export interface Limits {
31
104
  readonly maximumPublicationBytes: number;
32
105
  readonly maximumBundleBytes: number;
33
106
  }
34
- //# sourceMappingURL=result.d.ts.map
107
+ export {};
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=result.js.map
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Read-only decoders for the schema evidence of Hosts older than beta.127: MessagePack
3
+ * installation v1 (`application/vnd.astrale.schema-installation.v1+msgpack`) and introspection v2
4
+ * (`application/vnd.astrale.schema-introspection.v2+msgpack`). Each decodes its bytes into the same
5
+ * wire value as the canonical JSON evidence and admits it with the canonical checks, so it returns
6
+ * exactly the canonical `InstallResult` and introspection results. Nothing here encodes: Servers
7
+ * emit only the canonical JSON evidence.
8
+ *
9
+ * @deprecated Use `installation.decode` / `installation.introspection.decode` with their
10
+ * `MEDIA_TYPE`, the JSON evidence every Host from beta.127 serves.
11
+ *
12
+ * Short-term consumers, all through `@astrale-os/kernel-client` `SchemaApi`, which selects these
13
+ * decoders by the received media type:
14
+ * - Admin managing the 1Pact Host (Kernel beta.117) and the astrale Hosts on beta.121 and beta.126
15
+ * (`schema.inspect` before every Manager call, child `install`/`inspect`, `bundle` reads);
16
+ * - the CLI used by 1Pact developers, and `adapter-astrale` 0.5.0-beta.148, which runs
17
+ * `astrale introspect` before every 1Pact deploy (`introspect`, `view`,
18
+ * `domain install --direct`, cold-cache `call`);
19
+ * - the Console back-office (`schema.bundle` of every installed Domain);
20
+ * - SDK Project tooling (`pnpm dev`, the Environment installation reconcile), which runs
21
+ * `astrale introspect` and `astrale domain install --direct` through that same CLI against our
22
+ * beta.121 and beta.126 Hosts.
23
+ *
24
+ * Removal, in a separate breaking release: once no supported Host is older than beta.127 (the
25
+ * 1Pact Host upgraded; astrale-01, shared-01 and admin-users replaced or upgraded). Then delete, in
26
+ * the same PR:
27
+ * - this folder with its tests, golden evidence and laws, its `legacy/` entry in
28
+ * `../.spec/layout.ts`, and the `./schema/installation/legacy` subpaths (source and `dist`) of
29
+ * `protocol/package.json` with the `schema/installation/legacy/**` include of
30
+ * `protocol/tsconfig.json`;
31
+ * - the legacy media-type branches of `client/schema/schema.ts` and
32
+ * `client/schema/introspection.ts`, and `client/schema/__tests__/legacy-evidence.test.ts`;
33
+ * - the legacy paragraphs of `client/schema/.spec/architecture.md` and
34
+ * `../.spec/architecture.md`;
35
+ * - the package-private exports of `../codec.ts` (`accept`) and `../introspection/codec.ts`
36
+ * (`acceptEvidence`, `admitLimits`, `admitRequest`), which return to module scope.
37
+ */
38
+ export { MEDIA_TYPE, decode } from './installation.js';
39
+ export * as introspection from './introspection.js';
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Read-only decoders for the schema evidence of Hosts older than beta.127: MessagePack
3
+ * installation v1 (`application/vnd.astrale.schema-installation.v1+msgpack`) and introspection v2
4
+ * (`application/vnd.astrale.schema-introspection.v2+msgpack`). Each decodes its bytes into the same
5
+ * wire value as the canonical JSON evidence and admits it with the canonical checks, so it returns
6
+ * exactly the canonical `InstallResult` and introspection results. Nothing here encodes: Servers
7
+ * emit only the canonical JSON evidence.
8
+ *
9
+ * @deprecated Use `installation.decode` / `installation.introspection.decode` with their
10
+ * `MEDIA_TYPE`, the JSON evidence every Host from beta.127 serves.
11
+ *
12
+ * Short-term consumers, all through `@astrale-os/kernel-client` `SchemaApi`, which selects these
13
+ * decoders by the received media type:
14
+ * - Admin managing the 1Pact Host (Kernel beta.117) and the astrale Hosts on beta.121 and beta.126
15
+ * (`schema.inspect` before every Manager call, child `install`/`inspect`, `bundle` reads);
16
+ * - the CLI used by 1Pact developers, and `adapter-astrale` 0.5.0-beta.148, which runs
17
+ * `astrale introspect` before every 1Pact deploy (`introspect`, `view`,
18
+ * `domain install --direct`, cold-cache `call`);
19
+ * - the Console back-office (`schema.bundle` of every installed Domain);
20
+ * - SDK Project tooling (`pnpm dev`, the Environment installation reconcile), which runs
21
+ * `astrale introspect` and `astrale domain install --direct` through that same CLI against our
22
+ * beta.121 and beta.126 Hosts.
23
+ *
24
+ * Removal, in a separate breaking release: once no supported Host is older than beta.127 (the
25
+ * 1Pact Host upgraded; astrale-01, shared-01 and admin-users replaced or upgraded). Then delete, in
26
+ * the same PR:
27
+ * - this folder with its tests, golden evidence and laws, its `legacy/` entry in
28
+ * `../.spec/layout.ts`, and the `./schema/installation/legacy` subpaths (source and `dist`) of
29
+ * `protocol/package.json` with the `schema/installation/legacy/**` include of
30
+ * `protocol/tsconfig.json`;
31
+ * - the legacy media-type branches of `client/schema/schema.ts` and
32
+ * `client/schema/introspection.ts`, and `client/schema/__tests__/legacy-evidence.test.ts`;
33
+ * - the legacy paragraphs of `client/schema/.spec/architecture.md` and
34
+ * `../.spec/architecture.md`;
35
+ * - the package-private exports of `../codec.ts` (`accept`) and `../introspection/codec.ts`
36
+ * (`acceptEvidence`, `admitLimits`, `admitRequest`), which return to module scope.
37
+ */
38
+ export { MEDIA_TYPE, decode } from './installation.js';
39
+ export * as introspection from './introspection.js';
@@ -0,0 +1,9 @@
1
+ import type { InstallResult } from '../result.js';
2
+ /** @deprecated Read-only: Hosts older than beta.127 serve this; current Hosts serve `installation.MEDIA_TYPE`. */
3
+ export declare const MEDIA_TYPE: 'application/vnd.astrale.schema-installation.v1+msgpack';
4
+ /**
5
+ * Decode version-one (MessagePack) installation evidence into the canonical result.
6
+ *
7
+ * @deprecated Read-only; use `installation.decode` with `installation.MEDIA_TYPE`.
8
+ */
9
+ export declare function decode(bytes: Uint8Array, maximumBytes: number): Promise<InstallResult>;
@@ -0,0 +1,28 @@
1
+ import { accept as acceptValue, defaultLimits } from '@astrale-os/kernel-dsl/value';
2
+ import { accept } from '../codec.js';
3
+ import { decode as decodeMessagePack } from './msgpack.js';
4
+ /** @deprecated Read-only: Hosts older than beta.127 serve this; current Hosts serve `installation.MEDIA_TYPE`. */
5
+ export const MEDIA_TYPE = 'application/vnd.astrale.schema-installation.v1+msgpack';
6
+ /**
7
+ * Decode version-one (MessagePack) installation evidence into the canonical result.
8
+ *
9
+ * @deprecated Read-only; use `installation.decode` with `installation.MEDIA_TYPE`.
10
+ */
11
+ export async function decode(bytes, maximumBytes) {
12
+ if (!(bytes instanceof Uint8Array) ||
13
+ !Number.isSafeInteger(maximumBytes) ||
14
+ maximumBytes < 1 ||
15
+ bytes.byteLength > maximumBytes) {
16
+ throw new TypeError('Schema installation evidence is invalid or exceeds its bound.');
17
+ }
18
+ let value;
19
+ try {
20
+ value = acceptValue(decodeMessagePack(bytes, defaultLimits.maxDepth), {
21
+ limits: { maxBytes: maximumBytes },
22
+ });
23
+ }
24
+ catch (cause) {
25
+ throw new TypeError('Schema installation evidence is malformed.', { cause });
26
+ }
27
+ return accept(value);
28
+ }
@@ -0,0 +1,10 @@
1
+ import type { introspection } from '@astrale-os/kernel-core/schema';
2
+ import type { Limits, ResultFor } from '../introspection/result.js';
3
+ /** @deprecated Read-only: Hosts older than beta.127 serve this; current Hosts serve `introspection.MEDIA_TYPE`. */
4
+ export declare const MEDIA_TYPE: 'application/vnd.astrale.schema-introspection.v2+msgpack';
5
+ /**
6
+ * Decode version-two (MessagePack) introspection evidence into the canonical result.
7
+ *
8
+ * @deprecated Read-only; use `introspection.decode` with `introspection.MEDIA_TYPE`.
9
+ */
10
+ export declare function decode<Input extends introspection.Introspection>(input: Input, bytes: Uint8Array, limits: Limits): Promise<ResultFor<Input>>;
@@ -0,0 +1,70 @@
1
+ import { accept as acceptValue, defaultLimits } from '@astrale-os/kernel-dsl/value';
2
+ import { acceptEvidence, admitLimits, admitRequest } from '../introspection/codec.js';
3
+ import { decode as decodeMessagePack } from './msgpack.js';
4
+ /** @deprecated Read-only: Hosts older than beta.127 serve this; current Hosts serve `introspection.MEDIA_TYPE`. */
5
+ export const MEDIA_TYPE = 'application/vnd.astrale.schema-introspection.v2+msgpack';
6
+ const utf8 = new TextDecoder('utf-8', { fatal: true, ignoreBOM: true });
7
+ /**
8
+ * Decode version-two (MessagePack) introspection evidence into the canonical result.
9
+ *
10
+ * @deprecated Read-only; use `introspection.decode` with `introspection.MEDIA_TYPE`.
11
+ */
12
+ export async function decode(input, bytes, limits) {
13
+ const request = admitRequest(input);
14
+ if (!(bytes instanceof Uint8Array))
15
+ invalid('Schema introspection evidence must be binary.');
16
+ admitLimits(request, limits);
17
+ // Version two carried the Bundle as raw bytes: no escaping allowance.
18
+ const maximumEvidenceBytes = limits.maximumPublicationBytes +
19
+ (request.kind === 'bundle' ? limits.maximumBundleBytes : 0) +
20
+ 4_096;
21
+ if (bytes.byteLength > maximumEvidenceBytes) {
22
+ invalid('Schema introspection evidence exceeds its declared bounds.');
23
+ }
24
+ let wire;
25
+ try {
26
+ wire = decodeMessagePack(bytes, defaultLimits.maxDepth);
27
+ }
28
+ catch (cause) {
29
+ throw new TypeError('Schema introspection evidence is malformed.', { cause });
30
+ }
31
+ if (request.kind === 'bundle')
32
+ wire = bundleAsText(wire);
33
+ let decoded;
34
+ try {
35
+ decoded = acceptValue(wire, {
36
+ limits: {
37
+ maxBytes: maximumEvidenceBytes,
38
+ ...(request.kind === 'bundle' ? { maxStringBytes: limits.maximumBundleBytes } : {}),
39
+ },
40
+ });
41
+ }
42
+ catch (cause) {
43
+ throw new TypeError('Schema introspection evidence is malformed.', { cause });
44
+ }
45
+ return acceptEvidence(request, decoded, limits);
46
+ }
47
+ /**
48
+ * Version two carried the Bundle as the UTF-8 bytes of its canonical JSON; the current wire value
49
+ * carries that JSON as text. Translate only that field; every other check stays canonical.
50
+ */
51
+ function bundleAsText(wire) {
52
+ if (wire === null || typeof wire !== 'object' || Array.isArray(wire))
53
+ return wire;
54
+ if (!Object.hasOwn(wire, 'bundle'))
55
+ return wire;
56
+ const { bundle } = wire;
57
+ if (!(bundle instanceof Uint8Array))
58
+ invalid('Bundle evidence is invalid or exceeds its bound.');
59
+ let text;
60
+ try {
61
+ text = utf8.decode(bundle);
62
+ }
63
+ catch (cause) {
64
+ throw new TypeError('Installed Domain Bundle is invalid.', { cause });
65
+ }
66
+ return { ...wire, bundle: text };
67
+ }
68
+ function invalid(message) {
69
+ throw new TypeError(message);
70
+ }
@@ -0,0 +1 @@
1
+ export declare function decode(bytes: Uint8Array, maximumDepth: number): unknown;
@@ -0,0 +1,143 @@
1
+ /**
2
+ * Frozen, read-only MessagePack decoder for the schema evidence of Hosts older than beta.127.
3
+ *
4
+ * It reads the families that msgpackr 2.0.5 `pack` (`useRecords: false`) wrote for that evidence:
5
+ * nil, booleans, integers, floats, strings, binary, arrays and string-keyed maps. Extension types
6
+ * (msgpackr records and `undefined`, timestamps, structured clones) never occur in it and are
7
+ * rejected, as are truncated input, trailing bytes, invalid UTF-8, non-string or duplicate map keys,
8
+ * integers outside the safe range, and nesting deeper than `maximumDepth`. It never encodes.
9
+ */
10
+ const utf8 = new TextDecoder('utf-8', { fatal: true, ignoreBOM: true });
11
+ export function decode(bytes, maximumDepth) {
12
+ const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
13
+ let position = 0;
14
+ const take = (length) => {
15
+ if (length > bytes.byteLength - position)
16
+ malformed('is truncated');
17
+ const start = position;
18
+ position += length;
19
+ return start;
20
+ };
21
+ const u8 = () => bytes[take(1)];
22
+ const u16 = () => view.getUint16(take(2));
23
+ const u32 = () => view.getUint32(take(4));
24
+ const text = (length) => {
25
+ const start = take(length);
26
+ return utf8.decode(bytes.subarray(start, start + length));
27
+ };
28
+ const binary = (length) => {
29
+ const start = take(length);
30
+ return bytes.slice(start, start + length);
31
+ };
32
+ const entries = (count, width) => {
33
+ // Every entry occupies at least one byte per item: refuse counts the input cannot hold.
34
+ if (count * width > bytes.byteLength - position)
35
+ malformed('declares more entries than it holds');
36
+ };
37
+ const nested = (depth) => {
38
+ if (depth >= maximumDepth)
39
+ malformed(`nests deeper than ${maximumDepth} containers`);
40
+ return depth + 1;
41
+ };
42
+ const array = (count, depth) => {
43
+ entries(count, 1);
44
+ const output = [];
45
+ for (let index = 0; index < count; index += 1)
46
+ output.push(value(depth));
47
+ return output;
48
+ };
49
+ const map = (count, depth) => {
50
+ entries(count, 2);
51
+ const output = {};
52
+ for (let index = 0; index < count; index += 1) {
53
+ const key = value(depth);
54
+ if (typeof key !== 'string')
55
+ malformed('has a non-string map key');
56
+ if (Object.hasOwn(output, key))
57
+ malformed('has a duplicate map key');
58
+ Object.defineProperty(output, key, {
59
+ value: value(depth),
60
+ enumerable: true,
61
+ writable: true,
62
+ configurable: true,
63
+ });
64
+ }
65
+ return output;
66
+ };
67
+ const integer = (input) => {
68
+ const output = Number(input);
69
+ if (!Number.isSafeInteger(output))
70
+ malformed('holds an integer outside the safe range');
71
+ return output;
72
+ };
73
+ function value(depth) {
74
+ const head = u8();
75
+ if (head <= 0x7f)
76
+ return head;
77
+ if (head >= 0xe0)
78
+ return head - 0x100;
79
+ if (head <= 0x8f)
80
+ return map(head & 0x0f, nested(depth));
81
+ if (head <= 0x9f)
82
+ return array(head & 0x0f, nested(depth));
83
+ if (head <= 0xbf)
84
+ return text(head & 0x1f);
85
+ switch (head) {
86
+ case 0xc0:
87
+ return null;
88
+ case 0xc2:
89
+ return false;
90
+ case 0xc3:
91
+ return true;
92
+ case 0xc4:
93
+ return binary(u8());
94
+ case 0xc5:
95
+ return binary(u16());
96
+ case 0xc6:
97
+ return binary(u32());
98
+ case 0xca:
99
+ return view.getFloat32(take(4));
100
+ case 0xcb:
101
+ return view.getFloat64(take(8));
102
+ case 0xcc:
103
+ return u8();
104
+ case 0xcd:
105
+ return u16();
106
+ case 0xce:
107
+ return u32();
108
+ case 0xcf:
109
+ return integer(view.getBigUint64(take(8)));
110
+ case 0xd0:
111
+ return view.getInt8(take(1));
112
+ case 0xd1:
113
+ return view.getInt16(take(2));
114
+ case 0xd2:
115
+ return view.getInt32(take(4));
116
+ case 0xd3:
117
+ return integer(view.getBigInt64(take(8)));
118
+ case 0xd9:
119
+ return text(u8());
120
+ case 0xda:
121
+ return text(u16());
122
+ case 0xdb:
123
+ return text(u32());
124
+ case 0xdc:
125
+ return array(u16(), nested(depth));
126
+ case 0xdd:
127
+ return array(u32(), nested(depth));
128
+ case 0xde:
129
+ return map(u16(), nested(depth));
130
+ case 0xdf:
131
+ return map(u32(), nested(depth));
132
+ default:
133
+ return malformed(`uses the unsupported type 0x${head.toString(16)}`);
134
+ }
135
+ }
136
+ const output = value(0);
137
+ if (position !== bytes.byteLength)
138
+ malformed('has trailing bytes');
139
+ return output;
140
+ }
141
+ function malformed(reason) {
142
+ throw new TypeError(`MessagePack evidence ${reason}.`);
143
+ }
@@ -0,0 +1,9 @@
1
+ import type { InstallReceipt } from '@astrale-os/kernel-core/schema/kernel/syscalls/contracts';
2
+ import type { DomainInfo } from './introspection/index.js';
3
+ export type InstallResult = {
4
+ readonly changed: true;
5
+ readonly receipt: InstallReceipt;
6
+ } | {
7
+ readonly changed: false;
8
+ readonly domains: readonly [DomainInfo, ...DomainInfo[]];
9
+ };
@@ -0,0 +1 @@
1
+ export {};