@astrale-os/kernel-protocol 0.5.0-beta.6 → 0.5.0-beta.61

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 (453) 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 +0 -1
  8. package/dist/codecs/index.js +0 -1
  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 -1
  12. package/dist/codecs/media-types.js +0 -1
  13. package/dist/codecs/msgpack.d.ts +0 -1
  14. package/dist/codecs/msgpack.js +4 -2
  15. package/dist/errors/codes.d.ts +0 -1
  16. package/dist/errors/codes.js +0 -1
  17. package/dist/errors/http-status.d.ts +0 -1
  18. package/dist/errors/http-status.js +0 -1
  19. package/dist/errors/index.d.ts +0 -1
  20. package/dist/errors/index.js +0 -1
  21. package/dist/errors/payload.d.ts +0 -1
  22. package/dist/errors/payload.js +3 -3
  23. package/dist/errors/protocol-error.d.ts +0 -1
  24. package/dist/errors/protocol-error.js +4 -3
  25. package/dist/errors/reason.d.ts +0 -1
  26. package/dist/errors/reason.js +0 -1
  27. package/dist/index.d.ts +0 -1
  28. package/dist/index.js +0 -1
  29. package/dist/invocation/admission.d.ts +0 -1
  30. package/dist/invocation/admission.js +2 -6
  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 +0 -1
  34. package/dist/invocation/binding-codecs.js +0 -1
  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 -1
  40. package/dist/invocation/delegate.js +0 -1
  41. package/dist/invocation/http/binary.d.ts +3 -2
  42. package/dist/invocation/http/binary.js +4 -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 +0 -1
  47. package/dist/invocation/http/request.d.ts +9 -0
  48. package/dist/invocation/http/request.js +61 -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 +2 -3
  58. package/dist/invocation/index.js +2 -3
  59. package/dist/invocation/miss.d.ts +0 -1
  60. package/dist/invocation/miss.js +0 -1
  61. package/dist/invocation/redirect.d.ts +0 -1
  62. package/dist/invocation/redirect.js +0 -1
  63. package/dist/invocation/request.d.ts +0 -1
  64. package/dist/invocation/request.js +0 -1
  65. package/dist/invocation/response.d.ts +0 -1
  66. package/dist/invocation/response.js +0 -1
  67. package/dist/invocation/routing.d.ts +0 -1
  68. package/dist/invocation/routing.js +0 -1
  69. package/dist/invocation/schema.d.ts +10 -4
  70. package/dist/invocation/schema.js +7 -7
  71. package/dist/invocation/service-reason.d.ts +16 -12
  72. package/dist/invocation/service-reason.js +15 -9
  73. package/dist/invocation/stale-route.d.ts +0 -1
  74. package/dist/invocation/stale-route.js +0 -1
  75. package/dist/invocation/stream.d.ts +0 -1
  76. package/dist/invocation/stream.js +0 -1
  77. package/dist/invocation/target.d.ts +2 -3
  78. package/dist/invocation/target.js +17 -3
  79. package/dist/invocation/trace.d.ts +0 -1
  80. package/dist/invocation/trace.js +0 -1
  81. package/dist/invocation/version.d.ts +0 -1
  82. package/dist/invocation/version.js +0 -1
  83. package/dist/invocation/websocket/binary.d.ts +0 -1
  84. package/dist/invocation/websocket/binary.js +2 -2
  85. package/dist/invocation/websocket/index.d.ts +0 -1
  86. package/dist/invocation/websocket/index.js +0 -1
  87. package/dist/invocation/websocket/subprotocol.d.ts +0 -1
  88. package/dist/invocation/websocket/subprotocol.js +0 -1
  89. package/dist/issuer/configuration.d.ts +0 -1
  90. package/dist/issuer/configuration.js +0 -1
  91. package/dist/issuer/error.d.ts +0 -1
  92. package/dist/issuer/error.js +0 -1
  93. package/dist/issuer/exchange.d.ts +0 -1
  94. package/dist/issuer/exchange.js +0 -1
  95. package/dist/issuer/hosted.d.ts +0 -1
  96. package/dist/issuer/hosted.js +0 -1
  97. package/dist/issuer/index.d.ts +0 -1
  98. package/dist/issuer/index.js +0 -1
  99. package/dist/issuer/key-set.d.ts +0 -1
  100. package/dist/issuer/key-set.js +0 -1
  101. package/dist/issuer/paths.d.ts +0 -1
  102. package/dist/issuer/paths.js +0 -1
  103. package/dist/issuer/url.d.ts +0 -1
  104. package/dist/issuer/url.js +0 -1
  105. package/dist/publication/bindings/callable.d.ts +0 -1
  106. package/dist/publication/bindings/callable.js +8 -6
  107. package/dist/publication/bindings/index.d.ts +1 -2
  108. package/dist/publication/bindings/index.js +0 -1
  109. package/dist/publication/bindings/invocation.d.ts +0 -1
  110. package/dist/publication/bindings/invocation.js +0 -1
  111. package/dist/publication/bindings/view.d.ts +9 -1
  112. package/dist/publication/bindings/view.js +122 -3
  113. package/dist/publication/bundle-admission.d.ts +0 -1
  114. package/dist/publication/bundle-admission.js +14 -14
  115. package/dist/publication/bundle-descriptor.d.ts +0 -1
  116. package/dist/publication/bundle-descriptor.js +0 -1
  117. package/dist/publication/bundle-evidence.d.ts +0 -1
  118. package/dist/publication/bundle-evidence.js +0 -1
  119. package/dist/publication/bundle.d.ts +4 -2
  120. package/dist/publication/bundle.js +9 -4
  121. package/dist/publication/content.d.ts +0 -1
  122. package/dist/publication/content.js +0 -1
  123. package/dist/publication/declaration.d.ts +0 -1
  124. package/dist/publication/declaration.js +0 -1
  125. package/dist/publication/delivery/attestation.d.ts +0 -1
  126. package/dist/publication/delivery/attestation.js +0 -1
  127. package/dist/publication/delivery/claims.d.ts +1 -2
  128. package/dist/publication/delivery/claims.js +0 -1
  129. package/dist/publication/delivery/delivery.d.ts +0 -1
  130. package/dist/publication/delivery/delivery.js +0 -1
  131. package/dist/publication/delivery/error.d.ts +0 -1
  132. package/dist/publication/delivery/error.js +0 -1
  133. package/dist/publication/delivery/index.d.ts +0 -1
  134. package/dist/publication/delivery/index.js +0 -1
  135. package/dist/publication/delivery/limits.d.ts +0 -1
  136. package/dist/publication/delivery/limits.js +0 -1
  137. package/dist/publication/delivery/request.d.ts +0 -1
  138. package/dist/publication/delivery/request.js +0 -1
  139. package/dist/publication/delivery-declaration.d.ts +0 -1
  140. package/dist/publication/delivery-declaration.js +0 -1
  141. package/dist/publication/delivery-endpoint.d.ts +0 -1
  142. package/dist/publication/delivery-endpoint.js +0 -1
  143. package/dist/publication/error.d.ts +0 -1
  144. package/dist/publication/error.js +0 -1
  145. package/dist/publication/etag.d.ts +0 -1
  146. package/dist/publication/etag.js +5 -2
  147. package/dist/publication/index.d.ts +4 -5
  148. package/dist/publication/index.js +2 -3
  149. package/dist/publication/legacy-requirements.d.ts +12 -0
  150. package/dist/publication/legacy-requirements.js +23 -0
  151. package/dist/publication/manifest.d.ts +2 -3
  152. package/dist/publication/manifest.js +10 -6
  153. package/dist/publication/publication.d.ts +4 -3
  154. package/dist/publication/publication.js +27 -12
  155. package/dist/publication/reference.d.ts +1 -2
  156. package/dist/publication/reference.js +0 -1
  157. package/dist/publication/requirements.d.ts +15 -8
  158. package/dist/publication/requirements.js +147 -45
  159. package/dist/publication/route.d.ts +0 -1
  160. package/dist/publication/route.js +0 -1
  161. package/dist/publication/schema.d.ts +1 -2
  162. package/dist/publication/schema.js +0 -1
  163. package/dist/routes/admission.d.ts +0 -1
  164. package/dist/routes/admission.js +5 -6
  165. package/dist/routes/binding.d.ts +3 -4
  166. package/dist/routes/binding.js +6 -8
  167. package/dist/routes/collision.d.ts +0 -1
  168. package/dist/routes/collision.js +0 -1
  169. package/dist/routes/compiler.d.ts +2 -3
  170. package/dist/routes/compiler.js +18 -12
  171. package/dist/routes/credential.d.ts +0 -1
  172. package/dist/routes/credential.js +0 -1
  173. package/dist/routes/decode.d.ts +2 -3
  174. package/dist/routes/decode.js +14 -25
  175. package/dist/routes/encode.d.ts +2 -3
  176. package/dist/routes/encode.js +18 -17
  177. package/dist/routes/error-response.d.ts +0 -1
  178. package/dist/routes/error-response.js +0 -1
  179. package/dist/routes/error.d.ts +0 -1
  180. package/dist/routes/error.js +0 -1
  181. package/dist/routes/evidence.d.ts +3 -4
  182. package/dist/routes/evidence.js +15 -14
  183. package/dist/routes/index.d.ts +0 -1
  184. package/dist/routes/index.js +0 -1
  185. package/dist/routes/mapping.d.ts +0 -1
  186. package/dist/routes/mapping.js +0 -1
  187. package/dist/routes/match.d.ts +0 -1
  188. package/dist/routes/match.js +0 -1
  189. package/dist/routes/placement.d.ts +0 -1
  190. package/dist/routes/placement.js +1 -2
  191. package/dist/routes/plan.d.ts +5 -5
  192. package/dist/routes/plan.js +0 -1
  193. package/dist/routes/release-unavailable.d.ts +0 -1
  194. package/dist/routes/release-unavailable.js +0 -1
  195. package/dist/routes/request.d.ts +0 -1
  196. package/dist/routes/request.js +3 -2
  197. package/dist/routes/reservation.d.ts +0 -1
  198. package/dist/routes/reservation.js +7 -2
  199. package/dist/routes/routing.d.ts +0 -1
  200. package/dist/routes/routing.js +0 -1
  201. package/dist/routes/scalar.d.ts +3 -4
  202. package/dist/routes/scalar.js +5 -6
  203. package/dist/routes/select.d.ts +0 -1
  204. package/dist/routes/select.js +0 -1
  205. package/dist/routes/stream.d.ts +0 -1
  206. package/dist/routes/stream.js +0 -1
  207. package/dist/routes/table.d.ts +0 -1
  208. package/dist/routes/table.js +0 -1
  209. package/dist/routes/target.d.ts +0 -1
  210. package/dist/routes/target.js +0 -1
  211. package/dist/routes/template.d.ts +0 -1
  212. package/dist/routes/template.js +0 -1
  213. package/dist/runtime/artifact.d.ts +6 -5
  214. package/dist/runtime/artifact.js +22 -10
  215. package/dist/runtime/index.d.ts +1 -2
  216. package/dist/runtime/index.js +1 -2
  217. package/dist/schema/index.d.ts +0 -1
  218. package/dist/schema/index.js +0 -1
  219. package/dist/schema/installation/codec.d.ts +4 -0
  220. package/dist/schema/installation/codec.js +71 -0
  221. package/dist/schema/installation/index.d.ts +2 -1
  222. package/dist/schema/installation/index.js +1 -1
  223. package/dist/schema/installation/introspection/codec.d.ts +5 -3
  224. package/dist/schema/installation/introspection/codec.js +184 -192
  225. package/dist/schema/installation/introspection/index.d.ts +2 -3
  226. package/dist/schema/installation/introspection/index.js +1 -2
  227. package/dist/schema/installation/introspection/result.d.ts +36 -23
  228. package/dist/schema/installation/introspection/result.js +0 -1
  229. package/dist/schema/installation/result.d.ts +9 -0
  230. package/dist/schema/installation/result.js +1 -0
  231. package/package.json +27 -13
  232. package/dist/artifact/index.d.ts.map +0 -1
  233. package/dist/artifact/index.js.map +0 -1
  234. package/dist/artifact/ref.d.ts.map +0 -1
  235. package/dist/artifact/ref.js.map +0 -1
  236. package/dist/codecs/codec.d.ts.map +0 -1
  237. package/dist/codecs/codec.js.map +0 -1
  238. package/dist/codecs/index.d.ts.map +0 -1
  239. package/dist/codecs/index.js.map +0 -1
  240. package/dist/codecs/json.d.ts.map +0 -1
  241. package/dist/codecs/json.js.map +0 -1
  242. package/dist/codecs/media-types.d.ts.map +0 -1
  243. package/dist/codecs/media-types.js.map +0 -1
  244. package/dist/codecs/msgpack.d.ts.map +0 -1
  245. package/dist/codecs/msgpack.js.map +0 -1
  246. package/dist/errors/codes.d.ts.map +0 -1
  247. package/dist/errors/codes.js.map +0 -1
  248. package/dist/errors/http-status.d.ts.map +0 -1
  249. package/dist/errors/http-status.js.map +0 -1
  250. package/dist/errors/index.d.ts.map +0 -1
  251. package/dist/errors/index.js.map +0 -1
  252. package/dist/errors/payload.d.ts.map +0 -1
  253. package/dist/errors/payload.js.map +0 -1
  254. package/dist/errors/protocol-error.d.ts.map +0 -1
  255. package/dist/errors/protocol-error.js.map +0 -1
  256. package/dist/errors/reason.d.ts.map +0 -1
  257. package/dist/errors/reason.js.map +0 -1
  258. package/dist/index.d.ts.map +0 -1
  259. package/dist/index.js.map +0 -1
  260. package/dist/invocation/admission.d.ts.map +0 -1
  261. package/dist/invocation/admission.js.map +0 -1
  262. package/dist/invocation/binary.d.ts.map +0 -1
  263. package/dist/invocation/binary.js.map +0 -1
  264. package/dist/invocation/binding-codecs.d.ts.map +0 -1
  265. package/dist/invocation/binding-codecs.js.map +0 -1
  266. package/dist/invocation/cancellation.d.ts.map +0 -1
  267. package/dist/invocation/cancellation.js.map +0 -1
  268. package/dist/invocation/correlation.d.ts.map +0 -1
  269. package/dist/invocation/correlation.js.map +0 -1
  270. package/dist/invocation/delegate.d.ts.map +0 -1
  271. package/dist/invocation/delegate.js.map +0 -1
  272. package/dist/invocation/http/binary.d.ts.map +0 -1
  273. package/dist/invocation/http/binary.js.map +0 -1
  274. package/dist/invocation/http/index.d.ts.map +0 -1
  275. package/dist/invocation/http/index.js.map +0 -1
  276. package/dist/invocation/http/negotiation.d.ts.map +0 -1
  277. package/dist/invocation/http/negotiation.js.map +0 -1
  278. package/dist/invocation/http/stream.d.ts.map +0 -1
  279. package/dist/invocation/http/stream.js.map +0 -1
  280. package/dist/invocation/http/trace.d.ts.map +0 -1
  281. package/dist/invocation/http/trace.js.map +0 -1
  282. package/dist/invocation/idempotency.d.ts.map +0 -1
  283. package/dist/invocation/idempotency.js.map +0 -1
  284. package/dist/invocation/identity.d.ts.map +0 -1
  285. package/dist/invocation/identity.js.map +0 -1
  286. package/dist/invocation/index.d.ts.map +0 -1
  287. package/dist/invocation/index.js.map +0 -1
  288. package/dist/invocation/miss.d.ts.map +0 -1
  289. package/dist/invocation/miss.js.map +0 -1
  290. package/dist/invocation/redirect.d.ts.map +0 -1
  291. package/dist/invocation/redirect.js.map +0 -1
  292. package/dist/invocation/request.d.ts.map +0 -1
  293. package/dist/invocation/request.js.map +0 -1
  294. package/dist/invocation/response.d.ts.map +0 -1
  295. package/dist/invocation/response.js.map +0 -1
  296. package/dist/invocation/routing.d.ts.map +0 -1
  297. package/dist/invocation/routing.js.map +0 -1
  298. package/dist/invocation/schema.d.ts.map +0 -1
  299. package/dist/invocation/schema.js.map +0 -1
  300. package/dist/invocation/service-reason.d.ts.map +0 -1
  301. package/dist/invocation/service-reason.js.map +0 -1
  302. package/dist/invocation/stale-route.d.ts.map +0 -1
  303. package/dist/invocation/stale-route.js.map +0 -1
  304. package/dist/invocation/stream.d.ts.map +0 -1
  305. package/dist/invocation/stream.js.map +0 -1
  306. package/dist/invocation/target.d.ts.map +0 -1
  307. package/dist/invocation/target.js.map +0 -1
  308. package/dist/invocation/trace.d.ts.map +0 -1
  309. package/dist/invocation/trace.js.map +0 -1
  310. package/dist/invocation/version.d.ts.map +0 -1
  311. package/dist/invocation/version.js.map +0 -1
  312. package/dist/invocation/websocket/binary.d.ts.map +0 -1
  313. package/dist/invocation/websocket/binary.js.map +0 -1
  314. package/dist/invocation/websocket/index.d.ts.map +0 -1
  315. package/dist/invocation/websocket/index.js.map +0 -1
  316. package/dist/invocation/websocket/subprotocol.d.ts.map +0 -1
  317. package/dist/invocation/websocket/subprotocol.js.map +0 -1
  318. package/dist/issuer/configuration.d.ts.map +0 -1
  319. package/dist/issuer/configuration.js.map +0 -1
  320. package/dist/issuer/error.d.ts.map +0 -1
  321. package/dist/issuer/error.js.map +0 -1
  322. package/dist/issuer/exchange.d.ts.map +0 -1
  323. package/dist/issuer/exchange.js.map +0 -1
  324. package/dist/issuer/hosted.d.ts.map +0 -1
  325. package/dist/issuer/hosted.js.map +0 -1
  326. package/dist/issuer/index.d.ts.map +0 -1
  327. package/dist/issuer/index.js.map +0 -1
  328. package/dist/issuer/key-set.d.ts.map +0 -1
  329. package/dist/issuer/key-set.js.map +0 -1
  330. package/dist/issuer/paths.d.ts.map +0 -1
  331. package/dist/issuer/paths.js.map +0 -1
  332. package/dist/issuer/url.d.ts.map +0 -1
  333. package/dist/issuer/url.js.map +0 -1
  334. package/dist/publication/bindings/callable.d.ts.map +0 -1
  335. package/dist/publication/bindings/callable.js.map +0 -1
  336. package/dist/publication/bindings/index.d.ts.map +0 -1
  337. package/dist/publication/bindings/index.js.map +0 -1
  338. package/dist/publication/bindings/invocation.d.ts.map +0 -1
  339. package/dist/publication/bindings/invocation.js.map +0 -1
  340. package/dist/publication/bindings/view.d.ts.map +0 -1
  341. package/dist/publication/bindings/view.js.map +0 -1
  342. package/dist/publication/bundle-admission.d.ts.map +0 -1
  343. package/dist/publication/bundle-admission.js.map +0 -1
  344. package/dist/publication/bundle-descriptor.d.ts.map +0 -1
  345. package/dist/publication/bundle-descriptor.js.map +0 -1
  346. package/dist/publication/bundle-evidence.d.ts.map +0 -1
  347. package/dist/publication/bundle-evidence.js.map +0 -1
  348. package/dist/publication/bundle.d.ts.map +0 -1
  349. package/dist/publication/bundle.js.map +0 -1
  350. package/dist/publication/content.d.ts.map +0 -1
  351. package/dist/publication/content.js.map +0 -1
  352. package/dist/publication/declaration.d.ts.map +0 -1
  353. package/dist/publication/declaration.js.map +0 -1
  354. package/dist/publication/delivery/attestation.d.ts.map +0 -1
  355. package/dist/publication/delivery/attestation.js.map +0 -1
  356. package/dist/publication/delivery/claims.d.ts.map +0 -1
  357. package/dist/publication/delivery/claims.js.map +0 -1
  358. package/dist/publication/delivery/delivery.d.ts.map +0 -1
  359. package/dist/publication/delivery/delivery.js.map +0 -1
  360. package/dist/publication/delivery/error.d.ts.map +0 -1
  361. package/dist/publication/delivery/error.js.map +0 -1
  362. package/dist/publication/delivery/index.d.ts.map +0 -1
  363. package/dist/publication/delivery/index.js.map +0 -1
  364. package/dist/publication/delivery/limits.d.ts.map +0 -1
  365. package/dist/publication/delivery/limits.js.map +0 -1
  366. package/dist/publication/delivery/request.d.ts.map +0 -1
  367. package/dist/publication/delivery/request.js.map +0 -1
  368. package/dist/publication/delivery-declaration.d.ts.map +0 -1
  369. package/dist/publication/delivery-declaration.js.map +0 -1
  370. package/dist/publication/delivery-endpoint.d.ts.map +0 -1
  371. package/dist/publication/delivery-endpoint.js.map +0 -1
  372. package/dist/publication/error.d.ts.map +0 -1
  373. package/dist/publication/error.js.map +0 -1
  374. package/dist/publication/etag.d.ts.map +0 -1
  375. package/dist/publication/etag.js.map +0 -1
  376. package/dist/publication/index.d.ts.map +0 -1
  377. package/dist/publication/index.js.map +0 -1
  378. package/dist/publication/manifest.d.ts.map +0 -1
  379. package/dist/publication/manifest.js.map +0 -1
  380. package/dist/publication/publication.d.ts.map +0 -1
  381. package/dist/publication/publication.js.map +0 -1
  382. package/dist/publication/reference.d.ts.map +0 -1
  383. package/dist/publication/reference.js.map +0 -1
  384. package/dist/publication/requirements.d.ts.map +0 -1
  385. package/dist/publication/requirements.js.map +0 -1
  386. package/dist/publication/route.d.ts.map +0 -1
  387. package/dist/publication/route.js.map +0 -1
  388. package/dist/publication/schema.d.ts.map +0 -1
  389. package/dist/publication/schema.js.map +0 -1
  390. package/dist/routes/admission.d.ts.map +0 -1
  391. package/dist/routes/admission.js.map +0 -1
  392. package/dist/routes/binding.d.ts.map +0 -1
  393. package/dist/routes/binding.js.map +0 -1
  394. package/dist/routes/collision.d.ts.map +0 -1
  395. package/dist/routes/collision.js.map +0 -1
  396. package/dist/routes/compiler.d.ts.map +0 -1
  397. package/dist/routes/compiler.js.map +0 -1
  398. package/dist/routes/credential.d.ts.map +0 -1
  399. package/dist/routes/credential.js.map +0 -1
  400. package/dist/routes/decode.d.ts.map +0 -1
  401. package/dist/routes/decode.js.map +0 -1
  402. package/dist/routes/encode.d.ts.map +0 -1
  403. package/dist/routes/encode.js.map +0 -1
  404. package/dist/routes/error-response.d.ts.map +0 -1
  405. package/dist/routes/error-response.js.map +0 -1
  406. package/dist/routes/error.d.ts.map +0 -1
  407. package/dist/routes/error.js.map +0 -1
  408. package/dist/routes/evidence.d.ts.map +0 -1
  409. package/dist/routes/evidence.js.map +0 -1
  410. package/dist/routes/index.d.ts.map +0 -1
  411. package/dist/routes/index.js.map +0 -1
  412. package/dist/routes/mapping.d.ts.map +0 -1
  413. package/dist/routes/mapping.js.map +0 -1
  414. package/dist/routes/match.d.ts.map +0 -1
  415. package/dist/routes/match.js.map +0 -1
  416. package/dist/routes/placement.d.ts.map +0 -1
  417. package/dist/routes/placement.js.map +0 -1
  418. package/dist/routes/plan.d.ts.map +0 -1
  419. package/dist/routes/plan.js.map +0 -1
  420. package/dist/routes/release-unavailable.d.ts.map +0 -1
  421. package/dist/routes/release-unavailable.js.map +0 -1
  422. package/dist/routes/request.d.ts.map +0 -1
  423. package/dist/routes/request.js.map +0 -1
  424. package/dist/routes/reservation.d.ts.map +0 -1
  425. package/dist/routes/reservation.js.map +0 -1
  426. package/dist/routes/routing.d.ts.map +0 -1
  427. package/dist/routes/routing.js.map +0 -1
  428. package/dist/routes/scalar.d.ts.map +0 -1
  429. package/dist/routes/scalar.js.map +0 -1
  430. package/dist/routes/select.d.ts.map +0 -1
  431. package/dist/routes/select.js.map +0 -1
  432. package/dist/routes/stream.d.ts.map +0 -1
  433. package/dist/routes/stream.js.map +0 -1
  434. package/dist/routes/table.d.ts.map +0 -1
  435. package/dist/routes/table.js.map +0 -1
  436. package/dist/routes/target.d.ts.map +0 -1
  437. package/dist/routes/target.js.map +0 -1
  438. package/dist/routes/template.d.ts.map +0 -1
  439. package/dist/routes/template.js.map +0 -1
  440. package/dist/runtime/artifact.d.ts.map +0 -1
  441. package/dist/runtime/artifact.js.map +0 -1
  442. package/dist/runtime/index.d.ts.map +0 -1
  443. package/dist/runtime/index.js.map +0 -1
  444. package/dist/schema/index.d.ts.map +0 -1
  445. package/dist/schema/index.js.map +0 -1
  446. package/dist/schema/installation/index.d.ts.map +0 -1
  447. package/dist/schema/installation/index.js.map +0 -1
  448. package/dist/schema/installation/introspection/codec.d.ts.map +0 -1
  449. package/dist/schema/installation/introspection/codec.js.map +0 -1
  450. package/dist/schema/installation/introspection/index.d.ts.map +0 -1
  451. package/dist/schema/installation/introspection/index.js.map +0 -1
  452. package/dist/schema/installation/introspection/result.d.ts.map +0 -1
  453. package/dist/schema/installation/introspection/result.js.map +0 -1
@@ -1,9 +1,18 @@
1
+ import { acceptViewHostRequirements, } from '@astrale-os/kernel-core/schema/kernel/syscalls/view-resolution';
1
2
  import { Key } from '@astrale-os/kernel-dsl/v1/addressing';
2
3
  import { absoluteHttpUrl, exact, record } from '../content.js';
3
4
  import { fail } from '../error.js';
5
+ const TOKEN = /^[a-z][a-z0-9-]*$/u;
4
6
  export function admitViewBinding(input, origin) {
7
+ return readViewBinding(input, origin, false);
8
+ }
9
+ /** Authoring-only normalization used before a Publication receives its canonical ETag. */
10
+ export function canonicalizeViewBinding(input, origin) {
11
+ return readViewBinding(input, origin, true);
12
+ }
13
+ function readViewBinding(input, origin, canonicalize) {
5
14
  const value = record(input, 'PUBLICATION_VIEW_INVALID', 'Published View binding is invalid.');
6
- exact(value, ['view', 'href', 'handshake'], 'PUBLICATION_VIEW_INVALID');
15
+ exact(value, ['view', 'href', 'handshake', 'iframe', 'host'], 'PUBLICATION_VIEW_INVALID');
7
16
  let view;
8
17
  try {
9
18
  view = Key(String(value.view));
@@ -14,16 +23,126 @@ export function admitViewBinding(input, origin) {
14
23
  }
15
24
  throw cause;
16
25
  }
17
- if (Key.origin(view) !== origin || !Key.ref(view).startsWith('view.')) {
26
+ if (Key.origin(view) !== origin || !view.slice(view.indexOf(':') + 1).startsWith('view.')) {
18
27
  fail('PUBLICATION_VIEW_INVALID', 'View binding must name a root View.');
19
28
  }
20
29
  if (value.handshake !== 'shell' && value.handshake !== 'none') {
21
30
  fail('PUBLICATION_VIEW_INVALID', 'View handshake is invalid.');
22
31
  }
32
+ const iframe = admitIframeRequirements(dataValue(value, 'iframe'), value.handshake, canonicalize);
33
+ let host;
34
+ try {
35
+ host = acceptViewHostRequirements(dataValue(value, 'host'), value.handshake, canonicalize);
36
+ }
37
+ catch (cause) {
38
+ if (cause instanceof TypeError)
39
+ return fail('PUBLICATION_VIEW_INVALID', 'View host requirements are invalid.', cause);
40
+ throw cause;
41
+ }
23
42
  return Object.freeze({
24
43
  view,
25
44
  href: absoluteHttpUrl(value.href, true, 'PUBLICATION_VIEW_INVALID'),
26
45
  handshake: value.handshake,
46
+ ...(iframe === undefined ? {} : { iframe }),
47
+ ...(host === undefined ? {} : { host }),
48
+ });
49
+ }
50
+ function admitIframeRequirements(input, handshake, canonicalize) {
51
+ if (input === undefined)
52
+ return undefined;
53
+ const value = plainRecord(input);
54
+ exactOwnKeys(value, ['sandbox', 'allow']);
55
+ if (!canonicalize && (!Object.hasOwn(value, 'sandbox') || !Object.hasOwn(value, 'allow'))) {
56
+ invalid();
57
+ }
58
+ const sandbox = tokens(dataValue(value, 'sandbox'), canonicalize);
59
+ const allow = tokens(dataValue(value, 'allow'), canonicalize);
60
+ assertRelationships(sandbox);
61
+ const baselineSandbox = handshake === 'shell' ? ['allow-same-origin', 'allow-scripts'] : ['allow-scripts'];
62
+ const baselineAllow = handshake === 'shell' ? ['clipboard-write'] : [];
63
+ if (!canonicalize &&
64
+ (sandbox.some((token) => baselineSandbox.includes(token)) ||
65
+ allow.some((feature) => baselineAllow.includes(feature)))) {
66
+ invalid();
67
+ }
68
+ const canonicalSandbox = canonicalize
69
+ ? sandbox.filter((token) => !baselineSandbox.includes(token))
70
+ : sandbox;
71
+ const canonicalAllow = canonicalize
72
+ ? allow.filter((feature) => !baselineAllow.includes(feature))
73
+ : allow;
74
+ if (!canonicalize && canonicalSandbox.length === 0 && canonicalAllow.length === 0)
75
+ invalid();
76
+ if (canonicalSandbox.length === 0 && canonicalAllow.length === 0)
77
+ return undefined;
78
+ return Object.freeze({
79
+ sandbox: Object.freeze(canonicalSandbox),
80
+ allow: Object.freeze(canonicalAllow),
27
81
  });
28
82
  }
29
- //# sourceMappingURL=view.js.map
83
+ function plainRecord(input) {
84
+ if (input === null || typeof input !== 'object' || Array.isArray(input))
85
+ invalid();
86
+ const prototype = Object.getPrototypeOf(input);
87
+ if (prototype !== Object.prototype && prototype !== null)
88
+ invalid();
89
+ return input;
90
+ }
91
+ function exactOwnKeys(input, allowed) {
92
+ const keys = new Set(allowed);
93
+ if (Reflect.ownKeys(input).some((key) => typeof key !== 'string' || !keys.has(key)))
94
+ invalid();
95
+ }
96
+ function dataValue(input, key) {
97
+ const descriptor = Object.getOwnPropertyDescriptor(input, key);
98
+ if (descriptor === undefined)
99
+ return undefined;
100
+ if (!('value' in descriptor))
101
+ invalid();
102
+ return descriptor.value;
103
+ }
104
+ function tokens(input, canonicalize) {
105
+ if (input === undefined)
106
+ return [];
107
+ if (!Array.isArray(input))
108
+ invalid();
109
+ const descriptors = Object.getOwnPropertyDescriptors(input);
110
+ const values = [];
111
+ for (let index = 0; index < input.length; index += 1) {
112
+ const descriptor = descriptors[String(index)];
113
+ if (descriptor === undefined || !('value' in descriptor))
114
+ invalid();
115
+ if (typeof descriptor.value !== 'string' || !TOKEN.test(descriptor.value))
116
+ invalid();
117
+ values.push(descriptor.value);
118
+ }
119
+ for (const key of Reflect.ownKeys(descriptors)) {
120
+ if (key === 'length')
121
+ continue;
122
+ if (typeof key !== 'string' || !/^(0|[1-9][0-9]*)$/u.test(key) || Number(key) >= input.length) {
123
+ invalid();
124
+ }
125
+ }
126
+ if (canonicalize)
127
+ return [...new Set(values)].sort();
128
+ for (let index = 1; index < values.length; index += 1) {
129
+ if (values[index - 1] >= values[index])
130
+ invalid();
131
+ }
132
+ return values;
133
+ }
134
+ function assertRelationships(sandbox) {
135
+ const tokens = new Set(sandbox);
136
+ if (tokens.has('allow-popups-to-escape-sandbox') && !tokens.has('allow-popups'))
137
+ invalid();
138
+ if (tokens.has('allow-top-navigation') && tokens.has('allow-top-navigation-by-user-activation')) {
139
+ invalid();
140
+ }
141
+ if (tokens.has('allow-top-navigation-to-custom-protocols') &&
142
+ (tokens.has('allow-top-navigation') || tokens.has('allow-popups'))) {
143
+ invalid();
144
+ }
145
+ }
146
+ function invalid() {
147
+ return fail('PUBLICATION_VIEW_INVALID', 'View iframe requirements are invalid.');
148
+ }
@@ -2,4 +2,3 @@ import * as dslBundle from '@astrale-os/kernel-dsl/v1/bundle';
2
2
  import type { Publication } from './publication.js';
3
3
  export declare function acceptBundle(input: Publication, artifact: unknown): dslBundle.Bundle;
4
4
  export declare function decodeBundle(input: Publication, bytes: Uint8Array): dslBundle.Bundle;
5
- //# sourceMappingURL=bundle-admission.d.ts.map
@@ -1,6 +1,7 @@
1
- import { Key, Ref } from '@astrale-os/kernel-dsl/v1/addressing';
1
+ import { Key, MethodKey } from '@astrale-os/kernel-dsl/v1/addressing';
2
2
  import * as dslBundle from '@astrale-os/kernel-dsl/v1/bundle';
3
- import { revisionOfDomainSchema } from '@astrale-os/kernel-dsl/v1/schema/revision';
3
+ import { isMethodExecutable } from '@astrale-os/kernel-dsl/v1/language';
4
+ import { revision } from '@astrale-os/kernel-dsl/v1/schema/revision';
4
5
  import { acceptBundleValue, decodeBundleValue, verifyBundleBytes } from './bundle.js';
5
6
  import { fail } from './error.js';
6
7
  import { validateRequirements } from './requirements.js';
@@ -17,8 +18,7 @@ export function decodeBundle(input, bytes) {
17
18
  }
18
19
  function validateInventory(publication, bundle) {
19
20
  const root = bundle.root;
20
- if (root.origin !== publication.origin ||
21
- revisionOfDomainSchema(root) !== publication.schema.revision) {
21
+ if (root.origin !== publication.origin || revision(root) !== publication.schema.revision) {
22
22
  fail('PUBLICATION_INVALID', 'Bundle root does not match the Publication schema.');
23
23
  }
24
24
  validateRequirements(root, bundle.closure, publication.requirements);
@@ -28,13 +28,15 @@ function validateInventory(publication, bundle) {
28
28
  [...callables].some((key) => !publishedCallables.has(key))) {
29
29
  fail('PUBLICATION_BINDING_INVALID', 'Callable bindings must exhaust the root Domain.');
30
30
  }
31
- const views = new Set(Object.keys(root.views).map((name) => Key.of(root.origin, Ref.definition('view', name))));
31
+ const views = new Set(Object.keys(root.views).map((name) => Key.of({ origin: root.origin, kind: 'view', name })));
32
32
  const publishedViews = new Set(publication.bindings.views.map(({ view }) => view));
33
33
  if (publishedViews.size !== views.size || [...views].some((key) => !publishedViews.has(key))) {
34
34
  fail('PUBLICATION_VIEW_INVALID', 'View bindings must exhaust the root Domain.');
35
35
  }
36
36
  if (publication.manifest?.entrypoint !== undefined &&
37
- root.views[Ref.member(publication.manifest.entrypoint)] === undefined) {
37
+ (publication.manifest.entrypoint.origin !== root.origin ||
38
+ publication.manifest.entrypoint.kind !== 'view' ||
39
+ root.views[publication.manifest.entrypoint.name] === undefined)) {
38
40
  fail('PUBLICATION_INVALID', 'Manifest entrypoint does not exist in the root schema.');
39
41
  }
40
42
  for (const route of publication.routes) {
@@ -46,21 +48,19 @@ function validateInventory(publication, bundle) {
46
48
  function concreteCallables(root) {
47
49
  const result = new Set();
48
50
  for (const name of Object.keys(root.functions)) {
49
- result.add(Key.of(root.origin, Ref.definition('function', name)));
51
+ result.add(Key.of({ origin: root.origin, kind: 'function', name }));
50
52
  }
51
- addConcreteMethods(result, root.origin, 'class', root.classes);
52
- addConcreteMethods(result, root.origin, 'interface', root.interfaces);
53
+ addClassMethods(result, root.origin, root.classes);
53
54
  return result;
54
55
  }
55
- function addConcreteMethods(result, origin, kind, definitions) {
56
+ function addClassMethods(result, origin, definitions) {
56
57
  for (const [owner, declaration] of Object.entries(definitions)) {
57
- if (declaration.family !== 'node')
58
+ if (declaration.kind !== 'node')
58
59
  continue;
59
60
  for (const [name, method] of Object.entries(declaration.methods)) {
60
- if (method.inheritance === 'abstract')
61
+ if (!isMethodExecutable(declaration, method))
61
62
  continue;
62
- result.add(Key.of(origin, Ref.method(Ref.definition(kind, owner), name)));
63
+ result.add(MethodKey.of({ origin, kind: 'class', name: owner }, name));
63
64
  }
64
65
  }
65
66
  }
66
- //# sourceMappingURL=bundle-admission.js.map
@@ -7,4 +7,3 @@ export interface BundleDescriptor {
7
7
  };
8
8
  }
9
9
  export declare function admitBundleDescriptor(input: unknown): BundleDescriptor;
10
- //# sourceMappingURL=bundle-descriptor.d.ts.map
@@ -17,4 +17,3 @@ export function admitBundleDescriptor(input) {
17
17
  ref: Object.freeze({ ...ref, mediaType: BUNDLE_MEDIA_TYPE }),
18
18
  });
19
19
  }
20
- //# sourceMappingURL=bundle-descriptor.js.map
@@ -1,4 +1,3 @@
1
1
  import type { Publication } from './publication.js';
2
2
  /** Verify exact artifact bytes without decoding an authored Schema Bundle. */
3
3
  export declare function verifyBundleBytes(publication: Publication, bytes: Uint8Array): void;
4
- //# sourceMappingURL=bundle-evidence.d.ts.map
@@ -11,4 +11,3 @@ export function verifyBundleBytes(publication, bytes) {
11
11
  fail('PUBLICATION_INVALID', 'Bundle artifact does not match its descriptor.');
12
12
  }
13
13
  }
14
- //# sourceMappingURL=bundle-evidence.js.map
@@ -1,10 +1,12 @@
1
- import { bundle } from '@astrale-os/kernel-dsl/v1';
1
+ import * as bundle from '@astrale-os/kernel-dsl/v1/bundle/transport';
2
2
  import type { BundleDescriptor } from './bundle-descriptor.js';
3
3
  import type { Publication } from './publication.js';
4
+ import * as artifact from '../artifact/index.js';
4
5
  import { verifyBundleBytes } from './bundle-evidence.js';
6
+ /** Resolve immutable bundle bytes beneath the exact serving issuer. */
7
+ export declare function bundleUrl(issuer: string, ref: artifact.Ref): string;
5
8
  export declare function describeBundle(input: bundle.Bundle, href: string): BundleDescriptor;
6
9
  export declare function acceptBundleValue(input: unknown): bundle.Bundle;
7
10
  export declare function decodeBundleValue(publication: Publication, bytes: Uint8Array): bundle.Bundle;
8
11
  export { verifyBundleBytes };
9
12
  export { admitBundleDescriptor, BUNDLE_MEDIA_TYPE, type BundleDescriptor, } from './bundle-descriptor.js';
10
- //# sourceMappingURL=bundle.d.ts.map
@@ -1,9 +1,15 @@
1
- import { bundle, schema } from '@astrale-os/kernel-dsl/v1';
1
+ import * as bundle from '@astrale-os/kernel-dsl/v1/bundle/transport';
2
2
  import * as artifact from '../artifact/index.js';
3
3
  import { BUNDLE_MEDIA_TYPE } from './bundle-descriptor.js';
4
4
  import { verifyBundleBytes } from './bundle-evidence.js';
5
5
  import { absoluteHttpUrl } from './content.js';
6
6
  import { fail } from './error.js';
7
+ import { url as publicationUrl } from './publication.js';
8
+ /** Resolve immutable bundle bytes beneath the exact serving issuer. */
9
+ export function bundleUrl(issuer, ref) {
10
+ const digest = ref.digest.slice('sha256:'.length);
11
+ return `${publicationUrl(issuer).slice(0, -'domain.json'.length)}bundles/sha256/${digest}.json`;
12
+ }
7
13
  export function describeBundle(input, href) {
8
14
  const bytes = bundle.encode(input);
9
15
  return Object.freeze({
@@ -19,7 +25,7 @@ export function acceptBundleValue(input) {
19
25
  return bundle.accept(input);
20
26
  }
21
27
  catch (cause) {
22
- if (cause instanceof schema.Error) {
28
+ if (cause instanceof bundle.Error) {
23
29
  return fail('PUBLICATION_INVALID', 'Publication bundle is invalid.', cause);
24
30
  }
25
31
  throw cause;
@@ -34,7 +40,7 @@ export function decodeBundleValue(publication, bytes) {
34
40
  return bundle.decode(bytes);
35
41
  }
36
42
  catch (cause) {
37
- if (cause instanceof schema.Error) {
43
+ if (cause instanceof bundle.Error) {
38
44
  return fail('PUBLICATION_INVALID', 'Bundle artifact cannot be decoded.', cause);
39
45
  }
40
46
  throw cause;
@@ -42,4 +48,3 @@ export function decodeBundleValue(publication, bytes) {
42
48
  }
43
49
  export { verifyBundleBytes };
44
50
  export { admitBundleDescriptor, BUNDLE_MEDIA_TYPE, } from './bundle-descriptor.js';
45
- //# sourceMappingURL=bundle.js.map
@@ -8,4 +8,3 @@ export declare function unique(values: readonly string[], code: PublicationError
8
8
  export declare function deepFreeze<T>(value: T): T;
9
9
  export declare function absoluteHttpUrl(input: unknown, allowSearch: boolean, code: PublicationErrorCode, allowTemplate?: boolean): string;
10
10
  export declare function absoluteUrl(input: unknown, protocols: readonly string[], allowSearch: boolean, code: PublicationErrorCode, allowTemplate?: boolean): string;
11
- //# sourceMappingURL=content.d.ts.map
@@ -53,4 +53,3 @@ export function absoluteUrl(input, protocols, allowSearch, code, allowTemplate =
53
53
  }
54
54
  return input;
55
55
  }
56
- //# sourceMappingURL=content.js.map
@@ -9,4 +9,3 @@ export interface Declaration {
9
9
  readonly routes: readonly HttpRouteDeclaration[];
10
10
  readonly delivery?: DeliveryDeclaration;
11
11
  }
12
- //# sourceMappingURL=declaration.d.ts.map
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=declaration.js.map
@@ -4,4 +4,3 @@ export type Attestation = string & {
4
4
  };
5
5
  export declare function acceptAttestation(input: unknown): Attestation;
6
6
  export {};
7
- //# sourceMappingURL=attestation.d.ts.map
@@ -8,4 +8,3 @@ export function acceptAttestation(input) {
8
8
  }
9
9
  return input;
10
10
  }
11
- //# sourceMappingURL=attestation.js.map
@@ -1,5 +1,5 @@
1
1
  import type { Subject } from '@astrale-os/kernel-core/auth/identity';
2
- import type { Revision } from '@astrale-os/kernel-dsl/v1/schema';
2
+ import type { Revision } from '@astrale-os/kernel-dsl/v1/addressing';
3
3
  import { type IssuerId } from '@astrale-os/kernel-core/auth/issuer';
4
4
  import type { Etag } from '../etag.js';
5
5
  import { PURPOSE } from './limits.js';
@@ -14,4 +14,3 @@ export interface Claims {
14
14
  readonly exp: number;
15
15
  }
16
16
  export declare function acceptClaims(input: unknown): Claims;
17
- //# sourceMappingURL=claims.d.ts.map
@@ -59,4 +59,3 @@ function deepFreeze(value) {
59
59
  deepFreeze(nested);
60
60
  return Object.freeze(value);
61
61
  }
62
- //# sourceMappingURL=claims.js.map
@@ -7,4 +7,3 @@ export interface Delivery {
7
7
  readonly attestation: Attestation;
8
8
  }
9
9
  export declare function accept(input: unknown): Delivery;
10
- //# sourceMappingURL=delivery.d.ts.map
@@ -27,4 +27,3 @@ function deepFreeze(value) {
27
27
  deepFreeze(nested);
28
28
  return Object.freeze(value);
29
29
  }
30
- //# sourceMappingURL=delivery.js.map
@@ -5,4 +5,3 @@ export declare class DeliveryError extends Error {
5
5
  constructor(code: DeliveryErrorCode, message: string, options?: ErrorOptions);
6
6
  }
7
7
  export declare function fail(code: DeliveryErrorCode, message: string, cause?: unknown): never;
8
- //# sourceMappingURL=error.d.ts.map
@@ -9,4 +9,3 @@ export class DeliveryError extends Error {
9
9
  export function fail(code, message, cause) {
10
10
  throw new DeliveryError(code, message, cause === undefined ? undefined : { cause });
11
11
  }
12
- //# sourceMappingURL=error.js.map
@@ -4,4 +4,3 @@ export { DeliveryError as Error, type DeliveryErrorCode as ErrorCode } from './e
4
4
  export { accept, type Delivery } from './delivery.js';
5
5
  export { ATTESTATION_MAX_BYTES, NONCE_MAX_LENGTH, NONCE_MIN_LENGTH, PURPOSE } from './limits.js';
6
6
  export { acceptRequest, type Token, type Request } from './request.js';
7
- //# sourceMappingURL=index.d.ts.map
@@ -4,4 +4,3 @@ export { DeliveryError as Error } from './error.js';
4
4
  export { accept } from './delivery.js';
5
5
  export { ATTESTATION_MAX_BYTES, NONCE_MAX_LENGTH, NONCE_MIN_LENGTH, PURPOSE } from './limits.js';
6
6
  export { acceptRequest } from './request.js';
7
- //# sourceMappingURL=index.js.map
@@ -2,4 +2,3 @@ export declare const PURPOSE: 'astrale.domain.delivery.v1';
2
2
  export declare const NONCE_MIN_LENGTH = 16;
3
3
  export declare const NONCE_MAX_LENGTH = 256;
4
4
  export declare const ATTESTATION_MAX_BYTES = 16384;
5
- //# sourceMappingURL=limits.d.ts.map
@@ -2,4 +2,3 @@ export const PURPOSE = 'astrale.domain.delivery.v1';
2
2
  export const NONCE_MIN_LENGTH = 16;
3
3
  export const NONCE_MAX_LENGTH = 256;
4
4
  export const ATTESTATION_MAX_BYTES = 16_384;
5
- //# sourceMappingURL=limits.js.map
@@ -13,4 +13,3 @@ export interface Token {
13
13
  }
14
14
  /** Admit the exact request representation accepted by a Delivery transport boundary. */
15
15
  export declare function acceptRequest(input: unknown): Request;
16
- //# sourceMappingURL=request.d.ts.map
@@ -50,4 +50,3 @@ export function acceptRequest(input) {
50
50
  etag: value.etag,
51
51
  });
52
52
  }
53
- //# sourceMappingURL=request.js.map
@@ -2,4 +2,3 @@ import type { DeliveryDeclaration } from './declaration.js';
2
2
  import type { Endpoint } from './delivery-endpoint.js';
3
3
  /** Place one provider-neutral Delivery declaration beneath an exact serving issuer. */
4
4
  export declare function placeDelivery(input: DeliveryDeclaration, issuer: string, bundleHref: string): Endpoint;
5
- //# sourceMappingURL=delivery-declaration.d.ts.map
@@ -23,4 +23,3 @@ export function placeDelivery(input, issuer, bundleHref) {
23
23
  }
24
24
  return admitEndpoint({ href, method: 'POST', authentication: input.authentication }, bundleHref);
25
25
  }
26
- //# sourceMappingURL=delivery-declaration.js.map
@@ -9,4 +9,3 @@ export interface Endpoint {
9
9
  readonly authentication: Authentication;
10
10
  }
11
11
  export declare function admitEndpoint(input: unknown, publicUrl: string): Endpoint | undefined;
12
- //# sourceMappingURL=delivery-endpoint.d.ts.map
@@ -20,4 +20,3 @@ export function admitEndpoint(input, publicUrl) {
20
20
  authentication: Object.freeze({ kind: authentication.kind }),
21
21
  });
22
22
  }
23
- //# sourceMappingURL=delivery-endpoint.js.map
@@ -5,4 +5,3 @@ export declare class PublicationError extends Error {
5
5
  constructor(code: PublicationErrorCode, message: string, options?: ErrorOptions);
6
6
  }
7
7
  export declare function fail(code: PublicationErrorCode, message: string, cause?: unknown): never;
8
- //# sourceMappingURL=error.d.ts.map
@@ -9,4 +9,3 @@ export class PublicationError extends Error {
9
9
  export function fail(code, message, cause) {
10
10
  throw new PublicationError(code, message, cause === undefined ? undefined : { cause });
11
11
  }
12
- //# sourceMappingURL=error.js.map
@@ -4,4 +4,3 @@ export type Etag = Sha256Digest;
4
4
  export declare function admitDigest(input: unknown): Sha256Digest;
5
5
  export declare function computeEtag(input: Content): Etag;
6
6
  export declare function sha256Hex(input: Uint8Array): string;
7
- //# sourceMappingURL=etag.d.ts.map
@@ -1,5 +1,6 @@
1
1
  import * as portable from '@astrale-os/kernel-dsl/value';
2
2
  import { fail } from './error.js';
3
+ import { encodeLegacyRequirements } from './legacy-requirements.js';
3
4
  const DIGEST = /^sha256:[0-9a-f]{64}$/u;
4
5
  export function admitDigest(input) {
5
6
  if (typeof input !== 'string' || !DIGEST.test(input)) {
@@ -8,7 +9,10 @@ export function admitDigest(input) {
8
9
  return input;
9
10
  }
10
11
  export function computeEtag(input) {
11
- const bytes = portable.json.encode(input);
12
+ const wire = input.version === 2
13
+ ? { ...input, requirements: encodeLegacyRequirements(input.requirements) }
14
+ : input;
15
+ const bytes = portable.json.encode(wire);
12
16
  return `sha256:${sha256Hex(bytes)}`;
13
17
  }
14
18
  export function sha256Hex(input) {
@@ -77,4 +81,3 @@ const ROUND = new Uint32Array([
77
81
  0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
78
82
  0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2,
79
83
  ]);
80
- //# sourceMappingURL=etag.js.map
@@ -1,6 +1,6 @@
1
- export { MEDIA_TYPE, PATH, url, seal, accept, encode, type Publication } from './publication.js';
1
+ export { MEDIA_TYPE, LEGACY_MEDIA_TYPE, mediaType, PATH, url, seal, accept, encode, type Publication, } from './publication.js';
2
2
  export { acceptBundle, decodeBundle } from './bundle-admission.js';
3
- export { BUNDLE_MEDIA_TYPE, describeBundle, type BundleDescriptor } from './bundle.js';
3
+ export { BUNDLE_MEDIA_TYPE, bundleUrl, describeBundle, type BundleDescriptor } from './bundle.js';
4
4
  export { verifyBundleBytes } from './bundle-evidence.js';
5
5
  export type { Content } from './content.js';
6
6
  export type { Declaration, DeliveryDeclaration } from './declaration.js';
@@ -10,9 +10,8 @@ export { PublicationError, type PublicationErrorCode } from './error.js';
10
10
  export * as delivery from './delivery/index.js';
11
11
  export type { Authentication as DeliveryAuthentication, Endpoint as DeliveryEndpoint, } from './delivery-endpoint.js';
12
12
  export type { Manifest } from './manifest.js';
13
- export { ClassOperationOrder, admitRequirements, validateRequirements, type CapabilityAdminRequirements, type CapabilityRequirements, type ClassCapabilityRequirement, type ClassOperation, type NonEmpty, type PublicationRequirements, } from './requirements.js';
13
+ export { ClassOperationOrder, admitRequirements, validateRequirements, type CapabilityAuthorityRequirements, type CoreCapabilityRequirement, type CapabilityRequirements, type ClassCapabilityRequirement, type ClassOperation, type NonEmpty, type PublicationRequirements, } from './requirements.js';
14
14
  export { acceptReference, compareReference, compareReferences, matchesReference, reference, type PublicationRef, type PublicationReferenceRelation, } from './reference.js';
15
15
  export type { BodyPick, CredentialSource, HttpMethod, HttpRoute, HttpRouteDeclaration, RouteBody, RouteHeaders, SingleCredentialSource, } from './route.js';
16
16
  export type { Schema } from './schema.js';
17
- export { acceptInvocationEndpoints, type CallableBinding, type InvocationEndpoints, type ViewBinding, } from './bindings/index.js';
18
- //# sourceMappingURL=index.d.ts.map
17
+ export { acceptInvocationEndpoints, type CallableBinding, type IframeRequirements, type InvocationEndpoints, type ViewBinding, } from './bindings/index.js';
@@ -1,6 +1,6 @@
1
- export { MEDIA_TYPE, PATH, url, seal, accept, encode } from './publication.js';
1
+ export { MEDIA_TYPE, LEGACY_MEDIA_TYPE, mediaType, PATH, url, seal, accept, encode, } from './publication.js';
2
2
  export { acceptBundle, decodeBundle } from './bundle-admission.js';
3
- export { BUNDLE_MEDIA_TYPE, describeBundle } from './bundle.js';
3
+ export { BUNDLE_MEDIA_TYPE, bundleUrl, describeBundle } from './bundle.js';
4
4
  export { verifyBundleBytes } from './bundle-evidence.js';
5
5
  export { placeDelivery } from './delivery-declaration.js';
6
6
  export { PublicationError } from './error.js';
@@ -8,4 +8,3 @@ export * as delivery from './delivery/index.js';
8
8
  export { ClassOperationOrder, admitRequirements, validateRequirements, } from './requirements.js';
9
9
  export { acceptReference, compareReference, compareReferences, matchesReference, reference, } from './reference.js';
10
10
  export { acceptInvocationEndpoints, } from './bindings/index.js';
11
- //# sourceMappingURL=index.js.map
@@ -0,0 +1,12 @@
1
+ import type { PublicationRequirements } from './requirements.js';
2
+ /** Read the retired v2 wire coordinate without exposing it in canonical requirements. */
3
+ export declare function decodeLegacyRequirements(input: unknown): PublicationRequirements;
4
+ /** Preserve immutable v2 bytes and the historical installation-target digest vocabulary. */
5
+ export declare function encodeLegacyRequirements(input: PublicationRequirements): Readonly<{
6
+ capabilities: Readonly<{
7
+ functions?: import("./requirements.js").NonEmpty<import("@astrale-os/kernel-dsl/v1").Key.Callable>;
8
+ classes?: import("./requirements.js").NonEmpty<import("./requirements.js").ClassCapabilityRequirement>;
9
+ authority?: import("./requirements.js").CapabilityAuthorityRequirements;
10
+ profiles?: import("./requirements.js").NonEmpty<import("./requirements.js").CoreCapabilityRequirement> | undefined;
11
+ }>;
12
+ }>;
@@ -0,0 +1,23 @@
1
+ import { exact, record } from './content.js';
2
+ import { admitRequirements } from './requirements.js';
3
+ /** Read the retired v2 wire coordinate without exposing it in canonical requirements. */
4
+ export function decodeLegacyRequirements(input) {
5
+ const requirements = record(input, 'PUBLICATION_INVALID', 'Publication requirements are invalid.');
6
+ exact(requirements, ['capabilities'], 'PUBLICATION_INVALID');
7
+ const capabilities = record(requirements.capabilities, 'PUBLICATION_INVALID', 'Publication capability requirements are invalid.');
8
+ exact(capabilities, ['authority', 'classes', 'functions', 'profiles'], 'PUBLICATION_INVALID');
9
+ const { profiles, ...principal } = capabilities;
10
+ return admitRequirements({
11
+ capabilities: { ...principal, ...(profiles === undefined ? {} : { core: profiles }) },
12
+ });
13
+ }
14
+ /** Preserve immutable v2 bytes and the historical installation-target digest vocabulary. */
15
+ export function encodeLegacyRequirements(input) {
16
+ const { core, ...principal } = input.capabilities;
17
+ return Object.freeze({
18
+ capabilities: Object.freeze({
19
+ ...principal,
20
+ ...(core === undefined ? {} : { profiles: core }),
21
+ }),
22
+ });
23
+ }
@@ -1,7 +1,6 @@
1
- import { Ref } from '@astrale-os/kernel-dsl/v1/addressing';
1
+ import { type ViewRef } from '@astrale-os/kernel-dsl/v1/addressing';
2
2
  export interface Manifest {
3
3
  readonly logo?: string;
4
- readonly entrypoint?: Ref.View;
4
+ readonly entrypoint?: ViewRef;
5
5
  }
6
6
  export declare function admitManifest(input: unknown): Manifest | undefined;
7
- //# sourceMappingURL=manifest.d.ts.map
@@ -1,4 +1,4 @@
1
- import { Ref } from '@astrale-os/kernel-dsl/v1/addressing';
1
+ import { acceptDefinitionRef } from '@astrale-os/kernel-dsl/v1/addressing';
2
2
  import { exact, record } from './content.js';
3
3
  import { fail } from './error.js';
4
4
  export function admitManifest(input) {
@@ -11,16 +11,20 @@ export function admitManifest(input) {
11
11
  }
12
12
  let entrypoint;
13
13
  if (value.entrypoint !== undefined) {
14
- if (typeof value.entrypoint !== 'string' ||
15
- !Ref.isDefinition(value.entrypoint) ||
16
- !value.entrypoint.startsWith('view.')) {
14
+ let ref;
15
+ try {
16
+ ref = acceptDefinitionRef(value.entrypoint);
17
+ }
18
+ catch (cause) {
19
+ return fail('PUBLICATION_INVALID', 'Manifest entrypoint must be a root View reference.', cause);
20
+ }
21
+ if (ref.kind !== 'view') {
17
22
  fail('PUBLICATION_INVALID', 'Manifest entrypoint must be a root View reference.');
18
23
  }
19
- entrypoint = value.entrypoint;
24
+ entrypoint = ref;
20
25
  }
21
26
  return Object.freeze({
22
27
  ...(value.logo === undefined ? {} : { logo: value.logo }),
23
28
  ...(entrypoint === undefined ? {} : { entrypoint }),
24
29
  });
25
30
  }
26
- //# sourceMappingURL=manifest.js.map
@@ -9,12 +9,14 @@ import type { PublicationRequirements } from './requirements.js';
9
9
  import type { HttpRoute } from './route.js';
10
10
  import type { Schema } from './schema.js';
11
11
  export declare const PATH: '/.well-known/astrale/domain.json';
12
- export declare const MEDIA_TYPE: 'application/vnd.astrale.domain-publication+json;v=2';
12
+ export declare const MEDIA_TYPE: 'application/vnd.astrale.domain-publication+json;v=3';
13
+ export declare const LEGACY_MEDIA_TYPE: 'application/vnd.astrale.domain-publication+json;v=2';
14
+ export declare function mediaType(input: Pick<Publication, 'version'>): typeof MEDIA_TYPE | typeof LEGACY_MEDIA_TYPE;
13
15
  /** Resolve the canonical Publication URL beneath one exact HTTP(S) serving issuer. */
14
16
  export declare function url(input: string): string;
15
17
  export interface Publication {
16
18
  readonly format: 'astrale.domain.publication';
17
- readonly version: 2;
19
+ readonly version: 2 | 3;
18
20
  readonly origin: Key.Origin;
19
21
  readonly identity: {
20
22
  readonly issuer: IssuerId;
@@ -34,4 +36,3 @@ export interface Publication {
34
36
  export declare function seal(input: Content): Publication;
35
37
  export declare function accept(input: unknown): Publication;
36
38
  export declare function encode(input: Publication): Uint8Array;
37
- //# sourceMappingURL=publication.d.ts.map