@astrale-os/kernel-client 0.5.0 → 0.6.0-beta.1

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 (809) hide show
  1. package/dist/auth/auth.d.ts +19 -0
  2. package/dist/auth/auth.d.ts.map +1 -0
  3. package/dist/auth/auth.js +16 -0
  4. package/dist/auth/auth.js.map +1 -0
  5. package/dist/auth/authorization.d.ts +14 -0
  6. package/dist/auth/authorization.d.ts.map +1 -0
  7. package/dist/auth/authorization.js +18 -0
  8. package/dist/auth/authorization.js.map +1 -0
  9. package/dist/auth/credential.d.ts +20 -0
  10. package/dist/auth/credential.d.ts.map +1 -0
  11. package/dist/auth/credential.js +22 -0
  12. package/dist/auth/credential.js.map +1 -0
  13. package/dist/auth/identity.d.ts +15 -0
  14. package/dist/auth/identity.d.ts.map +1 -0
  15. package/dist/auth/identity.js +16 -0
  16. package/dist/auth/identity.js.map +1 -0
  17. package/dist/auth/index.d.ts +6 -15
  18. package/dist/auth/index.d.ts.map +1 -1
  19. package/dist/auth/index.js +5 -9
  20. package/dist/auth/index.js.map +1 -1
  21. package/dist/auth/provision.d.ts +9 -0
  22. package/dist/auth/provision.d.ts.map +1 -0
  23. package/dist/auth/provision.js +11 -0
  24. package/dist/auth/provision.js.map +1 -0
  25. package/dist/client/admission.d.ts +5 -0
  26. package/dist/client/admission.d.ts.map +1 -0
  27. package/dist/client/admission.js +35 -0
  28. package/dist/client/admission.js.map +1 -0
  29. package/dist/client/client.d.ts +21 -108
  30. package/dist/client/client.d.ts.map +1 -1
  31. package/dist/client/client.js +71 -380
  32. package/dist/client/client.js.map +1 -1
  33. package/dist/client/credential.d.ts +13 -0
  34. package/dist/client/credential.d.ts.map +1 -0
  35. package/dist/client/credential.js +52 -0
  36. package/dist/client/credential.js.map +1 -0
  37. package/dist/client/index.d.ts +6 -0
  38. package/dist/client/index.d.ts.map +1 -0
  39. package/dist/client/index.js +5 -0
  40. package/dist/client/index.js.map +1 -0
  41. package/dist/client/request.d.ts +24 -0
  42. package/dist/client/request.d.ts.map +1 -0
  43. package/dist/client/request.js +83 -0
  44. package/dist/client/request.js.map +1 -0
  45. package/dist/client/result.d.ts +5 -0
  46. package/dist/client/result.d.ts.map +1 -0
  47. package/dist/client/result.js +29 -0
  48. package/dist/client/result.js.map +1 -0
  49. package/dist/client/routing-control.d.ts +11 -0
  50. package/dist/client/routing-control.d.ts.map +1 -0
  51. package/dist/client/routing-control.js +24 -0
  52. package/dist/client/routing-control.js.map +1 -0
  53. package/dist/domain/binding.d.ts +25 -0
  54. package/dist/domain/binding.d.ts.map +1 -0
  55. package/dist/domain/binding.js +50 -0
  56. package/dist/domain/binding.js.map +1 -0
  57. package/dist/domain/callable.d.ts +23 -0
  58. package/dist/domain/callable.d.ts.map +1 -0
  59. package/dist/domain/callable.js +66 -0
  60. package/dist/domain/callable.js.map +1 -0
  61. package/dist/domain/domain.typecheck.d.ts +2 -0
  62. package/dist/domain/domain.typecheck.d.ts.map +1 -0
  63. package/dist/domain/domain.typecheck.js +69 -0
  64. package/dist/domain/domain.typecheck.js.map +1 -0
  65. package/dist/domain/index.d.ts +4 -0
  66. package/dist/domain/index.d.ts.map +1 -0
  67. package/dist/domain/index.js +2 -0
  68. package/dist/domain/index.js.map +1 -0
  69. package/dist/domain/node.d.ts +10 -0
  70. package/dist/domain/node.d.ts.map +1 -0
  71. package/dist/domain/node.js +6 -0
  72. package/dist/domain/node.js.map +1 -0
  73. package/dist/errors/client-error.d.ts +4 -0
  74. package/dist/errors/client-error.d.ts.map +1 -0
  75. package/dist/errors/client-error.js +7 -0
  76. package/dist/errors/client-error.js.map +1 -0
  77. package/dist/errors/index.d.ts +6 -5
  78. package/dist/errors/index.d.ts.map +1 -1
  79. package/dist/errors/index.js +6 -3
  80. package/dist/errors/index.js.map +1 -1
  81. package/dist/errors/miss-error.d.ts +7 -0
  82. package/dist/errors/miss-error.d.ts.map +1 -0
  83. package/dist/errors/miss-error.js +9 -0
  84. package/dist/errors/miss-error.js.map +1 -0
  85. package/dist/errors/protocol-error.d.ts +5 -0
  86. package/dist/errors/protocol-error.d.ts.map +1 -0
  87. package/dist/errors/protocol-error.js +8 -0
  88. package/dist/errors/protocol-error.js.map +1 -0
  89. package/dist/errors/response-error.d.ts +10 -0
  90. package/dist/errors/response-error.d.ts.map +1 -0
  91. package/dist/errors/response-error.js +15 -0
  92. package/dist/errors/response-error.js.map +1 -0
  93. package/dist/errors/stale-route-error.d.ts +9 -0
  94. package/dist/errors/stale-route-error.d.ts.map +1 -0
  95. package/dist/errors/stale-route-error.js +11 -0
  96. package/dist/errors/stale-route-error.js.map +1 -0
  97. package/dist/errors/transport-error.d.ts +15 -0
  98. package/dist/errors/transport-error.d.ts.map +1 -0
  99. package/dist/errors/transport-error.js +12 -0
  100. package/dist/errors/transport-error.js.map +1 -0
  101. package/dist/graph/errors.d.ts +9 -0
  102. package/dist/graph/errors.d.ts.map +1 -0
  103. package/dist/graph/errors.js +14 -0
  104. package/dist/graph/errors.js.map +1 -0
  105. package/dist/graph/graph.d.ts +26 -0
  106. package/dist/graph/graph.d.ts.map +1 -0
  107. package/dist/graph/graph.js +19 -0
  108. package/dist/graph/graph.js.map +1 -0
  109. package/dist/graph/index.d.ts +6 -25
  110. package/dist/graph/index.d.ts.map +1 -1
  111. package/dist/graph/index.js +5 -20
  112. package/dist/graph/index.js.map +1 -1
  113. package/dist/graph/mutation.d.ts +6 -0
  114. package/dist/graph/mutation.d.ts.map +1 -0
  115. package/dist/graph/mutation.js +18 -0
  116. package/dist/graph/mutation.js.map +1 -0
  117. package/dist/graph/page/index.d.ts +3 -0
  118. package/dist/graph/page/index.d.ts.map +1 -0
  119. package/dist/graph/page/index.js +2 -0
  120. package/dist/graph/page/index.js.map +1 -0
  121. package/dist/graph/page/neighbors.d.ts +10 -0
  122. package/dist/graph/page/neighbors.d.ts.map +1 -0
  123. package/dist/graph/page/neighbors.js +35 -0
  124. package/dist/graph/page/neighbors.js.map +1 -0
  125. package/dist/graph/page/page.d.ts +34 -0
  126. package/dist/graph/page/page.d.ts.map +1 -0
  127. package/dist/graph/page/page.js +56 -0
  128. package/dist/graph/page/page.js.map +1 -0
  129. package/dist/graph/query.d.ts +5 -0
  130. package/dist/graph/query.d.ts.map +1 -0
  131. package/dist/graph/query.js +57 -0
  132. package/dist/graph/query.js.map +1 -0
  133. package/dist/graph/read.d.ts +7 -0
  134. package/dist/graph/read.d.ts.map +1 -0
  135. package/dist/graph/read.js +18 -0
  136. package/dist/graph/read.js.map +1 -0
  137. package/dist/index.d.ts +6 -24
  138. package/dist/index.d.ts.map +1 -1
  139. package/dist/index.js +6 -20
  140. package/dist/index.js.map +1 -1
  141. package/dist/pacer/batcher/batcher.d.ts +8 -0
  142. package/dist/pacer/batcher/batcher.d.ts.map +1 -0
  143. package/dist/pacer/batcher/batcher.js +14 -0
  144. package/dist/pacer/batcher/batcher.js.map +1 -0
  145. package/dist/pacer/batcher/defaults.d.ts +3 -0
  146. package/dist/pacer/batcher/defaults.d.ts.map +1 -0
  147. package/dist/pacer/batcher/defaults.js +3 -0
  148. package/dist/pacer/batcher/defaults.js.map +1 -0
  149. package/dist/pacer/batcher/index.d.ts +2 -0
  150. package/dist/pacer/batcher/index.d.ts.map +1 -0
  151. package/dist/pacer/batcher/index.js +2 -0
  152. package/dist/pacer/batcher/index.js.map +1 -0
  153. package/dist/pacer/index.d.ts +4 -9
  154. package/dist/pacer/index.d.ts.map +1 -1
  155. package/dist/pacer/index.js +4 -10
  156. package/dist/pacer/index.js.map +1 -1
  157. package/dist/pacer/limiter/defaults.d.ts +3 -0
  158. package/dist/pacer/limiter/defaults.d.ts.map +1 -0
  159. package/dist/pacer/limiter/defaults.js +3 -0
  160. package/dist/pacer/limiter/defaults.js.map +1 -0
  161. package/dist/pacer/limiter/index.d.ts +2 -0
  162. package/dist/pacer/limiter/index.d.ts.map +1 -0
  163. package/dist/pacer/limiter/index.js +2 -0
  164. package/dist/pacer/limiter/index.js.map +1 -0
  165. package/dist/pacer/limiter/limiter.d.ts +8 -0
  166. package/dist/pacer/limiter/limiter.d.ts.map +1 -0
  167. package/dist/pacer/limiter/limiter.js +15 -0
  168. package/dist/pacer/limiter/limiter.js.map +1 -0
  169. package/dist/pacer/queue/defaults.d.ts +2 -0
  170. package/dist/pacer/queue/defaults.d.ts.map +1 -0
  171. package/dist/pacer/queue/defaults.js +2 -0
  172. package/dist/pacer/queue/defaults.js.map +1 -0
  173. package/dist/pacer/queue/index.d.ts +2 -0
  174. package/dist/pacer/queue/index.d.ts.map +1 -0
  175. package/dist/pacer/queue/index.js +2 -0
  176. package/dist/pacer/queue/index.js.map +1 -0
  177. package/dist/pacer/queue/queue.d.ts +7 -0
  178. package/dist/pacer/queue/queue.d.ts.map +1 -0
  179. package/dist/pacer/queue/queue.js +13 -0
  180. package/dist/pacer/queue/queue.js.map +1 -0
  181. package/dist/pacer/retry/defaults.d.ts +7 -0
  182. package/dist/pacer/retry/defaults.d.ts.map +1 -0
  183. package/dist/pacer/retry/defaults.js +17 -0
  184. package/dist/pacer/retry/defaults.js.map +1 -0
  185. package/dist/pacer/retry/index.d.ts +2 -0
  186. package/dist/pacer/retry/index.d.ts.map +1 -0
  187. package/dist/pacer/retry/index.js +2 -0
  188. package/dist/pacer/retry/index.js.map +1 -0
  189. package/dist/pacer/retry/retry.d.ts +10 -0
  190. package/dist/pacer/retry/retry.d.ts.map +1 -0
  191. package/dist/pacer/retry/retry.js +56 -0
  192. package/dist/pacer/retry/retry.js.map +1 -0
  193. package/dist/pool/index.d.ts +2 -3
  194. package/dist/pool/index.d.ts.map +1 -1
  195. package/dist/pool/index.js +0 -1
  196. package/dist/pool/index.js.map +1 -1
  197. package/dist/pool/pool.d.ts +19 -58
  198. package/dist/pool/pool.d.ts.map +1 -1
  199. package/dist/pool/pool.js +46 -63
  200. package/dist/pool/pool.js.map +1 -1
  201. package/dist/pool/target.d.ts +16 -0
  202. package/dist/pool/target.d.ts.map +1 -0
  203. package/dist/pool/target.js +50 -0
  204. package/dist/pool/target.js.map +1 -0
  205. package/dist/session/context/control.d.ts +6 -0
  206. package/dist/session/context/control.d.ts.map +1 -0
  207. package/dist/session/context/control.js +18 -0
  208. package/dist/session/context/control.js.map +1 -0
  209. package/dist/session/context/index.d.ts +5 -0
  210. package/dist/session/context/index.d.ts.map +1 -0
  211. package/dist/session/context/index.js +5 -0
  212. package/dist/session/context/index.js.map +1 -0
  213. package/dist/session/context/limits.d.ts +8 -0
  214. package/dist/session/context/limits.d.ts.map +1 -0
  215. package/dist/session/context/limits.js +19 -0
  216. package/dist/session/context/limits.js.map +1 -0
  217. package/dist/session/context/operation.d.ts +20 -0
  218. package/dist/session/context/operation.d.ts.map +1 -0
  219. package/dist/session/context/operation.js +70 -0
  220. package/dist/session/context/operation.js.map +1 -0
  221. package/dist/session/context/policy.d.ts +10 -0
  222. package/dist/session/context/policy.d.ts.map +1 -0
  223. package/dist/session/context/policy.js +63 -0
  224. package/dist/session/context/policy.js.map +1 -0
  225. package/dist/session/discovery/bundle.d.ts +18 -0
  226. package/dist/session/discovery/bundle.d.ts.map +1 -0
  227. package/dist/session/discovery/bundle.js +55 -0
  228. package/dist/session/discovery/bundle.js.map +1 -0
  229. package/dist/session/discovery/discovery.d.ts +27 -0
  230. package/dist/session/discovery/discovery.d.ts.map +1 -0
  231. package/dist/session/discovery/discovery.js +69 -0
  232. package/dist/session/discovery/discovery.js.map +1 -0
  233. package/dist/session/discovery/index.d.ts +24 -0
  234. package/dist/session/discovery/index.d.ts.map +1 -0
  235. package/dist/session/discovery/index.js +15 -0
  236. package/dist/session/discovery/index.js.map +1 -0
  237. package/dist/session/discovery/publication.d.ts +22 -0
  238. package/dist/session/discovery/publication.d.ts.map +1 -0
  239. package/dist/session/discovery/publication.js +124 -0
  240. package/dist/session/discovery/publication.js.map +1 -0
  241. package/dist/session/discovery/snapshot.d.ts +12 -0
  242. package/dist/session/discovery/snapshot.d.ts.map +1 -0
  243. package/dist/session/discovery/snapshot.js +4 -0
  244. package/dist/session/discovery/snapshot.js.map +1 -0
  245. package/dist/session/index.d.ts +5 -15
  246. package/dist/session/index.d.ts.map +1 -1
  247. package/dist/session/index.js +1 -8
  248. package/dist/session/index.js.map +1 -1
  249. package/dist/session/routing/auth.d.ts +19 -0
  250. package/dist/session/routing/auth.d.ts.map +1 -0
  251. package/dist/session/routing/auth.js +43 -0
  252. package/dist/session/routing/auth.js.map +1 -0
  253. package/dist/session/routing/cache.d.ts +20 -0
  254. package/dist/session/routing/cache.d.ts.map +1 -0
  255. package/dist/session/routing/cache.js +110 -0
  256. package/dist/session/routing/cache.js.map +1 -0
  257. package/dist/session/routing/dispatch.d.ts +35 -0
  258. package/dist/session/routing/dispatch.d.ts.map +1 -0
  259. package/dist/session/routing/dispatch.js +101 -0
  260. package/dist/session/routing/dispatch.js.map +1 -0
  261. package/dist/session/routing/envelope.d.ts +14 -0
  262. package/dist/session/routing/envelope.d.ts.map +1 -0
  263. package/dist/session/routing/envelope.js +36 -0
  264. package/dist/session/routing/envelope.js.map +1 -0
  265. package/dist/session/routing/index.d.ts +6 -0
  266. package/dist/session/routing/index.d.ts.map +1 -0
  267. package/dist/session/routing/index.js +6 -0
  268. package/dist/session/routing/index.js.map +1 -0
  269. package/dist/session/routing/request.d.ts +9 -0
  270. package/dist/session/routing/request.d.ts.map +1 -0
  271. package/dist/session/routing/request.js +26 -0
  272. package/dist/session/routing/request.js.map +1 -0
  273. package/dist/session/session.d.ts +56 -0
  274. package/dist/session/session.d.ts.map +1 -0
  275. package/dist/session/session.js +183 -0
  276. package/dist/session/session.js.map +1 -0
  277. package/dist/session/session.typecheck.d.ts +2 -0
  278. package/dist/session/session.typecheck.d.ts.map +1 -0
  279. package/dist/session/session.typecheck.js +10 -0
  280. package/dist/session/session.typecheck.js.map +1 -0
  281. package/dist/session/views/catalog.d.ts +16 -0
  282. package/dist/session/views/catalog.d.ts.map +1 -0
  283. package/dist/session/views/catalog.js +63 -0
  284. package/dist/session/views/catalog.js.map +1 -0
  285. package/dist/session/views/index.d.ts +3 -0
  286. package/dist/session/views/index.d.ts.map +1 -0
  287. package/dist/session/views/index.js +3 -0
  288. package/dist/session/views/index.js.map +1 -0
  289. package/dist/session/views/resolve.d.ts +13 -0
  290. package/dist/session/views/resolve.d.ts.map +1 -0
  291. package/dist/session/views/resolve.js +12 -0
  292. package/dist/session/views/resolve.js.map +1 -0
  293. package/dist/store/entity-index.d.ts +23 -0
  294. package/dist/store/entity-index.d.ts.map +1 -0
  295. package/dist/store/entity-index.js +95 -0
  296. package/dist/store/entity-index.js.map +1 -0
  297. package/dist/store/index.d.ts +1 -25
  298. package/dist/store/index.d.ts.map +1 -1
  299. package/dist/store/index.js +1 -18
  300. package/dist/store/index.js.map +1 -1
  301. package/dist/store/memory.d.ts +46 -96
  302. package/dist/store/memory.d.ts.map +1 -1
  303. package/dist/store/memory.js +346 -762
  304. package/dist/store/memory.js.map +1 -1
  305. package/dist/store/mutation.d.ts +6 -0
  306. package/dist/store/mutation.d.ts.map +1 -0
  307. package/dist/store/mutation.js +35 -0
  308. package/dist/store/mutation.js.map +1 -0
  309. package/dist/store/observe.d.ts +4 -0
  310. package/dist/store/observe.d.ts.map +1 -0
  311. package/dist/store/observe.js +18 -0
  312. package/dist/store/observe.js.map +1 -0
  313. package/dist/store/optimistic.d.ts +13 -0
  314. package/dist/store/optimistic.d.ts.map +1 -0
  315. package/dist/store/optimistic.js +44 -0
  316. package/dist/store/optimistic.js.map +1 -0
  317. package/dist/store/query-key.d.ts +6 -0
  318. package/dist/store/query-key.d.ts.map +1 -0
  319. package/dist/store/query-key.js +23 -0
  320. package/dist/store/query-key.js.map +1 -0
  321. package/dist/store/shape.d.ts +26 -0
  322. package/dist/store/shape.d.ts.map +1 -0
  323. package/dist/store/shape.js +30 -0
  324. package/dist/store/shape.js.map +1 -0
  325. package/dist/store/store.d.ts +69 -0
  326. package/dist/store/store.d.ts.map +1 -0
  327. package/dist/store/store.js +145 -0
  328. package/dist/store/store.js.map +1 -0
  329. package/dist/store/store.typecheck.d.ts +2 -0
  330. package/dist/store/store.typecheck.d.ts.map +1 -0
  331. package/dist/store/store.typecheck.js +41 -0
  332. package/dist/store/store.typecheck.js.map +1 -0
  333. package/dist/transport/auto/decision.d.ts +23 -0
  334. package/dist/transport/auto/decision.d.ts.map +1 -0
  335. package/dist/transport/auto/decision.js +49 -0
  336. package/dist/transport/auto/decision.js.map +1 -0
  337. package/dist/transport/auto/fallback.d.ts +17 -0
  338. package/dist/transport/auto/fallback.d.ts.map +1 -0
  339. package/dist/transport/auto/fallback.js +77 -0
  340. package/dist/transport/auto/fallback.js.map +1 -0
  341. package/dist/transport/auto/index.d.ts +3 -0
  342. package/dist/transport/auto/index.d.ts.map +1 -0
  343. package/dist/transport/auto/index.js +3 -0
  344. package/dist/transport/auto/index.js.map +1 -0
  345. package/dist/transport/auto/transport.d.ts +38 -0
  346. package/dist/transport/auto/transport.d.ts.map +1 -0
  347. package/dist/transport/auto/transport.js +141 -0
  348. package/dist/transport/auto/transport.js.map +1 -0
  349. package/dist/transport/auto/warning.d.ts +14 -0
  350. package/dist/transport/auto/warning.d.ts.map +1 -0
  351. package/dist/transport/auto/warning.js +19 -0
  352. package/dist/transport/auto/warning.js.map +1 -0
  353. package/dist/transport/deadline.d.ts +12 -0
  354. package/dist/transport/deadline.d.ts.map +1 -0
  355. package/dist/transport/deadline.js +40 -0
  356. package/dist/transport/deadline.js.map +1 -0
  357. package/dist/transport/http/index.d.ts +2 -0
  358. package/dist/transport/http/index.d.ts.map +1 -0
  359. package/dist/transport/http/index.js +2 -0
  360. package/dist/transport/http/index.js.map +1 -0
  361. package/dist/transport/http/response.d.ts +8 -0
  362. package/dist/transport/http/response.d.ts.map +1 -0
  363. package/dist/transport/http/response.js +79 -0
  364. package/dist/transport/http/response.js.map +1 -0
  365. package/dist/transport/http/stream.d.ts +25 -0
  366. package/dist/transport/http/stream.d.ts.map +1 -0
  367. package/dist/transport/http/stream.js +197 -0
  368. package/dist/transport/http/stream.js.map +1 -0
  369. package/dist/transport/http/transport.d.ts +33 -0
  370. package/dist/transport/http/transport.d.ts.map +1 -0
  371. package/dist/transport/http/transport.js +333 -0
  372. package/dist/transport/http/transport.js.map +1 -0
  373. package/dist/transport/index.d.ts +2 -7
  374. package/dist/transport/index.d.ts.map +1 -1
  375. package/dist/transport/index.js +1 -5
  376. package/dist/transport/index.js.map +1 -1
  377. package/dist/transport/transport.d.ts +29 -0
  378. package/dist/transport/transport.d.ts.map +1 -0
  379. package/dist/transport/transport.js +2 -0
  380. package/dist/transport/transport.js.map +1 -0
  381. package/dist/transport/websocket/connection.d.ts +38 -0
  382. package/dist/transport/websocket/connection.d.ts.map +1 -0
  383. package/dist/transport/websocket/connection.js +297 -0
  384. package/dist/transport/websocket/connection.js.map +1 -0
  385. package/dist/transport/websocket/exchange.d.ts +46 -0
  386. package/dist/transport/websocket/exchange.d.ts.map +1 -0
  387. package/dist/transport/websocket/exchange.js +288 -0
  388. package/dist/transport/websocket/exchange.js.map +1 -0
  389. package/dist/transport/websocket/index.d.ts +2 -0
  390. package/dist/transport/websocket/index.d.ts.map +1 -0
  391. package/dist/transport/websocket/index.js +2 -0
  392. package/dist/transport/websocket/index.js.map +1 -0
  393. package/dist/transport/websocket/transport.d.ts +47 -0
  394. package/dist/transport/websocket/transport.d.ts.map +1 -0
  395. package/dist/transport/websocket/transport.js +176 -0
  396. package/dist/transport/websocket/transport.js.map +1 -0
  397. package/package.json +29 -32
  398. package/dist/auth/addressing.d.ts +0 -32
  399. package/dist/auth/addressing.d.ts.map +0 -1
  400. package/dist/auth/addressing.js +0 -36
  401. package/dist/auth/addressing.js.map +0 -1
  402. package/dist/auth/api.d.ts +0 -70
  403. package/dist/auth/api.d.ts.map +0 -1
  404. package/dist/auth/api.js +0 -36
  405. package/dist/auth/api.js.map +0 -1
  406. package/dist/auth/batch.d.ts +0 -18
  407. package/dist/auth/batch.d.ts.map +0 -1
  408. package/dist/auth/batch.js +0 -25
  409. package/dist/auth/batch.js.map +0 -1
  410. package/dist/auth/composition.d.ts +0 -27
  411. package/dist/auth/composition.d.ts.map +0 -1
  412. package/dist/auth/composition.js +0 -83
  413. package/dist/auth/composition.js.map +0 -1
  414. package/dist/auth/defaults.d.ts +0 -3
  415. package/dist/auth/defaults.d.ts.map +0 -1
  416. package/dist/auth/defaults.js +0 -3
  417. package/dist/auth/defaults.js.map +0 -1
  418. package/dist/auth/minting.d.ts +0 -35
  419. package/dist/auth/minting.d.ts.map +0 -1
  420. package/dist/auth/minting.js +0 -31
  421. package/dist/auth/minting.js.map +0 -1
  422. package/dist/auth/permissions.d.ts +0 -55
  423. package/dist/auth/permissions.d.ts.map +0 -1
  424. package/dist/auth/permissions.js +0 -47
  425. package/dist/auth/permissions.js.map +0 -1
  426. package/dist/auth/principal.d.ts +0 -19
  427. package/dist/auth/principal.d.ts.map +0 -1
  428. package/dist/auth/principal.js +0 -46
  429. package/dist/auth/principal.js.map +0 -1
  430. package/dist/auth/shorthands.d.ts +0 -19
  431. package/dist/auth/shorthands.d.ts.map +0 -1
  432. package/dist/auth/shorthands.js +0 -27
  433. package/dist/auth/shorthands.js.map +0 -1
  434. package/dist/client/batch.d.ts +0 -26
  435. package/dist/client/batch.d.ts.map +0 -1
  436. package/dist/client/batch.js +0 -8
  437. package/dist/client/batch.js.map +0 -1
  438. package/dist/client/bound.d.ts +0 -27
  439. package/dist/client/bound.d.ts.map +0 -1
  440. package/dist/client/bound.js +0 -14
  441. package/dist/client/bound.js.map +0 -1
  442. package/dist/client/config.d.ts +0 -112
  443. package/dist/client/config.d.ts.map +0 -1
  444. package/dist/client/config.js +0 -10
  445. package/dist/client/config.js.map +0 -1
  446. package/dist/client/fn-map.d.ts +0 -61
  447. package/dist/client/fn-map.d.ts.map +0 -1
  448. package/dist/client/fn-map.js +0 -2
  449. package/dist/client/fn-map.js.map +0 -1
  450. package/dist/client/freeze.d.ts +0 -32
  451. package/dist/client/freeze.d.ts.map +0 -1
  452. package/dist/client/freeze.js +0 -42
  453. package/dist/client/freeze.js.map +0 -1
  454. package/dist/client/hooks.d.ts +0 -49
  455. package/dist/client/hooks.d.ts.map +0 -1
  456. package/dist/client/hooks.js +0 -2
  457. package/dist/client/hooks.js.map +0 -1
  458. package/dist/errors/errors.d.ts +0 -156
  459. package/dist/errors/errors.d.ts.map +0 -1
  460. package/dist/errors/errors.js +0 -238
  461. package/dist/errors/errors.js.map +0 -1
  462. package/dist/errors/guards.d.ts +0 -39
  463. package/dist/errors/guards.d.ts.map +0 -1
  464. package/dist/errors/guards.js +0 -127
  465. package/dist/errors/guards.js.map +0 -1
  466. package/dist/errors/session-error.d.ts +0 -21
  467. package/dist/errors/session-error.d.ts.map +0 -1
  468. package/dist/errors/session-error.js +0 -25
  469. package/dist/errors/session-error.js.map +0 -1
  470. package/dist/graph/api.d.ts +0 -85
  471. package/dist/graph/api.d.ts.map +0 -1
  472. package/dist/graph/api.js +0 -66
  473. package/dist/graph/api.js.map +0 -1
  474. package/dist/graph/mutate/builder.d.ts +0 -108
  475. package/dist/graph/mutate/builder.d.ts.map +0 -1
  476. package/dist/graph/mutate/builder.js +0 -127
  477. package/dist/graph/mutate/builder.js.map +0 -1
  478. package/dist/graph/mutate/index.d.ts +0 -5
  479. package/dist/graph/mutate/index.d.ts.map +0 -1
  480. package/dist/graph/mutate/index.js +0 -3
  481. package/dist/graph/mutate/index.js.map +0 -1
  482. package/dist/graph/mutate/shorthands.d.ts +0 -42
  483. package/dist/graph/mutate/shorthands.d.ts.map +0 -1
  484. package/dist/graph/mutate/shorthands.js +0 -65
  485. package/dist/graph/mutate/shorthands.js.map +0 -1
  486. package/dist/graph/named.d.ts +0 -38
  487. package/dist/graph/named.d.ts.map +0 -1
  488. package/dist/graph/named.js +0 -47
  489. package/dist/graph/named.js.map +0 -1
  490. package/dist/graph/query/builder.d.ts +0 -116
  491. package/dist/graph/query/builder.d.ts.map +0 -1
  492. package/dist/graph/query/builder.js +0 -136
  493. package/dist/graph/query/builder.js.map +0 -1
  494. package/dist/graph/query/edge-ref.d.ts +0 -13
  495. package/dist/graph/query/edge-ref.d.ts.map +0 -1
  496. package/dist/graph/query/edge-ref.js +0 -56
  497. package/dist/graph/query/edge-ref.js.map +0 -1
  498. package/dist/graph/query/edges.d.ts +0 -10
  499. package/dist/graph/query/edges.d.ts.map +0 -1
  500. package/dist/graph/query/edges.js +0 -11
  501. package/dist/graph/query/edges.js.map +0 -1
  502. package/dist/graph/query/errors.d.ts +0 -31
  503. package/dist/graph/query/errors.d.ts.map +0 -1
  504. package/dist/graph/query/errors.js +0 -28
  505. package/dist/graph/query/errors.js.map +0 -1
  506. package/dist/graph/query/filter.d.ts +0 -50
  507. package/dist/graph/query/filter.d.ts.map +0 -1
  508. package/dist/graph/query/filter.js +0 -32
  509. package/dist/graph/query/filter.js.map +0 -1
  510. package/dist/graph/query/index.d.ts +0 -12
  511. package/dist/graph/query/index.d.ts.map +0 -1
  512. package/dist/graph/query/index.js +0 -7
  513. package/dist/graph/query/index.js.map +0 -1
  514. package/dist/graph/query/lower.d.ts +0 -30
  515. package/dist/graph/query/lower.d.ts.map +0 -1
  516. package/dist/graph/query/lower.js +0 -171
  517. package/dist/graph/query/lower.js.map +0 -1
  518. package/dist/graph/query/shorthands.d.ts +0 -34
  519. package/dist/graph/query/shorthands.d.ts.map +0 -1
  520. package/dist/graph/query/shorthands.js +0 -71
  521. package/dist/graph/query/shorthands.js.map +0 -1
  522. package/dist/graph/query/traverse.d.ts +0 -59
  523. package/dist/graph/query/traverse.d.ts.map +0 -1
  524. package/dist/graph/query/traverse.js +0 -144
  525. package/dist/graph/query/traverse.js.map +0 -1
  526. package/dist/graph/reconcile/execute.d.ts +0 -8
  527. package/dist/graph/reconcile/execute.d.ts.map +0 -1
  528. package/dist/graph/reconcile/execute.js +0 -56
  529. package/dist/graph/reconcile/execute.js.map +0 -1
  530. package/dist/graph/reconcile/index.d.ts +0 -5
  531. package/dist/graph/reconcile/index.d.ts.map +0 -1
  532. package/dist/graph/reconcile/index.js +0 -3
  533. package/dist/graph/reconcile/index.js.map +0 -1
  534. package/dist/graph/reconcile/input.d.ts +0 -80
  535. package/dist/graph/reconcile/input.d.ts.map +0 -1
  536. package/dist/graph/reconcile/input.js +0 -5
  537. package/dist/graph/reconcile/input.js.map +0 -1
  538. package/dist/graph/reconcile/normalize.d.ts +0 -3
  539. package/dist/graph/reconcile/normalize.d.ts.map +0 -1
  540. package/dist/graph/reconcile/normalize.js +0 -144
  541. package/dist/graph/reconcile/normalize.js.map +0 -1
  542. package/dist/graph/reconcile/result.d.ts +0 -19
  543. package/dist/graph/reconcile/result.d.ts.map +0 -1
  544. package/dist/graph/reconcile/result.js +0 -95
  545. package/dist/graph/reconcile/result.js.map +0 -1
  546. package/dist/graph/reconcile/scope.d.ts +0 -6
  547. package/dist/graph/reconcile/scope.d.ts.map +0 -1
  548. package/dist/graph/reconcile/scope.js +0 -69
  549. package/dist/graph/reconcile/scope.js.map +0 -1
  550. package/dist/graph/result/envelope.d.ts +0 -37
  551. package/dist/graph/result/envelope.d.ts.map +0 -1
  552. package/dist/graph/result/envelope.js +0 -59
  553. package/dist/graph/result/envelope.js.map +0 -1
  554. package/dist/graph/result/index.d.ts +0 -6
  555. package/dist/graph/result/index.d.ts.map +0 -1
  556. package/dist/graph/result/index.js +0 -4
  557. package/dist/graph/result/index.js.map +0 -1
  558. package/dist/graph/result/next.d.ts +0 -16
  559. package/dist/graph/result/next.d.ts.map +0 -1
  560. package/dist/graph/result/next.js +0 -77
  561. package/dist/graph/result/next.js.map +0 -1
  562. package/dist/graph/result/paged.d.ts +0 -30
  563. package/dist/graph/result/paged.d.ts.map +0 -1
  564. package/dist/graph/result/paged.js +0 -41
  565. package/dist/graph/result/paged.js.map +0 -1
  566. package/dist/graph/wire.d.ts +0 -33
  567. package/dist/graph/wire.d.ts.map +0 -1
  568. package/dist/graph/wire.js +0 -16
  569. package/dist/graph/wire.js.map +0 -1
  570. package/dist/pacer/batcher.d.ts +0 -11
  571. package/dist/pacer/batcher.d.ts.map +0 -1
  572. package/dist/pacer/batcher.js +0 -15
  573. package/dist/pacer/batcher.js.map +0 -1
  574. package/dist/pacer/defaults.d.ts +0 -18
  575. package/dist/pacer/defaults.d.ts.map +0 -1
  576. package/dist/pacer/defaults.js +0 -18
  577. package/dist/pacer/defaults.js.map +0 -1
  578. package/dist/pacer/queue.d.ts +0 -11
  579. package/dist/pacer/queue.d.ts.map +0 -1
  580. package/dist/pacer/queue.js +0 -15
  581. package/dist/pacer/queue.js.map +0 -1
  582. package/dist/pacer/rate-limiter.d.ts +0 -11
  583. package/dist/pacer/rate-limiter.d.ts.map +0 -1
  584. package/dist/pacer/rate-limiter.js +0 -15
  585. package/dist/pacer/rate-limiter.js.map +0 -1
  586. package/dist/pacer/retry.d.ts +0 -14
  587. package/dist/pacer/retry.d.ts.map +0 -1
  588. package/dist/pacer/retry.js +0 -50
  589. package/dist/pacer/retry.js.map +0 -1
  590. package/dist/pool/errors.d.ts +0 -13
  591. package/dist/pool/errors.d.ts.map +0 -1
  592. package/dist/pool/errors.js +0 -16
  593. package/dist/pool/errors.js.map +0 -1
  594. package/dist/schema/bound/binder.d.ts +0 -49
  595. package/dist/schema/bound/binder.d.ts.map +0 -1
  596. package/dist/schema/bound/binder.js +0 -195
  597. package/dist/schema/bound/binder.js.map +0 -1
  598. package/dist/schema/bound/bound-node.d.ts +0 -105
  599. package/dist/schema/bound/bound-node.d.ts.map +0 -1
  600. package/dist/schema/bound/bound-node.js +0 -128
  601. package/dist/schema/bound/bound-node.js.map +0 -1
  602. package/dist/schema/bound/index.d.ts +0 -10
  603. package/dist/schema/bound/index.d.ts.map +0 -1
  604. package/dist/schema/bound/index.js +0 -5
  605. package/dist/schema/bound/index.js.map +0 -1
  606. package/dist/schema/bound/view.d.ts +0 -44
  607. package/dist/schema/bound/view.d.ts.map +0 -1
  608. package/dist/schema/bound/view.js +0 -117
  609. package/dist/schema/bound/view.js.map +0 -1
  610. package/dist/schema/bound/write-props.d.ts +0 -38
  611. package/dist/schema/bound/write-props.d.ts.map +0 -1
  612. package/dist/schema/bound/write-props.js +0 -2
  613. package/dist/schema/bound/write-props.js.map +0 -1
  614. package/dist/schema/call-args.d.ts +0 -6
  615. package/dist/schema/call-args.d.ts.map +0 -1
  616. package/dist/schema/call-args.js +0 -21
  617. package/dist/schema/call-args.js.map +0 -1
  618. package/dist/schema/class-proxy.d.ts +0 -11
  619. package/dist/schema/class-proxy.d.ts.map +0 -1
  620. package/dist/schema/class-proxy.js +0 -46
  621. package/dist/schema/class-proxy.js.map +0 -1
  622. package/dist/schema/extract.d.ts +0 -24
  623. package/dist/schema/extract.d.ts.map +0 -1
  624. package/dist/schema/extract.js +0 -45
  625. package/dist/schema/extract.js.map +0 -1
  626. package/dist/schema/from-entries.d.ts +0 -12
  627. package/dist/schema/from-entries.d.ts.map +0 -1
  628. package/dist/schema/from-entries.js +0 -39
  629. package/dist/schema/from-entries.js.map +0 -1
  630. package/dist/schema/index.d.ts +0 -16
  631. package/dist/schema/index.d.ts.map +0 -1
  632. package/dist/schema/index.js +0 -12
  633. package/dist/schema/index.js.map +0 -1
  634. package/dist/schema/known-dispatch.d.ts +0 -6
  635. package/dist/schema/known-dispatch.d.ts.map +0 -1
  636. package/dist/schema/known-dispatch.js +0 -39
  637. package/dist/schema/known-dispatch.js.map +0 -1
  638. package/dist/schema/node-proxy.d.ts +0 -21
  639. package/dist/schema/node-proxy.d.ts.map +0 -1
  640. package/dist/schema/node-proxy.js +0 -75
  641. package/dist/schema/node-proxy.js.map +0 -1
  642. package/dist/schema/persistence.d.ts +0 -31
  643. package/dist/schema/persistence.d.ts.map +0 -1
  644. package/dist/schema/persistence.js +0 -2
  645. package/dist/schema/persistence.js.map +0 -1
  646. package/dist/schema/proxy-types.d.ts +0 -131
  647. package/dist/schema/proxy-types.d.ts.map +0 -1
  648. package/dist/schema/proxy-types.js +0 -2
  649. package/dist/schema/proxy-types.js.map +0 -1
  650. package/dist/schema/registry.d.ts +0 -50
  651. package/dist/schema/registry.d.ts.map +0 -1
  652. package/dist/schema/registry.js +0 -110
  653. package/dist/schema/registry.js.map +0 -1
  654. package/dist/schema/resolve.d.ts +0 -26
  655. package/dist/schema/resolve.d.ts.map +0 -1
  656. package/dist/schema/resolve.js +0 -27
  657. package/dist/schema/resolve.js.map +0 -1
  658. package/dist/schema/typed-client.d.ts +0 -10
  659. package/dist/schema/typed-client.d.ts.map +0 -1
  660. package/dist/schema/typed-client.js +0 -26
  661. package/dist/schema/typed-client.js.map +0 -1
  662. package/dist/schema/types.d.ts +0 -9
  663. package/dist/schema/types.d.ts.map +0 -1
  664. package/dist/schema/types.js +0 -2
  665. package/dist/schema/types.js.map +0 -1
  666. package/dist/session/bound.d.ts +0 -11
  667. package/dist/session/bound.d.ts.map +0 -1
  668. package/dist/session/bound.js +0 -42
  669. package/dist/session/bound.js.map +0 -1
  670. package/dist/session/client-session.d.ts +0 -72
  671. package/dist/session/client-session.d.ts.map +0 -1
  672. package/dist/session/client-session.js +0 -673
  673. package/dist/session/client-session.js.map +0 -1
  674. package/dist/session/config.d.ts +0 -168
  675. package/dist/session/config.d.ts.map +0 -1
  676. package/dist/session/config.js +0 -2
  677. package/dist/session/config.js.map +0 -1
  678. package/dist/session/delegation/cache.d.ts +0 -139
  679. package/dist/session/delegation/cache.d.ts.map +0 -1
  680. package/dist/session/delegation/cache.js +0 -256
  681. package/dist/session/delegation/cache.js.map +0 -1
  682. package/dist/session/delegation/errors.d.ts +0 -44
  683. package/dist/session/delegation/errors.d.ts.map +0 -1
  684. package/dist/session/delegation/errors.js +0 -62
  685. package/dist/session/delegation/errors.js.map +0 -1
  686. package/dist/session/delegation/policy.d.ts +0 -183
  687. package/dist/session/delegation/policy.d.ts.map +0 -1
  688. package/dist/session/delegation/policy.js +0 -114
  689. package/dist/session/delegation/policy.js.map +0 -1
  690. package/dist/session/delegation/utils.d.ts +0 -4
  691. package/dist/session/delegation/utils.d.ts.map +0 -1
  692. package/dist/session/delegation/utils.js +0 -12
  693. package/dist/session/delegation/utils.js.map +0 -1
  694. package/dist/session/delegation-mint.d.ts +0 -13
  695. package/dist/session/delegation-mint.d.ts.map +0 -1
  696. package/dist/session/delegation-mint.js +0 -39
  697. package/dist/session/delegation-mint.js.map +0 -1
  698. package/dist/session/dispatch-routes.d.ts +0 -27
  699. package/dist/session/dispatch-routes.d.ts.map +0 -1
  700. package/dist/session/dispatch-routes.js +0 -77
  701. package/dist/session/dispatch-routes.js.map +0 -1
  702. package/dist/session/errors/index.d.ts +0 -6
  703. package/dist/session/errors/index.d.ts.map +0 -1
  704. package/dist/session/errors/index.js +0 -8
  705. package/dist/session/errors/index.js.map +0 -1
  706. package/dist/session/errors/session-errors.d.ts +0 -52
  707. package/dist/session/errors/session-errors.d.ts.map +0 -1
  708. package/dist/session/errors/session-errors.js +0 -70
  709. package/dist/session/errors/session-errors.js.map +0 -1
  710. package/dist/session/forward.d.ts +0 -15
  711. package/dist/session/forward.d.ts.map +0 -1
  712. package/dist/session/forward.js +0 -40
  713. package/dist/session/forward.js.map +0 -1
  714. package/dist/session/helpers.d.ts +0 -23
  715. package/dist/session/helpers.d.ts.map +0 -1
  716. package/dist/session/helpers.js +0 -56
  717. package/dist/session/helpers.js.map +0 -1
  718. package/dist/session/hooks.d.ts +0 -140
  719. package/dist/session/hooks.d.ts.map +0 -1
  720. package/dist/session/hooks.js +0 -2
  721. package/dist/session/hooks.js.map +0 -1
  722. package/dist/session/redirect/errors.d.ts +0 -45
  723. package/dist/session/redirect/errors.d.ts.map +0 -1
  724. package/dist/session/redirect/errors.js +0 -52
  725. package/dist/session/redirect/errors.js.map +0 -1
  726. package/dist/session/redirect/policy.d.ts +0 -79
  727. package/dist/session/redirect/policy.d.ts.map +0 -1
  728. package/dist/session/redirect/policy.js +0 -69
  729. package/dist/session/redirect/policy.js.map +0 -1
  730. package/dist/session/types.d.ts +0 -54
  731. package/dist/session/types.d.ts.map +0 -1
  732. package/dist/session/types.js +0 -2
  733. package/dist/session/types.js.map +0 -1
  734. package/dist/store/canonicalize.d.ts +0 -44
  735. package/dist/store/canonicalize.d.ts.map +0 -1
  736. package/dist/store/canonicalize.js +0 -0
  737. package/dist/store/canonicalize.js.map +0 -1
  738. package/dist/store/entities.d.ts +0 -81
  739. package/dist/store/entities.d.ts.map +0 -1
  740. package/dist/store/entities.js +0 -202
  741. package/dist/store/entities.js.map +0 -1
  742. package/dist/store/invalidate.d.ts +0 -66
  743. package/dist/store/invalidate.d.ts.map +0 -1
  744. package/dist/store/invalidate.js +0 -117
  745. package/dist/store/invalidate.js.map +0 -1
  746. package/dist/store/overlay.d.ts +0 -118
  747. package/dist/store/overlay.d.ts.map +0 -1
  748. package/dist/store/overlay.js +0 -237
  749. package/dist/store/overlay.js.map +0 -1
  750. package/dist/store/schedule.d.ts +0 -31
  751. package/dist/store/schedule.d.ts.map +0 -1
  752. package/dist/store/schedule.js +0 -76
  753. package/dist/store/schedule.js.map +0 -1
  754. package/dist/store/shapes.d.ts +0 -92
  755. package/dist/store/shapes.d.ts.map +0 -1
  756. package/dist/store/shapes.js +0 -369
  757. package/dist/store/shapes.js.map +0 -1
  758. package/dist/store/types.d.ts +0 -168
  759. package/dist/store/types.d.ts.map +0 -1
  760. package/dist/store/types.js +0 -7
  761. package/dist/store/types.js.map +0 -1
  762. package/dist/transport/binary.d.ts +0 -15
  763. package/dist/transport/binary.d.ts.map +0 -1
  764. package/dist/transport/binary.js +0 -2
  765. package/dist/transport/binary.js.map +0 -1
  766. package/dist/transport/contract.d.ts +0 -58
  767. package/dist/transport/contract.d.ts.map +0 -1
  768. package/dist/transport/contract.js +0 -11
  769. package/dist/transport/contract.js.map +0 -1
  770. package/dist/transport/fetch.d.ts +0 -31
  771. package/dist/transport/fetch.d.ts.map +0 -1
  772. package/dist/transport/fetch.js +0 -78
  773. package/dist/transport/fetch.js.map +0 -1
  774. package/dist/transport/http-envelope.d.ts +0 -49
  775. package/dist/transport/http-envelope.d.ts.map +0 -1
  776. package/dist/transport/http-envelope.js +0 -418
  777. package/dist/transport/http-envelope.js.map +0 -1
  778. package/dist/transport/http-routed.d.ts +0 -61
  779. package/dist/transport/http-routed.d.ts.map +0 -1
  780. package/dist/transport/http-routed.js +0 -409
  781. package/dist/transport/http-routed.js.map +0 -1
  782. package/dist/transport/request-id.d.ts +0 -9
  783. package/dist/transport/request-id.d.ts.map +0 -1
  784. package/dist/transport/request-id.js +0 -12
  785. package/dist/transport/request-id.js.map +0 -1
  786. package/dist/transport/ws-envelope.d.ts +0 -74
  787. package/dist/transport/ws-envelope.d.ts.map +0 -1
  788. package/dist/transport/ws-envelope.js +0 -567
  789. package/dist/transport/ws-envelope.js.map +0 -1
  790. package/dist/util/race-signal.d.ts +0 -12
  791. package/dist/util/race-signal.d.ts.map +0 -1
  792. package/dist/util/race-signal.js +0 -34
  793. package/dist/util/race-signal.js.map +0 -1
  794. package/dist/wire/controller.d.ts +0 -38
  795. package/dist/wire/controller.d.ts.map +0 -1
  796. package/dist/wire/controller.js +0 -38
  797. package/dist/wire/controller.js.map +0 -1
  798. package/dist/wire/index.d.ts +0 -7
  799. package/dist/wire/index.d.ts.map +0 -1
  800. package/dist/wire/index.js +0 -4
  801. package/dist/wire/index.js.map +0 -1
  802. package/dist/wire/meta.d.ts +0 -81
  803. package/dist/wire/meta.d.ts.map +0 -1
  804. package/dist/wire/meta.js +0 -44
  805. package/dist/wire/meta.js.map +0 -1
  806. package/dist/wire/sse.d.ts +0 -67
  807. package/dist/wire/sse.d.ts.map +0 -1
  808. package/dist/wire/sse.js +0 -170
  809. package/dist/wire/sse.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"client-session.js","sourceRoot":"","sources":["../../src/session/client-session.ts"],"names":[],"mappings":"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"}
@@ -1,168 +0,0 @@
1
- import type { CredentialInput } from '@astrale-os/kernel-core';
2
- import type { SelfIdentityExpr, UnresolvedIdentityExpr } from '@astrale-os/kernel-core/expression';
3
- import type { ClientLogger, Protocol, CallTransport } from '../client/config.js';
4
- import type { FnMap } from '../client/fn-map.js';
5
- import type { ClientPool, ClientPoolConfig } from '../pool/pool.js';
6
- import type { SchemaPersistence } from '../schema/persistence.js';
7
- import type { SchemaRegistry } from '../schema/registry.js';
8
- import type { FunctionSchema } from '../schema/types.js';
9
- import type { DelegationCache, DelegationCacheConfig } from './delegation/cache.js';
10
- import type { DelegationPolicy } from './delegation/policy.js';
11
- import type { DispatchRouteCache, DispatchRouteStore } from './dispatch-routes.js';
12
- import type { ClientSessionHooks } from './hooks.js';
13
- import type { RedirectPolicy } from './redirect/policy.js';
14
- /**
15
- * Picker shape — either a static credential, a sync function, or an
16
- * async function. `typeof identity === 'function'` is the discriminator.
17
- * ClientSession calls the function on every `session.call` that doesn't override
18
- * via `opts.credential`.
19
- */
20
- export type IdentityInput = CredentialInput | (() => CredentialInput | Promise<CredentialInput>) | (() => undefined | Promise<undefined>);
21
- export type ClientSessionConfig<M extends FnMap = FnMap> = {
22
- /** Default kernel URL used when `ClientSessionCallOptions.url` is absent — mandatory (§4.3). */
23
- default: string;
24
- /**
25
- * Identity picker. Accepts a function (sync or async), a static
26
- * credential value (for per-invocation tools), or `undefined`
27
- * (callers must supply `opts.credential` on every call).
28
- */
29
- identity?: IdentityInput;
30
- /**
31
- * Redirect policy. If `undefined`, every redirect is followed
32
- * (equivalent to `allowAllPolicy()`). Consumers who want to gate
33
- * redirects pass `allowlistPolicy` / `promptPolicy` / `strictPolicy`.
34
- */
35
- redirect?: RedirectPolicy;
36
- /**
37
- * Maximum redirect hops (default 1). The (maxHops+1)-th hop throws
38
- * `HopLimitExceededError`. Per-call override via `ClientSessionCallOptions.maxHops`.
39
- */
40
- maxHops?: number;
41
- /**
42
- * Delegation cache. If `undefined`, cross-audience dispatches (direct-dial
43
- * to non-default, redirect to non-default) dispatch with the base credential —
44
- * the kernel likely rejects, and a plain `AuthenticationError` surfaces.
45
- *
46
- * Pass a {@link DelegationCacheConfig} (`mint` required) or a pre-built
47
- * {@link DelegationCache}. `delegationMintVia(() => session, credential)` is the
48
- * low-boilerplate way to supply `mint`.
49
- */
50
- delegation?: DelegationCacheConfig | DelegationCache;
51
- /**
52
- * Learned remote route cache. If `undefined`, route facts live in memory for
53
- * this ClientSession only. Pass a pre-built cache or store to share/persist
54
- * redirect-learned route facts across sessions.
55
- */
56
- routes?: DispatchRouteCache | DispatchRouteStore;
57
- /**
58
- * Delegation policy — audience + scope derivation + consent. When
59
- * `undefined`, ClientSession uses `allowAllDelegations({ default: config.default })`
60
- * which returns `origin` for any target whose origin differs from the
61
- * default's origin, and implicitly allows all mints.
62
- */
63
- delegationPolicy?: DelegationPolicy;
64
- /**
65
- * Client pool. Always present internally (§4.4). If `undefined`, ClientSession
66
- * constructs a default `ClientPool` with `maxSize: 32` and a default
67
- * `clientFactory` that constructs `KernelClient` bound to the shared
68
- * `SchemaRegistry`.
69
- */
70
- pool?: ClientPoolConfig<M> | ClientPool<M>;
71
- /**
72
- * Custom `fetch` forwarded to the default `clientFactory`'s `KernelClient`s
73
- * — the wire-layer shim seam. Use it to wrap requests (e.g. a same-origin
74
- * wrapper that adds `credentials:'include'` and refresh-on-401 for a
75
- * cookie-fronted SPA). Ignored when a custom `pool`/`clientFactory` is
76
- * supplied (those own their own wiring). Default: global fetch.
77
- */
78
- fetch?: typeof fetch;
79
- /**
80
- * Schema persistence adapter. If `undefined`, the registry lives
81
- * in-memory for the ClientSession's lifetime.
82
- */
83
- schemaStore?: SchemaPersistence;
84
- /**
85
- * Preloaded schemas OR an external `SchemaRegistry`. Precedence with
86
- * `schemaStore` pinned in §7.3.
87
- */
88
- schema?: FunctionSchema[] | SchemaRegistry;
89
- /** Orchestration-level hooks, composed with but not wrapping ClientHooks (§12.1). */
90
- hooks?: ClientSessionHooks;
91
- /** Logger for hook-failure diagnostics and orchestration-internal warnings. */
92
- logger?: ClientLogger;
93
- };
94
- export type ClientSessionCallOptions = {
95
- /** Per-call timeout override (ms). Applies to every hop independently. */
96
- timeout?: number;
97
- /** Abort signal — propagates to every hop of a redirect follow chain. */
98
- signal?: AbortSignal;
99
- /** Class context for instance-method schema resolution (same as client). */
100
- class?: string;
101
- /**
102
- * Per-call URL override. Redirect follow-ups use the redirection's
103
- * URL, NOT this override.
104
- */
105
- url?: string;
106
- /**
107
- * Per-call transport override (`'http' | 'ws'`). Hop-1 only; subsequent
108
- * hops pick their transport from the schema of the new target.
109
- */
110
- transport?: CallTransport;
111
- /**
112
- * Per-call protocol override (`'envelope' | 'auto'`). `'auto'` uses
113
- * the schema's `RouteBinding` when present and the transport is HTTP,
114
- * else envelope. Hop-1 only.
115
- */
116
- protocol?: Protocol;
117
- /**
118
- * Caller-provided correlation id. If absent, ClientSession generates one and
119
- * threads it through every hop, hook ctx, and thrown error.
120
- */
121
- correlationId?: string;
122
- /**
123
- * Per-call credential override. Skips the picker for this call only.
124
- */
125
- credential?: CredentialInput;
126
- /**
127
- * Per-call delegation-expression override. When the call's target
128
- * requires a delegation (§11.4), this `UnresolvedIdentityExpr` is passed
129
- * to the mint instead of `DelegationPolicy.delegationFor`'s output.
130
- * `undefined` = defer to policy; the kernel-core builder exports
131
- * `scopedSelf(scopes)` for the common "narrow self-delegation" case.
132
- */
133
- delegation?: UnresolvedIdentityExpr;
134
- /**
135
- * Per-call attestation override. Carried into the mint's outer envelope
136
- * unchanged. `undefined` = defer to `DelegationPolicy.attestationFor`;
137
- * if that is also absent, the mint omits the attestation param and the
138
- * kernel adapter defaults it to `{ kind: 'identity', self: true }`.
139
- */
140
- attestation?: SelfIdentityExpr;
141
- /**
142
- * Per-call delegation bypass. When `true`, ClientSession skips the entire
143
- * pre-dispatch delegation block (§8.1 step ④) — `audienceFor` is NOT
144
- * called, no mint fires, no policy consent runs. The base credential
145
- * (`opts.credential` or the picker) dispatches as-is on every hop.
146
- *
147
- * Use when the host holds a credential it knows is valid for the target
148
- * audience (external bearer, pre-minted delegation, test fixture)
149
- * without the policy wrapping it in another delegation. `opts.delegation`
150
- * / `opts.attestation` are ignored when this is `true` — the bypass is
151
- * total.
152
- */
153
- skipDelegation?: boolean;
154
- /**
155
- * Per-call hop cap override. `0` = refuse any redirect. `N >= 1` =
156
- * follow up to N. `undefined` = use `ClientSessionConfig.maxHops`.
157
- */
158
- maxHops?: number;
159
- /**
160
- * Target-of-call ref for instance-method dispatch (e.g. `@<nodeId>`
161
- * or `/path/to/node`). Forwarded as `KernelRequest.self` on the
162
- * outbound envelope — sibling of params, never merged into them.
163
- * Set by the CLI when rewriting `@<id>::method` and propagated
164
- * across redirect hops via `CallRedirection.self`.
165
- */
166
- self?: string;
167
- };
168
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/session/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAA;AAElG,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAChF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AACnF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAClF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GACrB,eAAe,GACf,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,GAClD,CAAC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAA;AAE1C,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,IAAI;IACzD,gGAAgG;IAChG,OAAO,EAAE,MAAM,CAAA;IAEf;;;;OAIG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAA;IAExB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAA;IAEzB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,qBAAqB,GAAG,eAAe,CAAA;IAEpD;;;;OAIG;IACH,MAAM,CAAC,EAAE,kBAAkB,GAAG,kBAAkB,CAAA;IAEhD;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IAEnC;;;;;OAKG;IACH,IAAI,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;IAE1C;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;IAEpB;;;OAGG;IACH,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAE/B;;;OAGG;IACH,MAAM,CAAC,EAAE,cAAc,EAAE,GAAG,cAAc,CAAA;IAE1C,qFAAqF;IACrF,KAAK,CAAC,EAAE,kBAAkB,CAAA;IAE1B,+EAA+E;IAC/E,MAAM,CAAC,EAAE,YAAY,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,yEAAyE;IACzE,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;;OAGG;IACH,SAAS,CAAC,EAAE,aAAa,CAAA;IACzB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;OAEG;IACH,UAAU,CAAC,EAAE,eAAe,CAAA;IAC5B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,sBAAsB,CAAA;IACnC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAA;IAC9B;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/session/config.ts"],"names":[],"mappings":""}
@@ -1,139 +0,0 @@
1
- import type { CredentialInput } from '@astrale-os/kernel-core';
2
- import type { SelfIdentityExpr, UnresolvedIdentityExpr } from '@astrale-os/kernel-core/expression';
3
- /**
4
- * Result a mint function returns. `credential` is what ClientSession hands to
5
- * the wire; `ttl` (seconds) controls caching — omit to use
6
- * `DelegationCacheConfig.ttl` (default 300), pass `0` to opt out of
7
- * caching for this mint.
8
- */
9
- export type DelegationMintResult = {
10
- credential: CredentialInput;
11
- ttl?: number;
12
- };
13
- export type DelegationMintContext = {
14
- /**
15
- * The credential that is asking for this delegation. When present, it is part
16
- * of the cache key so two principals never share a minted delegation token.
17
- */
18
- authority?: CredentialInput;
19
- };
20
- /**
21
- * Mint function — resolves a delegated credential for
22
- * `(authority, audience, delegation, attestation)`. Matches the server-side
23
- * `MintDelegationParams` triple in
24
- * `kernel/ports/authentication/authentication.port.ts` — the cache
25
- * forwards each field to the mint verbatim; no reduction, no flattening.
26
- *
27
- * Supply your own (pre-shared tokens, HSM, offline signing), or use
28
- * `delegationMintVia(() => session, credential)`. Must reject on failure — the cache
29
- * treats rejection as "don't cache" and every waiter sees the error.
30
- */
31
- export type DelegationMintFn = (audience: string, delegation: UnresolvedIdentityExpr, attestation: SelfIdentityExpr | undefined, context?: DelegationMintContext) => Promise<DelegationMintResult>;
32
- /**
33
- * Config for `DelegationCache`. `mint` is required — without it, the
34
- * cache cannot resolve misses.
35
- */
36
- export type DelegationCacheConfig = {
37
- mint: DelegationMintFn;
38
- /**
39
- * Default TTL (seconds) applied when `mint` returns no explicit TTL.
40
- * Default: `300`.
41
- */
42
- ttl?: number;
43
- /**
44
- * Maximum cached entries. LRU eviction when exceeded. Default: `64`.
45
- */
46
- maxSize?: number;
47
- /**
48
- * Clock source. Override for deterministic tests. Defaults to
49
- * `() => Date.now() / 1000` — epoch seconds.
50
- */
51
- now?: () => number;
52
- };
53
- /**
54
- * TTL-keyed credential cache with concurrent-mint deduplication. Spec §9.2.
55
- *
56
- * **Concurrent-mint invariant:** two concurrent `get(audience, delegation,
57
- * attestation)` calls for the same structural triple share a single mint
58
- * dispatch. On success, every waiter receives the same credential and the
59
- * result is cached. On rejection, every waiter sees the rejection and the
60
- * cache is NOT populated — subsequent calls re-attempt minting.
61
- *
62
- * **Structural key:** `delegation` and `attestation` are canonicalized
63
- * by a deterministic JSON encoding (sorted keys; array order preserved —
64
- * see `canonicalEncode` docstring). Policies returning fresh-but-equal
65
- * objects on every call hit the same cache entry.
66
- *
67
- * **Attestation distinct from undefined:** `undefined` attestation and
68
- * `{ kind: 'identity', self: true }` attestation are distinct keys (§9.2.1)
69
- * even though the kernel adapter defaults the former to the latter at
70
- * the wire — they produce distinguishable outer-envelope claims.
71
- */
72
- export declare class DelegationCache {
73
- private readonly entries;
74
- private readonly inFlight;
75
- private readonly byAudience;
76
- private readonly mint;
77
- private readonly defaultTtl;
78
- private readonly maxSize;
79
- private readonly now;
80
- private clock;
81
- private clearEpoch;
82
- constructor(config: DelegationCacheConfig);
83
- /**
84
- * Returns a delegated credential for `(audience, delegation, attestation)`.
85
- * Cache hit returns synchronously-resolved; miss coalesces a single mint
86
- * across concurrent callers on the same structural key.
87
- *
88
- * Throws `DelegationMintError` (wrapping the mint's cause) on mint
89
- * failure. The failure is NOT cached.
90
- */
91
- get(audience: string, delegation: UnresolvedIdentityExpr, attestation?: SelfIdentityExpr, context?: DelegationMintContext): Promise<CredentialInput>;
92
- /**
93
- * Manually insert an entry. Used by consumers minting through a
94
- * custom path outside `get`'s default mint flow.
95
- */
96
- set(audience: string, credential: CredentialInput, ttl: number, delegation: UnresolvedIdentityExpr, attestation?: SelfIdentityExpr, authority?: CredentialInput): void;
97
- /** Remove one entry. Idempotent — no-op for absent keys. */
98
- evict(audience: string, delegation: UnresolvedIdentityExpr, attestation?: SelfIdentityExpr, authority?: CredentialInput): void;
99
- /**
100
- * Remove every entry for `audience`, regardless of delegation /
101
- * attestation shape. Returns the number of entries removed.
102
- * Idempotent — returns `0` for unknown audiences.
103
- *
104
- * Bulk invalidation primitive: a host whose user revokes consent for
105
- * an audience calls this without enumerating every
106
- * `(delegation, attestation)` combination it minted.
107
- */
108
- evictAudience(audience: string): number;
109
- /**
110
- * Drop every cached entry. Does NOT abort in-flight mints — they
111
- * resolve as usual but their results bypass the now-cleared cache.
112
- */
113
- clear(): void;
114
- /** Entry count. Useful for tests; not a contract for production flow. */
115
- get size(): number;
116
- private insert;
117
- private indexKey;
118
- private deleteEntry;
119
- private evictLeastRecentlyUsed;
120
- }
121
- /**
122
- * Build a deterministic cache key from `(audience, delegation, attestation)`.
123
- *
124
- * The `delegation` and `attestation` trees are serialised through
125
- * `canonicalEncode`, which:
126
- * - Sorts object keys alphabetically at every node (so
127
- * `{ kind, expr }` and `{ expr, kind }` collide).
128
- * - Preserves array order (union/intersect/exclude operands are
129
- * position-sensitive in the canonical form; `Scope[]` inside
130
- * `{ kind: 'scope' }` is also position-preserving — scope sorting
131
- * is the caller's choice, not the cache's, per spec §9.2.1).
132
- * - Emits `#none` for absent attestation (distinct from any present
133
- * `SelfIdentityExpr` including `{ kind: 'identity', self: true }`).
134
- *
135
- * Exported so ClientSession's `#pendingMints` table stays keyed identically
136
- * without duplicating the key-shape logic.
137
- */
138
- export declare function delegationCacheKey(audience: string, delegation: UnresolvedIdentityExpr, attestation: SelfIdentityExpr | undefined, authority?: CredentialInput): string;
139
- //# sourceMappingURL=cache.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/session/delegation/cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAA;AAKlG;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,EAAE,eAAe,CAAA;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC;;;OAGG;IACH,SAAS,CAAC,EAAE,eAAe,CAAA;CAC5B,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAC7B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,sBAAsB,EAClC,WAAW,EAAE,gBAAgB,GAAG,SAAS,EACzC,OAAO,CAAC,EAAE,qBAAqB,KAC5B,OAAO,CAAC,oBAAoB,CAAC,CAAA;AAElC;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,gBAAgB,CAAA;IACtB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CACnB,CAAA;AAaD;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAK5D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiC;IAC5D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkB;IACvC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAc;IAClC,OAAO,CAAC,KAAK,CAAI;IAIjB,OAAO,CAAC,UAAU,CAAI;IAEtB,YAAY,MAAM,EAAE,qBAAqB,EAQxC;IAED;;;;;;;OAOG;IACG,GAAG,CACP,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,sBAAsB,EAClC,WAAW,CAAC,EAAE,gBAAgB,EAC9B,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,eAAe,CAAC,CAkD1B;IAED;;;OAGG;IACH,GAAG,CACD,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,eAAe,EAC3B,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,sBAAsB,EAClC,WAAW,CAAC,EAAE,gBAAgB,EAC9B,SAAS,CAAC,EAAE,eAAe,GAC1B,IAAI,CASN;IAED,4DAA4D;IAC5D,KAAK,CACH,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,sBAAsB,EAClC,WAAW,CAAC,EAAE,gBAAgB,EAC9B,SAAS,CAAC,EAAE,eAAe,GAC1B,IAAI,CAGN;IAED;;;;;;;;OAQG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAOtC;IAED;;;OAGG;IACH,KAAK,IAAI,IAAI,CAIZ;IAED,yEAAyE;IACzE,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,OAAO,CAAC,MAAM;IAad,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,sBAAsB;CAW/B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,sBAAsB,EAClC,WAAW,EAAE,gBAAgB,GAAG,SAAS,EACzC,SAAS,CAAC,EAAE,eAAe,GAC1B,MAAM,CAKR"}
@@ -1,256 +0,0 @@
1
- import { DelegationMintError } from './errors.js';
2
- import { bytesToHex } from './utils.js';
3
- /**
4
- * TTL-keyed credential cache with concurrent-mint deduplication. Spec §9.2.
5
- *
6
- * **Concurrent-mint invariant:** two concurrent `get(audience, delegation,
7
- * attestation)` calls for the same structural triple share a single mint
8
- * dispatch. On success, every waiter receives the same credential and the
9
- * result is cached. On rejection, every waiter sees the rejection and the
10
- * cache is NOT populated — subsequent calls re-attempt minting.
11
- *
12
- * **Structural key:** `delegation` and `attestation` are canonicalized
13
- * by a deterministic JSON encoding (sorted keys; array order preserved —
14
- * see `canonicalEncode` docstring). Policies returning fresh-but-equal
15
- * objects on every call hit the same cache entry.
16
- *
17
- * **Attestation distinct from undefined:** `undefined` attestation and
18
- * `{ kind: 'identity', self: true }` attestation are distinct keys (§9.2.1)
19
- * even though the kernel adapter defaults the former to the latter at
20
- * the wire — they produce distinguishable outer-envelope claims.
21
- */
22
- export class DelegationCache {
23
- entries = new Map();
24
- inFlight = new Map();
25
- // Secondary index: audience → set of canonical cache keys. Maintained on
26
- // every insert / evict / clear so `evictAudience` is O(entries-for-audience)
27
- // instead of O(all-entries). Invariant: every entry in `entries` has its
28
- // key in `byAudience.get(entry.audience)`, and vice versa.
29
- byAudience = new Map();
30
- mint;
31
- defaultTtl;
32
- maxSize;
33
- now;
34
- clock = 0;
35
- // Bumped by `clear()`. Mints captured before the bump skip the post-resolve
36
- // insert so an intentional reset actually clears — preserves the docstring
37
- // invariant "results bypass the now-cleared cache."
38
- clearEpoch = 0;
39
- constructor(config) {
40
- this.mint = config.mint;
41
- this.defaultTtl = config.ttl ?? 300;
42
- this.maxSize = config.maxSize ?? 64;
43
- this.now = config.now ?? (() => Date.now() / 1000);
44
- if (this.maxSize < 1) {
45
- throw new Error(`DelegationCache.maxSize must be >= 1 (got ${this.maxSize})`);
46
- }
47
- }
48
- /**
49
- * Returns a delegated credential for `(audience, delegation, attestation)`.
50
- * Cache hit returns synchronously-resolved; miss coalesces a single mint
51
- * across concurrent callers on the same structural key.
52
- *
53
- * Throws `DelegationMintError` (wrapping the mint's cause) on mint
54
- * failure. The failure is NOT cached.
55
- */
56
- async get(audience, delegation, attestation, context) {
57
- const key = delegationCacheKey(audience, delegation, attestation, context?.authority);
58
- const now = this.now();
59
- const cached = this.entries.get(key);
60
- if (cached && cached.expiresAt > now) {
61
- cached.lastUsed = ++this.clock;
62
- return cached.credential;
63
- }
64
- if (cached)
65
- this.deleteEntry(key);
66
- const pending = this.inFlight.get(key);
67
- if (pending)
68
- return (await pending.promise).credential;
69
- const mintEpoch = this.clearEpoch;
70
- const promise = (context === undefined
71
- ? this.mint(audience, delegation, attestation)
72
- : this.mint(audience, delegation, attestation, context))
73
- .then((result) => {
74
- // undefined → use default; 0 → don't cache (explicit mint opt-out).
75
- const ttl = result.ttl === undefined ? this.defaultTtl : result.ttl;
76
- // Skip the insert if clear() ran after this mint was launched —
77
- // repopulating would undo the consumer's explicit reset.
78
- if (ttl > 0 && this.clearEpoch === mintEpoch) {
79
- this.insert(key, {
80
- credential: result.credential,
81
- expiresAt: this.now() + ttl,
82
- lastUsed: ++this.clock,
83
- audience,
84
- });
85
- }
86
- return result;
87
- })
88
- .catch((cause) => {
89
- throw new DelegationMintError(audience, delegation, attestation, {
90
- cause: cause,
91
- });
92
- })
93
- .finally(() => {
94
- // Evict the in-flight record regardless of outcome so the next call
95
- // retries on failure ("don't cache rejection") and observes the
96
- // fresh cache entry on success.
97
- this.inFlight.delete(key);
98
- });
99
- this.inFlight.set(key, { promise });
100
- const result = await promise;
101
- return result.credential;
102
- }
103
- /**
104
- * Manually insert an entry. Used by consumers minting through a
105
- * custom path outside `get`'s default mint flow.
106
- */
107
- set(audience, credential, ttl, delegation, attestation, authority) {
108
- if (ttl <= 0)
109
- return;
110
- const key = delegationCacheKey(audience, delegation, attestation, authority);
111
- this.insert(key, {
112
- credential,
113
- expiresAt: this.now() + ttl,
114
- lastUsed: ++this.clock,
115
- audience,
116
- });
117
- }
118
- /** Remove one entry. Idempotent — no-op for absent keys. */
119
- evict(audience, delegation, attestation, authority) {
120
- const key = delegationCacheKey(audience, delegation, attestation, authority);
121
- this.deleteEntry(key);
122
- }
123
- /**
124
- * Remove every entry for `audience`, regardless of delegation /
125
- * attestation shape. Returns the number of entries removed.
126
- * Idempotent — returns `0` for unknown audiences.
127
- *
128
- * Bulk invalidation primitive: a host whose user revokes consent for
129
- * an audience calls this without enumerating every
130
- * `(delegation, attestation)` combination it minted.
131
- */
132
- evictAudience(audience) {
133
- const keys = this.byAudience.get(audience);
134
- if (!keys)
135
- return 0;
136
- const removed = keys.size;
137
- for (const key of keys)
138
- this.entries.delete(key);
139
- this.byAudience.delete(audience);
140
- return removed;
141
- }
142
- /**
143
- * Drop every cached entry. Does NOT abort in-flight mints — they
144
- * resolve as usual but their results bypass the now-cleared cache.
145
- */
146
- clear() {
147
- this.entries.clear();
148
- this.byAudience.clear();
149
- this.clearEpoch++;
150
- }
151
- /** Entry count. Useful for tests; not a contract for production flow. */
152
- get size() {
153
- return this.entries.size;
154
- }
155
- insert(key, entry) {
156
- if (this.entries.has(key)) {
157
- // Overwrite-in-place: byAudience already tracks this key under the
158
- // same audience (cache key is a function of audience; audience can't
159
- // change for a given key).
160
- this.entries.set(key, entry);
161
- return;
162
- }
163
- if (this.entries.size >= this.maxSize)
164
- this.evictLeastRecentlyUsed();
165
- this.entries.set(key, entry);
166
- this.indexKey(entry.audience, key);
167
- }
168
- indexKey(audience, key) {
169
- let set = this.byAudience.get(audience);
170
- if (!set) {
171
- set = new Set();
172
- this.byAudience.set(audience, set);
173
- }
174
- set.add(key);
175
- }
176
- deleteEntry(key) {
177
- const entry = this.entries.get(key);
178
- if (!entry)
179
- return;
180
- this.entries.delete(key);
181
- const set = this.byAudience.get(entry.audience);
182
- if (set) {
183
- set.delete(key);
184
- if (set.size === 0)
185
- this.byAudience.delete(entry.audience);
186
- }
187
- }
188
- evictLeastRecentlyUsed() {
189
- let oldestKey;
190
- let oldestTs = Number.POSITIVE_INFINITY;
191
- for (const [key, entry] of this.entries) {
192
- if (entry.lastUsed < oldestTs) {
193
- oldestTs = entry.lastUsed;
194
- oldestKey = key;
195
- }
196
- }
197
- if (oldestKey !== undefined)
198
- this.deleteEntry(oldestKey);
199
- }
200
- }
201
- /**
202
- * Build a deterministic cache key from `(audience, delegation, attestation)`.
203
- *
204
- * The `delegation` and `attestation` trees are serialised through
205
- * `canonicalEncode`, which:
206
- * - Sorts object keys alphabetically at every node (so
207
- * `{ kind, expr }` and `{ expr, kind }` collide).
208
- * - Preserves array order (union/intersect/exclude operands are
209
- * position-sensitive in the canonical form; `Scope[]` inside
210
- * `{ kind: 'scope' }` is also position-preserving — scope sorting
211
- * is the caller's choice, not the cache's, per spec §9.2.1).
212
- * - Emits `#none` for absent attestation (distinct from any present
213
- * `SelfIdentityExpr` including `{ kind: 'identity', self: true }`).
214
- *
215
- * Exported so ClientSession's `#pendingMints` table stays keyed identically
216
- * without duplicating the key-shape logic.
217
- */
218
- export function delegationCacheKey(audience, delegation, attestation, authority) {
219
- const authorityPart = authority === undefined ? '' : `|p=${canonicalEncode(authority)}`;
220
- const delPart = canonicalEncode(delegation);
221
- const attPart = attestation === undefined ? '#none' : canonicalEncode(attestation);
222
- return `${audience}|d=${delPart}|a=${attPart}${authorityPart}`;
223
- }
224
- /**
225
- * Canonical JSON-ish encoder: object keys sorted alphabetically, arrays
226
- * preserve order, primitives stringified. Used only for cache keying;
227
- * consumers never parse the output.
228
- *
229
- * We don't reach for `JSON.stringify` directly because its key order
230
- * tracks insertion, not alphabetical. A custom walk is ~25 LOC and
231
- * eliminates the whole class of "policy returned equal-but-reordered
232
- * objects → cache miss" bugs.
233
- *
234
- * `Uint8Array` gets an explicit `#bytes:` prefix + hex encoding. Without
235
- * it, a bytes credential (`CredentialInput = string | Uint8Array`) would
236
- * fall through the generic object branch — `Object.keys(uint8)` returns
237
- * stringified numeric indices — and collide with a literal
238
- * `Record<string, number>` leaf. The prefix is a sentinel that cannot
239
- * appear in a valid `JSON.stringify(object)` output.
240
- */
241
- function canonicalEncode(value) {
242
- if (value === null)
243
- return 'null';
244
- if (typeof value !== 'object')
245
- return JSON.stringify(value);
246
- if (value instanceof Uint8Array)
247
- return `#bytes:${bytesToHex(value)}`;
248
- if (Array.isArray(value)) {
249
- return `[${value.map(canonicalEncode).join(',')}]`;
250
- }
251
- const obj = value;
252
- const keys = Object.keys(obj).sort();
253
- const parts = keys.map((k) => `${JSON.stringify(k)}:${canonicalEncode(obj[k])}`);
254
- return `{${parts.join(',')}}`;
255
- }
256
- //# sourceMappingURL=cache.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/session/delegation/cache.ts"],"names":[],"mappings":"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"}