@astrale-os/kernel-protocol 0.5.0-beta.2 → 0.5.0-beta.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (426) hide show
  1. package/CHANGELOG.md +476 -0
  2. package/dist/artifact/index.d.ts +0 -1
  3. package/dist/artifact/index.js +0 -1
  4. package/dist/artifact/ref.d.ts +0 -1
  5. package/dist/artifact/ref.js +0 -1
  6. package/dist/codecs/codec.d.ts +0 -1
  7. package/dist/codecs/codec.js +0 -1
  8. package/dist/codecs/index.d.ts +0 -1
  9. package/dist/codecs/index.js +0 -1
  10. package/dist/codecs/json.d.ts +0 -1
  11. package/dist/codecs/json.js +0 -1
  12. package/dist/codecs/media-types.d.ts +0 -1
  13. package/dist/codecs/media-types.js +0 -1
  14. package/dist/codecs/msgpack.d.ts +0 -1
  15. package/dist/codecs/msgpack.js +1 -5
  16. package/dist/errors/codes.d.ts +0 -1
  17. package/dist/errors/codes.js +0 -1
  18. package/dist/errors/http-status.d.ts +0 -1
  19. package/dist/errors/http-status.js +0 -1
  20. package/dist/errors/index.d.ts +0 -1
  21. package/dist/errors/index.js +0 -1
  22. package/dist/errors/payload.d.ts +0 -1
  23. package/dist/errors/payload.js +3 -3
  24. package/dist/errors/protocol-error.d.ts +0 -1
  25. package/dist/errors/protocol-error.js +4 -3
  26. package/dist/errors/reason.d.ts +0 -1
  27. package/dist/errors/reason.js +0 -1
  28. package/dist/index.d.ts +0 -1
  29. package/dist/index.js +0 -1
  30. package/dist/invocation/admission.d.ts +4 -3
  31. package/dist/invocation/admission.js +16 -8
  32. package/dist/invocation/binary.d.ts +4 -2
  33. package/dist/invocation/binary.js +18 -5
  34. package/dist/invocation/binding-codecs.d.ts +0 -1
  35. package/dist/invocation/binding-codecs.js +0 -1
  36. package/dist/invocation/cancellation.d.ts +1 -2
  37. package/dist/invocation/cancellation.js +3 -4
  38. package/dist/invocation/correlation.d.ts +0 -1
  39. package/dist/invocation/correlation.js +0 -1
  40. package/dist/invocation/delegate.d.ts +0 -1
  41. package/dist/invocation/delegate.js +0 -1
  42. package/dist/invocation/http/binary.d.ts +9 -1
  43. package/dist/invocation/http/binary.js +49 -3
  44. package/dist/invocation/http/index.d.ts +1 -2
  45. package/dist/invocation/http/index.js +1 -2
  46. package/dist/invocation/http/negotiation.d.ts +0 -1
  47. package/dist/invocation/http/negotiation.js +0 -1
  48. package/dist/invocation/http/stream.d.ts +0 -1
  49. package/dist/invocation/http/stream.js +0 -1
  50. package/dist/invocation/http/trace.d.ts +0 -1
  51. package/dist/invocation/http/trace.js +0 -1
  52. package/dist/invocation/idempotency.d.ts +0 -1
  53. package/dist/invocation/idempotency.js +0 -1
  54. package/dist/invocation/identity.d.ts +16 -0
  55. package/dist/invocation/identity.js +55 -0
  56. package/dist/invocation/index.d.ts +4 -4
  57. package/dist/invocation/index.js +3 -3
  58. package/dist/invocation/miss.d.ts +4 -3
  59. package/dist/invocation/miss.js +10 -7
  60. package/dist/invocation/redirect.d.ts +19 -12
  61. package/dist/invocation/redirect.js +30 -17
  62. package/dist/invocation/request.d.ts +1 -2
  63. package/dist/invocation/request.js +3 -4
  64. package/dist/invocation/response.d.ts +9 -7
  65. package/dist/invocation/response.js +14 -10
  66. package/dist/invocation/routing.d.ts +3 -3
  67. package/dist/invocation/routing.js +4 -4
  68. package/dist/invocation/schema.d.ts +2 -3
  69. package/dist/invocation/schema.js +2 -3
  70. package/dist/invocation/service-reason.d.ts +13 -13
  71. package/dist/invocation/service-reason.js +14 -14
  72. package/dist/invocation/stale-route.d.ts +4 -3
  73. package/dist/invocation/stale-route.js +7 -7
  74. package/dist/invocation/stream.d.ts +6 -5
  75. package/dist/invocation/stream.js +17 -14
  76. package/dist/invocation/target.d.ts +2 -8
  77. package/dist/invocation/target.js +0 -1
  78. package/dist/invocation/trace.d.ts +0 -1
  79. package/dist/invocation/trace.js +0 -1
  80. package/dist/invocation/version.d.ts +0 -1
  81. package/dist/invocation/version.js +0 -1
  82. package/dist/invocation/websocket/binary.d.ts +0 -1
  83. package/dist/invocation/websocket/binary.js +4 -3
  84. package/dist/invocation/websocket/index.d.ts +0 -1
  85. package/dist/invocation/websocket/index.js +0 -1
  86. package/dist/invocation/websocket/subprotocol.d.ts +0 -1
  87. package/dist/invocation/websocket/subprotocol.js +0 -1
  88. package/dist/issuer/configuration.d.ts +1 -2
  89. package/dist/issuer/configuration.js +0 -1
  90. package/dist/issuer/error.d.ts +0 -1
  91. package/dist/issuer/error.js +0 -1
  92. package/dist/issuer/exchange.d.ts +0 -1
  93. package/dist/issuer/exchange.js +0 -1
  94. package/dist/issuer/hosted.d.ts +1 -2
  95. package/dist/issuer/hosted.js +0 -1
  96. package/dist/issuer/index.d.ts +0 -1
  97. package/dist/issuer/index.js +0 -1
  98. package/dist/issuer/key-set.d.ts +1 -2
  99. package/dist/issuer/key-set.js +3 -3
  100. package/dist/issuer/paths.d.ts +0 -1
  101. package/dist/issuer/paths.js +0 -1
  102. package/dist/issuer/url.d.ts +1 -2
  103. package/dist/issuer/url.js +3 -3
  104. package/dist/publication/bindings/callable.d.ts +1 -2
  105. package/dist/publication/bindings/callable.js +8 -6
  106. package/dist/publication/bindings/index.d.ts +0 -1
  107. package/dist/publication/bindings/index.js +0 -1
  108. package/dist/publication/bindings/invocation.d.ts +0 -1
  109. package/dist/publication/bindings/invocation.js +0 -1
  110. package/dist/publication/bindings/view.d.ts +1 -2
  111. package/dist/publication/bindings/view.js +2 -3
  112. package/dist/publication/bundle-admission.d.ts +4 -0
  113. package/dist/publication/bundle-admission.js +65 -0
  114. package/dist/publication/bundle-descriptor.d.ts +9 -0
  115. package/dist/publication/bundle-descriptor.js +19 -0
  116. package/dist/publication/bundle-evidence.d.ts +3 -0
  117. package/dist/publication/bundle-evidence.js +13 -0
  118. package/dist/publication/bundle.d.ts +5 -12
  119. package/dist/publication/bundle.js +8 -29
  120. package/dist/publication/content.d.ts +0 -1
  121. package/dist/publication/content.js +0 -1
  122. package/dist/publication/declaration.d.ts +11 -0
  123. package/dist/publication/declaration.js +1 -0
  124. package/dist/publication/delivery/attestation.d.ts +0 -1
  125. package/dist/publication/delivery/attestation.js +0 -1
  126. package/dist/publication/delivery/claims.d.ts +8 -8
  127. package/dist/publication/delivery/claims.js +6 -7
  128. package/dist/publication/delivery/delivery.d.ts +1 -2
  129. package/dist/publication/delivery/delivery.js +1 -2
  130. package/dist/publication/delivery/error.d.ts +0 -1
  131. package/dist/publication/delivery/error.js +0 -1
  132. package/dist/publication/delivery/index.d.ts +0 -1
  133. package/dist/publication/delivery/index.js +0 -1
  134. package/dist/publication/delivery/limits.d.ts +0 -1
  135. package/dist/publication/delivery/limits.js +0 -1
  136. package/dist/publication/delivery/request.d.ts +3 -4
  137. package/dist/publication/delivery/request.js +4 -4
  138. package/dist/publication/delivery-declaration.d.ts +4 -0
  139. package/dist/publication/delivery-declaration.js +25 -0
  140. package/dist/publication/delivery-endpoint.d.ts +0 -1
  141. package/dist/publication/delivery-endpoint.js +0 -1
  142. package/dist/publication/error.d.ts +0 -1
  143. package/dist/publication/error.js +0 -1
  144. package/dist/publication/etag.d.ts +0 -1
  145. package/dist/publication/etag.js +0 -1
  146. package/dist/publication/index.d.ts +6 -3
  147. package/dist/publication/index.js +4 -2
  148. package/dist/publication/manifest.d.ts +2 -3
  149. package/dist/publication/manifest.js +10 -6
  150. package/dist/publication/publication.d.ts +3 -6
  151. package/dist/publication/publication.js +11 -68
  152. package/dist/publication/reference.d.ts +3 -3
  153. package/dist/publication/reference.js +7 -7
  154. package/dist/publication/requirements.d.ts +4 -4
  155. package/dist/publication/requirements.js +34 -34
  156. package/dist/publication/route.d.ts +6 -2
  157. package/dist/publication/route.js +31 -9
  158. package/dist/publication/schema.d.ts +3 -4
  159. package/dist/publication/schema.js +3 -4
  160. package/dist/routes/admission.d.ts +3 -0
  161. package/dist/routes/admission.js +89 -0
  162. package/dist/routes/binding.d.ts +6 -0
  163. package/dist/routes/binding.js +27 -0
  164. package/dist/routes/collision.d.ts +2 -0
  165. package/dist/routes/collision.js +16 -0
  166. package/dist/routes/compiler.d.ts +8 -0
  167. package/dist/routes/compiler.js +50 -0
  168. package/dist/routes/credential.d.ts +7 -8
  169. package/dist/routes/credential.js +7 -8
  170. package/dist/routes/decode.d.ts +4 -3
  171. package/dist/routes/decode.js +42 -42
  172. package/dist/routes/encode.d.ts +3 -3
  173. package/dist/routes/encode.js +31 -33
  174. package/dist/routes/error-response.d.ts +0 -1
  175. package/dist/routes/error-response.js +0 -1
  176. package/dist/routes/error.d.ts +0 -1
  177. package/dist/routes/error.js +0 -1
  178. package/dist/routes/evidence.d.ts +5 -0
  179. package/dist/routes/evidence.js +38 -0
  180. package/dist/routes/index.d.ts +9 -3
  181. package/dist/routes/index.js +6 -3
  182. package/dist/routes/mapping.d.ts +1 -2
  183. package/dist/routes/mapping.js +4 -13
  184. package/dist/routes/match.d.ts +3 -4
  185. package/dist/routes/match.js +3 -5
  186. package/dist/routes/placement.d.ts +5 -0
  187. package/dist/routes/placement.js +18 -0
  188. package/dist/routes/plan.d.ts +24 -0
  189. package/dist/routes/plan.js +1 -0
  190. package/dist/routes/release-unavailable.d.ts +8 -0
  191. package/dist/routes/release-unavailable.js +32 -0
  192. package/dist/routes/request.d.ts +0 -1
  193. package/dist/routes/request.js +3 -2
  194. package/dist/routes/reservation.d.ts +3 -4
  195. package/dist/routes/reservation.js +8 -5
  196. package/dist/routes/routing.d.ts +0 -1
  197. package/dist/routes/routing.js +0 -1
  198. package/dist/routes/scalar.d.ts +4 -4
  199. package/dist/routes/scalar.js +14 -11
  200. package/dist/routes/select.d.ts +2 -3
  201. package/dist/routes/select.js +2 -3
  202. package/dist/routes/stream.d.ts +0 -1
  203. package/dist/routes/stream.js +0 -1
  204. package/dist/routes/table.d.ts +9 -0
  205. package/dist/routes/table.js +1 -0
  206. package/dist/routes/target.d.ts +13 -0
  207. package/dist/routes/target.js +3 -0
  208. package/dist/routes/template.d.ts +0 -1
  209. package/dist/routes/template.js +0 -1
  210. package/dist/runtime/artifact.d.ts +3 -4
  211. package/dist/runtime/artifact.js +5 -6
  212. package/dist/runtime/index.d.ts +0 -1
  213. package/dist/runtime/index.js +0 -1
  214. package/dist/schema/index.d.ts +0 -1
  215. package/dist/schema/index.js +0 -1
  216. package/dist/schema/installation/codec.d.ts +4 -0
  217. package/dist/schema/installation/codec.js +70 -0
  218. package/dist/schema/installation/index.d.ts +2 -1
  219. package/dist/schema/installation/index.js +1 -1
  220. package/dist/schema/installation/introspection/codec.d.ts +3 -3
  221. package/dist/schema/installation/introspection/codec.js +144 -204
  222. package/dist/schema/installation/introspection/index.d.ts +2 -3
  223. package/dist/schema/installation/introspection/index.js +1 -2
  224. package/dist/schema/installation/introspection/result.d.ts +18 -23
  225. package/dist/schema/installation/introspection/result.js +0 -1
  226. package/dist/schema/installation/result.d.ts +9 -0
  227. package/dist/schema/installation/result.js +1 -0
  228. package/package.json +116 -13
  229. package/dist/artifact/index.d.ts.map +0 -1
  230. package/dist/artifact/index.js.map +0 -1
  231. package/dist/artifact/ref.d.ts.map +0 -1
  232. package/dist/artifact/ref.js.map +0 -1
  233. package/dist/codecs/codec.d.ts.map +0 -1
  234. package/dist/codecs/codec.js.map +0 -1
  235. package/dist/codecs/index.d.ts.map +0 -1
  236. package/dist/codecs/index.js.map +0 -1
  237. package/dist/codecs/json.d.ts.map +0 -1
  238. package/dist/codecs/json.js.map +0 -1
  239. package/dist/codecs/media-types.d.ts.map +0 -1
  240. package/dist/codecs/media-types.js.map +0 -1
  241. package/dist/codecs/msgpack.d.ts.map +0 -1
  242. package/dist/codecs/msgpack.js.map +0 -1
  243. package/dist/errors/codes.d.ts.map +0 -1
  244. package/dist/errors/codes.js.map +0 -1
  245. package/dist/errors/http-status.d.ts.map +0 -1
  246. package/dist/errors/http-status.js.map +0 -1
  247. package/dist/errors/index.d.ts.map +0 -1
  248. package/dist/errors/index.js.map +0 -1
  249. package/dist/errors/payload.d.ts.map +0 -1
  250. package/dist/errors/payload.js.map +0 -1
  251. package/dist/errors/protocol-error.d.ts.map +0 -1
  252. package/dist/errors/protocol-error.js.map +0 -1
  253. package/dist/errors/reason.d.ts.map +0 -1
  254. package/dist/errors/reason.js.map +0 -1
  255. package/dist/index.d.ts.map +0 -1
  256. package/dist/index.js.map +0 -1
  257. package/dist/invocation/admission.d.ts.map +0 -1
  258. package/dist/invocation/admission.js.map +0 -1
  259. package/dist/invocation/binary.d.ts.map +0 -1
  260. package/dist/invocation/binary.js.map +0 -1
  261. package/dist/invocation/binding-codecs.d.ts.map +0 -1
  262. package/dist/invocation/binding-codecs.js.map +0 -1
  263. package/dist/invocation/cancellation.d.ts.map +0 -1
  264. package/dist/invocation/cancellation.js.map +0 -1
  265. package/dist/invocation/correlation.d.ts.map +0 -1
  266. package/dist/invocation/correlation.js.map +0 -1
  267. package/dist/invocation/delegate.d.ts.map +0 -1
  268. package/dist/invocation/delegate.js.map +0 -1
  269. package/dist/invocation/http/binary.d.ts.map +0 -1
  270. package/dist/invocation/http/binary.js.map +0 -1
  271. package/dist/invocation/http/index.d.ts.map +0 -1
  272. package/dist/invocation/http/index.js.map +0 -1
  273. package/dist/invocation/http/negotiation.d.ts.map +0 -1
  274. package/dist/invocation/http/negotiation.js.map +0 -1
  275. package/dist/invocation/http/stream.d.ts.map +0 -1
  276. package/dist/invocation/http/stream.js.map +0 -1
  277. package/dist/invocation/http/trace.d.ts.map +0 -1
  278. package/dist/invocation/http/trace.js.map +0 -1
  279. package/dist/invocation/idempotency.d.ts.map +0 -1
  280. package/dist/invocation/idempotency.js.map +0 -1
  281. package/dist/invocation/index.d.ts.map +0 -1
  282. package/dist/invocation/index.js.map +0 -1
  283. package/dist/invocation/miss.d.ts.map +0 -1
  284. package/dist/invocation/miss.js.map +0 -1
  285. package/dist/invocation/redirect.d.ts.map +0 -1
  286. package/dist/invocation/redirect.js.map +0 -1
  287. package/dist/invocation/request.d.ts.map +0 -1
  288. package/dist/invocation/request.js.map +0 -1
  289. package/dist/invocation/response.d.ts.map +0 -1
  290. package/dist/invocation/response.js.map +0 -1
  291. package/dist/invocation/routing.d.ts.map +0 -1
  292. package/dist/invocation/routing.js.map +0 -1
  293. package/dist/invocation/schema.d.ts.map +0 -1
  294. package/dist/invocation/schema.js.map +0 -1
  295. package/dist/invocation/service-reason.d.ts.map +0 -1
  296. package/dist/invocation/service-reason.js.map +0 -1
  297. package/dist/invocation/stale-route.d.ts.map +0 -1
  298. package/dist/invocation/stale-route.js.map +0 -1
  299. package/dist/invocation/stream.d.ts.map +0 -1
  300. package/dist/invocation/stream.js.map +0 -1
  301. package/dist/invocation/target.d.ts.map +0 -1
  302. package/dist/invocation/target.js.map +0 -1
  303. package/dist/invocation/trace.d.ts.map +0 -1
  304. package/dist/invocation/trace.js.map +0 -1
  305. package/dist/invocation/version.d.ts.map +0 -1
  306. package/dist/invocation/version.js.map +0 -1
  307. package/dist/invocation/websocket/binary.d.ts.map +0 -1
  308. package/dist/invocation/websocket/binary.js.map +0 -1
  309. package/dist/invocation/websocket/index.d.ts.map +0 -1
  310. package/dist/invocation/websocket/index.js.map +0 -1
  311. package/dist/invocation/websocket/subprotocol.d.ts.map +0 -1
  312. package/dist/invocation/websocket/subprotocol.js.map +0 -1
  313. package/dist/issuer/configuration.d.ts.map +0 -1
  314. package/dist/issuer/configuration.js.map +0 -1
  315. package/dist/issuer/error.d.ts.map +0 -1
  316. package/dist/issuer/error.js.map +0 -1
  317. package/dist/issuer/exchange.d.ts.map +0 -1
  318. package/dist/issuer/exchange.js.map +0 -1
  319. package/dist/issuer/hosted.d.ts.map +0 -1
  320. package/dist/issuer/hosted.js.map +0 -1
  321. package/dist/issuer/index.d.ts.map +0 -1
  322. package/dist/issuer/index.js.map +0 -1
  323. package/dist/issuer/key-set.d.ts.map +0 -1
  324. package/dist/issuer/key-set.js.map +0 -1
  325. package/dist/issuer/paths.d.ts.map +0 -1
  326. package/dist/issuer/paths.js.map +0 -1
  327. package/dist/issuer/url.d.ts.map +0 -1
  328. package/dist/issuer/url.js.map +0 -1
  329. package/dist/publication/bindings/callable.d.ts.map +0 -1
  330. package/dist/publication/bindings/callable.js.map +0 -1
  331. package/dist/publication/bindings/index.d.ts.map +0 -1
  332. package/dist/publication/bindings/index.js.map +0 -1
  333. package/dist/publication/bindings/invocation.d.ts.map +0 -1
  334. package/dist/publication/bindings/invocation.js.map +0 -1
  335. package/dist/publication/bindings/view.d.ts.map +0 -1
  336. package/dist/publication/bindings/view.js.map +0 -1
  337. package/dist/publication/bundle.d.ts.map +0 -1
  338. package/dist/publication/bundle.js.map +0 -1
  339. package/dist/publication/content.d.ts.map +0 -1
  340. package/dist/publication/content.js.map +0 -1
  341. package/dist/publication/delivery/attestation.d.ts.map +0 -1
  342. package/dist/publication/delivery/attestation.js.map +0 -1
  343. package/dist/publication/delivery/claims.d.ts.map +0 -1
  344. package/dist/publication/delivery/claims.js.map +0 -1
  345. package/dist/publication/delivery/delivery.d.ts.map +0 -1
  346. package/dist/publication/delivery/delivery.js.map +0 -1
  347. package/dist/publication/delivery/error.d.ts.map +0 -1
  348. package/dist/publication/delivery/error.js.map +0 -1
  349. package/dist/publication/delivery/index.d.ts.map +0 -1
  350. package/dist/publication/delivery/index.js.map +0 -1
  351. package/dist/publication/delivery/limits.d.ts.map +0 -1
  352. package/dist/publication/delivery/limits.js.map +0 -1
  353. package/dist/publication/delivery/request.d.ts.map +0 -1
  354. package/dist/publication/delivery/request.js.map +0 -1
  355. package/dist/publication/delivery-endpoint.d.ts.map +0 -1
  356. package/dist/publication/delivery-endpoint.js.map +0 -1
  357. package/dist/publication/error.d.ts.map +0 -1
  358. package/dist/publication/error.js.map +0 -1
  359. package/dist/publication/etag.d.ts.map +0 -1
  360. package/dist/publication/etag.js.map +0 -1
  361. package/dist/publication/index.d.ts.map +0 -1
  362. package/dist/publication/index.js.map +0 -1
  363. package/dist/publication/manifest.d.ts.map +0 -1
  364. package/dist/publication/manifest.js.map +0 -1
  365. package/dist/publication/publication.d.ts.map +0 -1
  366. package/dist/publication/publication.js.map +0 -1
  367. package/dist/publication/reference.d.ts.map +0 -1
  368. package/dist/publication/reference.js.map +0 -1
  369. package/dist/publication/requirements.d.ts.map +0 -1
  370. package/dist/publication/requirements.js.map +0 -1
  371. package/dist/publication/route.d.ts.map +0 -1
  372. package/dist/publication/route.js.map +0 -1
  373. package/dist/publication/schema.d.ts.map +0 -1
  374. package/dist/publication/schema.js.map +0 -1
  375. package/dist/routes/compile.d.ts +0 -5
  376. package/dist/routes/compile.d.ts.map +0 -1
  377. package/dist/routes/compile.js +0 -69
  378. package/dist/routes/compile.js.map +0 -1
  379. package/dist/routes/credential.d.ts.map +0 -1
  380. package/dist/routes/credential.js.map +0 -1
  381. package/dist/routes/decode.d.ts.map +0 -1
  382. package/dist/routes/decode.js.map +0 -1
  383. package/dist/routes/encode.d.ts.map +0 -1
  384. package/dist/routes/encode.js.map +0 -1
  385. package/dist/routes/error-response.d.ts.map +0 -1
  386. package/dist/routes/error-response.js.map +0 -1
  387. package/dist/routes/error.d.ts.map +0 -1
  388. package/dist/routes/error.js.map +0 -1
  389. package/dist/routes/index.d.ts.map +0 -1
  390. package/dist/routes/index.js.map +0 -1
  391. package/dist/routes/mapping.d.ts.map +0 -1
  392. package/dist/routes/mapping.js.map +0 -1
  393. package/dist/routes/match.d.ts.map +0 -1
  394. package/dist/routes/match.js.map +0 -1
  395. package/dist/routes/request.d.ts.map +0 -1
  396. package/dist/routes/request.js.map +0 -1
  397. package/dist/routes/reservation.d.ts.map +0 -1
  398. package/dist/routes/reservation.js.map +0 -1
  399. package/dist/routes/route.d.ts +0 -13
  400. package/dist/routes/route.d.ts.map +0 -1
  401. package/dist/routes/route.js +0 -6
  402. package/dist/routes/route.js.map +0 -1
  403. package/dist/routes/routing.d.ts.map +0 -1
  404. package/dist/routes/routing.js.map +0 -1
  405. package/dist/routes/scalar.d.ts.map +0 -1
  406. package/dist/routes/scalar.js.map +0 -1
  407. package/dist/routes/select.d.ts.map +0 -1
  408. package/dist/routes/select.js.map +0 -1
  409. package/dist/routes/stream.d.ts.map +0 -1
  410. package/dist/routes/stream.js.map +0 -1
  411. package/dist/routes/template.d.ts.map +0 -1
  412. package/dist/routes/template.js.map +0 -1
  413. package/dist/runtime/artifact.d.ts.map +0 -1
  414. package/dist/runtime/artifact.js.map +0 -1
  415. package/dist/runtime/index.d.ts.map +0 -1
  416. package/dist/runtime/index.js.map +0 -1
  417. package/dist/schema/index.d.ts.map +0 -1
  418. package/dist/schema/index.js.map +0 -1
  419. package/dist/schema/installation/index.d.ts.map +0 -1
  420. package/dist/schema/installation/index.js.map +0 -1
  421. package/dist/schema/installation/introspection/codec.d.ts.map +0 -1
  422. package/dist/schema/installation/introspection/codec.js.map +0 -1
  423. package/dist/schema/installation/introspection/index.d.ts.map +0 -1
  424. package/dist/schema/installation/introspection/index.js.map +0 -1
  425. package/dist/schema/installation/introspection/result.d.ts.map +0 -1
  426. package/dist/schema/installation/introspection/result.js.map +0 -1
@@ -12,4 +12,3 @@ export function fail(code, message, cause) {
12
12
  export function invalidRequest(message) {
13
13
  return fail('NATIVE_ROUTE_REQUEST_INVALID', message);
14
14
  }
15
- //# sourceMappingURL=error.js.map
@@ -0,0 +1,5 @@
1
+ import type { Domain } from '@astrale-os/kernel-dsl/v1';
2
+ import type { Publication } from '../publication/publication.js';
3
+ import type { Table } from './table.js';
4
+ /** Verify that an admitted Table carries the exact published wire and Domain meaning. */
5
+ export declare function verifyTable(table: Table, deployed: Publication, domain: Pick<Domain, 'origin' | 'revision' | 'callable'>): Table;
@@ -0,0 +1,38 @@
1
+ import { json } from '@astrale-os/kernel-dsl/value';
2
+ import { compareReferences, reference } from '../publication/reference.js';
3
+ import { fail } from './error.js';
4
+ /** Verify that an admitted Table carries the exact published wire and Domain meaning. */
5
+ export function verifyTable(table, deployed, domain) {
6
+ if (compareReferences(table.publication, reference(deployed)) !== 'exact' ||
7
+ domain.origin !== deployed.origin ||
8
+ domain.revision !== deployed.schema.revision ||
9
+ json.serialize(table.entries.map(wireRoute)) !==
10
+ json.serialize(deployed.routes)) {
11
+ fail('NATIVE_ROUTE_BINDING_INVALID', 'Route Table evidence differs from its Publication.');
12
+ }
13
+ for (const entry of table.entries) {
14
+ const meaning = domain.callable(entry.callable);
15
+ const targetMatches = meaning !== undefined &&
16
+ ((entry.target.kind === 'function' && !isMethod(meaning)) ||
17
+ (entry.target.kind === 'method' &&
18
+ isMethod(meaning) &&
19
+ entry.target.dispatch === (meaning.static ? 'static' : 'instance')));
20
+ if (!targetMatches || meaning.auth !== entry.auth || meaning.output.mode !== entry.output) {
21
+ fail('NATIVE_ROUTE_BINDING_INVALID', `Route ${entry.name} differs from Domain meaning.`);
22
+ }
23
+ }
24
+ return table;
25
+ }
26
+ function isMethod(meaning) {
27
+ return 'owner' in meaning;
28
+ }
29
+ function wireRoute(entry) {
30
+ const { target, auth: _auth, output: _output, default: isDefault, ...wire } = entry;
31
+ return {
32
+ ...wire,
33
+ ...(isDefault ? { default: true } : {}),
34
+ ...(target.kind === 'method' && target.dispatch === 'instance'
35
+ ? { receiver: target.receiver }
36
+ : {}),
37
+ };
38
+ }
@@ -1,13 +1,19 @@
1
- export { compile } from './compile.js';
1
+ export { bind } from './binding.js';
2
+ export { acceptTable } from './admission.js';
3
+ export { compile, type CompileInput } from './compiler.js';
2
4
  export { decode } from './decode.js';
3
5
  export { decodeErrorResponse, type ErrorResponse } from './error-response.js';
4
6
  export { encode } from './encode.js';
7
+ export { verifyTable } from './evidence.js';
5
8
  export { type ErrorCode, RouteError } from './error.js';
6
9
  export { match } from './match.js';
7
10
  export { type HttpRequest, type Invocation, type Request } from './request.js';
8
- export { type CompiledRoute } from './route.js';
11
+ export type { Plan, PlanEntry } from './plan.js';
12
+ export type { Route, Table } from './table.js';
13
+ export type { RouteTarget } from './target.js';
14
+ export { place } from './placement.js';
15
+ export { decodeReleaseUnavailable, HTTP_ROUTE_RELEASE_UNAVAILABLE, HTTP_ROUTE_RELEASE_UNAVAILABLE_STATUS, releaseUnavailableHeaders, type ReleaseUnavailable, } from './release-unavailable.js';
9
16
  export { decodeRouting, decodeMiss, decodeStale, HTTP_ROUTE_PUBLICATION, HTTP_ROUTE_ISSUER, HTTP_ROUTE_MISS, HTTP_ROUTE_MISS_STATUS, HTTP_ROUTE_STALE, HTTP_ROUTE_STALE_STATUS, missHeaders, staleHeaders, type MissControl, type StaleControl, } from './routing.js';
10
17
  export { select } from './select.js';
11
18
  export { decodeStreamFrame, encodeStreamFrame, STREAM_MEDIA_TYPE, type StreamFrame, } from './stream.js';
12
19
  export { templatesOverlap } from './template.js';
13
- //# sourceMappingURL=index.d.ts.map
@@ -1,13 +1,16 @@
1
- export { compile } from './compile.js';
1
+ export { bind } from './binding.js';
2
+ export { acceptTable } from './admission.js';
3
+ export { compile } from './compiler.js';
2
4
  export { decode } from './decode.js';
3
5
  export { decodeErrorResponse } from './error-response.js';
4
6
  export { encode } from './encode.js';
7
+ export { verifyTable } from './evidence.js';
5
8
  export { RouteError } from './error.js';
6
9
  export { match } from './match.js';
7
10
  export {} from './request.js';
8
- export {} from './route.js';
11
+ export { place } from './placement.js';
12
+ export { decodeReleaseUnavailable, HTTP_ROUTE_RELEASE_UNAVAILABLE, HTTP_ROUTE_RELEASE_UNAVAILABLE_STATUS, releaseUnavailableHeaders, } from './release-unavailable.js';
9
13
  export { decodeRouting, decodeMiss, decodeStale, HTTP_ROUTE_PUBLICATION, HTTP_ROUTE_ISSUER, HTTP_ROUTE_MISS, HTTP_ROUTE_MISS_STATUS, HTTP_ROUTE_STALE, HTTP_ROUTE_STALE_STATUS, missHeaders, staleHeaders, } from './routing.js';
10
14
  export { select } from './select.js';
11
15
  export { decodeStreamFrame, encodeStreamFrame, STREAM_MEDIA_TYPE, } from './stream.js';
12
16
  export { templatesOverlap } from './template.js';
13
- //# sourceMappingURL=index.js.map
@@ -1,6 +1,5 @@
1
1
  import type { HttpRoute } from '../publication/index.js';
2
- export declare function validateMapping(route: HttpRoute, input: unknown, instanceMethod: boolean): void;
2
+ export declare function validateMapping(route: HttpRoute, fields: readonly string[] | undefined, instanceMethod: boolean): void;
3
3
  export declare function validateWireMapping(route: HttpRoute): void;
4
4
  export declare function validateCredentialMapping(route: HttpRoute): void;
5
5
  export declare function isReservedHeader(input: string): boolean;
6
- //# sourceMappingURL=mapping.d.ts.map
@@ -1,17 +1,13 @@
1
1
  import { HTTP_IDEMPOTENCY_KEY } from '../invocation/index.js';
2
2
  import { credentialSources } from './credential.js';
3
3
  import { fail } from './error.js';
4
+ import { HTTP_ROUTE_RELEASE_UNAVAILABLE } from './release-unavailable.js';
4
5
  import { HTTP_ROUTE_ISSUER, HTTP_ROUTE_MISS, HTTP_ROUTE_PUBLICATION, HTTP_ROUTE_STALE, } from './routing.js';
5
6
  import { PLACEHOLDER } from './template.js';
6
- export function validateMapping(route, input, instanceMethod) {
7
- const contract = asRecord(input);
8
- const properties = asRecord(contract?.properties);
9
- if (contract?.type !== 'object' ||
10
- properties === undefined ||
11
- contract.additionalProperties !== false) {
7
+ export function validateMapping(route, fields, instanceMethod) {
8
+ if (fields === undefined) {
12
9
  fail('NATIVE_ROUTE_DECLARATION_INVALID', `Route ${route.name} requires a closed object input schema.`);
13
10
  }
14
- const fields = Object.keys(properties);
15
11
  if (route.receiver !== undefined && fields.includes(route.receiver)) {
16
12
  fail('NATIVE_ROUTE_MAPPING_AMBIGUOUS', `Route ${route.name} receiver cannot also be a callable input field.`);
17
13
  }
@@ -117,6 +113,7 @@ const RESERVED_HEADERS = new Set([
117
113
  HTTP_ROUTE_ISSUER,
118
114
  HTTP_ROUTE_MISS,
119
115
  HTTP_ROUTE_PUBLICATION,
116
+ HTTP_ROUTE_RELEASE_UNAVAILABLE,
120
117
  HTTP_ROUTE_STALE,
121
118
  ]);
122
119
  export function isReservedHeader(input) {
@@ -127,9 +124,3 @@ function uniqueWires(route, kind, wires) {
127
124
  fail('NATIVE_ROUTE_MAPPING_AMBIGUOUS', `Route ${route.name} maps one ${kind} wire source more than once.`);
128
125
  }
129
126
  }
130
- function asRecord(value) {
131
- return value !== null && typeof value === 'object' && !Array.isArray(value)
132
- ? value
133
- : undefined;
134
- }
135
- //# sourceMappingURL=mapping.js.map
@@ -1,5 +1,4 @@
1
1
  import type { HttpRequest } from './request.js';
2
- import type { CompiledRoute } from './route.js';
3
- export declare function match(entries: readonly CompiledRoute[], request: Pick<HttpRequest, 'url' | 'method'>): CompiledRoute | undefined;
4
- export declare function methodMatches(entry: CompiledRoute, method: string): boolean;
5
- //# sourceMappingURL=match.d.ts.map
2
+ import type { Route, Table } from './table.js';
3
+ export declare function match(table: Table, request: Pick<HttpRequest, 'url' | 'method'>): Route | undefined;
4
+ export declare function methodMatches(entry: Route, method: string): boolean;
@@ -1,9 +1,7 @@
1
1
  import { matchTemplate } from './template.js';
2
- export function match(entries, request) {
3
- return entries.find((entry) => methodMatches(entry, request.method) &&
4
- matchTemplate(entry.route.href, request.url) !== undefined);
2
+ export function match(table, request) {
3
+ return table.entries.find((entry) => methodMatches(entry, request.method) && matchTemplate(entry.href, request.url) !== undefined);
5
4
  }
6
5
  export function methodMatches(entry, method) {
7
- return entry.route.method === '*' || entry.route.method === method.toUpperCase();
6
+ return entry.method === '*' || entry.method === method.toUpperCase();
8
7
  }
9
- //# sourceMappingURL=match.js.map
@@ -0,0 +1,5 @@
1
+ import type * as publication from '../publication/index.js';
2
+ import type { Plan } from './plan.js';
3
+ /** Resolve a provider-neutral Plan beneath one exact serving issuer. */
4
+ export declare function place(plan: Plan, issuer: string): readonly publication.HttpRoute[];
5
+ export declare function placePath(path: string, issuer: string): string;
@@ -0,0 +1,18 @@
1
+ /** Resolve a provider-neutral Plan beneath one exact serving issuer. */
2
+ export function place(plan, issuer) {
3
+ return Object.freeze(plan.entries.map((entry) => {
4
+ const { path, target, auth: _auth, output: _output, default: isDefault, ...wire } = entry;
5
+ return Object.freeze({
6
+ ...wire,
7
+ href: placePath(path, issuer),
8
+ ...(isDefault ? { default: true } : {}),
9
+ ...(target.kind === 'method' && target.dispatch === 'instance'
10
+ ? { receiver: target.receiver }
11
+ : {}),
12
+ });
13
+ }));
14
+ }
15
+ export function placePath(path, issuer) {
16
+ const base = new URL(issuer);
17
+ return `${base.origin}${path}`;
18
+ }
@@ -0,0 +1,24 @@
1
+ import type { FunctionAuth, Key, Revision } from '@astrale-os/kernel-dsl/v1';
2
+ import type { OutputMode } from '@astrale-os/kernel-dsl/v1/language';
3
+ import type { CredentialSource, HttpMethod, RouteBody, RouteHeaders } from '../publication/index.js';
4
+ import type { RouteTarget } from './target.js';
5
+ export interface PlanEntry {
6
+ readonly name: string;
7
+ readonly callable: Key.Callable;
8
+ readonly target: RouteTarget;
9
+ readonly auth: FunctionAuth;
10
+ readonly output: OutputMode;
11
+ readonly path: string;
12
+ readonly method: HttpMethod;
13
+ readonly requestMethod?: string;
14
+ readonly default: boolean;
15
+ readonly query?: Readonly<Record<string, string>>;
16
+ readonly headers?: RouteHeaders;
17
+ readonly body?: RouteBody;
18
+ readonly credential?: CredentialSource;
19
+ }
20
+ export interface Plan {
21
+ readonly origin: Key.Origin;
22
+ readonly revision: Revision;
23
+ readonly entries: readonly PlanEntry[];
24
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ import type { HttpRequest } from './request.js';
2
+ export interface ReleaseUnavailable {
3
+ readonly kind: 'release-unavailable';
4
+ }
5
+ export declare const HTTP_ROUTE_RELEASE_UNAVAILABLE: 'x-astrale-release-unavailable';
6
+ export declare const HTTP_ROUTE_RELEASE_UNAVAILABLE_STATUS: 410;
7
+ export declare function releaseUnavailableHeaders(): Readonly<Record<string, string>>;
8
+ export declare function decodeReleaseUnavailable(status: number, headers: HttpRequest['headers']): ReleaseUnavailable | undefined;
@@ -0,0 +1,32 @@
1
+ import { fail } from './error.js';
2
+ export const HTTP_ROUTE_RELEASE_UNAVAILABLE = 'x-astrale-release-unavailable';
3
+ export const HTTP_ROUTE_RELEASE_UNAVAILABLE_STATUS = 410;
4
+ export function releaseUnavailableHeaders() {
5
+ return Object.freeze({
6
+ [HTTP_ROUTE_RELEASE_UNAVAILABLE]: '1',
7
+ 'cache-control': 'no-store',
8
+ });
9
+ }
10
+ export function decodeReleaseUnavailable(status, headers) {
11
+ const encoded = header(headers, HTTP_ROUTE_RELEASE_UNAVAILABLE);
12
+ if (encoded === undefined)
13
+ return undefined;
14
+ if (status !== HTTP_ROUTE_RELEASE_UNAVAILABLE_STATUS || encoded !== '1') {
15
+ fail('NATIVE_ROUTE_ROUTING_INVALID', `${HTTP_ROUTE_RELEASE_UNAVAILABLE} is reserved for status ${HTTP_ROUTE_RELEASE_UNAVAILABLE_STATUS} with value 1.`);
16
+ }
17
+ return Object.freeze({ kind: 'release-unavailable' });
18
+ }
19
+ function header(input, name) {
20
+ if (input instanceof Headers)
21
+ return input.get(name) ?? undefined;
22
+ let found;
23
+ for (const [candidate, value] of Object.entries(input ?? {})) {
24
+ if (candidate.toLowerCase() !== name || value === undefined)
25
+ continue;
26
+ if (found !== undefined || (Array.isArray(value) && value.length !== 1)) {
27
+ fail('NATIVE_ROUTE_ROUTING_INVALID', `Header ${name} must occur at most once.`);
28
+ }
29
+ found = typeof value === 'string' ? value : value[0];
30
+ }
31
+ return found;
32
+ }
@@ -24,4 +24,3 @@ export interface HttpRequest {
24
24
  export declare function bodyText(body: HttpRequest['body']): string;
25
25
  export declare function parseJsonObject(body: HttpRequest['body']): Record<string, Value>;
26
26
  export declare function normalizeHeaders(input: HttpRequest['headers']): Record<string, string>;
27
- //# sourceMappingURL=request.d.ts.map
@@ -4,7 +4,9 @@ export function bodyText(body) {
4
4
  if (body === undefined)
5
5
  return '';
6
6
  try {
7
- return typeof body === 'string' ? body : new TextDecoder('utf-8', { fatal: true }).decode(body);
7
+ return typeof body === 'string'
8
+ ? body
9
+ : new TextDecoder('utf-8', { fatal: true, ignoreBOM: false }).decode(body);
8
10
  }
9
11
  catch (cause) {
10
12
  if (cause instanceof TypeError) {
@@ -49,4 +51,3 @@ export function normalizeHeaders(input) {
49
51
  }
50
52
  return output;
51
53
  }
52
- //# sourceMappingURL=request.js.map
@@ -1,4 +1,3 @@
1
- import type { Publication } from '../publication/index.js';
2
- import type { CompiledRoute } from './route.js';
3
- export declare function rejectReserved(publication: Publication, entries: readonly CompiledRoute[]): void;
4
- //# sourceMappingURL=reservation.d.ts.map
1
+ import type { Publication } from '../publication/publication.js';
2
+ import type { Route } from './table.js';
3
+ export declare function rejectReserved(publication: Publication, entries: readonly Route[]): void;
@@ -1,5 +1,5 @@
1
1
  import * as issuer from '../issuer/index.js';
2
- import { PATH as PUBLICATION_PATH } from '../publication/index.js';
2
+ import { PATH as PUBLICATION_PATH } from '../publication/publication.js';
3
3
  import { fail } from './error.js';
4
4
  import { templateUrl, templatesOverlap } from './template.js';
5
5
  const STATIC_RESERVED_PATHS = new Set([PUBLICATION_PATH]);
@@ -15,10 +15,10 @@ export function rejectReserved(publication, entries) {
15
15
  ]),
16
16
  ];
17
17
  for (const entry of entries) {
18
- const claimed = [...reservedPaths].some((path) => templateClaimsPath(entry.route.href, path)) ||
19
- reservedUrls.some((reserved) => templatesOverlap(entry.route.href, reserved));
18
+ const claimed = [...reservedPaths].some((path) => templateClaimsPath(entry.href, path)) ||
19
+ reservedUrls.some((reserved) => templatesOverlap(entry.href, routeLocation(reserved)));
20
20
  if (claimed) {
21
- fail('NATIVE_ROUTE_RESERVED', `Route ${entry.name} claims reserved URL ${templateUrl(entry.route.href).href}.`);
21
+ fail('NATIVE_ROUTE_RESERVED', `Route ${entry.name} claims reserved URL ${templateUrl(entry.href).href}.`);
22
22
  }
23
23
  }
24
24
  }
@@ -27,8 +27,11 @@ function httpUrlForWebSocket(input) {
27
27
  url.protocol = url.protocol === 'wss:' ? 'https:' : 'http:';
28
28
  return url.toString();
29
29
  }
30
+ function routeLocation(input) {
31
+ const url = new URL(input);
32
+ return `${url.origin}${url.pathname}`;
33
+ }
30
34
  function templateClaimsPath(template, path) {
31
35
  const url = templateUrl(template);
32
36
  return templatesOverlap(template, `${url.origin}${path}`);
33
37
  }
34
- //# sourceMappingURL=reservation.js.map
@@ -20,4 +20,3 @@ export declare function decodeStale(status: number, headers: HttpRequest['header
20
20
  export declare function missHeaders(): Readonly<Record<string, string>>;
21
21
  export declare function decodeMiss(status: number, headers: HttpRequest['headers']): MissControl | undefined;
22
22
  export declare function encodeStrongEtag(input: Etag): string;
23
- //# sourceMappingURL=routing.d.ts.map
@@ -85,4 +85,3 @@ function routingHeader(input, name) {
85
85
  }
86
86
  return found;
87
87
  }
88
- //# sourceMappingURL=routing.js.map
@@ -1,7 +1,7 @@
1
+ import type { Domain } from '@astrale-os/kernel-dsl/v1';
1
2
  import type * as portable from '@astrale-os/kernel-dsl/value';
2
- import type { CompiledRoute } from './route.js';
3
- export declare function encodeScalar(entry: CompiledRoute, name: string, value: unknown): string;
4
- export declare function decodeScalar(entry: CompiledRoute, name: string, encoded: string): portable.Value;
3
+ import type { Route } from './table.js';
4
+ export declare function encodeScalar(entry: Route, name: string, value: unknown, domain: Domain): string;
5
+ export declare function decodeScalar(entry: Route, name: string, encoded: string, domain: Domain): portable.Value;
5
6
  export declare function scalar(value: unknown): string;
6
7
  export declare function asObject(value: unknown): Record<string, portable.Value>;
7
- //# sourceMappingURL=scalar.d.ts.map
@@ -1,23 +1,22 @@
1
- import { schema } from '@astrale-os/kernel-dsl/v1';
2
1
  import { invalidRequest } from './error.js';
3
2
  const JSON_NUMBER = /^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?$/u;
4
- export function encodeScalar(entry, name, value) {
3
+ export function encodeScalar(entry, name, value, domain) {
5
4
  const encoded = scalar(value);
6
- if (name === entry.route.receiver)
5
+ if (name === receiver(entry))
7
6
  return encoded;
8
- const decoded = decodeScalar(entry, name, encoded);
7
+ const decoded = decodeScalar(entry, name, encoded, domain);
9
8
  if (!sameScalar(decoded, value)) {
10
9
  invalidRequest(`Native route field ${name} does not round-trip through its declared value schema.`);
11
10
  }
12
11
  return encoded;
13
12
  }
14
- export function decodeScalar(entry, name, encoded) {
15
- if (name === entry.route.receiver)
13
+ export function decodeScalar(entry, name, encoded, domain) {
14
+ if (name === receiver(entry))
16
15
  return encoded;
17
- const input = asObject(entry.declaration.input);
18
- const contract = asObject(input.properties)[name];
19
- if (contract === undefined)
16
+ const meaning = domain.callable(entry.callable);
17
+ if (meaning?.inputFields?.includes(name) !== true) {
20
18
  invalidRequest(`Native route maps unknown input field ${name}.`);
19
+ }
21
20
  const candidates = [encoded];
22
21
  if (encoded === 'true')
23
22
  candidates.push(true);
@@ -30,7 +29,7 @@ export function decodeScalar(entry, name, encoded) {
30
29
  if (Number.isFinite(number))
31
30
  candidates.push(number);
32
31
  }
33
- const accepted = candidates.filter((candidate) => schema.values.validate(entry.owner, contract, candidate).length === 0);
32
+ const accepted = candidates.filter((candidate) => meaning.validateInputField(name, candidate).length === 0);
34
33
  if (accepted.length === 0) {
35
34
  invalidRequest(`Native route field ${name} is invalid under its declared value schema.`);
36
35
  }
@@ -39,6 +38,11 @@ export function decodeScalar(entry, name, encoded) {
39
38
  }
40
39
  return accepted[0];
41
40
  }
41
+ function receiver(entry) {
42
+ return entry.target.kind === 'method' && entry.target.dispatch === 'instance'
43
+ ? entry.target.receiver
44
+ : undefined;
45
+ }
42
46
  export function scalar(value) {
43
47
  if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
44
48
  return String(value);
@@ -55,4 +59,3 @@ function sameScalar(left, right) {
55
59
  return (Object.is(left, right) ||
56
60
  (typeof left === 'number' && typeof right === 'number' && left === 0 && right === 0));
57
61
  }
58
- //# sourceMappingURL=scalar.js.map
@@ -1,4 +1,3 @@
1
1
  import type { Key } from '@astrale-os/kernel-dsl/v1';
2
- import type { CompiledRoute } from './route.js';
3
- export declare function select(entries: readonly CompiledRoute[], callable: Key.Callable, route?: string): CompiledRoute | undefined;
4
- //# sourceMappingURL=select.d.ts.map
2
+ import type { Route, Table } from './table.js';
3
+ export declare function select(table: Table, callable: Key.Callable, route?: string): Route | undefined;
@@ -1,6 +1,6 @@
1
1
  import { RouteError } from './error.js';
2
- export function select(entries, callable, route) {
3
- const candidates = entries.filter((entry) => entry.callable === callable);
2
+ export function select(table, callable, route) {
3
+ const candidates = table.entries.filter((entry) => entry.callable === callable);
4
4
  if (route !== undefined) {
5
5
  const selected = candidates.find((entry) => entry.name === route);
6
6
  if (selected === undefined) {
@@ -14,4 +14,3 @@ export function select(entries, callable, route) {
14
14
  return candidates[0];
15
15
  return candidates.find((entry) => entry.default);
16
16
  }
17
- //# sourceMappingURL=select.js.map
@@ -12,4 +12,3 @@ export type StreamFrame = {
12
12
  };
13
13
  export declare function encodeStreamFrame(input: StreamFrame): string;
14
14
  export declare function decodeStreamFrame(event: string, data: string): StreamFrame;
15
- //# sourceMappingURL=stream.d.ts.map
@@ -48,4 +48,3 @@ export function decodeStreamFrame(event, data) {
48
48
  }
49
49
  return fail('NATIVE_ROUTE_RESPONSE_INVALID', `Unknown native stream event ${JSON.stringify(event)}.`);
50
50
  }
51
- //# sourceMappingURL=stream.js.map
@@ -0,0 +1,9 @@
1
+ import type { PublicationRef } from '../publication/index.js';
2
+ import type { PlanEntry } from './plan.js';
3
+ export interface Route extends Omit<PlanEntry, 'path'> {
4
+ readonly href: string;
5
+ }
6
+ export interface Table {
7
+ readonly publication: PublicationRef;
8
+ readonly entries: readonly Route[];
9
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,13 @@
1
+ export type RouteTarget = {
2
+ readonly kind: 'function';
3
+ } | {
4
+ readonly kind: 'method';
5
+ readonly dispatch: 'static';
6
+ } | {
7
+ readonly kind: 'method';
8
+ readonly dispatch: 'instance';
9
+ readonly receiver: string;
10
+ };
11
+ export declare function requiresReceiver(entry: {
12
+ readonly target: RouteTarget;
13
+ }): boolean;
@@ -0,0 +1,3 @@
1
+ export function requiresReceiver(entry) {
2
+ return entry.target.kind === 'method' && entry.target.dispatch === 'instance';
3
+ }
@@ -6,4 +6,3 @@ export declare function templatesOverlap(left: string, right: string): boolean;
6
6
  export declare function matchTemplate(template: string, input: string): Record<string, string> | undefined;
7
7
  export declare function encodeTemplate(value: unknown, catchall: string | undefined, host: boolean): string;
8
8
  export declare function authorityEnd(input: string): number;
9
- //# sourceMappingURL=template.d.ts.map
@@ -225,4 +225,3 @@ function segmentsOverlap(left, right) {
225
225
  function escapePattern(value) {
226
226
  return value.replace(/[.*+?^${}()|[\]\\]/gu, '\\$&');
227
227
  }
228
- //# sourceMappingURL=template.js.map
@@ -1,5 +1,5 @@
1
- import type { IssuerId } from '@astrale-os/kernel-core/auth';
2
- import type { Key, schema } from '@astrale-os/kernel-dsl/v1';
1
+ import type { IssuerId } from '@astrale-os/kernel-core/auth/issuer';
2
+ import type { Key, Revision } from '@astrale-os/kernel-dsl/v1';
3
3
  import type { Digest, Ref } from '../artifact/index.js';
4
4
  import type { PublicationRequirements } from '../publication/index.js';
5
5
  export interface ExecutableDependency {
@@ -24,7 +24,7 @@ export interface Export {
24
24
  }
25
25
  export interface Module {
26
26
  readonly origin: Key.Origin;
27
- readonly revision: schema.Revision;
27
+ readonly revision: Revision;
28
28
  readonly factory: Export;
29
29
  readonly configuration: Ref | null;
30
30
  }
@@ -45,4 +45,3 @@ export declare function acceptExecutable(input: unknown): Executable;
45
45
  export declare function executableDigest(input: Omit<Executable, 'digest'>): Digest;
46
46
  export declare function executableClosure(input: readonly ExecutableDependency[]): Digest;
47
47
  export type { Digest, Ref };
48
- //# sourceMappingURL=artifact.d.ts.map
@@ -1,5 +1,5 @@
1
- import { issuer } from '@astrale-os/kernel-core/auth';
2
- import { schema as dslSchema } from '@astrale-os/kernel-dsl/v1';
1
+ import { accept as acceptIssuer } from '@astrale-os/kernel-core/auth/issuer';
2
+ import { patterns } from '@astrale-os/kernel-dsl/v1/addressing';
3
3
  import * as portable from '@astrale-os/kernel-dsl/value';
4
4
  import { sha256 } from '@noble/hashes/sha2.js';
5
5
  import * as artifact from '../artifact/index.js';
@@ -13,7 +13,7 @@ export function accept(input) {
13
13
  }
14
14
  if (typeof root.issuer !== 'string')
15
15
  invalid('Domain Runtime artifact issuer is invalid.');
16
- const admittedIssuer = issuer.accept(root.issuer);
16
+ const admittedIssuer = acceptIssuer(root.issuer);
17
17
  const bundle = artifact.accept(root.bundle);
18
18
  const requirements = admitRequirements(root.requirements);
19
19
  if (!Array.isArray(root.modules) || root.modules.length === 0) {
@@ -51,10 +51,10 @@ export function executableClosure(input) {
51
51
  function module(input, index) {
52
52
  const value = record(input, `Domain Runtime Module ${index}`);
53
53
  exact(value, ['configuration', 'factory', 'origin', 'revision']);
54
- if (typeof value.origin !== 'string' || !dslSchema.patterns.origin.test(value.origin)) {
54
+ if (typeof value.origin !== 'string' || !patterns.origin.test(value.origin)) {
55
55
  invalid(`Domain Runtime Module ${index} origin is invalid.`);
56
56
  }
57
- if (typeof value.revision !== 'string' || !dslSchema.patterns.revision.test(value.revision)) {
57
+ if (typeof value.revision !== 'string' || !patterns.revision.test(value.revision)) {
58
58
  invalid(`Domain Runtime Module ${index} revision is invalid.`);
59
59
  }
60
60
  const factory = executableExport(value.factory, index);
@@ -174,4 +174,3 @@ function exact(input, expected) {
174
174
  function invalid(message) {
175
175
  throw new TypeError(message);
176
176
  }
177
- //# sourceMappingURL=artifact.js.map
@@ -1,2 +1 @@
1
1
  export { MEDIA_TYPE, accept, acceptExecutable, encode, executableClosure, executableDigest, runtimeDigest, type Digest, type Executable, type ExecutableDependency, type Export, type Module, type RuntimeArtifact, type Ref, } from './artifact.js';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1,2 +1 @@
1
1
  export { MEDIA_TYPE, accept, acceptExecutable, encode, executableClosure, executableDigest, runtimeDigest, } from './artifact.js';
2
- //# sourceMappingURL=index.js.map
@@ -1,2 +1 @@
1
1
  export * as installation from './installation/index.js';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1,2 +1 @@
1
1
  export * as installation from './installation/index.js';
2
- //# sourceMappingURL=index.js.map
@@ -0,0 +1,4 @@
1
+ import type { InstallResult } from './result.js';
2
+ export declare const MEDIA_TYPE: 'application/vnd.astrale.schema-installation.v1+msgpack';
3
+ export declare function encode(result: InstallResult): Promise<Uint8Array>;
4
+ export declare function decode(bytes: Uint8Array, maximumBytes: number): Promise<InstallResult>;