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

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 (243) hide show
  1. package/dist/invocation/admission.d.ts +4 -2
  2. package/dist/invocation/admission.d.ts.map +1 -1
  3. package/dist/invocation/admission.js +15 -3
  4. package/dist/invocation/admission.js.map +1 -1
  5. package/dist/invocation/binary.d.ts +3 -1
  6. package/dist/invocation/binary.d.ts.map +1 -1
  7. package/dist/invocation/binary.js +5 -4
  8. package/dist/invocation/binary.js.map +1 -1
  9. package/dist/invocation/cancellation.d.ts +1 -1
  10. package/dist/invocation/cancellation.d.ts.map +1 -1
  11. package/dist/invocation/cancellation.js +3 -3
  12. package/dist/invocation/cancellation.js.map +1 -1
  13. package/dist/invocation/http/binary.d.ts +7 -0
  14. package/dist/invocation/http/binary.d.ts.map +1 -1
  15. package/dist/invocation/http/binary.js +46 -2
  16. package/dist/invocation/http/binary.js.map +1 -1
  17. package/dist/invocation/http/index.d.ts +1 -1
  18. package/dist/invocation/http/index.d.ts.map +1 -1
  19. package/dist/invocation/http/index.js +1 -1
  20. package/dist/invocation/http/index.js.map +1 -1
  21. package/dist/invocation/identity.d.ts +17 -0
  22. package/dist/invocation/identity.d.ts.map +1 -0
  23. package/dist/invocation/identity.js +56 -0
  24. package/dist/invocation/identity.js.map +1 -0
  25. package/dist/invocation/index.d.ts +4 -3
  26. package/dist/invocation/index.d.ts.map +1 -1
  27. package/dist/invocation/index.js +3 -2
  28. package/dist/invocation/index.js.map +1 -1
  29. package/dist/invocation/miss.d.ts +4 -2
  30. package/dist/invocation/miss.d.ts.map +1 -1
  31. package/dist/invocation/miss.js +10 -6
  32. package/dist/invocation/miss.js.map +1 -1
  33. package/dist/invocation/redirect.d.ts +19 -11
  34. package/dist/invocation/redirect.d.ts.map +1 -1
  35. package/dist/invocation/redirect.js +30 -16
  36. package/dist/invocation/redirect.js.map +1 -1
  37. package/dist/invocation/request.d.ts +1 -1
  38. package/dist/invocation/request.d.ts.map +1 -1
  39. package/dist/invocation/request.js +3 -3
  40. package/dist/invocation/request.js.map +1 -1
  41. package/dist/invocation/response.d.ts +9 -6
  42. package/dist/invocation/response.d.ts.map +1 -1
  43. package/dist/invocation/response.js +14 -9
  44. package/dist/invocation/response.js.map +1 -1
  45. package/dist/invocation/routing.d.ts +3 -2
  46. package/dist/invocation/routing.d.ts.map +1 -1
  47. package/dist/invocation/routing.js +4 -3
  48. package/dist/invocation/routing.js.map +1 -1
  49. package/dist/invocation/schema.d.ts +2 -2
  50. package/dist/invocation/schema.d.ts.map +1 -1
  51. package/dist/invocation/schema.js +2 -2
  52. package/dist/invocation/schema.js.map +1 -1
  53. package/dist/invocation/service-reason.d.ts +17 -9
  54. package/dist/invocation/service-reason.d.ts.map +1 -1
  55. package/dist/invocation/service-reason.js +18 -6
  56. package/dist/invocation/service-reason.js.map +1 -1
  57. package/dist/invocation/stale-route.d.ts +4 -2
  58. package/dist/invocation/stale-route.d.ts.map +1 -1
  59. package/dist/invocation/stale-route.js +7 -6
  60. package/dist/invocation/stale-route.js.map +1 -1
  61. package/dist/invocation/stream.d.ts +6 -4
  62. package/dist/invocation/stream.d.ts.map +1 -1
  63. package/dist/invocation/stream.js +17 -13
  64. package/dist/invocation/stream.js.map +1 -1
  65. package/dist/invocation/target.d.ts +2 -7
  66. package/dist/invocation/target.d.ts.map +1 -1
  67. package/dist/invocation/target.js.map +1 -1
  68. package/dist/invocation/websocket/binary.d.ts.map +1 -1
  69. package/dist/invocation/websocket/binary.js +2 -1
  70. package/dist/invocation/websocket/binary.js.map +1 -1
  71. package/dist/issuer/configuration.d.ts +1 -1
  72. package/dist/issuer/configuration.d.ts.map +1 -1
  73. package/dist/issuer/hosted.d.ts +1 -1
  74. package/dist/issuer/hosted.d.ts.map +1 -1
  75. package/dist/issuer/key-set.d.ts +1 -1
  76. package/dist/issuer/key-set.d.ts.map +1 -1
  77. package/dist/issuer/key-set.js +3 -2
  78. package/dist/issuer/key-set.js.map +1 -1
  79. package/dist/issuer/url.d.ts +1 -1
  80. package/dist/issuer/url.d.ts.map +1 -1
  81. package/dist/issuer/url.js +3 -2
  82. package/dist/issuer/url.js.map +1 -1
  83. package/dist/publication/bindings/callable.d.ts +1 -1
  84. package/dist/publication/bindings/callable.d.ts.map +1 -1
  85. package/dist/publication/bindings/callable.js +1 -1
  86. package/dist/publication/bindings/callable.js.map +1 -1
  87. package/dist/publication/bindings/view.d.ts +1 -1
  88. package/dist/publication/bindings/view.d.ts.map +1 -1
  89. package/dist/publication/bindings/view.js +1 -1
  90. package/dist/publication/bindings/view.js.map +1 -1
  91. package/dist/publication/bundle-admission.d.ts +5 -0
  92. package/dist/publication/bundle-admission.d.ts.map +1 -0
  93. package/dist/publication/bundle-admission.js +66 -0
  94. package/dist/publication/bundle-admission.js.map +1 -0
  95. package/dist/publication/bundle-descriptor.d.ts +10 -0
  96. package/dist/publication/bundle-descriptor.d.ts.map +1 -0
  97. package/dist/publication/bundle-descriptor.js +20 -0
  98. package/dist/publication/bundle-descriptor.js.map +1 -0
  99. package/dist/publication/bundle-evidence.d.ts +4 -0
  100. package/dist/publication/bundle-evidence.d.ts.map +1 -0
  101. package/dist/publication/bundle-evidence.js +14 -0
  102. package/dist/publication/bundle-evidence.js.map +1 -0
  103. package/dist/publication/bundle.d.ts +4 -10
  104. package/dist/publication/bundle.d.ts.map +1 -1
  105. package/dist/publication/bundle.js +5 -25
  106. package/dist/publication/bundle.js.map +1 -1
  107. package/dist/publication/declaration.d.ts +12 -0
  108. package/dist/publication/declaration.d.ts.map +1 -0
  109. package/dist/publication/declaration.js +2 -0
  110. package/dist/publication/declaration.js.map +1 -0
  111. package/dist/publication/delivery/claims.d.ts +8 -7
  112. package/dist/publication/delivery/claims.d.ts.map +1 -1
  113. package/dist/publication/delivery/claims.js +6 -6
  114. package/dist/publication/delivery/claims.js.map +1 -1
  115. package/dist/publication/delivery/delivery.d.ts +1 -1
  116. package/dist/publication/delivery/delivery.d.ts.map +1 -1
  117. package/dist/publication/delivery/delivery.js +1 -1
  118. package/dist/publication/delivery/delivery.js.map +1 -1
  119. package/dist/publication/delivery/request.d.ts +3 -3
  120. package/dist/publication/delivery/request.d.ts.map +1 -1
  121. package/dist/publication/delivery/request.js +4 -3
  122. package/dist/publication/delivery/request.js.map +1 -1
  123. package/dist/publication/delivery-declaration.d.ts +5 -0
  124. package/dist/publication/delivery-declaration.d.ts.map +1 -0
  125. package/dist/publication/delivery-declaration.js +26 -0
  126. package/dist/publication/delivery-declaration.js.map +1 -0
  127. package/dist/publication/index.d.ts +6 -2
  128. package/dist/publication/index.d.ts.map +1 -1
  129. package/dist/publication/index.js +4 -1
  130. package/dist/publication/index.js.map +1 -1
  131. package/dist/publication/manifest.d.ts +1 -1
  132. package/dist/publication/manifest.d.ts.map +1 -1
  133. package/dist/publication/manifest.js +1 -1
  134. package/dist/publication/manifest.js.map +1 -1
  135. package/dist/publication/publication.d.ts +3 -5
  136. package/dist/publication/publication.d.ts.map +1 -1
  137. package/dist/publication/publication.js +7 -66
  138. package/dist/publication/publication.js.map +1 -1
  139. package/dist/publication/reference.d.ts +3 -2
  140. package/dist/publication/reference.d.ts.map +1 -1
  141. package/dist/publication/reference.js +7 -6
  142. package/dist/publication/reference.js.map +1 -1
  143. package/dist/publication/requirements.d.ts +3 -2
  144. package/dist/publication/requirements.d.ts.map +1 -1
  145. package/dist/publication/requirements.js +16 -11
  146. package/dist/publication/requirements.js.map +1 -1
  147. package/dist/publication/route.d.ts +6 -1
  148. package/dist/publication/route.d.ts.map +1 -1
  149. package/dist/publication/route.js +31 -8
  150. package/dist/publication/route.js.map +1 -1
  151. package/dist/publication/schema.d.ts +3 -3
  152. package/dist/publication/schema.d.ts.map +1 -1
  153. package/dist/publication/schema.js +3 -3
  154. package/dist/publication/schema.js.map +1 -1
  155. package/dist/routes/admission.d.ts +4 -0
  156. package/dist/routes/admission.d.ts.map +1 -0
  157. package/dist/routes/admission.js +90 -0
  158. package/dist/routes/admission.js.map +1 -0
  159. package/dist/routes/binding.d.ts +7 -0
  160. package/dist/routes/binding.d.ts.map +1 -0
  161. package/dist/routes/binding.js +28 -0
  162. package/dist/routes/binding.js.map +1 -0
  163. package/dist/routes/collision.d.ts +3 -0
  164. package/dist/routes/collision.d.ts.map +1 -0
  165. package/dist/routes/collision.js +17 -0
  166. package/dist/routes/collision.js.map +1 -0
  167. package/dist/routes/compiler.d.ts +9 -0
  168. package/dist/routes/compiler.d.ts.map +1 -0
  169. package/dist/routes/compiler.js +48 -0
  170. package/dist/routes/compiler.js.map +1 -0
  171. package/dist/routes/credential.d.ts +7 -7
  172. package/dist/routes/credential.d.ts.map +1 -1
  173. package/dist/routes/credential.js +7 -7
  174. package/dist/routes/credential.js.map +1 -1
  175. package/dist/routes/decode.d.ts +4 -2
  176. package/dist/routes/decode.d.ts.map +1 -1
  177. package/dist/routes/decode.js +36 -31
  178. package/dist/routes/decode.js.map +1 -1
  179. package/dist/routes/encode.d.ts +3 -2
  180. package/dist/routes/encode.d.ts.map +1 -1
  181. package/dist/routes/encode.js +25 -22
  182. package/dist/routes/encode.js.map +1 -1
  183. package/dist/routes/evidence.d.ts +6 -0
  184. package/dist/routes/evidence.d.ts.map +1 -0
  185. package/dist/routes/evidence.js +38 -0
  186. package/dist/routes/evidence.js.map +1 -0
  187. package/dist/routes/index.d.ts +9 -2
  188. package/dist/routes/index.d.ts.map +1 -1
  189. package/dist/routes/index.js +6 -2
  190. package/dist/routes/index.js.map +1 -1
  191. package/dist/routes/mapping.d.ts +1 -1
  192. package/dist/routes/mapping.d.ts.map +1 -1
  193. package/dist/routes/mapping.js +4 -12
  194. package/dist/routes/mapping.js.map +1 -1
  195. package/dist/routes/match.d.ts +3 -3
  196. package/dist/routes/match.d.ts.map +1 -1
  197. package/dist/routes/match.js +3 -4
  198. package/dist/routes/match.js.map +1 -1
  199. package/dist/routes/placement.d.ts +6 -0
  200. package/dist/routes/placement.d.ts.map +1 -0
  201. package/dist/routes/placement.js +19 -0
  202. package/dist/routes/placement.js.map +1 -0
  203. package/dist/routes/plan.d.ts +24 -0
  204. package/dist/routes/plan.d.ts.map +1 -0
  205. package/dist/routes/plan.js +2 -0
  206. package/dist/routes/plan.js.map +1 -0
  207. package/dist/routes/release-unavailable.d.ts +9 -0
  208. package/dist/routes/release-unavailable.d.ts.map +1 -0
  209. package/dist/routes/release-unavailable.js +33 -0
  210. package/dist/routes/release-unavailable.js.map +1 -0
  211. package/dist/routes/reservation.d.ts +3 -3
  212. package/dist/routes/reservation.d.ts.map +1 -1
  213. package/dist/routes/reservation.js +4 -4
  214. package/dist/routes/reservation.js.map +1 -1
  215. package/dist/routes/scalar.d.ts +4 -3
  216. package/dist/routes/scalar.d.ts.map +1 -1
  217. package/dist/routes/scalar.js +14 -10
  218. package/dist/routes/scalar.js.map +1 -1
  219. package/dist/routes/select.d.ts +2 -2
  220. package/dist/routes/select.d.ts.map +1 -1
  221. package/dist/routes/select.js +2 -2
  222. package/dist/routes/select.js.map +1 -1
  223. package/dist/routes/table.d.ts +10 -0
  224. package/dist/routes/table.d.ts.map +1 -0
  225. package/dist/routes/table.js +2 -0
  226. package/dist/routes/table.js.map +1 -0
  227. package/dist/routes/target.d.ts +14 -0
  228. package/dist/routes/target.d.ts.map +1 -0
  229. package/dist/routes/target.js +4 -0
  230. package/dist/routes/target.js.map +1 -0
  231. package/dist/runtime/artifact.d.ts +1 -1
  232. package/dist/runtime/artifact.d.ts.map +1 -1
  233. package/dist/runtime/artifact.js +2 -2
  234. package/dist/runtime/artifact.js.map +1 -1
  235. package/package.json +96 -3
  236. package/dist/routes/compile.d.ts +0 -5
  237. package/dist/routes/compile.d.ts.map +0 -1
  238. package/dist/routes/compile.js +0 -69
  239. package/dist/routes/compile.js.map +0 -1
  240. package/dist/routes/route.d.ts +0 -13
  241. package/dist/routes/route.d.ts.map +0 -1
  242. package/dist/routes/route.js +0 -6
  243. package/dist/routes/route.js.map +0 -1
@@ -1,15 +1,17 @@
1
- import { type IssuerId } from '@astrale-os/kernel-core/auth';
1
+ import { type IssuerId } from '@astrale-os/kernel-core/auth/issuer';
2
2
  import { NodePath } from '@astrale-os/kernel-core/path';
3
- import { Key } from '@astrale-os/kernel-dsl/v1';
3
+ import { Key } from '@astrale-os/kernel-dsl/v1/addressing';
4
4
  import { type Object as ValueObject } from '@astrale-os/kernel-dsl/value';
5
5
  import type { ErrorPayload } from '../errors/index.js';
6
6
  import type { Etag } from '../publication/index.js';
7
7
  import { type RequestId } from './correlation.js';
8
+ import { type InvocationId } from './identity.js';
8
9
  export declare function portableObject(input: unknown, label: string): ValueObject;
9
10
  export declare function exactDataObject(input: unknown, label: string): Record<string, unknown>;
10
11
  export declare function exactFields(object: Record<string, unknown>, allowed: ReadonlySet<string>, label: string): void;
11
12
  export declare function required(object: Record<string, unknown>, fields: readonly string[], label: string): void;
12
13
  export declare function requestId(input: unknown, label: string): RequestId;
14
+ export declare function invocation(input: unknown, label: string): InvocationId;
13
15
  export declare function nodePath(input: unknown, label: string): NodePath;
14
16
  export declare function issuerId(input: unknown, label: string): IssuerId;
15
17
  export declare function string(input: unknown, label: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"admission.d.ts","sourceRoot":"","sources":["../../invocation/admission.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AACpF,OAAO,EAAE,QAAQ,EAAa,MAAM,8BAA8B,CAAA;AAClE,OAAO,EAAE,GAAG,EAAO,MAAM,2BAA2B,CAAA;AACpD,OAAO,EAGL,KAAK,MAAM,IAAI,WAAW,EAE3B,MAAM,8BAA8B,CAAA;AAErC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAA;AAGnD,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAElE,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW,CAYzE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkBtF;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,EAC5B,KAAK,EAAE,MAAM,GACZ,IAAI,CAIN;AAED,wBAAgB,QAAQ,CACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,KAAK,EAAE,MAAM,GACZ,IAAI,CAIN;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,CAOlE;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAQhE;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAShE;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAG5D;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAK3D;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAI1D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,QAAQ,CAavE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,CAOxE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAqB9E;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAE9C"}
1
+ {"version":3,"file":"admission.d.ts","sourceRoot":"","sources":["../../invocation/admission.ts"],"names":[],"mappings":"AACA,OAAO,EAA0B,KAAK,QAAQ,EAAE,MAAM,qCAAqC,CAAA;AAC3F,OAAO,EAAE,QAAQ,EAAa,MAAM,8BAA8B,CAAA;AAClE,OAAO,EAAE,GAAG,EAAO,MAAM,sCAAsC,CAAA;AAC/D,OAAO,EAGL,KAAK,MAAM,IAAI,WAAW,EAE3B,MAAM,8BAA8B,CAAA;AAErC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAA;AAGnD,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAClE,OAAO,EAAuC,KAAK,YAAY,EAAE,MAAM,eAAe,CAAA;AAEtF,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW,CAYzE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkBtF;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,EAC5B,KAAK,EAAE,MAAM,GACZ,IAAI,CAIN;AAED,wBAAgB,QAAQ,CACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,KAAK,EAAE,MAAM,GACZ,IAAI,CAIN;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,CAOlE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,CAOtE;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAQhE;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAShE;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAG5D;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAK3D;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAI1D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,QAAQ,CAavE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,CAOxE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAqB9E;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAE9C"}
@@ -1,9 +1,11 @@
1
- import { AuthValueError, issuer } from '@astrale-os/kernel-core/auth';
1
+ import { AuthValueError } from '@astrale-os/kernel-core/auth/error';
2
+ import { accept as acceptIssuer } from '@astrale-os/kernel-core/auth/issuer';
2
3
  import { NodePath, PathError } from '@astrale-os/kernel-core/path';
3
- import { Key, Ref } from '@astrale-os/kernel-dsl/v1';
4
+ import { Key, Ref } from '@astrale-os/kernel-dsl/v1/addressing';
4
5
  import { accept as acceptValue, BoundaryError, } from '@astrale-os/kernel-dsl/value';
5
6
  import { CODES, acceptPayload, ProtocolError } from '../errors/index.js';
6
7
  import { acceptRequestId } from './correlation.js';
8
+ import { acceptInvocationId, InvocationError } from './identity.js';
7
9
  export function portableObject(input, label) {
8
10
  let cloned;
9
11
  try {
@@ -61,6 +63,16 @@ export function requestId(input, label) {
61
63
  throw cause;
62
64
  }
63
65
  }
66
+ export function invocation(input, label) {
67
+ try {
68
+ return acceptInvocationId(input);
69
+ }
70
+ catch (cause) {
71
+ if (cause instanceof InvocationError)
72
+ return invalid(`${label} must be a valid Invocation`);
73
+ throw cause;
74
+ }
75
+ }
64
76
  export function nodePath(input, label) {
65
77
  if (typeof input !== 'string')
66
78
  invalid(`${label} must be a NodePath string`);
@@ -77,7 +89,7 @@ export function issuerId(input, label) {
77
89
  if (typeof input !== 'string')
78
90
  invalid(`${label} must be an issuer identifier`);
79
91
  try {
80
- return issuer.accept(input);
92
+ return acceptIssuer(input);
81
93
  }
82
94
  catch (cause) {
83
95
  if (cause instanceof AuthValueError)
@@ -1 +1 @@
1
- {"version":3,"file":"admission.js","sourceRoot":"","sources":["../../invocation/admission.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admission.js","sourceRoot":"","sources":["../../invocation/admission.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  import type { RequestId } from './correlation.js';
2
+ import type { InvocationId } from './identity.js';
2
3
  export interface BinaryResponse {
3
4
  readonly kind: 'binary';
4
- readonly id: RequestId;
5
+ readonly requestId: RequestId;
6
+ readonly invocation: InvocationId;
5
7
  readonly body: Uint8Array;
6
8
  readonly mediaType: string;
7
9
  readonly headers?: Readonly<Record<string, string>>;
@@ -1 +1 @@
1
- {"version":3,"file":"binary.d.ts","sourceRoot":"","sources":["../../invocation/binary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAYjD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CACpD;AAKD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CAkBnE"}
1
+ {"version":3,"file":"binary.d.ts","sourceRoot":"","sources":["../../invocation/binary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAajD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAA;IACjC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CACpD;AAKD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CAmBnE"}
@@ -1,10 +1,10 @@
1
- import { acceptHeaders, exactDataObject, exactFields, invalid, requestId, required, string, } from './admission.js';
2
- const FIELDS = new Set(['kind', 'id', 'body', 'mediaType', 'headers']);
1
+ import { acceptHeaders, exactDataObject, exactFields, invalid, invocation, requestId, required, string, } from './admission.js';
2
+ const FIELDS = new Set(['kind', 'requestId', 'invocation', 'body', 'mediaType', 'headers']);
3
3
  const MEDIA_TYPE = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/u;
4
4
  export function decodeBinaryResponse(input) {
5
5
  const object = exactDataObject(input, 'binary response');
6
6
  exactFields(object, FIELDS, 'binary response');
7
- required(object, ['kind', 'id', 'body', 'mediaType'], 'binary response');
7
+ required(object, ['kind', 'requestId', 'invocation', 'body', 'mediaType'], 'binary response');
8
8
  if (object.kind !== 'binary')
9
9
  invalid('binary response.kind must be "binary"');
10
10
  if (!(object.body instanceof Uint8Array))
@@ -15,7 +15,8 @@ export function decodeBinaryResponse(input) {
15
15
  const headers = object.headers === undefined ? undefined : acceptHeaders(object.headers);
16
16
  return Object.freeze({
17
17
  kind: 'binary',
18
- id: requestId(object.id, 'binary response.id'),
18
+ requestId: requestId(object.requestId, 'binary response.requestId'),
19
+ invocation: invocation(object.invocation, 'binary response.invocation'),
19
20
  body: new Uint8Array(object.body),
20
21
  mediaType,
21
22
  ...(headers === undefined ? {} : { headers }),
@@ -1 +1 @@
1
- {"version":3,"file":"binary.js","sourceRoot":"","sources":["../../invocation/binary.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EACb,eAAe,EACf,WAAW,EACX,OAAO,EACP,SAAS,EACT,QAAQ,EACR,MAAM,GACP,MAAM,gBAAgB,CAAA;AAUvB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAA;AACtE,MAAM,UAAU,GAAG,6DAA6D,CAAA;AAEhF,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAA;IACxD,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAA;IAC9C,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,iBAAiB,CAAC,CAAA;IACxE,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,CAAC,uCAAuC,CAAC,CAAA;IAC9E,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,YAAY,UAAU,CAAC;QAAE,OAAO,CAAC,2CAA2C,CAAC,CAAA;IAE9F,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,2BAA2B,CAAC,CAAA;IACvE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;QAAE,OAAO,CAAC,sCAAsC,CAAC,CAAA;IAChF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAExF,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,QAAQ;QACd,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,oBAAoB,CAAC;QAC9C,IAAI,EAAE,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;QACjC,SAAS;QACT,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;KAC9C,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"binary.js","sourceRoot":"","sources":["../../invocation/binary.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,aAAa,EACb,eAAe,EACf,WAAW,EACX,OAAO,EACP,UAAU,EACV,SAAS,EACT,QAAQ,EACR,MAAM,GACP,MAAM,gBAAgB,CAAA;AAWvB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAA;AAC3F,MAAM,UAAU,GAAG,6DAA6D,CAAA;AAEhF,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAA;IACxD,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAA;IAC9C,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,iBAAiB,CAAC,CAAA;IAC7F,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,CAAC,uCAAuC,CAAC,CAAA;IAC9E,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,YAAY,UAAU,CAAC;QAAE,OAAO,CAAC,2CAA2C,CAAC,CAAA;IAE9F,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,2BAA2B,CAAC,CAAA;IACvE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;QAAE,OAAO,CAAC,sCAAsC,CAAC,CAAA;IAChF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAExF,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,2BAA2B,CAAC;QACnE,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,4BAA4B,CAAC;QACvE,IAAI,EAAE,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;QACjC,SAAS;QACT,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;KAC9C,CAAC,CAAA;AACJ,CAAC"}
@@ -3,7 +3,7 @@ import type { Version } from './version.js';
3
3
  export interface CancelRequest {
4
4
  readonly version: Version;
5
5
  readonly kind: 'cancel';
6
- readonly id: RequestId;
6
+ readonly requestId: RequestId;
7
7
  }
8
8
  export declare function decodeCancelRequest(input: unknown): CancelRequest;
9
9
  //# sourceMappingURL=cancellation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cancellation.d.ts","sourceRoot":"","sources":["../../invocation/cancellation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAI3C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAA;CACvB;AAID,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,CAWjE"}
1
+ {"version":3,"file":"cancellation.d.ts","sourceRoot":"","sources":["../../invocation/cancellation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAI3C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;CAC9B;AAID,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,CAWjE"}
@@ -1,9 +1,9 @@
1
1
  import { exactFields, invalid, portableObject, requestId, required } from './admission.js';
2
- const FIELDS = new Set(['version', 'kind', 'id']);
2
+ const FIELDS = new Set(['version', 'kind', 'requestId']);
3
3
  export function decodeCancelRequest(input) {
4
4
  const object = portableObject(input, 'cancel request');
5
5
  exactFields(object, FIELDS, 'cancel request');
6
- required(object, ['version', 'kind', 'id'], 'cancel request');
6
+ required(object, ['version', 'kind', 'requestId'], 'cancel request');
7
7
  if (object.version !== 2)
8
8
  invalid('cancel request.version must be 2');
9
9
  if (object.kind !== 'cancel')
@@ -11,7 +11,7 @@ export function decodeCancelRequest(input) {
11
11
  return Object.freeze({
12
12
  version: 2,
13
13
  kind: 'cancel',
14
- id: requestId(object.id, 'cancel request.id'),
14
+ requestId: requestId(object.requestId, 'cancel request.requestId'),
15
15
  });
16
16
  }
17
17
  //# sourceMappingURL=cancellation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cancellation.js","sourceRoot":"","sources":["../../invocation/cancellation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAQ1F,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAA;AAEjD,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAA;IACtD,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAC7C,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,gBAAgB,CAAC,CAAA;IAC7D,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC;QAAE,OAAO,CAAC,kCAAkC,CAAC,CAAA;IACrE,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,CAAC,sCAAsC,CAAC,CAAA;IAC7E,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,QAAQ;QACd,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,mBAAmB,CAAC;KAC9C,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"cancellation.js","sourceRoot":"","sources":["../../invocation/cancellation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAQ1F,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAA;AAExD,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAA;IACtD,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAC7C,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,gBAAgB,CAAC,CAAA;IACpE,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC;QAAE,OAAO,CAAC,kCAAkC,CAAC,CAAA;IACrE,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,CAAC,sCAAsC,CAAC,CAAA;IAC7E,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,0BAA0B,CAAC;KACnE,CAAC,CAAA;AACJ,CAAC"}
@@ -1,5 +1,12 @@
1
+ import { type InvocationId } from '../identity.js';
1
2
  export declare const BINARY_HEADERS_FIELD: 'x-astrale-binary-headers';
2
3
  export declare const REQUEST_ID_FIELD: 'x-astrale-request-id';
4
+ export declare const INVOCATION_FIELD: 'x-astrale-invocation';
5
+ export declare const MAXIMUM_INVOCATION_FIELD_BYTES = 8192;
6
+ /** Encode one admitted InvocationId as percent-encoded source plus opaque ID. */
7
+ export declare function encodeInvocationId(input: InvocationId): string;
8
+ /** Decode one complete finite-binary InvocationId field. */
9
+ export declare function decodeInvocationId(input: string | null): InvocationId;
3
10
  export declare function isApplicationBinaryHeader(name: string): boolean;
4
11
  export declare function encodeBinaryHeaderNames(headers: Readonly<Record<string, string>> | undefined): string;
5
12
  export declare function decodeBinaryHeaderNames(input: string | null): readonly string[];
@@ -1 +1 @@
1
- {"version":3,"file":"binary.d.ts","sourceRoot":"","sources":["../../../invocation/http/binary.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB,EAAG,0BAAmC,CAAA;AACvE,eAAO,MAAM,gBAAgB,EAAG,sBAA+B,CAAA;AAoC/D,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAQ/D;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,GACpD,MAAM,CAcR;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,MAAM,EAAE,CAgB/E"}
1
+ {"version":3,"file":"binary.d.ts","sourceRoot":"","sources":["../../../invocation/http/binary.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAEtE,eAAO,MAAM,oBAAoB,EAAG,0BAAmC,CAAA;AACvE,eAAO,MAAM,gBAAgB,EAAG,sBAA+B,CAAA;AAC/D,eAAO,MAAM,gBAAgB,EAAG,sBAA+B,CAAA;AAC/D,eAAO,MAAM,8BAA8B,OAAQ,CAAA;AAqCnD,iFAAiF;AACjF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAY9D;AAED,4DAA4D;AAC5D,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,YAAY,CAuBrE;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAQ/D;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,GACpD,MAAM,CAcR;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,MAAM,EAAE,CAgB/E"}
@@ -1,6 +1,9 @@
1
1
  import { CODES, ProtocolError } from '../../errors/index.js';
2
+ import { acceptInvocationId } from '../identity.js';
2
3
  export const BINARY_HEADERS_FIELD = 'x-astrale-binary-headers';
3
4
  export const REQUEST_ID_FIELD = 'x-astrale-request-id';
5
+ export const INVOCATION_FIELD = 'x-astrale-invocation';
6
+ export const MAXIMUM_INVOCATION_FIELD_BYTES = 8_192;
4
7
  const HEADER_NAME = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/u;
5
8
  const MAXIMUM_MANIFEST_BYTES = 8_192;
6
9
  const MAXIMUM_MANIFEST_NAMES = 128;
@@ -30,9 +33,50 @@ const RESERVED = new Set([
30
33
  'www-authenticate',
31
34
  EMPTY_MANIFEST,
32
35
  BINARY_HEADERS_FIELD,
36
+ INVOCATION_FIELD,
33
37
  REQUEST_ID_FIELD,
34
38
  'x-astrale-stream-framing',
35
39
  ]);
40
+ /** Encode one admitted InvocationId as percent-encoded source plus opaque ID. */
41
+ export function encodeInvocationId(input) {
42
+ let source;
43
+ try {
44
+ source = encodeURIComponent(input.source);
45
+ }
46
+ catch {
47
+ return invalid('HTTP binary InvocationId field is invalid.');
48
+ }
49
+ const encoded = `${source};${input.id}`;
50
+ if (new TextEncoder().encode(encoded).byteLength > MAXIMUM_INVOCATION_FIELD_BYTES) {
51
+ invalid('HTTP binary InvocationId field is invalid.');
52
+ }
53
+ return encoded;
54
+ }
55
+ /** Decode one complete finite-binary InvocationId field. */
56
+ export function decodeInvocationId(input) {
57
+ if (input === null ||
58
+ input.length === 0 ||
59
+ new TextEncoder().encode(input).byteLength > MAXIMUM_INVOCATION_FIELD_BYTES) {
60
+ return invalid('HTTP binary InvocationId field is invalid.');
61
+ }
62
+ const separator = input.indexOf(';');
63
+ if (separator < 1 || input.indexOf(';', separator + 1) !== -1) {
64
+ invalid('HTTP binary InvocationId field is invalid.');
65
+ }
66
+ let source;
67
+ try {
68
+ source = decodeURIComponent(input.slice(0, separator));
69
+ }
70
+ catch {
71
+ return invalid('HTTP binary InvocationId field is invalid.');
72
+ }
73
+ try {
74
+ return acceptInvocationId({ source, id: input.slice(separator + 1) });
75
+ }
76
+ catch {
77
+ return invalid('HTTP binary InvocationId field is invalid.');
78
+ }
79
+ }
36
80
  export function isApplicationBinaryHeader(name) {
37
81
  const normalized = name.toLowerCase();
38
82
  return (HEADER_NAME.test(normalized) &&
@@ -80,10 +124,10 @@ export function decodeBinaryHeaderNames(input) {
80
124
  }
81
125
  return Object.freeze(admitted);
82
126
  }
83
- function invalid() {
127
+ function invalid(message = 'HTTP binary application-header manifest is invalid.') {
84
128
  throw new ProtocolError({
85
129
  code: CODES.INVALID_REQUEST,
86
- message: 'HTTP binary application-header manifest is invalid.',
130
+ message,
87
131
  });
88
132
  }
89
133
  //# sourceMappingURL=binary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"binary.js","sourceRoot":"","sources":["../../../invocation/http/binary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binary.js","sourceRoot":"","sources":["../../../invocation/http/binary.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export { BINARY_HEADERS_FIELD, decodeBinaryHeaderNames, encodeBinaryHeaderNames, isApplicationBinaryHeader, REQUEST_ID_FIELD, } from './binary.js';
1
+ export { BINARY_HEADERS_FIELD, decodeBinaryHeaderNames, decodeInvocationId, encodeBinaryHeaderNames, encodeInvocationId, isApplicationBinaryHeader, MAXIMUM_INVOCATION_FIELD_BYTES, INVOCATION_FIELD, REQUEST_ID_FIELD, } from './binary.js';
2
2
  export { codecForContentType, negotiateResponseCodec } from './negotiation.js';
3
3
  export { encodeStreamFrame, LENGTH_PREFIX_V1, STREAM_FRAMING_FIELD } from './stream.js';
4
4
  export { BAGGAGE_FIELD, decodeTraceHeaders, encodeTraceHeaders, TRACEPARENT_FIELD, TRACESTATE_FIELD, } from './trace.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../invocation/http/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,yBAAyB,EACzB,gBAAgB,GACjB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAC9E,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AACvF,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../invocation/http/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,yBAAyB,EACzB,8BAA8B,EAC9B,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAC9E,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AACvF,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,YAAY,CAAA"}
@@ -1,4 +1,4 @@
1
- export { BINARY_HEADERS_FIELD, decodeBinaryHeaderNames, encodeBinaryHeaderNames, isApplicationBinaryHeader, REQUEST_ID_FIELD, } from './binary.js';
1
+ export { BINARY_HEADERS_FIELD, decodeBinaryHeaderNames, decodeInvocationId, encodeBinaryHeaderNames, encodeInvocationId, isApplicationBinaryHeader, MAXIMUM_INVOCATION_FIELD_BYTES, INVOCATION_FIELD, REQUEST_ID_FIELD, } from './binary.js';
2
2
  export { codecForContentType, negotiateResponseCodec } from './negotiation.js';
3
3
  export { encodeStreamFrame, LENGTH_PREFIX_V1, STREAM_FRAMING_FIELD } from './stream.js';
4
4
  export { BAGGAGE_FIELD, decodeTraceHeaders, encodeTraceHeaders, TRACEPARENT_FIELD, TRACESTATE_FIELD, } from './trace.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../invocation/http/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,yBAAyB,EACzB,gBAAgB,GACjB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAC9E,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AACvF,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../invocation/http/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,yBAAyB,EACzB,8BAA8B,EAC9B,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAC9E,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AACvF,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,YAAY,CAAA"}
@@ -0,0 +1,17 @@
1
+ import type { IssuerId } from '@astrale-os/kernel-core/auth';
2
+ export declare const MAXIMUM_INVOCATION_ID_LENGTH = 255;
3
+ /** Portable identity of one source-owned Invocation attempt; it grants no authority. */
4
+ export interface InvocationId {
5
+ readonly source: IssuerId;
6
+ readonly id: string;
7
+ }
8
+ export declare class InvocationError extends TypeError {
9
+ readonly input: unknown;
10
+ readonly code: 'INVOCATION_INVALID';
11
+ constructor(input: unknown, message?: string, options?: ErrorOptions);
12
+ }
13
+ /** Admit, canonicalize, detach, and freeze one exact source-qualified Invocation identity. */
14
+ export declare function acceptInvocationId(input: unknown): InvocationId;
15
+ /** Compare both canonical coordinate fields exactly. */
16
+ export declare function sameInvocationId(left: InvocationId, right: InvocationId): boolean;
17
+ //# sourceMappingURL=identity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../invocation/identity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAI5D,eAAO,MAAM,4BAA4B,MAAM,CAAA;AAM/C,wFAAwF;AACxF,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAA;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CACpB;AAED,qBAAa,eAAgB,SAAQ,SAAS;IAI1C,QAAQ,CAAC,KAAK,EAAE,OAAO;IAHzB,QAAQ,CAAC,IAAI,EAAG,oBAAoB,CAAS;IAE7C,YACW,KAAK,EAAE,OAAO,EACvB,OAAO,SAA2B,EAClC,OAAO,CAAC,EAAE,YAAY,EAIvB;CACF;AAED,8FAA8F;AAC9F,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,CA2B/D;AAED,wDAAwD;AACxD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAEjF"}
@@ -0,0 +1,56 @@
1
+ import { issuer } from '@astrale-os/kernel-core/auth';
2
+ export const MAXIMUM_INVOCATION_ID_LENGTH = 255;
3
+ const INVALID_ID_CHARACTER = /[^A-Za-z0-9._-]/u;
4
+ const ID_ERROR_MESSAGE = 'InvocationId must contain 1-255 ASCII characters drawn from [A-Za-z0-9._-].';
5
+ export class InvocationError extends TypeError {
6
+ input;
7
+ code = 'INVOCATION_INVALID';
8
+ constructor(input, message = 'Invocation is invalid.', options) {
9
+ super(message, options);
10
+ this.input = input;
11
+ this.name = 'InvocationError';
12
+ }
13
+ }
14
+ /** Admit, canonicalize, detach, and freeze one exact source-qualified Invocation identity. */
15
+ export function acceptInvocationId(input) {
16
+ if (input === null || typeof input !== 'object' || Array.isArray(input))
17
+ invalid(input);
18
+ const candidate = input;
19
+ const source = Object.getOwnPropertyDescriptor(candidate, 'source');
20
+ const id = Object.getOwnPropertyDescriptor(candidate, 'id');
21
+ if (Reflect.ownKeys(candidate).some((key) => key !== 'source' && key !== 'id') ||
22
+ source === undefined ||
23
+ id === undefined ||
24
+ !source.enumerable ||
25
+ !id.enumerable ||
26
+ !('value' in source) ||
27
+ !('value' in id) ||
28
+ typeof source.value !== 'string' ||
29
+ typeof id.value !== 'string') {
30
+ invalid(input);
31
+ }
32
+ let admittedSource;
33
+ try {
34
+ admittedSource = issuer.accept(source.value);
35
+ }
36
+ catch (cause) {
37
+ throw new InvocationError(input, 'Invocation source is invalid.', { cause });
38
+ }
39
+ if (!isLocalInvocationId(id.value))
40
+ throw new InvocationError(input, ID_ERROR_MESSAGE);
41
+ return Object.freeze({ source: admittedSource, id: id.value });
42
+ }
43
+ /** Compare both canonical coordinate fields exactly. */
44
+ export function sameInvocationId(left, right) {
45
+ return left.source === right.source && left.id === right.id;
46
+ }
47
+ function isLocalInvocationId(input) {
48
+ return (typeof input === 'string' &&
49
+ input.length > 0 &&
50
+ input.length <= MAXIMUM_INVOCATION_ID_LENGTH &&
51
+ !INVALID_ID_CHARACTER.test(input));
52
+ }
53
+ function invalid(input) {
54
+ throw new InvocationError(input);
55
+ }
56
+ //# sourceMappingURL=identity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../invocation/identity.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAErD,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,CAAA;AAE/C,MAAM,oBAAoB,GAAG,kBAAkB,CAAA;AAC/C,MAAM,gBAAgB,GACpB,6EAA6E,CAAA;AAQ/E,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAIjC,KAAK;IAHP,IAAI,GAAG,oBAA6B,CAAA;IAE7C,YACW,KAAc,EACvB,OAAO,GAAG,wBAAwB,EAClC,OAAsB;QAEtB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;qBAJd,KAAK;QAKd,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAA;IAC/B,CAAC;CACF;AAED,8FAA8F;AAC9F,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,KAAK,CAAC,CAAA;IACvF,MAAM,SAAS,GAAG,KAAe,CAAA;IACjC,MAAM,MAAM,GAAG,MAAM,CAAC,wBAAwB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IACnE,MAAM,EAAE,GAAG,MAAM,CAAC,wBAAwB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;IAC3D,IACE,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,CAAC;QAC1E,MAAM,KAAK,SAAS;QACpB,EAAE,KAAK,SAAS;QAChB,CAAC,MAAM,CAAC,UAAU;QAClB,CAAC,EAAE,CAAC,UAAU;QACd,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC;QACpB,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;QAChB,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;QAChC,OAAO,EAAE,CAAC,KAAK,KAAK,QAAQ,EAC5B,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,CAAA;IAChB,CAAC;IAED,IAAI,cAAwB,CAAA;IAC5B,IAAI,CAAC;QACH,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC9C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,eAAe,CAAC,KAAK,EAAE,+BAA+B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;IAC9E,CAAC;IACD,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,eAAe,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAA;IACtF,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAAA;AAChE,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,gBAAgB,CAAC,IAAkB,EAAE,KAAmB;IACtE,OAAO,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAA;AAC7D,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,CAAC,MAAM,GAAG,CAAC;QAChB,KAAK,CAAC,MAAM,IAAI,4BAA4B;QAC5C,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAClC,CAAA;AACH,CAAC;AAED,SAAS,OAAO,CAAC,KAAc;IAC7B,MAAM,IAAI,eAAe,CAAC,KAAK,CAAC,CAAA;AAClC,CAAC"}
@@ -2,16 +2,17 @@ export { decodeBinaryResponse, type BinaryResponse } from './binary.js';
2
2
  export { decodeCancelRequest, type CancelRequest } from './cancellation.js';
3
3
  export { type RequestId } from './correlation.js';
4
4
  export { acceptIdempotencyKey, HTTP_IDEMPOTENCY_KEY, MAXIMUM_IDEMPOTENCY_KEY_LENGTH, type IdempotencyKey, } from './idempotency.js';
5
+ export { acceptInvocationId, InvocationError, MAXIMUM_INVOCATION_ID_LENGTH, sameInvocationId, type InvocationId, } from './identity.js';
5
6
  export * as http from './http/index.js';
6
7
  export { acceptDelegate, type Delegate } from './delegate.js';
7
8
  export { decodeMiss, miss, type Miss } from './miss.js';
8
- export { acceptRoute, decodeRedirect, remoteRoute, type RemoteBindingInput, type Redirect, type Route, } from './redirect.js';
9
+ export { acceptRoute, acceptRedirection, decodeRedirectResponse, remoteRoute, type RemoteBindingInput, type Redirection, type RedirectResponse, type Route, } from './redirect.js';
9
10
  export { decodeRequest, type Request } from './request.js';
10
11
  export { admitTrace, MAXIMUM_TRACEPARENT_BYTES, MAXIMUM_TRACESTATE_BYTES, MAXIMUM_TRACESTATE_MEMBERS, type Trace, } from './trace.js';
11
12
  export { acceptRouting, type Refresh, type Routing, type Via } from './routing.js';
12
13
  export { acceptSchemaTarget, type SchemaTarget } from './schema.js';
13
- export { decodeResponse, type ErrorResponse, type Response, type SuccessResponse, } from './response.js';
14
- export { SCHEMA_UPGRADE_REQUIRED, SERVICE_CANDIDATE_INVALID, SERVICE_TRUST_REQUIRED, SERVICE_UNAVAILABLE, serviceErrorOf, type SchemaUpgradeRequiredDetails, type SchemaUpgradeRequiredReason, type ServiceCandidateInvalidDetails, type ServiceCandidateInvalidReason, type ServiceErrorPayload, type ServiceReason, type ServiceTrustRequiredDetails, type ServiceTrustRequiredReason, type ServiceUnavailableDetails, type ServiceUnavailableReason, } from './service-reason.js';
14
+ export { decodeResponse, type ErrorResponse, type Response, type ResponseContext, type SuccessResponse, } from './response.js';
15
+ export { SCHEMA_UPGRADE_REQUIRED, SCHEMA_REVISION_MISMATCH, SERVICE_CANDIDATE_INVALID, SERVICE_TRUST_REQUIRED, SERVICE_UNAVAILABLE, serviceErrorOf, type SchemaUpgradeRequiredDetails, type SchemaUpgradeRequiredReason, type SchemaRevisionMismatchDetails, type SchemaRevisionMismatchReason, type ServiceCandidateInvalidDetails, type ServiceCandidateInvalidReason, type ServiceErrorPayload, type ServiceReason, type ServiceTrustRequiredDetails, type ServiceTrustRequiredReason, type ServiceUnavailableDetails, type ServiceUnavailableReason, } from './service-reason.js';
15
16
  export { decodeStale, stale, type Stale } from './stale-route.js';
16
17
  export { decodeStreamFrame, type StreamEndFrame, type StreamErrorFrame, type StreamFrame, type StreamItemFrame, type StreamStartFrame, } from './stream.js';
17
18
  export { acceptCall, type Call } from './target.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../invocation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC3E,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,8BAA8B,EAC9B,KAAK,cAAc,GACpB,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7D,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,MAAM,WAAW,CAAA;AACvD,OAAO,EACL,WAAW,EACX,cAAc,EACd,WAAW,EACX,KAAK,kBAAkB,EACvB,KAAK,QAAQ,EACb,KAAK,KAAK,GACX,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,aAAa,EAAE,KAAK,OAAO,EAAE,MAAM,cAAc,CAAA;AAC1D,OAAO,EACL,UAAU,EACV,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,EAC1B,KAAK,KAAK,GACX,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,aAAa,EAAE,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,cAAc,CAAA;AAClF,OAAO,EAAE,kBAAkB,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAA;AACnE,OAAO,EACL,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,eAAe,GACrB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,EAChC,KAAK,8BAA8B,EACnC,KAAK,6BAA6B,EAClC,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,2BAA2B,EAChC,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,GAC9B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACjE,OAAO,EACL,iBAAiB,EACjB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,gBAAgB,GACtB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,UAAU,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../invocation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC3E,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,8BAA8B,EAC9B,KAAK,cAAc,GACpB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,4BAA4B,EAC5B,gBAAgB,EAChB,KAAK,YAAY,GAClB,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7D,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,MAAM,WAAW,CAAA;AACvD,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,sBAAsB,EACtB,WAAW,EACX,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,KAAK,GACX,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,aAAa,EAAE,KAAK,OAAO,EAAE,MAAM,cAAc,CAAA;AAC1D,OAAO,EACL,UAAU,EACV,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,EAC1B,KAAK,KAAK,GACX,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,aAAa,EAAE,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,cAAc,CAAA;AAClF,OAAO,EAAE,kBAAkB,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAA;AACnE,OAAO,EACL,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,eAAe,GACrB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,EAChC,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EACjC,KAAK,8BAA8B,EACnC,KAAK,6BAA6B,EAClC,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,2BAA2B,EAChC,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,GAC9B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACjE,OAAO,EACL,iBAAiB,EACjB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,gBAAgB,GACtB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,UAAU,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA"}
@@ -2,16 +2,17 @@ export { decodeBinaryResponse } from './binary.js';
2
2
  export { decodeCancelRequest } from './cancellation.js';
3
3
  export {} from './correlation.js';
4
4
  export { acceptIdempotencyKey, HTTP_IDEMPOTENCY_KEY, MAXIMUM_IDEMPOTENCY_KEY_LENGTH, } from './idempotency.js';
5
+ export { acceptInvocationId, InvocationError, MAXIMUM_INVOCATION_ID_LENGTH, sameInvocationId, } from './identity.js';
5
6
  export * as http from './http/index.js';
6
7
  export { acceptDelegate } from './delegate.js';
7
8
  export { decodeMiss, miss } from './miss.js';
8
- export { acceptRoute, decodeRedirect, remoteRoute, } from './redirect.js';
9
+ export { acceptRoute, acceptRedirection, decodeRedirectResponse, remoteRoute, } from './redirect.js';
9
10
  export { decodeRequest } from './request.js';
10
11
  export { admitTrace, MAXIMUM_TRACEPARENT_BYTES, MAXIMUM_TRACESTATE_BYTES, MAXIMUM_TRACESTATE_MEMBERS, } from './trace.js';
11
12
  export { acceptRouting } from './routing.js';
12
13
  export { acceptSchemaTarget } from './schema.js';
13
14
  export { decodeResponse, } from './response.js';
14
- export { SCHEMA_UPGRADE_REQUIRED, SERVICE_CANDIDATE_INVALID, SERVICE_TRUST_REQUIRED, SERVICE_UNAVAILABLE, serviceErrorOf, } from './service-reason.js';
15
+ export { SCHEMA_UPGRADE_REQUIRED, SCHEMA_REVISION_MISMATCH, SERVICE_CANDIDATE_INVALID, SERVICE_TRUST_REQUIRED, SERVICE_UNAVAILABLE, serviceErrorOf, } from './service-reason.js';
15
16
  export { decodeStale, stale } from './stale-route.js';
16
17
  export { decodeStreamFrame, } from './stream.js';
17
18
  export { acceptCall } from './target.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../invocation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAuB,MAAM,aAAa,CAAA;AACvE,OAAO,EAAE,mBAAmB,EAAsB,MAAM,mBAAmB,CAAA;AAC3E,OAAO,EAAkB,MAAM,kBAAkB,CAAA;AACjD,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,8BAA8B,GAE/B,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,cAAc,EAAiB,MAAM,eAAe,CAAA;AAC7D,OAAO,EAAE,UAAU,EAAE,IAAI,EAAa,MAAM,WAAW,CAAA;AACvD,OAAO,EACL,WAAW,EACX,cAAc,EACd,WAAW,GAIZ,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,aAAa,EAAgB,MAAM,cAAc,CAAA;AAC1D,OAAO,EACL,UAAU,EACV,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,GAE3B,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,aAAa,EAAwC,MAAM,cAAc,CAAA;AAClF,OAAO,EAAE,kBAAkB,EAAqB,MAAM,aAAa,CAAA;AACnE,OAAO,EACL,cAAc,GAIf,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,GAWf,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,WAAW,EAAE,KAAK,EAAc,MAAM,kBAAkB,CAAA;AACjE,OAAO,EACL,iBAAiB,GAMlB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,UAAU,EAAa,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,OAAO,EAAgB,MAAM,cAAc,CAAA;AACpD,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../invocation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAuB,MAAM,aAAa,CAAA;AACvE,OAAO,EAAE,mBAAmB,EAAsB,MAAM,mBAAmB,CAAA;AAC3E,OAAO,EAAkB,MAAM,kBAAkB,CAAA;AACjD,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,8BAA8B,GAE/B,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,4BAA4B,EAC5B,gBAAgB,GAEjB,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,cAAc,EAAiB,MAAM,eAAe,CAAA;AAC7D,OAAO,EAAE,UAAU,EAAE,IAAI,EAAa,MAAM,WAAW,CAAA;AACvD,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,sBAAsB,EACtB,WAAW,GAKZ,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,aAAa,EAAgB,MAAM,cAAc,CAAA;AAC1D,OAAO,EACL,UAAU,EACV,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,GAE3B,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,aAAa,EAAwC,MAAM,cAAc,CAAA;AAClF,OAAO,EAAE,kBAAkB,EAAqB,MAAM,aAAa,CAAA;AACnE,OAAO,EACL,cAAc,GAKf,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,GAaf,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,WAAW,EAAE,KAAK,EAAc,MAAM,kBAAkB,CAAA;AACjE,OAAO,EACL,iBAAiB,GAMlB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,UAAU,EAAa,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,OAAO,EAAgB,MAAM,cAAc,CAAA;AACpD,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA"}
@@ -1,8 +1,10 @@
1
1
  import type { RequestId } from './correlation.js';
2
+ import type { InvocationId } from './identity.js';
2
3
  export interface Miss {
3
4
  readonly kind: 'miss';
4
- readonly id: RequestId;
5
+ readonly requestId: RequestId;
6
+ readonly invocation: InvocationId;
5
7
  }
6
8
  export declare function decodeMiss(input: unknown): Miss;
7
- export declare function miss(id: RequestId): Miss;
9
+ export declare function miss(requestId: RequestId, assigned: InvocationId): Miss;
8
10
  //# sourceMappingURL=miss.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"miss.d.ts","sourceRoot":"","sources":["../../invocation/miss.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAIjD,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAA;CACvB;AAID,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAM/C;AAED,wBAAgB,IAAI,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI,CAExC"}
1
+ {"version":3,"file":"miss.d.ts","sourceRoot":"","sources":["../../invocation/miss.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAWjD,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAA;CAClC;AAID,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAU/C;AAED,wBAAgB,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,CAEvE"}
@@ -1,14 +1,18 @@
1
- import { exactFields, invalid, portableObject, requestId, required } from './admission.js';
2
- const FIELDS = new Set(['kind', 'id']);
1
+ import { exactFields, invalid, invocation, portableObject, requestId, required, } from './admission.js';
2
+ const FIELDS = new Set(['kind', 'requestId', 'invocation']);
3
3
  export function decodeMiss(input) {
4
4
  const object = portableObject(input, 'miss control');
5
5
  exactFields(object, FIELDS, 'miss control');
6
- required(object, ['kind', 'id'], 'miss control');
6
+ required(object, ['kind', 'requestId', 'invocation'], 'miss control');
7
7
  if (object.kind !== 'miss')
8
8
  invalid('miss control.kind must be "miss"');
9
- return Object.freeze({ kind: 'miss', id: requestId(object.id, 'miss control.id') });
9
+ return Object.freeze({
10
+ kind: 'miss',
11
+ requestId: requestId(object.requestId, 'miss control.requestId'),
12
+ invocation: invocation(object.invocation, 'miss control.invocation'),
13
+ });
10
14
  }
11
- export function miss(id) {
12
- return Object.freeze({ kind: 'miss', id });
15
+ export function miss(requestId, assigned) {
16
+ return decodeMiss({ kind: 'miss', requestId, invocation: assigned });
13
17
  }
14
18
  //# sourceMappingURL=miss.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"miss.js","sourceRoot":"","sources":["../../invocation/miss.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAO1F,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAA;AAEtC,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;IACpD,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,CAAA;IAC3C,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,CAAC,CAAA;IAChD,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,CAAC,kCAAkC,CAAC,CAAA;IACvE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAA;AACrF,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,EAAa;IAChC,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAA;AAC5C,CAAC"}
1
+ {"version":3,"file":"miss.js","sourceRoot":"","sources":["../../invocation/miss.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,WAAW,EACX,OAAO,EACP,UAAU,EACV,cAAc,EACd,SAAS,EACT,QAAQ,GACT,MAAM,gBAAgB,CAAA;AAQvB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAA;AAE3D,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;IACpD,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,CAAA;IAC3C,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,cAAc,CAAC,CAAA;IACrE,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,CAAC,kCAAkC,CAAC,CAAA;IACvE,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,wBAAwB,CAAC;QAChE,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,yBAAyB,CAAC;KACrE,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,SAAoB,EAAE,QAAsB;IAC/D,OAAO,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAA;AACtE,CAAC"}
@@ -1,33 +1,41 @@
1
- import type { IssuerId } from '@astrale-os/kernel-core/auth';
1
+ import type { IssuerId } from '@astrale-os/kernel-core/auth/issuer';
2
2
  import type { Key } from '@astrale-os/kernel-dsl/v1';
3
+ import type { InvocationEndpoints } from '../publication/bindings/invocation.js';
4
+ import type { Etag } from '../publication/etag.js';
5
+ import type { PublicationRef } from '../publication/reference.js';
3
6
  import type { RequestId } from './correlation.js';
7
+ import type { InvocationId } from './identity.js';
4
8
  import type { Trace } from './trace.js';
5
- import * as publication from '../publication/index.js';
6
9
  export interface Route {
7
- readonly endpoint: publication.InvocationEndpoints;
10
+ readonly endpoint: InvocationEndpoints;
8
11
  readonly via: {
9
12
  readonly kind: 'via';
10
- readonly publication: publication.PublicationRef;
13
+ readonly publication: PublicationRef;
11
14
  readonly issuer: IssuerId;
12
15
  };
13
16
  }
14
- export interface Redirect {
15
- readonly kind: 'redirect';
16
- readonly id: RequestId;
17
+ export interface Redirection {
17
18
  readonly route: Route;
18
19
  readonly credential?: string;
19
20
  /** Ephemeral one-hop correlation hint; never cached or treated as authority. */
20
21
  readonly trace?: Trace;
21
22
  }
23
+ export interface RedirectResponse {
24
+ readonly kind: 'redirect';
25
+ readonly requestId: RequestId;
26
+ readonly invocation: InvocationId;
27
+ readonly redirect: Redirection;
28
+ }
22
29
  export interface RemoteBindingInput {
23
- readonly endpoint: publication.InvocationEndpoints;
30
+ readonly endpoint: InvocationEndpoints;
24
31
  readonly issuer: IssuerId;
25
32
  readonly subject: string;
26
- readonly revision: publication.PublicationRef['revision'];
27
- readonly etag: publication.Etag;
33
+ readonly revision: PublicationRef['revision'];
34
+ readonly etag: Etag;
28
35
  }
29
36
  export declare function acceptRoute(input: unknown): Route;
30
37
  /** Project one semantic remote binding into its admitted protocol route representation. */
31
38
  export declare function remoteRoute(origin: Key.Origin, binding: RemoteBindingInput, issuer: IssuerId): Route;
32
- export declare function decodeRedirect(input: unknown): Redirect;
39
+ export declare function acceptRedirection(input: unknown): Redirection;
40
+ export declare function decodeRedirectResponse(input: unknown): RedirectResponse;
33
41
  //# sourceMappingURL=redirect.d.ts.map