gemi 0.124.0 → 0.126.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.
- package/dist/ai/AgentController.d.ts +185 -3
- package/dist/ai/AgentController.d.ts.map +1 -1
- package/dist/ai/client/index.d.ts +1 -1
- package/dist/ai/client/index.d.ts.map +1 -1
- package/dist/ai/client/index.js +38 -9
- package/dist/ai/client/index.js.map +1 -1
- package/dist/ai/client/reducer.d.ts.map +1 -1
- package/dist/ai/index.d.ts +2 -2
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js +31 -48
- package/dist/ai/index.js.map +6 -15
- package/dist/ai/types.d.ts +26 -0
- package/dist/ai/types.d.ts.map +1 -1
- package/dist/ai/useChat.d.ts +35 -2
- package/dist/ai/useChat.d.ts.map +1 -1
- package/dist/app/index.js +1 -1
- package/dist/auth/AuthController.d.ts.map +1 -1
- package/dist/auth/AuthManager.d.ts +11 -0
- package/dist/auth/AuthManager.d.ts.map +1 -1
- package/dist/auth/AuthServiceProvider.d.ts +2 -0
- package/dist/auth/AuthServiceProvider.d.ts.map +1 -1
- package/dist/auth/config.d.ts +71 -2
- package/dist/auth/config.d.ts.map +1 -1
- package/dist/auth/connections/ConnectionsController.d.ts.map +1 -1
- package/dist/auth/oauth/GoogleOAuthProvider.d.ts +1 -1
- package/dist/auth/oauth/GoogleOAuthProvider.d.ts.map +1 -1
- package/dist/auth/oauth/InstagramOAuthProvider.d.ts +1 -1
- package/dist/auth/oauth/InstagramOAuthProvider.d.ts.map +1 -1
- package/dist/auth/oauth/XOAuthProvider.d.ts.map +1 -1
- package/dist/auth/oauth/providers.d.ts +10 -0
- package/dist/auth/oauth/providers.d.ts.map +1 -0
- package/dist/bun/plugin.js +1 -1
- package/dist/bun/preload.js +1 -1
- package/dist/{chunk-cfdwsvtx.js → chunk-094m8mj3.js} +2 -2
- package/dist/{chunk-cfdwsvtx.js.map → chunk-094m8mj3.js.map} +1 -1
- package/dist/chunk-0arss2xy.js +5 -0
- package/dist/{chunk-mqtfaqx5.js.map → chunk-0arss2xy.js.map} +5 -4
- package/dist/{chunk-rtawbqec.js → chunk-0f0xxqhy.js} +3 -3
- package/dist/{chunk-rtawbqec.js.map → chunk-0f0xxqhy.js.map} +1 -1
- package/dist/chunk-15bmfr7f.js +5 -0
- package/dist/chunk-15bmfr7f.js.map +14 -0
- package/dist/{chunk-6bgb1nhq.js → chunk-1dzs05dc.js} +2 -2
- package/dist/{chunk-6bgb1nhq.js.map → chunk-1dzs05dc.js.map} +1 -1
- package/dist/{chunk-30xxc6r7.js → chunk-1eb4p352.js} +2 -2
- package/dist/{chunk-30xxc6r7.js.map → chunk-1eb4p352.js.map} +1 -1
- package/dist/{chunk-s5jxc63j.js → chunk-1gd1ykgj.js} +3 -3
- package/dist/{chunk-s5jxc63j.js.map → chunk-1gd1ykgj.js.map} +1 -1
- package/dist/{chunk-4drnyymm.js → chunk-1v368y9a.js} +2 -2
- package/dist/{chunk-4drnyymm.js.map → chunk-1v368y9a.js.map} +1 -1
- package/dist/{chunk-sd0c2001.js → chunk-28bby5pp.js} +2 -2
- package/dist/{chunk-sd0c2001.js.map → chunk-28bby5pp.js.map} +1 -1
- package/dist/{chunk-wbg2tza5.js → chunk-3fyhd641.js} +1 -1
- package/dist/{chunk-3y294mb8.js → chunk-43faxwf5.js} +2 -2
- package/dist/{chunk-3y294mb8.js.map → chunk-43faxwf5.js.map} +1 -1
- package/dist/{chunk-v2ggafz1.js → chunk-56ryda9y.js} +2 -2
- package/dist/{chunk-v2ggafz1.js.map → chunk-56ryda9y.js.map} +1 -1
- package/dist/{chunk-dxfhhw5h.js → chunk-5vvfcdpk.js} +2 -2
- package/dist/{chunk-dxfhhw5h.js.map → chunk-5vvfcdpk.js.map} +1 -1
- package/dist/{chunk-2affxmkn.js → chunk-62zn06wb.js} +2 -2
- package/dist/{chunk-2affxmkn.js.map → chunk-62zn06wb.js.map} +1 -1
- package/dist/{chunk-bt9qv2jj.js → chunk-7dzprr9b.js} +3 -3
- package/dist/{chunk-bt9qv2jj.js.map → chunk-7dzprr9b.js.map} +1 -1
- package/dist/{chunk-n1a2zj5z.js → chunk-7eerqsg2.js} +2 -2
- package/dist/{chunk-n1a2zj5z.js.map → chunk-7eerqsg2.js.map} +3 -3
- package/dist/{chunk-nnarmbjv.js → chunk-7nfprr9v.js} +2 -2
- package/dist/chunk-7nfprr9v.js.map +10 -0
- package/dist/{chunk-yzhv93b0.js → chunk-7x2n788t.js} +3 -3
- package/dist/{chunk-yzhv93b0.js.map → chunk-7x2n788t.js.map} +1 -1
- package/dist/{chunk-zsvav1dk.js → chunk-84rbdyhe.js} +2 -2
- package/dist/{chunk-zsvav1dk.js.map → chunk-84rbdyhe.js.map} +1 -1
- package/dist/chunk-87bmhng2.js +5 -0
- package/dist/{chunk-70nnh0y7.js.map → chunk-87bmhng2.js.map} +1 -1
- package/dist/{chunk-nn2jeat2.js → chunk-87jj7n9q.js} +2 -2
- package/dist/{chunk-17dndh5z.js.map → chunk-87jj7n9q.js.map} +1 -1
- package/dist/{chunk-17dndh5z.js → chunk-89swy5aq.js} +2 -2
- package/dist/{chunk-nn2jeat2.js.map → chunk-89swy5aq.js.map} +1 -1
- package/dist/{chunk-2n4490pk.js → chunk-8df7fn7f.js} +3 -3
- package/dist/{chunk-2n4490pk.js.map → chunk-8df7fn7f.js.map} +1 -1
- package/dist/{chunk-qdj8ek8z.js → chunk-99z9d0sa.js} +2 -2
- package/dist/{chunk-qdj8ek8z.js.map → chunk-99z9d0sa.js.map} +1 -1
- package/dist/{chunk-1rnh9qrp.js → chunk-9hhxy88x.js} +2 -2
- package/dist/{chunk-1rnh9qrp.js.map → chunk-9hhxy88x.js.map} +1 -1
- package/dist/{chunk-nkzmk7v3.js → chunk-9x0pgkns.js} +2 -2
- package/dist/{chunk-nkzmk7v3.js.map → chunk-9x0pgkns.js.map} +1 -1
- package/dist/{chunk-qhz0x97z.js → chunk-avfntxm1.js} +2 -2
- package/dist/{chunk-qhz0x97z.js.map → chunk-avfntxm1.js.map} +1 -1
- package/dist/{chunk-92sk56n0.js → chunk-b2pdqxj3.js} +12 -12
- package/dist/{chunk-92sk56n0.js.map → chunk-b2pdqxj3.js.map} +7 -8
- package/dist/{chunk-5e22tm7m.js → chunk-bghxdjqv.js} +1 -1
- package/dist/{chunk-fn2qfwgx.js → chunk-bhbxhk9e.js} +2 -2
- package/dist/{chunk-fn2qfwgx.js.map → chunk-bhbxhk9e.js.map} +1 -1
- package/dist/{chunk-65s834td.js → chunk-c48gag78.js} +1 -1
- package/dist/{chunk-bnt8kx6x.js → chunk-c65rh4k8.js} +2 -2
- package/dist/{chunk-bnt8kx6x.js.map → chunk-c65rh4k8.js.map} +1 -1
- package/dist/chunk-cwpezdpw.js +57 -0
- package/dist/{chunk-5j50q4g8.js.map → chunk-cwpezdpw.js.map} +29 -21
- package/dist/chunk-dm7mada7.js +15 -0
- package/dist/{chunk-n0r5xyk2.js.map → chunk-dm7mada7.js.map} +6 -5
- package/dist/{chunk-mrswc6qw.js → chunk-ebdkmzm9.js} +2 -2
- package/dist/{chunk-mrswc6qw.js.map → chunk-ebdkmzm9.js.map} +1 -1
- package/dist/{chunk-z5jydj5r.js → chunk-ecb8qggy.js} +2 -2
- package/dist/{chunk-z5jydj5r.js.map → chunk-ecb8qggy.js.map} +1 -1
- package/dist/{chunk-y434jc1c.js → chunk-etf6h5m1.js} +2 -2
- package/dist/{chunk-y434jc1c.js.map → chunk-etf6h5m1.js.map} +1 -1
- package/dist/{chunk-fvrmptd0.js → chunk-ewv1m1sv.js} +3 -3
- package/dist/{chunk-fvrmptd0.js.map → chunk-ewv1m1sv.js.map} +1 -1
- package/dist/{chunk-fw7ds23a.js → chunk-gv59djt3.js} +2 -2
- package/dist/{chunk-fw7ds23a.js.map → chunk-gv59djt3.js.map} +1 -1
- package/dist/{chunk-3hqwz48c.js → chunk-gxp48t81.js} +4 -4
- package/dist/{chunk-3hqwz48c.js.map → chunk-gxp48t81.js.map} +1 -1
- package/dist/{chunk-pmyh33v5.js → chunk-h4755p9h.js} +2 -2
- package/dist/{chunk-pmyh33v5.js.map → chunk-h4755p9h.js.map} +1 -1
- package/dist/{chunk-jys8y39p.js → chunk-hye22tpt.js} +2 -2
- package/dist/{chunk-jys8y39p.js.map → chunk-hye22tpt.js.map} +1 -1
- package/dist/{chunk-7gfdts60.js → chunk-jg3kg55f.js} +2 -2
- package/dist/{chunk-7gfdts60.js.map → chunk-jg3kg55f.js.map} +1 -1
- package/dist/{chunk-j7v7dft7.js → chunk-k6gvbvyw.js} +1 -1
- package/dist/{chunk-qycwjzsv.js → chunk-kzk5r6v4.js} +3 -3
- package/dist/{chunk-qycwjzsv.js.map → chunk-kzk5r6v4.js.map} +1 -1
- package/dist/{chunk-rttrpjqk.js → chunk-m63v6aze.js} +2 -2
- package/dist/{chunk-rttrpjqk.js.map → chunk-m63v6aze.js.map} +1 -1
- package/dist/{chunk-1qwhty9p.js → chunk-mj4n5mar.js} +2 -2
- package/dist/{chunk-1qwhty9p.js.map → chunk-mj4n5mar.js.map} +1 -1
- package/dist/{chunk-h3p8qzft.js → chunk-mj7h1dgh.js} +2 -2
- package/dist/{chunk-h3p8qzft.js.map → chunk-mj7h1dgh.js.map} +1 -1
- package/dist/{chunk-f4cmz31h.js → chunk-mpt5jg4e.js} +2 -2
- package/dist/{chunk-f4cmz31h.js.map → chunk-mpt5jg4e.js.map} +1 -1
- package/dist/{chunk-w61sphn5.js → chunk-n8mxsfc2.js} +3 -3
- package/dist/{chunk-w61sphn5.js.map → chunk-n8mxsfc2.js.map} +1 -1
- package/dist/{chunk-34fkx6kb.js → chunk-nrf23yan.js} +2 -2
- package/dist/{chunk-34fkx6kb.js.map → chunk-nrf23yan.js.map} +1 -1
- package/dist/{chunk-pe46a5a5.js → chunk-nv2t87c3.js} +2 -2
- package/dist/{chunk-pe46a5a5.js.map → chunk-nv2t87c3.js.map} +1 -1
- package/dist/{chunk-c4jnxmf2.js → chunk-p0ccxfkq.js} +1 -1
- package/dist/{chunk-019wz697.js → chunk-p7abyc0b.js} +2 -2
- package/dist/{chunk-019wz697.js.map → chunk-p7abyc0b.js.map} +1 -1
- package/dist/{chunk-8m2htvjn.js → chunk-psdyfaf1.js} +2 -2
- package/dist/{chunk-8m2htvjn.js.map → chunk-psdyfaf1.js.map} +1 -1
- package/dist/{chunk-b5afy6k9.js → chunk-q9mxjh10.js} +2 -2
- package/dist/{chunk-b5afy6k9.js.map → chunk-q9mxjh10.js.map} +1 -1
- package/dist/{chunk-kzsjyvvc.js → chunk-qmcjh6de.js} +2 -2
- package/dist/{chunk-kzsjyvvc.js.map → chunk-qmcjh6de.js.map} +1 -1
- package/dist/{chunk-w3812s34.js → chunk-qy3s6pwz.js} +2 -2
- package/dist/{chunk-w3812s34.js.map → chunk-qy3s6pwz.js.map} +1 -1
- package/dist/{chunk-ykz38t0t.js → chunk-ravssmdy.js} +2 -2
- package/dist/{chunk-ykz38t0t.js.map → chunk-ravssmdy.js.map} +1 -1
- package/dist/{chunk-v8v5qfnh.js → chunk-rtb64x14.js} +3 -3
- package/dist/{chunk-v8v5qfnh.js.map → chunk-rtb64x14.js.map} +1 -1
- package/dist/{chunk-3j6s5bmx.js → chunk-rvdsaqdv.js} +1 -1
- package/dist/chunk-s0kns9q1.js +22 -0
- package/dist/chunk-s0kns9q1.js.map +21 -0
- package/dist/{chunk-skf89vrv.js → chunk-s2krqtwj.js} +2 -2
- package/dist/{chunk-skf89vrv.js.map → chunk-s2krqtwj.js.map} +1 -1
- package/dist/{chunk-75ewjc4a.js → chunk-s2y2b8tz.js} +2 -2
- package/dist/{chunk-75ewjc4a.js.map → chunk-s2y2b8tz.js.map} +1 -1
- package/dist/{chunk-675kzd7z.js → chunk-t8kzaxaa.js} +2 -2
- package/dist/{chunk-675kzd7z.js.map → chunk-t8kzaxaa.js.map} +1 -1
- package/dist/{chunk-a3g7y70h.js → chunk-v1eeh7a7.js} +3 -3
- package/dist/{chunk-a3g7y70h.js.map → chunk-v1eeh7a7.js.map} +1 -1
- package/dist/{chunk-mvkz22p4.js → chunk-v7nw1g2n.js} +2 -2
- package/dist/{chunk-mvkz22p4.js.map → chunk-v7nw1g2n.js.map} +1 -1
- package/dist/{chunk-f29pktad.js → chunk-v80890xx.js} +3 -3
- package/dist/{chunk-f29pktad.js.map → chunk-v80890xx.js.map} +1 -1
- package/dist/{chunk-jctb7v53.js → chunk-w4111j5d.js} +2 -2
- package/dist/{chunk-jctb7v53.js.map → chunk-w4111j5d.js.map} +1 -1
- package/dist/{chunk-121p4g9j.js → chunk-wat33wxh.js} +2 -2
- package/dist/{chunk-121p4g9j.js.map → chunk-wat33wxh.js.map} +1 -1
- package/dist/{chunk-9tr92nwy.js → chunk-x5vpjzpp.js} +2 -2
- package/dist/{chunk-9tr92nwy.js.map → chunk-x5vpjzpp.js.map} +1 -1
- package/dist/{chunk-zsfwcdqn.js → chunk-xe2cfmyb.js} +2 -2
- package/dist/{chunk-zsfwcdqn.js.map → chunk-xe2cfmyb.js.map} +1 -1
- package/dist/{chunk-w4z6x54b.js → chunk-ych1dv5q.js} +3 -3
- package/dist/{chunk-w4z6x54b.js.map → chunk-ych1dv5q.js.map} +1 -1
- package/dist/{chunk-96a1459v.js → chunk-yffm8nxa.js} +2 -2
- package/dist/{chunk-96a1459v.js.map → chunk-yffm8nxa.js.map} +1 -1
- package/dist/{chunk-rpyczdta.js → chunk-yg8se4vs.js} +3 -3
- package/dist/{chunk-rpyczdta.js.map → chunk-yg8se4vs.js.map} +1 -1
- package/dist/chunk-zbvdkh6q.js +10 -0
- package/dist/chunk-zbvdkh6q.js.map +44 -0
- package/dist/{chunk-szn2n976.js → chunk-zy5gxk1g.js} +2 -2
- package/dist/{chunk-szn2n976.js.map → chunk-zy5gxk1g.js.map} +1 -1
- package/dist/chunks/{ThemeProvider-CbOx8IRl.js → ThemeProvider-CS2a1snV.js} +27 -1
- package/dist/chunks/ThemeProvider-CS2a1snV.js.map +1 -0
- package/dist/client/Mutation.d.ts +7 -6
- package/dist/client/Mutation.d.ts.map +1 -1
- package/dist/client/MutationError.d.ts +53 -1
- package/dist/client/MutationError.d.ts.map +1 -1
- package/dist/client/QueryResource.d.ts +9 -0
- package/dist/client/QueryResource.d.ts.map +1 -1
- package/dist/client/auth/useEmailCode.d.ts +3 -3
- package/dist/client/auth/useForgotPassword.d.ts +1 -1
- package/dist/client/auth/useResetPassword.d.ts +1 -1
- package/dist/client/auth/useSignIn.d.ts +1 -1
- package/dist/client/auth/useSignOut.d.ts +1 -1
- package/dist/client/auth/useSignUp.d.ts +1 -1
- package/dist/client/index.d.ts +4 -2
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +182 -30
- package/dist/client/index.js.map +1 -1
- package/dist/client/useMutation.d.ts +18 -8
- package/dist/client/useMutation.d.ts.map +1 -1
- package/dist/client/useQuery.d.ts +9 -0
- package/dist/client/useQuery.d.ts.map +1 -1
- package/dist/client/useSetQueryData.d.ts +69 -0
- package/dist/client/useSetQueryData.d.ts.map +1 -0
- package/dist/config/index.js +1 -1
- package/dist/console/run.js +2 -2
- package/dist/console/run.js.map +1 -1
- package/dist/container/index.js +2 -2
- package/dist/container/index.js.map +1 -1
- package/dist/database/index.js +2 -2
- package/dist/database/index.js.map +1 -1
- package/dist/email/index.js +2 -2
- package/dist/email/index.js.map +1 -1
- package/dist/facades/Auth.d.ts +29 -2
- package/dist/facades/Auth.d.ts.map +1 -1
- package/dist/facades/Cache.d.ts +36 -0
- package/dist/facades/Cache.d.ts.map +1 -0
- package/dist/facades/RateLimiter.d.ts +16 -1
- package/dist/facades/RateLimiter.d.ts.map +1 -1
- package/dist/facades/Url.d.ts +12 -1
- package/dist/facades/Url.d.ts.map +1 -1
- package/dist/facades/index.d.ts +1 -0
- package/dist/facades/index.d.ts.map +1 -1
- package/dist/facades/index.js +2 -2
- package/dist/facades/index.js.map +1 -1
- package/dist/foundation/index.js +2 -2
- package/dist/foundation/index.js.map +1 -1
- package/dist/http/HttpRequest.d.ts +14 -0
- package/dist/http/HttpRequest.d.ts.map +1 -1
- package/dist/http/McpRouter.d.ts +121 -2
- package/dist/http/McpRouter.d.ts.map +1 -1
- package/dist/http/Metadata.d.ts.map +1 -1
- package/dist/http/RateLimitExceededError.d.ts +24 -0
- package/dist/http/RateLimitExceededError.d.ts.map +1 -0
- package/dist/http/RateLimitMiddleware.d.ts +2 -5
- package/dist/http/RateLimitMiddleware.d.ts.map +1 -1
- package/dist/http/index.d.ts +2 -1
- package/dist/http/index.d.ts.map +1 -1
- package/dist/http/index.js +2 -2
- package/dist/http/index.js.map +1 -1
- package/dist/http/refusal.d.ts +6 -1
- package/dist/http/refusal.d.ts.map +1 -1
- package/dist/http/requestContext.d.ts +3 -1
- package/dist/http/requestContext.d.ts.map +1 -1
- package/dist/http/requestState.d.ts +57 -0
- package/dist/http/requestState.d.ts.map +1 -0
- package/dist/i18n/dictionaryRuntime.js +2 -2
- package/dist/i18n/dictionaryRuntime.js.map +1 -1
- package/dist/i18n/index.js +2 -2
- package/dist/i18n/index.js.map +1 -1
- package/dist/kernel/index.js +3 -3
- package/dist/kernel/index.js.map +3 -3
- package/dist/kernel/providers.d.ts +2 -2
- package/dist/kernel/providers.d.ts.map +1 -1
- package/dist/orm/index.js +2 -2
- package/dist/orm/index.js.map +1 -1
- package/dist/server/Server.d.ts.map +1 -1
- package/dist/server/health.d.ts +67 -0
- package/dist/server/health.d.ts.map +1 -0
- package/dist/server/index.d.ts +1 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +2 -2
- package/dist/server/index.js.map +5 -4
- package/dist/server/shutdown.d.ts +3 -4
- package/dist/server/shutdown.d.ts.map +1 -1
- package/dist/services/cache/CacheManager.d.ts +115 -0
- package/dist/services/cache/CacheManager.d.ts.map +1 -0
- package/dist/services/cache/CacheServiceProvider.d.ts +5 -0
- package/dist/services/cache/CacheServiceProvider.d.ts.map +1 -0
- package/dist/services/cache/CacheStore.d.ts +26 -0
- package/dist/services/cache/CacheStore.d.ts.map +1 -0
- package/dist/services/cache/MemoryCacheStore.d.ts +36 -0
- package/dist/services/cache/MemoryCacheStore.d.ts.map +1 -0
- package/dist/services/cache/RedisCacheStore.d.ts +54 -0
- package/dist/services/cache/RedisCacheStore.d.ts.map +1 -0
- package/dist/services/cache/config.d.ts +35 -0
- package/dist/services/cache/config.d.ts.map +1 -0
- package/dist/services/features/gate.d.ts +11 -0
- package/dist/services/features/gate.d.ts.map +1 -0
- package/dist/services/index.d.ts +10 -4
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +9 -9
- package/dist/services/index.js.map +5 -5
- package/dist/services/logging/LogManager.d.ts +1 -0
- package/dist/services/logging/LogManager.d.ts.map +1 -1
- package/dist/services/logging/config.d.ts +23 -1
- package/dist/services/logging/config.d.ts.map +1 -1
- package/dist/services/logging/consoleSink.d.ts +25 -0
- package/dist/services/logging/consoleSink.d.ts.map +1 -0
- package/dist/services/mcp/McpRegistry.d.ts +106 -14
- package/dist/services/mcp/McpRegistry.d.ts.map +1 -1
- package/dist/services/mcp/http/McpHttpServer.d.ts +41 -2
- package/dist/services/mcp/http/McpHttpServer.d.ts.map +1 -1
- package/dist/services/mcp/toAgentTools.d.ts +21 -3
- package/dist/services/mcp/toAgentTools.d.ts.map +1 -1
- package/dist/services/queue/work.js +2 -2
- package/dist/services/queue/work.js.map +1 -1
- package/dist/services/rate-limiter/RateLimiter.d.ts +12 -0
- package/dist/services/rate-limiter/RateLimiter.d.ts.map +1 -1
- package/dist/services/router/globalMiddleware.d.ts +4 -3
- package/dist/services/router/globalMiddleware.d.ts.map +1 -1
- package/dist/stats/route-table.js +1 -1
- package/dist/support/index.js +2 -2
- package/dist/support/index.js.map +1 -1
- package/dist/testing/index.js +1 -1
- package/dist/utils/appOrigin.d.ts +19 -0
- package/dist/utils/appOrigin.d.ts.map +1 -0
- package/dist/vitest/index.js +1 -1
- package/package.json +1 -1
- package/skills/gemi-react-best-practices/SKILL.md +1 -1
- package/skills/gemi-react-best-practices/rules/query-mutate-over-refetch.md +14 -0
- package/skills/gemi-react-best-practices/rules/routing-middleware-dsl.md +2 -1
- package/dist/chunk-5j50q4g8.js +0 -57
- package/dist/chunk-70nnh0y7.js +0 -5
- package/dist/chunk-kc924zjz.js +0 -5
- package/dist/chunk-kc924zjz.js.map +0 -12
- package/dist/chunk-mqtfaqx5.js +0 -5
- package/dist/chunk-n0r5xyk2.js +0 -14
- package/dist/chunk-nnarmbjv.js.map +0 -10
- package/dist/chunk-pya4rqm2.js +0 -5
- package/dist/chunk-pya4rqm2.js.map +0 -12
- package/dist/chunk-zmf3vhex.js +0 -10
- package/dist/chunk-zmf3vhex.js.map +0 -43
- package/dist/chunks/ThemeProvider-CbOx8IRl.js.map +0 -1
- /package/dist/{chunk-wbg2tza5.js.map → chunk-3fyhd641.js.map} +0 -0
- /package/dist/{chunk-5e22tm7m.js.map → chunk-bghxdjqv.js.map} +0 -0
- /package/dist/{chunk-65s834td.js.map → chunk-c48gag78.js.map} +0 -0
- /package/dist/{chunk-j7v7dft7.js.map → chunk-k6gvbvyw.js.map} +0 -0
- /package/dist/{chunk-c4jnxmf2.js.map → chunk-p0ccxfkq.js.map} +0 -0
- /package/dist/{chunk-3j6s5bmx.js.map → chunk-rvdsaqdv.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
|
|
44
|
-
*
|
|
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 |
|
|
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":"AAAA,OAAO,EAGL,KAAK,cAAc,EAMpB,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAIzC,OAAO,EAGL,KAAK,aAAa,
|
|
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
|
-
/**
|
|
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":"AAAA,OAAO,EAAwB,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEzE;;;;;;;;;;;;;;;;;;GAkBG;AAEH,sEAAsE;AACtE,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,kBAAkB,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,+CAA+C;AAC/C,MAAM,MAAM,mBAAmB,GAAG,OAAO,CACvC,WAAW,EACX,kBAAkB,GAAG,YAAY,GAAG,cAAc,CACnD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,mBAAmB,GAAG,mBAAmB;IAClF,IAAI,EAAE,CAAC,CAAC;IACR,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;
|
|
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;
|
package/dist/client/index.d.ts
CHANGED
|
@@ -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":";AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EACV,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,YAAY,EACV,YAAY,EACZ,WAAW,EACX,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC7F,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAChE,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,YAAY,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,qBAAqB,EACrB,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,WAAW,EACX,iBAAiB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../client/index.ts"],"names":[],"mappings":"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"}
|
package/dist/client/index.js
CHANGED
|
@@ -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-
|
|
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";
|
|
@@ -289,8 +289,14 @@ function useFrameworkQuery(url, ...args) {
|
|
|
289
289
|
}, liveChannel !== null).status === "open";
|
|
290
290
|
const refreshIntervalRef = useRef(null);
|
|
291
291
|
const fetchedRef = useRef(!lazy);
|
|
292
|
-
const
|
|
293
|
-
|
|
292
|
+
const pollRef = useRef({
|
|
293
|
+
timer: null,
|
|
294
|
+
duration: 0,
|
|
295
|
+
snapshot: void 0,
|
|
296
|
+
resource: null,
|
|
297
|
+
variantKey: null,
|
|
298
|
+
awaiting: false
|
|
299
|
+
});
|
|
294
300
|
const prefetchedRef = useRef(false);
|
|
295
301
|
const focusEligibleRef = useRef(!lazy);
|
|
296
302
|
const wasAwayRef = useRef(false);
|
|
@@ -378,26 +384,45 @@ function useFrameworkQuery(url, ...args) {
|
|
|
378
384
|
return () => window.removeEventListener("online", onOnline);
|
|
379
385
|
}, [resource, variantKey]);
|
|
380
386
|
useEffect(() => {
|
|
381
|
-
const
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
if (nextDuration > 0) {
|
|
386
|
-
refetchUntilDurationRef.current = nextDuration;
|
|
387
|
-
refetchUntilTimerRef.current = setTimeout(() => {
|
|
388
|
-
resource.refetch(variantKey);
|
|
389
|
-
}, nextDuration);
|
|
390
|
-
} else refetchUntilDurationRef.current = 0;
|
|
391
|
-
}
|
|
392
|
-
return () => {
|
|
393
|
-
if (refetchUntilTimerRef.current) clearTimeout(refetchUntilTimerRef.current);
|
|
387
|
+
const poll = pollRef.current;
|
|
388
|
+
const clear = () => {
|
|
389
|
+
if (poll.timer) clearTimeout(poll.timer);
|
|
390
|
+
poll.timer = null;
|
|
394
391
|
};
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
392
|
+
if (poll.snapshot !== snapshot || poll.resource !== resource || poll.variantKey !== variantKey) {
|
|
393
|
+
clear();
|
|
394
|
+
poll.awaiting = false;
|
|
395
|
+
poll.snapshot = snapshot;
|
|
396
|
+
poll.resource = resource;
|
|
397
|
+
poll.variantKey = variantKey;
|
|
398
|
+
}
|
|
399
|
+
const refetchUntil = configRef.current.refetchUntil;
|
|
400
|
+
if (!refetchUntil || liveOpen || !snapshot || snapshot.loading || !snapshot.hasData || snapshot.error) {
|
|
401
|
+
clear();
|
|
402
|
+
return;
|
|
403
|
+
}
|
|
404
|
+
if (poll.awaiting) return;
|
|
405
|
+
const nextDuration = refetchUntil(snapshot.data, poll.duration);
|
|
406
|
+
if (!(nextDuration > 0)) {
|
|
407
|
+
clear();
|
|
408
|
+
poll.duration = 0;
|
|
409
|
+
return;
|
|
410
|
+
}
|
|
411
|
+
if (poll.timer) return;
|
|
412
|
+
poll.duration = nextDuration;
|
|
413
|
+
poll.timer = setTimeout(() => {
|
|
414
|
+
poll.timer = null;
|
|
415
|
+
poll.awaiting = true;
|
|
416
|
+
resource.refetch(variantKey);
|
|
417
|
+
}, nextDuration);
|
|
418
|
+
});
|
|
419
|
+
useEffect(() => () => {
|
|
420
|
+
const poll = pollRef.current;
|
|
421
|
+
if (poll.timer) clearTimeout(poll.timer);
|
|
422
|
+
poll.timer = null;
|
|
423
|
+
poll.snapshot = void 0;
|
|
424
|
+
poll.awaiting = false;
|
|
425
|
+
}, []);
|
|
401
426
|
const handleReload = useCallback(() => {
|
|
402
427
|
if (configRef.current.debug) console.log("Reloading query for", variantKey);
|
|
403
428
|
const data = resource.getVariant(variantKey, configRef.current.staleTime).data;
|
|
@@ -793,7 +818,10 @@ function isCsrfError(error) {
|
|
|
793
818
|
function isNotFoundError(error) {
|
|
794
819
|
return kindOf(error) === "not_found";
|
|
795
820
|
}
|
|
796
|
-
/**
|
|
821
|
+
/**
|
|
822
|
+
* `RateLimitMiddleware` or `RateLimiter.enforce` refused the request (429).
|
|
823
|
+
* `retryAfter` (ms) says when to try again, when the server sent it.
|
|
824
|
+
*/
|
|
797
825
|
function isRateLimitError(error) {
|
|
798
826
|
return kindOf(error) === "rate_limit";
|
|
799
827
|
}
|
|
@@ -842,6 +870,125 @@ function mutationErrorKind(error) {
|
|
|
842
870
|
function isHttpError(error, status) {
|
|
843
871
|
return isObject(error) && !(error instanceof Error) && error.status === status;
|
|
844
872
|
}
|
|
873
|
+
var FALLBACK_MESSAGE = "Something went wrong. Try again.";
|
|
874
|
+
function unwrapQueryError(error) {
|
|
875
|
+
if (error instanceof Error && error.name === "QueryError" && "body" in error) {
|
|
876
|
+
const { body, status } = error;
|
|
877
|
+
return body == null ? error : mutationErrorFromBody(body, status);
|
|
878
|
+
}
|
|
879
|
+
return error;
|
|
880
|
+
}
|
|
881
|
+
/**
|
|
882
|
+
* `error.list(fallback)` for any value: an error kept from a mutation, a
|
|
883
|
+
* `useQuery` `QueryError` (its body is read), or anything else.
|
|
884
|
+
*/
|
|
885
|
+
function mutationErrorList(error, fallback = FALLBACK_MESSAGE) {
|
|
886
|
+
const value = unwrapQueryError(error);
|
|
887
|
+
if (isValidationError(value)) {
|
|
888
|
+
const messages = Object.values(value.messages ?? {}).flat().filter((message) => typeof message === "string" && message !== "");
|
|
889
|
+
return messages.length > 0 ? messages : [fallback];
|
|
890
|
+
}
|
|
891
|
+
if (isObject(value) && !(value instanceof Error) && value.kind !== "server_error" && typeof value.message === "string" && value.message !== "") return [value.message];
|
|
892
|
+
return [fallback];
|
|
893
|
+
}
|
|
894
|
+
/**
|
|
895
|
+
* `error.field(name)` for any value: a validation error's messages for
|
|
896
|
+
* `name` (a `QueryError`'s body is read), `[]` for anything else.
|
|
897
|
+
*/
|
|
898
|
+
function mutationErrorField(error, name) {
|
|
899
|
+
const value = unwrapQueryError(error);
|
|
900
|
+
if (!isValidationError(value)) return [];
|
|
901
|
+
const messages = value.messages?.[name];
|
|
902
|
+
return Array.isArray(messages) ? [...messages] : [];
|
|
903
|
+
}
|
|
904
|
+
/**
|
|
905
|
+
* Puts `list` and `field` on an error the hooks hand over, as non-enumerable
|
|
906
|
+
* properties, so `toEqual`, a spread and `JSON.stringify` see the same object
|
|
907
|
+
* as before. A key the error already has is left alone; a primitive or a
|
|
908
|
+
* frozen value is returned as it is.
|
|
909
|
+
*
|
|
910
|
+
* @internal
|
|
911
|
+
*/
|
|
912
|
+
function withMutationErrorHelpers(error) {
|
|
913
|
+
if (!isObject(error) || !Object.isExtensible(error)) return error;
|
|
914
|
+
const helpers = {
|
|
915
|
+
list: (fallback) => mutationErrorList(error, fallback),
|
|
916
|
+
field: (name) => mutationErrorField(error, name)
|
|
917
|
+
};
|
|
918
|
+
for (const key of ["list", "field"]) {
|
|
919
|
+
if (key in error) continue;
|
|
920
|
+
Object.defineProperty(error, key, {
|
|
921
|
+
value: helpers[key],
|
|
922
|
+
configurable: true,
|
|
923
|
+
writable: true,
|
|
924
|
+
enumerable: false
|
|
925
|
+
});
|
|
926
|
+
}
|
|
927
|
+
return error;
|
|
928
|
+
}
|
|
929
|
+
//#endregion
|
|
930
|
+
//#region client/useSetQueryData.ts
|
|
931
|
+
/**
|
|
932
|
+
* Write into every variant `target` names. `next` is the value to write, or
|
|
933
|
+
* a function of the cached value; a function skips a variant with nothing
|
|
934
|
+
* cached. A value seeds a single variant that is not cached yet; a predicate
|
|
935
|
+
* only ever reaches variants that are.
|
|
936
|
+
*/
|
|
937
|
+
function writeQueryData(getResource, routeParams, target, next) {
|
|
938
|
+
const { path, params = {}, search = {} } = target;
|
|
939
|
+
const resource = getResource(applyParams$1(String(path), {
|
|
940
|
+
...routeParams,
|
|
941
|
+
...params
|
|
942
|
+
}));
|
|
943
|
+
const write = (variantKey) => {
|
|
944
|
+
if ("value" in next) {
|
|
945
|
+
resource.set(variantKey, next.value);
|
|
946
|
+
return;
|
|
947
|
+
}
|
|
948
|
+
const state = resource.peek(variantKey);
|
|
949
|
+
if (!state?.hasData) return;
|
|
950
|
+
resource.set(variantKey, next.update(state.data));
|
|
951
|
+
};
|
|
952
|
+
if (typeof search === "function") {
|
|
953
|
+
for (const variantKey of resource.variantKeys()) {
|
|
954
|
+
if (!resource.peek(variantKey)?.hasData) continue;
|
|
955
|
+
if (search(new URLSearchParams(variantKey))) write(variantKey);
|
|
956
|
+
}
|
|
957
|
+
return;
|
|
958
|
+
}
|
|
959
|
+
write(toVariantKey(search));
|
|
960
|
+
}
|
|
961
|
+
/**
|
|
962
|
+
* Write a mutation's `updates` with its answer.
|
|
963
|
+
*/
|
|
964
|
+
function applyQueryUpdates(getResource, routeParams, updates, answer) {
|
|
965
|
+
for (const update of updates ?? []) {
|
|
966
|
+
const { data } = update;
|
|
967
|
+
writeQueryData(getResource, routeParams, update, data ? { update: (current) => data(answer, current) } : { value: answer });
|
|
968
|
+
}
|
|
969
|
+
}
|
|
970
|
+
/**
|
|
971
|
+
* Returns a function that writes into any query's cache by path, with no
|
|
972
|
+
* refetch: for data the server already answered with. `useMutate` is the
|
|
973
|
+
* optimistic counterpart, which refetches to reconcile.
|
|
974
|
+
*
|
|
975
|
+
* ```ts
|
|
976
|
+
* const setQueryData = useSetQueryData();
|
|
977
|
+
* setQueryData({ path: "/pages/:pageId/assets", params: { pageId } }, assets);
|
|
978
|
+
* setQueryData({ path: "/todos", search: () => true }, (todos) => todos.slice(1));
|
|
979
|
+
* ```
|
|
980
|
+
*
|
|
981
|
+
* A value replaces the variant's data, and seeds it when nothing is cached
|
|
982
|
+
* yet. A function updates what is cached and skips a variant with nothing
|
|
983
|
+
* cached. A predicate `search` reaches every cached variant it accepts.
|
|
984
|
+
*/
|
|
985
|
+
function useSetQueryData() {
|
|
986
|
+
const { getResource } = useContext(QueryManagerContext);
|
|
987
|
+
const routeParams = useParams();
|
|
988
|
+
return useCallback(function setQueryData(target, next) {
|
|
989
|
+
writeQueryData(getResource, routeParams, target, typeof next === "function" ? { update: next } : { value: next });
|
|
990
|
+
}, [getResource, routeParams]);
|
|
991
|
+
}
|
|
845
992
|
//#endregion
|
|
846
993
|
//#region client/useMutation.ts
|
|
847
994
|
function applyParams(url, params = {}) {
|
|
@@ -858,6 +1005,7 @@ var defaultOptions = {
|
|
|
858
1005
|
function useMutation(method, url, ...args) {
|
|
859
1006
|
const _params = useParams();
|
|
860
1007
|
const { clearPrefetchCache } = useContext(ClientRouterContext);
|
|
1008
|
+
const { getResource } = useContext(QueryManagerContext);
|
|
861
1009
|
const [state, setState] = useState({
|
|
862
1010
|
data: null,
|
|
863
1011
|
error: null,
|
|
@@ -933,7 +1081,7 @@ function useMutation(method, url, ...args) {
|
|
|
933
1081
|
}
|
|
934
1082
|
resetFormData();
|
|
935
1083
|
if (!response.ok) {
|
|
936
|
-
const error = mutationErrorFromBody(data, response.status);
|
|
1084
|
+
const error = withMutationErrorHelpers(mutationErrorFromBody(data, response.status));
|
|
937
1085
|
settle((prev) => ({
|
|
938
1086
|
data: prev.data,
|
|
939
1087
|
error
|
|
@@ -943,6 +1091,7 @@ function useMutation(method, url, ...args) {
|
|
|
943
1091
|
return;
|
|
944
1092
|
}
|
|
945
1093
|
clearPrefetchCache?.();
|
|
1094
|
+
applyQueryUpdates(getResource, _params, options.updates, data);
|
|
946
1095
|
options.onSuccess(data);
|
|
947
1096
|
call.onSuccess?.(data);
|
|
948
1097
|
settle(() => ({
|
|
@@ -960,11 +1109,12 @@ function useMutation(method, url, ...args) {
|
|
|
960
1109
|
settle((prev) => prev);
|
|
961
1110
|
return;
|
|
962
1111
|
}
|
|
963
|
-
|
|
964
|
-
|
|
1112
|
+
const failure = withMutationErrorHelpers(error);
|
|
1113
|
+
options.onError(failure);
|
|
1114
|
+
call.onError?.(failure);
|
|
965
1115
|
settle((prev) => ({
|
|
966
1116
|
data: parallel ? prev.data : null,
|
|
967
|
-
error
|
|
1117
|
+
error: failure
|
|
968
1118
|
}));
|
|
969
1119
|
}
|
|
970
1120
|
}
|
|
@@ -1009,6 +1159,7 @@ function useUpload(url, ...args) {
|
|
|
1009
1159
|
const [progress, setProgress] = useState(0);
|
|
1010
1160
|
const _params = useParams();
|
|
1011
1161
|
const { clearPrefetchCache } = useContext(ClientRouterContext);
|
|
1162
|
+
const { getResource } = useContext(QueryManagerContext);
|
|
1012
1163
|
const abortRef = useRef(null);
|
|
1013
1164
|
const [inputs = {}, options = defaultOptions] = args ?? [];
|
|
1014
1165
|
const cancel = () => {
|
|
@@ -1081,18 +1232,19 @@ function useUpload(url, ...args) {
|
|
|
1081
1232
|
error = mutationErrorFromBody(JSON.parse(outcome.body), outcome.status);
|
|
1082
1233
|
} catch {}
|
|
1083
1234
|
setState("error");
|
|
1084
|
-
options?.onError?.(error);
|
|
1235
|
+
options?.onError?.(withMutationErrorHelpers(error));
|
|
1085
1236
|
return;
|
|
1086
1237
|
}
|
|
1087
1238
|
const json = JSON.parse(outcome.body);
|
|
1088
1239
|
clearPrefetchCache?.();
|
|
1240
|
+
applyQueryUpdates(getResource, _params, options?.updates, json);
|
|
1089
1241
|
options?.onSuccess?.(json);
|
|
1090
1242
|
setState("done");
|
|
1091
1243
|
return json;
|
|
1092
1244
|
} catch (error) {
|
|
1093
1245
|
release();
|
|
1094
1246
|
setState("error");
|
|
1095
|
-
options?.onError?.(error);
|
|
1247
|
+
options?.onError?.(withMutationErrorHelpers(error));
|
|
1096
1248
|
return;
|
|
1097
1249
|
}
|
|
1098
1250
|
};
|
|
@@ -3360,6 +3512,6 @@ function onStaticNavigate(callback) {
|
|
|
3360
3512
|
return () => document.removeEventListener("gemi:page-load", listener);
|
|
3361
3513
|
}
|
|
3362
3514
|
//#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 };
|
|
3515
|
+
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
3516
|
|
|
3365
3517
|
//# sourceMappingURL=index.js.map
|