@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,117 +0,0 @@
1
- /**
2
- * Tier-0 invalidation matching (FRONTEND §5.6 / §5.7).
3
- *
4
- * Because the runnable algebra is closed (a single `has_parent` descent + N
5
- * single-hop gathers), "does patch P affect shape S" is decidable client-side
6
- * with no kernel change. This module is pure over a {@link ShapeView} — the
7
- * ShapeStore supplies the view, the overlay/memory apply the matches.
8
- *
9
- * SHIM CONTRACT (§5.7): this is a deliberately OVER-BROAD disposable shim, the
10
- * whole reason SAFE MODE is "slow but never wrong". A false positive costs one
11
- * needless refetch; a false NEGATIVE is a shape that silently never reconciles —
12
- * a stale view and hours of debugging, and is FORBIDDEN. So every arm biases to
13
- * "affected" the instant it is uncertain (an unresolved class, an unknown edge
14
- * selector, a path form it cannot compare). Do NOT grow this toward faithful
15
- * query semantics to shave refetches — `function.watch` (§7) deletes it whole,
16
- * and with it the whole dual-semantics burden.
17
- */
18
- /** The set of shape ids a patch affects. */
19
- export function affectedShapes(patch, shapes, ctx) {
20
- const out = new Set();
21
- for (const shape of shapes) {
22
- if (shapeAffected(shape, patch, ctx))
23
- out.add(shape.id);
24
- }
25
- return out;
26
- }
27
- function shapeAffected(shape, patch, ctx) {
28
- // node create/delete — ancestor-chain + class-filter test against resolved roots
29
- for (const c of patch.nodes.create) {
30
- if (matchesNodeStructural(shape, c.at, c.class))
31
- return true;
32
- }
33
- for (const d of patch.nodes.delete) {
34
- if (matchesNodeStructural(shape, d.path, d.class))
35
- return true;
36
- const id = ctx.resolve(d.path);
37
- if (id !== undefined && shape.hasNode(id))
38
- return true;
39
- }
40
- // node update — membership (order re-sort is handled by the resulting recompute)
41
- for (const u of patch.nodes.update) {
42
- const id = ctx.resolve(u.path);
43
- if (id !== undefined && shape.hasNode(id))
44
- return true;
45
- }
46
- // edge create/update/delete — gather selector + endpoint-in-roots; has_parent
47
- // additionally re-tests subtree membership at the child endpoint
48
- for (const e of [...patch.edges.create, ...patch.edges.update, ...patch.edges.delete]) {
49
- if (matchesEdge(shape, e.class, e.source, e.target, ctx.hasParentClass))
50
- return true;
51
- }
52
- return false;
53
- }
54
- /**
55
- * A node create/delete at `pRaw` (class `cls`) affects a shape when `pRaw`
56
- * falls in a root's subtree within `depth` and the move's class filter admits
57
- * it (the root itself is never class-filtered — it is the seed, not a child).
58
- */
59
- export function matchesNodeStructural(shape, pRaw, cls) {
60
- for (const root of shape.rootPaths) {
61
- const delta = subtreeDelta(root, pRaw);
62
- if (delta === null || delta > shape.depth)
63
- continue;
64
- // Bias to affected (§5.7): the root is never class-filtered, an all-classes
65
- // move admits everything, and an UNKNOWN class (`cls === undefined`) is
66
- // treated as admitted — a possible false positive (one refetch), never a
67
- // false negative (a class we couldn't read silently excluding a real child).
68
- const admits = delta === 0 ||
69
- shape.moveClasses === undefined ||
70
- cls === undefined ||
71
- shape.moveClasses.includes(cls);
72
- if (admits)
73
- return true;
74
- }
75
- return false;
76
- }
77
- /**
78
- * An edge op affects a shape when some gather selector matches its class and a
79
- * root is the near endpoint; a `has_parent` edge additionally re-tests subtree
80
- * membership at its child (source) endpoint.
81
- */
82
- export function matchesEdge(shape, edgeClass, sourceRaw, targetRaw, hasParentClass) {
83
- if (edgeClass === hasParentClass && matchesNodeStructural(shape, sourceRaw, undefined))
84
- return true;
85
- for (const g of shape.gathers) {
86
- if (g.edgeClasses !== undefined && !g.edgeClasses.includes(edgeClass))
87
- continue;
88
- if (endpointInRoots(shape.rootPaths, g.dir, sourceRaw, targetRaw))
89
- return true;
90
- }
91
- return false;
92
- }
93
- function endpointInRoots(rootPaths, dir, sourceRaw, targetRaw) {
94
- const near = dir === 'out' ? [sourceRaw] : dir === 'in' ? [targetRaw] : [sourceRaw, targetRaw];
95
- return near.some((p) => rootPaths.includes(p));
96
- }
97
- /**
98
- * Depth of `pRaw` below `rootRaw` in the tree (0 = the root itself), or `null`
99
- * when `pRaw` is not within the root's subtree. Slug-segment prefix test.
100
- */
101
- export function subtreeDelta(rootRaw, pRaw) {
102
- if (rootRaw === pRaw)
103
- return 0;
104
- const rs = segments(rootRaw);
105
- const ps = segments(pRaw);
106
- if (ps.length <= rs.length)
107
- return null;
108
- for (let i = 0; i < rs.length; i++) {
109
- if (rs[i] !== ps[i])
110
- return null;
111
- }
112
- return ps.length - rs.length;
113
- }
114
- function segments(raw) {
115
- return raw.split('/').filter((s) => s.length > 0);
116
- }
117
- //# sourceMappingURL=invalidate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"invalidate.js","sourceRoot":"","sources":["../../src/store/invalidate.ts"],"names":[],"mappings":"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"}
@@ -1,118 +0,0 @@
1
- /**
2
- * Optimistic overlay (FRONTEND §5.3 / §5.7).
3
- *
4
- * A queue of pending `(patch, mutationId)` units applied over the confirmed
5
- * EntityStore in order; reads always see confirmed ⊕ overlay.
6
- *
7
- * SAFE MODE (§5.7): the overlay is DISPLAY-ONLY. It is never folded into the
8
- * confirmed store — confirmed state comes only from server responses. The
9
- * memory holds a unit until the reconciling refetch integrates server truth,
10
- * then drops it. {@link Overlay.commit} (fold authored patch → confirmed) is
11
- * therefore OFF the Tier-0 write path; it is retained, signature intact, as the
12
- * §6.3 entry point where a real server delta (not the authored guess) will feed
13
- * self-confirmation for free once the wire carries one.
14
- */
15
- import type { EdgeKey, GraphEdgeWire, GraphNodeWire, MutationResultWire, PatchInput } from '../graph/index.js';
16
- type NodeId = GraphNodeWire['id'];
17
- type EdgeId = GraphEdgeWire['id'];
18
- type Properties = GraphNodeWire['props'];
19
- /** The store surface the overlay resolves paths and confirmed records against. */
20
- export interface ConfirmTarget {
21
- resolvePathToId(raw: string): NodeId | undefined;
22
- node(id: NodeId): {
23
- readonly wire: GraphNodeWire;
24
- } | undefined;
25
- edge(key: EdgeKey): {
26
- readonly wire: GraphEdgeWire;
27
- } | undefined;
28
- confirmNode(wire: GraphNodeWire, seq: number): void;
29
- confirmEdge(wire: GraphEdgeWire, seq: number): void;
30
- tombstoneNode(id: NodeId, now: number): void;
31
- tombstoneEdge(key: EdgeKey, now: number): void;
32
- }
33
- interface NNodeCreate {
34
- class: string;
35
- at: string;
36
- props: Properties;
37
- }
38
- interface NNodeUpdate {
39
- class: string;
40
- path: string;
41
- props: Properties;
42
- }
43
- interface NNodeDelete {
44
- class: string;
45
- path: string;
46
- }
47
- interface NEdge {
48
- class: string;
49
- source: string;
50
- slug?: string;
51
- target: string;
52
- props: Properties;
53
- }
54
- interface NEdgeDelete {
55
- class: string;
56
- source: string;
57
- slug?: string;
58
- target: string;
59
- }
60
- export interface NormalPatch {
61
- nodes: {
62
- create: NNodeCreate[];
63
- update: NNodeUpdate[];
64
- delete: NNodeDelete[];
65
- };
66
- edges: {
67
- create: NEdge[];
68
- update: NEdge[];
69
- delete: NEdgeDelete[];
70
- };
71
- }
72
- /** Normalize a wire {@link PatchInput} to raw strings with all arms present. */
73
- export declare function normalizePatch(patch: PatchInput): NormalPatch;
74
- /** A pending optimistic write: its patch, its id, and provisional minted ids. */
75
- export interface OverlayUnit {
76
- readonly mutationId: string;
77
- readonly patch: NormalPatch;
78
- /** `at` path → client-minted provisional node id (swapped for the real id on commit). */
79
- readonly provisionalNodes: ReadonlyMap<string, NodeId>;
80
- /** provisional edge id per created edge key. */
81
- readonly provisionalEdges: ReadonlyMap<EdgeKey, EdgeId>;
82
- }
83
- /** Derived effect of the whole pending queue over a confirmed store. */
84
- export interface OverlayEffects {
85
- readonly nodeCreates: Map<NodeId, GraphNodeWire>;
86
- readonly nodeUpdates: Map<NodeId, Properties>;
87
- readonly nodeDeletes: Set<NodeId>;
88
- readonly edgeCreates: Map<EdgeKey, GraphEdgeWire>;
89
- readonly edgeUpdates: Map<EdgeKey, Properties>;
90
- readonly edgeDeletes: Set<EdgeKey>;
91
- /** `at` path → provisional id, for membership insertion (§5.6 create arm). */
92
- readonly createdPaths: Map<string, NodeId>;
93
- }
94
- export declare class Overlay {
95
- private readonly units;
96
- get size(): number;
97
- has(mutationId: string): boolean;
98
- add(unit: OverlayUnit): void;
99
- unit(mutationId: string): OverlayUnit | undefined;
100
- /** Drop a unit (rollback, or post-commit removal). */
101
- drop(mutationId: string): void;
102
- /** Recompute the merged effect of every pending unit against `store`. */
103
- effects(store: ConfirmTarget): OverlayEffects;
104
- /** The effective node wire for `id`: `null` when overlay-deleted, else confirmed ⊕ overlay. */
105
- effectiveNode(id: NodeId, store: ConfirmTarget, eff: OverlayEffects): GraphNodeWire | null;
106
- effectiveEdge(key: EdgeKey, store: ConfirmTarget, eff: OverlayEffects): GraphEdgeWire | null;
107
- /**
108
- * §6.3 future path — NOT called on the Tier-0 write path (SAFE MODE reconciles
109
- * from a refetch instead, §5.7). Folds a committed unit's authored patch into
110
- * the confirmed store using the mutation's minted ids, then drops it; returns
111
- * provisional→minted node id swaps so the ShapeStore can repoint membership.
112
- * When `result` carries a real `GraphDeltaWire` (§6.3), this is the seam that
113
- * folds SERVER truth — self-confirmation returns for free, correct.
114
- */
115
- commit(mutationId: string, result: MutationResultWire, store: ConfirmTarget, seq: number, now: number): Map<NodeId, NodeId>;
116
- }
117
- export {};
118
- //# sourceMappingURL=overlay.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"overlay.d.ts","sourceRoot":"","sources":["../../src/store/overlay.ts"],"names":[],"mappings":"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"}
@@ -1,237 +0,0 @@
1
- /**
2
- * Optimistic overlay (FRONTEND §5.3 / §5.7).
3
- *
4
- * A queue of pending `(patch, mutationId)` units applied over the confirmed
5
- * EntityStore in order; reads always see confirmed ⊕ overlay.
6
- *
7
- * SAFE MODE (§5.7): the overlay is DISPLAY-ONLY. It is never folded into the
8
- * confirmed store — confirmed state comes only from server responses. The
9
- * memory holds a unit until the reconciling refetch integrates server truth,
10
- * then drops it. {@link Overlay.commit} (fold authored patch → confirmed) is
11
- * therefore OFF the Tier-0 write path; it is retained, signature intact, as the
12
- * §6.3 entry point where a real server delta (not the authored guess) will feed
13
- * self-confirmation for free once the wire carries one.
14
- */
15
- import { edgeKey, rawOf } from '../graph/index.js';
16
- /** Normalize a wire {@link PatchInput} to raw strings with all arms present. */
17
- export function normalizePatch(patch) {
18
- const n = patch.nodes ?? {};
19
- const e = patch.edges ?? {};
20
- return {
21
- nodes: {
22
- create: (n.create ?? []).map((c) => ({
23
- class: rawOf(c.class),
24
- at: rawOf(c.at),
25
- props: { ...c.props },
26
- })),
27
- update: (n.update ?? []).map((u) => ({
28
- class: rawOf(u.class),
29
- path: rawOf(u.path),
30
- props: { ...u.props },
31
- })),
32
- delete: (n.delete ?? []).map((d) => ({ class: rawOf(d.class), path: rawOf(d.path) })),
33
- },
34
- edges: {
35
- create: (e.create ?? []).map(normEdge),
36
- update: (e.update ?? []).map(normEdge),
37
- delete: (e.delete ?? []).map(normEdgeDelete),
38
- },
39
- };
40
- }
41
- function normEdge(e) {
42
- return {
43
- class: rawOf(e.class),
44
- source: rawOf(e.source),
45
- ...(e.slug !== undefined ? { slug: e.slug } : {}),
46
- target: rawOf(e.target),
47
- props: { ...e.props },
48
- };
49
- }
50
- function normEdgeDelete(e) {
51
- return {
52
- class: rawOf(e.class),
53
- source: rawOf(e.source),
54
- ...(e.slug !== undefined ? { slug: e.slug } : {}),
55
- target: rawOf(e.target),
56
- };
57
- }
58
- export class Overlay {
59
- units = [];
60
- get size() {
61
- return this.units.length;
62
- }
63
- has(mutationId) {
64
- return this.units.some((u) => u.mutationId === mutationId);
65
- }
66
- add(unit) {
67
- this.units.push(unit);
68
- }
69
- unit(mutationId) {
70
- return this.units.find((u) => u.mutationId === mutationId);
71
- }
72
- /** Drop a unit (rollback, or post-commit removal). */
73
- drop(mutationId) {
74
- const i = this.units.findIndex((u) => u.mutationId === mutationId);
75
- if (i >= 0)
76
- this.units.splice(i, 1);
77
- }
78
- // ── Effective reads (confirmed ⊕ overlay) ──────────────────────────────────
79
- /** Recompute the merged effect of every pending unit against `store`. */
80
- effects(store) {
81
- const eff = {
82
- nodeCreates: new Map(),
83
- nodeUpdates: new Map(),
84
- nodeDeletes: new Set(),
85
- edgeCreates: new Map(),
86
- edgeUpdates: new Map(),
87
- edgeDeletes: new Set(),
88
- createdPaths: new Map(),
89
- };
90
- const resolve = (path) => eff.createdPaths.get(path) ?? store.resolvePathToId(path);
91
- for (const unit of this.units) {
92
- for (const c of unit.patch.nodes.create) {
93
- const id = unit.provisionalNodes.get(c.at);
94
- if (id === undefined)
95
- continue;
96
- eff.nodeCreates.set(id, { id, class: c.class, path: c.at, props: { ...c.props } });
97
- eff.createdPaths.set(c.at, id);
98
- eff.nodeDeletes.delete(id);
99
- }
100
- for (const u of unit.patch.nodes.update) {
101
- const id = resolve(u.path);
102
- if (id === undefined)
103
- continue;
104
- const created = eff.nodeCreates.get(id);
105
- if (created) {
106
- eff.nodeCreates.set(id, { ...created, props: { ...created.props, ...u.props } });
107
- }
108
- else {
109
- eff.nodeUpdates.set(id, { ...eff.nodeUpdates.get(id), ...u.props });
110
- }
111
- }
112
- for (const d of unit.patch.nodes.delete) {
113
- const id = resolve(d.path);
114
- if (id === undefined)
115
- continue;
116
- eff.nodeDeletes.add(id);
117
- eff.nodeCreates.delete(id);
118
- eff.nodeUpdates.delete(id);
119
- }
120
- for (const c of unit.patch.edges.create) {
121
- const key = edgeKey(c);
122
- const id = unit.provisionalEdges.get(key) ?? `optimistic-edge:${key}`;
123
- eff.edgeCreates.set(key, synthEdge(id, c));
124
- eff.edgeDeletes.delete(key);
125
- }
126
- for (const u of unit.patch.edges.update) {
127
- const key = edgeKey(u);
128
- const created = eff.edgeCreates.get(key);
129
- if (created)
130
- eff.edgeCreates.set(key, { ...created, props: { ...created.props, ...u.props } });
131
- else
132
- eff.edgeUpdates.set(key, { ...eff.edgeUpdates.get(key), ...u.props });
133
- }
134
- for (const d of unit.patch.edges.delete) {
135
- const key = edgeKey(d);
136
- eff.edgeDeletes.add(key);
137
- eff.edgeCreates.delete(key);
138
- eff.edgeUpdates.delete(key);
139
- }
140
- }
141
- return eff;
142
- }
143
- /** The effective node wire for `id`: `null` when overlay-deleted, else confirmed ⊕ overlay. */
144
- effectiveNode(id, store, eff) {
145
- if (eff.nodeDeletes.has(id))
146
- return null;
147
- const created = eff.nodeCreates.get(id);
148
- if (created)
149
- return created;
150
- const base = store.node(id)?.wire;
151
- if (base === undefined)
152
- return null;
153
- const patch = eff.nodeUpdates.get(id);
154
- return patch ? { ...base, props: { ...base.props, ...patch } } : base;
155
- }
156
- effectiveEdge(key, store, eff) {
157
- if (eff.edgeDeletes.has(key))
158
- return null;
159
- const created = eff.edgeCreates.get(key);
160
- if (created)
161
- return created;
162
- const base = store.edge(key)?.wire;
163
- if (base === undefined)
164
- return null;
165
- const patch = eff.edgeUpdates.get(key);
166
- return patch ? { ...base, props: { ...base.props, ...patch } } : base;
167
- }
168
- // ── Commit (fold authored patch into confirmed) ────────────────────────────
169
- /**
170
- * §6.3 future path — NOT called on the Tier-0 write path (SAFE MODE reconciles
171
- * from a refetch instead, §5.7). Folds a committed unit's authored patch into
172
- * the confirmed store using the mutation's minted ids, then drops it; returns
173
- * provisional→minted node id swaps so the ShapeStore can repoint membership.
174
- * When `result` carries a real `GraphDeltaWire` (§6.3), this is the seam that
175
- * folds SERVER truth — self-confirmation returns for free, correct.
176
- */
177
- commit(mutationId, result, store, seq, now) {
178
- const unit = this.unit(mutationId);
179
- const swaps = new Map();
180
- if (unit === undefined)
181
- return swaps;
182
- for (const c of unit.patch.nodes.create) {
183
- const minted = result.createdNodes[c.at];
184
- if (minted === undefined)
185
- continue;
186
- const provisional = unit.provisionalNodes.get(c.at);
187
- if (provisional !== undefined)
188
- swaps.set(provisional, minted);
189
- store.confirmNode({ id: minted, class: c.class, path: c.at, props: { ...c.props } }, seq);
190
- }
191
- for (const u of unit.patch.nodes.update) {
192
- const id = store.resolvePathToId(u.path);
193
- const base = id !== undefined ? store.node(id)?.wire : undefined;
194
- if (base !== undefined)
195
- store.confirmNode({ ...base, props: { ...base.props, ...u.props } }, seq);
196
- }
197
- for (const d of unit.patch.nodes.delete) {
198
- const id = store.resolvePathToId(d.path);
199
- if (id !== undefined)
200
- store.tombstoneNode(id, now);
201
- }
202
- for (const c of unit.patch.edges.create) {
203
- const key = edgeKey(c);
204
- const minted = result.createdEdges[key] ?? soleValue(result.createdEdges);
205
- if (minted !== undefined)
206
- store.confirmEdge(synthEdge(minted, c), seq);
207
- }
208
- for (const u of unit.patch.edges.update) {
209
- const key = edgeKey(u);
210
- const base = store.edge(key)?.wire;
211
- if (base !== undefined)
212
- store.confirmEdge({ ...base, props: { ...base.props, ...u.props } }, seq);
213
- }
214
- for (const d of unit.patch.edges.delete) {
215
- store.tombstoneEdge(edgeKey(d), now);
216
- }
217
- this.drop(mutationId);
218
- return swaps;
219
- }
220
- }
221
- // ── helpers ──────────────────────────────────────────────────────────────────
222
- function synthEdge(id, e) {
223
- return {
224
- id,
225
- class: e.class,
226
- source: e.source,
227
- target: e.target,
228
- ...(e.slug !== undefined ? { slug: e.slug } : {}),
229
- props: { ...e.props },
230
- };
231
- }
232
- /** When the mint map has exactly one entry, key normalization is unambiguous. */
233
- function soleValue(map) {
234
- const values = Object.values(map);
235
- return values.length === 1 ? values[0] : undefined;
236
- }
237
- //# sourceMappingURL=overlay.js.map
@@ -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"}