@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
@@ -1 +0,0 @@
1
- {"version":3,"file":"overlay.js","sourceRoot":"","sources":["../../src/store/overlay.ts"],"names":[],"mappings":"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"}
@@ -1,31 +0,0 @@
1
- /**
2
- * Post-mutation revalidation coalescing (FRONTEND §5.7 — operational).
3
- *
4
- * SAFE MODE reconciles every write by refetching the shapes it touched. A burst
5
- * of writes (or straddle-restales) in one tick would otherwise fire one fetch
6
- * per (write × shape); this queue coalesces them to the next microtask, deduped
7
- * per key (latest task wins), and drains under a small concurrency cap so a wide
8
- * fan-out never opens an unbounded number of sockets. `request` resolves when
9
- * that key's next drained task settles — the memory awaits it to know when a
10
- * held display overlay may drop (the reconciling refetch has landed).
11
- */
12
- /** Coalesce per-key async tasks to the next microtask with a concurrency cap. */
13
- export declare class TaskQueue<K> {
14
- private readonly cap;
15
- private readonly schedule;
16
- private readonly tasks;
17
- private readonly waiters;
18
- private inflight;
19
- private flushScheduled;
20
- /**
21
- * @param cap max tasks in flight at once.
22
- * @param schedule defers the drain — `queueMicrotask` in prod, an injectable
23
- * step in tests for deterministic interleavings.
24
- */
25
- constructor(cap: number, schedule?: (fn: () => void) => void);
26
- /** Enqueue (or replace) `key`'s task; resolves when its next drain settles. */
27
- request(key: K, task: () => Promise<void>): Promise<void>;
28
- private ensureFlush;
29
- private pump;
30
- }
31
- //# sourceMappingURL=schedule.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schedule.d.ts","sourceRoot":"","sources":["../../src/store/schedule.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAeH,iFAAiF;AACjF,qBAAa,SAAS,CAAC,CAAC;IAYpB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAZ3B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoC;IAC1D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAI;IACpB,OAAO,CAAC,cAAc,CAAQ;IAE9B;;;;OAIG;IACH,YACmB,GAAG,EAAE,MAAM,EACX,QAAQ,GAAE,CAAC,EAAE,EAAE,MAAM,IAAI,KAAK,IAAqB,EAClE;IAEJ,+EAA+E;IAC/E,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CASxD;IAED,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,IAAI;CAuBb"}
@@ -1,76 +0,0 @@
1
- /**
2
- * Post-mutation revalidation coalescing (FRONTEND §5.7 — operational).
3
- *
4
- * SAFE MODE reconciles every write by refetching the shapes it touched. A burst
5
- * of writes (or straddle-restales) in one tick would otherwise fire one fetch
6
- * per (write × shape); this queue coalesces them to the next microtask, deduped
7
- * per key (latest task wins), and drains under a small concurrency cap so a wide
8
- * fan-out never opens an unbounded number of sockets. `request` resolves when
9
- * that key's next drained task settles — the memory awaits it to know when a
10
- * held display overlay may drop (the reconciling refetch has landed).
11
- */
12
- function deferred() {
13
- let resolve;
14
- const promise = new Promise((r) => {
15
- resolve = r;
16
- });
17
- return { promise, resolve };
18
- }
19
- /** Coalesce per-key async tasks to the next microtask with a concurrency cap. */
20
- export class TaskQueue {
21
- cap;
22
- schedule;
23
- tasks = new Map();
24
- waiters = new Map();
25
- inflight = 0;
26
- flushScheduled = false;
27
- /**
28
- * @param cap max tasks in flight at once.
29
- * @param schedule defers the drain — `queueMicrotask` in prod, an injectable
30
- * step in tests for deterministic interleavings.
31
- */
32
- constructor(cap, schedule = queueMicrotask) {
33
- this.cap = cap;
34
- this.schedule = schedule;
35
- }
36
- /** Enqueue (or replace) `key`'s task; resolves when its next drain settles. */
37
- request(key, task) {
38
- this.tasks.set(key, task); // latest task for a key wins — no stale duplicate fetch
39
- let w = this.waiters.get(key);
40
- if (w === undefined) {
41
- w = deferred();
42
- this.waiters.set(key, w);
43
- }
44
- this.ensureFlush();
45
- return w.promise;
46
- }
47
- ensureFlush() {
48
- if (this.flushScheduled)
49
- return;
50
- this.flushScheduled = true;
51
- this.schedule(() => this.pump());
52
- }
53
- pump() {
54
- this.flushScheduled = false;
55
- while (this.inflight < this.cap && this.tasks.size > 0) {
56
- const first = this.tasks.entries().next();
57
- if (first.done === true)
58
- break;
59
- const [key, task] = first.value;
60
- this.tasks.delete(key);
61
- const w = this.waiters.get(key);
62
- this.waiters.delete(key);
63
- this.inflight++;
64
- void task()
65
- .then(() => { }, () => { })
66
- .finally(() => {
67
- this.inflight--;
68
- w?.resolve();
69
- if (this.tasks.size > 0)
70
- this.ensureFlush();
71
- });
72
- }
73
- // Cap hit with tasks remaining → a running task's `finally` reschedules.
74
- }
75
- }
76
- //# sourceMappingURL=schedule.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schedule.js","sourceRoot":"","sources":["../../src/store/schedule.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,SAAS,QAAQ;IACf,IAAI,OAAoB,CAAA;IACxB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,EAAE;QACtC,OAAO,GAAG,CAAC,CAAA;IACb,CAAC,CAAC,CAAA;IACF,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA;AAC7B,CAAC;AAED,iFAAiF;AACjF,MAAM,OAAO,SAAS;IAYD,GAAG;IACH,QAAQ;IAZV,KAAK,GAAG,IAAI,GAAG,EAA0B,CAAA;IACzC,OAAO,GAAG,IAAI,GAAG,EAAe,CAAA;IACzC,QAAQ,GAAG,CAAC,CAAA;IACZ,cAAc,GAAG,KAAK,CAAA;IAE9B;;;;OAIG;IACH,YACmB,GAAW,EACX,QAAQ,GAA6B,cAAc;mBADnD,GAAG;wBACH,QAAQ;IACxB,CAAC;IAEJ,+EAA+E;IAC/E,OAAO,CAAC,GAAM,EAAE,IAAyB;QACvC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA,CAAC,wDAAwD;QAClF,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC7B,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACpB,CAAC,GAAG,QAAQ,EAAE,CAAA;YACd,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;QAC1B,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAA;QAClB,OAAO,CAAC,CAAC,OAAO,CAAA;IAClB,CAAC;IAEO,WAAW;QACjB,IAAI,IAAI,CAAC,cAAc;YAAE,OAAM;QAC/B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;QAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;IAClC,CAAC;IAEO,IAAI;QACV,IAAI,CAAC,cAAc,GAAG,KAAK,CAAA;QAC3B,OAAO,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACvD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAA;YACzC,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI;gBAAE,MAAK;YAC9B,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAA;YAC/B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACtB,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAC/B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACxB,IAAI,CAAC,QAAQ,EAAE,CAAA;YACf,KAAK,IAAI,EAAE;iBACR,IAAI,CACH,GAAG,EAAE,GAAE,CAAC,EACR,GAAG,EAAE,GAAE,CAAC,CACT;iBACA,OAAO,CAAC,GAAG,EAAE;gBACZ,IAAI,CAAC,QAAQ,EAAE,CAAA;gBACf,CAAC,EAAE,OAAO,EAAE,CAAA;gBACZ,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC;oBAAE,IAAI,CAAC,WAAW,EAAE,CAAA;YAC7C,CAAC,CAAC,CAAA;QACN,CAAC;QACD,yEAAyE;IAC3E,CAAC;CACF"}
@@ -1,92 +0,0 @@
1
- /**
2
- * ShapeStore (FRONTEND §5.2) + shape materialization.
3
- *
4
- * Each entry is keyed by `(scope, shapeKey)` and holds resolved roots, ordered
5
- * membership (node ids / edge keys), the cursor window (the existing next()
6
- * fold), a staleness flag, an in-flight dedupe handle, observer count and GC
7
- * state. `materialize` derives a `Graph` view over the confirmed store ⊕
8
- * overlay; ordering under `order:` is computed from current props (so an
9
- * update re-sorts) — approximate per gather until the selections sidecar (§6.4).
10
- */
11
- import type { EdgeKey, GraphNodeWire, GetResultWire, QueryASTInput } from '../graph/index.js';
12
- import type { EntityStore } from './entities.js';
13
- import type { ShapeView } from './invalidate.js';
14
- import type { Overlay } from './overlay.js';
15
- import type { LiveResult, MaterializedShape, ShapeMeta } from './types.js';
16
- type NodeId = GraphNodeWire['id'];
17
- /** A standing shape (cache/liveness/invalidation unit). */
18
- export interface ShapeEntry {
19
- key: string;
20
- readonly scope: string;
21
- readonly baseAst: QueryASTInput;
22
- readonly meta: ShapeMeta;
23
- /** Raw root addresses as written in the AST (provisional-form identity). */
24
- readonly inputRootPaths: string[];
25
- /** Window growth policy. */
26
- window: 'append' | 'paged';
27
- resolvedRoots: NodeId[];
28
- nodeMembers: NodeId[];
29
- memberSet: Set<NodeId>;
30
- edgeKeys: EdgeKey[];
31
- edgeKeySet: Set<EdgeKey>;
32
- next: GetResultWire['next'];
33
- contAst: QueryASTInput | null;
34
- exhausted: boolean;
35
- /**
36
- * Pages accumulated in the current window (1 after the first evaluation, +1
37
- * per `append` continuation). A window-preserving reconcile (§5.7) re-requests
38
- * `baseLimit × windowPages` so an 'append' window never collapses to page 1.
39
- */
40
- windowPages: number;
41
- hasData: boolean;
42
- stale: boolean;
43
- seq: number;
44
- error: unknown;
45
- inflight: Promise<GetResultWire> | null;
46
- observers: number;
47
- releasedAt: number | null;
48
- /** Snapshot cache (rebuilt only when `dirty`), for referential stability. */
49
- dirty: boolean;
50
- result: LiveResult | null;
51
- listeners: Set<() => void>;
52
- }
53
- export declare class ShapeStore {
54
- private readonly entries;
55
- /** Provisional (raw-root) key → resolved (re-anchored) key. */
56
- private readonly aliases;
57
- /** Follow provisional→resolved aliasing to the canonical key. */
58
- canonical(key: string): string;
59
- get(key: string): ShapeEntry | undefined;
60
- all(): Iterable<ShapeEntry>;
61
- ensure(key: string, scope: string, ast: QueryASTInput, inputRootPaths: string[]): ShapeEntry;
62
- /**
63
- * Re-home an entry under its resolved key once roots resolve (§5.4 step 3),
64
- * and return the surviving entry. When another entry already lives at the
65
- * resolved key (two provisional roots collapsing onto one — a concurrent /
66
- * StrictMode cold mount), the incoming `entry` is MERGED into the existing
67
- * one rather than clobbering it, so neither entry's subscribers or membership
68
- * are orphaned. Callers must continue with the returned entry; subscription
69
- * closures re-resolve their entry through {@link get} (which follows the
70
- * provisional→resolved alias), so a merge does not strand their listeners.
71
- */
72
- rehome(entry: ShapeEntry, resolvedKey: string): ShapeEntry;
73
- delete(entry: ShapeEntry): void;
74
- /** Union of every retained shape's members + roots — the GC reachability set. */
75
- reachable(): {
76
- nodes: Set<NodeId>;
77
- edges: Set<EdgeKey>;
78
- };
79
- }
80
- /**
81
- * Fold a page into a shape's membership. `replace` resets the window (a fresh
82
- * evaluation), `append` accumulates (a `more.load` continuation).
83
- */
84
- export declare function integrateShape(entry: ShapeEntry, wire: GetResultWire, seq: number, mode: 'replace' | 'append'): void;
85
- /** Derive a shape's structural metadata from its canonical AST (once, on ensure). */
86
- export declare function deriveMeta(ast: QueryASTInput): ShapeMeta;
87
- /** Adapt an entry to the {@link ShapeView} the invalidation matcher consumes. */
88
- export declare function shapeViewOf(entry: ShapeEntry, store: EntityStore): ShapeView;
89
- /** Build the derived `Graph` view of a shape over the confirmed store ⊕ overlay. */
90
- export declare function materialize(entry: ShapeEntry, store: EntityStore, overlay: Overlay): MaterializedShape;
91
- export {};
92
- //# sourceMappingURL=shapes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shapes.d.ts","sourceRoot":"","sources":["../../src/store/shapes.ts"],"names":[],"mappings":"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"}
@@ -1,369 +0,0 @@
1
- /**
2
- * ShapeStore (FRONTEND §5.2) + shape materialization.
3
- *
4
- * Each entry is keyed by `(scope, shapeKey)` and holds resolved roots, ordered
5
- * membership (node ids / edge keys), the cursor window (the existing next()
6
- * fold), a staleness flag, an in-flight dedupe handle, observer count and GC
7
- * state. `materialize` derives a `Graph` view over the confirmed store ⊕
8
- * overlay; ordering under `order:` is computed from current props (so an
9
- * update re-sorts) — approximate per gather until the selections sidecar (§6.4).
10
- */
11
- import { Graph } from '@astrale-os/kernel-core';
12
- import { edgeKey, nextQuery } from '../graph/index.js';
13
- import { resolveEdgeMatch } from '../graph/query/edge-ref.js';
14
- import { subtreeDelta } from './invalidate.js';
15
- export class ShapeStore {
16
- entries = new Map();
17
- /** Provisional (raw-root) key → resolved (re-anchored) key. */
18
- aliases = new Map();
19
- /** Follow provisional→resolved aliasing to the canonical key. */
20
- canonical(key) {
21
- return this.aliases.get(key) ?? key;
22
- }
23
- get(key) {
24
- return this.entries.get(this.canonical(key));
25
- }
26
- all() {
27
- return this.entries.values();
28
- }
29
- ensure(key, scope, ast, inputRootPaths) {
30
- const canon = this.canonical(key);
31
- const existing = this.entries.get(canon);
32
- if (existing)
33
- return existing;
34
- const entry = {
35
- key: canon,
36
- scope,
37
- baseAst: ast,
38
- meta: deriveMeta(ast),
39
- inputRootPaths,
40
- window: 'append',
41
- resolvedRoots: [],
42
- nodeMembers: [],
43
- memberSet: new Set(),
44
- edgeKeys: [],
45
- edgeKeySet: new Set(),
46
- next: undefined,
47
- contAst: null,
48
- exhausted: false,
49
- windowPages: 1,
50
- hasData: false,
51
- stale: false,
52
- seq: 0,
53
- error: undefined,
54
- inflight: null,
55
- observers: 0,
56
- releasedAt: null,
57
- dirty: true,
58
- result: null,
59
- listeners: new Set(),
60
- };
61
- this.entries.set(canon, entry);
62
- return entry;
63
- }
64
- /**
65
- * Re-home an entry under its resolved key once roots resolve (§5.4 step 3),
66
- * and return the surviving entry. When another entry already lives at the
67
- * resolved key (two provisional roots collapsing onto one — a concurrent /
68
- * StrictMode cold mount), the incoming `entry` is MERGED into the existing
69
- * one rather than clobbering it, so neither entry's subscribers or membership
70
- * are orphaned. Callers must continue with the returned entry; subscription
71
- * closures re-resolve their entry through {@link get} (which follows the
72
- * provisional→resolved alias), so a merge does not strand their listeners.
73
- */
74
- rehome(entry, resolvedKey) {
75
- if (resolvedKey === entry.key)
76
- return entry;
77
- const existing = this.entries.get(resolvedKey);
78
- if (existing !== undefined && existing !== entry) {
79
- mergeInto(existing, entry);
80
- this.aliases.set(entry.key, resolvedKey);
81
- this.entries.delete(entry.key);
82
- return existing;
83
- }
84
- this.aliases.set(entry.key, resolvedKey);
85
- this.entries.delete(entry.key);
86
- entry.key = resolvedKey;
87
- this.entries.set(resolvedKey, entry);
88
- return entry;
89
- }
90
- delete(entry) {
91
- this.entries.delete(entry.key);
92
- }
93
- /** Union of every retained shape's members + roots — the GC reachability set. */
94
- reachable() {
95
- const nodes = new Set();
96
- const edges = new Set();
97
- for (const entry of this.entries.values()) {
98
- for (const id of entry.resolvedRoots)
99
- nodes.add(id);
100
- for (const id of entry.nodeMembers)
101
- nodes.add(id);
102
- for (const key of entry.edgeKeys)
103
- edges.add(key);
104
- }
105
- return { nodes, edges };
106
- }
107
- }
108
- /**
109
- * Fold `dead` into `survivor` when two provisional entries resolve to one key.
110
- * Subscribers and observers move over (their unsub closures re-resolve to the
111
- * survivor via the alias), membership unions, and the fresher window state
112
- * (by `seq`) wins — the survivor's caller then integrates the arriving page.
113
- */
114
- function mergeInto(survivor, dead) {
115
- for (const l of dead.listeners)
116
- survivor.listeners.add(l);
117
- survivor.observers += dead.observers;
118
- if (survivor.observers > 0)
119
- survivor.releasedAt = null;
120
- for (const id of dead.resolvedRoots) {
121
- if (!survivor.resolvedRoots.includes(id))
122
- survivor.resolvedRoots.push(id);
123
- }
124
- for (const id of dead.nodeMembers) {
125
- if (!survivor.memberSet.has(id)) {
126
- survivor.memberSet.add(id);
127
- survivor.nodeMembers.push(id);
128
- }
129
- }
130
- for (const key of dead.edgeKeys) {
131
- if (!survivor.edgeKeySet.has(key)) {
132
- survivor.edgeKeySet.add(key);
133
- survivor.edgeKeys.push(key);
134
- }
135
- }
136
- if (dead.seq > survivor.seq) {
137
- survivor.next = dead.next;
138
- survivor.contAst = dead.contAst;
139
- survivor.exhausted = dead.exhausted;
140
- survivor.windowPages = dead.windowPages;
141
- survivor.seq = dead.seq;
142
- }
143
- survivor.hasData = survivor.hasData || dead.hasData;
144
- survivor.stale = survivor.stale || dead.stale;
145
- survivor.dirty = true;
146
- }
147
- // ── Integration ──────────────────────────────────────────────────────────────
148
- /**
149
- * Fold a page into a shape's membership. `replace` resets the window (a fresh
150
- * evaluation), `append` accumulates (a `more.load` continuation).
151
- */
152
- export function integrateShape(entry, wire, seq, mode) {
153
- // Compute the continuation first: an orphan-cursor desync throws here, and it
154
- // must NOT half-fold a page — let it surface (revalidate's error channel).
155
- const contAst = continuationOf(entry.baseAst, wire);
156
- if (mode === 'replace') {
157
- entry.nodeMembers = [];
158
- entry.memberSet = new Set();
159
- entry.edgeKeys = [];
160
- entry.edgeKeySet = new Set();
161
- }
162
- entry.resolvedRoots = wire.roots ?? [];
163
- for (const node of wire.nodes) {
164
- if (!entry.memberSet.has(node.id)) {
165
- entry.memberSet.add(node.id);
166
- entry.nodeMembers.push(node.id);
167
- }
168
- }
169
- for (const edge of wire.edges) {
170
- const key = edgeKey(edge);
171
- if (!entry.edgeKeySet.has(key)) {
172
- entry.edgeKeySet.add(key);
173
- entry.edgeKeys.push(key);
174
- }
175
- }
176
- entry.next = wire.next;
177
- entry.contAst = contAst;
178
- entry.exhausted = contAst === null;
179
- entry.seq = seq;
180
- entry.hasData = true;
181
- entry.stale = false;
182
- entry.error = undefined;
183
- entry.dirty = true;
184
- }
185
- /**
186
- * The continuation AST, or `null` on true exhaustion. Multi-root paging is
187
- * caller-owned (Tier-0) so it never continues; single-root delegates to
188
- * `nextQuery`, which THROWS on an orphan cursor (a wire/AST desync) rather than
189
- * masquerade it as exhaustion — that throw is deliberately not swallowed.
190
- */
191
- function continuationOf(ast, wire) {
192
- if (ast.from.length !== 1)
193
- return null;
194
- return nextQuery(ast, wire);
195
- }
196
- // ── Metadata derivation ──────────────────────────────────────────────────────
197
- /** Derive a shape's structural metadata from its canonical AST (once, on ensure). */
198
- export function deriveMeta(ast) {
199
- let moveDepth = 0;
200
- let moveClasses;
201
- let moveOrder;
202
- const gathers = [];
203
- for (const step of ast.steps ?? []) {
204
- if (!('expand' in step))
205
- continue;
206
- const e = step.expand;
207
- if (e.as === undefined) {
208
- moveDepth = e.depth ?? 1;
209
- moveClasses = classArm(e.filter);
210
- moveOrder = e.order;
211
- }
212
- else {
213
- gathers.push({
214
- as: e.as,
215
- edgeClasses: safeResolveEdge(e.edge),
216
- dir: e.dir,
217
- order: e.order,
218
- });
219
- }
220
- }
221
- return { moveDepth, moveClasses, moveOrder, gathers };
222
- }
223
- function classArm(filter) {
224
- if (filter === null || typeof filter !== 'object')
225
- return undefined;
226
- const f = filter;
227
- if (!('class' in f))
228
- return undefined;
229
- const cls = f.class;
230
- return (Array.isArray(cls) ? cls : [cls]).map(String);
231
- }
232
- function safeResolveEdge(edge) {
233
- try {
234
- return resolveEdgeMatch(edge);
235
- }
236
- catch {
237
- return undefined; // unknown sugar — treated as no class restriction for matching
238
- }
239
- }
240
- // ── ShapeView (for invalidation) ─────────────────────────────────────────────
241
- /** Adapt an entry to the {@link ShapeView} the invalidation matcher consumes. */
242
- export function shapeViewOf(entry, store) {
243
- const resolvedPaths = entry.resolvedRoots
244
- .map((id) => store.node(id)?.wire.path)
245
- .filter((p) => p !== undefined);
246
- const rootPaths = [...new Set([...resolvedPaths, ...entry.inputRootPaths])];
247
- const gathers = entry.meta.gathers.map((g) => ({
248
- edgeClasses: g.edgeClasses,
249
- dir: g.dir,
250
- }));
251
- return {
252
- id: entry.key,
253
- rootPaths,
254
- depth: entry.meta.moveDepth,
255
- moveClasses: entry.meta.moveClasses,
256
- gathers,
257
- hasNode: (id) => entry.memberSet.has(id) || entry.resolvedRoots.includes(id),
258
- };
259
- }
260
- // ── Materialization ──────────────────────────────────────────────────────────
261
- /** Build the derived `Graph` view of a shape over the confirmed store ⊕ overlay. */
262
- export function materialize(entry, store, overlay) {
263
- const eff = overlay.effects(store);
264
- const nodeWires = [];
265
- const seenNodes = new Set();
266
- for (const id of [...entry.resolvedRoots, ...entry.nodeMembers]) {
267
- if (seenNodes.has(id))
268
- continue;
269
- seenNodes.add(id);
270
- const wire = overlay.effectiveNode(id, store, eff);
271
- if (wire !== null)
272
- nodeWires.push(wire);
273
- }
274
- const edgeWires = entry.edgeKeys
275
- .map((key) => overlay.effectiveEdge(key, store, eff))
276
- .filter((w) => w !== null);
277
- const graph = Graph.fromWire({ nodes: nodeWires, edges: edgeWires });
278
- const byId = (id) => graph.nodes.byId(id) ?? null;
279
- const roots = entry.resolvedRoots
280
- .map(byId)
281
- .filter((n) => n !== null && !eff.nodeDeletes.has(n.id));
282
- const rootIds = new Set(roots.map((n) => n.id));
283
- const rootPaths = roots.map((n) => n.path.raw);
284
- const nodes = dedupeNodes(entry.nodeMembers.map(byId).filter((n) => n !== null));
285
- const first = roots[0] ?? null;
286
- const children = orderNodes(nodes.filter((n) => !rootIds.has(n.id) && withinAnyRoot(rootPaths, n.path.raw, entry.meta.moveDepth)), entry.meta.moveOrder);
287
- const gathered = (alias) => {
288
- const meta = entry.meta.gathers.find((g) => g.as === alias);
289
- if (meta === undefined)
290
- return { nodes: [], first: null };
291
- const collected = gatherEndpoints(meta, edgeWires, rootPaths, graph);
292
- const ordered = orderNodes(collected, meta.order);
293
- return { nodes: ordered, first: ordered[0] ?? null };
294
- };
295
- return { graph, roots, nodes, first, children, gathered };
296
- }
297
- function withinAnyRoot(rootPaths, pRaw, depth) {
298
- return rootPaths.some((r) => {
299
- const d = subtreeDelta(r, pRaw);
300
- return d !== null && d >= 1 && d <= depth;
301
- });
302
- }
303
- function gatherEndpoints(meta, edgeWires, rootPaths, graph) {
304
- const rootSet = new Set(rootPaths);
305
- const out = [];
306
- const seen = new Set();
307
- for (const e of edgeWires) {
308
- if (meta.edgeClasses !== undefined && !meta.edgeClasses.includes(e.class))
309
- continue;
310
- const farPath = farEndpoint(meta.dir, e, rootSet);
311
- if (farPath === null)
312
- continue;
313
- const node = graph.nodes.at(farPath) ?? graph.nodes.get(farPath);
314
- if (node !== null && node !== undefined && !seen.has(node.id)) {
315
- seen.add(node.id);
316
- out.push(node);
317
- }
318
- }
319
- return out;
320
- }
321
- /** The far endpoint path when a root is the near endpoint (per gather direction). */
322
- function farEndpoint(dir, e, rootSet) {
323
- if (dir === 'out')
324
- return rootSet.has(e.source) ? e.target : null;
325
- if (dir === 'in')
326
- return rootSet.has(e.target) ? e.source : null;
327
- if (rootSet.has(e.source))
328
- return e.target;
329
- if (rootSet.has(e.target))
330
- return e.source;
331
- return null;
332
- }
333
- function dedupeNodes(nodes) {
334
- const seen = new Set();
335
- const out = [];
336
- for (const n of nodes) {
337
- if (seen.has(n.id))
338
- continue;
339
- seen.add(n.id);
340
- out.push(n);
341
- }
342
- return out;
343
- }
344
- /** Stable order by the shape's `order` — `'id'` or a qualified prop key; ties keep input order. */
345
- function orderNodes(nodes, order) {
346
- if (order === undefined)
347
- return nodes;
348
- const dir = order.dir === 'desc' ? -1 : 1;
349
- const keyOf = (n) => (order.by === 'id' ? n.id : n.props[order.by]);
350
- return nodes
351
- .map((n, i) => ({ n, i }))
352
- .sort((a, b) => {
353
- const cmp = compare(keyOf(a.n), keyOf(b.n));
354
- return cmp !== 0 ? cmp * dir : a.i - b.i;
355
- })
356
- .map((x) => x.n);
357
- }
358
- function compare(a, b) {
359
- if (a === b)
360
- return 0;
361
- if (a === undefined || a === null)
362
- return 1;
363
- if (b === undefined || b === null)
364
- return -1;
365
- if (typeof a === 'number' && typeof b === 'number')
366
- return a - b;
367
- return String(a).localeCompare(String(b));
368
- }
369
- //# sourceMappingURL=shapes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shapes.js","sourceRoot":"","sources":["../../src/store/shapes.ts"],"names":[],"mappings":"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"}