@astrale-os/kernel-client 0.5.1 → 0.6.0-beta.10

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 (661) hide show
  1. package/dist/auth/auth.d.ts +18 -0
  2. package/dist/auth/auth.js +15 -0
  3. package/dist/auth/authorization.d.ts +13 -0
  4. package/dist/auth/authorization.js +17 -0
  5. package/dist/auth/credential.d.ts +19 -0
  6. package/dist/auth/credential.js +21 -0
  7. package/dist/auth/identity.d.ts +14 -0
  8. package/dist/auth/identity.js +15 -0
  9. package/dist/auth/index.d.ts +6 -16
  10. package/dist/auth/index.js +5 -10
  11. package/dist/auth/provision.d.ts +8 -0
  12. package/dist/auth/provision.js +10 -0
  13. package/dist/client/admission.d.ts +4 -0
  14. package/dist/client/admission.js +34 -0
  15. package/dist/client/client.d.ts +24 -109
  16. package/dist/client/client.js +80 -381
  17. package/dist/client/credential.d.ts +12 -0
  18. package/dist/client/credential.js +51 -0
  19. package/dist/client/index.d.ts +6 -0
  20. package/dist/client/index.js +4 -0
  21. package/dist/client/request.d.ts +26 -0
  22. package/dist/client/request.js +100 -0
  23. package/dist/client/result.d.ts +35 -0
  24. package/dist/client/result.js +28 -0
  25. package/dist/client/routing-control.d.ts +10 -0
  26. package/dist/client/routing-control.js +23 -0
  27. package/dist/errors/client-error.d.ts +3 -0
  28. package/dist/errors/client-error.js +8 -0
  29. package/dist/errors/index.d.ts +7 -6
  30. package/dist/errors/index.js +7 -4
  31. package/dist/errors/miss-error.d.ts +8 -0
  32. package/dist/errors/miss-error.js +10 -0
  33. package/dist/errors/protocol-error.d.ts +9 -0
  34. package/dist/errors/protocol-error.js +9 -0
  35. package/dist/errors/response-error.d.ts +11 -0
  36. package/dist/errors/response-error.js +16 -0
  37. package/dist/errors/session-error.d.ts +8 -20
  38. package/dist/errors/session-error.js +6 -22
  39. package/dist/errors/stale-route-error.d.ts +9 -0
  40. package/dist/errors/stale-route-error.js +12 -0
  41. package/dist/errors/transport-error.d.ts +30 -0
  42. package/dist/errors/transport-error.js +18 -0
  43. package/dist/graph/domain/binding.d.ts +22 -0
  44. package/dist/graph/domain/binding.js +123 -0
  45. package/dist/graph/domain/domain.typecheck.d.ts +1 -0
  46. package/dist/graph/domain/domain.typecheck.js +139 -0
  47. package/dist/graph/domain/index.d.ts +3 -0
  48. package/dist/graph/domain/index.js +1 -0
  49. package/dist/graph/domain/model.d.ts +18 -0
  50. package/dist/graph/domain/model.js +1 -0
  51. package/dist/graph/domain/page.d.ts +23 -0
  52. package/dist/graph/domain/page.js +42 -0
  53. package/dist/graph/domain/project.d.ts +8 -0
  54. package/dist/graph/domain/project.js +120 -0
  55. package/dist/graph/domain/provenance.d.ts +6 -0
  56. package/dist/graph/domain/provenance.js +11 -0
  57. package/dist/graph/errors.d.ts +8 -0
  58. package/dist/graph/errors.js +14 -0
  59. package/dist/graph/graph.d.ts +26 -0
  60. package/dist/graph/graph.js +18 -0
  61. package/dist/graph/index.d.ts +8 -26
  62. package/dist/graph/index.js +6 -21
  63. package/dist/graph/mutation.d.ts +5 -0
  64. package/dist/graph/mutation.js +17 -0
  65. package/dist/graph/page/index.d.ts +2 -0
  66. package/dist/graph/page/index.js +1 -0
  67. package/dist/graph/page/neighbors.d.ts +9 -0
  68. package/dist/graph/page/neighbors.js +34 -0
  69. package/dist/graph/page/page.d.ts +37 -0
  70. package/dist/graph/page/page.js +55 -0
  71. package/dist/graph/page-contract.d.ts +13 -0
  72. package/dist/graph/page-contract.js +1 -0
  73. package/dist/graph/provenance.d.ts +12 -0
  74. package/dist/graph/provenance.js +37 -0
  75. package/dist/graph/query.d.ts +4 -0
  76. package/dist/graph/query.js +69 -0
  77. package/dist/graph/read.d.ts +6 -0
  78. package/dist/graph/read.js +17 -0
  79. package/dist/index.d.ts +6 -25
  80. package/dist/index.js +6 -21
  81. package/dist/pacer/batcher/batcher.d.ts +7 -0
  82. package/dist/pacer/batcher/batcher.js +13 -0
  83. package/dist/pacer/batcher/defaults.d.ts +2 -0
  84. package/dist/pacer/batcher/defaults.js +2 -0
  85. package/dist/pacer/batcher/index.d.ts +1 -0
  86. package/dist/pacer/batcher/index.js +1 -0
  87. package/dist/pacer/index.d.ts +4 -10
  88. package/dist/pacer/index.js +4 -11
  89. package/dist/pacer/limiter/defaults.d.ts +2 -0
  90. package/dist/pacer/limiter/defaults.js +2 -0
  91. package/dist/pacer/limiter/index.d.ts +1 -0
  92. package/dist/pacer/limiter/index.js +1 -0
  93. package/dist/pacer/limiter/limiter.d.ts +7 -0
  94. package/dist/pacer/limiter/limiter.js +14 -0
  95. package/dist/pacer/queue/defaults.d.ts +1 -0
  96. package/dist/pacer/queue/defaults.js +1 -0
  97. package/dist/pacer/queue/index.d.ts +1 -0
  98. package/dist/pacer/queue/index.js +1 -0
  99. package/dist/pacer/queue/queue.d.ts +6 -0
  100. package/dist/pacer/queue/queue.js +12 -0
  101. package/dist/pacer/retry/defaults.d.ts +6 -0
  102. package/dist/pacer/retry/defaults.js +16 -0
  103. package/dist/pacer/retry/index.d.ts +1 -0
  104. package/dist/pacer/retry/index.js +1 -0
  105. package/dist/pacer/retry/retry.d.ts +9 -0
  106. package/dist/pacer/retry/retry.js +55 -0
  107. package/dist/pool/index.d.ts +2 -4
  108. package/dist/pool/index.js +0 -2
  109. package/dist/pool/pool.d.ts +19 -59
  110. package/dist/pool/pool.js +46 -64
  111. package/dist/pool/target.d.ts +15 -0
  112. package/dist/pool/target.js +49 -0
  113. package/dist/schema/admission.d.ts +12 -0
  114. package/dist/schema/admission.js +17 -0
  115. package/dist/schema/contracts.d.ts +12 -0
  116. package/dist/schema/contracts.js +1 -0
  117. package/dist/schema/index.d.ts +3 -16
  118. package/dist/schema/index.js +2 -12
  119. package/dist/schema/introspection.d.ts +5 -0
  120. package/dist/schema/introspection.js +15 -0
  121. package/dist/schema/operation.d.ts +5 -0
  122. package/dist/schema/operation.js +9 -0
  123. package/dist/schema/schema.d.ts +19 -0
  124. package/dist/schema/schema.js +43 -0
  125. package/dist/session/bound.d.ts +42 -9
  126. package/dist/session/bound.js +70 -37
  127. package/dist/session/context/control.d.ts +5 -0
  128. package/dist/session/context/control.js +17 -0
  129. package/dist/session/context/index.d.ts +4 -0
  130. package/dist/session/context/index.js +4 -0
  131. package/dist/session/context/limits.d.ts +7 -0
  132. package/dist/session/context/limits.js +18 -0
  133. package/dist/session/context/operation.d.ts +19 -0
  134. package/dist/session/context/operation.js +72 -0
  135. package/dist/session/context/policy.d.ts +11 -0
  136. package/dist/session/context/policy.js +69 -0
  137. package/dist/session/discovery/bundle.d.ts +17 -0
  138. package/dist/session/discovery/bundle.js +55 -0
  139. package/dist/session/discovery/discovery.d.ts +19 -0
  140. package/dist/session/discovery/discovery.js +55 -0
  141. package/dist/session/discovery/index.d.ts +20 -0
  142. package/dist/session/discovery/index.js +15 -0
  143. package/dist/session/discovery/publication.d.ts +23 -0
  144. package/dist/session/discovery/publication.js +123 -0
  145. package/dist/session/discovery/snapshot.d.ts +12 -0
  146. package/dist/session/discovery/snapshot.js +3 -0
  147. package/dist/session/discovery/transport.d.ts +6 -0
  148. package/dist/session/discovery/transport.js +13 -0
  149. package/dist/session/index.d.ts +10 -16
  150. package/dist/session/index.js +3 -9
  151. package/dist/session/reference.d.ts +36 -0
  152. package/dist/session/reference.js +74 -0
  153. package/dist/session/routing/auth.d.ts +18 -0
  154. package/dist/session/routing/auth.js +39 -0
  155. package/dist/session/routing/cache.d.ts +20 -0
  156. package/dist/session/routing/cache.js +115 -0
  157. package/dist/session/routing/dispatch.d.ts +34 -0
  158. package/dist/session/routing/dispatch.js +137 -0
  159. package/dist/session/routing/envelope.d.ts +13 -0
  160. package/dist/session/routing/envelope.js +35 -0
  161. package/dist/session/routing/expectation.d.ts +6 -0
  162. package/dist/session/routing/expectation.js +1 -0
  163. package/dist/session/routing/index.d.ts +6 -0
  164. package/dist/session/routing/index.js +5 -0
  165. package/dist/session/routing/request.d.ts +8 -0
  166. package/dist/session/routing/request.js +25 -0
  167. package/dist/session/session.d.ts +67 -0
  168. package/dist/session/session.js +257 -0
  169. package/dist/session/session.typecheck.d.ts +1 -0
  170. package/dist/session/session.typecheck.js +31 -0
  171. package/dist/session/views/catalog.d.ts +15 -0
  172. package/dist/session/views/catalog.js +70 -0
  173. package/dist/session/views/index.d.ts +2 -0
  174. package/dist/session/views/index.js +2 -0
  175. package/dist/session/views/resolve.d.ts +11 -0
  176. package/dist/session/views/resolve.js +13 -0
  177. package/dist/store/entity-index.d.ts +22 -0
  178. package/dist/store/entity-index.js +94 -0
  179. package/dist/store/index.d.ts +1 -26
  180. package/dist/store/index.js +1 -19
  181. package/dist/store/memory.d.ts +46 -97
  182. package/dist/store/memory.js +346 -763
  183. package/dist/store/mutation.d.ts +5 -0
  184. package/dist/store/mutation.js +34 -0
  185. package/dist/store/observe.d.ts +3 -0
  186. package/dist/store/observe.js +17 -0
  187. package/dist/store/optimistic.d.ts +12 -0
  188. package/dist/store/optimistic.js +43 -0
  189. package/dist/store/query-key.d.ts +5 -0
  190. package/dist/store/query-key.js +22 -0
  191. package/dist/store/shape.d.ts +25 -0
  192. package/dist/store/shape.js +29 -0
  193. package/dist/store/store.d.ts +68 -0
  194. package/dist/store/store.js +144 -0
  195. package/dist/store/store.typecheck.d.ts +1 -0
  196. package/dist/store/store.typecheck.js +40 -0
  197. package/dist/transport/auto/decision.d.ts +22 -0
  198. package/dist/transport/auto/decision.js +48 -0
  199. package/dist/transport/auto/fallback.d.ts +16 -0
  200. package/dist/transport/auto/fallback.js +75 -0
  201. package/dist/transport/auto/index.d.ts +2 -0
  202. package/dist/transport/auto/index.js +2 -0
  203. package/dist/transport/auto/transport.d.ts +37 -0
  204. package/dist/transport/auto/transport.js +140 -0
  205. package/dist/transport/auto/warning.d.ts +13 -0
  206. package/dist/transport/auto/warning.js +18 -0
  207. package/dist/transport/deadline.d.ts +11 -0
  208. package/dist/transport/deadline.js +39 -0
  209. package/dist/transport/failure.d.ts +7 -0
  210. package/dist/transport/failure.js +9 -0
  211. package/dist/transport/http/index.d.ts +1 -0
  212. package/dist/transport/http/index.js +1 -0
  213. package/dist/transport/http/response.d.ts +8 -0
  214. package/dist/transport/http/response.js +79 -0
  215. package/dist/transport/http/stream.d.ts +26 -0
  216. package/dist/transport/http/stream.js +214 -0
  217. package/dist/transport/http/transport.d.ts +32 -0
  218. package/dist/transport/http/transport.js +343 -0
  219. package/dist/transport/index.d.ts +2 -8
  220. package/dist/transport/index.js +1 -6
  221. package/dist/transport/transport.d.ts +34 -0
  222. package/dist/transport/transport.js +1 -0
  223. package/dist/transport/websocket/connection.d.ts +38 -0
  224. package/dist/transport/websocket/connection.js +284 -0
  225. package/dist/transport/websocket/exchange.d.ts +46 -0
  226. package/dist/transport/websocket/exchange.js +300 -0
  227. package/dist/transport/websocket/index.d.ts +1 -0
  228. package/dist/transport/websocket/index.js +1 -0
  229. package/dist/transport/websocket/transport.d.ts +46 -0
  230. package/dist/transport/websocket/transport.js +164 -0
  231. package/package.json +41 -35
  232. package/dist/auth/addressing.d.ts +0 -32
  233. package/dist/auth/addressing.d.ts.map +0 -1
  234. package/dist/auth/addressing.js +0 -36
  235. package/dist/auth/addressing.js.map +0 -1
  236. package/dist/auth/api.d.ts +0 -70
  237. package/dist/auth/api.d.ts.map +0 -1
  238. package/dist/auth/api.js +0 -36
  239. package/dist/auth/api.js.map +0 -1
  240. package/dist/auth/batch.d.ts +0 -18
  241. package/dist/auth/batch.d.ts.map +0 -1
  242. package/dist/auth/batch.js +0 -25
  243. package/dist/auth/batch.js.map +0 -1
  244. package/dist/auth/composition.d.ts +0 -27
  245. package/dist/auth/composition.d.ts.map +0 -1
  246. package/dist/auth/composition.js +0 -83
  247. package/dist/auth/composition.js.map +0 -1
  248. package/dist/auth/defaults.d.ts +0 -3
  249. package/dist/auth/defaults.d.ts.map +0 -1
  250. package/dist/auth/defaults.js +0 -3
  251. package/dist/auth/defaults.js.map +0 -1
  252. package/dist/auth/index.d.ts.map +0 -1
  253. package/dist/auth/index.js.map +0 -1
  254. package/dist/auth/minting.d.ts +0 -35
  255. package/dist/auth/minting.d.ts.map +0 -1
  256. package/dist/auth/minting.js +0 -31
  257. package/dist/auth/minting.js.map +0 -1
  258. package/dist/auth/permissions.d.ts +0 -55
  259. package/dist/auth/permissions.d.ts.map +0 -1
  260. package/dist/auth/permissions.js +0 -47
  261. package/dist/auth/permissions.js.map +0 -1
  262. package/dist/auth/principal.d.ts +0 -19
  263. package/dist/auth/principal.d.ts.map +0 -1
  264. package/dist/auth/principal.js +0 -46
  265. package/dist/auth/principal.js.map +0 -1
  266. package/dist/auth/shorthands.d.ts +0 -19
  267. package/dist/auth/shorthands.d.ts.map +0 -1
  268. package/dist/auth/shorthands.js +0 -27
  269. package/dist/auth/shorthands.js.map +0 -1
  270. package/dist/client/batch.d.ts +0 -26
  271. package/dist/client/batch.d.ts.map +0 -1
  272. package/dist/client/batch.js +0 -8
  273. package/dist/client/batch.js.map +0 -1
  274. package/dist/client/bound.d.ts +0 -27
  275. package/dist/client/bound.d.ts.map +0 -1
  276. package/dist/client/bound.js +0 -14
  277. package/dist/client/bound.js.map +0 -1
  278. package/dist/client/client.d.ts.map +0 -1
  279. package/dist/client/client.js.map +0 -1
  280. package/dist/client/config.d.ts +0 -112
  281. package/dist/client/config.d.ts.map +0 -1
  282. package/dist/client/config.js +0 -10
  283. package/dist/client/config.js.map +0 -1
  284. package/dist/client/fn-map.d.ts +0 -61
  285. package/dist/client/fn-map.d.ts.map +0 -1
  286. package/dist/client/fn-map.js +0 -2
  287. package/dist/client/fn-map.js.map +0 -1
  288. package/dist/client/freeze.d.ts +0 -32
  289. package/dist/client/freeze.d.ts.map +0 -1
  290. package/dist/client/freeze.js +0 -42
  291. package/dist/client/freeze.js.map +0 -1
  292. package/dist/client/hooks.d.ts +0 -49
  293. package/dist/client/hooks.d.ts.map +0 -1
  294. package/dist/client/hooks.js +0 -2
  295. package/dist/client/hooks.js.map +0 -1
  296. package/dist/errors/errors.d.ts +0 -156
  297. package/dist/errors/errors.d.ts.map +0 -1
  298. package/dist/errors/errors.js +0 -238
  299. package/dist/errors/errors.js.map +0 -1
  300. package/dist/errors/guards.d.ts +0 -39
  301. package/dist/errors/guards.d.ts.map +0 -1
  302. package/dist/errors/guards.js +0 -127
  303. package/dist/errors/guards.js.map +0 -1
  304. package/dist/errors/index.d.ts.map +0 -1
  305. package/dist/errors/index.js.map +0 -1
  306. package/dist/errors/session-error.d.ts.map +0 -1
  307. package/dist/errors/session-error.js.map +0 -1
  308. package/dist/graph/api.d.ts +0 -85
  309. package/dist/graph/api.d.ts.map +0 -1
  310. package/dist/graph/api.js +0 -66
  311. package/dist/graph/api.js.map +0 -1
  312. package/dist/graph/index.d.ts.map +0 -1
  313. package/dist/graph/index.js.map +0 -1
  314. package/dist/graph/mutate/builder.d.ts +0 -108
  315. package/dist/graph/mutate/builder.d.ts.map +0 -1
  316. package/dist/graph/mutate/builder.js +0 -127
  317. package/dist/graph/mutate/builder.js.map +0 -1
  318. package/dist/graph/mutate/index.d.ts +0 -5
  319. package/dist/graph/mutate/index.d.ts.map +0 -1
  320. package/dist/graph/mutate/index.js +0 -3
  321. package/dist/graph/mutate/index.js.map +0 -1
  322. package/dist/graph/mutate/shorthands.d.ts +0 -42
  323. package/dist/graph/mutate/shorthands.d.ts.map +0 -1
  324. package/dist/graph/mutate/shorthands.js +0 -65
  325. package/dist/graph/mutate/shorthands.js.map +0 -1
  326. package/dist/graph/named.d.ts +0 -38
  327. package/dist/graph/named.d.ts.map +0 -1
  328. package/dist/graph/named.js +0 -47
  329. package/dist/graph/named.js.map +0 -1
  330. package/dist/graph/query/builder.d.ts +0 -116
  331. package/dist/graph/query/builder.d.ts.map +0 -1
  332. package/dist/graph/query/builder.js +0 -136
  333. package/dist/graph/query/builder.js.map +0 -1
  334. package/dist/graph/query/edge-ref.d.ts +0 -13
  335. package/dist/graph/query/edge-ref.d.ts.map +0 -1
  336. package/dist/graph/query/edge-ref.js +0 -56
  337. package/dist/graph/query/edge-ref.js.map +0 -1
  338. package/dist/graph/query/edges.d.ts +0 -10
  339. package/dist/graph/query/edges.d.ts.map +0 -1
  340. package/dist/graph/query/edges.js +0 -11
  341. package/dist/graph/query/edges.js.map +0 -1
  342. package/dist/graph/query/errors.d.ts +0 -31
  343. package/dist/graph/query/errors.d.ts.map +0 -1
  344. package/dist/graph/query/errors.js +0 -28
  345. package/dist/graph/query/errors.js.map +0 -1
  346. package/dist/graph/query/filter.d.ts +0 -50
  347. package/dist/graph/query/filter.d.ts.map +0 -1
  348. package/dist/graph/query/filter.js +0 -32
  349. package/dist/graph/query/filter.js.map +0 -1
  350. package/dist/graph/query/index.d.ts +0 -12
  351. package/dist/graph/query/index.d.ts.map +0 -1
  352. package/dist/graph/query/index.js +0 -7
  353. package/dist/graph/query/index.js.map +0 -1
  354. package/dist/graph/query/lower.d.ts +0 -30
  355. package/dist/graph/query/lower.d.ts.map +0 -1
  356. package/dist/graph/query/lower.js +0 -171
  357. package/dist/graph/query/lower.js.map +0 -1
  358. package/dist/graph/query/shorthands.d.ts +0 -34
  359. package/dist/graph/query/shorthands.d.ts.map +0 -1
  360. package/dist/graph/query/shorthands.js +0 -71
  361. package/dist/graph/query/shorthands.js.map +0 -1
  362. package/dist/graph/query/traverse.d.ts +0 -59
  363. package/dist/graph/query/traverse.d.ts.map +0 -1
  364. package/dist/graph/query/traverse.js +0 -144
  365. package/dist/graph/query/traverse.js.map +0 -1
  366. package/dist/graph/reconcile/execute.d.ts +0 -8
  367. package/dist/graph/reconcile/execute.d.ts.map +0 -1
  368. package/dist/graph/reconcile/execute.js +0 -56
  369. package/dist/graph/reconcile/execute.js.map +0 -1
  370. package/dist/graph/reconcile/index.d.ts +0 -5
  371. package/dist/graph/reconcile/index.d.ts.map +0 -1
  372. package/dist/graph/reconcile/index.js +0 -3
  373. package/dist/graph/reconcile/index.js.map +0 -1
  374. package/dist/graph/reconcile/input.d.ts +0 -80
  375. package/dist/graph/reconcile/input.d.ts.map +0 -1
  376. package/dist/graph/reconcile/input.js +0 -5
  377. package/dist/graph/reconcile/input.js.map +0 -1
  378. package/dist/graph/reconcile/normalize.d.ts +0 -3
  379. package/dist/graph/reconcile/normalize.d.ts.map +0 -1
  380. package/dist/graph/reconcile/normalize.js +0 -144
  381. package/dist/graph/reconcile/normalize.js.map +0 -1
  382. package/dist/graph/reconcile/result.d.ts +0 -19
  383. package/dist/graph/reconcile/result.d.ts.map +0 -1
  384. package/dist/graph/reconcile/result.js +0 -95
  385. package/dist/graph/reconcile/result.js.map +0 -1
  386. package/dist/graph/reconcile/scope.d.ts +0 -6
  387. package/dist/graph/reconcile/scope.d.ts.map +0 -1
  388. package/dist/graph/reconcile/scope.js +0 -69
  389. package/dist/graph/reconcile/scope.js.map +0 -1
  390. package/dist/graph/result/envelope.d.ts +0 -37
  391. package/dist/graph/result/envelope.d.ts.map +0 -1
  392. package/dist/graph/result/envelope.js +0 -59
  393. package/dist/graph/result/envelope.js.map +0 -1
  394. package/dist/graph/result/index.d.ts +0 -6
  395. package/dist/graph/result/index.d.ts.map +0 -1
  396. package/dist/graph/result/index.js +0 -4
  397. package/dist/graph/result/index.js.map +0 -1
  398. package/dist/graph/result/next.d.ts +0 -16
  399. package/dist/graph/result/next.d.ts.map +0 -1
  400. package/dist/graph/result/next.js +0 -77
  401. package/dist/graph/result/next.js.map +0 -1
  402. package/dist/graph/result/paged.d.ts +0 -30
  403. package/dist/graph/result/paged.d.ts.map +0 -1
  404. package/dist/graph/result/paged.js +0 -41
  405. package/dist/graph/result/paged.js.map +0 -1
  406. package/dist/graph/wire.d.ts +0 -33
  407. package/dist/graph/wire.d.ts.map +0 -1
  408. package/dist/graph/wire.js +0 -16
  409. package/dist/graph/wire.js.map +0 -1
  410. package/dist/index.d.ts.map +0 -1
  411. package/dist/index.js.map +0 -1
  412. package/dist/pacer/batcher.d.ts +0 -11
  413. package/dist/pacer/batcher.d.ts.map +0 -1
  414. package/dist/pacer/batcher.js +0 -15
  415. package/dist/pacer/batcher.js.map +0 -1
  416. package/dist/pacer/defaults.d.ts +0 -18
  417. package/dist/pacer/defaults.d.ts.map +0 -1
  418. package/dist/pacer/defaults.js +0 -18
  419. package/dist/pacer/defaults.js.map +0 -1
  420. package/dist/pacer/index.d.ts.map +0 -1
  421. package/dist/pacer/index.js.map +0 -1
  422. package/dist/pacer/queue.d.ts +0 -11
  423. package/dist/pacer/queue.d.ts.map +0 -1
  424. package/dist/pacer/queue.js +0 -15
  425. package/dist/pacer/queue.js.map +0 -1
  426. package/dist/pacer/rate-limiter.d.ts +0 -11
  427. package/dist/pacer/rate-limiter.d.ts.map +0 -1
  428. package/dist/pacer/rate-limiter.js +0 -15
  429. package/dist/pacer/rate-limiter.js.map +0 -1
  430. package/dist/pacer/retry.d.ts +0 -14
  431. package/dist/pacer/retry.d.ts.map +0 -1
  432. package/dist/pacer/retry.js +0 -50
  433. package/dist/pacer/retry.js.map +0 -1
  434. package/dist/pool/errors.d.ts +0 -13
  435. package/dist/pool/errors.d.ts.map +0 -1
  436. package/dist/pool/errors.js +0 -16
  437. package/dist/pool/errors.js.map +0 -1
  438. package/dist/pool/index.d.ts.map +0 -1
  439. package/dist/pool/index.js.map +0 -1
  440. package/dist/pool/pool.d.ts.map +0 -1
  441. package/dist/pool/pool.js.map +0 -1
  442. package/dist/schema/bound/binder.d.ts +0 -49
  443. package/dist/schema/bound/binder.d.ts.map +0 -1
  444. package/dist/schema/bound/binder.js +0 -195
  445. package/dist/schema/bound/binder.js.map +0 -1
  446. package/dist/schema/bound/bound-node.d.ts +0 -105
  447. package/dist/schema/bound/bound-node.d.ts.map +0 -1
  448. package/dist/schema/bound/bound-node.js +0 -128
  449. package/dist/schema/bound/bound-node.js.map +0 -1
  450. package/dist/schema/bound/index.d.ts +0 -10
  451. package/dist/schema/bound/index.d.ts.map +0 -1
  452. package/dist/schema/bound/index.js +0 -5
  453. package/dist/schema/bound/index.js.map +0 -1
  454. package/dist/schema/bound/view.d.ts +0 -44
  455. package/dist/schema/bound/view.d.ts.map +0 -1
  456. package/dist/schema/bound/view.js +0 -117
  457. package/dist/schema/bound/view.js.map +0 -1
  458. package/dist/schema/bound/write-props.d.ts +0 -38
  459. package/dist/schema/bound/write-props.d.ts.map +0 -1
  460. package/dist/schema/bound/write-props.js +0 -2
  461. package/dist/schema/bound/write-props.js.map +0 -1
  462. package/dist/schema/call-args.d.ts +0 -6
  463. package/dist/schema/call-args.d.ts.map +0 -1
  464. package/dist/schema/call-args.js +0 -21
  465. package/dist/schema/call-args.js.map +0 -1
  466. package/dist/schema/class-proxy.d.ts +0 -11
  467. package/dist/schema/class-proxy.d.ts.map +0 -1
  468. package/dist/schema/class-proxy.js +0 -46
  469. package/dist/schema/class-proxy.js.map +0 -1
  470. package/dist/schema/extract.d.ts +0 -24
  471. package/dist/schema/extract.d.ts.map +0 -1
  472. package/dist/schema/extract.js +0 -45
  473. package/dist/schema/extract.js.map +0 -1
  474. package/dist/schema/from-entries.d.ts +0 -12
  475. package/dist/schema/from-entries.d.ts.map +0 -1
  476. package/dist/schema/from-entries.js +0 -39
  477. package/dist/schema/from-entries.js.map +0 -1
  478. package/dist/schema/index.d.ts.map +0 -1
  479. package/dist/schema/index.js.map +0 -1
  480. package/dist/schema/known-dispatch.d.ts +0 -6
  481. package/dist/schema/known-dispatch.d.ts.map +0 -1
  482. package/dist/schema/known-dispatch.js +0 -39
  483. package/dist/schema/known-dispatch.js.map +0 -1
  484. package/dist/schema/node-proxy.d.ts +0 -21
  485. package/dist/schema/node-proxy.d.ts.map +0 -1
  486. package/dist/schema/node-proxy.js +0 -75
  487. package/dist/schema/node-proxy.js.map +0 -1
  488. package/dist/schema/persistence.d.ts +0 -31
  489. package/dist/schema/persistence.d.ts.map +0 -1
  490. package/dist/schema/persistence.js +0 -2
  491. package/dist/schema/persistence.js.map +0 -1
  492. package/dist/schema/proxy-types.d.ts +0 -131
  493. package/dist/schema/proxy-types.d.ts.map +0 -1
  494. package/dist/schema/proxy-types.js +0 -2
  495. package/dist/schema/proxy-types.js.map +0 -1
  496. package/dist/schema/registry.d.ts +0 -50
  497. package/dist/schema/registry.d.ts.map +0 -1
  498. package/dist/schema/registry.js +0 -110
  499. package/dist/schema/registry.js.map +0 -1
  500. package/dist/schema/resolve.d.ts +0 -26
  501. package/dist/schema/resolve.d.ts.map +0 -1
  502. package/dist/schema/resolve.js +0 -27
  503. package/dist/schema/resolve.js.map +0 -1
  504. package/dist/schema/typed-client.d.ts +0 -10
  505. package/dist/schema/typed-client.d.ts.map +0 -1
  506. package/dist/schema/typed-client.js +0 -26
  507. package/dist/schema/typed-client.js.map +0 -1
  508. package/dist/schema/types.d.ts +0 -9
  509. package/dist/schema/types.d.ts.map +0 -1
  510. package/dist/schema/types.js +0 -2
  511. package/dist/schema/types.js.map +0 -1
  512. package/dist/session/bound.d.ts.map +0 -1
  513. package/dist/session/bound.js.map +0 -1
  514. package/dist/session/client-session.d.ts +0 -72
  515. package/dist/session/client-session.d.ts.map +0 -1
  516. package/dist/session/client-session.js +0 -673
  517. package/dist/session/client-session.js.map +0 -1
  518. package/dist/session/config.d.ts +0 -168
  519. package/dist/session/config.d.ts.map +0 -1
  520. package/dist/session/config.js +0 -2
  521. package/dist/session/config.js.map +0 -1
  522. package/dist/session/delegation/cache.d.ts +0 -139
  523. package/dist/session/delegation/cache.d.ts.map +0 -1
  524. package/dist/session/delegation/cache.js +0 -256
  525. package/dist/session/delegation/cache.js.map +0 -1
  526. package/dist/session/delegation/errors.d.ts +0 -44
  527. package/dist/session/delegation/errors.d.ts.map +0 -1
  528. package/dist/session/delegation/errors.js +0 -62
  529. package/dist/session/delegation/errors.js.map +0 -1
  530. package/dist/session/delegation/policy.d.ts +0 -183
  531. package/dist/session/delegation/policy.d.ts.map +0 -1
  532. package/dist/session/delegation/policy.js +0 -114
  533. package/dist/session/delegation/policy.js.map +0 -1
  534. package/dist/session/delegation/utils.d.ts +0 -4
  535. package/dist/session/delegation/utils.d.ts.map +0 -1
  536. package/dist/session/delegation/utils.js +0 -12
  537. package/dist/session/delegation/utils.js.map +0 -1
  538. package/dist/session/delegation-mint.d.ts +0 -13
  539. package/dist/session/delegation-mint.d.ts.map +0 -1
  540. package/dist/session/delegation-mint.js +0 -39
  541. package/dist/session/delegation-mint.js.map +0 -1
  542. package/dist/session/dispatch-routes.d.ts +0 -27
  543. package/dist/session/dispatch-routes.d.ts.map +0 -1
  544. package/dist/session/dispatch-routes.js +0 -77
  545. package/dist/session/dispatch-routes.js.map +0 -1
  546. package/dist/session/errors/index.d.ts +0 -6
  547. package/dist/session/errors/index.d.ts.map +0 -1
  548. package/dist/session/errors/index.js +0 -8
  549. package/dist/session/errors/index.js.map +0 -1
  550. package/dist/session/errors/session-errors.d.ts +0 -52
  551. package/dist/session/errors/session-errors.d.ts.map +0 -1
  552. package/dist/session/errors/session-errors.js +0 -70
  553. package/dist/session/errors/session-errors.js.map +0 -1
  554. package/dist/session/forward.d.ts +0 -15
  555. package/dist/session/forward.d.ts.map +0 -1
  556. package/dist/session/forward.js +0 -40
  557. package/dist/session/forward.js.map +0 -1
  558. package/dist/session/helpers.d.ts +0 -23
  559. package/dist/session/helpers.d.ts.map +0 -1
  560. package/dist/session/helpers.js +0 -56
  561. package/dist/session/helpers.js.map +0 -1
  562. package/dist/session/hooks.d.ts +0 -140
  563. package/dist/session/hooks.d.ts.map +0 -1
  564. package/dist/session/hooks.js +0 -2
  565. package/dist/session/hooks.js.map +0 -1
  566. package/dist/session/index.d.ts.map +0 -1
  567. package/dist/session/index.js.map +0 -1
  568. package/dist/session/redirect/errors.d.ts +0 -45
  569. package/dist/session/redirect/errors.d.ts.map +0 -1
  570. package/dist/session/redirect/errors.js +0 -52
  571. package/dist/session/redirect/errors.js.map +0 -1
  572. package/dist/session/redirect/policy.d.ts +0 -79
  573. package/dist/session/redirect/policy.d.ts.map +0 -1
  574. package/dist/session/redirect/policy.js +0 -69
  575. package/dist/session/redirect/policy.js.map +0 -1
  576. package/dist/session/types.d.ts +0 -54
  577. package/dist/session/types.d.ts.map +0 -1
  578. package/dist/session/types.js +0 -2
  579. package/dist/session/types.js.map +0 -1
  580. package/dist/store/canonicalize.d.ts +0 -44
  581. package/dist/store/canonicalize.d.ts.map +0 -1
  582. package/dist/store/canonicalize.js +0 -0
  583. package/dist/store/canonicalize.js.map +0 -1
  584. package/dist/store/entities.d.ts +0 -81
  585. package/dist/store/entities.d.ts.map +0 -1
  586. package/dist/store/entities.js +0 -202
  587. package/dist/store/entities.js.map +0 -1
  588. package/dist/store/index.d.ts.map +0 -1
  589. package/dist/store/index.js.map +0 -1
  590. package/dist/store/invalidate.d.ts +0 -66
  591. package/dist/store/invalidate.d.ts.map +0 -1
  592. package/dist/store/invalidate.js +0 -117
  593. package/dist/store/invalidate.js.map +0 -1
  594. package/dist/store/memory.d.ts.map +0 -1
  595. package/dist/store/memory.js.map +0 -1
  596. package/dist/store/overlay.d.ts +0 -118
  597. package/dist/store/overlay.d.ts.map +0 -1
  598. package/dist/store/overlay.js +0 -237
  599. package/dist/store/overlay.js.map +0 -1
  600. package/dist/store/schedule.d.ts +0 -31
  601. package/dist/store/schedule.d.ts.map +0 -1
  602. package/dist/store/schedule.js +0 -76
  603. package/dist/store/schedule.js.map +0 -1
  604. package/dist/store/shapes.d.ts +0 -92
  605. package/dist/store/shapes.d.ts.map +0 -1
  606. package/dist/store/shapes.js +0 -369
  607. package/dist/store/shapes.js.map +0 -1
  608. package/dist/store/types.d.ts +0 -168
  609. package/dist/store/types.d.ts.map +0 -1
  610. package/dist/store/types.js +0 -7
  611. package/dist/store/types.js.map +0 -1
  612. package/dist/transport/binary.d.ts +0 -15
  613. package/dist/transport/binary.d.ts.map +0 -1
  614. package/dist/transport/binary.js +0 -2
  615. package/dist/transport/binary.js.map +0 -1
  616. package/dist/transport/contract.d.ts +0 -58
  617. package/dist/transport/contract.d.ts.map +0 -1
  618. package/dist/transport/contract.js +0 -11
  619. package/dist/transport/contract.js.map +0 -1
  620. package/dist/transport/fetch.d.ts +0 -31
  621. package/dist/transport/fetch.d.ts.map +0 -1
  622. package/dist/transport/fetch.js +0 -78
  623. package/dist/transport/fetch.js.map +0 -1
  624. package/dist/transport/http-envelope.d.ts +0 -49
  625. package/dist/transport/http-envelope.d.ts.map +0 -1
  626. package/dist/transport/http-envelope.js +0 -418
  627. package/dist/transport/http-envelope.js.map +0 -1
  628. package/dist/transport/http-routed.d.ts +0 -61
  629. package/dist/transport/http-routed.d.ts.map +0 -1
  630. package/dist/transport/http-routed.js +0 -409
  631. package/dist/transport/http-routed.js.map +0 -1
  632. package/dist/transport/index.d.ts.map +0 -1
  633. package/dist/transport/index.js.map +0 -1
  634. package/dist/transport/request-id.d.ts +0 -9
  635. package/dist/transport/request-id.d.ts.map +0 -1
  636. package/dist/transport/request-id.js +0 -12
  637. package/dist/transport/request-id.js.map +0 -1
  638. package/dist/transport/ws-envelope.d.ts +0 -74
  639. package/dist/transport/ws-envelope.d.ts.map +0 -1
  640. package/dist/transport/ws-envelope.js +0 -567
  641. package/dist/transport/ws-envelope.js.map +0 -1
  642. package/dist/util/race-signal.d.ts +0 -12
  643. package/dist/util/race-signal.d.ts.map +0 -1
  644. package/dist/util/race-signal.js +0 -34
  645. package/dist/util/race-signal.js.map +0 -1
  646. package/dist/wire/controller.d.ts +0 -38
  647. package/dist/wire/controller.d.ts.map +0 -1
  648. package/dist/wire/controller.js +0 -38
  649. package/dist/wire/controller.js.map +0 -1
  650. package/dist/wire/index.d.ts +0 -7
  651. package/dist/wire/index.d.ts.map +0 -1
  652. package/dist/wire/index.js +0 -4
  653. package/dist/wire/index.js.map +0 -1
  654. package/dist/wire/meta.d.ts +0 -81
  655. package/dist/wire/meta.d.ts.map +0 -1
  656. package/dist/wire/meta.js +0 -44
  657. package/dist/wire/meta.js.map +0 -1
  658. package/dist/wire/sse.d.ts +0 -67
  659. package/dist/wire/sse.d.ts.map +0 -1
  660. package/dist/wire/sse.js +0 -170
  661. package/dist/wire/sse.js.map +0 -1
@@ -0,0 +1,100 @@
1
+ import * as invocationProtocol from '@astrale-os/kernel-protocol/invocation';
2
+ import { acceptCall } from './admission.js';
3
+ export function call(target, input) {
4
+ return Object.freeze({ target, input });
5
+ }
6
+ export function admitRequest(input, options, lifecycle) {
7
+ const call = acceptCall(input);
8
+ const admittedOptions = lifecycleOptions(admitRequestOptions(options), lifecycle);
9
+ const delegate = admitDelegate(options?.delegate);
10
+ const routing = admitRouting(options?.routing);
11
+ const schema = admitSchemaTarget(options?.schema);
12
+ return Object.freeze({
13
+ call,
14
+ ...(delegate === undefined ? {} : { delegate }),
15
+ ...(routing === undefined ? {} : { routing }),
16
+ ...(schema === undefined ? {} : { schema }),
17
+ options: admittedOptions,
18
+ });
19
+ }
20
+ export function invocation(request, credential, trace) {
21
+ const admittedTrace = trace === undefined ? undefined : invocationProtocol.admitTrace(trace);
22
+ if (request.routing?.kind === 'via') {
23
+ if (request.delegate !== undefined) {
24
+ throw new TypeError('Destination Client requests cannot carry a delegation request.');
25
+ }
26
+ if (request.schema !== undefined) {
27
+ throw new TypeError('Destination Client requests cannot carry a Schema target.');
28
+ }
29
+ }
30
+ else if ((credential === undefined) !== (request.delegate === undefined)) {
31
+ throw new TypeError('Source Client credentials and delegation requests must occur together.');
32
+ }
33
+ return Object.freeze({
34
+ call: request.call,
35
+ ...(credential === undefined ? {} : { credential }),
36
+ ...(request.delegate === undefined ? {} : { delegate: request.delegate }),
37
+ ...(request.routing === undefined ? {} : { routing: request.routing }),
38
+ ...(request.schema === undefined ? {} : { schema: request.schema }),
39
+ ...(admittedTrace === undefined ? {} : { trace: admittedTrace }),
40
+ });
41
+ }
42
+ function admitRequestOptions(input) {
43
+ if (input === undefined)
44
+ return undefined;
45
+ if (input === null || typeof input !== 'object' || Array.isArray(input)) {
46
+ throw new TypeError('Client request options must be an object.');
47
+ }
48
+ if (input.timeoutMs !== undefined &&
49
+ (!Number.isSafeInteger(input.timeoutMs) ||
50
+ input.timeoutMs < 1 ||
51
+ input.timeoutMs > 2_147_483_647)) {
52
+ throw new TypeError('Client request timeoutMs must be a positive safe platform integer.');
53
+ }
54
+ const idempotencyKey = input.idempotencyKey === undefined
55
+ ? undefined
56
+ : invocationProtocol.acceptIdempotencyKey(input.idempotencyKey, 'request.idempotencyKey');
57
+ return Object.freeze({
58
+ ...(input.signal === undefined ? {} : { signal: input.signal }),
59
+ ...(input.timeoutMs === undefined ? {} : { timeoutMs: input.timeoutMs }),
60
+ ...(idempotencyKey === undefined ? {} : { idempotencyKey }),
61
+ });
62
+ }
63
+ function admitDelegate(input) {
64
+ if (input === undefined)
65
+ return undefined;
66
+ try {
67
+ return invocationProtocol.acceptDelegate(input);
68
+ }
69
+ catch (cause) {
70
+ throw new TypeError('Client delegation request is invalid.', { cause });
71
+ }
72
+ }
73
+ function admitRouting(input) {
74
+ if (input === undefined)
75
+ return undefined;
76
+ try {
77
+ return invocationProtocol.acceptRouting(input);
78
+ }
79
+ catch (cause) {
80
+ throw new TypeError('Client routing context is invalid.', { cause });
81
+ }
82
+ }
83
+ function admitSchemaTarget(input) {
84
+ if (input === undefined)
85
+ return undefined;
86
+ try {
87
+ return invocationProtocol.acceptSchemaTarget(input);
88
+ }
89
+ catch (cause) {
90
+ throw new TypeError('Client Schema target is invalid.', { cause });
91
+ }
92
+ }
93
+ function lifecycleOptions(input, lifecycle) {
94
+ const signal = input?.signal === undefined ? lifecycle : AbortSignal.any([input.signal, lifecycle]);
95
+ return Object.freeze({
96
+ signal,
97
+ ...(input?.timeoutMs === undefined ? {} : { timeoutMs: input.timeoutMs }),
98
+ ...(input?.idempotencyKey === undefined ? {} : { idempotencyKey: input.idempotencyKey }),
99
+ });
100
+ }
@@ -0,0 +1,35 @@
1
+ import type { BinaryResult, CallableResult } from '@astrale-os/kernel-core/callable';
2
+ import type { Value } from '@astrale-os/kernel-dsl/value';
3
+ import type { invocation as protocol } from '@astrale-os/kernel-protocol';
4
+ /** Caller-visible value accepted from one admitted remote invocation. */
5
+ export type Input = Value;
6
+ /** Caller-visible finite binary response. */
7
+ export type Binary = BinaryResult;
8
+ /** Caller-owned remote stream. */
9
+ export interface Stream extends AsyncIterable<Value> {
10
+ cancel(reason?: string): Promise<void>;
11
+ }
12
+ /** Complete result observed by a Client before result-mode narrowing. */
13
+ type Correlated<Result> = Result & {
14
+ readonly invocation: protocol.InvocationId;
15
+ };
16
+ type Callable = CallableResult<Value, Stream>;
17
+ export type ValueResult = Correlated<Extract<Callable, {
18
+ readonly kind: 'value';
19
+ }>>;
20
+ export type StreamResult = Correlated<Extract<Callable, {
21
+ readonly kind: 'stream';
22
+ }>>;
23
+ export type BinaryResponse = Correlated<Extract<Callable, {
24
+ readonly kind: 'binary';
25
+ }>>;
26
+ export interface RedirectResult {
27
+ readonly kind: 'redirect';
28
+ readonly redirect: protocol.Redirection;
29
+ readonly invocation: protocol.InvocationId;
30
+ }
31
+ export type Result = ValueResult | StreamResult | BinaryResponse | RedirectResult;
32
+ export declare function requireValue(result: Promise<Result>): Promise<ValueResult>;
33
+ export declare function requireStream(result: Promise<Result>): Promise<StreamResult>;
34
+ export declare function requireBinary(result: Promise<Result>): Promise<BinaryResponse>;
35
+ export {};
@@ -0,0 +1,28 @@
1
+ import { ClientError } from '../errors/index.js';
2
+ export async function requireValue(result) {
3
+ const settled = await result;
4
+ if (settled.kind !== 'value')
5
+ return rejectMismatch('value', settled);
6
+ return settled;
7
+ }
8
+ export async function requireStream(result) {
9
+ const settled = await result;
10
+ if (settled.kind !== 'stream')
11
+ mismatch('stream', settled.kind);
12
+ return settled;
13
+ }
14
+ export async function requireBinary(result) {
15
+ const settled = await result;
16
+ if (settled.kind !== 'binary')
17
+ return rejectMismatch('binary', settled);
18
+ return settled;
19
+ }
20
+ function mismatch(expected, received) {
21
+ throw new ClientError(`Function returned ${received}; ${expected} was required.`);
22
+ }
23
+ async function rejectMismatch(expected, result) {
24
+ if (result.kind === 'stream') {
25
+ await result.stream.cancel(`Expected ${expected} Function result.`).catch(() => undefined);
26
+ }
27
+ mismatch(expected, result.kind);
28
+ }
@@ -0,0 +1,10 @@
1
+ import type { invocation as protocol, publication } from '@astrale-os/kernel-protocol';
2
+ import { MissError, StaleRouteError } from '../errors/index.js';
3
+ /** Create a private routing witness only after exact reserved-control decoding. */
4
+ export declare function admittedMissError(invocation: protocol.InvocationId): MissError;
5
+ /** Create a private routing witness only after exact reserved-control decoding. */
6
+ export declare function admittedStaleRouteError(currentEtag: publication.Etag, invocation: protocol.InvocationId): StaleRouteError;
7
+ /** Distinguish decoded routing control from public or caller-supplied lookalike errors. */
8
+ export declare function isAdmittedMissError(input: unknown): input is MissError;
9
+ /** Distinguish decoded routing control from public or caller-supplied lookalike errors. */
10
+ export declare function isAdmittedStaleRouteError(input: unknown): input is StaleRouteError;
@@ -0,0 +1,23 @@
1
+ import { MissError, StaleRouteError } from '../errors/index.js';
2
+ const admittedMisses = new WeakSet();
3
+ const admittedStaleRoutes = new WeakSet();
4
+ /** Create a private routing witness only after exact reserved-control decoding. */
5
+ export function admittedMissError(invocation) {
6
+ const error = new MissError(invocation);
7
+ admittedMisses.add(error);
8
+ return error;
9
+ }
10
+ /** Create a private routing witness only after exact reserved-control decoding. */
11
+ export function admittedStaleRouteError(currentEtag, invocation) {
12
+ const error = new StaleRouteError(currentEtag, invocation);
13
+ admittedStaleRoutes.add(error);
14
+ return error;
15
+ }
16
+ /** Distinguish decoded routing control from public or caller-supplied lookalike errors. */
17
+ export function isAdmittedMissError(input) {
18
+ return input instanceof MissError && admittedMisses.has(input);
19
+ }
20
+ /** Distinguish decoded routing control from public or caller-supplied lookalike errors. */
21
+ export function isAdmittedStaleRouteError(input) {
22
+ return input instanceof StaleRouteError && admittedStaleRoutes.has(input);
23
+ }
@@ -0,0 +1,3 @@
1
+ export declare class ClientError extends Error {
2
+ constructor(message: string, options?: ErrorOptions);
3
+ }
@@ -0,0 +1,8 @@
1
+ export class ClientError extends Error {
2
+ constructor(message, options) {
3
+ if (message.trim() === '')
4
+ throw new TypeError('Client error message must be non-blank.');
5
+ super(message, options);
6
+ this.name = 'ClientError';
7
+ }
8
+ }
@@ -1,6 +1,7 @@
1
- export { AuthBatchError, AuthenticationError, ConnectionError, DisconnectedError, InternalKernelError, InvalidTransportError, InvalidRequestError, InvariantViolationError, KernelError, NodeUnavailableError, NotFoundError, ParseError, PermissionDeniedError, TimeoutError, UnsupportedTransportError, ValidationError, WebOSError, mapServerError, withDetails, } from './errors.js';
2
- export type { AuthBatchOutcome, AuthReason, ClientErrorDetails } from './errors.js';
3
- export { classifyKernelError, isAuthBatchError, isAuthenticationError, isClientSessionError, isDelegationMintError, isDelegationPolicyError, isDelegationRefusedError, isHopLimitExceededError, isIdentityError, isInternalKernelError, isInvalidRequestError, isInvalidTransportError, isInvariantViolationError, isKernelError, isNodeUnavailableError, isNotFoundError, isParseError, isPermissionDeniedError, isPersistenceLoadFailedError, isPoolClosedError, isRedirectPolicyError, isRedirectRefusedError, isRegistryWriteFailedError, isSchemaOwnershipConflictError, isTransportError, isUnsupportedTransportError, isValidationError, isWebOSError, } from './guards.js';
4
- export type { IdentityError, KernelErrorKind, TransportError } from './guards.js';
5
- export { ClientSessionError } from './session-error.js';
6
- //# sourceMappingURL=index.d.ts.map
1
+ export * from './client-error.js';
2
+ export * from './miss-error.js';
3
+ export * from './protocol-error.js';
4
+ export * from './response-error.js';
5
+ export * from './session-error.js';
6
+ export * from './stale-route-error.js';
7
+ export * from './transport-error.js';
@@ -1,4 +1,7 @@
1
- export { AuthBatchError, AuthenticationError, ConnectionError, DisconnectedError, InternalKernelError, InvalidTransportError, InvalidRequestError, InvariantViolationError, KernelError, NodeUnavailableError, NotFoundError, ParseError, PermissionDeniedError, TimeoutError, UnsupportedTransportError, ValidationError, WebOSError, mapServerError, withDetails, } from './errors.js';
2
- export { classifyKernelError, isAuthBatchError, isAuthenticationError, isClientSessionError, isDelegationMintError, isDelegationPolicyError, isDelegationRefusedError, isHopLimitExceededError, isIdentityError, isInternalKernelError, isInvalidRequestError, isInvalidTransportError, isInvariantViolationError, isKernelError, isNodeUnavailableError, isNotFoundError, isParseError, isPermissionDeniedError, isPersistenceLoadFailedError, isPoolClosedError, isRedirectPolicyError, isRedirectRefusedError, isRegistryWriteFailedError, isSchemaOwnershipConflictError, isTransportError, isUnsupportedTransportError, isValidationError, isWebOSError, } from './guards.js';
3
- export { ClientSessionError } from './session-error.js';
4
- //# sourceMappingURL=index.js.map
1
+ export * from './client-error.js';
2
+ export * from './miss-error.js';
3
+ export * from './protocol-error.js';
4
+ export * from './response-error.js';
5
+ export * from './session-error.js';
6
+ export * from './stale-route-error.js';
7
+ export * from './transport-error.js';
@@ -0,0 +1,8 @@
1
+ import type { invocation as protocol } from '@astrale-os/kernel-protocol';
2
+ import { ClientError } from './client-error.js';
3
+ /** Client-visible indication that the current Path is no longer served at the learned destination. */
4
+ export declare class MissError extends ClientError {
5
+ readonly invocation: protocol.InvocationId;
6
+ readonly name = "MissError";
7
+ constructor(invocation: protocol.InvocationId);
8
+ }
@@ -0,0 +1,10 @@
1
+ import { ClientError } from './client-error.js';
2
+ /** Client-visible indication that the current Path is no longer served at the learned destination. */
3
+ export class MissError extends ClientError {
4
+ invocation;
5
+ name = 'MissError';
6
+ constructor(invocation) {
7
+ super('The destination no longer serves this Path.');
8
+ this.invocation = invocation;
9
+ }
10
+ }
@@ -0,0 +1,9 @@
1
+ import type { invocation as protocol } from '@astrale-os/kernel-protocol';
2
+ import { ClientError } from './client-error.js';
3
+ export interface ProtocolErrorOptions extends ErrorOptions {
4
+ readonly invocation?: protocol.InvocationId;
5
+ }
6
+ export declare class ProtocolError extends ClientError {
7
+ readonly invocation?: protocol.InvocationId;
8
+ constructor(message: string, options?: ProtocolErrorOptions);
9
+ }
@@ -0,0 +1,9 @@
1
+ import { ClientError } from './client-error.js';
2
+ export class ProtocolError extends ClientError {
3
+ invocation;
4
+ constructor(message, options) {
5
+ super(message, options);
6
+ this.name = 'ProtocolError';
7
+ this.invocation = options?.invocation;
8
+ }
9
+ }
@@ -0,0 +1,11 @@
1
+ import type { Value } from '@astrale-os/kernel-dsl/value';
2
+ import type * as protocol from '@astrale-os/kernel-protocol/invocation';
3
+ import * as errors from '@astrale-os/kernel-protocol/errors';
4
+ import { ClientError } from './client-error.js';
5
+ export declare class ResponseError extends ClientError {
6
+ readonly code: errors.ErrorCode;
7
+ readonly invocation: protocol.InvocationId;
8
+ readonly data?: Value | undefined;
9
+ readonly reason?: errors.ErrorReason;
10
+ constructor(code: errors.ErrorCode, message: string, invocation: protocol.InvocationId, data?: Value | undefined);
11
+ }
@@ -0,0 +1,16 @@
1
+ import * as errors from '@astrale-os/kernel-protocol/errors';
2
+ import { ClientError } from './client-error.js';
3
+ export class ResponseError extends ClientError {
4
+ code;
5
+ invocation;
6
+ data;
7
+ reason;
8
+ constructor(code, message, invocation, data) {
9
+ super(message);
10
+ this.code = code;
11
+ this.invocation = invocation;
12
+ this.data = data;
13
+ this.name = 'ResponseError';
14
+ this.reason = errors.reasonOf(data);
15
+ }
16
+ }
@@ -1,21 +1,9 @@
1
- import { WebOSError } from './errors.js';
2
- /**
3
- * Base class for every error ClientSession adds on top of the wire client's
4
- * `WebOSError` hierarchy.
5
- *
6
- * Instances carry a string `kind` discriminator that narrows across
7
- * every ClientSessionError subclass — consumers can `switch (e.kind)` as a
8
- * one-namespace alternative to chains of `instanceof`. The choice of
9
- * `kind` (not `type`) avoids ambiguity with `KernelError.type` which
10
- * carries server-error-category strings.
11
- *
12
- * Lives in `@astrale-os/kernel-client/errors` (alongside `WebOSError`)
13
- * rather than `session/errors` so that helper subpaths (`redirect`,
14
- * `delegation`) can extend it without importing from `session/` —
15
- * keeping the `session → helpers → errors` dep graph (§17.3) intact.
16
- */
17
- export declare class ClientSessionError extends WebOSError {
18
- readonly kind: string;
19
- constructor(message: string, kind: string, options?: ErrorOptions);
1
+ import { ClientError } from './client-error.js';
2
+ export type SessionFailure = 'cancelled' | 'closed' | 'timeout';
3
+ export interface SessionErrorOptions extends ErrorOptions {
4
+ readonly failure: SessionFailure;
5
+ }
6
+ export declare class SessionError extends ClientError {
7
+ readonly failure: SessionFailure;
8
+ constructor(message: string, options: SessionErrorOptions);
20
9
  }
21
- //# sourceMappingURL=session-error.d.ts.map
@@ -1,25 +1,9 @@
1
- import { WebOSError } from './errors.js';
2
- /**
3
- * Base class for every error ClientSession adds on top of the wire client's
4
- * `WebOSError` hierarchy.
5
- *
6
- * Instances carry a string `kind` discriminator that narrows across
7
- * every ClientSessionError subclass — consumers can `switch (e.kind)` as a
8
- * one-namespace alternative to chains of `instanceof`. The choice of
9
- * `kind` (not `type`) avoids ambiguity with `KernelError.type` which
10
- * carries server-error-category strings.
11
- *
12
- * Lives in `@astrale-os/kernel-client/errors` (alongside `WebOSError`)
13
- * rather than `session/errors` so that helper subpaths (`redirect`,
14
- * `delegation`) can extend it without importing from `session/` —
15
- * keeping the `session → helpers → errors` dep graph (§17.3) intact.
16
- */
17
- export class ClientSessionError extends WebOSError {
18
- kind;
19
- constructor(message, kind, options) {
1
+ import { ClientError } from './client-error.js';
2
+ export class SessionError extends ClientError {
3
+ failure;
4
+ constructor(message, options) {
20
5
  super(message, options);
21
- this.kind = kind;
22
- this.name = 'ClientSessionError';
6
+ this.name = 'SessionError';
7
+ this.failure = options.failure;
23
8
  }
24
9
  }
25
- //# sourceMappingURL=session-error.js.map
@@ -0,0 +1,9 @@
1
+ import type { invocation as protocol, publication } from '@astrale-os/kernel-protocol';
2
+ import { ClientError } from './client-error.js';
3
+ /** Client-visible stale-route error shape; public instances are not routing-control witnesses. */
4
+ export declare class StaleRouteError extends ClientError {
5
+ readonly currentEtag: publication.Etag;
6
+ readonly invocation: protocol.InvocationId;
7
+ readonly name = "StaleRouteError";
8
+ constructor(currentEtag: publication.Etag, invocation: protocol.InvocationId);
9
+ }
@@ -0,0 +1,12 @@
1
+ import { ClientError } from './client-error.js';
2
+ /** Client-visible stale-route error shape; public instances are not routing-control witnesses. */
3
+ export class StaleRouteError extends ClientError {
4
+ currentEtag;
5
+ invocation;
6
+ name = 'StaleRouteError';
7
+ constructor(currentEtag, invocation) {
8
+ super('The destination Publication route is stale.');
9
+ this.currentEtag = currentEtag;
10
+ this.invocation = invocation;
11
+ }
12
+ }
@@ -0,0 +1,30 @@
1
+ import type { invocation as protocol } from '@astrale-os/kernel-protocol';
2
+ import { ClientError } from './client-error.js';
3
+ /** Whether an invocation is proven not to have crossed the transport boundary. */
4
+ export type TransportDelivery = 'not-sent' | 'unknown';
5
+ /** Observable transport phase in which communication stopped. */
6
+ export type TransportPhase = 'connect' | 'send' | 'receive' | 'timeout' | 'closed' | 'unknown';
7
+ export type TransportContext = {
8
+ readonly kind: 'acquisition';
9
+ readonly resource: 'publication' | 'bundle';
10
+ } | {
11
+ readonly kind: 'invocation';
12
+ readonly delivery: TransportDelivery;
13
+ readonly invocation?: protocol.InvocationId;
14
+ };
15
+ export interface AcquisitionTransportErrorOptions extends ErrorOptions {
16
+ readonly phase: TransportPhase;
17
+ readonly resource: 'publication' | 'bundle';
18
+ }
19
+ export interface InvocationTransportErrorOptions extends ErrorOptions {
20
+ readonly phase: TransportPhase;
21
+ readonly delivery: TransportDelivery;
22
+ readonly invocation?: protocol.InvocationId;
23
+ }
24
+ export declare class TransportError extends ClientError {
25
+ readonly phase: TransportPhase;
26
+ readonly context: TransportContext;
27
+ private constructor();
28
+ static acquisition(message: string, options: AcquisitionTransportErrorOptions): TransportError;
29
+ static invocation(message: string, options: InvocationTransportErrorOptions): TransportError;
30
+ }
@@ -0,0 +1,18 @@
1
+ import { ClientError } from './client-error.js';
2
+ export class TransportError extends ClientError {
3
+ phase;
4
+ context;
5
+ constructor(message, phase, context, options) {
6
+ super(message, options);
7
+ this.phase = phase;
8
+ this.context = context;
9
+ this.name = 'TransportError';
10
+ Object.freeze(context);
11
+ }
12
+ static acquisition(message, options) {
13
+ return new TransportError(message, options.phase, { kind: 'acquisition', resource: options.resource }, options);
14
+ }
15
+ static invocation(message, options) {
16
+ return new TransportError(message, options.phase, { kind: 'invocation', delivery: options.delivery, invocation: options.invocation }, options);
17
+ }
18
+ }
@@ -0,0 +1,22 @@
1
+ import type { Edge } from '@astrale-os/kernel-core/graph/edge';
2
+ import type { Node } from '@astrale-os/kernel-core/graph/node';
3
+ import type { QueryAST, QuerySingleSourceClassOf } from '@astrale-os/kernel-core/graph/query';
4
+ import type { Domain } from '@astrale-os/kernel-dsl/v1/domain';
5
+ import type { AnyResolvedClass, ResolvedClass } from '@astrale-os/kernel-dsl/v1/language';
6
+ import type { GraphApi, GraphQueryOptions } from '../graph.js';
7
+ import type { BoundEdge, BoundNode } from './model.js';
8
+ import type { BoundQueryPage } from './page.js';
9
+ import type { MethodCall } from './project.js';
10
+ export type DomainQueryOptions = Omit<GraphQueryOptions, 'expected'>;
11
+ type AdmittedSourceClasses<Query extends QueryAST> = [QuerySingleSourceClassOf<Query>] extends [
12
+ never
13
+ ] ? never : QuerySingleSourceClassOf<Query> extends AnyResolvedClass ? unknown : never;
14
+ export interface DomainBinding<DomainValue extends Domain = Domain> {
15
+ readonly domain: DomainValue;
16
+ readonly graph: GraphApi;
17
+ query<Query extends QueryAST>(query: Query & AdmittedSourceClasses<Query>, options: DomainQueryOptions): Promise<BoundQueryPage<Query>>;
18
+ wrapNode<Class extends ResolvedClass<'node'>>(selected: Class, node: Node): BoundNode<Class>;
19
+ wrapEdge<Class extends ResolvedClass<'edge'>>(selected: Class, edge: Edge): BoundEdge<Class>;
20
+ }
21
+ export declare function createDomainBinding<DomainValue extends Domain>(domain: DomainValue, graph: GraphApi, call: MethodCall): DomainBinding<DomainValue>;
22
+ export {};
@@ -0,0 +1,123 @@
1
+ import { ClassKey } from '@astrale-os/kernel-dsl/v1/addressing';
2
+ import { isDomain } from '@astrale-os/kernel-dsl/v1/domain';
3
+ import { provenanceOfGraphValue, provenanceOfResponse } from '../provenance.js';
4
+ import { selectedEdges, selectedNodes } from './page.js';
5
+ import { projectEdge, projectNode } from './project.js';
6
+ import { provenanceOfProjectedValue, sameClosure } from './provenance.js';
7
+ export function createDomainBinding(domain, graph, call) {
8
+ if (!isDomain(domain))
9
+ throw new TypeError('Domain binding requires an admitted DSL Domain.');
10
+ const wrapNode = (selected, node) => {
11
+ requireOwnedClass(domain, selected);
12
+ const provenance = requireProvenance(domain, node);
13
+ const exact = requireExactClass(domain, node.class, 'node');
14
+ if (!exact.satisfies(selected))
15
+ throw new TypeError(`${exact.key} does not satisfy ${selected.key}.`);
16
+ const diagnostics = exact.validateProperties(node.props);
17
+ if (diagnostics.length > 0)
18
+ throw new TypeError(`Node ${node.id} has invalid exact Properties.`);
19
+ return projectNode(selected, node, provenance, call);
20
+ };
21
+ const wrapEdge = (selected, edge) => {
22
+ requireOwnedClass(domain, selected);
23
+ const provenance = requireProvenance(domain, edge);
24
+ const exact = requireExactClass(domain, edge.class, 'edge');
25
+ if (!exact.satisfies(selected))
26
+ throw new TypeError(`${exact.key} does not satisfy ${selected.key}.`);
27
+ const diagnostics = exact.validateProperties(edge.props);
28
+ if (diagnostics.length > 0)
29
+ throw new TypeError('Edge has invalid exact Properties.');
30
+ return projectEdge(selected, edge, provenance);
31
+ };
32
+ return Object.freeze({
33
+ domain,
34
+ graph,
35
+ async query(query, options) {
36
+ const selected = selectedSourceClass(domain, query);
37
+ const response = await graph.query(query, { ...options, expected: domain.closure });
38
+ const provenance = provenanceOfResponse(response);
39
+ if (provenance === undefined || !sameClosure(provenance.closure, domain.closure)) {
40
+ throw new TypeError('Authenticated query provenance was not retained.');
41
+ }
42
+ const next = response.page.next === undefined
43
+ ? undefined
44
+ : () => this.query(query, {
45
+ ...options,
46
+ page: { ...options.page, after: response.page.next },
47
+ });
48
+ if (selected.kind === 'node') {
49
+ const nodes = selectedNodes(response).map((node) => wrapNode(selected, node));
50
+ return Object.freeze({
51
+ nodes: Object.freeze(nodes),
52
+ raw: response,
53
+ ...(next === undefined ? {} : { next }),
54
+ refine: (value, target) => refineNode(domain, call, value, target, provenance),
55
+ });
56
+ }
57
+ const edges = selectedEdges(response).map((edge) => wrapEdge(selected, edge));
58
+ return Object.freeze({
59
+ edges: Object.freeze(edges),
60
+ raw: response,
61
+ ...(next === undefined ? {} : { next }),
62
+ refine: (value, target) => refineEdge(domain, value, target, provenance),
63
+ });
64
+ },
65
+ wrapNode,
66
+ wrapEdge,
67
+ });
68
+ }
69
+ function selectedSourceClass(domain, query) {
70
+ if (query.steps.some((step) => step.op === 'expand')) {
71
+ throw new TypeError('Rich Domain queries do not yet project expanded bindings.');
72
+ }
73
+ if (query.source.terms.length !== 1 || query.source.terms[0]?.kind !== 'class') {
74
+ throw new TypeError('Rich Domain queries require one exact Class source term.');
75
+ }
76
+ const sourceBinding = query.source.kind === 'node' ? query.source.binding : query.source.bindings.edge;
77
+ if (query.select.binding !== sourceBinding) {
78
+ throw new TypeError('Rich Domain queries must select their original source binding.');
79
+ }
80
+ const selected = domain.definition(query.source.terms[0].class);
81
+ if (selected?.ref.kind !== 'class' || selected.kind !== query.source.kind) {
82
+ throw new TypeError('Query source Class is absent or has the wrong graph kind.');
83
+ }
84
+ return selected;
85
+ }
86
+ function refineNode(domain, call, value, target, page) {
87
+ requireOwnedClass(domain, target);
88
+ const provenance = requirePageProvenance(value, page);
89
+ const exact = requireExactClass(domain, value.class, 'node');
90
+ return exact.satisfies(target) ? projectNode(target, value, provenance, call) : undefined;
91
+ }
92
+ function refineEdge(domain, value, target, page) {
93
+ requireOwnedClass(domain, target);
94
+ const provenance = requirePageProvenance(value, page);
95
+ const exact = requireExactClass(domain, value.class, 'edge');
96
+ return exact.satisfies(target) ? projectEdge(target, value, provenance) : undefined;
97
+ }
98
+ function requirePageProvenance(value, page) {
99
+ const provenance = provenanceOfProjectedValue(value);
100
+ if (provenance?.page !== page.page) {
101
+ throw new TypeError('Refinement requires a value from this exact result page.');
102
+ }
103
+ return provenance;
104
+ }
105
+ function requireOwnedClass(domain, selected) {
106
+ if (domain.definition(selected.key) !== selected) {
107
+ throw new TypeError('Selected Class does not belong to the bound Domain closure.');
108
+ }
109
+ }
110
+ function requireProvenance(domain, value) {
111
+ const provenance = provenanceOfGraphValue(value);
112
+ if (provenance === undefined || !sameClosure(provenance.closure, domain.closure)) {
113
+ throw new TypeError('Graph value lacks matching authenticated query provenance.');
114
+ }
115
+ return provenance;
116
+ }
117
+ function requireExactClass(domain, key, kind) {
118
+ const exact = domain.definition(ClassKey.ref(ClassKey(key)));
119
+ if (exact?.ref.kind !== 'class' || exact.kind !== kind || exact.abstract) {
120
+ throw new TypeError(`Exact ${kind} Class ${key} is not active and concrete.`);
121
+ }
122
+ return exact;
123
+ }
@@ -0,0 +1 @@
1
+ export {};