@warp-drive-mirror/core 5.10.0-alpha.10 → 5.10.0-alpha.13

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 (278) hide show
  1. package/README.md +116 -6
  2. package/dist/{-private-CjK1Dmuh.js → -private-BpyvBYFj.js} +508 -144
  3. package/dist/-private-BpyvBYFj.js.map +1 -0
  4. package/dist/{unpkg/dev/-private-Dtj8O5W7.js → -private-CmNOwhK0.js} +3 -1
  5. package/dist/{-private-Dtj8O5W7.js.map → -private-CmNOwhK0.js.map} +1 -1
  6. package/dist/{aliases-BWYW5EhX.d.ts → aliases-BQmAxXmb.d.ts} +4 -1
  7. package/dist/aliases-BQmAxXmb.d.ts.map +1 -0
  8. package/dist/{change-C7kqv2kW.d.ts → change-DClXcHvr.d.ts} +4 -2
  9. package/dist/change-DClXcHvr.d.ts.map +1 -0
  10. package/dist/{concepts-DFldVwEM.d.ts → concepts-DzuY5M1K.d.ts} +14 -5
  11. package/dist/concepts-DzuY5M1K.d.ts.map +1 -0
  12. package/dist/{configure-B_F639tN.d.ts → configure-CjsojjiI.d.ts} +7 -1
  13. package/dist/configure-CjsojjiI.d.ts.map +1 -0
  14. package/dist/configure.d.ts +1 -1
  15. package/dist/configure.js +1 -1
  16. package/dist/{document-Ca4ZZBd9.d.ts → document-Ni8Ns26t.d.ts} +22 -4
  17. package/dist/document-Ni8Ns26t.d.ts.map +1 -0
  18. package/dist/{error-0uD6GkNX.d.ts → error-APuUdUGk.d.ts} +4 -2
  19. package/dist/error-APuUdUGk.d.ts.map +1 -0
  20. package/dist/{fields-FM7peCiM.d.ts → fields-D6173Q_a.d.ts} +134 -7
  21. package/dist/fields-D6173Q_a.d.ts.map +1 -0
  22. package/dist/graph/-private.d.ts +1 -1
  23. package/dist/graph/-private.js +2 -0
  24. package/dist/graph/-private.js.map +1 -1
  25. package/dist/{graph-DLqYXP2z.d.ts → graph-rjTyJ-gd.d.ts} +25 -5
  26. package/dist/graph-rjTyJ-gd.d.ts.map +1 -0
  27. package/dist/{identifier-DQnqOSJK.d.ts → identifier-B_tK3FUw.d.ts} +29 -4
  28. package/dist/identifier-B_tK3FUw.d.ts.map +1 -0
  29. package/dist/index.d.ts +1 -1
  30. package/dist/index.js +1 -1
  31. package/dist/{internal-9XuWZdDv.d.ts → internal-CgOlgOt3.d.ts} +497 -31
  32. package/dist/internal-CgOlgOt3.d.ts.map +1 -0
  33. package/dist/{json-api-raw-C5APJHHB.d.ts → json-api-raw-BxzNsCg0.d.ts} +44 -2
  34. package/dist/json-api-raw-BxzNsCg0.d.ts.map +1 -0
  35. package/dist/{mutations-CqtoGB4t.d.ts → mutations-C81gbYjB.d.ts} +18 -2
  36. package/dist/mutations-C81gbYjB.d.ts.map +1 -0
  37. package/dist/{operations-D1qA6r0_.d.ts → operations-B4pQM7D6.d.ts} +39 -5
  38. package/dist/operations-B4pQM7D6.d.ts.map +1 -0
  39. package/dist/{params-DrEx3bf8.d.ts → params-dbHiSOMF.d.ts} +11 -1
  40. package/dist/params-dbHiSOMF.d.ts.map +1 -0
  41. package/dist/{raw-D5hnjiq7.d.ts → raw-CiC64nCY.d.ts} +10 -1
  42. package/dist/raw-CiC64nCY.d.ts.map +1 -0
  43. package/dist/reactive/-private.d.ts +1 -1
  44. package/dist/reactive/-private.js +1 -1
  45. package/dist/reactive.d.ts +2 -2
  46. package/dist/reactive.js +3 -3
  47. package/dist/{record-D3QQcaIR.d.ts → record-DDxPtzcY.d.ts} +22 -2
  48. package/dist/record-DDxPtzcY.d.ts.map +1 -0
  49. package/dist/{relationship-CmHzMPKf.d.ts → relationship-BlGIXgj4.d.ts} +10 -3
  50. package/dist/relationship-BlGIXgj4.d.ts.map +1 -0
  51. package/dist/{request-Di274pQz.js → request-MiwUbGdT.js} +26 -1
  52. package/dist/request-MiwUbGdT.js.map +1 -0
  53. package/dist/request.d.ts +1 -1
  54. package/dist/request.js +1 -1
  55. package/dist/signals/-leaked.d.ts +86 -4
  56. package/dist/signals/-leaked.d.ts.map +1 -1
  57. package/dist/signals/-leaked.js +1 -1
  58. package/dist/{src-TlQlgL5V.js → src-DlNeupkA.js} +222 -20
  59. package/dist/src-DlNeupkA.js.map +1 -0
  60. package/dist/store/-private.d.ts +1 -1
  61. package/dist/store/-private.js +1 -1
  62. package/dist/{store-DNF9Rgoh.js → store-lcyaxrpj.js} +16 -1
  63. package/dist/store-lcyaxrpj.js.map +1 -0
  64. package/dist/store.d.ts +1 -1
  65. package/dist/store.js +1 -1
  66. package/dist/{symbols-DjRDCeX0.d.ts → symbols-Cu9un1NR.d.ts} +10 -1
  67. package/dist/symbols-Cu9un1NR.d.ts.map +1 -0
  68. package/dist/types/-private.js +1 -1
  69. package/dist/types/cache/aliases.d.ts +1 -1
  70. package/dist/types/cache/change.d.ts +1 -1
  71. package/dist/types/cache/mutations.d.ts +1 -1
  72. package/dist/types/cache/operations.d.ts +1 -1
  73. package/dist/types/cache/relationship.d.ts +1 -1
  74. package/dist/types/cache.d.ts +1 -1
  75. package/dist/types/graph.d.ts +1 -1
  76. package/dist/types/identifier.d.ts +1 -1
  77. package/dist/types/identifier.js +33 -3
  78. package/dist/types/identifier.js.map +1 -1
  79. package/dist/types/json/raw.d.ts +1 -1
  80. package/dist/types/params.d.ts +1 -1
  81. package/dist/types/record.d.ts +1 -1
  82. package/dist/types/record.js +25 -0
  83. package/dist/types/record.js.map +1 -1
  84. package/dist/types/request.d.ts +1 -1
  85. package/dist/types/request.js +80 -0
  86. package/dist/types/request.js.map +1 -1
  87. package/dist/types/runtime.d.ts.map +1 -1
  88. package/dist/types/schema/concepts.d.ts +1 -1
  89. package/dist/types/schema/fields.d.ts +1 -1
  90. package/dist/types/schema/fields.js +132 -3
  91. package/dist/types/schema/fields.js.map +1 -1
  92. package/dist/types/schema/schema-service.d.ts +1 -1
  93. package/dist/types/spec/document.d.ts +1 -1
  94. package/dist/types/spec/error.d.ts +1 -1
  95. package/dist/types/spec/json-api-raw.d.ts +1 -1
  96. package/dist/types/symbols.d.ts +1 -1
  97. package/dist/types/symbols.js +14 -0
  98. package/dist/types/symbols.js.map +1 -1
  99. package/dist/types/utils.d.ts +1 -1
  100. package/dist/types.d.ts +2 -2
  101. package/dist/unpkg/{dev-deprecated/-private-DrQgwtNS.js → dev/-private-BH4O810v.js} +508 -144
  102. package/dist/unpkg/dev/-private-BH4O810v.js.map +1 -0
  103. package/dist/{-private-Dtj8O5W7.js → unpkg/dev/-private-CmNOwhK0.js} +3 -1
  104. package/dist/unpkg/dev/{-private-Dtj8O5W7.js.map → -private-CmNOwhK0.js.map} +1 -1
  105. package/dist/unpkg/dev/configure.js +1 -1
  106. package/dist/unpkg/dev/graph/-private.js +2 -0
  107. package/dist/unpkg/dev/graph/-private.js.map +1 -1
  108. package/dist/unpkg/dev/index.js +1 -1
  109. package/dist/unpkg/dev/reactive/-private.js +1 -1
  110. package/dist/unpkg/dev/reactive.js +3 -3
  111. package/dist/unpkg/{dev-deprecated/request-nAaeDlS9.js → dev/request-Fe-vpe-u.js} +26 -1
  112. package/dist/unpkg/dev/request-Fe-vpe-u.js.map +1 -0
  113. package/dist/unpkg/dev/request.js +1 -1
  114. package/dist/unpkg/dev/signals/-leaked.js +1 -1
  115. package/dist/unpkg/dev/{src-D8uKAIUN.js → src-FSk0Z_Lp.js} +213 -13
  116. package/dist/unpkg/dev/src-FSk0Z_Lp.js.map +1 -0
  117. package/dist/unpkg/dev/store/-private.js +1 -1
  118. package/dist/unpkg/dev/{store-BIFNM_fB.js → store-BUV8Pfi7.js} +16 -1
  119. package/dist/unpkg/dev/store-BUV8Pfi7.js.map +1 -0
  120. package/dist/unpkg/dev/store.js +1 -1
  121. package/dist/unpkg/dev/types/-private.js +1 -1
  122. package/dist/unpkg/dev/types/identifier.js +33 -3
  123. package/dist/unpkg/dev/types/identifier.js.map +1 -1
  124. package/dist/unpkg/dev/types/record.js +25 -0
  125. package/dist/unpkg/dev/types/record.js.map +1 -1
  126. package/dist/unpkg/dev/types/request.js +80 -0
  127. package/dist/unpkg/dev/types/request.js.map +1 -1
  128. package/dist/unpkg/dev/types/schema/fields.js +132 -3
  129. package/dist/unpkg/dev/types/schema/fields.js.map +1 -1
  130. package/dist/unpkg/dev/types/symbols.js +14 -0
  131. package/dist/unpkg/dev/types/symbols.js.map +1 -1
  132. package/dist/unpkg/{dev/-private-DrQgwtNS.js → dev-deprecated/-private-BH4O810v.js} +508 -144
  133. package/dist/unpkg/dev-deprecated/-private-BH4O810v.js.map +1 -0
  134. package/dist/unpkg/{prod-deprecated/-private-Dtj8O5W7.js → dev-deprecated/-private-CmNOwhK0.js} +3 -1
  135. package/dist/unpkg/dev-deprecated/{-private-Dtj8O5W7.js.map → -private-CmNOwhK0.js.map} +1 -1
  136. package/dist/unpkg/dev-deprecated/configure.js +1 -1
  137. package/dist/unpkg/dev-deprecated/graph/-private.js +2 -0
  138. package/dist/unpkg/dev-deprecated/graph/-private.js.map +1 -1
  139. package/dist/unpkg/dev-deprecated/index.js +1 -1
  140. package/dist/unpkg/dev-deprecated/reactive/-private.js +1 -1
  141. package/dist/unpkg/dev-deprecated/reactive.js +3 -3
  142. package/dist/unpkg/{dev/request-nAaeDlS9.js → dev-deprecated/request-Fe-vpe-u.js} +26 -1
  143. package/dist/unpkg/dev-deprecated/request-Fe-vpe-u.js.map +1 -0
  144. package/dist/unpkg/dev-deprecated/request.js +1 -1
  145. package/dist/unpkg/dev-deprecated/signals/-leaked.js +1 -1
  146. package/dist/unpkg/dev-deprecated/{src-BlewXGbB.js → src-Isk_Je7q.js} +215 -13
  147. package/dist/unpkg/dev-deprecated/src-Isk_Je7q.js.map +1 -0
  148. package/dist/unpkg/dev-deprecated/store/-private.js +1 -1
  149. package/dist/unpkg/dev-deprecated/{store-X1WN7P_O.js → store-CCZBSe0p.js} +16 -1
  150. package/dist/unpkg/dev-deprecated/store-CCZBSe0p.js.map +1 -0
  151. package/dist/unpkg/dev-deprecated/store.js +1 -1
  152. package/dist/unpkg/dev-deprecated/types/-private.js +1 -1
  153. package/dist/unpkg/dev-deprecated/types/identifier.js +33 -3
  154. package/dist/unpkg/dev-deprecated/types/identifier.js.map +1 -1
  155. package/dist/unpkg/dev-deprecated/types/record.js +25 -0
  156. package/dist/unpkg/dev-deprecated/types/record.js.map +1 -1
  157. package/dist/unpkg/dev-deprecated/types/request.js +80 -0
  158. package/dist/unpkg/dev-deprecated/types/request.js.map +1 -1
  159. package/dist/unpkg/dev-deprecated/types/schema/fields.js +132 -3
  160. package/dist/unpkg/dev-deprecated/types/schema/fields.js.map +1 -1
  161. package/dist/unpkg/dev-deprecated/types/symbols.js +14 -0
  162. package/dist/unpkg/dev-deprecated/types/symbols.js.map +1 -1
  163. package/dist/unpkg/prod/-private-CmNOwhK0.js +24 -0
  164. package/dist/unpkg/prod/{-private-Dtj8O5W7.js.map → -private-CmNOwhK0.js.map} +1 -1
  165. package/dist/unpkg/prod/{-private-Dg1vsF-H.js → -private-DKVDMUfT.js} +481 -138
  166. package/dist/unpkg/prod/-private-DKVDMUfT.js.map +1 -0
  167. package/dist/unpkg/prod/configure.js +1 -1
  168. package/dist/unpkg/prod/graph/-private.js +2 -0
  169. package/dist/unpkg/prod/graph/-private.js.map +1 -1
  170. package/dist/unpkg/prod/index.js +1 -1
  171. package/dist/unpkg/prod/reactive/-private.js +1 -1
  172. package/dist/unpkg/prod/reactive.js +3 -3
  173. package/dist/unpkg/prod/{request-DK7nNaAf.js → request-ndw2Fy91.js} +26 -1
  174. package/dist/unpkg/prod/request-ndw2Fy91.js.map +1 -0
  175. package/dist/unpkg/prod/request.js +1 -1
  176. package/dist/unpkg/prod/signals/-leaked.js +1 -1
  177. package/dist/unpkg/prod/{src-DGB6WvXW.js → src-CoSpuocQ.js} +213 -13
  178. package/dist/unpkg/prod/src-CoSpuocQ.js.map +1 -0
  179. package/dist/unpkg/prod/store/-private.js +1 -1
  180. package/dist/unpkg/{prod-deprecated/store-BWhmb7Ob.js → prod/store-CQOsqdST.js} +16 -1
  181. package/dist/unpkg/prod/store-CQOsqdST.js.map +1 -0
  182. package/dist/unpkg/prod/store.js +1 -1
  183. package/dist/unpkg/prod/types/-private.js +1 -1
  184. package/dist/unpkg/prod/types/identifier.js +33 -3
  185. package/dist/unpkg/prod/types/identifier.js.map +1 -1
  186. package/dist/unpkg/prod/types/record.js +25 -0
  187. package/dist/unpkg/prod/types/record.js.map +1 -1
  188. package/dist/unpkg/prod/types/request.js +80 -0
  189. package/dist/unpkg/prod/types/request.js.map +1 -1
  190. package/dist/unpkg/prod/types/schema/fields.js +132 -3
  191. package/dist/unpkg/prod/types/schema/fields.js.map +1 -1
  192. package/dist/unpkg/prod/types/symbols.js +14 -0
  193. package/dist/unpkg/prod/types/symbols.js.map +1 -1
  194. package/dist/unpkg/{dev-deprecated/-private-Dtj8O5W7.js → prod-deprecated/-private-CmNOwhK0.js} +3 -1
  195. package/dist/unpkg/prod-deprecated/{-private-Dtj8O5W7.js.map → -private-CmNOwhK0.js.map} +1 -1
  196. package/dist/unpkg/prod-deprecated/{-private-Dg1vsF-H.js → -private-DKVDMUfT.js} +481 -138
  197. package/dist/unpkg/prod-deprecated/-private-DKVDMUfT.js.map +1 -0
  198. package/dist/unpkg/prod-deprecated/configure.js +1 -1
  199. package/dist/unpkg/prod-deprecated/graph/-private.js +2 -0
  200. package/dist/unpkg/prod-deprecated/graph/-private.js.map +1 -1
  201. package/dist/unpkg/prod-deprecated/index.js +1 -1
  202. package/dist/unpkg/prod-deprecated/reactive/-private.js +1 -1
  203. package/dist/unpkg/prod-deprecated/reactive.js +3 -3
  204. package/dist/unpkg/prod-deprecated/{request-DK7nNaAf.js → request-ndw2Fy91.js} +26 -1
  205. package/dist/unpkg/prod-deprecated/request-ndw2Fy91.js.map +1 -0
  206. package/dist/unpkg/prod-deprecated/request.js +1 -1
  207. package/dist/unpkg/prod-deprecated/signals/-leaked.js +1 -1
  208. package/dist/unpkg/prod-deprecated/{src-B9AnmJPz.js → src-FK_rMde5.js} +215 -13
  209. package/dist/unpkg/prod-deprecated/src-FK_rMde5.js.map +1 -0
  210. package/dist/unpkg/prod-deprecated/store/-private.js +1 -1
  211. package/dist/unpkg/{prod/store-BWhmb7Ob.js → prod-deprecated/store-CQOsqdST.js} +16 -1
  212. package/dist/unpkg/prod-deprecated/store-CQOsqdST.js.map +1 -0
  213. package/dist/unpkg/prod-deprecated/store.js +1 -1
  214. package/dist/unpkg/prod-deprecated/types/-private.js +1 -1
  215. package/dist/unpkg/prod-deprecated/types/identifier.js +33 -3
  216. package/dist/unpkg/prod-deprecated/types/identifier.js.map +1 -1
  217. package/dist/unpkg/prod-deprecated/types/record.js +25 -0
  218. package/dist/unpkg/prod-deprecated/types/record.js.map +1 -1
  219. package/dist/unpkg/prod-deprecated/types/request.js +80 -0
  220. package/dist/unpkg/prod-deprecated/types/request.js.map +1 -1
  221. package/dist/unpkg/prod-deprecated/types/schema/fields.js +132 -3
  222. package/dist/unpkg/prod-deprecated/types/schema/fields.js.map +1 -1
  223. package/dist/unpkg/prod-deprecated/types/symbols.js +14 -0
  224. package/dist/unpkg/prod-deprecated/types/symbols.js.map +1 -1
  225. package/dist/{utils-BtURiy8l.d.ts → utils-CNmQoKm8.d.ts} +8 -1
  226. package/dist/utils-CNmQoKm8.d.ts.map +1 -0
  227. package/package.json +5 -5
  228. package/dist/-private-CjK1Dmuh.js.map +0 -1
  229. package/dist/aliases-BWYW5EhX.d.ts.map +0 -1
  230. package/dist/change-C7kqv2kW.d.ts.map +0 -1
  231. package/dist/concepts-DFldVwEM.d.ts.map +0 -1
  232. package/dist/configure-B_F639tN.d.ts.map +0 -1
  233. package/dist/document-Ca4ZZBd9.d.ts.map +0 -1
  234. package/dist/error-0uD6GkNX.d.ts.map +0 -1
  235. package/dist/fields-FM7peCiM.d.ts.map +0 -1
  236. package/dist/graph-DLqYXP2z.d.ts.map +0 -1
  237. package/dist/identifier-DQnqOSJK.d.ts.map +0 -1
  238. package/dist/internal-9XuWZdDv.d.ts.map +0 -1
  239. package/dist/json-api-raw-C5APJHHB.d.ts.map +0 -1
  240. package/dist/mutations-CqtoGB4t.d.ts.map +0 -1
  241. package/dist/operations-D1qA6r0_.d.ts.map +0 -1
  242. package/dist/params-DrEx3bf8.d.ts.map +0 -1
  243. package/dist/raw-D5hnjiq7.d.ts.map +0 -1
  244. package/dist/record-D3QQcaIR.d.ts.map +0 -1
  245. package/dist/relationship-CmHzMPKf.d.ts.map +0 -1
  246. package/dist/request-Di274pQz.js.map +0 -1
  247. package/dist/src-TlQlgL5V.js.map +0 -1
  248. package/dist/store-DNF9Rgoh.js.map +0 -1
  249. package/dist/symbols-DjRDCeX0.d.ts.map +0 -1
  250. package/dist/types/schema/fields.type-test.d.ts +0 -1
  251. package/dist/types/schema/fields.type-test.js +0 -79
  252. package/dist/types/schema/fields.type-test.js.map +0 -1
  253. package/dist/unpkg/dev/-private-DrQgwtNS.js.map +0 -1
  254. package/dist/unpkg/dev/request-nAaeDlS9.js.map +0 -1
  255. package/dist/unpkg/dev/src-D8uKAIUN.js.map +0 -1
  256. package/dist/unpkg/dev/store-BIFNM_fB.js.map +0 -1
  257. package/dist/unpkg/dev/types/schema/fields.type-test.js +0 -79
  258. package/dist/unpkg/dev/types/schema/fields.type-test.js.map +0 -1
  259. package/dist/unpkg/dev-deprecated/-private-DrQgwtNS.js.map +0 -1
  260. package/dist/unpkg/dev-deprecated/request-nAaeDlS9.js.map +0 -1
  261. package/dist/unpkg/dev-deprecated/src-BlewXGbB.js.map +0 -1
  262. package/dist/unpkg/dev-deprecated/store-X1WN7P_O.js.map +0 -1
  263. package/dist/unpkg/dev-deprecated/types/schema/fields.type-test.js +0 -79
  264. package/dist/unpkg/dev-deprecated/types/schema/fields.type-test.js.map +0 -1
  265. package/dist/unpkg/prod/-private-Dg1vsF-H.js.map +0 -1
  266. package/dist/unpkg/prod/-private-Dtj8O5W7.js +0 -22
  267. package/dist/unpkg/prod/request-DK7nNaAf.js.map +0 -1
  268. package/dist/unpkg/prod/src-DGB6WvXW.js.map +0 -1
  269. package/dist/unpkg/prod/store-BWhmb7Ob.js.map +0 -1
  270. package/dist/unpkg/prod/types/schema/fields.type-test.js +0 -79
  271. package/dist/unpkg/prod/types/schema/fields.type-test.js.map +0 -1
  272. package/dist/unpkg/prod-deprecated/-private-Dg1vsF-H.js.map +0 -1
  273. package/dist/unpkg/prod-deprecated/request-DK7nNaAf.js.map +0 -1
  274. package/dist/unpkg/prod-deprecated/src-B9AnmJPz.js.map +0 -1
  275. package/dist/unpkg/prod-deprecated/store-BWhmb7Ob.js.map +0 -1
  276. package/dist/unpkg/prod-deprecated/types/schema/fields.type-test.js +0 -79
  277. package/dist/unpkg/prod-deprecated/types/schema/fields.type-test.js.map +0 -1
  278. package/dist/utils-BtURiy8l.d.ts.map +0 -1
@@ -1,21 +1,21 @@
1
- import { c as RequestKey, l as ResourceKey, n as CacheKeyType, s as PersistedResourceKey } from "./identifier-DQnqOSJK.js";
2
- import { t as QueryParamsSerializationOptions } from "./params-DrEx3bf8.js";
3
- import { a as Type, n as RequestSignature } from "./symbols-DjRDCeX0.js";
4
- import { c as TypedRecordInstance, i as OpaqueRecordInstance$1, o as TypeFromInstance, s as TypeFromInstanceOrString } from "./record-D3QQcaIR.js";
5
- import { i as Value, n as ObjectValue } from "./raw-D5hnjiq7.js";
6
- import { a as ExistingResourceObject, d as Meta, g as ResourceIdentifierObject, i as ExistingResourceIdentifierObject, m as PaginationLinks, r as EmptyResourceDocument, s as JsonApiDocument, t as CollectionResourceDocument, u as Links, y as SingleResourceDocument } from "./json-api-raw-C5APJHHB.js";
7
- import { A as ResourceField, C as ObjectField, F as Trait, M as Schema, N as SchemaArrayField, O as PolarisResourceSchema, P as SchemaObjectField, T as ObjectSchema, a as DerivedField, b as LinksModeHasManyField, c as HashField, d as LegacyAttributeField, f as LegacyBelongsToField, g as LegacyRelationshipField, i as CollectionField, j as ResourceSchema, l as IdentityField, m as LegacyHasManyField, o as FieldSchema, r as CacheableFieldSchema, s as GenericField, t as ArrayField } from "./fields-FM7peCiM.js";
8
- import { n as HashFn, r as Transformation$1, t as Derivation } from "./concepts-DFldVwEM.js";
9
- import { n as WithPartial } from "./utils-BtURiy8l.js";
10
- import { t as ResourceBlob } from "./aliases-BWYW5EhX.js";
11
- import { t as Change } from "./change-C7kqv2kW.js";
12
- import { n as Mutation } from "./mutations-CqtoGB4t.js";
13
- import { r as ResourceRelationship, t as CollectionRelationship } from "./relationship-CmHzMPKf.js";
14
- import { i as MergeOperation, o as Operation$1 } from "./operations-D1qA6r0_.js";
15
- import { t as ApiError } from "./error-0uD6GkNX.js";
16
- import { o as SingleResourceDataDocument, r as ResourceDocument, t as CollectionResourceDataDocument } from "./document-Ca4ZZBd9.js";
17
- import { i as RemoteRelationshipOperation, n as LocalRelationshipOperation, t as DeleteRecordOperation } from "./graph-DLqYXP2z.js";
18
- import { i as SignalRef, t as ARRAY_SIGNAL } from "./configure-B_F639tN.js";
1
+ import { c as RequestKey, l as ResourceKey, n as CacheKeyType, s as PersistedResourceKey } from "./identifier-B_tK3FUw.js";
2
+ import { t as QueryParamsSerializationOptions } from "./params-dbHiSOMF.js";
3
+ import { a as Type, n as RequestSignature } from "./symbols-Cu9un1NR.js";
4
+ import { c as TypedRecordInstance, i as OpaqueRecordInstance$1, o as TypeFromInstance, s as TypeFromInstanceOrString } from "./record-DDxPtzcY.js";
5
+ import { i as Value, n as ObjectValue } from "./raw-CiC64nCY.js";
6
+ import { a as ExistingResourceObject, d as Meta, g as ResourceIdentifierObject, i as ExistingResourceIdentifierObject, m as PaginationLinks, r as EmptyResourceDocument, s as JsonApiDocument, t as CollectionResourceDocument, u as Links, y as SingleResourceDocument } from "./json-api-raw-BxzNsCg0.js";
7
+ import { A as ResourceField, C as ObjectField, F as Trait, M as Schema, N as SchemaArrayField, O as PolarisResourceSchema, P as SchemaObjectField, T as ObjectSchema, a as DerivedField, b as LinksModeHasManyField, c as HashField, d as LegacyAttributeField, f as LegacyBelongsToField, g as LegacyRelationshipField, i as CollectionField, j as ResourceSchema, l as IdentityField, m as LegacyHasManyField, o as FieldSchema, r as CacheableFieldSchema, s as GenericField, t as ArrayField } from "./fields-D6173Q_a.js";
8
+ import { n as HashFn, r as Transformation$1, t as Derivation } from "./concepts-DzuY5M1K.js";
9
+ import { n as WithPartial } from "./utils-CNmQoKm8.js";
10
+ import { t as ResourceBlob } from "./aliases-BQmAxXmb.js";
11
+ import { t as Change } from "./change-DClXcHvr.js";
12
+ import { n as Mutation } from "./mutations-C81gbYjB.js";
13
+ import { r as ResourceRelationship, t as CollectionRelationship } from "./relationship-BlGIXgj4.js";
14
+ import { i as MergeOperation, o as Operation$1 } from "./operations-B4pQM7D6.js";
15
+ import { t as ApiError } from "./error-APuUdUGk.js";
16
+ import { o as SingleResourceDataDocument, r as ResourceDocument, t as CollectionResourceDataDocument } from "./document-Ni8Ns26t.js";
17
+ import { i as RemoteRelationshipOperation, n as LocalRelationshipOperation, t as DeleteRecordOperation } from "./graph-rjTyJ-gd.js";
18
+ import { i as SignalRef, t as ARRAY_SIGNAL } from "./configure-CjsojjiI.js";
19
19
  //#region src/request/-private/manager.d.ts
20
20
  /**
21
21
  * ## Import
@@ -24,7 +24,8 @@ import { i as SignalRef, t as ARRAY_SIGNAL } from "./configure-B_F639tN.js";
24
24
  * import { RequestManager } from '@warp-drive-mirror/core';
25
25
  * ```
26
26
  *
27
- * For complete usage guide see the [RequestManager Documentation](/guides/).
27
+ * For a complete usage guide see [Making Requests](/guides/the-manual/requests/), and
28
+ * [Handlers](/guides/the-manual/requests/handlers) for writing the handlers it runs.
28
29
  *
29
30
  * ## How It Works
30
31
  *
@@ -47,11 +48,28 @@ import { i as SignalRef, t as ARRAY_SIGNAL } from "./configure-B_F639tN.js";
47
48
  * ```ts [Setup.ts]
48
49
  * import { RequestManager, Fetch } from '@warp-drive-mirror/core';
49
50
  * import { AutoCompress } from '@warp-drive-mirror/utilities/handlers';
50
- * import Auth from 'ember-simple-auth/handler';
51
+ * import { AuthHandler } from './auth-handler';
51
52
  *
52
53
  * // ... create manager
53
54
  * const manager = new RequestManager()
54
- * .use([Auth, new AutoCompress(), Fetch]); // [!code focus]
55
+ * .use([AuthHandler, new AutoCompress(), Fetch]); // [!code focus]
56
+ * ```
57
+ *
58
+ * ```ts [auth-handler.ts]
59
+ * import type { Handler, NextFn } from '@warp-drive-mirror/core/request';
60
+ * import type { RequestContext } from '@warp-drive-mirror/core/types/request';
61
+ *
62
+ * const token = '<token>';
63
+ *
64
+ * // adds a bearer token to every request, then passes it along
65
+ * export const AuthHandler: Handler = {
66
+ * request<T>(context: RequestContext, next: NextFn<T>) {
67
+ * const headers = new Headers(context.request.headers);
68
+ * headers.append('Authorization', `Bearer ${token}`);
69
+ *
70
+ * return next(Object.assign({}, context.request, { headers }));
71
+ * },
72
+ * };
55
73
  * ```
56
74
  *
57
75
  * ```ts [Usage.ts]
@@ -67,6 +85,20 @@ import { i as SignalRef, t as ARRAY_SIGNAL } from "./configure-B_F639tN.js";
67
85
  *
68
86
  * :::
69
87
  *
88
+ * ### RequestManager vs {@link Store.request}
89
+ *
90
+ * A bare `RequestManager` is the low-level primitive: it runs a request through the configured
91
+ * {@link Handler | handler chain} and settles with the raw {@link StructuredDocument}. It has no
92
+ * cache and does not hydrate {@link ReactiveDocument | ReactiveDocuments} unless you register a
93
+ * cache handler yourself via {@link RequestManager.useCache} and the request opts in.
94
+ *
95
+ * {@link Store.request} issues requests through this same `RequestManager`, but with the Store's
96
+ * cache handler and hydration already wired up — inserting the response into the Store's cache
97
+ * and resolving with a `ReactiveDocument` instead. Use `store.request` for anything the Store's
98
+ * cache should own, which is nearly all app code. Reach for `requestManager.request` directly
99
+ * only when there is no {@link Store} involved, or you specifically want the unprocessed
100
+ * `StructuredDocument`.
101
+ *
70
102
  * ### Futures
71
103
  *
72
104
  * The return value of `manager.request` is a `Future`, which allows
@@ -105,6 +137,7 @@ import { i as SignalRef, t as ARRAY_SIGNAL } from "./configure-B_F639tN.js";
105
137
  * type StructuredDocument<T> = StructuredDataDocument<T> | StructuredErrorDocument;
106
138
  * ```
107
139
  *
140
+ * @summary Runs each request through a chain of handlers that can fulfill, modify, or pass it along, and returns a `Future` for the response.
108
141
  * @public
109
142
  */
110
143
  declare class RequestManager {
@@ -134,7 +167,23 @@ declare class RequestManager {
134
167
  /**
135
168
  * Issue a Request.
136
169
  *
137
- * Returns a Future that fulfills with a StructuredDocument
170
+ * Runs `request` through the configured {@link Handler | handler chain} and settles with the
171
+ * {@link StructuredDocument} the chain produces — a plain `{ request, response, content }`
172
+ * object, not a {@link ReactiveDocument}. Caching and hydration only happen if a cache handler
173
+ * has been registered via {@link RequestManager.useCache} and the request opts in; a
174
+ * `RequestManager` created on its own has neither.
175
+ *
176
+ * Most app code should use {@link Store.request} instead, which calls this same method with
177
+ * the Store's cache handler and hydration already configured. Reach for `requestManager.request`
178
+ * directly when there is no {@link Store} involved, or when you want the unprocessed
179
+ * `StructuredDocument`. The `<RT>` generic can be set explicitly or inferred from a request
180
+ * built with {@link withResponseType} or {@link withReactiveResponse} — see
181
+ * [Typing Requests](/guides/the-manual/requests/typing-requests.md).
182
+ *
183
+ * @example
184
+ * ```ts
185
+ * const { content } = await requestManager.request({ url: '/users' });
186
+ * ```
138
187
  *
139
188
  * @public
140
189
  */
@@ -187,6 +236,8 @@ interface GodContext {
187
236
  * allowing the promise to be created before the work that will settle it
188
237
  * has begun. See {@link createDeferred}.
189
238
  *
239
+ * @summary A promise bundled with the `resolve` and `reject` callbacks that settle it, as returned by
240
+ * `createDeferred`.
190
241
  * @public
191
242
  */
192
243
  type Deferred<T> = {
@@ -203,6 +254,8 @@ type Deferred<T> = {
203
254
  * background reload that other requests may dedupe against without
204
255
  * waiting on it.
205
256
  *
257
+ * @summary Marks whether a deduped managed request blocks its caller's promise or runs as a
258
+ * non-blocking background reload.
206
259
  * @public
207
260
  */
208
261
  type ManagedRequestPriority = {
@@ -221,6 +274,11 @@ type DeferredStream = {
221
274
  * while providing the ability to {@link Future.abort | abort} the underlying request, and
222
275
  * {@link Future.getStream | access the response stream} before the outer promise resolves;
223
276
  *
277
+ * The [Using The Response](/guides/the-manual/requests/using-the-response) guide shows
278
+ * how to work with one.
279
+ *
280
+ * @summary The promise returned for every request, resolving with the response document and able to
281
+ * abort the request or expose its response stream early.
224
282
  * @public
225
283
  */
226
284
  interface Future<T> extends Promise<StructuredDataDocument<T>> {
@@ -278,6 +336,10 @@ interface Future<T> extends Promise<StructuredDataDocument<T>> {
278
336
  * used to forward a request to the next handler in the chain. Resolves to a
279
337
  * {@link Future} carrying the downstream response.
280
338
  *
339
+ * The [Handlers](/guides/the-manual/requests/handlers) guide shows a handler calling it.
340
+ *
341
+ * @summary The function a request handler calls to pass a request to the next handler in the chain,
342
+ * returning a `Future` for its response.
281
343
  * @public
282
344
  */
283
345
  type NextFn<P = unknown> = (req: RequestInfo) => Future<P>;
@@ -286,6 +348,8 @@ type NextFn<P = unknown> = (req: RequestInfo) => Future<P>;
286
348
  as well as a `next` function with which to pass along a request to the next
287
349
  handler if it so chooses.
288
350
 
351
+ The [Handlers](/guides/the-manual/requests/handlers) guide walks through writing one.
352
+
289
353
  A handler may be any object with a `request` method. This allows both stateful and non-stateful
290
354
  handlers to be utilized.
291
355
 
@@ -388,6 +452,8 @@ const manager = new RequestManager()
388
452
 
389
453
  Handlers will be invoked in the order they are registered ("fifo", first-in first-out), and may only be registered up until the first request is made. It is recommended but not required to register all handlers at one time in order to ensure explicitly visible handler ordering.
390
454
 
455
+ @summary An object with a `request` method that a RequestManager calls to fulfill a request, either
456
+ itself or by calling `next` to pass it along.
391
457
  @public
392
458
  */
393
459
  interface Handler {
@@ -408,6 +474,8 @@ interface Handler {
408
474
  * A RequestManager may only have one CacheHandler, registered via
409
475
  * `manager.useCache(CacheHandler)`.
410
476
  *
477
+ * @summary The single handler a RequestManager runs before all others via `useCache`, which may return
478
+ * a result synchronously.
411
479
  * @public
412
480
  */
413
481
  interface CacheHandler$1 {
@@ -452,6 +520,8 @@ declare class ContextOwner {
452
520
  * {@link StructuredDataDocument} that will ultimately be returned by the
453
521
  * {@link RequestManager}.
454
522
  *
523
+ * @summary The per-request object passed to each handler, exposing the immutable request plus methods to
524
+ * set the response, stream, and request key.
455
525
  * @public
456
526
  */
457
527
  declare class Context$1 {
@@ -517,6 +587,9 @@ declare const IS_CACHE_HANDLER: "___(unique) Symbol(IS_CACHE_HANDLER)";
517
587
  * Else it extends from {@link AggregateError} if the
518
588
  * response includes an array of errors, falling back
519
589
  * to {@link Error} as its base.
590
+ *
591
+ * @summary The shape of errors thrown by the Fetch handler for failed, aborted, or network-errored
592
+ * requests, carrying the HTTP `status` and `statusText`.
520
593
  */
521
594
  interface FetchError extends DOMException {
522
595
  /**
@@ -562,12 +635,18 @@ interface FetchError extends DOMException {
562
635
  * A {@link RequestInfo.cacheOptions | cacheOptions} flag which, when set,
563
636
  * signals that a request should never be handled by the cache-manager and
564
637
  * thus will never resolve from cache nor update the cache.
638
+ *
639
+ * @summary Symbol key for a request's `cacheOptions` that, when true, makes the request bypass the CacheHandler so it
640
+ * neither resolves from nor updates the cache.
565
641
  */
566
642
  declare const SkipCache: "___(unique) Symbol(SkipCache)";
567
643
  /**
568
644
  * A {@link RequestInfo} flag which, when set, signals to the store's
569
645
  * `instantiateRecord` hook that the resolved content should be hydrated
570
646
  * into reactive records rather than returned as raw data.
647
+ *
648
+ * @summary Symbol flag on a request that makes the CacheHandler return reactive records instead of raw cache
649
+ * documents; `store.request` sets it automatically.
571
650
  */
572
651
  declare const EnableHydration: "___(unique) Symbol(EnableHydration)";
573
652
  /**
@@ -580,12 +659,16 @@ declare const IS_FUTURE: "___(unique) Symbol(IS_FUTURE)";
580
659
  declare const STRUCTURED: "___(unique) Symbol(DOC)";
581
660
  /**
582
661
  * The HTTP methods WarpDrive's request layer supports.
662
+ *
663
+ * @summary Union of the HTTP method strings, including `QUERY`, that a WarpDrive request's `method` may be set to.
583
664
  */
584
665
  type HTTPMethod = "QUERY" | "GET" | "OPTIONS" | "POST" | "PUT" | "PATCH" | "DELETE" | "HEAD" | "CONNECT" | "TRACE";
585
666
  /**
586
667
  * Use these options to adjust {@link CacheHandler} behavior for a request
587
668
  * via {@link RequestInfo.cacheOptions}.
588
669
  *
670
+ * @summary Per-request settings on `cacheOptions` that control the cache key, forced or background reloads,
671
+ * invalidation by resource type, and cache bypass.
589
672
  */
590
673
  interface CacheOptions {
591
674
  /**
@@ -635,6 +718,9 @@ interface CacheOptions {
635
718
  /**
636
719
  * The request shape produced by the `findRecord` request builders, for
637
720
  * use with {@link Store.request}.
721
+ *
722
+ * @summary Shape of the `GET` request object that `findRecord` builders return for `store.request`, carrying the url,
723
+ * headers, and requested resource identifier.
638
724
  */
639
725
  type FindRecordRequestOptions<RT = unknown, T = unknown> = {
640
726
  /**
@@ -669,6 +755,9 @@ type FindRecordRequestOptions<RT = unknown, T = unknown> = {
669
755
  /**
670
756
  * The request shape produced by the `query` request builders, for
671
757
  * use with {@link Store.request}.
758
+ *
759
+ * @summary Shape of the `GET` request object that `query` builders return for `store.request`, carrying the url,
760
+ * headers, and cache options.
672
761
  */
673
762
  type QueryRequestOptions<RT = unknown> = {
674
763
  /**
@@ -699,6 +788,9 @@ type QueryRequestOptions<RT = unknown> = {
699
788
  /**
700
789
  * The request shape produced by the `postQuery` request builders, for
701
790
  * use with {@link Store.request}.
791
+ *
792
+ * @summary Shape of the `POST` or `QUERY` request object that `postQuery` builders return, with a body and a required
793
+ * cache key since the url cannot serve as one.
702
794
  */
703
795
  type PostQueryRequestOptions<RT = unknown> = {
704
796
  /**
@@ -739,6 +831,9 @@ type PostQueryRequestOptions<RT = unknown> = {
739
831
  /**
740
832
  * The request shape produced by the `deleteRecord` request builders, for
741
833
  * use with {@link Store.request}.
834
+ *
835
+ * @summary Shape of the `DELETE` request object that `deleteRecord` builders return for `store.request`, identifying
836
+ * the resource being deleted.
742
837
  */
743
838
  type DeleteRequestOptions<RT = unknown, T = unknown> = {
744
839
  /**
@@ -786,6 +881,9 @@ type ImmutableRequest<T> = Readonly<T> & {
786
881
  /**
787
882
  * The request shape produced by the `updateRecord` request builders, for
788
883
  * use with {@link Store.request}.
884
+ *
885
+ * @summary Shape of the `PATCH` or `PUT` request object that `updateRecord` builders return for `store.request`,
886
+ * identifying the resource being saved.
789
887
  */
790
888
  type UpdateRequestOptions<RT = unknown, T = unknown> = {
791
889
  /**
@@ -829,6 +927,9 @@ type UpdateRequestOptions<RT = unknown, T = unknown> = {
829
927
  /**
830
928
  * The request shape produced by the `createRecord` request builders, for
831
929
  * use with {@link Store.request}.
930
+ *
931
+ * @summary Shape of the `POST` request object that `createRecord` builders return for `store.request`, identifying the
932
+ * new resource being saved.
832
933
  */
833
934
  type CreateRequestOptions<RT = unknown, T = unknown> = {
834
935
  /**
@@ -871,19 +972,31 @@ type CreateRequestOptions<RT = unknown, T = unknown> = {
871
972
  };
872
973
  /**
873
974
  * The immutable, handler-facing form of {@link DeleteRequestOptions}.
975
+ *
976
+ * @summary Read-only view of a `deleteRecord` request as a handler receives it, with immutable headers and `records`
977
+ * as resource keys.
874
978
  */
875
979
  type ImmutableDeleteRequestOptions = ImmutableRequest<DeleteRequestOptions>;
876
980
  /**
877
981
  * The immutable, handler-facing form of {@link UpdateRequestOptions}.
982
+ *
983
+ * @summary Read-only view of an `updateRecord` request as a handler receives it, with immutable headers and `records`
984
+ * as resource keys.
878
985
  */
879
986
  type ImmutableUpdateRequestOptions = ImmutableRequest<UpdateRequestOptions>;
880
987
  /**
881
988
  * The immutable, handler-facing form of {@link CreateRequestOptions}.
989
+ *
990
+ * @summary Read-only view of a `createRecord` request as a handler receives it, with immutable headers and `records`
991
+ * as resource keys.
882
992
  */
883
993
  type ImmutableCreateRequestOptions = ImmutableRequest<CreateRequestOptions>;
884
994
  /**
885
995
  * A minimal reference to a resource sufficient to build a URL for it,
886
996
  * as accepted by the request builders.
997
+ *
998
+ * @summary A resource reference with a persisted `id` and `type` and an optional `lid`, which is enough for request
999
+ * builders to construct its url.
887
1000
  */
888
1001
  type RemotelyAccessibleIdentifier<T extends string = string> = {
889
1002
  /**
@@ -902,6 +1015,9 @@ type RemotelyAccessibleIdentifier<T extends string = string> = {
902
1015
  /**
903
1016
  * Options accepted by the request builders for constraining how a
904
1017
  * request's url is constructed and how the request interacts with the cache.
1018
+ *
1019
+ * @summary Options the request builders accept to set reload behavior and override the url's host, namespace, resource
1020
+ * path, and query param serialization.
905
1021
  */
906
1022
  interface ConstrainedRequestOptions {
907
1023
  /**
@@ -936,6 +1052,9 @@ interface ConstrainedRequestOptions {
936
1052
  }
937
1053
  /**
938
1054
  * Options accepted by the `findRecord` request builders.
1055
+ *
1056
+ * @summary Options the `findRecord` request builders accept: the shared url and reload options plus the relationship
1057
+ * paths to `include`.
939
1058
  */
940
1059
  interface FindRecordOptions$2 extends ConstrainedRequestOptions {
941
1060
  /**
@@ -948,6 +1067,9 @@ interface FindRecordOptions$2 extends ConstrainedRequestOptions {
948
1067
  * containing the original {@link RequestInfo | request},
949
1068
  * the {@link Response | response} set by the handler chain (if any), and
950
1069
  * the processed content.
1070
+ *
1071
+ * @summary The `{ request, response, content }` object that a request's `Future` resolves with when the request
1072
+ * succeeds.
951
1073
  */
952
1074
  interface StructuredDataDocument<T> {
953
1075
  /**
@@ -975,6 +1097,9 @@ interface StructuredDataDocument<T> {
975
1097
  *
976
1098
  * If using the error originates from the {@link Fetch | Fetch Handler}
977
1099
  * the error will be a {@link FetchError}
1100
+ *
1101
+ * @summary The Error a request's `Future` rejects with when the request fails, carrying the `request`, `response`,
1102
+ * `error`, and any `content` received.
978
1103
  */
979
1104
  interface StructuredErrorDocument<T = unknown> extends Error {
980
1105
  /**
@@ -1002,11 +1127,16 @@ interface StructuredErrorDocument<T = unknown> extends Error {
1002
1127
  * A union of the resolve/reject data types for the {@link Future}
1003
1128
  * returned by {@link Store.request | request}
1004
1129
  *
1130
+ * The [Using The Response](/guides/the-manual/requests/using-the-response) guide shows
1131
+ * how to read one.
1132
+ *
1005
1133
  * See also the docs for:
1006
1134
  *
1007
1135
  * - {@link Future}
1008
1136
  * - {@link StructuredDataDocument} (resolved/successful requests)
1009
1137
  * - {@link StructuredErrorDocument} (rejected/failed requests)
1138
+ *
1139
+ * @summary Union of the success and error documents that a request's `Future` resolves or rejects with.
1010
1140
  */
1011
1141
  type StructuredDocument<T> = StructuredDataDocument<T> | StructuredErrorDocument<T>;
1012
1142
  /**
@@ -1082,6 +1212,9 @@ interface NativeRequestInit {
1082
1212
  /**
1083
1213
  * A read-only {@link Headers} instance, as passed to {@link Handler | Handlers}
1084
1214
  * via {@link ImmutableRequestInfo.headers}.
1215
+ *
1216
+ * @summary Read-only `Headers` that handlers see on a request, adding `toJSON` to serialize them as `[key, value]`
1217
+ * pairs and an optional mutable `clone`.
1085
1218
  */
1086
1219
  interface ImmutableHeaders extends Headers {
1087
1220
  /**
@@ -1100,6 +1233,11 @@ interface ImmutableHeaders extends Headers {
1100
1233
  * This interface is used to define the shape of a request that can be made via
1101
1234
  * either the {@link RequestManager.request} or {@link Store.request} methods.
1102
1235
  *
1236
+ * The [Making Requests](/guides/the-manual/requests/#request-options) guide explains
1237
+ * its options.
1238
+ *
1239
+ * @summary Describes a request for `store.request` or `RequestManager.request`: native fetch options plus cache
1240
+ * options, operation name, records, data, and the store.
1103
1241
  * @privateRemarks
1104
1242
  * - [MDN Reference (fetch)](https://developer.mozilla.org/docs/Web/API/Window/fetch)
1105
1243
  * - [MDN Reference (RequestInit)](https://developer.mozilla.org/en-US/docs/Web/API/RequestInit)
@@ -1191,6 +1329,8 @@ interface RequestInfo<RT = unknown> extends NativeRequestInit {
1191
1329
  /**
1192
1330
  * Immutable version of {@link RequestInfo}. This is what is passed to handlers.
1193
1331
  *
1332
+ * @summary Read-only form of a request as handlers receive it, with frozen headers, data, options, and cache options
1333
+ * and no `controller`.
1194
1334
  */
1195
1335
  type ImmutableRequestInfo<RT = unknown> = Readonly<Omit<RequestInfo<RT>, "controller">> & {
1196
1336
  /**
@@ -1216,6 +1356,9 @@ type ImmutableRequestInfo<RT = unknown> = Readonly<Omit<RequestInfo<RT>, "contro
1216
1356
  /**
1217
1357
  * An immutable, JSON-serializable subset of the native {@link Response}
1218
1358
  * interface.
1359
+ *
1360
+ * @summary Immutable, JSON-serializable snapshot of a fetch `Response`'s headers, status, url, and type, usable in
1361
+ * place of a `Response` in request results.
1219
1362
  */
1220
1363
  interface ResponseInfo {
1221
1364
  /**
@@ -1251,6 +1394,11 @@ interface ResponseInfo {
1251
1394
  * The object a {@link Handler} uses to fulfill a request: it provides a
1252
1395
  * readonly view of the {@link RequestContext.request | request} and methods
1253
1396
  * for supplying the {@link Future}'s stream and final response.
1397
+ *
1398
+ * The [Handlers](/guides/the-manual/requests/handlers) guide shows a handler using it.
1399
+ *
1400
+ * @summary Object passed to each request handler with the immutable request, a request id, and methods for setting the
1401
+ * response stream and the response.
1254
1402
  */
1255
1403
  interface RequestContext {
1256
1404
  /**
@@ -1335,6 +1483,8 @@ type KeyOrString<T> = keyof T & string extends never ? string : keyof T & string
1335
1483
  * for @warp-drive-mirror/legacy/model or when wrapping schema for legacy
1336
1484
  * Adapters/Serializers.
1337
1485
  *
1486
+ * @summary Legacy shape of a Model class's static schema API (fields, attributes, relationships, iterators) used
1487
+ * by the legacy schema service and Adapters/Serializers.
1338
1488
  */
1339
1489
  interface ModelSchema<T = unknown> {
1340
1490
  /**
@@ -1532,6 +1682,9 @@ declare class RecordReference {
1532
1682
  * Options shared by {@link FindRecordOptions} and {@link FindAllOptions}
1533
1683
  * for controlling reload behavior and adapter/serializer specific
1534
1684
  * configuration when using the legacy Adapter/Serializer network layer.
1685
+ *
1686
+ * @summary Legacy reload, background-reload, include, and adapterOptions settings shared by `store.findRecord` and
1687
+ * `store.findAll`.
1535
1688
  */
1536
1689
  interface BaseFinderOptions {
1537
1690
  /**
@@ -1563,6 +1716,9 @@ interface BaseFinderOptions {
1563
1716
  }
1564
1717
  /**
1565
1718
  * Options for `store.findRecord()`.
1719
+ *
1720
+ * @summary Legacy options for `store.findRecord`, adding a discouraged `preload` of field values to the shared
1721
+ * reload and adapter settings.
1566
1722
  */
1567
1723
  interface FindRecordOptions extends BaseFinderOptions {
1568
1724
  /**
@@ -1587,16 +1743,24 @@ interface FindRecordOptions extends BaseFinderOptions {
1587
1743
  * {@link LegacyResourceQuery}, these options are not sent to the server;
1588
1744
  * only `adapterOptions` is recognized by the store, and it is passed
1589
1745
  * through to `adapter.query`/`adapter.queryRecord` via the request snapshot.
1746
+ *
1747
+ * @summary Legacy options for `store.query` and `store.queryRecord`, of which only `adapterOptions` is used, passed
1748
+ * to the adapter rather than the server.
1590
1749
  */
1591
1750
  type QueryOptions = { [K in string | "adapterOptions"]?: K extends "adapterOptions" ? Record<string, unknown> : unknown; };
1592
1751
  /**
1593
1752
  * Options for `store.findAll()`.
1753
+ *
1754
+ * @summary Legacy reload, background-reload, include, and adapterOptions settings for `store.findAll`.
1594
1755
  */
1595
1756
  type FindAllOptions = BaseFinderOptions;
1596
1757
  /**
1597
1758
  * An opaque query object for `store.query()` and `store.queryRecord()`
1598
1759
  * that is passed as-is to the adapter, which is responsible for turning
1599
1760
  * it into request query parameters.
1761
+ *
1762
+ * @summary Legacy query object for `store.query` and `store.queryRecord` that the adapter turns into request query
1763
+ * params, with an optional `include`.
1600
1764
  */
1601
1765
  type LegacyResourceQuery = {
1602
1766
  /**
@@ -1616,6 +1780,9 @@ type LegacyResourceQuery = {
1616
1780
  * This should only be used for temporary migration purposes
1617
1781
  * to the new schema system when migrating from either Model
1618
1782
  * or ModelFragments.
1783
+ *
1784
+ * @summary Registers named methods, getters, and values to add to ReactiveResources, ReactiveObjects,
1785
+ * or ReactiveArrays; meant only as a temporary aid when migrating from Model or ModelFragments.
1619
1786
  */
1620
1787
  interface CAUTION_MEGA_DANGER_ZONE_Extension {
1621
1788
  /**
@@ -1712,6 +1879,9 @@ interface CAUTION_MEGA_DANGER_ZONE_Extension {
1712
1879
  * Describes one feature added to a resource by a schema extension, as
1713
1880
  * classified by {@link processExtension} from the property descriptor it
1714
1881
  * was declared with (a method, a plain value, or a getter/setter pair).
1882
+ *
1883
+ * @summary One normalized feature of a schema extension, tagged by kind as a method, a readonly or
1884
+ * mutable value, or a getter/setter accessor.
1715
1885
  */
1716
1886
  type ExtensionDef = {
1717
1887
  /** A callable feature, installed as a method. */
@@ -1750,6 +1920,9 @@ type ExtensionDef = {
1750
1920
  * The result of {@link processExtension} normalizing a
1751
1921
  * {@link CAUTION_MEGA_DANGER_ZONE_Extension} into a lookup of its features
1752
1922
  * by name.
1923
+ *
1924
+ * @summary A registered schema extension normalized into its kind, name, and a map of its features
1925
+ * keyed by property name.
1753
1926
  */
1754
1927
  interface ProcessedExtension {
1755
1928
  /** Whether this extension applies to objects/resources or to arrays. */
@@ -1779,14 +1952,19 @@ interface ExtensibleField {
1779
1952
  * Utility for constructing a ResourceSchema with the recommended
1780
1953
  * fields for the PolarisMode experience.
1781
1954
  *
1955
+ * The [ResourceSchemas](/guides/the-manual/schemas/resources/) guide shows how to
1956
+ * create a schema with it.
1957
+ *
1782
1958
  * Using this requires registering the PolarisMode derivations
1783
1959
  *
1784
1960
  * ```ts
1785
- * import { registerDerivations } from '@warp-drive-mirror/schema-record';
1961
+ * import { registerDerivations } from '@warp-drive-mirror/core/reactive';
1786
1962
  *
1787
1963
  * registerDerivations(schema);
1788
1964
  * ```
1789
1965
  *
1966
+ * @summary Adds the default `id` identity plus `$key`, `$type`, and `constructor` derived fields to a
1967
+ * PolarisMode resource schema.
1790
1968
  * @public
1791
1969
  * @param schema
1792
1970
  * @return {PolarisResourceSchema}
@@ -1829,6 +2007,8 @@ interface FromIdentityDerivation {
1829
2007
  *
1830
2008
  * `^` returns the entire identifier object.
1831
2009
  *
2010
+ * @summary The `@identity` derivation, which reads a record's `id`, `lid`, `type`, or whole resource key
2011
+ * for use in derived fields.
1832
2012
  * @public
1833
2013
  */
1834
2014
  declare const fromIdentity: FromIdentityDerivation;
@@ -1837,9 +2017,14 @@ declare const fromIdentity: FromIdentityDerivation;
1837
2017
  * to use the PolarisMode defaults provided by
1838
2018
  *
1839
2019
  * ```ts
1840
- * import { withDefaults } from '@warp-drive-mirror/schema-record';
2020
+ * import { withDefaults } from '@warp-drive-mirror/core/reactive';
1841
2021
  * ```
1842
2022
  *
2023
+ * The [Derivations](/guides/the-manual/schemas/derivations#about-built-in-derivations)
2024
+ * guide explains when you need to call it.
2025
+ *
2026
+ * @summary Registers the `@identity` and `@constructor` derivations that schemas built with
2027
+ * `withDefaults` depend on.
1843
2028
  * @public
1844
2029
  */
1845
2030
  declare function registerDerivations(schema: SchemaService): void;
@@ -1856,6 +2041,9 @@ interface InternalSchema {
1856
2041
  * Defines how to convert a `GenericField`, `ObjectField`, or `ArrayField`
1857
2042
  * between the raw value `T` stored in the cache and the presentation value
1858
2043
  * `PT` exposed on the record.
2044
+ *
2045
+ * @summary A registered converter between a field's raw cache value and the value exposed on the
2046
+ * record, with optional default.
1859
2047
  */
1860
2048
  type Transformation<T extends Value = Value, PT = unknown> = {
1861
2049
  /** Converts the presentation value into the raw value to store in the cache. */
@@ -1879,6 +2067,12 @@ interface SchemaService$1 {
1879
2067
  /**
1880
2068
  * A SchemaService designed to work with dynamically registered schemas.
1881
2069
  *
2070
+ * The [Schemas](/guides/the-manual/schemas/) guide shows how to register schemas
2071
+ * with it, and [Advanced Store Configuration](/guides/configuration/advanced#add-a-source-for-schema-for-your-data)
2072
+ * shows how to give a store one.
2073
+ *
2074
+ * @summary The default schema service, which stores resource and object schemas, traits, derivations,
2075
+ * transformations, hash functions and extensions registered at runtime.
1882
2076
  * @public
1883
2077
  */
1884
2078
  declare class SchemaService$1 implements SchemaService {
@@ -1967,6 +2161,8 @@ declare class SchemaService$1 implements SchemaService {
1967
2161
  * attribute name, as returned by the deprecated
1968
2162
  * {@link SchemaService.attributesDefinitionFor | attributesDefinitionFor} hook.
1969
2163
  *
2164
+ * @summary Legacy attribute field definitions keyed by attribute name, returned by the deprecated
2165
+ * `attributesDefinitionFor` schema hook.
1970
2166
  * @public
1971
2167
  */
1972
2168
  type AttributesSchema = Record<string, LegacyAttributeField>;
@@ -1975,6 +2171,8 @@ type AttributesSchema = Record<string, LegacyAttributeField>;
1975
2171
  * relationship name, as returned by the deprecated
1976
2172
  * {@link SchemaService.relationshipsDefinitionFor | relationshipsDefinitionFor} hook.
1977
2173
  *
2174
+ * @summary Legacy relationship field definitions keyed by relationship name, returned by the deprecated
2175
+ * `relationshipsDefinitionFor` schema hook.
1978
2176
  * @public
1979
2177
  */
1980
2178
  type RelationshipsSchema = Record<string, LegacyRelationshipField>;
@@ -1985,6 +2183,10 @@ interface ObjectWithStringTypeProperty {
1985
2183
  * The SchemaService provides the ability to query for information about the structure
1986
2184
  * of any resource type.
1987
2185
  *
2186
+ * The [Schemas](/guides/the-manual/schemas/) guide shows how to register schemas
2187
+ * with it, and [Advanced Store Configuration](/guides/configuration/advanced#add-a-source-for-schema-for-your-data)
2188
+ * shows how to give a store one.
2189
+ *
1988
2190
  * Applications can provide any implementation of the SchemaService they please so long
1989
2191
  * as it conforms to this interface.
1990
2192
  *
@@ -2029,6 +2231,8 @@ interface ObjectWithStringTypeProperty {
2029
2231
  * }
2030
2232
  * ```
2031
2233
  *
2234
+ * @summary The contract a store's schema service implements to answer which resource types, traits, fields,
2235
+ * transformations, and derivations exist.
2032
2236
  * @public
2033
2237
  */
2034
2238
  interface SchemaService {
@@ -2470,6 +2674,8 @@ implement this hook.
2470
2674
 
2471
2675
  ⚠️ Caution: Requests that do not have a `method` assigned are assumed to be `GET`
2472
2676
 
2677
+ @summary Overrides how the store generates `lid` cache keys for resources and documents; must be set
2678
+ before the store is created.
2473
2679
  @public
2474
2680
  */
2475
2681
  declare function setIdentifierGenerationMethod(method: GenerationMethod | null): void;
@@ -2502,6 +2708,8 @@ prior to this `UpdateMethod` being called; however, calls to the parent method
2502
2708
  `updateRecordIdentifier` that attempt to change the `id` or calling update
2503
2709
  without providing an `id` when one is missing will throw an error.
2504
2710
 
2711
+ @summary Registers a callback run when an existing resource key receives new data, for updating your
2712
+ own secondary lookup tables.
2505
2713
  @public
2506
2714
  */
2507
2715
  declare function setIdentifierUpdateMethod(method: UpdateMethod | null): void;
@@ -2517,6 +2725,8 @@ import { setIdentifierForgetMethod } from '@warp-drive-mirror/core';
2517
2725
  Takes method which can expect to receive an existing `Identifier` that should be eliminated
2518
2726
  from any secondary lookup tables or caches that the user has populated for it.
2519
2727
 
2728
+ @summary Registers a callback run when the store releases a resource key, for cleaning up your own
2729
+ lookup tables.
2520
2730
  @public
2521
2731
  */
2522
2732
  declare function setIdentifierForgetMethod(method: ForgetMethod | null): void;
@@ -2534,6 +2744,8 @@ Takes a method which can expect to be called when the parent application is dest
2534
2744
  If you have properly used a WeakMap to encapsulate the state of your customization
2535
2745
  to the application instance, you may not need to implement the `resetMethod`.
2536
2746
 
2747
+ @summary Registers a callback run when the store's key cache is torn down, for resetting any custom
2748
+ key-generation state.
2537
2749
  @public
2538
2750
  */
2539
2751
  declare function setIdentifierResetMethod(method: ResetMethod | null): void;
@@ -2550,6 +2762,8 @@ This configuration MUST occur prior to the store instance being created.
2550
2762
  import { setKeyInfoForResource } from '@warp-drive-mirror/core';
2551
2763
  ```
2552
2764
 
2765
+ @summary Overrides how the store derives the `type` and `id` of a new `ResourceKey` from resource data;
2766
+ must be set before the store is created.
2553
2767
  @public
2554
2768
  */
2555
2769
  declare function setKeyInfoForResource(method: KeyInfoMethod | null): void;
@@ -2684,15 +2898,24 @@ interface PrivateCacheKeyManager extends CacheKeyManager {
2684
2898
  type UnsubscribeToken$1 = object;
2685
2899
  /**
2686
2900
  * The kinds of change notifications the {@link NotificationManager} can emit for a resource.
2901
+ *
2902
+ * @summary The lifecycle notification kinds sent to resource subscribers: `added`, `removed`, `updated`,
2903
+ * or `state`.
2687
2904
  */
2688
2905
  type CacheOperation$1 = "added" | "removed" | "updated" | "state";
2689
2906
  /**
2690
2907
  * The kinds of change notifications the {@link NotificationManager} can emit for a request document.
2908
+ *
2909
+ * @summary The notification kinds sent to request document subscribers, such as `updated` or
2910
+ * `invalidated`.
2691
2911
  */
2692
2912
  type DocumentCacheOperation$1 = "invalidated" | "added" | "removed" | "updated" | "state";
2693
2913
  /**
2694
2914
  * The full set of notification kinds the {@link NotificationManager} can emit for a resource,
2695
2915
  * including both {@link CacheOperation}s and finer-grained field-level change notifications.
2916
+ *
2917
+ * @summary Every notification kind a resource subscriber can receive, from lifecycle operations to
2918
+ * `attributes`, `relationships`, `errors`, `meta`, and `identity` changes.
2696
2919
  */
2697
2920
  type NotificationType = "attributes" | "relationships" | "identity" | "errors" | "meta" | CacheOperation$1;
2698
2921
  /**
@@ -2701,6 +2924,8 @@ type NotificationType = "attributes" | "relationships" | "identity" | "errors" |
2701
2924
  * the `'attributes'` or `'relationships'` namespaces in a single call
2702
2925
  * instead of once per key.
2703
2926
  *
2927
+ * @summary A set of field names passed to `notify` or `notifyChange` to report many `attributes` or
2928
+ * `relationships` changes in one call.
2704
2929
  * @since 5.9.0
2705
2930
  * @public
2706
2931
  */
@@ -2736,6 +2961,8 @@ type NotifyKeys = Set<string>;
2736
2961
  * `DocumentCacheOperation` values) are never filtered by channel since they
2737
2962
  * have no local/remote duality.
2738
2963
  *
2964
+ * @summary Scopes an `attributes` or `relationships` notification to a resource's local (editable) or
2965
+ * remote (persisted) view so only matching subscribers hear it.
2739
2966
  * @public
2740
2967
  */
2741
2968
  type NotificationChannel = "local" | "remote";
@@ -2757,6 +2984,8 @@ interface DocumentOperationCallback$1 {
2757
2984
  * This Feature is what allows WarpDrive to create subscriptions that
2758
2985
  * work with any framework or change-notification system.
2759
2986
  *
2987
+ * @summary The store service that lets code subscribe to and batch-deliver change notifications for
2988
+ * cached resources and request documents.
2760
2989
  * @hideconstructor
2761
2990
  * @public
2762
2991
  */
@@ -2864,6 +3093,8 @@ interface PrivateNotificationManager extends NotificationManager$1 {
2864
3093
  *
2865
3094
  * This class cannot be directly instantiated.
2866
3095
  *
3096
+ * @summary The narrow slice of Store API handed to a Cache via `createCache`, for key lookup, schema access, record
3097
+ * id updates, and change notifications.
2867
3098
  * @public
2868
3099
  */
2869
3100
  type CacheCapabilitiesManager$1 = {
@@ -3025,12 +3256,16 @@ type OpaqueRecordInstance = unknown;
3025
3256
  * A hash of changed attributes with the key being the attribute name and the value being an
3026
3257
  * array of `[oldValue, newValue]`.
3027
3258
  *
3259
+ * @summary Map of attribute name to `[oldValue, newValue]` for a resource's uncommitted attribute changes, as
3260
+ * returned by `cache.changedAttrs`.
3028
3261
  */
3029
3262
  type ChangedAttributesHash = Record<string, [Value | undefined, Value]>;
3030
3263
  /**
3031
3264
  * Describes the local (uncommitted) changes to a single relationship,
3032
3265
  * as returned by {@link Cache.changedRelationships}.
3033
3266
  *
3267
+ * @summary Remote versus local state of one relationship, with additions, removals, and reordering for to-many,
3268
+ * as returned by `cache.changedRelationships`.
3034
3269
  * @example
3035
3270
  * ```ts
3036
3271
  * const diff: RelationshipDiff = {
@@ -3088,6 +3323,11 @@ type RelationshipDiff = {
3088
3323
  * A Cache handles in-memory storage of Document and Resource
3089
3324
  * data.
3090
3325
  *
3326
+ * The [Caching](/guides/the-manual/caching/#how-the-cache-works) guide explains how
3327
+ * the cache stores that data.
3328
+ *
3329
+ * @summary Contract a Cache implementation fulfills to store, patch, mutate, and read document and resource data
3330
+ * for the Store, including local changes, errors, and SSR hydration.
3091
3331
  * @public
3092
3332
  */
3093
3333
  interface Cache {
@@ -4016,6 +4256,8 @@ declare function graphFor(store: CacheCapabilitiesManager$1 | Store$1): Graph;
4016
4256
  * callbacks that settle it, so the promise can be handed out before the
4017
4257
  * work that will settle it has started.
4018
4258
  *
4259
+ * @summary Creates a promise together with its `resolve` and `reject` callbacks so it can be handed out
4260
+ * before it is settled.
4019
4261
  * @public
4020
4262
  */
4021
4263
  declare function createDeferred<T>(): Deferred<T>;
@@ -4034,6 +4276,8 @@ type CacheResult<T = unknown, E = unknown> = {
4034
4276
  * (and by `getPromiseState`). Anything that is at least `then`/`catch`/`finally`
4035
4277
  * "shaped" (including a real `Promise` or {@link Future}) satisfies this.
4036
4278
  *
4279
+ * @summary Any promise-like value with `then`, `catch`, and `finally`, as accepted by the promise-result
4280
+ * cache and `getPromiseState`.
4037
4281
  * @public
4038
4282
  */
4039
4283
  type Awaitable<T = unknown, E = unknown> = {
@@ -4061,6 +4305,8 @@ type Awaitable<T = unknown, E = unknown> = {
4061
4305
  * outcome can be synchronously read later via {@link getPromiseResult},
4062
4306
  * without needing to await it again.
4063
4307
  *
4308
+ * @summary Records a promise's settled value or error so it can later be read synchronously with
4309
+ * `getPromiseResult`.
4064
4310
  * @public
4065
4311
  */
4066
4312
  declare function setPromiseResult(promise: Promise<unknown> | Awaitable, result: CacheResult): void;
@@ -4068,6 +4314,8 @@ declare function setPromiseResult(promise: Promise<unknown> | Awaitable, result:
4068
4314
  * Synchronously read the settled result (or error) previously recorded for
4069
4315
  * a promise-like value via {@link setPromiseResult}, if any.
4070
4316
  *
4317
+ * @summary Synchronously returns the settled value or error previously recorded for a promise, or
4318
+ * `undefined` if none was recorded.
4071
4319
  * @public
4072
4320
  */
4073
4321
  declare function getPromiseResult<T, E>(promise: Promise<T> | Awaitable<T, E>): CacheResult<T, E> | undefined;
@@ -4076,6 +4324,9 @@ declare function getPromiseResult<T, E>(promise: Promise<T> | Awaitable<T, E>):
4076
4324
  /**
4077
4325
  * Brands the supplied object with the supplied response type.
4078
4326
  *
4327
+ * The [Typing Requests](/guides/the-manual/requests/typing-requests) guide shows how
4328
+ * to use it.
4329
+ *
4079
4330
  * ```ts
4080
4331
  * import type { ReactiveDataDocument } from '@warp-drive-mirror/core/reactive';
4081
4332
  * import { withResponseType } from '@warp-drive-mirror/core/request';
@@ -4088,6 +4339,8 @@ declare function getPromiseResult<T, E>(promise: Promise<T> | Awaitable<T, E>):
4088
4339
  * result.content.data; // will have type User
4089
4340
  * ```
4090
4341
  *
4342
+ * @summary Types a request object with the response type that `store.request` or `RequestManager.request`
4343
+ * should resolve with; no runtime effect.
4091
4344
  */
4092
4345
  declare function withResponseType<T>(obj: RequestInfo): RequestInfo<T> & {
4093
4346
  /** The branded response type. Present only at the type level; carries no runtime value. */
@@ -4098,6 +4351,9 @@ declare function withResponseType<T>(obj: RequestInfo): RequestInfo<T> & {
4098
4351
  * wrapped in {@link ReactiveDataDocument}. This is a convenience for
4099
4352
  * the common case of using {@link withResponseType} with `ReactiveDataDocument`.
4100
4353
  *
4354
+ * The [Typing Requests](/guides/the-manual/requests/typing-requests#typing-reactive-responses)
4355
+ * guide shows how to use it.
4356
+ *
4101
4357
  * ```ts
4102
4358
  * import { withReactiveResponse } from '@warp-drive-mirror/core/request';
4103
4359
  * import type { User } from '#/data/user.ts'
@@ -4121,6 +4377,8 @@ declare function withResponseType<T>(obj: RequestInfo): RequestInfo<T> & {
4121
4377
  * result.content.meta?.total; // number | undefined
4122
4378
  * ```
4123
4379
  *
4380
+ * @summary Types a request object so its response resolves as a `ReactiveDataDocument` of the given
4381
+ * data and meta types; no runtime effect.
4124
4382
  * @public
4125
4383
  */
4126
4384
  declare function withReactiveResponse<T, M extends Meta | undefined = Meta | undefined, E extends object = object, EM extends Meta | undefined = M>(obj: RequestInfo): RequestInfo<ReactiveDataDocument<T, M, E, EM>> & {
@@ -4128,6 +4386,8 @@ declare function withReactiveResponse<T, M extends Meta | undefined = Meta | und
4128
4386
  [RequestSignature]: ReactiveDataDocument<T, M, E, EM>;
4129
4387
  };
4130
4388
  /**
4389
+ * @summary Deprecated alias for `withResponseType`, which types a request object with its expected
4390
+ * response type.
4131
4391
  * @deprecated use {@link withResponseType} instead
4132
4392
  */
4133
4393
  declare const withBrand: typeof withResponseType;
@@ -4140,6 +4400,9 @@ type LooseStoreRequestInfo<RT = unknown> = Omit<ImmutableRequestInfo<RT>, "recor
4140
4400
  /**
4141
4401
  * The request shape accepted by {@link Store.request}, either a fully-formed
4142
4402
  * {@link ImmutableRequestInfo} or the looser {@link LooseStoreRequestInfo}.
4403
+ *
4404
+ * @summary The request object `store.request` accepts, either a full immutable request info or a looser
4405
+ * form with plain `records` and `headers`.
4143
4406
  */
4144
4407
  type StoreRequestInput<RT = unknown> = ImmutableRequestInfo<RT> | LooseStoreRequestInfo<RT>;
4145
4408
  interface StoreRequestContext extends RequestContext {
@@ -4151,6 +4414,9 @@ interface StoreRequestContext extends RequestContext {
4151
4414
  /**
4152
4415
  * A CacheHandler that adds support for using an WarpDrive Cache with a RequestManager.
4153
4416
  *
4417
+ * The [Caching](/guides/the-manual/caching/) guide explains how it decides whether a
4418
+ * request can use the cache.
4419
+ *
4154
4420
  * This handler will only run when a request has supplied a `store` instance. Requests
4155
4421
  * issued by the store via `store.request()` will automatically have the `store` instance
4156
4422
  * attached to the request.
@@ -4186,7 +4452,10 @@ interface StoreRequestContext extends RequestContext {
4186
4452
  * method: 'GET',
4187
4453
  * [EnableHydration]: true
4188
4454
  * });
4455
+ * ```
4189
4456
  *
4457
+ * @summary The RequestManager cache handler that serves, dedupes, and caches store requests and returns
4458
+ * reactive documents when hydration is enabled.
4190
4459
  */
4191
4460
  declare const CacheHandler: CacheHandler$1;
4192
4461
  //#endregion
@@ -4196,12 +4465,18 @@ declare const CacheHandler: CacheHandler$1;
4196
4465
  * the store's `lifetimes` property to configure the behavior
4197
4466
  * of the CacheHandler.
4198
4467
  *
4468
+ * The [Advanced Store Configuration](/guides/configuration/advanced#decide-how-long-requests-are-valid-for-with-a-cachepolicy)
4469
+ * guide shows how to configure one, and [Caching](/guides/the-manual/caching/) explains
4470
+ * where the CacheHandler consults it.
4471
+ *
4199
4472
  * The default behavior for request lifetimes is to never expire
4200
4473
  * unless manually refreshed via `cacheOptions.reload` or `cacheOptions.backgroundReload`.
4201
4474
  *
4202
4475
  * Implementing this service allows you to programatically define
4203
4476
  * when a request should be considered expired.
4204
4477
  *
4478
+ * @summary The interface a store's `lifetimes` service implements to decide when cached requests are
4479
+ * hard or soft expired and should be refetched.
4205
4480
  * @public
4206
4481
  */
4207
4482
  interface CachePolicy {
@@ -4395,6 +4670,8 @@ type DocumentMeta<M extends Meta | undefined> = undefined extends M ? {
4395
4670
  * The variant of {@link ReactiveDocument} returned for a request whose
4396
4671
  * response contained no primary data, e.g. an error response.
4397
4672
  *
4673
+ * @summary The shape of a reactive response document that carries `errors` and no primary `data`,
4674
+ * such as the result of a failed request.
4398
4675
  * @public
4399
4676
  */
4400
4677
  type ReactiveErrorDocument<T, EM extends Meta | undefined = Meta | undefined, E extends object = object, M extends Meta | undefined = EM> = ReactiveDocumentBase<T, M, E, EM> & DocumentMeta<EM> & {
@@ -4425,6 +4702,8 @@ type ReactiveErrorDocument<T, EM extends Meta | undefined = Meta | undefined, E
4425
4702
  * The variant of {@link ReactiveDocument} returned for a request whose
4426
4703
  * response contained primary data.
4427
4704
  *
4705
+ * @summary The shape of a reactive response document whose `data` holds the request's primary
4706
+ * records, with no `errors`.
4428
4707
  * @public
4429
4708
  */
4430
4709
  type ReactiveDataDocument<T, M extends Meta | undefined = Meta | undefined, E extends object = object, EM extends Meta | undefined = M> = ReactiveDocumentBase<T, M, E, EM> & DocumentMeta<M> & {
@@ -4452,10 +4731,15 @@ type ReactiveDataDocument<T, M extends Meta | undefined = Meta | undefined, E ex
4452
4731
  * returned by `Cache.put` or `Cache.peek`, converting ResourceKeys into
4453
4732
  * ReactiveResource instances.
4454
4733
  *
4734
+ * The [Using The Response](/guides/the-manual/requests/using-the-response) guide
4735
+ * shows when a request's content is a ReactiveDocument.
4736
+ *
4455
4737
  * It is not directly instantiated by the user, and its properties should not
4456
4738
  * be directly modified. Whether individual properties are mutable or not is
4457
4739
  * determined by the record instance itself.
4458
4740
  *
4741
+ * @summary The reactive wrapper around a request's response document that exposes its data or errors
4742
+ * as live records, plus meta, links, and pagination helpers.
4459
4743
  * @public
4460
4744
  */
4461
4745
  type ReactiveDocument<T, M extends Meta | undefined = Meta | undefined, E extends object = object, EM extends Meta | undefined = M> = ReactiveDataDocument<T, M, E, EM> | ReactiveErrorDocument<T, EM, E, M>;
@@ -4870,6 +5154,7 @@ const identifier = recordIdentifierFor(record);
4870
5154
  const { id, type, lid } = identifier;
4871
5155
  ```
4872
5156
 
5157
+ @summary Returns the stable `ResourceKey` (type, id, and lid) the store assigned to a record instance.
4873
5158
  @public
4874
5159
  @param record a record instance previously obstained from the store.
4875
5160
  */
@@ -4987,6 +5272,8 @@ declare const SOURCE: "___(unique) Symbol(SOURCE)";
4987
5272
  * Symbol for the method used to request a mutable copy of an otherwise
4988
5273
  * immutable {@link ReactiveResource}.
4989
5274
  *
5275
+ * @summary Deprecated symbol-keyed method on a ReactiveResource that resolves with an editable copy;
5276
+ * use `checkout` instead.
4990
5277
  * @deprecated use the {@link checkout} utility function instead.
4991
5278
  */
4992
5279
  declare const Checkout: "___(unique) Symbol(Checkout)";
@@ -5040,10 +5327,15 @@ interface ReactiveResourceArrayContext extends ReactiveResourceArrayCreateOption
5040
5327
  * as the base for relationship and legacy record-array types such as
5041
5328
  * {@link LegacyLiveArray}, {@link LegacyQueryArray} and {@link LegacyManyArray}.
5042
5329
  *
5330
+ * The [Key Terminology](/guides/the-manual/caching/key-terms#resources) guide explains
5331
+ * how it relates to resources.
5332
+ *
5043
5333
  * Behaves like a native Array: `Array.isArray(arr)` and `arr instanceof Array`
5044
5334
  * both report `true`. The array stays in sync with the cache, updating
5045
5335
  * reactively as the underlying {@link ResourceKey}s change.
5046
5336
  *
5337
+ * @summary Native-Array-compatible reactive list of records backed by cache keys, returned for collection responses
5338
+ * and underlying relationship and legacy record arrays.
5047
5339
  * @public
5048
5340
  */
5049
5341
  interface ReactiveResourceArray<T = unknown> extends Omit<Array<T>, "[]"> {}
@@ -5196,6 +5488,8 @@ interface MinimumManager {
5196
5488
  * and "bmw" will have populated LiveArrays, but the LiveArray for "car"
5197
5489
  * would be empty.
5198
5490
  *
5491
+ * @summary Legacy reactive array of every record of one type in the store, returned by `store.peekAll` and
5492
+ * `store.findAll`.
5199
5493
  * @legacy we recommend againt using LiveArrays. Use {@link Store.request} instead
5200
5494
  */
5201
5495
  interface LegacyLiveArray<T = unknown> extends LegacyArray<T> {
@@ -5292,6 +5586,8 @@ interface LegacyLiveArrayCreateOptions {
5292
5586
  * from the cache, but it does remove the array as well as the overhead it requires
5293
5587
  * from the store for book-keeping.
5294
5588
  *
5589
+ * @summary Legacy immutable reactive array of the primary records returned by `store.query`, refreshable with
5590
+ * `update()` and released with `destroy()`.
5295
5591
  * @legacy we recommend againt using QueryArrays. Use {@link Store.request} instead
5296
5592
  */
5297
5593
  interface LegacyQueryArray<T = unknown> extends LegacyLiveArray<T> {
@@ -5590,6 +5886,26 @@ interface Store$1 {
5590
5886
  * mechanism of presenting cache data to the ui for access
5591
5887
  * mutation, and interaction.
5592
5888
  *
5889
+ * The Store treats whatever this hook returns as opaque, so a record can be
5890
+ * anything from a fairly simple object to a robust proxy that links together
5891
+ * associated records through relationships.
5892
+ *
5893
+ * That also lets a record implementation separate edit flows from create flows
5894
+ * entirely. A [ReactiveResource](/api/@warp-drive-mirror/core/reactive/types/ReactiveResource)
5895
+ * is not editable by default; calling
5896
+ * [checkout](/api/@warp-drive-mirror/core/reactive/functions/checkout) on it gives access to
5897
+ * an editable copy while the original stays read-only.
5898
+ *
5899
+ * Because records are created here and read their data from the {@link Store.cache | cache},
5900
+ * record implementations should be able to interoperate both with each other and with
5901
+ * any Cache. An app can therefore use more than one record implementation, either to give
5902
+ * only some resource types enhanced features or to migrate from one implementation to
5903
+ * another incrementally. The Store that
5904
+ * [useLegacyStore](/api/@warp-drive-mirror/legacy/functions/useLegacyStore) produces does this:
5905
+ * its hook creates a legacy `Model` for each resource type that only has a Model schema,
5906
+ * and a ReactiveResource for every other type. Each Store creates one Cache, so an
5907
+ * app that needs more than one Cache implementation uses more than one Store.
5908
+ *
5593
5909
  * @param identifier - The Resource CacheKey
5594
5910
  * @param createRecordArgs - An object containing any properties passed to `store.createRecord`
5595
5911
  * @return A record instance
@@ -6569,6 +6885,10 @@ interface Store$1 {
6569
6885
  * The `Store` is the central piece of the ***Warp*Drive** experience. It connects
6570
6886
  * requests for data with schemas, caching and reactivity.
6571
6887
  *
6888
+ * The [Setup](/guides/configuration/#configure-the-store) guide shows how to configure
6889
+ * one, and [Making Requests](/guides/the-manual/requests/) shows how to request data
6890
+ * through it.
6891
+ *
6572
6892
  * While it's easy to use ***just*** ***Warp*Drive**'s request management, most projects will find they
6573
6893
  * require far more than basic fetch management. For this reason it's often best to start with a `Store`
6574
6894
  * even when you aren't sure yet.
@@ -6576,6 +6896,7 @@ interface Store$1 {
6576
6896
  * Most projects will only have a single `Store`, though using multiple distinct stores
6577
6897
  * is possible.
6578
6898
  *
6899
+ * @summary Central coordinator that connects requests for data with schemas, the cache and reactivity.
6579
6900
  * @public
6580
6901
  * @hideconstructor
6581
6902
  */
@@ -6684,12 +7005,25 @@ declare class Store$1 extends BaseClass {
6684
7005
  */
6685
7006
  getRequestStateService(): RequestStateService;
6686
7007
  /**
6687
- * ::: tip 💡 For a more complete overview see the [Request Guide](/guides/2-requests/1-overview)
7008
+ * ::: tip 💡 For a more complete overview see the [Request Guide](/guides/the-manual/requests/)
6688
7009
  * :::
6689
7010
  *
6690
7011
  * Issue a request via the configured {@link RequestManager},
6691
7012
  * inserting the response into the {@link Store.cache | cache} and handing
6692
- * back a {@link Future} which resolves to a {@link ReactiveDocument | ReactiveDocument}
7013
+ * back a {@link Future} which resolves to a {@link ReactiveDocument | ReactiveDocument}.
7014
+ * Use `store.request` for anything the Store's cache should own, which is nearly all app
7015
+ * code; reach for {@link RequestManager.request | requestManager.request} directly only when
7016
+ * there is no `Store` involved, or you specifically want the unprocessed
7017
+ * {@link StructuredDocument}.
7018
+ *
7019
+ * #### Building Requests
7020
+ *
7021
+ * `requestConfig` can be written by hand, but for anything reused more than once prefer a
7022
+ * request builder — a plain function that returns the right shape for `store.request`. This
7023
+ * repo ships builders for common operations (`findRecord`, `query`, `createRecord`, and more)
7024
+ * for {json:api}, REST, and ActiveRecord-style APIs in `@warp-drive-mirror/utilities`; each builder's
7025
+ * return value also carries its own response type, so `RT` below is inferred automatically
7026
+ * instead of being written by hand. See [Builders](/guides/the-manual/requests/builders.md).
6693
7027
  *
6694
7028
  * #### Request Cache Keys
6695
7029
  *
@@ -6734,6 +7068,29 @@ declare class Store$1 extends BaseClass {
6734
7068
  * is that `store.request` will convert the response into a {@link ReactiveDocument}
6735
7069
  * containing {@link Store.instantiateRecord | ReactiveResources}.
6736
7070
  *
7071
+ * A {@link ReactiveDocument} is either a {@link ReactiveDataDocument} (`content.data` holds
7072
+ * the resource(s)) or a {@link ReactiveErrorDocument} (`content.errors` holds the API's error
7073
+ * objects), depending on whether the `Future` resolves or rejects; both carry the response's
7074
+ * `content.meta`. Read either state reactively with {@link getRequestState} or the
7075
+ * `<Request />` component instead of always `await`-ing the `Future` directly — see
7076
+ * [Using the Response](/guides/the-manual/requests/using-the-response.md).
7077
+ *
7078
+ * #### Typing The Response
7079
+ *
7080
+ * `request<RT>` accepts an explicit type argument, but the more common path is to let it be
7081
+ * inferred: build the request with {@link withResponseType} (or {@link withReactiveResponse}
7082
+ * for the common reactive-document case), or with a builder from `@warp-drive-mirror/utilities` as
7083
+ * described above, and `RT` is inferred from the request object itself. See
7084
+ * [Typing Requests](/guides/the-manual/requests/typing-requests.md) for the full mechanism.
7085
+ *
7086
+ * @example
7087
+ * ```ts
7088
+ * import { findRecord } from '@warp-drive-mirror/utilities/json-api';
7089
+ *
7090
+ * const { content } = await store.request(findRecord('user', '1'));
7091
+ * content.data; // ReactiveResource, typed from the builder's response type
7092
+ * ```
7093
+ *
6737
7094
  * @public
6738
7095
  */
6739
7096
  request<RT>(requestConfig: StoreRequestInput<RT>): Future<RT>;
@@ -7280,6 +7637,7 @@ the has-many.
7280
7637
  We call the record to which a relationship belongs-to the
7281
7638
  relationship's _owner_.
7282
7639
 
7640
+ @summary Legacy mutable reactive array holding the related records of a legacy or linksMode has-many relationship.
7283
7641
  @public
7284
7642
  */
7285
7643
  interface LegacyManyArray<T = unknown> extends ReactiveResourceArray<T> {
@@ -7546,10 +7904,14 @@ interface PrivateReactiveResource extends ReactiveResource {
7546
7904
  * and a ResourceKey to transform data from the cache into a rich, reactive
7547
7905
  * object.
7548
7906
  *
7907
+ * The [ResourceSchemas](/guides/the-manual/schemas/resources/) guide shows how to
7908
+ * define the schema it reads.
7909
+ *
7549
7910
  * This class is not directly instantiable. To use it, you should
7550
7911
  * configure the store's `instantiateRecord` and `teardownRecord` hooks
7551
7912
  * with the matching hooks provided by this package.
7552
7913
  *
7914
+ * @summary The rich, reactive record object that presents a resource's cached data through its `ResourceSchema`.
7553
7915
  * @hideconstructor
7554
7916
  * @public
7555
7917
  */
@@ -7575,6 +7937,8 @@ declare class ReactiveResource {
7575
7937
  * Edits to editable resources will be automatically committed if a new
7576
7938
  * payload from the cache matches their existing value.
7577
7939
  *
7940
+ * @summary Resolves with an editable copy of an immutable `ReactiveResource` so its fields can be
7941
+ * changed locally.
7578
7942
  * @public
7579
7943
  *
7580
7944
  * @returns a promise that resolves to the editable resource
@@ -7589,6 +7953,8 @@ declare function checkout<T>(resource: unknown): Promise<T & ReactiveResource>;
7589
7953
  * approach is for either the API or a Handler to reflect saved
7590
7954
  * changes back to update the cache.
7591
7955
  *
7956
+ * @summary Forcibly makes an editable resource's local changes its new remote (immutable) state,
7957
+ * bypassing a save round-trip.
7592
7958
  * @public
7593
7959
  */
7594
7960
  declare function commit(record: ReactiveResource): Promise<void>;
@@ -7603,6 +7969,8 @@ declare function commit(record: ReactiveResource): Promise<void>;
7603
7969
  * schema is `legacy`, matching the historical behavior of assigning initial
7604
7970
  * properties when creating a new legacy record.
7605
7971
  *
7972
+ * @summary Default store `instantiateRecord` hook that creates a `ReactiveResource` for a resource key
7973
+ * from its registered schema.
7606
7974
  * @public
7607
7975
  */
7608
7976
  declare function instantiateRecord(store: Store$1, identifier: ResourceKey, createArgs?: Record<string, unknown>): ReactiveResource;
@@ -7611,6 +7979,8 @@ declare function instantiateRecord(store: Store$1, identifier: ResourceKey, crea
7611
7979
  * that `record` is a {@link ReactiveResource} and invokes its `Destroy`
7612
7980
  * behavior.
7613
7981
  *
7982
+ * @summary Default store `teardownRecord` hook that destroys a `ReactiveResource` when the store
7983
+ * releases it.
7614
7984
  * @public
7615
7985
  */
7616
7986
  declare function teardownRecord(record: unknown): void;
@@ -7624,6 +7994,9 @@ declare function teardownRecord(record: unknown): void;
7624
7994
  * A basic Fetch Handler which converts a request into a
7625
7995
  * `fetch` call presuming the response to be `json`.
7626
7996
  *
7997
+ * The [Making Requests](/guides/the-manual/requests/#requests-do-not-need-to-use-fetch)
7998
+ * guide shows where it sits in the handler chain.
7999
+ *
7627
8000
  * ```ts
7628
8001
  * import { RequestManager, Fetch } from '@warp-drive-mirror/core';
7629
8002
  *
@@ -7631,6 +8004,8 @@ declare function teardownRecord(record: unknown): void;
7631
8004
  * .use([Fetch]);
7632
8005
  * ```
7633
8006
  *
8007
+ * @summary Terminal request handler that sends the request with native `fetch` and resolves with the
8008
+ * parsed JSON body, turning HTTP failures into errors.
7634
8009
  * @public
7635
8010
  * @badge Handler
7636
8011
  */
@@ -7676,6 +8051,9 @@ type Store = {
7676
8051
  * Interface of a parsed Cache-Control header value.
7677
8052
  *
7678
8053
  * - [MDN Cache-Control Reference](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Cache-Control)
8054
+ *
8055
+ * @summary The directives of a `Cache-Control` header as an object of flags and second counts, as
8056
+ * returned by `parseCacheControl`.
7679
8057
  */
7680
8058
  interface CacheControlValue {
7681
8059
  /** Indicates the response will never change; parsed but not currently used by this cache policy's expiration logic. */
@@ -7731,6 +8109,8 @@ interface CacheControlValue {
7731
8109
  *
7732
8110
  * See also {@link CacheControlValue} and [Response Directives](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Cache-Control#response_directives)
7733
8111
  *
8112
+ * @summary Parses a `Cache-Control` header string into a `CacheControlValue` object, caching results
8113
+ * per header string.
7734
8114
  * @public
7735
8115
  */
7736
8116
  declare function parseCacheControl(header: string): CacheControlValue;
@@ -7793,6 +8173,9 @@ interface PolicyConfigConstraints {
7793
8173
  /**
7794
8174
  * The configuration options for the {@link DefaultCachePolicy}
7795
8175
  *
8176
+ * The [Advanced Store Configuration](/guides/configuration/advanced#decide-how-long-requests-are-valid-for-with-a-cachepolicy)
8177
+ * guide shows a policy configured with them.
8178
+ *
7796
8179
  * ```ts [app/services/store.ts]
7797
8180
  * import { Store } from '@warp-drive-mirror/core';
7798
8181
  * import { DefaultCachePolicy } from '@warp-drive-mirror/core/store'; // [!code focus]
@@ -7804,6 +8187,8 @@ interface PolicyConfigConstraints {
7804
8187
  * }
7805
8188
  * ```
7806
8189
  *
8190
+ * @summary Options for `DefaultCachePolicy`: soft and hard expiration times, header-based expiration
8191
+ * constraints, and test-mode behavior.
7807
8192
  */
7808
8193
  interface PolicyConfig {
7809
8194
  /**
@@ -7884,6 +8269,9 @@ interface PolicyConfig {
7884
8269
  /**
7885
8270
  * A basic {@link CachePolicy} that can be added to the Store service.
7886
8271
  *
8272
+ * The [Advanced Store Configuration](/guides/configuration/advanced#decide-how-long-requests-are-valid-for-with-a-cachepolicy)
8273
+ * guide shows how to configure it.
8274
+ *
7887
8275
  * ```ts [app/services/store.ts]
7888
8276
  * import { Store } from '@warp-drive-mirror/core';
7889
8277
  * import { DefaultCachePolicy } from '@warp-drive-mirror/core/store'; // [!code focus]
@@ -7961,6 +8349,8 @@ interface PolicyConfig {
7961
8349
  * This behavior can be opted out of by setting `disableTestOptimization = true`
7962
8350
  * in the policy config.
7963
8351
  *
8352
+ * @summary The built-in cache policy, which expires cached requests using expiration headers or time
8353
+ * since the response `date`, and invalidates queries after matching creates.
7964
8354
  * @public
7965
8355
  */
7966
8356
  declare class DefaultCachePolicy implements CachePolicy {
@@ -8043,11 +8433,15 @@ declare class DefaultCachePolicy implements CachePolicy {
8043
8433
  //#endregion
8044
8434
  //#region src/index.d.ts
8045
8435
  /**
8436
+ * @summary Deprecated alias for `ReactiveDocument`, the reactive wrapper around a request's response document.
8046
8437
  * @deprecated use {@link ReactiveDocument} instead
8047
8438
  */
8048
8439
  type Document<T, M extends Meta | undefined = Meta | undefined, E extends object = object, EM extends Meta | undefined = M> = ReactiveDocument<T, M, E, EM>;
8049
8440
  /**
8050
8441
  * Options for setting up a Store instance with `useRecommendedStore`.
8442
+ *
8443
+ * @summary Configures the cache, cache policy, request handlers, schemas, and schema extensions that
8444
+ * `useRecommendedStore` wires into a Store class.
8051
8445
  */
8052
8446
  interface StoreSetupOptions<T extends Cache = Cache> {
8053
8447
  /**
@@ -8132,6 +8526,9 @@ declare class ConfiguredStore<T extends {
8132
8526
  * Creates a configured Store class with recommended defaults
8133
8527
  * for schema handling, reactivity, caching, and request management.
8134
8528
  *
8529
+ * The [Setup](/guides/configuration/#configure-the-store) guide walks through
8530
+ * configuring the store with it.
8531
+ *
8135
8532
  * ```ts
8136
8533
  * import { useRecommendedStore } from '@warp-drive-mirror/core';
8137
8534
  * import { JSONAPICache } from '@warp-drive-mirror/json-api';
@@ -8234,6 +8631,9 @@ declare class ConfiguredStore<T extends {
8234
8631
  * {@link RequestManager} won't have it set unless the caller supplies it
8235
8632
  * explicitly, so a handler relying on it should treat it as optional (as
8236
8633
  * `LoggingHandler` does above).
8634
+ *
8635
+ * @summary Builds a Store subclass preconfigured with the given cache, schemas, and handlers, plus
8636
+ * `Fetch`, `CacheHandler`, and a default cache policy.
8237
8637
  */
8238
8638
  declare function useRecommendedStore<T extends Cache, Policy extends CachePolicy>(options: StoreSetupOptions<T> & {
8239
8639
  policy: Policy;
@@ -8254,6 +8654,8 @@ declare function useRecommendedStore<T extends Cache>(options: StoreSetupOptions
8254
8654
  * The state of a promise in the "pending"
8255
8655
  * state. This is the default initial state.
8256
8656
  *
8657
+ * @summary The `getPromiseState` state for a promise that has not yet settled, with `isPending` true and
8658
+ * no value or reason.
8257
8659
  */
8258
8660
  interface PendingPromise {
8259
8661
  /**
@@ -8317,6 +8719,8 @@ interface PendingPromise {
8317
8719
  * This is the state of a promise that has resolved
8318
8720
  * successfully.
8319
8721
  *
8722
+ * @summary The `getPromiseState` state for a promise that resolved, with `isSuccess` true and the
8723
+ * resolved `value`.
8320
8724
  */
8321
8725
  interface ResolvedPromise<T> {
8322
8726
  /**
@@ -8380,6 +8784,8 @@ interface ResolvedPromise<T> {
8380
8784
  * This is the state of a promise that has rejected
8381
8785
  * with an error.
8382
8786
  *
8787
+ * @summary The `getPromiseState` state for a promise that rejected, with `isError` true and the
8788
+ * rejection `reason`.
8383
8789
  */
8384
8790
  interface RejectedPromise<E> {
8385
8791
  /**
@@ -8447,11 +8853,16 @@ interface RejectedPromise<E> {
8447
8853
  * - {@link ResolvedPromise}
8448
8854
  * - {@link RejectedPromise}
8449
8855
  *
8856
+ * @summary The reactive pending, fulfilled, or rejected state of a promise, as returned by
8857
+ * `getPromiseState`.
8450
8858
  */
8451
8859
  type PromiseState<T = unknown, E = unknown> = PendingPromise | ResolvedPromise<T> | RejectedPromise<E>;
8452
8860
  /**
8453
8861
  * Returns a reactive state-machine for the provided promise or awaitable.
8454
8862
  *
8863
+ * The [Async as Reactive State](/guides/the-manual/reactivity/derivation) guide shows
8864
+ * how to use it in place of tracked loading and error state.
8865
+ *
8455
8866
  * Repeat calls to `getPromiseState` with the same promise will return the same state object
8456
8867
  * making is safe and easy to use in templates and JavaScript code to produce reactive
8457
8868
  * behaviors around promises.
@@ -8501,6 +8912,9 @@ type PromiseState<T = unknown, E = unknown> = PendingPromise | ResolvedPromise<T
8501
8912
  * If looking to use in a template, consider also the `<Await />` component.
8502
8913
  *
8503
8914
  * See also {@link PromiseState}
8915
+ *
8916
+ * @summary Returns a cached, reactive state object tracking whether a promise is pending, fulfilled, or
8917
+ * rejected, for use in JS or templates.
8504
8918
  */
8505
8919
  declare function getPromiseState<T = unknown, E = unknown>(promise: Promise<T> | Awaitable<T, E>): Readonly<PromiseState<T, E>>;
8506
8920
  //#endregion
@@ -8510,6 +8924,8 @@ declare function getPromiseState<T = unknown, E = unknown>(promise: Promise<T> |
8510
8924
  * reactive properties that can be used to build UIs that respond
8511
8925
  * to the progress of a request.
8512
8926
  *
8927
+ * @summary Reactive download progress for a request, such as bytes loaded and timing, built by lazily
8928
+ * reading its response stream.
8513
8929
  * @hideconstructor
8514
8930
  */
8515
8931
  declare class RequestLoadingState {
@@ -8729,9 +9145,11 @@ interface RejectedRequest<RT, E extends StructuredErrorDocument = StructuredErro
8729
9145
  response: Response | ResponseInfo | null;
8730
9146
  }
8731
9147
  /**
8732
- * The state of a request in the "cancelled" state.
8733
- * This is the state of a promise that has been
8734
- * cancelled.
9148
+ * The state of a request that was aborted before it settled.
9149
+ *
9150
+ * A cancelled request has `status: 'cancelled'` and its `reason` is an
9151
+ * `AbortError`. `isError` is also `true`, as for a {@link RejectedRequest},
9152
+ * so check `status` or `isCancelled` to tell the two apart.
8735
9153
  *
8736
9154
  */
8737
9155
  interface CancelledRequest<RT, E extends StructuredErrorDocument = StructuredErrorDocument> {
@@ -8865,11 +9283,33 @@ interface CancelledRequest<RT, E extends StructuredErrorDocument = StructuredErr
8865
9283
  * - {@link RejectedRequest}
8866
9284
  * - {@link CancelledRequest}
8867
9285
  *
9286
+ * @summary The reactive pending, fulfilled, rejected, or cancelled state of a request `Future`, as
9287
+ * returned by `getRequestState`.
8868
9288
  */
8869
9289
  type RequestState<RT = unknown, E extends StructuredErrorDocument = StructuredErrorDocument> = PendingRequest | ResolvedRequest<RT> | RejectedRequest<RT, E> | CancelledRequest<RT, E>;
8870
9290
  /**
8871
9291
  * `getRequestState` can be used in both JavaScript and Template contexts.
8872
9292
  *
9293
+ * It returns a {@link RequestState}: a reactive object that updates as the
9294
+ * request advances. Calling it again with the same {@link Future} returns the
9295
+ * same object. Check `status` to narrow it to one of four states:
9296
+ *
9297
+ * - {@link PendingRequest} (`'pending'`) is the initial state, before the
9298
+ * request settles.
9299
+ * - {@link ResolvedRequest} (`'fulfilled'`) holds the response content on `value`.
9300
+ * - {@link RejectedRequest} (`'rejected'`) holds the error on `reason`.
9301
+ * - {@link CancelledRequest} (`'cancelled'`) is a request that was aborted.
9302
+ * `isError` is also `true` for a cancelled request, so check `status` or
9303
+ * `isCancelled` rather than `isError` if you handle it differently.
9304
+ *
9305
+ * Every state also exposes a {@link RequestLoadingState} on `loadingState`
9306
+ * for tracking the progress of the response stream.
9307
+ *
9308
+ * The [Reactive Control Flow](/guides/the-manual/reactivity/control-flow) guide shows
9309
+ * how to render request states with it, and
9310
+ * [Using The Response](/guides/the-manual/requests/using-the-response) covers the
9311
+ * `Future` it reads.
9312
+ *
8873
9313
  * ```ts
8874
9314
  * import { getRequestState } from '@warp-drive-mirror/ember';
8875
9315
  *
@@ -8916,6 +9356,10 @@ type RequestState<RT = unknown, E extends StructuredErrorDocument = StructuredEr
8916
9356
  * which offers a number of additional capabilities for requests *beyond* what
8917
9357
  * `RequestState` provides.
8918
9358
  *
9359
+ * @param future - the request {@link Future} to track, as returned by `store.request` or `requestManager.request`
9360
+ * @return the cached {@link RequestState} for `future`
9361
+ * @summary Returns a cached, reactive state object tracking a request `Future` through pending, success,
9362
+ * error, and cancellation.
8919
9363
  */
8920
9364
  declare function getRequestState<RT, E>(future: Future<RT>): Readonly<RequestState<RT, StructuredErrorDocument<E>>>;
8921
9365
  //#endregion
@@ -8928,16 +9372,25 @@ declare const DISPOSE: "(symbol) dispose";
8928
9372
  /**
8929
9373
  * The individual autorefresh strategies a {@link RequestSubscription}
8930
9374
  * may combine, see {@link AutorefreshBehaviorCombos}.
9375
+ *
9376
+ * @summary One autorefresh trigger for a request subscription: on reconnecting (`online`), on a timer
9377
+ * (`interval`), or on store invalidation (`invalid`).
8931
9378
  */
8932
9379
  type AutorefreshBehaviorType = "online" | "interval" | "invalid";
8933
9380
  /**
8934
9381
  * The value accepted by {@link SubscriptionArgs.autorefresh}: either a
8935
9382
  * boolean, a single {@link AutorefreshBehaviorType}, or a comma-separated
8936
9383
  * combination of up to three of them.
9384
+ *
9385
+ * @summary The accepted values for a request subscription's `autorefresh` option: a boolean or a
9386
+ * comma-separated mix of `online`, `interval`, and `invalid`.
8937
9387
  */
8938
9388
  type AutorefreshBehaviorCombos = boolean | AutorefreshBehaviorType | `${AutorefreshBehaviorType},${AutorefreshBehaviorType}` | `${AutorefreshBehaviorType},${AutorefreshBehaviorType},${AutorefreshBehaviorType}`;
8939
9389
  /**
8940
9390
  * Utilities to assist in recovering from the error.
9391
+ *
9392
+ * @summary The online and visibility state plus a `retry` function that a request subscription exposes
9393
+ * for recovering from a failed request.
8941
9394
  */
8942
9395
  interface RecoveryFeatures {
8943
9396
  /**
@@ -8955,6 +9408,9 @@ interface RecoveryFeatures {
8955
9408
  }
8956
9409
  /**
8957
9410
  * Utilities for keeping the request fresh
9411
+ *
9412
+ * @summary The online, visibility, and refreshing state plus `refresh`, `reload`, and `abort` functions a
9413
+ * request subscription exposes alongside successful content.
8958
9414
  */
8959
9415
  interface ContentFeatures<RT> {
8960
9416
  /**
@@ -8988,6 +9444,9 @@ interface ContentFeatures<RT> {
8988
9444
  }
8989
9445
  /**
8990
9446
  * The args accepted by the `<Request />` component.
9447
+ *
9448
+ * @summary The arguments of the `<Request />` component: the request or query to run, autorefresh
9449
+ * options, and an optional store or subscription.
8991
9450
  */
8992
9451
  interface RequestArgs<RT, E> extends SubscriptionArgs<RT, E> {
8993
9452
  /**
@@ -9006,6 +9465,8 @@ interface RequestArgs<RT, E> extends SubscriptionArgs<RT, E> {
9006
9465
  }
9007
9466
  /**
9008
9467
  * The args accepted by a {@link RequestSubscription}.
9468
+ *
9469
+ * @summary Options for a request subscription: the request or query to monitor and its autorefresh settings.
9009
9470
  */
9010
9471
  interface SubscriptionArgs<RT, E> {
9011
9472
  /**
@@ -9070,6 +9531,8 @@ interface RequestSubscription<RT, E> {
9070
9531
  /**
9071
9532
  * A reactive class
9072
9533
  *
9534
+ * @summary Reactive subscription that monitors a request or query, tracking online, visibility and refresh state and
9535
+ * handling autorefresh, reload and retry.
9073
9536
  * @hideconstructor
9074
9537
  */
9075
9538
  declare class RequestSubscription<RT, E> {
@@ -9134,6 +9597,9 @@ declare class RequestSubscription<RT, E> {
9134
9597
  /**
9135
9598
  * Creates a {@link RequestSubscription}, the reactive class powering the
9136
9599
  * `<Request />` component's autorefresh, retry, and refresh behaviors.
9600
+ *
9601
+ * @summary Creates a reactive subscription to a request or query that tracks its state and handles
9602
+ * autorefresh, retry, and refresh.
9137
9603
  */
9138
9604
  declare function createRequestSubscription<RT, E>(store: Store$1 | RequestManager, args: SubscriptionArgs<RT, E>): RequestSubscription<RT, E>;
9139
9605
  //#endregion
@@ -9260,5 +9726,5 @@ declare function peekInternalSignal(signals: SignalStore | undefined, key: strin
9260
9726
  */
9261
9727
  declare function notifyInternalSignal(signal: WarpDriveSignal | undefined): void;
9262
9728
  //#endregion
9263
- export { PrivateRequestStateService as $, UpdateRequestOptions as $n, NotificationType as $t, PolicyConfig as A, CreateRequestOptions as An, withReactiveResponse as At, logGroup as B, ImmutableRequestInfo as Bn, GraphEdge as Bt, getPromiseState as C, FindAllOptions as Cn, ReactiveDocument as Ct, useRecommendedStore as D, ModelSchema as Dn, StoreRequestContext as Dt, StoreSetupOptions as E, QueryOptions as En, CacheHandler as Et, PrivateReactiveResource as F, HTTPMethod as Fn, createDeferred as Ft, ensureStringId as G, RequestContext as Gn, Cache as Gt, createLegacyManyArray as H, PostQueryRequestOptions as Hn, ImplicitEdge as Ht, ReactiveResource as I, IS_FUTURE as In, graphFor as It, PrivateStore as J, STRUCTURED as Jn, CacheCapabilitiesManager$1 as Jt, constructResource as K, RequestInfo as Kn, ChangedAttributesHash as Kt, checkout as L, ImmutableCreateRequestOptions as Ln, peekGraph as Lt, Fetch as M, EnableHydration as Mn, Awaitable as Mt, instantiateRecord as N, FindRecordOptions$2 as Nn, getPromiseResult as Nt, CacheControlValue as O, CacheOptions as On, StoreRequestInput as Ot, teardownRecord as P, FindRecordRequestOptions as Pn, setPromiseResult as Pt, FindRecordQuery as Q, StructuredErrorDocument as Qn, NotificationManager$1 as Qt, commit as R, ImmutableDeleteRequestOptions as Rn, isBelongsTo as Rt, ResolvedPromise as S, BaseFinderOptions as Sn, ReactiveDataDocument as St, Document as T, LegacyResourceQuery as Tn, CachePolicy as Tt, normalizeModelName as U, QueryRequestOptions as Un, CollectionEdge as Ut, LegacyManyArray as V, ImmutableUpdateRequestOptions as Vn, ResourceEdge as Vt, coerceId as W, RemotelyAccessibleIdentifier as Wn, UpgradedMeta as Wt, assertPrivateStore as X, StructuredDataDocument as Xn, DocumentCacheOperation$1 as Xt, Store$1 as Y, SkipCache as Yn, CacheOperation$1 as Yt, isPrivateStore as Z, StructuredDocument as Zn, NotificationChannel as Zt, RequestState as _, SchemaService$1 as _n, recordIdentifierFor as _t, notifyInternalSignal as a, setIdentifierForgetMethod as an, Handler as ar, fastPush as at, PromiseState as b, registerDerivations as bn, PrivateCacheCapabilitiesManager as bt, AutorefreshBehaviorCombos as c, setIdentifierUpdateMethod as cn, RequestManager as cr, PrivateReactiveResourceArray as ct, RecoveryFeatures as d, RelationshipsSchema as dn, Checkout as dt, NotifyKeys as en, FetchError as er, Request$1 as et, RequestArgs as f, SchemaService as fn, Context as ft, RequestLoadingState as g, ProcessedExtension as gn, _clearCaches as gt, createRequestSubscription as h, ExtensionDef as hn, StoreMap as ht, makeInitializer as i, isResourceKey as in, Future as ir, RecordArrayManager as it, parseCacheControl as j, DeleteRequestOptions as jn, withResponseType as jt, DefaultCachePolicy as k, ConstrainedRequestOptions as kn, withBrand as kt, ContentFeatures as l, setKeyInfoForResource as ln, ReactiveResourceArray as lt, SubscriptionArgs as m, ExtensibleField as mn, InstanceCache as mt, WarpDriveSignal as n, fieldValueIdentity as nn, CacheHandler$1 as nr, RequestStateService as nt, peekInternalSignal as o, setIdentifierGenerationMethod as on, ManagedRequestPriority as or, LegacyQueryArray as ot, RequestSubscription as p, CAUTION_MEGA_DANGER_ZONE_Extension as pn, NativeProxy as pt, CreateRecordProperties as q, ResponseInfo as qn, RelationshipDiff as qt, getOrCreateInternalSignal as r, isRequestKey as rn, Deferred as rr, SaveRecordMutation as rt, withSignalStore as s, setIdentifierResetMethod as sn, NextFn as sr, LegacyLiveArray as st, SignalStore as t, FieldValueIdentity as tn, Context$1 as tr, RequestCacheRequestState as tt, DISPOSE as u, AttributesSchema as un, ManagedArray as ut, getRequestState as v, Transformation as vn, setRecordIdentifier as vt, ConfiguredStore as w, FindRecordOptions as wn, ReactiveErrorDocument as wt, RejectedPromise as x, withDefaults as xn, assertPrivateCapabilities as xt, PendingPromise as y, fromIdentity as yn, storeFor as yt, log as z, ImmutableHeaders as zn, Graph as zt };
9264
- //# sourceMappingURL=internal-9XuWZdDv.d.ts.map
9729
+ export { PrivateStore as $, STRUCTURED as $n, CacheCapabilitiesManager$1 as $t, Document as A, LegacyResourceQuery as An, CachePolicy as At, PrivateReactiveResource as B, HTTPMethod as Bn, createDeferred as Bt, getRequestState as C, Transformation as Cn, setRecordIdentifier as Ct, ResolvedPromise as D, BaseFinderOptions as Dn, ReactiveDataDocument as Dt, RejectedPromise as E, withDefaults as En, assertPrivateCapabilities as Et, PolicyConfig as F, CreateRequestOptions as Fn, withReactiveResponse as Ft, logGroup as G, ImmutableRequestInfo as Gn, GraphEdge as Gt, checkout as H, ImmutableCreateRequestOptions as Hn, peekGraph as Ht, parseCacheControl as I, DeleteRequestOptions as In, withResponseType as It, normalizeModelName as J, QueryRequestOptions as Jn, CollectionEdge as Jt, LegacyManyArray as K, ImmutableUpdateRequestOptions as Kn, ResourceEdge as Kt, Fetch as L, EnableHydration as Ln, Awaitable as Lt, useRecommendedStore as M, ModelSchema as Mn, StoreRequestContext as Mt, CacheControlValue as N, CacheOptions as Nn, StoreRequestInput as Nt, getPromiseState as O, FindAllOptions as On, ReactiveDocument as Ot, DefaultCachePolicy as P, ConstrainedRequestOptions as Pn, withBrand as Pt, CreateRecordProperties as Q, ResponseInfo as Qn, RelationshipDiff as Qt, instantiateRecord as R, FindRecordOptions$2 as Rn, getPromiseResult as Rt, ResolvedRequest as S, SchemaService$1 as Sn, recordIdentifierFor as St, PromiseState as T, registerDerivations as Tn, PrivateCacheCapabilitiesManager as Tt, commit as U, ImmutableDeleteRequestOptions as Un, isBelongsTo as Ut, ReactiveResource as V, IS_FUTURE as Vn, graphFor as Vt, log as W, ImmutableHeaders as Wn, Graph as Wt, ensureStringId as X, RequestContext as Xn, Cache as Xt, coerceId as Y, RemotelyAccessibleIdentifier as Yn, UpgradedMeta as Yt, constructResource as Z, RequestInfo as Zn, ChangedAttributesHash as Zt, CancelledRequest as _, SchemaService as _n, Context as _t, notifyInternalSignal as a, NotifyKeys as an, FetchError as ar, Request$1 as at, RequestLoadingState as b, ExtensionDef as bn, StoreMap as bt, AutorefreshBehaviorCombos as c, isRequestKey as cn, Deferred as cr, SaveRecordMutation as ct, DISPOSE as d, setIdentifierGenerationMethod as dn, ManagedRequestPriority as dr, LegacyQueryArray as dt, CacheOperation$1 as en, SkipCache as er, Store$1 as et, RecoveryFeatures as f, setIdentifierResetMethod as fn, NextFn as fr, LegacyLiveArray as ft, createRequestSubscription as g, RelationshipsSchema as gn, Checkout as gt, SubscriptionArgs as h, AttributesSchema as hn, ManagedArray as ht, makeInitializer as i, NotificationType as in, UpdateRequestOptions as ir, PrivateRequestStateService as it, StoreSetupOptions as j, QueryOptions as jn, CacheHandler as jt, ConfiguredStore as k, FindRecordOptions as kn, ReactiveErrorDocument as kt, AutorefreshBehaviorType as l, isResourceKey as ln, Future as lr, RecordArrayManager as lt, RequestSubscription as m, setKeyInfoForResource as mn, ReactiveResourceArray as mt, WarpDriveSignal as n, NotificationChannel as nn, StructuredDocument as nr, isPrivateStore as nt, peekInternalSignal as o, FieldValueIdentity as on, Context$1 as or, RequestCacheRequestState as ot, RequestArgs as p, setIdentifierUpdateMethod as pn, RequestManager as pr, PrivateReactiveResourceArray as pt, createLegacyManyArray as q, PostQueryRequestOptions as qn, ImplicitEdge as qt, getOrCreateInternalSignal as r, NotificationManager$1 as rn, StructuredErrorDocument as rr, FindRecordQuery as rt, withSignalStore as s, fieldValueIdentity as sn, CacheHandler$1 as sr, RequestStateService as st, SignalStore as t, DocumentCacheOperation$1 as tn, StructuredDataDocument as tr, assertPrivateStore as tt, ContentFeatures as u, setIdentifierForgetMethod as un, Handler as ur, fastPush as ut, PendingRequest as v, CAUTION_MEGA_DANGER_ZONE_Extension as vn, NativeProxy as vt, PendingPromise as w, fromIdentity as wn, storeFor as wt, RequestState as x, ProcessedExtension as xn, _clearCaches as xt, RejectedRequest as y, ExtensibleField as yn, InstanceCache as yt, teardownRecord as z, FindRecordRequestOptions as zn, setPromiseResult as zt };
9730
+ //# sourceMappingURL=internal-CgOlgOt3.d.ts.map