@warp-drive/core 5.9.0-beta.1 → 5.9.0-beta.3

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 (277) hide show
  1. package/dist/-private-BL9zXgJB.js +3530 -0
  2. package/dist/-private-BL9zXgJB.js.map +1 -0
  3. package/dist/{-private-DMzvF_Q6.js → -private-Cxa8cMBj.js} +2 -2
  4. package/dist/-private-Cxa8cMBj.js.map +1 -0
  5. package/dist/{unpkg/dev-deprecated/-private-DL4tfrv9.js → -private-xK1KgxZJ.js} +2 -2
  6. package/dist/{-private-b1g4dhl0.js.map → -private-xK1KgxZJ.js.map} +1 -1
  7. package/{declarations/concepts-LHsLJZMl.d.ts → dist/concepts-DFldVwEM.d.ts} +2 -2
  8. package/{declarations/concepts-LHsLJZMl.d.ts.map → dist/concepts-DFldVwEM.d.ts.map} +1 -1
  9. package/dist/configure.js +1 -1
  10. package/dist/graph/-private.d.ts +2 -0
  11. package/dist/graph/-private.js +46 -33
  12. package/dist/graph/-private.js.map +1 -1
  13. package/dist/index.d.ts +2 -0
  14. package/dist/index.js +1 -1
  15. package/{declarations/internal-Cz-893zD.d.ts → dist/internal-DtWOpxrR.d.ts} +2763 -2271
  16. package/dist/internal-DtWOpxrR.d.ts.map +1 -0
  17. package/dist/reactive/-private.d.ts +2 -0
  18. package/dist/reactive/-private.js +1 -1
  19. package/dist/reactive.d.ts +2 -0
  20. package/dist/reactive.js +3 -3
  21. package/{declarations → dist}/record-D3QQcaIR.d.ts.map +1 -1
  22. package/dist/{request--vRFALbQ.js → request-z2NByNx0.js} +2 -2
  23. package/dist/request-z2NByNx0.js.map +1 -0
  24. package/dist/request.d.ts +2 -0
  25. package/dist/request.js +1 -1
  26. package/dist/signals/-leaked.d.ts +1060 -0
  27. package/dist/signals/-leaked.d.ts.map +1 -0
  28. package/dist/signals/-leaked.js +2 -2
  29. package/dist/{src-Dex_phWI.js → src-s5HHjglV.js} +192 -53
  30. package/dist/src-s5HHjglV.js.map +1 -0
  31. package/dist/store/-private.d.ts +2 -0
  32. package/dist/store/-private.js +1 -1
  33. package/dist/store-DNF9Rgoh.js.map +1 -1
  34. package/dist/store.d.ts +2 -0
  35. package/{declarations → dist}/types/-private.d.ts +1 -1
  36. package/{declarations → dist}/types/-private.d.ts.map +1 -1
  37. package/dist/types/-private.js +1 -1
  38. package/dist/types/cache.d.ts +2 -0
  39. package/dist/types/record.js.map +1 -1
  40. package/dist/types/request.d.ts +2 -0
  41. package/dist/types/request.js +1 -1
  42. package/dist/types/request.js.map +1 -1
  43. package/dist/types/runtime.js +1 -1
  44. package/dist/types/schema/concepts.d.ts +2 -0
  45. package/dist/types/schema/fields.js.map +1 -1
  46. package/dist/types/schema/schema-service.d.ts +2 -0
  47. package/dist/types/symbols.js +1 -1
  48. package/dist/types/symbols.js.map +1 -1
  49. package/{declarations → dist}/types.d.ts +1 -1
  50. package/dist/{-private-b1g4dhl0.js → unpkg/dev/-private-BGCYELwo.js} +2 -2
  51. package/dist/unpkg/{dev-deprecated/-private-DL4tfrv9.js.map → dev/-private-BGCYELwo.js.map} +1 -1
  52. package/dist/unpkg/{dev-deprecated/-private-2RfQ2761.js → dev/-private-DhiS6yOR.js} +2 -2
  53. package/dist/unpkg/dev/-private-DhiS6yOR.js.map +1 -0
  54. package/dist/unpkg/dev/-private-pNQae3qH.js +3519 -0
  55. package/dist/unpkg/dev/-private-pNQae3qH.js.map +1 -0
  56. package/dist/unpkg/dev/configure.js +1 -1
  57. package/dist/unpkg/dev/graph/-private.js +46 -33
  58. package/dist/unpkg/dev/graph/-private.js.map +1 -1
  59. package/dist/unpkg/dev/index.js +1 -1
  60. package/dist/unpkg/dev/reactive/-private.js +1 -1
  61. package/dist/unpkg/dev/reactive.js +3 -3
  62. package/dist/unpkg/{dev-deprecated/request-DAuXbfYi.js → dev/request-BbbzRou7.js} +2 -2
  63. package/dist/unpkg/dev/request-BbbzRou7.js.map +1 -0
  64. package/dist/unpkg/dev/request.js +1 -1
  65. package/dist/unpkg/dev/{runtime-EoVKAhTv.js → runtime-DoDtzXJb.js} +2 -2
  66. package/dist/unpkg/dev/runtime-DoDtzXJb.js.map +1 -0
  67. package/dist/unpkg/dev/signals/-leaked.js +2 -2
  68. package/dist/unpkg/dev/{src-Bxlr_vue.js → src-Cf7NXXR2.js} +194 -55
  69. package/dist/unpkg/dev/src-Cf7NXXR2.js.map +1 -0
  70. package/dist/unpkg/dev/store/-private.js +1 -1
  71. package/dist/unpkg/{dev-deprecated/store-TcP2H4Af.js → dev/store-DamE3C4y.js} +2 -2
  72. package/dist/unpkg/dev/store-DamE3C4y.js.map +1 -0
  73. package/dist/unpkg/dev/store.js +1 -1
  74. package/dist/unpkg/dev/types/-private.js +1 -1
  75. package/dist/unpkg/dev/types/record.js.map +1 -1
  76. package/dist/unpkg/dev/types/request.js +1 -1
  77. package/dist/unpkg/dev/types/request.js.map +1 -1
  78. package/dist/unpkg/dev/types/runtime.js +1 -1
  79. package/dist/unpkg/dev/types/schema/fields.js.map +1 -1
  80. package/dist/unpkg/dev/types/symbols.js +1 -1
  81. package/dist/unpkg/dev/types/symbols.js.map +1 -1
  82. package/dist/unpkg/{dev/-private-DL4tfrv9.js → dev-deprecated/-private-BGCYELwo.js} +2 -2
  83. package/dist/unpkg/{prod/-private-Z9i0icpE.js.map → dev-deprecated/-private-BGCYELwo.js.map} +1 -1
  84. package/dist/unpkg/{dev/-private-2RfQ2761.js → dev-deprecated/-private-DhiS6yOR.js} +2 -2
  85. package/dist/unpkg/dev-deprecated/-private-DhiS6yOR.js.map +1 -0
  86. package/dist/unpkg/dev-deprecated/-private-pNQae3qH.js +3519 -0
  87. package/dist/unpkg/dev-deprecated/-private-pNQae3qH.js.map +1 -0
  88. package/dist/unpkg/dev-deprecated/configure.js +1 -1
  89. package/dist/unpkg/dev-deprecated/graph/-private.js +47 -34
  90. package/dist/unpkg/dev-deprecated/graph/-private.js.map +1 -1
  91. package/dist/unpkg/dev-deprecated/index.js +1 -1
  92. package/dist/unpkg/dev-deprecated/reactive/-private.js +1 -1
  93. package/dist/unpkg/dev-deprecated/reactive.js +3 -3
  94. package/dist/unpkg/{dev/request-DAuXbfYi.js → dev-deprecated/request-BbbzRou7.js} +2 -2
  95. package/dist/unpkg/dev-deprecated/request-BbbzRou7.js.map +1 -0
  96. package/dist/unpkg/dev-deprecated/request.js +1 -1
  97. package/dist/unpkg/dev-deprecated/{runtime-BacZMq1r.js → runtime-CPL2BGgT.js} +2 -2
  98. package/dist/unpkg/dev-deprecated/runtime-CPL2BGgT.js.map +1 -0
  99. package/dist/unpkg/dev-deprecated/signals/-leaked.js +2 -2
  100. package/dist/unpkg/dev-deprecated/{src-DEl2Ca3T.js → src-CSuFUXv4.js} +195 -56
  101. package/dist/unpkg/dev-deprecated/src-CSuFUXv4.js.map +1 -0
  102. package/dist/unpkg/dev-deprecated/store/-private.js +1 -1
  103. package/dist/unpkg/{dev/store-DmiFvT1B.js → dev-deprecated/store-Bsdz5mRe.js} +2 -2
  104. package/dist/unpkg/dev-deprecated/store-Bsdz5mRe.js.map +1 -0
  105. package/dist/unpkg/dev-deprecated/store.js +1 -1
  106. package/dist/unpkg/dev-deprecated/types/-private.js +1 -1
  107. package/dist/unpkg/dev-deprecated/types/record.js.map +1 -1
  108. package/dist/unpkg/dev-deprecated/types/request.js +1 -1
  109. package/dist/unpkg/dev-deprecated/types/request.js.map +1 -1
  110. package/dist/unpkg/dev-deprecated/types/runtime.js +1 -1
  111. package/dist/unpkg/dev-deprecated/types/schema/fields.js.map +1 -1
  112. package/dist/unpkg/dev-deprecated/types/symbols.js +1 -1
  113. package/dist/unpkg/dev-deprecated/types/symbols.js.map +1 -1
  114. package/dist/unpkg/prod/-private-8gd8hbwm.js +22 -0
  115. package/dist/unpkg/{prod-deprecated/-private-Z9i0icpE.js.map → prod/-private-8gd8hbwm.js.map} +1 -1
  116. package/dist/unpkg/prod/{-private-BK71-uXR.js → -private-B6aLbrgV.js} +2 -2
  117. package/dist/unpkg/prod/-private-B6aLbrgV.js.map +1 -0
  118. package/dist/unpkg/prod/-private-ggVX_Iob.js +3294 -0
  119. package/dist/unpkg/prod/-private-ggVX_Iob.js.map +1 -0
  120. package/dist/unpkg/prod/configure.js +1 -1
  121. package/dist/unpkg/prod/graph/-private.js +45 -32
  122. package/dist/unpkg/prod/graph/-private.js.map +1 -1
  123. package/dist/unpkg/prod/index.js +1 -1
  124. package/dist/unpkg/prod/reactive/-private.js +1 -1
  125. package/dist/unpkg/prod/reactive.js +3 -3
  126. package/dist/unpkg/prod/{request-BcJNzSgv.js → request-BoeppjDj.js} +2 -2
  127. package/dist/unpkg/prod/request-BoeppjDj.js.map +1 -0
  128. package/dist/unpkg/prod/request.js +1 -1
  129. package/dist/unpkg/prod/signals/-leaked.js +2 -2
  130. package/dist/unpkg/prod/{src-Dzz-j6pp.js → src-C0wuASrN.js} +196 -53
  131. package/dist/unpkg/prod/src-C0wuASrN.js.map +1 -0
  132. package/dist/unpkg/prod/store/-private.js +1 -1
  133. package/dist/unpkg/prod/store-BWhmb7Ob.js.map +1 -1
  134. package/dist/unpkg/prod/types/-private.js +1 -1
  135. package/dist/unpkg/prod/types/record.js.map +1 -1
  136. package/dist/unpkg/prod/types/request.js +1 -1
  137. package/dist/unpkg/prod/types/request.js.map +1 -1
  138. package/dist/unpkg/prod/types/runtime.js +1 -1
  139. package/dist/unpkg/prod/types/schema/fields.js.map +1 -1
  140. package/dist/unpkg/prod/types/symbols.js +1 -1
  141. package/dist/unpkg/prod/types/symbols.js.map +1 -1
  142. package/dist/unpkg/prod-deprecated/{-private-Z9i0icpE.js → -private-8gd8hbwm.js} +2 -2
  143. package/dist/unpkg/{dev/-private-DL4tfrv9.js.map → prod-deprecated/-private-8gd8hbwm.js.map} +1 -1
  144. package/dist/unpkg/prod-deprecated/{-private-BK71-uXR.js → -private-B6aLbrgV.js} +2 -2
  145. package/dist/unpkg/prod-deprecated/-private-B6aLbrgV.js.map +1 -0
  146. package/dist/unpkg/prod-deprecated/-private-ggVX_Iob.js +3294 -0
  147. package/dist/unpkg/prod-deprecated/-private-ggVX_Iob.js.map +1 -0
  148. package/dist/unpkg/prod-deprecated/configure.js +1 -1
  149. package/dist/unpkg/prod-deprecated/graph/-private.js +46 -35
  150. package/dist/unpkg/prod-deprecated/graph/-private.js.map +1 -1
  151. package/dist/unpkg/prod-deprecated/index.js +1 -1
  152. package/dist/unpkg/prod-deprecated/reactive/-private.js +1 -1
  153. package/dist/unpkg/prod-deprecated/reactive.js +3 -3
  154. package/dist/unpkg/prod-deprecated/{request-BcJNzSgv.js → request-BoeppjDj.js} +2 -2
  155. package/dist/unpkg/prod-deprecated/request-BoeppjDj.js.map +1 -0
  156. package/dist/unpkg/prod-deprecated/request.js +1 -1
  157. package/dist/unpkg/prod-deprecated/signals/-leaked.js +2 -2
  158. package/dist/unpkg/prod-deprecated/{src-BOifHFQ5.js → src-BXOgNqmz.js} +197 -54
  159. package/dist/unpkg/prod-deprecated/src-BXOgNqmz.js.map +1 -0
  160. package/dist/unpkg/prod-deprecated/store/-private.js +1 -1
  161. package/dist/unpkg/prod-deprecated/store-BWhmb7Ob.js.map +1 -1
  162. package/dist/unpkg/prod-deprecated/types/-private.js +1 -1
  163. package/dist/unpkg/prod-deprecated/types/record.js.map +1 -1
  164. package/dist/unpkg/prod-deprecated/types/request.js +1 -1
  165. package/dist/unpkg/prod-deprecated/types/request.js.map +1 -1
  166. package/dist/unpkg/prod-deprecated/types/runtime.js +1 -1
  167. package/dist/unpkg/prod-deprecated/types/schema/fields.js.map +1 -1
  168. package/dist/unpkg/prod-deprecated/types/symbols.js +1 -1
  169. package/dist/unpkg/prod-deprecated/types/symbols.js.map +1 -1
  170. package/package.json +15 -19
  171. package/declarations/graph/-private.d.ts +0 -2
  172. package/declarations/index.d.ts +0 -2
  173. package/declarations/internal-Cz-893zD.d.ts.map +0 -1
  174. package/declarations/reactive/-private.d.ts +0 -2
  175. package/declarations/reactive.d.ts +0 -2
  176. package/declarations/request.d.ts +0 -2
  177. package/declarations/signals/-leaked.d.ts +0 -63
  178. package/declarations/signals/-leaked.d.ts.map +0 -1
  179. package/declarations/store/-private.d.ts +0 -2
  180. package/declarations/store.d.ts +0 -8358
  181. package/declarations/store.d.ts.map +0 -1
  182. package/declarations/types/cache.d.ts +0 -2
  183. package/declarations/types/request.d.ts +0 -2
  184. package/declarations/types/schema/concepts.d.ts +0 -2
  185. package/declarations/types/schema/schema-service.d.ts +0 -2
  186. package/dist/-private-DMzvF_Q6.js.map +0 -1
  187. package/dist/-private-HjaQ1wp1.js +0 -1695
  188. package/dist/-private-HjaQ1wp1.js.map +0 -1
  189. package/dist/request--vRFALbQ.js.map +0 -1
  190. package/dist/src-Dex_phWI.js.map +0 -1
  191. package/dist/unpkg/dev/-private-2RfQ2761.js.map +0 -1
  192. package/dist/unpkg/dev/-private-CM1zxNws.js +0 -1684
  193. package/dist/unpkg/dev/-private-CM1zxNws.js.map +0 -1
  194. package/dist/unpkg/dev/request-DAuXbfYi.js.map +0 -1
  195. package/dist/unpkg/dev/runtime-EoVKAhTv.js.map +0 -1
  196. package/dist/unpkg/dev/src-Bxlr_vue.js.map +0 -1
  197. package/dist/unpkg/dev/store-DmiFvT1B.js.map +0 -1
  198. package/dist/unpkg/dev-deprecated/-private-2RfQ2761.js.map +0 -1
  199. package/dist/unpkg/dev-deprecated/-private-CM1zxNws.js +0 -1684
  200. package/dist/unpkg/dev-deprecated/-private-CM1zxNws.js.map +0 -1
  201. package/dist/unpkg/dev-deprecated/request-DAuXbfYi.js.map +0 -1
  202. package/dist/unpkg/dev-deprecated/runtime-BacZMq1r.js.map +0 -1
  203. package/dist/unpkg/dev-deprecated/src-DEl2Ca3T.js.map +0 -1
  204. package/dist/unpkg/dev-deprecated/store-TcP2H4Af.js.map +0 -1
  205. package/dist/unpkg/prod/-private-BK71-uXR.js.map +0 -1
  206. package/dist/unpkg/prod/-private-TNaS5Piv.js +0 -1494
  207. package/dist/unpkg/prod/-private-TNaS5Piv.js.map +0 -1
  208. package/dist/unpkg/prod/-private-Z9i0icpE.js +0 -22
  209. package/dist/unpkg/prod/request-BcJNzSgv.js.map +0 -1
  210. package/dist/unpkg/prod/src-Dzz-j6pp.js.map +0 -1
  211. package/dist/unpkg/prod-deprecated/-private-BK71-uXR.js.map +0 -1
  212. package/dist/unpkg/prod-deprecated/-private-TNaS5Piv.js +0 -1494
  213. package/dist/unpkg/prod-deprecated/-private-TNaS5Piv.js.map +0 -1
  214. package/dist/unpkg/prod-deprecated/request-BcJNzSgv.js.map +0 -1
  215. package/dist/unpkg/prod-deprecated/src-BOifHFQ5.js.map +0 -1
  216. /package/{declarations → dist}/aliases-BWYW5EhX.d.ts +0 -0
  217. /package/{declarations → dist}/aliases-BWYW5EhX.d.ts.map +0 -0
  218. /package/{declarations → dist}/build-config/babel-macros.d.ts +0 -0
  219. /package/{declarations → dist}/build-config/canary-features.d.ts +0 -0
  220. /package/{declarations → dist}/build-config/debugging.d.ts +0 -0
  221. /package/{declarations → dist}/build-config/deprecations.d.ts +0 -0
  222. /package/{declarations → dist}/build-config/env.d.ts +0 -0
  223. /package/{declarations → dist}/build-config/macros.d.ts +0 -0
  224. /package/{declarations → dist}/build-config.d.ts +0 -0
  225. /package/{declarations → dist}/change-C7kqv2kW.d.ts +0 -0
  226. /package/{declarations → dist}/change-C7kqv2kW.d.ts.map +0 -0
  227. /package/{declarations → dist}/configure-B_F639tN.d.ts +0 -0
  228. /package/{declarations → dist}/configure-B_F639tN.d.ts.map +0 -0
  229. /package/{declarations → dist}/configure.d.ts +0 -0
  230. /package/{declarations → dist}/document-BEn91SwT.d.ts +0 -0
  231. /package/{declarations → dist}/document-BEn91SwT.d.ts.map +0 -0
  232. /package/{declarations → dist}/error-50OSEhsF.d.ts +0 -0
  233. /package/{declarations → dist}/error-50OSEhsF.d.ts.map +0 -0
  234. /package/{declarations → dist}/fields-FM7peCiM.d.ts +0 -0
  235. /package/{declarations → dist}/fields-FM7peCiM.d.ts.map +0 -0
  236. /package/{declarations → dist}/graph-DLqYXP2z.d.ts +0 -0
  237. /package/{declarations → dist}/graph-DLqYXP2z.d.ts.map +0 -0
  238. /package/{declarations → dist}/identifier-DQnqOSJK.d.ts +0 -0
  239. /package/{declarations → dist}/identifier-DQnqOSJK.d.ts.map +0 -0
  240. /package/{declarations → dist}/json-api-raw-C5APJHHB.d.ts +0 -0
  241. /package/{declarations → dist}/json-api-raw-C5APJHHB.d.ts.map +0 -0
  242. /package/{declarations → dist}/mutations-CqtoGB4t.d.ts +0 -0
  243. /package/{declarations → dist}/mutations-CqtoGB4t.d.ts.map +0 -0
  244. /package/{declarations → dist}/operations-D1qA6r0_.d.ts +0 -0
  245. /package/{declarations → dist}/operations-D1qA6r0_.d.ts.map +0 -0
  246. /package/{declarations → dist}/params-DrEx3bf8.d.ts +0 -0
  247. /package/{declarations → dist}/params-DrEx3bf8.d.ts.map +0 -0
  248. /package/{declarations → dist}/raw-D5hnjiq7.d.ts +0 -0
  249. /package/{declarations → dist}/raw-D5hnjiq7.d.ts.map +0 -0
  250. /package/{declarations → dist}/record-D3QQcaIR.d.ts +0 -0
  251. /package/{declarations → dist}/relationship-CmHzMPKf.d.ts +0 -0
  252. /package/{declarations → dist}/relationship-CmHzMPKf.d.ts.map +0 -0
  253. /package/{declarations → dist}/symbols-DjRDCeX0.d.ts +0 -0
  254. /package/{declarations → dist}/symbols-DjRDCeX0.d.ts.map +0 -0
  255. /package/{declarations → dist}/types/cache/aliases.d.ts +0 -0
  256. /package/{declarations → dist}/types/cache/change.d.ts +0 -0
  257. /package/{declarations → dist}/types/cache/mutations.d.ts +0 -0
  258. /package/{declarations → dist}/types/cache/operations.d.ts +0 -0
  259. /package/{declarations → dist}/types/cache/relationship.d.ts +0 -0
  260. /package/{declarations → dist}/types/graph.d.ts +0 -0
  261. /package/{declarations → dist}/types/identifier.d.ts +0 -0
  262. /package/{declarations → dist}/types/json/raw.d.ts +0 -0
  263. /package/{declarations → dist}/types/params.d.ts +0 -0
  264. /package/{declarations → dist}/types/record.d.ts +0 -0
  265. /package/{declarations → dist}/types/runtime.d.ts +0 -0
  266. /package/{declarations → dist}/types/runtime.d.ts.map +0 -0
  267. /package/{declarations → dist}/types/schema/fields.d.ts +0 -0
  268. /package/{declarations → dist}/types/schema/fields.type-test.d.ts +0 -0
  269. /package/{declarations → dist}/types/spec/document.d.ts +0 -0
  270. /package/{declarations → dist}/types/spec/error.d.ts +0 -0
  271. /package/{declarations → dist}/types/spec/json-api-raw.d.ts +0 -0
  272. /package/{declarations → dist}/types/symbols.d.ts +0 -0
  273. /package/{declarations → dist}/types/utils.d.ts +0 -0
  274. /package/{declarations → dist}/utils/string.d.ts +0 -0
  275. /package/{declarations → dist}/utils/string.d.ts.map +0 -0
  276. /package/{declarations → dist}/utils-BtURiy8l.d.ts +0 -0
  277. /package/{declarations → dist}/utils-BtURiy8l.d.ts.map +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"-leaked.d.ts","names":[],"sources":["../../src/signals/page-cache.ts","../../src/signals/pagination-cache.ts","../../src/signals/pagination-state.ts","../../src/signals/pagination-links.ts","../../src/signals/pagination-subscription.ts","../../src/signals/pagination-links-subscription.ts","../../src/signals/reactivity/signal.ts"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { E as waitFor, S as withSignalStore, b as notifyInternalSignal, c as defineSignal, d as gate, f as memoized, n as DISPOSE, o as defineGate, p as signal, s as defineNonEnumerableSignal, u as entangleSignal, v as getOrCreateInternalSignal, x as peekInternalSignal, y as makeInitializer } from "../-private-HjaQ1wp1.js";
1
+ import { D as notifyInternalSignal, E as makeInitializer, N as waitFor, O as peekInternalSignal, T as getOrCreateInternalSignal, _ as entangleSignal, a as getPaginationState, b as signal, c as getPaginationCache, h as defineSignal, i as getPaginationLinks, k as withSignalStore, l as DISPOSE, m as defineNonEnumerableSignal, n as createPaginationLinksSubscription, o as clearPaginationCache, p as defineGate, r as createPaginationSubscription, s as defaultPageHints, v as gate, y as memoized } from "../-private-BL9zXgJB.js";
2
2
 
3
- export { DISPOSE, defineGate, defineNonEnumerableSignal, defineSignal, entangleSignal, gate, getOrCreateInternalSignal, makeInitializer, memoized, notifyInternalSignal, peekInternalSignal, signal, waitFor, withSignalStore };
3
+ export { DISPOSE, clearPaginationCache, createPaginationLinksSubscription, createPaginationSubscription, defaultPageHints, defineGate, defineNonEnumerableSignal, defineSignal, entangleSignal, gate, getOrCreateInternalSignal, getPaginationCache, getPaginationLinks, getPaginationState, makeInitializer, memoized, notifyInternalSignal, peekInternalSignal, signal, waitFor, withSignalStore };
@@ -1,10 +1,10 @@
1
- import { a as setTransient, i as peekUniversalTransient, o as setUniversalTransient, r as peekTransient, t as getOrSetGlobal } from "./-private-DMzvF_Q6.js";
2
- import { C as ARRAY_SIGNAL, D as willSyncFlushWatchers, E as waitFor, S as withSignalStore, _ as createInternalSignal, a as createSignalDescriptor, b as notifyInternalSignal, c as defineSignal, g as createInternalMemo, h as consumeInternalSignal, l as entangleInitiallyStaleSignal, m as Signals, o as defineGate, u as entangleSignal, v as getOrCreateInternalSignal, w as OBJECT_SIGNAL, x as peekInternalSignal } from "./-private-HjaQ1wp1.js";
1
+ import { a as setTransient, i as peekUniversalTransient, o as setUniversalTransient, r as peekTransient, t as getOrSetGlobal } from "./-private-Cxa8cMBj.js";
2
+ import { A as ARRAY_SIGNAL, C as createInternalMemo, D as notifyInternalSignal, N as waitFor, O as peekInternalSignal, P as willSyncFlushWatchers, S as consumeInternalSignal, T as getOrCreateInternalSignal, _ as entangleSignal, f as createSignalDescriptor, g as entangleInitiallyStaleSignal, h as defineSignal, j as OBJECT_SIGNAL, k as withSignalStore, p as defineGate, w as createInternalSignal, x as Signals } from "./-private-BL9zXgJB.js";
3
3
  import { EnableHydration, STRUCTURED, SkipCache } from "./types/request.js";
4
4
  import { CACHE_OWNER, DEBUG_CLIENT_ORIGINATED, DEBUG_KEY_TYPE, DEBUG_STALE_CACHE_OWNER } from "./types/identifier.js";
5
- import { a as upgradePromise, c as executeNextHandler, d as getRequestResult, f as setPromiseResult, l as clearRequestResult, m as assertValidRequest, o as DOMError, p as cloneResponseProperties, s as IS_CACHE_HANDLER, t as withBrand } from "./request--vRFALbQ.js";
5
+ import { a as upgradePromise, c as executeNextHandler, d as getRequestResult, f as setPromiseResult, l as clearRequestResult, m as assertValidRequest, o as DOMError, p as cloneResponseProperties, s as IS_CACHE_HANDLER, t as withBrand } from "./request-z2NByNx0.js";
6
6
  import { getRuntimeConfig, setIsMaybeMirage, setLogging } from "./types/runtime.js";
7
- import { a as SOURCE, i as Destroy, n as Commit, r as Context, t as Checkout } from "./-private-b1g4dhl0.js";
7
+ import { a as SOURCE, i as Destroy, n as Commit, r as Context, t as Checkout } from "./-private-xK1KgxZJ.js";
8
8
  import { dasherize } from "./utils/string.js";
9
9
  import { RecordStore, Type } from "./types/symbols.js";
10
10
  import { isResourceSchema } from "./types/schema/fields.js";
@@ -1210,13 +1210,18 @@ var CacheCapabilitiesManager = class {
1210
1210
  return this.cacheKeyManager;
1211
1211
  }
1212
1212
  /** @internal */
1213
- _scheduleNotification(identifier, key) {
1213
+ _scheduleNotification(identifier, key, channel) {
1214
1214
  let pending = this._pendingNotifies.get(identifier);
1215
1215
  if (!pending) {
1216
- pending = /* @__PURE__ */ new Set();
1216
+ pending = /* @__PURE__ */ new Map();
1217
1217
  this._pendingNotifies.set(identifier, pending);
1218
1218
  }
1219
- pending.add(key);
1219
+ let channels = pending.get(key);
1220
+ if (!channels) {
1221
+ channels = /* @__PURE__ */ new Set();
1222
+ pending.set(key, channels);
1223
+ }
1224
+ channels.add(channel);
1220
1225
  if (this._willNotify === true) return;
1221
1226
  this._willNotify = true;
1222
1227
  if (this._store._cbs) this._store._schedule("notify", () => this._flushNotifications());
@@ -1228,11 +1233,24 @@ var CacheCapabilitiesManager = class {
1228
1233
  const pending = this._pendingNotifies;
1229
1234
  this._pendingNotifies = /* @__PURE__ */ new Map();
1230
1235
  this._willNotify = false;
1231
- pending.forEach((set, identifier) => {
1232
- this._store.notifications.notify(identifier, "relationships", set);
1236
+ pending.forEach((channelsByKey, identifier) => {
1237
+ const keysByChannel = /* @__PURE__ */ new Map();
1238
+ channelsByKey.forEach((channels, key) => {
1239
+ channels.forEach((channel) => {
1240
+ let keys = keysByChannel.get(channel);
1241
+ if (!keys) {
1242
+ keys = /* @__PURE__ */ new Set();
1243
+ keysByChannel.set(channel, keys);
1244
+ }
1245
+ keys.add(key);
1246
+ });
1247
+ });
1248
+ keysByChannel.forEach((keys, channel) => {
1249
+ this._store.notifications.notify(identifier, "relationships", keys, channel);
1250
+ });
1233
1251
  });
1234
1252
  }
1235
- notifyChange(identifier, namespace, key) {
1253
+ notifyChange(identifier, namespace, key, channel) {
1236
1254
  macroCondition(getGlobalConfig().WarpDrive.env.DEBUG) && ((test) => {
1237
1255
  if (!test) throw new Error(`Expected a stable identifier`);
1238
1256
  })(isResourceKey(identifier) || isRequestKey(identifier));
@@ -1240,10 +1258,10 @@ var CacheCapabilitiesManager = class {
1240
1258
  macroCondition(getGlobalConfig().WarpDrive.env.DEBUG) && ((test) => {
1241
1259
  if (!test) throw new Error(`Expected a single relationship key`);
1242
1260
  })(typeof key === "string");
1243
- this._scheduleNotification(identifier, key);
1261
+ this._scheduleNotification(identifier, key, channel);
1244
1262
  return;
1245
1263
  }
1246
- this._store.notifications.notify(identifier, namespace, key);
1264
+ this._store.notifications.notify(identifier, namespace, key, channel);
1247
1265
  }
1248
1266
  get schema() {
1249
1267
  return this._store.schema;
@@ -2001,6 +2019,52 @@ function isCacheOperationValue(value) {
2001
2019
  * @since 5.9.0
2002
2020
  * @public
2003
2021
  */
2022
+ /**
2023
+ * A change to a resource's `attributes` or `relationships` can be relevant to
2024
+ * a "local" view of the resource (its mutable/editable state), a "remote" view
2025
+ * (its last-known-persisted state), or both.
2026
+ *
2027
+ * Each view subscribes to its own channel and, when notified, re-pulls its own
2028
+ * projection of the data: a remote-only reader (e.g. PolarisMode's default
2029
+ * immutable record) subscribes `'remote'` and re-reads remote state; an
2030
+ * editable/reconciled reader (a legacy record, or an editable checkout)
2031
+ * subscribes `'local'` (the same as omitting the channel) and re-reads local
2032
+ * state. A notifier that knows which projection changed tags the notification
2033
+ * with that channel; each tag is delivered only to that channel's subscribers.
2034
+ * A change affecting both projections is either notified unscoped or once per
2035
+ * channel. An unscoped notify cannot guarantee which view changed, so it
2036
+ * reaches every subscriber -- this keeps every pre-channel `notify` callsite
2037
+ * (and any custom cache that doesn't know about channels) fully compatible.
2038
+ *
2039
+ * The full delivery matrix:
2040
+ *
2041
+ * | notify ↓ subscribe → | `'local'` | `'remote'` | omitted (= `'local'`) |
2042
+ * | -------------------- | --------- | ---------- | --------------------- |
2043
+ * | `'local'` | ✅ | ❌ | ✅ |
2044
+ * | `'remote'` | ❌ | ✅ | ❌ |
2045
+ * | omitted | ✅ | ✅ | ✅ |
2046
+ *
2047
+ * Channel only applies to the `'attributes'` and `'relationships'`
2048
+ * notification types. All other types (`'errors'`,
2049
+ * `'identity'`, `'state'`, and the various `CacheOperation`/
2050
+ * `DocumentCacheOperation` values) are never filtered by channel since they
2051
+ * have no local/remote duality.
2052
+ *
2053
+ * @public
2054
+ */
2055
+ /**
2056
+ * Well-known sentinel recorded in a {@link ChannelSet} for a touch that
2057
+ * carried no channel. An unscoped touch always reaches every subscriber
2058
+ * regardless of what channel(s) the same key was also touched with, so its
2059
+ * presence in the set short-circuits channel filtering.
2060
+ */
2061
+ const UnscopedChannel = getOrSetGlobal("UnscopedChannel", Symbol("unscoped"));
2062
+ /**
2063
+ * The set of channels (if any) a given `'attributes'`/`'relationships'` touch
2064
+ * was tagged with while buffered. {@link UnscopedChannel} is included in this
2065
+ * set when at least one of the coalesced touches was itself unscoped (no
2066
+ * channel given).
2067
+ */
2004
2068
  function keyToString(key) {
2005
2069
  return key instanceof Set ? Array.from(key).join(", ") : key || "";
2006
2070
  }
@@ -2010,44 +2074,83 @@ function keyToString(key) {
2010
2074
  * a single flush window.
2011
2075
  *
2012
2076
  * The buffer is a `Map` from namespace (`'attributes'`, `'relationships'`,
2013
- * `'state'`, etc.) to either a `Set<string>` of pending keys or `null`. Using
2014
- * a `Map` means the *first* time a namespace is touched during this flush
2015
- * window fixes its position in iteration order; every subsequent touch to
2016
- * that same namespace (regardless of how much later, or how many other
2017
- * namespaces fired in between) updates its value in place without moving it.
2018
- * This preserves the relative order in which *different* namespaces first
2019
- * fired, while intentionally not tracking the arrival order of repeated
2020
- * touches to the *same* namespace - those are provably safe to coalesce
2021
- * because subscribers never receive anything about a notification beyond
2022
- * `(cacheKey, type, key?)`.
2023
- *
2024
- * For `'attributes'`/`'relationships'`, `null` is a wildcard meaning "an
2025
- * unspecified set of keys changed" - a strict superset of any specific key
2026
- * list, per the existing contract of {@link CacheCapabilitiesManager.notifyChange}.
2027
- * A keyless call always upgrades the bucket to `null`, discarding any
2028
- * specific keys already collected; a keyed call is a no-op once the bucket
2029
- * is already `null`.
2030
- *
2031
- * For every other namespace, subscriber callbacks never receive a key at
2032
- * all, so `null` is used purely as a "this namespace fired at least once"
2033
- * presence marker; multiple firings within one flush all collapse to the
2034
- * same single marker.
2077
+ * `'state'`, etc.) to a "bucket". Using a `Map` means the *first* time a
2078
+ * namespace is touched during this flush window fixes its position in
2079
+ * iteration order; every subsequent touch to that same namespace (regardless
2080
+ * of how much later, or how many other namespaces fired in between) updates
2081
+ * its value in place without moving it. This preserves the relative order in
2082
+ * which *different* namespaces first fired, while intentionally not tracking
2083
+ * the arrival order of repeated touches to the *same* namespace - those are
2084
+ * provably safe to coalesce because subscribers never receive anything about
2085
+ * a notification beyond `(cacheKey, type, key?)`.
2086
+ *
2087
+ * For every namespace other than `'attributes'`/`'relationships'`, subscriber
2088
+ * callbacks never receive a key at all (and channel never applies to them -
2089
+ * see {@link NotificationChannel}), so the bucket is simply `null`, used
2090
+ * purely as a "this namespace fired at least once" presence marker; multiple
2091
+ * firings within one flush all collapse to the same single marker.
2092
+ *
2093
+ * For `'attributes'`/`'relationships'`, a key (or channel) *does* matter, so
2094
+ * the bucket is one of:
2095
+ * - a `Map<string, ChannelSet>`: the normal case, mapping each specific key
2096
+ * touched to the set of channels it was touched with ({@link UnscopedChannel}
2097
+ * in that set means at least one of those touches was itself unscoped).
2098
+ * - a `ChannelSet` directly: a wildcard meaning "an unspecified set of keys
2099
+ * changed" - a strict superset of any specific key list, per the existing
2100
+ * contract of {@link CacheCapabilitiesManager.notifyChange} - tagged with
2101
+ * the set of channels any of the coalesced keyless (or post-wildcard
2102
+ * keyed) touches carried.
2103
+ *
2104
+ * A keyless call always upgrades the bucket to the wildcard form. When
2105
+ * upgrading away from a `Map`, every channel ever recorded against any of
2106
+ * its specific keys is folded into the new wildcard `ChannelSet` - the
2107
+ * wildcard must remain a superset not just key-wise but channel-wise too, or
2108
+ * a channel-scoped subscriber that would have heard about one of those
2109
+ * specific keys could silently stop hearing about it once the bucket flips
2110
+ * to wildcard. Once a bucket is a wildcard it can never downgrade back to a
2111
+ * `Map`; a keyed touch that arrives after that point still folds its channel
2112
+ * into the wildcard's `ChannelSet` (the specific key itself is discarded,
2113
+ * since the wildcard already covers it).
2035
2114
  */
2036
- function mergeIntoBuffer(buffer, value, key) {
2115
+ function mergeIntoBuffer(buffer, value, key, channel) {
2037
2116
  if (value !== "attributes" && value !== "relationships") {
2038
2117
  buffer.set(value, null);
2039
2118
  return;
2040
2119
  }
2041
2120
  const existing = buffer.get(value);
2042
2121
  if (key === null || key === void 0) {
2043
- buffer.set(value, null);
2122
+ const channels = existing instanceof Set ? existing : /* @__PURE__ */ new Set();
2123
+ if (existing instanceof Map) for (const channelsForKey of existing.values()) for (const ch of channelsForKey) channels.add(ch);
2124
+ channels.add(channel ?? UnscopedChannel);
2125
+ buffer.set(value, channels);
2044
2126
  return;
2045
2127
  }
2046
- if (existing === null) return;
2047
- const set = existing ?? /* @__PURE__ */ new Set();
2048
- if (!existing) buffer.set(value, set);
2049
- if (key instanceof Set) for (const k of key) set.add(k);
2050
- else set.add(key);
2128
+ if (existing instanceof Set) {
2129
+ existing.add(channel ?? UnscopedChannel);
2130
+ return;
2131
+ }
2132
+ const map = existing ?? /* @__PURE__ */ new Map();
2133
+ if (!existing) buffer.set(value, map);
2134
+ const keys = key instanceof Set ? key : [key];
2135
+ for (const k of keys) {
2136
+ let channels = map.get(k);
2137
+ if (!channels) {
2138
+ channels = /* @__PURE__ */ new Set();
2139
+ map.set(k, channels);
2140
+ }
2141
+ channels.add(channel ?? UnscopedChannel);
2142
+ }
2143
+ }
2144
+ /**
2145
+ * Given the set of channels a touch (or coalesced group of touches) was
2146
+ * recorded with, determines whether a subscriber scoped to `subscriberChannel`
2147
+ * should be delivered to (see the delivery matrix on
2148
+ * {@link NotificationChannel}): a subscriber hears a touch-set if any of its
2149
+ * touches was unscoped or tagged with the subscriber's own channel; a
2150
+ * touch-set exclusively tagged with the *other* channel is skipped.
2151
+ */
2152
+ function shouldDeliverToChannel(channels, subscriberChannel) {
2153
+ return channels.has(UnscopedChannel) || channels.has(subscriberChannel);
2051
2154
  }
2052
2155
  function count(label) {
2053
2156
  globalThis.__WarpDriveMetricCountData[label] = (globalThis.__WarpDriveMetricCountData[label] || 0) + 1;
@@ -2124,10 +2227,23 @@ var NotificationManager = class {
2124
2227
  * }
2125
2228
  * ```
2126
2229
  *
2230
+ * A `channel` may be provided when subscribing to a `ResourceKey`. Its
2231
+ * effect is that the subscription skips `'attributes'`/`'relationships'`
2232
+ * notifications explicitly tagged with the *other* channel; unscoped
2233
+ * notifications, and notifications for all other notification types, always
2234
+ * reach the subscriber. Subscribing `'local'` and omitting the channel are
2235
+ * the same thing. See {@link NotificationChannel}.
2236
+ *
2237
+ * | notify ↓ subscribe → | `'local'` | `'remote'` | omitted (= `'local'`) |
2238
+ * | -------------------- | --------- | ---------- | --------------------- |
2239
+ * | `'local'` | ✅ | ❌ | ✅ |
2240
+ * | `'remote'` | ❌ | ✅ | ❌ |
2241
+ * | omitted | ✅ | ✅ | ✅ |
2242
+ *
2127
2243
  * @public
2128
2244
  * @return an opaque token to be used with unsubscribe
2129
2245
  */
2130
- subscribe(cacheKey, callback) {
2246
+ subscribe(cacheKey, callback, channel) {
2131
2247
  macroCondition(getGlobalConfig().WarpDrive.env.DEBUG) && ((test) => {
2132
2248
  if (!test) throw new Error(`Expected not to be destroyed`);
2133
2249
  })(!this.isDestroyed);
@@ -2142,6 +2258,7 @@ var NotificationManager = class {
2142
2258
  if (!test) throw new Error(`cannot subscribe with the same callback twice`);
2143
2259
  })(!callbacks || !callbacks.includes(callback));
2144
2260
  callback.for = cacheKey;
2261
+ callback.channel = channel ?? "local";
2145
2262
  if (!callbacks) {
2146
2263
  callbacks = [];
2147
2264
  this._cache.set(cacheKey, callbacks);
@@ -2171,13 +2288,29 @@ var NotificationManager = class {
2171
2288
  * buffer/flush scheduling) only once for the whole batch instead of once
2172
2289
  * per key.
2173
2290
  *
2291
+ * A `channel` may be supplied for the `'attributes'`/`'relationships'`
2292
+ * namespaces. Tagging a notification `'local'` declares "only the local
2293
+ * (reconciled/editable) view changed"; tagging it `'remote'` declares "only
2294
+ * the remote view changed". Each tag is delivered only to that channel's
2295
+ * subscribers. Omitting the channel reaches every subscriber regardless of
2296
+ * its channel. See {@link NotificationChannel}.
2297
+ *
2298
+ * | notify ↓ subscribe → | `'local'` | `'remote'` | omitted (= `'local'`) |
2299
+ * | -------------------- | --------- | ---------- | --------------------- |
2300
+ * | `'local'` | ✅ | ❌ | ✅ |
2301
+ * | `'remote'` | ❌ | ✅ | ❌ |
2302
+ * | omitted | ✅ | ✅ | ✅ |
2303
+ *
2174
2304
  * @private
2175
2305
  */
2176
- notify(cacheKey, value, key) {
2306
+ notify(cacheKey, value, key, channel) {
2177
2307
  if (this.isDestroyed) return false;
2178
2308
  macroCondition(getGlobalConfig().WarpDrive.env.DEBUG) && ((test) => {
2179
2309
  if (!test) throw new Error(`Notify does not accept a key argument for the namespace '${value}'. Received key '${keyToString(key)}'.`);
2180
2310
  })(!key || value === "attributes" || value === "relationships");
2311
+ macroCondition(getGlobalConfig().WarpDrive.env.DEBUG) && ((test) => {
2312
+ if (!test) throw new Error(`Notify does not accept a channel argument for the namespace '${value}'. Received channel '${channel || ""}'.`);
2313
+ })(!channel || value === "attributes" || value === "relationships");
2181
2314
  if (!isResourceKey(cacheKey) && !isRequestKey(cacheKey)) {
2182
2315
  if (macroCondition(getGlobalConfig().WarpDrive.activeLogging.LOG_NOTIFICATIONS)) {
2183
2316
  if (getGlobalConfig().WarpDrive.debug.LOG_NOTIFICATIONS || globalThis.getWarpDriveRuntimeConfig().debug.LOG_NOTIFICATIONS) console.log(`Notifying: Expected to receive a stable Identifier to notify '${value}' '${keyToString(key)}' with, but ${String(cacheKey)} is not in the cache`, cacheKey);
@@ -2191,7 +2324,7 @@ var NotificationManager = class {
2191
2324
  buffer = /* @__PURE__ */ new Map();
2192
2325
  this._buffered.set(cacheKey, buffer);
2193
2326
  }
2194
- mergeIntoBuffer(buffer, value, key);
2327
+ mergeIntoBuffer(buffer, value, key, channel);
2195
2328
  if (macroCondition(getGlobalConfig().WarpDrive.activeLogging.LOG_METRIC_COUNTS)) {
2196
2329
  if (getGlobalConfig().WarpDrive.debug.LOG_METRIC_COUNTS || globalThis.getWarpDriveRuntimeConfig().debug.LOG_METRIC_COUNTS) count(`notify ${"type" in cacheKey ? cacheKey.type : "<document>"} ${value} ${keyToString(key)}`);
2197
2330
  }
@@ -2232,8 +2365,9 @@ var NotificationManager = class {
2232
2365
  const buffered = this._buffered;
2233
2366
  if (buffered.size) {
2234
2367
  this._buffered = /* @__PURE__ */ new Map();
2235
- for (const [cacheKey, states] of buffered) for (const [value, keyOrKeys] of states) if (keyOrKeys === null) _flushNotification(this._cache, cacheKey, value, null);
2236
- else for (const key of keyOrKeys) _flushNotification(this._cache, cacheKey, value, key);
2368
+ for (const [cacheKey, states] of buffered) for (const [value, bucket] of states) if (bucket === null) _flushNotification(this._cache, cacheKey, value, null);
2369
+ else if (bucket instanceof Set) _flushNotification(this._cache, cacheKey, value, null, bucket);
2370
+ else for (const [key, channels] of bucket) _flushNotification(this._cache, cacheKey, value, key, channels);
2237
2371
  }
2238
2372
  this._hasFlush = false;
2239
2373
  this._onFlushCB?.();
@@ -2252,7 +2386,7 @@ var NotificationManager = class {
2252
2386
  *
2253
2387
  * @private
2254
2388
  */
2255
- function _flushNotification(cache, cacheKey, value, key) {
2389
+ function _flushNotification(cache, cacheKey, value, key, channels) {
2256
2390
  if (macroCondition(getGlobalConfig().WarpDrive.activeLogging.LOG_NOTIFICATIONS)) {
2257
2391
  if (getGlobalConfig().WarpDrive.debug.LOG_NOTIFICATIONS || globalThis.getWarpDriveRuntimeConfig().debug.LOG_NOTIFICATIONS) log("notify", "", `${"type" in cacheKey ? cacheKey.type : "document"}`, cacheKey.lid, `${value}`, key || "");
2258
2392
  }
@@ -2265,6 +2399,10 @@ function _flushNotification(cache, cacheKey, value, key) {
2265
2399
  const callbacks = cache.get(cacheKey);
2266
2400
  if (!callbacks || !callbacks.length) return false;
2267
2401
  callbacks.forEach((cb) => {
2402
+ if (channels) {
2403
+ const subscriberChannel = cb.channel;
2404
+ if (!shouldDeliverToChannel(channels, subscriberChannel)) return;
2405
+ }
2268
2406
  cb(cacheKey, value, key);
2269
2407
  });
2270
2408
  return true;
@@ -3181,7 +3319,7 @@ var RecordArrayManager = class {
3181
3319
  }
3182
3320
  getCollection(config) {
3183
3321
  if ("requestKey" in config && this._keyedArrays.has(config.requestKey.lid)) return this._keyedArrays.get(config.requestKey.lid);
3184
- let array = null;
3322
+ let array;
3185
3323
  if ("requestKey" in config) {
3186
3324
  const options = {
3187
3325
  store: this.store,
@@ -4118,7 +4256,7 @@ var Store = class extends BaseClass {
4118
4256
  this._join(() => {
4119
4257
  const normalizedModelName = normalizeModelName(type);
4120
4258
  const properties = { ...inputProperties };
4121
- let id = null;
4259
+ let id;
4122
4260
  if (properties.id === null || properties.id === void 0) {
4123
4261
  const adapter = this.adapterFor?.(normalizedModelName, true);
4124
4262
  if (adapter && adapter.generateIdForRecord) id = properties.id = coerceId(adapter.generateIdForRecord(this, normalizedModelName, properties));
@@ -6312,7 +6450,7 @@ var ManyArrayManager = class {
6312
6450
  if (rawValue.meta) array.meta = rawValue.meta;
6313
6451
  if (rawValue.links) array.links = rawValue.links;
6314
6452
  const currentState = array[Context].source;
6315
- if (currentState !== rawValue.data) {
6453
+ if (rawValue.data !== void 0 && currentState !== rawValue.data) {
6316
6454
  currentState.length = 0;
6317
6455
  fastPush(currentState, rawValue.data);
6318
6456
  }
@@ -6370,7 +6508,7 @@ function getHasManyField(context) {
6370
6508
  if (cached) return cached;
6371
6509
  const { editable, resourceKey } = context;
6372
6510
  const { cache } = store;
6373
- const rawValue = cache.getRelationship(resourceKey, getFieldCacheKeyStrict(field));
6511
+ const rawValue = editable ? cache.getRelationship(resourceKey, getFieldCacheKeyStrict(field)) : cache.getRemoteRelationship(resourceKey, getFieldCacheKeyStrict(field));
6374
6512
  if (!rawValue) return null;
6375
6513
  const managedArray = createLegacyManyArray({
6376
6514
  store,
@@ -7011,7 +7149,7 @@ var ReactiveResource = class ReactiveResource {
7011
7149
  }
7012
7150
  }
7013
7151
  }
7014
- });
7152
+ }, context.legacy || context.editable ? "local" : "remote");
7015
7153
  const proxy = new Proxy(this, {
7016
7154
  ownKeys() {
7017
7155
  const identityKey = identityField?.name;
@@ -8554,6 +8692,7 @@ const ERROR_STATUS_CODE_FOR = /* @__PURE__ */ new Map([
8554
8692
  * ```
8555
8693
  *
8556
8694
  * @public
8695
+ * @badge Handler
8557
8696
  */
8558
8697
  const Fetch = {
8559
8698
  /**
@@ -9085,4 +9224,4 @@ function useRecommendedStore(options, StoreKlass = Store) {
9085
9224
 
9086
9225
  //#endregion
9087
9226
  export { setIdentifierResetMethod as A, setRecordIdentifier as C, isResourceKey as D, isRequestKey as E, ensureStringId as F, log as I, logGroup as L, setKeyInfoForResource as M, normalizeModelName as N, setIdentifierForgetMethod as O, coerceId as P, recordIdentifierFor as S, assertPrivateCapabilities as T, isPrivateStore as _, fromIdentity as a, StoreMap as b, instantiateRecord as c, commit as d, createLegacyManyArray as f, assertPrivateStore as g, Store as h, SchemaService as i, setIdentifierUpdateMethod as j, setIdentifierGenerationMethod as k, teardownRecord as l, CacheHandler as m, RequestManager as n, registerDerivations as o, constructResource as p, Fetch as r, withDefaults as s, useRecommendedStore as t, checkout as u, RecordArrayManager as v, storeFor as w, _clearCaches as x, fastPush as y };
9088
- //# sourceMappingURL=src-Dex_phWI.js.map
9227
+ //# sourceMappingURL=src-s5HHjglV.js.map