gemi 0.124.0 → 0.125.0

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 (299) hide show
  1. package/dist/ai/AgentController.d.ts +185 -3
  2. package/dist/ai/AgentController.d.ts.map +1 -1
  3. package/dist/ai/client/index.d.ts +1 -1
  4. package/dist/ai/client/index.d.ts.map +1 -1
  5. package/dist/ai/client/index.js +38 -9
  6. package/dist/ai/client/index.js.map +1 -1
  7. package/dist/ai/client/reducer.d.ts.map +1 -1
  8. package/dist/ai/index.d.ts +2 -2
  9. package/dist/ai/index.d.ts.map +1 -1
  10. package/dist/ai/index.js +31 -48
  11. package/dist/ai/index.js.map +6 -15
  12. package/dist/ai/types.d.ts +26 -0
  13. package/dist/ai/types.d.ts.map +1 -1
  14. package/dist/ai/useChat.d.ts +35 -2
  15. package/dist/ai/useChat.d.ts.map +1 -1
  16. package/dist/app/index.js +1 -1
  17. package/dist/auth/AuthController.d.ts.map +1 -1
  18. package/dist/auth/AuthManager.d.ts +11 -0
  19. package/dist/auth/AuthManager.d.ts.map +1 -1
  20. package/dist/auth/AuthServiceProvider.d.ts +2 -0
  21. package/dist/auth/AuthServiceProvider.d.ts.map +1 -1
  22. package/dist/auth/config.d.ts +71 -2
  23. package/dist/auth/config.d.ts.map +1 -1
  24. package/dist/auth/oauth/providers.d.ts +10 -0
  25. package/dist/auth/oauth/providers.d.ts.map +1 -0
  26. package/dist/bun/plugin.js +1 -1
  27. package/dist/bun/preload.js +1 -1
  28. package/dist/{chunk-a3g7y70h.js → chunk-0x1s02r1.js} +3 -3
  29. package/dist/{chunk-a3g7y70h.js.map → chunk-0x1s02r1.js.map} +1 -1
  30. package/dist/{chunk-yzhv93b0.js → chunk-1jcngq6w.js} +3 -3
  31. package/dist/{chunk-yzhv93b0.js.map → chunk-1jcngq6w.js.map} +1 -1
  32. package/dist/{chunk-mrswc6qw.js → chunk-1mxb44n9.js} +2 -2
  33. package/dist/{chunk-mrswc6qw.js.map → chunk-1mxb44n9.js.map} +1 -1
  34. package/dist/{chunk-9tr92nwy.js → chunk-1n40bdxf.js} +2 -2
  35. package/dist/{chunk-9tr92nwy.js.map → chunk-1n40bdxf.js.map} +1 -1
  36. package/dist/chunk-1xmh61fg.js +5 -0
  37. package/dist/{chunk-70nnh0y7.js.map → chunk-1xmh61fg.js.map} +1 -1
  38. package/dist/{chunk-bt9qv2jj.js → chunk-3br5zr7a.js} +3 -3
  39. package/dist/{chunk-bt9qv2jj.js.map → chunk-3br5zr7a.js.map} +1 -1
  40. package/dist/{chunk-w61sphn5.js → chunk-3kxe9geg.js} +3 -3
  41. package/dist/{chunk-w61sphn5.js.map → chunk-3kxe9geg.js.map} +1 -1
  42. package/dist/{chunk-bnt8kx6x.js → chunk-5fh4pvyt.js} +2 -2
  43. package/dist/{chunk-bnt8kx6x.js.map → chunk-5fh4pvyt.js.map} +1 -1
  44. package/dist/{chunk-rpyczdta.js → chunk-6gwxvmjv.js} +3 -3
  45. package/dist/{chunk-rpyczdta.js.map → chunk-6gwxvmjv.js.map} +1 -1
  46. package/dist/{chunk-65s834td.js → chunk-6q6bhkyf.js} +1 -1
  47. package/dist/{chunk-fn2qfwgx.js → chunk-6vz75swk.js} +2 -2
  48. package/dist/{chunk-fn2qfwgx.js.map → chunk-6vz75swk.js.map} +1 -1
  49. package/dist/chunk-6wgh7nk6.js +15 -0
  50. package/dist/{chunk-n0r5xyk2.js.map → chunk-6wgh7nk6.js.map} +6 -5
  51. package/dist/chunk-7vrrgxwm.js +22 -0
  52. package/dist/chunk-7vrrgxwm.js.map +21 -0
  53. package/dist/{chunk-kzsjyvvc.js → chunk-7zj6bk9a.js} +2 -2
  54. package/dist/{chunk-kzsjyvvc.js.map → chunk-7zj6bk9a.js.map} +1 -1
  55. package/dist/{chunk-3hqwz48c.js → chunk-8tvfmy1a.js} +4 -4
  56. package/dist/{chunk-3hqwz48c.js.map → chunk-8tvfmy1a.js.map} +1 -1
  57. package/dist/{chunk-6bgb1nhq.js → chunk-910p6ne6.js} +2 -2
  58. package/dist/{chunk-6bgb1nhq.js.map → chunk-910p6ne6.js.map} +1 -1
  59. package/dist/{chunk-96a1459v.js → chunk-ap3g6rbw.js} +2 -2
  60. package/dist/{chunk-96a1459v.js.map → chunk-ap3g6rbw.js.map} +1 -1
  61. package/dist/{chunk-3j6s5bmx.js → chunk-ayfjjgv2.js} +1 -1
  62. package/dist/chunk-b4x1dt3s.js +10 -0
  63. package/dist/chunk-b4x1dt3s.js.map +43 -0
  64. package/dist/{chunk-f29pktad.js → chunk-b7a22evs.js} +3 -3
  65. package/dist/{chunk-f29pktad.js.map → chunk-b7a22evs.js.map} +1 -1
  66. package/dist/{chunk-qdj8ek8z.js → chunk-bny9s44t.js} +2 -2
  67. package/dist/{chunk-qdj8ek8z.js.map → chunk-bny9s44t.js.map} +1 -1
  68. package/dist/{chunk-1rnh9qrp.js → chunk-by5gwr8x.js} +2 -2
  69. package/dist/{chunk-1rnh9qrp.js.map → chunk-by5gwr8x.js.map} +1 -1
  70. package/dist/{chunk-nn2jeat2.js → chunk-c0qpv8x7.js} +2 -2
  71. package/dist/{chunk-17dndh5z.js.map → chunk-c0qpv8x7.js.map} +1 -1
  72. package/dist/{chunk-f4cmz31h.js → chunk-cpem1j1x.js} +2 -2
  73. package/dist/{chunk-f4cmz31h.js.map → chunk-cpem1j1x.js.map} +1 -1
  74. package/dist/{chunk-019wz697.js → chunk-crnfxn9n.js} +2 -2
  75. package/dist/{chunk-019wz697.js.map → chunk-crnfxn9n.js.map} +1 -1
  76. package/dist/{chunk-s5jxc63j.js → chunk-cwt8e782.js} +3 -3
  77. package/dist/{chunk-s5jxc63j.js.map → chunk-cwt8e782.js.map} +1 -1
  78. package/dist/{chunk-fw7ds23a.js → chunk-dxyxd7b3.js} +2 -2
  79. package/dist/{chunk-fw7ds23a.js.map → chunk-dxyxd7b3.js.map} +1 -1
  80. package/dist/{chunk-qhz0x97z.js → chunk-dy58aztm.js} +2 -2
  81. package/dist/{chunk-qhz0x97z.js.map → chunk-dy58aztm.js.map} +1 -1
  82. package/dist/{chunk-skf89vrv.js → chunk-entpqjyn.js} +2 -2
  83. package/dist/{chunk-skf89vrv.js.map → chunk-entpqjyn.js.map} +1 -1
  84. package/dist/{chunk-7gfdts60.js → chunk-eq5svwca.js} +2 -2
  85. package/dist/{chunk-7gfdts60.js.map → chunk-eq5svwca.js.map} +1 -1
  86. package/dist/{chunk-n1a2zj5z.js → chunk-erzfs4t2.js} +2 -2
  87. package/dist/{chunk-n1a2zj5z.js.map → chunk-erzfs4t2.js.map} +3 -3
  88. package/dist/{chunk-3y294mb8.js → chunk-ex41d03h.js} +2 -2
  89. package/dist/{chunk-3y294mb8.js.map → chunk-ex41d03h.js.map} +1 -1
  90. package/dist/{chunk-v2ggafz1.js → chunk-ey1xrbaz.js} +2 -2
  91. package/dist/{chunk-v2ggafz1.js.map → chunk-ey1xrbaz.js.map} +1 -1
  92. package/dist/chunk-eyptwf54.js +57 -0
  93. package/dist/{chunk-5j50q4g8.js.map → chunk-eyptwf54.js.map} +22 -19
  94. package/dist/{chunk-zsfwcdqn.js → chunk-g52fcwca.js} +2 -2
  95. package/dist/{chunk-zsfwcdqn.js.map → chunk-g52fcwca.js.map} +1 -1
  96. package/dist/{chunk-rttrpjqk.js → chunk-ghcvztxn.js} +2 -2
  97. package/dist/{chunk-rttrpjqk.js.map → chunk-ghcvztxn.js.map} +1 -1
  98. package/dist/{chunk-wbg2tza5.js → chunk-gp00enrk.js} +1 -1
  99. package/dist/{chunk-92sk56n0.js → chunk-h8w9mzjj.js} +6 -6
  100. package/dist/{chunk-92sk56n0.js.map → chunk-h8w9mzjj.js.map} +7 -7
  101. package/dist/{chunk-cfdwsvtx.js → chunk-hff9w6rt.js} +2 -2
  102. package/dist/{chunk-cfdwsvtx.js.map → chunk-hff9w6rt.js.map} +1 -1
  103. package/dist/{chunk-17dndh5z.js → chunk-hxn0s3zh.js} +2 -2
  104. package/dist/{chunk-nn2jeat2.js.map → chunk-hxn0s3zh.js.map} +1 -1
  105. package/dist/{chunk-8m2htvjn.js → chunk-hzen9gh4.js} +2 -2
  106. package/dist/{chunk-8m2htvjn.js.map → chunk-hzen9gh4.js.map} +1 -1
  107. package/dist/{chunk-c4jnxmf2.js → chunk-j10a0m7q.js} +1 -1
  108. package/dist/{chunk-5e22tm7m.js → chunk-j12hpdxk.js} +1 -1
  109. package/dist/{chunk-ykz38t0t.js → chunk-j5rwv09s.js} +2 -2
  110. package/dist/{chunk-ykz38t0t.js.map → chunk-j5rwv09s.js.map} +1 -1
  111. package/dist/{chunk-w4z6x54b.js → chunk-jykkqwcy.js} +3 -3
  112. package/dist/{chunk-w4z6x54b.js.map → chunk-jykkqwcy.js.map} +1 -1
  113. package/dist/{chunk-w3812s34.js → chunk-k1ebt28j.js} +2 -2
  114. package/dist/{chunk-w3812s34.js.map → chunk-k1ebt28j.js.map} +1 -1
  115. package/dist/{chunk-h3p8qzft.js → chunk-kcsa57km.js} +2 -2
  116. package/dist/{chunk-h3p8qzft.js.map → chunk-kcsa57km.js.map} +1 -1
  117. package/dist/{chunk-1qwhty9p.js → chunk-khdkrfxp.js} +2 -2
  118. package/dist/{chunk-1qwhty9p.js.map → chunk-khdkrfxp.js.map} +1 -1
  119. package/dist/{chunk-b5afy6k9.js → chunk-knq4ack4.js} +2 -2
  120. package/dist/{chunk-b5afy6k9.js.map → chunk-knq4ack4.js.map} +1 -1
  121. package/dist/{chunk-121p4g9j.js → chunk-m7pghdcy.js} +2 -2
  122. package/dist/{chunk-121p4g9j.js.map → chunk-m7pghdcy.js.map} +1 -1
  123. package/dist/{chunk-rtawbqec.js → chunk-mmqnq1qh.js} +3 -3
  124. package/dist/{chunk-rtawbqec.js.map → chunk-mmqnq1qh.js.map} +1 -1
  125. package/dist/{chunk-34fkx6kb.js → chunk-n3z83qhq.js} +2 -2
  126. package/dist/{chunk-34fkx6kb.js.map → chunk-n3z83qhq.js.map} +1 -1
  127. package/dist/{chunk-mvkz22p4.js → chunk-npbf06c1.js} +2 -2
  128. package/dist/{chunk-mvkz22p4.js.map → chunk-npbf06c1.js.map} +1 -1
  129. package/dist/{chunk-2affxmkn.js → chunk-p5df4pn7.js} +2 -2
  130. package/dist/{chunk-2affxmkn.js.map → chunk-p5df4pn7.js.map} +1 -1
  131. package/dist/{chunk-y434jc1c.js → chunk-p6jbmcrg.js} +2 -2
  132. package/dist/{chunk-y434jc1c.js.map → chunk-p6jbmcrg.js.map} +1 -1
  133. package/dist/{chunk-jctb7v53.js → chunk-p7mvp5nf.js} +2 -2
  134. package/dist/{chunk-jctb7v53.js.map → chunk-p7mvp5nf.js.map} +1 -1
  135. package/dist/{chunk-jys8y39p.js → chunk-q6ah4yjg.js} +2 -2
  136. package/dist/{chunk-jys8y39p.js.map → chunk-q6ah4yjg.js.map} +1 -1
  137. package/dist/{chunk-pmyh33v5.js → chunk-r923001x.js} +2 -2
  138. package/dist/{chunk-pmyh33v5.js.map → chunk-r923001x.js.map} +1 -1
  139. package/dist/{chunk-mqtfaqx5.js → chunk-rany5zgk.js} +2 -2
  140. package/dist/{chunk-mqtfaqx5.js.map → chunk-rany5zgk.js.map} +1 -1
  141. package/dist/{chunk-30xxc6r7.js → chunk-rmgkc3a2.js} +2 -2
  142. package/dist/{chunk-30xxc6r7.js.map → chunk-rmgkc3a2.js.map} +1 -1
  143. package/dist/{chunk-v8v5qfnh.js → chunk-rvspb96n.js} +3 -3
  144. package/dist/{chunk-v8v5qfnh.js.map → chunk-rvspb96n.js.map} +1 -1
  145. package/dist/{chunk-zsvav1dk.js → chunk-rwmja4zs.js} +2 -2
  146. package/dist/{chunk-zsvav1dk.js.map → chunk-rwmja4zs.js.map} +1 -1
  147. package/dist/{chunk-j7v7dft7.js → chunk-s4semb89.js} +1 -1
  148. package/dist/{chunk-szn2n976.js → chunk-s4xg69r9.js} +2 -2
  149. package/dist/{chunk-szn2n976.js.map → chunk-s4xg69r9.js.map} +1 -1
  150. package/dist/{chunk-4drnyymm.js → chunk-stn0a56e.js} +2 -2
  151. package/dist/{chunk-4drnyymm.js.map → chunk-stn0a56e.js.map} +1 -1
  152. package/dist/{chunk-pe46a5a5.js → chunk-sv125fqq.js} +2 -2
  153. package/dist/{chunk-pe46a5a5.js.map → chunk-sv125fqq.js.map} +1 -1
  154. package/dist/{chunk-dxfhhw5h.js → chunk-t2t63wa0.js} +2 -2
  155. package/dist/{chunk-dxfhhw5h.js.map → chunk-t2t63wa0.js.map} +1 -1
  156. package/dist/{chunk-675kzd7z.js → chunk-t6qpm2j7.js} +2 -2
  157. package/dist/{chunk-675kzd7z.js.map → chunk-t6qpm2j7.js.map} +1 -1
  158. package/dist/chunk-tabsxzg9.js +5 -0
  159. package/dist/chunk-tabsxzg9.js.map +13 -0
  160. package/dist/{chunk-qycwjzsv.js → chunk-vhvvjaj3.js} +3 -3
  161. package/dist/{chunk-qycwjzsv.js.map → chunk-vhvvjaj3.js.map} +1 -1
  162. package/dist/{chunk-sd0c2001.js → chunk-x2j84d06.js} +2 -2
  163. package/dist/{chunk-sd0c2001.js.map → chunk-x2j84d06.js.map} +1 -1
  164. package/dist/{chunk-75ewjc4a.js → chunk-xe2pm36q.js} +2 -2
  165. package/dist/{chunk-75ewjc4a.js.map → chunk-xe2pm36q.js.map} +1 -1
  166. package/dist/{chunk-z5jydj5r.js → chunk-xfvegbxn.js} +2 -2
  167. package/dist/{chunk-z5jydj5r.js.map → chunk-xfvegbxn.js.map} +1 -1
  168. package/dist/{chunk-2n4490pk.js → chunk-y9f2see3.js} +3 -3
  169. package/dist/{chunk-2n4490pk.js.map → chunk-y9f2see3.js.map} +1 -1
  170. package/dist/{chunk-nkzmk7v3.js → chunk-yhht1j7f.js} +2 -2
  171. package/dist/{chunk-nkzmk7v3.js.map → chunk-yhht1j7f.js.map} +1 -1
  172. package/dist/{chunk-nnarmbjv.js → chunk-z5nfve1k.js} +2 -2
  173. package/dist/chunk-z5nfve1k.js.map +10 -0
  174. package/dist/{chunk-fvrmptd0.js → chunk-zq5375wd.js} +3 -3
  175. package/dist/{chunk-fvrmptd0.js.map → chunk-zq5375wd.js.map} +1 -1
  176. package/dist/chunks/{ThemeProvider-CbOx8IRl.js → ThemeProvider-CS2a1snV.js} +27 -1
  177. package/dist/chunks/ThemeProvider-CS2a1snV.js.map +1 -0
  178. package/dist/client/Mutation.d.ts +7 -6
  179. package/dist/client/Mutation.d.ts.map +1 -1
  180. package/dist/client/MutationError.d.ts +53 -1
  181. package/dist/client/MutationError.d.ts.map +1 -1
  182. package/dist/client/QueryResource.d.ts +9 -0
  183. package/dist/client/QueryResource.d.ts.map +1 -1
  184. package/dist/client/auth/useEmailCode.d.ts +3 -3
  185. package/dist/client/auth/useForgotPassword.d.ts +1 -1
  186. package/dist/client/auth/useResetPassword.d.ts +1 -1
  187. package/dist/client/auth/useSignIn.d.ts +1 -1
  188. package/dist/client/auth/useSignOut.d.ts +1 -1
  189. package/dist/client/auth/useSignUp.d.ts +1 -1
  190. package/dist/client/index.d.ts +4 -2
  191. package/dist/client/index.d.ts.map +1 -1
  192. package/dist/client/index.js +136 -9
  193. package/dist/client/index.js.map +1 -1
  194. package/dist/client/useMutation.d.ts +18 -8
  195. package/dist/client/useMutation.d.ts.map +1 -1
  196. package/dist/client/useSetQueryData.d.ts +69 -0
  197. package/dist/client/useSetQueryData.d.ts.map +1 -0
  198. package/dist/config/index.js +1 -1
  199. package/dist/console/run.js +2 -2
  200. package/dist/console/run.js.map +1 -1
  201. package/dist/container/index.js +2 -2
  202. package/dist/container/index.js.map +1 -1
  203. package/dist/database/index.js +2 -2
  204. package/dist/database/index.js.map +1 -1
  205. package/dist/email/index.js +2 -2
  206. package/dist/email/index.js.map +1 -1
  207. package/dist/facades/Auth.d.ts +29 -2
  208. package/dist/facades/Auth.d.ts.map +1 -1
  209. package/dist/facades/RateLimiter.d.ts +16 -1
  210. package/dist/facades/RateLimiter.d.ts.map +1 -1
  211. package/dist/facades/index.js +2 -2
  212. package/dist/facades/index.js.map +1 -1
  213. package/dist/foundation/index.js +2 -2
  214. package/dist/foundation/index.js.map +1 -1
  215. package/dist/http/HttpRequest.d.ts +14 -0
  216. package/dist/http/HttpRequest.d.ts.map +1 -1
  217. package/dist/http/McpRouter.d.ts +121 -2
  218. package/dist/http/McpRouter.d.ts.map +1 -1
  219. package/dist/http/RateLimitExceededError.d.ts +24 -0
  220. package/dist/http/RateLimitExceededError.d.ts.map +1 -0
  221. package/dist/http/RateLimitMiddleware.d.ts +2 -5
  222. package/dist/http/RateLimitMiddleware.d.ts.map +1 -1
  223. package/dist/http/index.d.ts +2 -1
  224. package/dist/http/index.d.ts.map +1 -1
  225. package/dist/http/index.js +2 -2
  226. package/dist/http/index.js.map +1 -1
  227. package/dist/http/refusal.d.ts +6 -1
  228. package/dist/http/refusal.d.ts.map +1 -1
  229. package/dist/http/requestContext.d.ts +3 -1
  230. package/dist/http/requestContext.d.ts.map +1 -1
  231. package/dist/http/requestState.d.ts +57 -0
  232. package/dist/http/requestState.d.ts.map +1 -0
  233. package/dist/i18n/dictionaryRuntime.js +2 -2
  234. package/dist/i18n/dictionaryRuntime.js.map +1 -1
  235. package/dist/i18n/index.js +2 -2
  236. package/dist/i18n/index.js.map +1 -1
  237. package/dist/kernel/index.js +2 -2
  238. package/dist/kernel/index.js.map +1 -1
  239. package/dist/orm/index.js +2 -2
  240. package/dist/orm/index.js.map +1 -1
  241. package/dist/server/Server.d.ts.map +1 -1
  242. package/dist/server/health.d.ts +67 -0
  243. package/dist/server/health.d.ts.map +1 -0
  244. package/dist/server/index.d.ts +1 -0
  245. package/dist/server/index.d.ts.map +1 -1
  246. package/dist/server/index.js +2 -2
  247. package/dist/server/index.js.map +5 -4
  248. package/dist/server/shutdown.d.ts +3 -4
  249. package/dist/server/shutdown.d.ts.map +1 -1
  250. package/dist/services/features/gate.d.ts +11 -0
  251. package/dist/services/features/gate.d.ts.map +1 -0
  252. package/dist/services/index.d.ts +4 -4
  253. package/dist/services/index.d.ts.map +1 -1
  254. package/dist/services/index.js +3 -3
  255. package/dist/services/index.js.map +2 -2
  256. package/dist/services/logging/LogManager.d.ts +1 -0
  257. package/dist/services/logging/LogManager.d.ts.map +1 -1
  258. package/dist/services/logging/config.d.ts +23 -1
  259. package/dist/services/logging/config.d.ts.map +1 -1
  260. package/dist/services/logging/consoleSink.d.ts +25 -0
  261. package/dist/services/logging/consoleSink.d.ts.map +1 -0
  262. package/dist/services/mcp/McpRegistry.d.ts +106 -14
  263. package/dist/services/mcp/McpRegistry.d.ts.map +1 -1
  264. package/dist/services/mcp/http/McpHttpServer.d.ts +41 -2
  265. package/dist/services/mcp/http/McpHttpServer.d.ts.map +1 -1
  266. package/dist/services/mcp/toAgentTools.d.ts +21 -3
  267. package/dist/services/mcp/toAgentTools.d.ts.map +1 -1
  268. package/dist/services/queue/work.js +2 -2
  269. package/dist/services/queue/work.js.map +1 -1
  270. package/dist/services/rate-limiter/RateLimiter.d.ts +12 -0
  271. package/dist/services/rate-limiter/RateLimiter.d.ts.map +1 -1
  272. package/dist/services/router/globalMiddleware.d.ts +4 -3
  273. package/dist/services/router/globalMiddleware.d.ts.map +1 -1
  274. package/dist/stats/route-table.js +1 -1
  275. package/dist/support/index.js +2 -2
  276. package/dist/support/index.js.map +1 -1
  277. package/dist/testing/index.js +1 -1
  278. package/dist/vitest/index.js +1 -1
  279. package/package.json +1 -1
  280. package/skills/gemi-react-best-practices/SKILL.md +1 -1
  281. package/skills/gemi-react-best-practices/rules/query-mutate-over-refetch.md +14 -0
  282. package/skills/gemi-react-best-practices/rules/routing-middleware-dsl.md +2 -1
  283. package/dist/chunk-5j50q4g8.js +0 -57
  284. package/dist/chunk-70nnh0y7.js +0 -5
  285. package/dist/chunk-kc924zjz.js +0 -5
  286. package/dist/chunk-kc924zjz.js.map +0 -12
  287. package/dist/chunk-n0r5xyk2.js +0 -14
  288. package/dist/chunk-nnarmbjv.js.map +0 -10
  289. package/dist/chunk-pya4rqm2.js +0 -5
  290. package/dist/chunk-pya4rqm2.js.map +0 -12
  291. package/dist/chunk-zmf3vhex.js +0 -10
  292. package/dist/chunk-zmf3vhex.js.map +0 -43
  293. package/dist/chunks/ThemeProvider-CbOx8IRl.js.map +0 -1
  294. /package/dist/{chunk-65s834td.js.map → chunk-6q6bhkyf.js.map} +0 -0
  295. /package/dist/{chunk-3j6s5bmx.js.map → chunk-ayfjjgv2.js.map} +0 -0
  296. /package/dist/{chunk-wbg2tza5.js.map → chunk-gp00enrk.js.map} +0 -0
  297. /package/dist/{chunk-c4jnxmf2.js.map → chunk-j10a0m7q.js.map} +0 -0
  298. /package/dist/{chunk-5e22tm7m.js.map → chunk-j12hpdxk.js.map} +0 -0
  299. /package/dist/{chunk-j7v7dft7.js.map → chunk-s4semb89.js.map} +0 -0
@@ -3,7 +3,7 @@ import type { RPC } from "./rpc";
3
3
  import type { ApiRouterHandler } from "../http/ApiRouter";
4
4
  import type { UnwrapPromise } from "../utils/type";
5
5
  import type { UrlParser } from "./types";
6
- import { type MutationError } from "./MutationError";
6
+ import { type MutationError, type WithMutationErrorHelpers } from "./MutationError";
7
7
  type Any = any;
8
8
  type GetResult<T> = T extends ApiRouterHandler<Any, infer Result, Any> ? UnwrapPromise<Result> : never;
9
9
  type PostRequests = {
@@ -31,7 +31,7 @@ type Methods = {
31
31
  DELETE: DeleteRequests;
32
32
  PATCH: PatchRequests;
33
33
  };
34
- interface FormProps<M extends keyof Methods, K extends keyof Methods[M]> extends Omit<ComponentProps<"form">, "action" | "onError"> {
34
+ interface FormProps<M extends keyof Methods, K extends keyof Methods[M], E = ErrorMethods[M][K & keyof ErrorMethods[M]]> extends Omit<ComponentProps<"form">, "action" | "onError"> {
35
35
  method?: M;
36
36
  action: K;
37
37
  onSuccess?: (result: Methods[M][K], form: HTMLFormElement) => void;
@@ -40,10 +40,11 @@ interface FormProps<M extends keyof Methods, K extends keyof Methods[M]> extends
40
40
  * the route's typed errors (the bodies its handler answers with
41
41
  * `HttpResponse.error` / `httpError`); narrow it with `isValidationError`,
42
42
  * `isPermissionError`, `isHttpError` and the other guards from
43
- * `gemi/client`. Validation and form errors are already rendered by
44
- * `<ValidationErrors>` and `<FormError>`.
43
+ * `gemi/client`, or read it with `error.list()` / `error.field(name)`.
44
+ * Validation and form errors are already rendered by `<ValidationErrors>`
45
+ * and `<FormError>`.
45
46
  */
46
- onError?(error: MutationError | ErrorMethods[M][K & keyof ErrorMethods[M]], form: HTMLFormElement): void;
47
+ onError?(error: WithMutationErrorHelpers<MutationError | E>, form: HTMLFormElement): void;
47
48
  /**
48
49
  * Called when a submit is about to send its request, with the exact
49
50
  * `FormData` that will be sent (after `dynamicInputs`). Return `false` to
@@ -57,7 +58,7 @@ interface FormProps<M extends keyof Methods, K extends keyof Methods[M]> extends
57
58
  search?: Record<string, string>;
58
59
  dynamicInputs?: (formData: FormData) => Record<string, any>;
59
60
  }
60
- export declare function Form<K extends keyof Methods[T], T extends keyof Methods = "POST">(props: FormProps<T, K>): import("react/jsx-runtime").JSX.Element;
61
+ export declare function Form<K extends keyof Methods[T], T extends keyof Methods = "POST", E = ErrorMethods[T][K & keyof ErrorMethods[T]]>(props: FormProps<T, K, E>): import("react/jsx-runtime").JSX.Element;
61
62
  export declare function useMutationStatus(): {
62
63
  isPending: boolean;
63
64
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Mutation.d.ts","sourceRoot":"","sources":["../../client/Mutation.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Mutation.d.ts","sourceRoot":"","sources":["../../client/Mutation.tsx"],"names":[],"mappings":"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"}
@@ -55,6 +55,11 @@ export interface MutationRefusal<K extends MutationRefusalKind = MutationRefusal
55
55
  kind: K;
56
56
  message: string;
57
57
  status: number;
58
+ /**
59
+ * `rate_limit` only: milliseconds until a retry can succeed, when the
60
+ * server's limiter knew (the `rate-limit` middleware, `RateLimiter.enforce`).
61
+ */
62
+ retryAfter?: number;
58
63
  }
59
64
  /**
60
65
  * @deprecated A `{ message }` body is wrapped into a `MutationRefusal` or
@@ -119,7 +124,10 @@ export declare function isPermissionError(error: unknown): error is MutationRefu
119
124
  export declare function isCsrfError(error: unknown): error is MutationRefusal<"csrf">;
120
125
  /** A missing record, file or route (404). */
121
126
  export declare function isNotFoundError(error: unknown): error is MutationRefusal<"not_found">;
122
- /** `RateLimitMiddleware` refused the request (429). */
127
+ /**
128
+ * `RateLimitMiddleware` or `RateLimiter.enforce` refused the request (429).
129
+ * `retryAfter` (ms) says when to try again, when the server sent it.
130
+ */
123
131
  export declare function isRateLimitError(error: unknown): error is MutationRefusal<"rate_limit">;
124
132
  /**
125
133
  * The server failed (a 500, under `gemi dev` too), or answered something that
@@ -161,4 +169,48 @@ export type HttpErrorWithStatus<E, S extends number> = [Extract<E, {
161
169
  * status gemi does not use for its own errors, or check `kind` after it.
162
170
  */
163
171
  export declare function isHttpError<E, S extends number>(error: E, status: S): error is HttpErrorWithStatus<E, S>;
172
+ /**
173
+ * What every error the mutation hooks hand over carries (issue #890): the
174
+ * messages to show a person, without flattening `messages` by hand.
175
+ */
176
+ export interface MutationErrorHelpers {
177
+ /**
178
+ * The failure in words, as a flat list that is never empty: a validation
179
+ * error's messages, every field's in the order the server sent them; the
180
+ * `message` of any other error the server meant for a person (a form error,
181
+ * a refusal, a route's typed error); else `[fallback]` — for a server error,
182
+ * whose message is an exception's under `gemi dev`, and for the browser's
183
+ * own errors (no answer, an answer that was not JSON).
184
+ *
185
+ * `fallback` defaults to `"Something went wrong. Try again."`.
186
+ */
187
+ list(fallback?: string): string[];
188
+ /** A validation error's messages for the field `name`; `[]` otherwise. */
189
+ field(name: string): string[];
190
+ }
191
+ /**
192
+ * `T` with the helpers, member by member. A member that has a `list` or
193
+ * `field` of its own — a route's typed error body with a `field` key — keeps
194
+ * it, and does not get that helper.
195
+ */
196
+ export type WithMutationErrorHelpers<T> = T extends object ? T & Omit<MutationErrorHelpers, keyof T> : T;
197
+ /**
198
+ * `error.list(fallback)` for any value: an error kept from a mutation, a
199
+ * `useQuery` `QueryError` (its body is read), or anything else.
200
+ */
201
+ export declare function mutationErrorList(error: unknown, fallback?: string): string[];
202
+ /**
203
+ * `error.field(name)` for any value: a validation error's messages for
204
+ * `name` (a `QueryError`'s body is read), `[]` for anything else.
205
+ */
206
+ export declare function mutationErrorField(error: unknown, name: string): string[];
207
+ /**
208
+ * Puts `list` and `field` on an error the hooks hand over, as non-enumerable
209
+ * properties, so `toEqual`, a spread and `JSON.stringify` see the same object
210
+ * as before. A key the error already has is left alone; a primitive or a
211
+ * frozen value is returned as it is.
212
+ *
213
+ * @internal
214
+ */
215
+ export declare function withMutationErrorHelpers<T>(error: T): WithMutationErrorHelpers<T>;
164
216
  //# sourceMappingURL=MutationError.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MutationError.d.ts","sourceRoot":"","sources":["../../client/MutationError.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MutationError.d.ts","sourceRoot":"","sources":["../../client/MutationError.ts"],"names":[],"mappings":"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"}
@@ -174,6 +174,15 @@ export declare class QueryResource {
174
174
  invalidate(variantKey: string, fn?: (data: any) => any): void;
175
175
  private dropHttpCache;
176
176
  mutate(variantKey: string, fn?: (data: any) => any): void;
177
+ /**
178
+ * Write data the server just produced (a mutation's answer) into a
179
+ * variant, with no refetch: unlike `mutate`, the value is not a guess to
180
+ * reconcile. The variant counts as freshly fetched, so its `staleTime`
181
+ * starts again, and a GET already on the wire for it is dropped when it
182
+ * lands, since it may carry the data from before the write. A reader
183
+ * suspended on the variant wakes up with it (#897).
184
+ */
185
+ set(variantKey: string, data: any): void;
177
186
  refetch(variantKey: string): void;
178
187
  /** Supersede every request for this variant that is already on the wire. */
179
188
  private markApplied;
@@ -1 +1 @@
1
- {"version":3,"file":"QueryResource.d.ts","sourceRoot":"","sources":["../../client/QueryResource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAI3C,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,GAAG,CAAC;IACV;;;;;;OAMG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,GAAG,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAIF,eAAO,MAAM,kBAAkB,OAAO,CAAC;AAGvC,qBAAa,aAAa;IACxB,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IACnC,aAAa,cAAqB;IAClC,eAAe,sBAA6B;IAC5C,GAAG,EAAE,MAAM,CAAC;IACZ;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAqB;IACrC;;;;;OAKG;IACH,OAAO,CAAC,OAAO,CAA+B;IAC9C;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAA6B;IAC7C;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAA6B;IAC7C;;;OAGG;IACH,OAAO,CAAC,WAAW,CAAoD;IACvE;;;;;;;;OAQG;IACH,OAAO,CAAC,GAAG,CAAK;IAChB,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,OAAO,CAA6B;IAC5C;;;;;OAKG;IACH,OAAO,CAAC,WAAW,CAA2C;gBAElD,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAM1D;;;;;;;OAOG;IACH,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS;IAwC5D,OAAO,CAAC,UAAU;IAalB,OAAO,CAAC,MAAM;IAQd,OAAO,CAAC,OAAO;IAQf;;;;;;;;;;OAUG;IACH,IAAI,CAAC,UAAU,EAAE,MAAM;IAIvB;;;;;;;;OAQG;IACH,IAAI,CACF,UAAU,EAAE,MAAM,EAClB,SAAS,GAAE,MAA2B,GACrC;QAAE,KAAK,CAAC,EAAE,KAAK,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE;IA+B7C,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,GAAE,MAA2B;IA2BrE;;;;;;;;;;OAUG;IACH,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,GAAE,MAA2B;IAcrE;;;;OAIG;IACH,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM;IAe9B;;;;OAIG;IACH,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,IAAI;IAkBtC;;;;;;;;;OASG;IACH,OAAO,CAAC,aAAa;IAQrB,wDAAwD;IACxD,OAAO,CAAC,KAAK;IASb,iFAAiF;IACjF,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAIxC;;;;;OAKG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAqB/C,WAAW,CAAC,UAAU,EAAE,MAAM;IAQ9B;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM;IAQ3B,2EAA2E;IAC3E,WAAW,IAAI,MAAM,EAAE;IAIvB;;;;;OAKG;IACH,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG;IAgBtD,OAAO,CAAC,aAAa;IAiBrB,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,GAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAoB;IA8BlE,OAAO,CAAC,UAAU,EAAE,MAAM;IAI1B,4EAA4E;IAC5E,OAAO,CAAC,WAAW;YAIL,cAAc;CAsK7B"}
1
+ {"version":3,"file":"QueryResource.d.ts","sourceRoot":"","sources":["../../client/QueryResource.ts"],"names":[],"mappings":"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"}
@@ -34,9 +34,9 @@ export declare function useEmailCode(args?: UseEmailCodeArgs): {
34
34
  isNewUser: boolean;
35
35
  }>;
36
36
  isPending: boolean;
37
- error: import("gemi/client").MutationError;
38
- requestError: import("gemi/client").MutationError;
39
- verifyError: import("gemi/client").MutationError;
37
+ error: import("gemi/client").WithMutationErrorHelpers<import("gemi/client").MutationError>;
38
+ requestError: import("gemi/client").WithMutationErrorHelpers<import("gemi/client").MutationError>;
39
+ verifyError: import("gemi/client").WithMutationErrorHelpers<import("gemi/client").MutationError>;
40
40
  };
41
41
  export {};
42
42
  //# sourceMappingURL=useEmailCode.d.ts.map
@@ -3,7 +3,7 @@ interface UseForgotPasswordArgs {
3
3
  }
4
4
  export declare function useForgotPassword(args?: UseForgotPasswordArgs): {
5
5
  data: {};
6
- error: import("gemi/client").MutationError;
6
+ error: import("gemi/client").WithMutationErrorHelpers<import("gemi/client").MutationError>;
7
7
  loading: boolean;
8
8
  pending: number;
9
9
  formData: FormData;
@@ -3,7 +3,7 @@ interface UseResetPasswordArgs {
3
3
  }
4
4
  export declare function useResetPassword(args?: UseResetPasswordArgs): {
5
5
  data: {};
6
- error: import("gemi/client").MutationError;
6
+ error: import("gemi/client").WithMutationErrorHelpers<import("gemi/client").MutationError>;
7
7
  loading: boolean;
8
8
  pending: number;
9
9
  formData: FormData;
@@ -12,7 +12,7 @@ export declare function useSignIn(args?: UseSignInArgs): {
12
12
  accounts: import("../../auth/types").Account[];
13
13
  extension: Record<string, any>;
14
14
  };
15
- error: import("gemi/client").MutationError;
15
+ error: import("gemi/client").WithMutationErrorHelpers<import("gemi/client").MutationError>;
16
16
  loading: boolean;
17
17
  pending: number;
18
18
  formData: FormData;
@@ -3,7 +3,7 @@ interface UseSignOutArgs {
3
3
  }
4
4
  export declare function useSignOut(args?: UseSignOutArgs): {
5
5
  data: {};
6
- error: import("gemi/client").MutationError;
6
+ error: import("gemi/client").WithMutationErrorHelpers<import("gemi/client").MutationError>;
7
7
  loading: boolean;
8
8
  pending: number;
9
9
  formData: FormData;
@@ -1,6 +1,6 @@
1
1
  export declare function useSignUp(): {
2
2
  data: import("../../auth/types").User;
3
- error: import("gemi/client").MutationError;
3
+ error: import("gemi/client").WithMutationErrorHelpers<import("gemi/client").MutationError>;
4
4
  loading: boolean;
5
5
  pending: number;
6
6
  formData: FormData;
@@ -9,14 +9,16 @@ export type { QueryFailure, RetryOption, RetryDelayOption, } from "./retryPolicy
9
9
  export { useMutation, useDelete, usePatch, usePost, usePut, useUpload } from "./useMutation";
10
10
  export type { MutationCallConfig, MutationConcurrency } from "./useMutation";
11
11
  export { useMutate } from "./useMutate";
12
+ export { useSetQueryData } from "./useSetQueryData";
13
+ export type { QueryTarget, QueryUpdate } from "./useSetQueryData";
12
14
  export { useSubscription } from "./useSubscription";
13
15
  export { useChannel, useChannelInvalidate } from "./useChannel";
14
16
  export type { ChannelPattern, ChannelParamsFor, ChannelEventsFor, ChannelState, ChannelStatus, InvalidatePath, LiveChannel, UseChannelConfig, UseChannelOptions, } from "./useChannel";
15
17
  export { configureRealtime } from "./realtime/RealtimeClient";
16
18
  export type { RealtimeOptions } from "./realtime/RealtimeClient";
17
19
  export type { SubscriptionConfig, SubscriptionData, SubscriptionOptions, SubscriptionStatus, } from "./useSubscription";
18
- export { isValidationError, isFormError, isAuthenticationError, isPermissionError, isCsrfError, isNotFoundError, isRateLimitError, isServerError, isNetworkError, isHttpError, mutationErrorKind, } from "./MutationError";
19
- export type { MutationError, MutationErrorKind, MutationValidationError, MutationFormError, MutationServerError, MutationRefusal, MutationRefusalKind, MutationMessageError, HttpErrorWithStatus, } from "./MutationError";
20
+ export { isValidationError, isFormError, isAuthenticationError, isPermissionError, isCsrfError, isNotFoundError, isRateLimitError, isServerError, isNetworkError, isHttpError, mutationErrorKind, mutationErrorList, mutationErrorField, } from "./MutationError";
21
+ export type { MutationError, MutationErrorKind, MutationValidationError, MutationFormError, MutationServerError, MutationRefusal, MutationRefusalKind, MutationMessageError, HttpErrorWithStatus, MutationErrorHelpers, WithMutationErrorHelpers, } from "./MutationError";
20
22
  export type { RefusalKind } from "../http/refusal";
21
23
  export { Form, FormError, useMutationStatus, useFormStatus, useFormData, FormFieldContainer, ValidationErrors, } from "./Mutation";
22
24
  export { QueryManagerProvider } from "./QueryManagerContext";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../client/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { $ as shouldRetryQuery, A as useLocation, B as getRealtimeClient, C as useRoute, D as I18nProvider, E as I18nContext, G as QueryConfigContext, H as SOCKET_ID_HEADER, I as RealtimeContext, J as USER_QUERY_CONFIG_KEYS, K as QueryManagerContext, L as channelKey, M as isAbsoluteUrl, O as ServerDataContext, P as Action, Q as retryDelayFor, R as configureRealtime, S as routeDataUrl, T as useNavigate, U as toVariantKey, V as reconnectRealtime, W as applyParams$1, X as DEFAULT_STALE_TIME, Y as pickDefined, Z as isRetryableQueryError, _ as loadDictionary, a as useRouteTransition, b as setActiveLocale, c as ComponentsContext, d as loadViewModule, et as QueryError, f as subscribeViewModules, g as recoverFromChunkLoadError, h as isChunkLoadError, i as RouteTransitionProvider, j as domainUrl, k as ServerDataProvider, l as ComponentsProvider, m as configureChunkLoadRecovery, n as useTheme, o as ClientRouterContext, p as CHUNK_RELOAD_MARKER, q as QueryManagerProvider, r as m, s as ClientRouterProvider, t as ThemeProvider, tt as Subject, u as initialViewModulesReady, v as loadDictionaryForRender, w as useSearchParams, x as readRoutePayload, y as registerDictionary, z as currentSocketId } from "../chunks/ThemeProvider-CbOx8IRl.js";
1
+ import { $ as shouldRetryQuery, A as useLocation, B as getRealtimeClient, C as useRoute, D as I18nProvider, E as I18nContext, G as QueryConfigContext, H as SOCKET_ID_HEADER, I as RealtimeContext, J as USER_QUERY_CONFIG_KEYS, K as QueryManagerContext, L as channelKey, M as isAbsoluteUrl, O as ServerDataContext, P as Action, Q as retryDelayFor, R as configureRealtime, S as routeDataUrl, T as useNavigate, U as toVariantKey, V as reconnectRealtime, W as applyParams$1, X as DEFAULT_STALE_TIME, Y as pickDefined, Z as isRetryableQueryError, _ as loadDictionary, a as useRouteTransition, b as setActiveLocale, c as ComponentsContext, d as loadViewModule, et as QueryError, f as subscribeViewModules, g as recoverFromChunkLoadError, h as isChunkLoadError, i as RouteTransitionProvider, j as domainUrl, k as ServerDataProvider, l as ComponentsProvider, m as configureChunkLoadRecovery, n as useTheme, o as ClientRouterContext, p as CHUNK_RELOAD_MARKER, q as QueryManagerProvider, r as m, s as ClientRouterProvider, t as ThemeProvider, tt as Subject, u as initialViewModulesReady, v as loadDictionaryForRender, w as useSearchParams, x as readRoutePayload, y as registerDictionary, z as currentSocketId } from "../chunks/ThemeProvider-CS2a1snV.js";
2
2
  import { n as RouteStateContext, r as RouteStateProvider, t as useParams } from "../chunks/useParams-BN3XXfmG.js";
3
3
  import { Fragment, StrictMode, Suspense, createContext, createElement, isValidElement, lazy, memo, use, useCallback, useContext, useDeferredValue, useEffect, useMemo, useRef, useState, useSyncExternalStore, useTransition } from "react";
4
4
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
@@ -793,7 +793,10 @@ function isCsrfError(error) {
793
793
  function isNotFoundError(error) {
794
794
  return kindOf(error) === "not_found";
795
795
  }
796
- /** `RateLimitMiddleware` refused the request (429). */
796
+ /**
797
+ * `RateLimitMiddleware` or `RateLimiter.enforce` refused the request (429).
798
+ * `retryAfter` (ms) says when to try again, when the server sent it.
799
+ */
797
800
  function isRateLimitError(error) {
798
801
  return kindOf(error) === "rate_limit";
799
802
  }
@@ -842,6 +845,125 @@ function mutationErrorKind(error) {
842
845
  function isHttpError(error, status) {
843
846
  return isObject(error) && !(error instanceof Error) && error.status === status;
844
847
  }
848
+ var FALLBACK_MESSAGE = "Something went wrong. Try again.";
849
+ function unwrapQueryError(error) {
850
+ if (error instanceof Error && error.name === "QueryError" && "body" in error) {
851
+ const { body, status } = error;
852
+ return body == null ? error : mutationErrorFromBody(body, status);
853
+ }
854
+ return error;
855
+ }
856
+ /**
857
+ * `error.list(fallback)` for any value: an error kept from a mutation, a
858
+ * `useQuery` `QueryError` (its body is read), or anything else.
859
+ */
860
+ function mutationErrorList(error, fallback = FALLBACK_MESSAGE) {
861
+ const value = unwrapQueryError(error);
862
+ if (isValidationError(value)) {
863
+ const messages = Object.values(value.messages ?? {}).flat().filter((message) => typeof message === "string" && message !== "");
864
+ return messages.length > 0 ? messages : [fallback];
865
+ }
866
+ if (isObject(value) && !(value instanceof Error) && value.kind !== "server_error" && typeof value.message === "string" && value.message !== "") return [value.message];
867
+ return [fallback];
868
+ }
869
+ /**
870
+ * `error.field(name)` for any value: a validation error's messages for
871
+ * `name` (a `QueryError`'s body is read), `[]` for anything else.
872
+ */
873
+ function mutationErrorField(error, name) {
874
+ const value = unwrapQueryError(error);
875
+ if (!isValidationError(value)) return [];
876
+ const messages = value.messages?.[name];
877
+ return Array.isArray(messages) ? [...messages] : [];
878
+ }
879
+ /**
880
+ * Puts `list` and `field` on an error the hooks hand over, as non-enumerable
881
+ * properties, so `toEqual`, a spread and `JSON.stringify` see the same object
882
+ * as before. A key the error already has is left alone; a primitive or a
883
+ * frozen value is returned as it is.
884
+ *
885
+ * @internal
886
+ */
887
+ function withMutationErrorHelpers(error) {
888
+ if (!isObject(error) || !Object.isExtensible(error)) return error;
889
+ const helpers = {
890
+ list: (fallback) => mutationErrorList(error, fallback),
891
+ field: (name) => mutationErrorField(error, name)
892
+ };
893
+ for (const key of ["list", "field"]) {
894
+ if (key in error) continue;
895
+ Object.defineProperty(error, key, {
896
+ value: helpers[key],
897
+ configurable: true,
898
+ writable: true,
899
+ enumerable: false
900
+ });
901
+ }
902
+ return error;
903
+ }
904
+ //#endregion
905
+ //#region client/useSetQueryData.ts
906
+ /**
907
+ * Write into every variant `target` names. `next` is the value to write, or
908
+ * a function of the cached value; a function skips a variant with nothing
909
+ * cached. A value seeds a single variant that is not cached yet; a predicate
910
+ * only ever reaches variants that are.
911
+ */
912
+ function writeQueryData(getResource, routeParams, target, next) {
913
+ const { path, params = {}, search = {} } = target;
914
+ const resource = getResource(applyParams$1(String(path), {
915
+ ...routeParams,
916
+ ...params
917
+ }));
918
+ const write = (variantKey) => {
919
+ if ("value" in next) {
920
+ resource.set(variantKey, next.value);
921
+ return;
922
+ }
923
+ const state = resource.peek(variantKey);
924
+ if (!state?.hasData) return;
925
+ resource.set(variantKey, next.update(state.data));
926
+ };
927
+ if (typeof search === "function") {
928
+ for (const variantKey of resource.variantKeys()) {
929
+ if (!resource.peek(variantKey)?.hasData) continue;
930
+ if (search(new URLSearchParams(variantKey))) write(variantKey);
931
+ }
932
+ return;
933
+ }
934
+ write(toVariantKey(search));
935
+ }
936
+ /**
937
+ * Write a mutation's `updates` with its answer.
938
+ */
939
+ function applyQueryUpdates(getResource, routeParams, updates, answer) {
940
+ for (const update of updates ?? []) {
941
+ const { data } = update;
942
+ writeQueryData(getResource, routeParams, update, data ? { update: (current) => data(answer, current) } : { value: answer });
943
+ }
944
+ }
945
+ /**
946
+ * Returns a function that writes into any query's cache by path, with no
947
+ * refetch: for data the server already answered with. `useMutate` is the
948
+ * optimistic counterpart, which refetches to reconcile.
949
+ *
950
+ * ```ts
951
+ * const setQueryData = useSetQueryData();
952
+ * setQueryData({ path: "/pages/:pageId/assets", params: { pageId } }, assets);
953
+ * setQueryData({ path: "/todos", search: () => true }, (todos) => todos.slice(1));
954
+ * ```
955
+ *
956
+ * A value replaces the variant's data, and seeds it when nothing is cached
957
+ * yet. A function updates what is cached and skips a variant with nothing
958
+ * cached. A predicate `search` reaches every cached variant it accepts.
959
+ */
960
+ function useSetQueryData() {
961
+ const { getResource } = useContext(QueryManagerContext);
962
+ const routeParams = useParams();
963
+ return useCallback(function setQueryData(target, next) {
964
+ writeQueryData(getResource, routeParams, target, typeof next === "function" ? { update: next } : { value: next });
965
+ }, [getResource, routeParams]);
966
+ }
845
967
  //#endregion
846
968
  //#region client/useMutation.ts
847
969
  function applyParams(url, params = {}) {
@@ -858,6 +980,7 @@ var defaultOptions = {
858
980
  function useMutation(method, url, ...args) {
859
981
  const _params = useParams();
860
982
  const { clearPrefetchCache } = useContext(ClientRouterContext);
983
+ const { getResource } = useContext(QueryManagerContext);
861
984
  const [state, setState] = useState({
862
985
  data: null,
863
986
  error: null,
@@ -933,7 +1056,7 @@ function useMutation(method, url, ...args) {
933
1056
  }
934
1057
  resetFormData();
935
1058
  if (!response.ok) {
936
- const error = mutationErrorFromBody(data, response.status);
1059
+ const error = withMutationErrorHelpers(mutationErrorFromBody(data, response.status));
937
1060
  settle((prev) => ({
938
1061
  data: prev.data,
939
1062
  error
@@ -943,6 +1066,7 @@ function useMutation(method, url, ...args) {
943
1066
  return;
944
1067
  }
945
1068
  clearPrefetchCache?.();
1069
+ applyQueryUpdates(getResource, _params, options.updates, data);
946
1070
  options.onSuccess(data);
947
1071
  call.onSuccess?.(data);
948
1072
  settle(() => ({
@@ -960,11 +1084,12 @@ function useMutation(method, url, ...args) {
960
1084
  settle((prev) => prev);
961
1085
  return;
962
1086
  }
963
- options.onError(error);
964
- call.onError?.(error);
1087
+ const failure = withMutationErrorHelpers(error);
1088
+ options.onError(failure);
1089
+ call.onError?.(failure);
965
1090
  settle((prev) => ({
966
1091
  data: parallel ? prev.data : null,
967
- error
1092
+ error: failure
968
1093
  }));
969
1094
  }
970
1095
  }
@@ -1009,6 +1134,7 @@ function useUpload(url, ...args) {
1009
1134
  const [progress, setProgress] = useState(0);
1010
1135
  const _params = useParams();
1011
1136
  const { clearPrefetchCache } = useContext(ClientRouterContext);
1137
+ const { getResource } = useContext(QueryManagerContext);
1012
1138
  const abortRef = useRef(null);
1013
1139
  const [inputs = {}, options = defaultOptions] = args ?? [];
1014
1140
  const cancel = () => {
@@ -1081,18 +1207,19 @@ function useUpload(url, ...args) {
1081
1207
  error = mutationErrorFromBody(JSON.parse(outcome.body), outcome.status);
1082
1208
  } catch {}
1083
1209
  setState("error");
1084
- options?.onError?.(error);
1210
+ options?.onError?.(withMutationErrorHelpers(error));
1085
1211
  return;
1086
1212
  }
1087
1213
  const json = JSON.parse(outcome.body);
1088
1214
  clearPrefetchCache?.();
1215
+ applyQueryUpdates(getResource, _params, options?.updates, json);
1089
1216
  options?.onSuccess?.(json);
1090
1217
  setState("done");
1091
1218
  return json;
1092
1219
  } catch (error) {
1093
1220
  release();
1094
1221
  setState("error");
1095
- options?.onError?.(error);
1222
+ options?.onError?.(withMutationErrorHelpers(error));
1096
1223
  return;
1097
1224
  }
1098
1225
  };
@@ -3360,6 +3487,6 @@ function onStaticNavigate(callback) {
3360
3487
  return () => document.removeEventListener("gemi:page-load", listener);
3361
3488
  }
3362
3489
  //#endregion
3363
- export { CHUNK_RELOAD_MARKER, Form, FormError, FormFieldContainer, Head, Image, Link, OpenGraphImage, QueryError, QueryManagerProvider, Redirect, ValidationErrors, configureRealtime, create, createRoot, defineDictionary, init, isAuthenticationError, isChunkLoadError, isCsrfError, isFormError, isHttpError, isNetworkError, isNotFoundError, isPermissionError, isRateLimitError, isRetryableQueryError, isServerError, isValidationError, island, mutationErrorKind, onStaticNavigate, recoverFromChunkLoadError, textDirection, useAppIdMissmatch, useBreadcrumbs, useChannel, useChannelInvalidate, useDelete, useDictionary, useDomain, useEmailCode, useFeature, useFeatures, useForgotPassword, useFormData, useFormStatus, useFormatter, useInfiniteQuery, useIntendedUrl, useIsNavigationPending, useLocale, useLocation, useMutate, useMutation, useMutationStatus, useNavigate, useNavigationProgress, useParams, usePatch, usePost, usePrefetch, usePut, useQuery, useResetPassword, useRoute, useRouteTransition, useSearchParams, useSignIn, useSignOut, useSignUp, useSubscription, useTheme, useTranslator, useUpload, useUser };
3490
+ export { CHUNK_RELOAD_MARKER, Form, FormError, FormFieldContainer, Head, Image, Link, OpenGraphImage, QueryError, QueryManagerProvider, Redirect, ValidationErrors, configureRealtime, create, createRoot, defineDictionary, init, isAuthenticationError, isChunkLoadError, isCsrfError, isFormError, isHttpError, isNetworkError, isNotFoundError, isPermissionError, isRateLimitError, isRetryableQueryError, isServerError, isValidationError, island, mutationErrorField, mutationErrorKind, mutationErrorList, onStaticNavigate, recoverFromChunkLoadError, textDirection, useAppIdMissmatch, useBreadcrumbs, useChannel, useChannelInvalidate, useDelete, useDictionary, useDomain, useEmailCode, useFeature, useFeatures, useForgotPassword, useFormData, useFormStatus, useFormatter, useInfiniteQuery, useIntendedUrl, useIsNavigationPending, useLocale, useLocation, useMutate, useMutation, useMutationStatus, useNavigate, useNavigationProgress, useParams, usePatch, usePost, usePrefetch, usePut, useQuery, useResetPassword, useRoute, useRouteTransition, useSearchParams, useSetQueryData, useSignIn, useSignOut, useSignUp, useSubscription, useTheme, useTranslator, useUpload, useUser };
3364
3491
 
3365
3492
  //# sourceMappingURL=index.js.map