@astrale-os/kernel-server 0.4.17 → 0.5.0-beta.2

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 (313) hide show
  1. package/dist/capture.d.ts +3 -0
  2. package/dist/capture.d.ts.map +1 -0
  3. package/dist/capture.js +10 -0
  4. package/dist/capture.js.map +1 -0
  5. package/dist/cors/cors.d.ts +22 -0
  6. package/dist/cors/cors.d.ts.map +1 -0
  7. package/dist/cors/cors.js +136 -0
  8. package/dist/cors/cors.js.map +1 -0
  9. package/dist/cors/index.d.ts +3 -0
  10. package/dist/cors/index.d.ts.map +1 -0
  11. package/dist/cors/index.js +2 -0
  12. package/dist/cors/index.js.map +1 -0
  13. package/dist/cors/types.d.ts +12 -0
  14. package/dist/cors/types.d.ts.map +1 -0
  15. package/dist/cors/types.js +2 -0
  16. package/dist/cors/types.js.map +1 -0
  17. package/dist/errors/availability.d.ts +11 -0
  18. package/dist/errors/availability.d.ts.map +1 -0
  19. package/dist/errors/availability.js +15 -0
  20. package/dist/errors/availability.js.map +1 -0
  21. package/dist/errors/classify.d.ts +4 -0
  22. package/dist/errors/classify.d.ts.map +1 -0
  23. package/dist/errors/classify.js +316 -0
  24. package/dist/errors/classify.js.map +1 -0
  25. package/dist/errors/index.d.ts +5 -0
  26. package/dist/errors/index.d.ts.map +1 -0
  27. package/dist/errors/index.js +5 -0
  28. package/dist/errors/index.js.map +1 -0
  29. package/dist/errors/request-body.d.ts +8 -0
  30. package/dist/errors/request-body.d.ts.map +1 -0
  31. package/dist/errors/request-body.js +15 -0
  32. package/dist/errors/request-body.js.map +1 -0
  33. package/dist/errors/response-body.d.ts +5 -0
  34. package/dist/errors/response-body.d.ts.map +1 -0
  35. package/dist/errors/response-body.js +9 -0
  36. package/dist/errors/response-body.js.map +1 -0
  37. package/dist/index.d.ts +5 -11
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +4 -18
  40. package/dist/index.js.map +1 -1
  41. package/dist/invocation/context.d.ts +7 -0
  42. package/dist/invocation/context.d.ts.map +1 -0
  43. package/dist/invocation/context.js +61 -0
  44. package/dist/invocation/context.js.map +1 -0
  45. package/dist/invocation/index.d.ts +3 -2
  46. package/dist/invocation/index.d.ts.map +1 -1
  47. package/dist/invocation/index.js +2 -2
  48. package/dist/invocation/index.js.map +1 -1
  49. package/dist/invocation/publication-route.d.ts +12 -0
  50. package/dist/invocation/publication-route.d.ts.map +1 -0
  51. package/dist/invocation/publication-route.js +43 -0
  52. package/dist/invocation/publication-route.js.map +1 -0
  53. package/dist/invocation/types.d.ts +38 -0
  54. package/dist/invocation/types.d.ts.map +1 -0
  55. package/dist/invocation/types.js +2 -0
  56. package/dist/invocation/types.js.map +1 -0
  57. package/dist/issuer/exchange.d.ts +13 -0
  58. package/dist/issuer/exchange.d.ts.map +1 -0
  59. package/dist/issuer/exchange.js +135 -0
  60. package/dist/issuer/exchange.js.map +1 -0
  61. package/dist/issuer/index.d.ts +4 -0
  62. package/dist/issuer/index.d.ts.map +1 -0
  63. package/dist/issuer/index.js +2 -0
  64. package/dist/issuer/index.js.map +1 -0
  65. package/dist/issuer/routes.d.ts +14 -0
  66. package/dist/issuer/routes.d.ts.map +1 -0
  67. package/dist/issuer/routes.js +147 -0
  68. package/dist/issuer/routes.js.map +1 -0
  69. package/dist/issuer/types.d.ts +11 -0
  70. package/dist/issuer/types.d.ts.map +1 -0
  71. package/dist/issuer/types.js +2 -0
  72. package/dist/issuer/types.js.map +1 -0
  73. package/dist/lifecycle/active.d.ts +40 -0
  74. package/dist/lifecycle/active.d.ts.map +1 -0
  75. package/dist/lifecycle/active.js +200 -0
  76. package/dist/lifecycle/active.js.map +1 -0
  77. package/dist/lifecycle/index.d.ts +2 -0
  78. package/dist/lifecycle/index.d.ts.map +1 -0
  79. package/dist/lifecycle/index.js +2 -0
  80. package/dist/lifecycle/index.js.map +1 -0
  81. package/dist/publication/delivery/handler.d.ts +10 -0
  82. package/dist/publication/delivery/handler.d.ts.map +1 -0
  83. package/dist/publication/delivery/handler.js +127 -0
  84. package/dist/publication/delivery/handler.js.map +1 -0
  85. package/dist/publication/delivery/index.d.ts +3 -0
  86. package/dist/publication/delivery/index.d.ts.map +1 -0
  87. package/dist/publication/delivery/index.js +2 -0
  88. package/dist/publication/delivery/index.js.map +1 -0
  89. package/dist/publication/delivery/types.d.ts +12 -0
  90. package/dist/publication/delivery/types.d.ts.map +1 -0
  91. package/dist/publication/delivery/types.js +2 -0
  92. package/dist/publication/delivery/types.js.map +1 -0
  93. package/dist/publication/index.d.ts +4 -0
  94. package/dist/publication/index.d.ts.map +1 -0
  95. package/dist/publication/index.js +3 -0
  96. package/dist/publication/index.js.map +1 -0
  97. package/dist/publication/snapshot.d.ts +14 -0
  98. package/dist/publication/snapshot.d.ts.map +1 -0
  99. package/dist/publication/snapshot.js +30 -0
  100. package/dist/publication/snapshot.js.map +1 -0
  101. package/dist/publication/types.d.ts +19 -0
  102. package/dist/publication/types.d.ts.map +1 -0
  103. package/dist/publication/types.js +2 -0
  104. package/dist/publication/types.js.map +1 -0
  105. package/dist/routes/index.d.ts +2 -0
  106. package/dist/routes/index.d.ts.map +1 -0
  107. package/dist/routes/index.js +2 -0
  108. package/dist/routes/index.js.map +1 -0
  109. package/dist/routes/routes.d.ts +25 -0
  110. package/dist/routes/routes.d.ts.map +1 -0
  111. package/dist/routes/routes.js +448 -0
  112. package/dist/routes/routes.js.map +1 -0
  113. package/dist/server.d.ts +5 -0
  114. package/dist/server.d.ts.map +1 -0
  115. package/dist/server.js +260 -0
  116. package/dist/server.js.map +1 -0
  117. package/dist/transport/body.d.ts +5 -0
  118. package/dist/transport/body.d.ts.map +1 -0
  119. package/dist/transport/body.js +51 -0
  120. package/dist/transport/body.js.map +1 -0
  121. package/dist/transport/codecs.d.ts +5 -0
  122. package/dist/transport/codecs.d.ts.map +1 -0
  123. package/dist/transport/codecs.js +6 -0
  124. package/dist/transport/codecs.js.map +1 -0
  125. package/dist/transport/credential.d.ts +11 -0
  126. package/dist/transport/credential.d.ts.map +1 -0
  127. package/dist/transport/credential.js +29 -0
  128. package/dist/transport/credential.js.map +1 -0
  129. package/dist/transport/http/handler.d.ts +16 -0
  130. package/dist/transport/http/handler.d.ts.map +1 -0
  131. package/dist/transport/http/handler.js +177 -0
  132. package/dist/transport/http/handler.js.map +1 -0
  133. package/dist/transport/http/index.d.ts +3 -0
  134. package/dist/transport/http/index.d.ts.map +1 -0
  135. package/dist/transport/http/index.js +3 -0
  136. package/dist/transport/http/index.js.map +1 -0
  137. package/dist/transport/http/render.d.ts +29 -0
  138. package/dist/transport/http/render.d.ts.map +1 -0
  139. package/dist/transport/http/render.js +278 -0
  140. package/dist/transport/http/render.js.map +1 -0
  141. package/dist/transport/index.d.ts +10 -0
  142. package/dist/transport/index.d.ts.map +1 -0
  143. package/dist/transport/index.js +9 -0
  144. package/dist/transport/index.js.map +1 -0
  145. package/dist/transport/router.d.ts +5 -0
  146. package/dist/transport/router.d.ts.map +1 -0
  147. package/dist/transport/router.js +5 -0
  148. package/dist/transport/router.js.map +1 -0
  149. package/dist/transport/stream-error.d.ts +4 -0
  150. package/dist/transport/stream-error.d.ts.map +1 -0
  151. package/dist/transport/stream-error.js +14 -0
  152. package/dist/transport/stream-error.js.map +1 -0
  153. package/dist/transport/types.d.ts +29 -0
  154. package/dist/transport/types.d.ts.map +1 -0
  155. package/dist/transport/types.js +2 -0
  156. package/dist/transport/types.js.map +1 -0
  157. package/dist/transport/websocket/index.d.ts +3 -0
  158. package/dist/transport/websocket/index.d.ts.map +1 -0
  159. package/dist/transport/websocket/index.js +3 -0
  160. package/dist/transport/websocket/index.js.map +1 -0
  161. package/dist/transport/websocket/session.d.ts +19 -0
  162. package/dist/transport/websocket/session.d.ts.map +1 -0
  163. package/dist/transport/websocket/session.js +329 -0
  164. package/dist/transport/websocket/session.js.map +1 -0
  165. package/dist/transport/websocket/upgrade.d.ts +19 -0
  166. package/dist/transport/websocket/upgrade.d.ts.map +1 -0
  167. package/dist/transport/websocket/upgrade.js +46 -0
  168. package/dist/transport/websocket/upgrade.js.map +1 -0
  169. package/dist/types.d.ts +63 -0
  170. package/dist/types.d.ts.map +1 -0
  171. package/dist/types.js +2 -0
  172. package/dist/types.js.map +1 -0
  173. package/package.json +10 -11
  174. package/dist/app/create.d.ts +0 -48
  175. package/dist/app/create.d.ts.map +0 -1
  176. package/dist/app/create.js +0 -108
  177. package/dist/app/create.js.map +0 -1
  178. package/dist/app/index.d.ts +0 -4
  179. package/dist/app/index.d.ts.map +0 -1
  180. package/dist/app/index.js +0 -4
  181. package/dist/app/index.js.map +0 -1
  182. package/dist/app/multiplexed.d.ts +0 -53
  183. package/dist/app/multiplexed.d.ts.map +0 -1
  184. package/dist/app/multiplexed.js +0 -64
  185. package/dist/app/multiplexed.js.map +0 -1
  186. package/dist/app/ws-upgrade.d.ts +0 -34
  187. package/dist/app/ws-upgrade.d.ts.map +0 -1
  188. package/dist/app/ws-upgrade.js +0 -94
  189. package/dist/app/ws-upgrade.js.map +0 -1
  190. package/dist/capabilities/contract.d.ts +0 -8
  191. package/dist/capabilities/contract.d.ts.map +0 -1
  192. package/dist/capabilities/contract.js +0 -2
  193. package/dist/capabilities/contract.js.map +0 -1
  194. package/dist/capabilities/defer.d.ts +0 -4
  195. package/dist/capabilities/defer.d.ts.map +0 -1
  196. package/dist/capabilities/defer.js +0 -2
  197. package/dist/capabilities/defer.js.map +0 -1
  198. package/dist/capabilities/hono.d.ts +0 -8
  199. package/dist/capabilities/hono.d.ts.map +0 -1
  200. package/dist/capabilities/hono.js +0 -13
  201. package/dist/capabilities/hono.js.map +0 -1
  202. package/dist/capabilities/index.d.ts +0 -6
  203. package/dist/capabilities/index.d.ts.map +0 -1
  204. package/dist/capabilities/index.js +0 -3
  205. package/dist/capabilities/index.js.map +0 -1
  206. package/dist/capabilities/lifecycle.d.ts +0 -17
  207. package/dist/capabilities/lifecycle.d.ts.map +0 -1
  208. package/dist/capabilities/lifecycle.js +0 -37
  209. package/dist/capabilities/lifecycle.js.map +0 -1
  210. package/dist/capabilities/sleep.d.ts +0 -4
  211. package/dist/capabilities/sleep.d.ts.map +0 -1
  212. package/dist/capabilities/sleep.js +0 -8
  213. package/dist/capabilities/sleep.js.map +0 -1
  214. package/dist/cors.d.ts +0 -21
  215. package/dist/cors.d.ts.map +0 -1
  216. package/dist/cors.js +0 -17
  217. package/dist/cors.js.map +0 -1
  218. package/dist/envelope/batch.d.ts +0 -13
  219. package/dist/envelope/batch.d.ts.map +0 -1
  220. package/dist/envelope/batch.js +0 -96
  221. package/dist/envelope/batch.js.map +0 -1
  222. package/dist/envelope/codec.d.ts +0 -26
  223. package/dist/envelope/codec.d.ts.map +0 -1
  224. package/dist/envelope/codec.js +0 -52
  225. package/dist/envelope/codec.js.map +0 -1
  226. package/dist/envelope/credential.d.ts +0 -20
  227. package/dist/envelope/credential.d.ts.map +0 -1
  228. package/dist/envelope/credential.js +0 -32
  229. package/dist/envelope/credential.js.map +0 -1
  230. package/dist/envelope/http.d.ts +0 -31
  231. package/dist/envelope/http.d.ts.map +0 -1
  232. package/dist/envelope/http.js +0 -132
  233. package/dist/envelope/http.js.map +0 -1
  234. package/dist/envelope/sse.d.ts +0 -11
  235. package/dist/envelope/sse.d.ts.map +0 -1
  236. package/dist/envelope/sse.js +0 -73
  237. package/dist/envelope/sse.js.map +0 -1
  238. package/dist/envelope/ws.d.ts +0 -35
  239. package/dist/envelope/ws.d.ts.map +0 -1
  240. package/dist/envelope/ws.js +0 -142
  241. package/dist/envelope/ws.js.map +0 -1
  242. package/dist/invocation/dispatch.d.ts +0 -32
  243. package/dist/invocation/dispatch.d.ts.map +0 -1
  244. package/dist/invocation/dispatch.js +0 -68
  245. package/dist/invocation/dispatch.js.map +0 -1
  246. package/dist/invocation/dispatcher.d.ts +0 -19
  247. package/dist/invocation/dispatcher.d.ts.map +0 -1
  248. package/dist/invocation/dispatcher.js +0 -9
  249. package/dist/invocation/dispatcher.js.map +0 -1
  250. package/dist/jwks/discovery.d.ts +0 -40
  251. package/dist/jwks/discovery.d.ts.map +0 -1
  252. package/dist/jwks/discovery.js +0 -113
  253. package/dist/jwks/discovery.js.map +0 -1
  254. package/dist/jwks/index.d.ts +0 -3
  255. package/dist/jwks/index.d.ts.map +0 -1
  256. package/dist/jwks/index.js +0 -3
  257. package/dist/jwks/index.js.map +0 -1
  258. package/dist/jwks/issuers.d.ts +0 -47
  259. package/dist/jwks/issuers.d.ts.map +0 -1
  260. package/dist/jwks/issuers.js +0 -76
  261. package/dist/jwks/issuers.js.map +0 -1
  262. package/dist/jwks/keys.d.ts +0 -44
  263. package/dist/jwks/keys.d.ts.map +0 -1
  264. package/dist/jwks/keys.js +0 -56
  265. package/dist/jwks/keys.js.map +0 -1
  266. package/dist/plan/host-params.d.ts +0 -13
  267. package/dist/plan/host-params.d.ts.map +0 -1
  268. package/dist/plan/host-params.js +0 -23
  269. package/dist/plan/host-params.js.map +0 -1
  270. package/dist/plan/host.d.ts +0 -24
  271. package/dist/plan/host.d.ts.map +0 -1
  272. package/dist/plan/host.js +0 -24
  273. package/dist/plan/host.js.map +0 -1
  274. package/dist/plan/index.d.ts +0 -4
  275. package/dist/plan/index.d.ts.map +0 -1
  276. package/dist/plan/index.js +0 -4
  277. package/dist/plan/index.js.map +0 -1
  278. package/dist/plan/walk.d.ts +0 -51
  279. package/dist/plan/walk.d.ts.map +0 -1
  280. package/dist/plan/walk.js +0 -110
  281. package/dist/plan/walk.js.map +0 -1
  282. package/dist/render/binary.d.ts +0 -19
  283. package/dist/render/binary.d.ts.map +0 -1
  284. package/dist/render/binary.js +0 -33
  285. package/dist/render/binary.js.map +0 -1
  286. package/dist/render/body.d.ts +0 -10
  287. package/dist/render/body.d.ts.map +0 -1
  288. package/dist/render/body.js +0 -17
  289. package/dist/render/body.js.map +0 -1
  290. package/dist/render/index.d.ts +0 -3
  291. package/dist/render/index.d.ts.map +0 -1
  292. package/dist/render/index.js +0 -3
  293. package/dist/render/index.js.map +0 -1
  294. package/dist/routed/credential.d.ts +0 -10
  295. package/dist/routed/credential.d.ts.map +0 -1
  296. package/dist/routed/credential.js +0 -55
  297. package/dist/routed/credential.js.map +0 -1
  298. package/dist/routed/handler.d.ts +0 -38
  299. package/dist/routed/handler.d.ts.map +0 -1
  300. package/dist/routed/handler.js +0 -123
  301. package/dist/routed/handler.js.map +0 -1
  302. package/dist/routed/index.d.ts +0 -5
  303. package/dist/routed/index.d.ts.map +0 -1
  304. package/dist/routed/index.js +0 -5
  305. package/dist/routed/index.js.map +0 -1
  306. package/dist/routed/params.d.ts +0 -40
  307. package/dist/routed/params.d.ts.map +0 -1
  308. package/dist/routed/params.js +0 -146
  309. package/dist/routed/params.js.map +0 -1
  310. package/dist/routed/stream.d.ts +0 -21
  311. package/dist/routed/stream.d.ts.map +0 -1
  312. package/dist/routed/stream.js +0 -69
  313. package/dist/routed/stream.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AACxF,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAA"}
@@ -0,0 +1,5 @@
1
+ export { DeliveryUnavailableError, IssuerKeysUnavailableError } from './availability.js';
2
+ export { classifyError } from './classify.js';
3
+ export { RequestBodyInvalidError, RequestBodyTooLargeError } from './request-body.js';
4
+ export { ResponseBodyTooLargeError } from './response-body.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AACxF,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAA"}
@@ -0,0 +1,8 @@
1
+ export declare class RequestBodyTooLargeError extends Error {
2
+ readonly maximumBytes: number;
3
+ constructor(maximumBytes: number);
4
+ }
5
+ export declare class RequestBodyInvalidError extends Error {
6
+ constructor(message: string);
7
+ }
8
+ //# sourceMappingURL=request-body.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-body.d.ts","sourceRoot":"","sources":["../../errors/request-body.ts"],"names":[],"mappings":"AAAA,qBAAa,wBAAyB,SAAQ,KAAK;IACrC,QAAQ,CAAC,YAAY,EAAE,MAAM;IAAzC,YAAqB,YAAY,EAAE,MAAM,EAGxC;CACF;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF"}
@@ -0,0 +1,15 @@
1
+ export class RequestBodyTooLargeError extends Error {
2
+ maximumBytes;
3
+ constructor(maximumBytes) {
4
+ super(`Request body exceeds ${maximumBytes} bytes.`);
5
+ this.maximumBytes = maximumBytes;
6
+ this.name = 'RequestBodyTooLargeError';
7
+ }
8
+ }
9
+ export class RequestBodyInvalidError extends Error {
10
+ constructor(message) {
11
+ super(message);
12
+ this.name = 'RequestBodyInvalidError';
13
+ }
14
+ }
15
+ //# sourceMappingURL=request-body.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-body.js","sourceRoot":"","sources":["../../errors/request-body.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IAC5B,YAAY;IAAjC,YAAqB,YAAoB;QACvC,KAAK,CAAC,wBAAwB,YAAY,SAAS,CAAC,CAAA;4BADjC,YAAY;QAE/B,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAA;IACxC,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAChD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAA;IACvC,CAAC;CACF"}
@@ -0,0 +1,5 @@
1
+ export declare class ResponseBodyTooLargeError extends Error {
2
+ readonly maximumBytes: number;
3
+ constructor(maximumBytes: number);
4
+ }
5
+ //# sourceMappingURL=response-body.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-body.d.ts","sourceRoot":"","sources":["../../errors/response-body.ts"],"names":[],"mappings":"AAAA,qBAAa,yBAA0B,SAAQ,KAAK;IACtC,QAAQ,CAAC,YAAY,EAAE,MAAM;IAAzC,YAAqB,YAAY,EAAE,MAAM,EAGxC;CACF"}
@@ -0,0 +1,9 @@
1
+ export class ResponseBodyTooLargeError extends Error {
2
+ maximumBytes;
3
+ constructor(maximumBytes) {
4
+ super(`Server response exceeds maximumResponseBytes (${maximumBytes}).`);
5
+ this.maximumBytes = maximumBytes;
6
+ this.name = 'ResponseBodyTooLargeError';
7
+ }
8
+ }
9
+ //# sourceMappingURL=response-body.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-body.js","sourceRoot":"","sources":["../../errors/response-body.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAC7B,YAAY;IAAjC,YAAqB,YAAoB;QACvC,KAAK,CAAC,iDAAiD,YAAY,IAAI,CAAC,CAAA;4BADrD,YAAY;QAE/B,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAA;IACzC,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -1,12 +1,6 @@
1
- export { createKernelApp, type KernelAppConfig, type WsAdapter } from './app/create.js';
2
- export { createMultiplexedKernelApp, type MultiplexedKernelAppConfig, type DispatcherResolver, } from './app/multiplexed.js';
3
- export { walkDomain, type ServerHost, type MountedFunction, type MountedRoute, type MountPlan, } from './plan/index.js';
4
- export { buildCorsHeaders, type CorsConfig } from './cors.js';
5
- export { createKernelDispatcher, type KernelDispatcherOptions } from './envelope/http.js';
6
- export { KernelWsConnection, type WebSocketLike } from './envelope/ws.js';
7
- export { createCapabilityLifecycle, honoCapabilityHost, type CapabilityHost, type CapabilityLifecycle, type Defer, type DeferredTask, type Capabilities, type Sleep, } from './capabilities/index.js';
8
- export { dispatchInvocation, executeInvocation, kernelDispatcher, type Invocation, type InvocationPath, type InvocationReply, type InvocationResponse, type Dispatcher, } from './invocation/index.js';
9
- export { createRouteHandler, type RouteHandlerConfig } from './routed/index.js';
10
- export { mountJwks, mountInstanceJwks, mountIssuerRegistry, mountInstanceIssuerRegistry, type JwksKeys, type MultiplexedJwks, type JwksConfig, type InstanceJwksConfig, type IssuerRegistryConfig, type InstanceIssuerRegistryConfig, } from './jwks/index.js';
11
- export { classifyError } from '@astrale-os/kernel-api';
1
+ export { createServer, prepareServer } from './server.js';
2
+ export { DeliveryUnavailableError, IssuerKeysUnavailableError } from './errors/index.js';
3
+ export { preparePublicationSnapshot } from './publication/index.js';
4
+ export * as publication from './publication/index.js';
5
+ export type { Application, ApplicationHost, CorsConfig, Handler, HandlerRequest, HealthProbe, InvocationContext, Issuer, exchange, PreparedServer, PublicationSnapshot, PublicationSnapshotInput, PublicationSource, Server, ServerCloseOptions, ServerConfig, ServerLimits, ServerOptions, WebSocketAdapter, WebSocketHandlers, WebSocketLike, WebSocketUpgradeOptions, } from './types.js';
12
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,KAAK,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAA;AACvF,OAAO,EACL,0BAA0B,EAC1B,KAAK,0BAA0B,EAC/B,KAAK,kBAAkB,GACxB,MAAM,sBAAsB,CAAA;AAI7B,OAAO,EACL,UAAU,EACV,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,SAAS,GACf,MAAM,iBAAiB,CAAA;AAIxB,OAAO,EAAE,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAA;AAI7D,OAAO,EAAE,sBAAsB,EAAE,KAAK,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AACzF,OAAO,EAAE,kBAAkB,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACzE,OAAO,EACL,yBAAyB,EACzB,kBAAkB,EAClB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,KAAK,EACV,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,KAAK,GACX,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,UAAU,GAChB,MAAM,uBAAuB,CAAA;AAI9B,OAAO,EAAE,kBAAkB,EAAE,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAI/E,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,mBAAmB,EACnB,2BAA2B,EAC3B,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,4BAA4B,GAClC,MAAM,iBAAiB,CAAA;AAIxB,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AACxF,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAA;AACnE,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAA;AACrD,YAAY,EACV,WAAW,EACX,eAAe,EACf,UAAU,EACV,OAAO,EACP,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,MAAM,EACN,QAAQ,EACR,cAAc,EACd,mBAAmB,EACnB,wBAAwB,EACxB,iBAAiB,EACjB,MAAM,EACN,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,uBAAuB,GACxB,MAAM,YAAY,CAAA"}
package/dist/index.js CHANGED
@@ -1,19 +1,5 @@
1
- // ─── App entry points ─────────────────────────────────────────────────────────
2
- export { createKernelApp } from './app/create.js';
3
- export { createMultiplexedKernelApp, } from './app/multiplexed.js';
4
- // ─── Plan ────────────────────────────────────────────────────────────────────
5
- export { walkDomain, } from './plan/index.js';
6
- // ─── Cross-cutting ───────────────────────────────────────────────────────────
7
- export { buildCorsHeaders } from './cors.js';
8
- // ─── Kernel envelope dispatcher ──────────────────────────────────────────────
9
- export { createKernelDispatcher } from './envelope/http.js';
10
- export { KernelWsConnection } from './envelope/ws.js';
11
- export { createCapabilityLifecycle, honoCapabilityHost, } from './capabilities/index.js';
12
- export { dispatchInvocation, executeInvocation, kernelDispatcher, } from './invocation/index.js';
13
- // ─── Routed HTTP handler (per-route) ─────────────────────────────────────────
14
- export { createRouteHandler } from './routed/index.js';
15
- // ─── JWKS (OIDC Discovery + JSON Web Key Set) ───────────────────────────────
16
- export { mountJwks, mountInstanceJwks, mountIssuerRegistry, mountInstanceIssuerRegistry, } from './jwks/index.js';
17
- // ─── Dispatch (for custom integrations) ──────────────────────────────────────
18
- export { classifyError } from '@astrale-os/kernel-api';
1
+ export { createServer, prepareServer } from './server.js';
2
+ export { DeliveryUnavailableError, IssuerKeysUnavailableError } from './errors/index.js';
3
+ export { preparePublicationSnapshot } from './publication/index.js';
4
+ export * as publication from './publication/index.js';
19
5
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,iFAAiF;AAEjF,OAAO,EAAE,eAAe,EAAwC,MAAM,iBAAiB,CAAA;AACvF,OAAO,EACL,0BAA0B,GAG3B,MAAM,sBAAsB,CAAA;AAE7B,gFAAgF;AAEhF,OAAO,EACL,UAAU,GAKX,MAAM,iBAAiB,CAAA;AAExB,gFAAgF;AAEhF,OAAO,EAAE,gBAAgB,EAAmB,MAAM,WAAW,CAAA;AAE7D,gFAAgF;AAEhF,OAAO,EAAE,sBAAsB,EAAgC,MAAM,oBAAoB,CAAA;AACzF,OAAO,EAAE,kBAAkB,EAAsB,MAAM,kBAAkB,CAAA;AACzE,OAAO,EACL,yBAAyB,EACzB,kBAAkB,GAOnB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,GAMjB,MAAM,uBAAuB,CAAA;AAE9B,gFAAgF;AAEhF,OAAO,EAAE,kBAAkB,EAA2B,MAAM,mBAAmB,CAAA;AAE/E,+EAA+E;AAE/E,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,mBAAmB,EACnB,2BAA2B,GAO5B,MAAM,iBAAiB,CAAA;AAExB,gFAAgF;AAEhF,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AACxF,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAA;AACnE,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAA"}
@@ -0,0 +1,7 @@
1
+ import type { invocation as protocol } from '@astrale-os/kernel-protocol';
2
+ import type { ActiveOperation, ActiveOperations } from '../lifecycle/index.js';
3
+ import type { ApplicationHost, InvocationContext } from './types.js';
4
+ export declare function invocationContext(operation: ActiveOperation, active: ActiveOperations, host?: ApplicationHost, requestBody?: Uint8Array, idempotencyKey?: protocol.IdempotencyKey, delegate?: InvocationContext['delegate']): InvocationContext;
5
+ /** Default non-durable timer used when the application host supplies no timer capability. */
6
+ export declare function defaultSleep(durationMs: number): Promise<void>;
7
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../invocation/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,IAAI,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAEzE,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEpE,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,eAAe,EAC1B,MAAM,EAAE,gBAAgB,EACxB,IAAI,CAAC,EAAE,eAAe,EACtB,WAAW,CAAC,EAAE,UAAU,EACxB,cAAc,CAAC,EAAE,QAAQ,CAAC,cAAc,EACxC,QAAQ,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,GACvC,iBAAiB,CAanB;AAED,6FAA6F;AAC7F,wBAAsB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpE"}
@@ -0,0 +1,61 @@
1
+ export function invocationContext(operation, active, host, requestBody, idempotencyKey, delegate) {
2
+ const body = requestBody?.slice();
3
+ return Object.freeze({
4
+ execution: Object.freeze({ deadline: operation.deadline, signal: operation.signal }),
5
+ background: (task) => active.background(task, host?.waitUntil),
6
+ sleep: async (durationMs) => {
7
+ await interruptibleSleep(sleepDuration(durationMs), operation.signal, host?.sleep);
8
+ },
9
+ ...(idempotencyKey === undefined ? {} : { idempotencyKey }),
10
+ ...(delegate === undefined ? {} : { delegate }),
11
+ ...(body === undefined ? {} : { request: Object.freeze({ body: () => body.slice() }) }),
12
+ });
13
+ }
14
+ /** Default non-durable timer used when the application host supplies no timer capability. */
15
+ export async function defaultSleep(durationMs) {
16
+ await new Promise((resolve) => setTimeout(resolve, sleepDuration(durationMs)));
17
+ }
18
+ async function interruptibleSleep(durationMs, signal, sleep) {
19
+ if (signal.aborted)
20
+ throw abortCause(signal);
21
+ if (sleep === undefined) {
22
+ await new Promise((resolve, reject) => {
23
+ const timer = setTimeout(() => finish(resolve), durationMs);
24
+ const abort = () => {
25
+ clearTimeout(timer);
26
+ finish(() => reject(abortCause(signal)));
27
+ };
28
+ const finish = (settle) => {
29
+ signal.removeEventListener('abort', abort);
30
+ settle();
31
+ };
32
+ signal.addEventListener('abort', abort, { once: true });
33
+ });
34
+ return;
35
+ }
36
+ await new Promise((resolve, reject) => {
37
+ let settled = false;
38
+ const finish = (settle) => {
39
+ if (settled)
40
+ return;
41
+ settled = true;
42
+ signal.removeEventListener('abort', abort);
43
+ settle();
44
+ };
45
+ const abort = () => finish(() => reject(abortCause(signal)));
46
+ signal.addEventListener('abort', abort, { once: true });
47
+ Promise.resolve()
48
+ .then(() => sleep(durationMs))
49
+ .then(() => finish(resolve), (cause) => finish(() => reject(cause)));
50
+ });
51
+ }
52
+ function abortCause(signal) {
53
+ return signal.reason instanceof Error ? signal.reason : new Error('Invocation was cancelled.');
54
+ }
55
+ function sleepDuration(input) {
56
+ if (!Number.isFinite(input) || input < 0 || input > 2_147_483_647) {
57
+ throw new RangeError('Sleep duration must be finite, non-negative, and within timer range.');
58
+ }
59
+ return input;
60
+ }
61
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../invocation/context.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
- export { dispatchInvocation, executeInvocation, type InvocationReply, type InvocationResponse, } from './dispatch.js';
2
- export { kernelDispatcher, type Invocation, type InvocationPath, type Dispatcher, } from './dispatcher.js';
1
+ export { defaultSleep, invocationContext } from './context.js';
2
+ export { publicationRouteDecision, type PublicationRouteDecision } from './publication-route.js';
3
+ export type { ApplicationHost, Handler, HandlerRequest, InvocationContext } from './types.js';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../invocation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,kBAAkB,GACxB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,gBAAgB,EAChB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,UAAU,GAChB,MAAM,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../invocation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAC9D,OAAO,EAAE,wBAAwB,EAAE,KAAK,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AAChG,YAAY,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA"}
@@ -1,3 +1,3 @@
1
- export { dispatchInvocation, executeInvocation, } from './dispatch.js';
2
- export { kernelDispatcher, } from './dispatcher.js';
1
+ export { defaultSleep, invocationContext } from './context.js';
2
+ export { publicationRouteDecision } from './publication-route.js';
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../invocation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,iBAAiB,GAGlB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,gBAAgB,GAIjB,MAAM,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../invocation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAC9D,OAAO,EAAE,wBAAwB,EAAiC,MAAM,wBAAwB,CAAA"}
@@ -0,0 +1,12 @@
1
+ import type { errors, publication } from '@astrale-os/kernel-protocol';
2
+ export type PublicationRouteDecision = {
3
+ readonly kind: 'exact';
4
+ } | {
5
+ readonly kind: 'same-schema';
6
+ } | {
7
+ readonly kind: 'rejected';
8
+ readonly error: errors.ErrorPayload;
9
+ };
10
+ /** Compare untrusted installed routing evidence with the one captured serving Publication. */
11
+ export declare function publicationRouteDecision(current: publication.Publication, installed: publication.PublicationRef): PublicationRouteDecision;
12
+ //# sourceMappingURL=publication-route.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publication-route.d.ts","sourceRoot":"","sources":["../../invocation/publication-route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAQtE,MAAM,MAAM,wBAAwB,GAChC;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAC1B;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;CAAE,GAChC;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,CAAA;CAAE,CAAA;AAEtE,8FAA8F;AAC9F,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,WAAW,CAAC,WAAW,EAChC,SAAS,EAAE,WAAW,CAAC,cAAc,GACpC,wBAAwB,CAuC1B"}
@@ -0,0 +1,43 @@
1
+ import { errors as protocolErrors, invocation, publication as publications, } from '@astrale-os/kernel-protocol';
2
+ /** Compare untrusted installed routing evidence with the one captured serving Publication. */
3
+ export function publicationRouteDecision(current, installed) {
4
+ switch (publications.compareReference(current, installed)) {
5
+ case 'exact':
6
+ return Object.freeze({ kind: 'exact' });
7
+ case 'same-schema':
8
+ return Object.freeze({ kind: 'same-schema' });
9
+ case 'schema-drift':
10
+ return rejected('Installed Domain schema requires an explicit upgrade.', Object.freeze({
11
+ code: invocation.SCHEMA_UPGRADE_REQUIRED,
12
+ details: Object.freeze({
13
+ origin: installed.origin,
14
+ installedRevision: installed.revision,
15
+ candidateRevision: current.schema.revision,
16
+ }),
17
+ }));
18
+ case 'identity-drift':
19
+ return rejected('Installed Domain Service identity requires explicit trust.', Object.freeze({
20
+ code: invocation.SERVICE_TRUST_REQUIRED,
21
+ details: Object.freeze({
22
+ origin: installed.origin,
23
+ installedIssuer: installed.identity.issuer,
24
+ candidateIssuer: current.identity.issuer,
25
+ }),
26
+ }));
27
+ case 'origin-drift':
28
+ return Object.freeze({
29
+ kind: 'rejected',
30
+ error: Object.freeze({
31
+ code: protocolErrors.CODES.INVALID_REQUEST,
32
+ message: 'Routed Publication origin differs from the served Domain.',
33
+ }),
34
+ });
35
+ }
36
+ }
37
+ function rejected(message, data) {
38
+ return Object.freeze({
39
+ kind: 'rejected',
40
+ error: Object.freeze({ code: protocolErrors.CODES.CONFLICT, message, data }),
41
+ });
42
+ }
43
+ //# sourceMappingURL=publication-route.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publication-route.js","sourceRoot":"","sources":["../../invocation/publication-route.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,MAAM,IAAI,cAAc,EACxB,UAAU,EACV,WAAW,IAAI,YAAY,GAC5B,MAAM,6BAA6B,CAAA;AAOpC,8FAA8F;AAC9F,MAAM,UAAU,wBAAwB,CACtC,OAAgC,EAChC,SAAqC;IAErC,QAAQ,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;QAC1D,KAAK,OAAO;YACV,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;QACzC,KAAK,aAAa;YAChB,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAA;QAC/C,KAAK,cAAc;YACjB,OAAO,QAAQ,CACb,uDAAuD,EACvD,MAAM,CAAC,MAAM,CAAC;gBACZ,IAAI,EAAE,UAAU,CAAC,uBAAuB;gBACxC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;oBACrB,MAAM,EAAE,SAAS,CAAC,MAAM;oBACxB,iBAAiB,EAAE,SAAS,CAAC,QAAQ;oBACrC,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ;iBAC3C,CAAC;aACH,CAAC,CACH,CAAA;QACH,KAAK,gBAAgB;YACnB,OAAO,QAAQ,CACb,4DAA4D,EAC5D,MAAM,CAAC,MAAM,CAAC;gBACZ,IAAI,EAAE,UAAU,CAAC,sBAAsB;gBACvC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;oBACrB,MAAM,EAAE,SAAS,CAAC,MAAM;oBACxB,eAAe,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM;oBAC1C,eAAe,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;iBACzC,CAAC;aACH,CAAC,CACH,CAAA;QACH,KAAK,cAAc;YACjB,OAAO,MAAM,CAAC,MAAM,CAAC;gBACnB,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;oBACnB,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,eAAe;oBAC1C,OAAO,EAAE,2DAA2D;iBACrE,CAAC;aACH,CAAC,CAAA;IACN,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,OAAe,EAAE,IAAwB;IACzD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;KAC7E,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,38 @@
1
+ import type { CredentialInput } from '@astrale-os/kernel-core/auth';
2
+ import type { InboundRequestOptions, RequestBackground, RequestSleep } from '@astrale-os/kernel-ports';
3
+ import type { Call, Result } from '@astrale-os/kernel-ports/functions';
4
+ import type { invocation as protocol } from '@astrale-os/kernel-protocol';
5
+ import type { PublicationSnapshot } from '../publication/index.js';
6
+ /** Optional platform retention and timer adaptation for one Fetch invocation. */
7
+ export interface ApplicationHost {
8
+ waitUntil(promise: Promise<unknown>): void;
9
+ readonly sleep?: (durationMs: number) => Promise<void>;
10
+ }
11
+ /** Immutable lifetime and execution conveniences for one admitted dispatch. */
12
+ export interface InvocationContext extends InboundRequestOptions {
13
+ readonly background: RequestBackground;
14
+ /** Rejects promptly when execution is cancelled or reaches its deadline. */
15
+ readonly sleep: RequestSleep;
16
+ }
17
+ /** Ready semantic capability invoked by canonical and advertised transport routes. */
18
+ export interface HandlerRequest {
19
+ readonly call: Call;
20
+ /** Admitted transport correlation syntax, separate from semantic execution options. */
21
+ readonly trace?: protocol.Trace;
22
+ readonly credential?: CredentialInput;
23
+ /** Source-only effective delegation forwarded unchanged to Runtime. */
24
+ readonly delegate?: protocol.Delegate;
25
+ /** Destination routing witness forwarded after exact or same-schema Server admission. */
26
+ readonly via?: protocol.Via;
27
+ /** Source-only local-target or remote-revision Schema Registration precondition. */
28
+ readonly schema?: protocol.SchemaTarget;
29
+ /** Exact Server-pinned serving generation for a Publication-backed request. */
30
+ readonly publication?: PublicationSnapshot;
31
+ readonly context: InvocationContext;
32
+ }
33
+ export interface Handler {
34
+ dispatch(request: HandlerRequest): Promise<Result | {
35
+ readonly kind: 'miss';
36
+ }>;
37
+ }
38
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../invocation/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AACnE,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EACb,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,KAAK,EAAE,UAAU,IAAI,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAEzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAElE,iFAAiF;AACjF,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAA;IAC1C,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACvD;AAED,+EAA+E;AAC/E,MAAM,WAAW,iBAAkB,SAAQ,qBAAqB;IAC9D,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAA;IACtC,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAA;CAC7B;AAED,sFAAsF;AACtF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,uFAAuF;IACvF,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAA;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,eAAe,CAAA;IACrC,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAA;IACrC,yFAAyF;IACzF,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAA;IAC3B,oFAAoF;IACpF,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAA;IACvC,+EAA+E;IAC/E,QAAQ,CAAC,WAAW,CAAC,EAAE,mBAAmB,CAAA;IAC1C,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAA;CACpC;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC/E"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../invocation/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import { issuer as protocolIssuer } from '@astrale-os/kernel-protocol';
2
+ import type { CorsPolicy } from '../cors/index.js';
3
+ import type { ActiveOperations } from '../lifecycle/index.js';
4
+ import type { ServerRouter } from '../transport/index.js';
5
+ export interface Context {
6
+ readonly signal: AbortSignal;
7
+ }
8
+ export interface Provider {
9
+ exchange(request: protocolIssuer.exchange.Request, context: Context): Promise<protocolIssuer.exchange.Response>;
10
+ }
11
+ export declare function capture(input: Provider): Provider;
12
+ export declare function mount(app: ServerRouter, issuer: string, provider: Provider, cors: CorsPolicy, active: ActiveOperations, timeoutMs: number): void;
13
+ //# sourceMappingURL=exchange.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exchange.d.ts","sourceRoot":"","sources":["../../issuer/exchange.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,MAAM,IAAI,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAE9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEzD,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;CAC7B;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CACN,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC,OAAO,EACxC,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;CAC7C;AASD,wBAAgB,OAAO,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,CASjD;AAED,wBAAgB,KAAK,CACnB,GAAG,EAAE,YAAY,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,gBAAgB,EACxB,SAAS,EAAE,MAAM,GAChB,IAAI,CA8EN"}
@@ -0,0 +1,135 @@
1
+ import { credential } from '@astrale-os/kernel-core/auth';
2
+ import { errors, issuer as protocolIssuer } from '@astrale-os/kernel-protocol';
3
+ const PROVIDER_CODES = new Set([
4
+ errors.CODES.AUTH_INVALID,
5
+ errors.CODES.AUTH_EXPIRED,
6
+ errors.CODES.BACKEND_UNAVAILABLE,
7
+ errors.CODES.DEADLINE_EXCEEDED,
8
+ ]);
9
+ export function capture(input) {
10
+ if (input === null || typeof input !== 'object' || typeof input.exchange !== 'function') {
11
+ throw new TypeError('Token-exchange provider is invalid.');
12
+ }
13
+ const exchange = input.exchange;
14
+ return Object.freeze({
15
+ exchange: (request, context) => exchange.call(input, request, context),
16
+ });
17
+ }
18
+ export function mount(app, issuer, provider, cors, active, timeoutMs) {
19
+ const path = protocolIssuer.paths(issuer).tokenExchange;
20
+ if (cors.enabled) {
21
+ app.options(path, (context) => cors.preflight(context.req.raw, { methods: ['POST'], headers: ['authorization', 'accept'] }));
22
+ }
23
+ app.all(path, async (context) => {
24
+ const request = context.req.raw;
25
+ const respond = (payload, extra) => json(payload, errors.httpStatusOf(payload.error), request, cors, extra);
26
+ let admitted;
27
+ try {
28
+ admitted = protocolIssuer.exchange.acceptHttpRequest({
29
+ method: request.method,
30
+ url: request.url,
31
+ authorization: request.headers.get('authorization'),
32
+ accept: request.headers.get('accept'),
33
+ });
34
+ }
35
+ catch (cause) {
36
+ if (cause instanceof errors.ProtocolError) {
37
+ return respond(protocolIssuer.exchange.acceptErrorResponse({ error: cause.payload }), cause.payload.code === errors.CODES.METHOD_NOT_ALLOWED ? { allow: 'POST' } : undefined);
38
+ }
39
+ throw cause;
40
+ }
41
+ if (!active.isAccepting) {
42
+ return respond(error('BACKEND_UNAVAILABLE', 'Token exchange is unavailable.'));
43
+ }
44
+ const operation = active.begin(timeoutMs, request.signal);
45
+ if (operation === undefined) {
46
+ return respond(error('LIMIT_EXCEEDED', 'Token-exchange limit exceeded.'));
47
+ }
48
+ try {
49
+ try {
50
+ await requireEmptyBody(request, operation.signal);
51
+ }
52
+ catch (cause) {
53
+ if (operation.timedOut) {
54
+ return respond(error('DEADLINE_EXCEEDED', 'Token-exchange deadline elapsed.'));
55
+ }
56
+ if (cause instanceof errors.ProtocolError) {
57
+ return respond(protocolIssuer.exchange.acceptErrorResponse({ error: cause.payload }));
58
+ }
59
+ throw cause;
60
+ }
61
+ let output;
62
+ try {
63
+ output = await provider.exchange(admitted, { signal: operation.signal });
64
+ }
65
+ catch (cause) {
66
+ if (operation.timedOut) {
67
+ return respond(error('DEADLINE_EXCEEDED', 'Token-exchange deadline elapsed.'));
68
+ }
69
+ if (cause instanceof errors.ProtocolError && PROVIDER_CODES.has(cause.payload.code)) {
70
+ return respond(protocolIssuer.exchange.acceptErrorResponse({ error: cause.payload }));
71
+ }
72
+ throw cause;
73
+ }
74
+ if (operation.timedOut) {
75
+ return respond(error('DEADLINE_EXCEEDED', 'Token-exchange deadline elapsed.'));
76
+ }
77
+ const response = protocolIssuer.exchange.acceptResponse(output);
78
+ if (credential.inspect(response.token).claims.exp !== response.expiresAt) {
79
+ throw new TypeError('Token-exchange provider returned inconsistent expiry evidence.');
80
+ }
81
+ return json(response, 200, request, cors);
82
+ }
83
+ catch {
84
+ return respond(error('INTERNAL_ERROR', 'Internal token-exchange failure.'));
85
+ }
86
+ finally {
87
+ operation.settle();
88
+ }
89
+ });
90
+ }
91
+ async function requireEmptyBody(request, signal) {
92
+ const declared = request.headers.get('content-length');
93
+ if (declared !== null && declared !== '0')
94
+ invalidRequest();
95
+ const reader = request.body?.getReader();
96
+ if (reader === undefined)
97
+ return;
98
+ const abort = () => void reader.cancel(signal.reason).catch(() => undefined);
99
+ signal.addEventListener('abort', abort, { once: true });
100
+ try {
101
+ if (signal.aborted)
102
+ throw signal.reason;
103
+ const first = await reader.read();
104
+ if (!first.done) {
105
+ await reader.cancel('token exchange requires an empty body').catch(() => undefined);
106
+ invalidRequest();
107
+ }
108
+ }
109
+ finally {
110
+ signal.removeEventListener('abort', abort);
111
+ reader.releaseLock();
112
+ }
113
+ }
114
+ function invalidRequest() {
115
+ throw new errors.ProtocolError({
116
+ code: errors.CODES.INVALID_REQUEST,
117
+ message: 'Token exchange requires an empty request body.',
118
+ });
119
+ }
120
+ function error(code, message) {
121
+ return protocolIssuer.exchange.acceptErrorResponse({
122
+ error: { code: errors.CODES[code], message },
123
+ });
124
+ }
125
+ function json(value, status, request, cors, extra) {
126
+ const headers = new Headers(protocolIssuer.exchange.responseHeaders());
127
+ for (const [name, value] of Object.entries(cors.response(request)))
128
+ headers.set(name, value);
129
+ if (extra !== undefined) {
130
+ for (const [name, value] of new Headers(extra))
131
+ headers.set(name, value);
132
+ }
133
+ return new Response(JSON.stringify(value), { status, headers });
134
+ }
135
+ //# sourceMappingURL=exchange.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exchange.js","sourceRoot":"","sources":["../../issuer/exchange.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { admitIssuer, issuerRouteReservations, mountIssuer, type IssuerRouteReservation, } from './routes.js';
2
+ export type * as exchange from './exchange.js';
3
+ export type { Issuer } from './types.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../issuer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,uBAAuB,EACvB,WAAW,EACX,KAAK,sBAAsB,GAC5B,MAAM,aAAa,CAAA;AACpB,YAAY,KAAK,QAAQ,MAAM,eAAe,CAAA;AAC9C,YAAY,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { admitIssuer, issuerRouteReservations, mountIssuer, } from './routes.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../issuer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,uBAAuB,EACvB,WAAW,GAEZ,MAAM,aAAa,CAAA"}
@@ -0,0 +1,14 @@
1
+ import type { CorsPolicy } from '../cors/index.js';
2
+ import type { ActiveOperations } from '../lifecycle/index.js';
3
+ import type { ServerRouter } from '../transport/index.js';
4
+ import type { Provider } from './exchange.js';
5
+ import type { Issuer } from './types.js';
6
+ export interface IssuerRouteReservation {
7
+ readonly path: string;
8
+ readonly methods: readonly string[];
9
+ }
10
+ export declare function issuerRouteReservations(input: Issuer, tokenExchange?: boolean): readonly IssuerRouteReservation[];
11
+ export declare function mountIssuer(app: ServerRouter, input: Issuer, cors: CorsPolicy, active: ActiveOperations, timeoutMs: number, tokenExchange?: Provider): void;
12
+ /** Admit static discovery configuration before Runtime Boot performs any durable work. */
13
+ export declare function admitIssuer(input: Issuer): Issuer;
14
+ //# sourceMappingURL=routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../issuer/routes.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAKxC,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;CACpC;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,EACb,aAAa,UAAQ,GACpB,SAAS,sBAAsB,EAAE,CAyBnC;AAED,wBAAgB,WAAW,CACzB,GAAG,EAAE,YAAY,EACjB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,gBAAgB,EACxB,SAAS,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,QAAQ,GACvB,IAAI,CA0IN;AAWD,0FAA0F;AAC1F,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAyBjD"}