gemi 0.127.0 → 0.129.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/index.js +2 -2
- package/dist/ai/index.js.map +1 -1
- package/dist/app/index.js +1 -1
- package/dist/bun/plugin.js +1 -1
- package/dist/bun/preload.js +1 -1
- package/dist/{chunk-bghxdjqv.js → chunk-03wc6em7.js} +1 -1
- package/dist/{chunk-56ryda9y.js → chunk-0m2fyw7g.js} +2 -2
- package/dist/{chunk-56ryda9y.js.map → chunk-0m2fyw7g.js.map} +1 -1
- package/dist/chunk-0ryswty9.js +120 -0
- package/dist/{chunk-6c8pn6hj.js.map → chunk-0ryswty9.js.map} +10 -4
- package/dist/{chunk-ecb8qggy.js → chunk-0vxwrc4t.js} +2 -2
- package/dist/{chunk-ecb8qggy.js.map → chunk-0vxwrc4t.js.map} +1 -1
- package/dist/{chunk-1v368y9a.js → chunk-1gdzajwb.js} +2 -2
- package/dist/{chunk-1v368y9a.js.map → chunk-1gdzajwb.js.map} +1 -1
- package/dist/{chunk-h4755p9h.js → chunk-1rq53cb0.js} +2 -2
- package/dist/{chunk-h4755p9h.js.map → chunk-1rq53cb0.js.map} +1 -1
- package/dist/{chunk-v7nw1g2n.js → chunk-1yttk239.js} +2 -2
- package/dist/{chunk-v7nw1g2n.js.map → chunk-1yttk239.js.map} +1 -1
- package/dist/{chunk-28bby5pp.js → chunk-1z311hyj.js} +2 -2
- package/dist/{chunk-28bby5pp.js.map → chunk-1z311hyj.js.map} +1 -1
- package/dist/{chunk-n8mxsfc2.js → chunk-2869cbhd.js} +3 -3
- package/dist/{chunk-n8mxsfc2.js.map → chunk-2869cbhd.js.map} +1 -1
- package/dist/{chunk-dm7mada7.js → chunk-2bmk0fzm.js} +3 -3
- package/dist/{chunk-dm7mada7.js.map → chunk-2bmk0fzm.js.map} +1 -1
- package/dist/{chunk-ych1dv5q.js → chunk-2epj17ac.js} +3 -3
- package/dist/{chunk-ych1dv5q.js.map → chunk-2epj17ac.js.map} +1 -1
- package/dist/{chunk-0arss2xy.js → chunk-2z1gd231.js} +2 -2
- package/dist/{chunk-0arss2xy.js.map → chunk-2z1gd231.js.map} +1 -1
- package/dist/{chunk-xe2cfmyb.js → chunk-3dyd4z06.js} +2 -2
- package/dist/{chunk-xe2cfmyb.js.map → chunk-3dyd4z06.js.map} +1 -1
- package/dist/{chunk-p0ccxfkq.js → chunk-43vjbd6n.js} +1 -1
- package/dist/{chunk-nv2t87c3.js → chunk-4yp84g2y.js} +2 -2
- package/dist/{chunk-nv2t87c3.js.map → chunk-4yp84g2y.js.map} +1 -1
- package/dist/{chunk-bhbxhk9e.js → chunk-5bk7767a.js} +2 -2
- package/dist/{chunk-bhbxhk9e.js.map → chunk-5bk7767a.js.map} +1 -1
- package/dist/{chunk-k6gvbvyw.js → chunk-5nkvpc0a.js} +1 -1
- package/dist/{chunk-gxp48t81.js → chunk-5ym464xx.js} +4 -4
- package/dist/{chunk-gxp48t81.js.map → chunk-5ym464xx.js.map} +1 -1
- package/dist/{chunk-v80890xx.js → chunk-7321qjgb.js} +3 -3
- package/dist/{chunk-v80890xx.js.map → chunk-7321qjgb.js.map} +1 -1
- package/dist/{chunk-0f0xxqhy.js → chunk-87rtxv9n.js} +3 -3
- package/dist/{chunk-0f0xxqhy.js.map → chunk-87rtxv9n.js.map} +1 -1
- package/dist/{chunk-avfntxm1.js → chunk-8jqve5dr.js} +2 -2
- package/dist/{chunk-avfntxm1.js.map → chunk-8jqve5dr.js.map} +1 -1
- package/dist/{chunk-5vvfcdpk.js → chunk-9122838b.js} +2 -2
- package/dist/{chunk-5vvfcdpk.js.map → chunk-9122838b.js.map} +1 -1
- package/dist/{chunk-jg3kg55f.js → chunk-9701fx4z.js} +2 -2
- package/dist/{chunk-jg3kg55f.js.map → chunk-9701fx4z.js.map} +1 -1
- package/dist/{chunk-mj7h1dgh.js → chunk-b7wmssj5.js} +2 -2
- package/dist/{chunk-mj7h1dgh.js.map → chunk-b7wmssj5.js.map} +1 -1
- package/dist/{chunk-etf6h5m1.js → chunk-bg5qb9hm.js} +2 -2
- package/dist/{chunk-etf6h5m1.js.map → chunk-bg5qb9hm.js.map} +1 -1
- package/dist/{chunk-w4111j5d.js → chunk-bnp6wpzd.js} +2 -2
- package/dist/{chunk-w4111j5d.js.map → chunk-bnp6wpzd.js.map} +1 -1
- package/dist/{chunk-yg8se4vs.js → chunk-cp84b0ev.js} +3 -3
- package/dist/{chunk-yg8se4vs.js.map → chunk-cp84b0ev.js.map} +1 -1
- package/dist/{chunk-hye22tpt.js → chunk-dak8txaw.js} +2 -2
- package/dist/{chunk-hye22tpt.js.map → chunk-dak8txaw.js.map} +1 -1
- package/dist/{chunk-7x2n788t.js → chunk-er5ed5pg.js} +3 -3
- package/dist/{chunk-7x2n788t.js.map → chunk-er5ed5pg.js.map} +1 -1
- package/dist/{chunk-s2y2b8tz.js → chunk-f8ce6e9c.js} +2 -2
- package/dist/{chunk-s2y2b8tz.js.map → chunk-f8ce6e9c.js.map} +1 -1
- package/dist/{chunk-7eerqsg2.js → chunk-fezaxj28.js} +2 -2
- package/dist/{chunk-7eerqsg2.js.map → chunk-fezaxj28.js.map} +1 -1
- package/dist/{chunk-q9mxjh10.js → chunk-fv53h1q2.js} +2 -2
- package/dist/{chunk-q9mxjh10.js.map → chunk-fv53h1q2.js.map} +1 -1
- package/dist/{chunk-62zn06wb.js → chunk-gpdsxwkt.js} +2 -2
- package/dist/{chunk-62zn06wb.js.map → chunk-gpdsxwkt.js.map} +1 -1
- package/dist/{chunk-15bmfr7f.js → chunk-gzaaspe7.js} +2 -2
- package/dist/{chunk-15bmfr7f.js.map → chunk-gzaaspe7.js.map} +1 -1
- package/dist/{chunk-3fyhd641.js → chunk-h55c9bdf.js} +1 -1
- package/dist/{chunk-x5vpjzpp.js → chunk-ja41ts8v.js} +2 -2
- package/dist/{chunk-x5vpjzpp.js.map → chunk-ja41ts8v.js.map} +1 -1
- package/dist/{chunk-1dzs05dc.js → chunk-jcps2gpp.js} +2 -2
- package/dist/{chunk-1dzs05dc.js.map → chunk-jcps2gpp.js.map} +1 -1
- package/dist/chunk-jj1ppnnk.js +10 -0
- package/dist/{chunk-3p9vj0h6.js.map → chunk-jj1ppnnk.js.map} +5 -4
- package/dist/{chunk-psdyfaf1.js → chunk-jm1f9cas.js} +2 -2
- package/dist/{chunk-psdyfaf1.js.map → chunk-jm1f9cas.js.map} +1 -1
- package/dist/{chunk-99z9d0sa.js → chunk-k107vw69.js} +2 -2
- package/dist/{chunk-99z9d0sa.js.map → chunk-k107vw69.js.map} +1 -1
- package/dist/{chunk-7dzprr9b.js → chunk-k10vbrjx.js} +3 -3
- package/dist/{chunk-7dzprr9b.js.map → chunk-k10vbrjx.js.map} +1 -1
- package/dist/{chunk-c48gag78.js → chunk-kmcnfk2s.js} +1 -1
- package/dist/{chunk-yffm8nxa.js → chunk-mc8mxx2a.js} +2 -2
- package/dist/{chunk-yffm8nxa.js.map → chunk-mc8mxx2a.js.map} +1 -1
- package/dist/{chunk-ewv1m1sv.js → chunk-n1t4ea9g.js} +3 -3
- package/dist/{chunk-ewv1m1sv.js.map → chunk-n1t4ea9g.js.map} +1 -1
- package/dist/{chunk-9hhxy88x.js → chunk-n4dk0dc9.js} +2 -2
- package/dist/{chunk-9hhxy88x.js.map → chunk-n4dk0dc9.js.map} +1 -1
- package/dist/{chunk-rvdsaqdv.js → chunk-nh9ewam0.js} +1 -1
- package/dist/{chunk-84rbdyhe.js → chunk-njaxnv6c.js} +2 -2
- package/dist/{chunk-84rbdyhe.js.map → chunk-njaxnv6c.js.map} +1 -1
- package/dist/{chunk-7nfprr9v.js → chunk-np73p641.js} +2 -2
- package/dist/{chunk-7nfprr9v.js.map → chunk-np73p641.js.map} +1 -1
- package/dist/{chunk-87jj7n9q.js → chunk-nvfhx9d1.js} +2 -2
- package/dist/{chunk-87jj7n9q.js.map → chunk-nvfhx9d1.js.map} +1 -1
- package/dist/{chunk-qmcjh6de.js → chunk-nwzsgzvy.js} +2 -2
- package/dist/{chunk-qmcjh6de.js.map → chunk-nwzsgzvy.js.map} +1 -1
- package/dist/{chunk-43faxwf5.js → chunk-p528pvmm.js} +2 -2
- package/dist/{chunk-43faxwf5.js.map → chunk-p528pvmm.js.map} +1 -1
- package/dist/{chunk-kzk5r6v4.js → chunk-peng31np.js} +3 -3
- package/dist/{chunk-kzk5r6v4.js.map → chunk-peng31np.js.map} +1 -1
- package/dist/{chunk-mj4n5mar.js → chunk-pgddb43b.js} +2 -2
- package/dist/{chunk-mj4n5mar.js.map → chunk-pgddb43b.js.map} +1 -1
- package/dist/{chunk-s2krqtwj.js → chunk-pgh7gsag.js} +2 -2
- package/dist/{chunk-s2krqtwj.js.map → chunk-pgh7gsag.js.map} +1 -1
- package/dist/chunk-pqn9j5s8.js +5 -0
- package/dist/{chunk-87bmhng2.js.map → chunk-pqn9j5s8.js.map} +1 -1
- package/dist/{chunk-m63v6aze.js → chunk-pxsq9841.js} +2 -2
- package/dist/{chunk-m63v6aze.js.map → chunk-pxsq9841.js.map} +1 -1
- package/dist/{chunk-1eb4p352.js → chunk-py1twqh8.js} +2 -2
- package/dist/{chunk-1eb4p352.js.map → chunk-py1twqh8.js.map} +1 -1
- package/dist/{chunk-nrf23yan.js → chunk-qjmcn5m5.js} +2 -2
- package/dist/{chunk-nrf23yan.js.map → chunk-qjmcn5m5.js.map} +1 -1
- package/dist/{chunk-t8kzaxaa.js → chunk-qpwb3gnh.js} +2 -2
- package/dist/{chunk-t8kzaxaa.js.map → chunk-qpwb3gnh.js.map} +1 -1
- package/dist/{chunk-c65rh4k8.js → chunk-qv8sj2z3.js} +2 -2
- package/dist/{chunk-c65rh4k8.js.map → chunk-qv8sj2z3.js.map} +1 -1
- package/dist/{chunk-3hndrc5z.js → chunk-sbdm4enk.js} +2 -2
- package/dist/{chunk-3hndrc5z.js.map → chunk-sbdm4enk.js.map} +1 -1
- package/dist/{chunk-v1eeh7a7.js → chunk-sh39q44t.js} +3 -3
- package/dist/{chunk-v1eeh7a7.js.map → chunk-sh39q44t.js.map} +1 -1
- package/dist/{chunk-b2pdqxj3.js → chunk-t7gvgz20.js} +3 -3
- package/dist/{chunk-b2pdqxj3.js.map → chunk-t7gvgz20.js.map} +1 -1
- package/dist/{chunk-gv59djt3.js → chunk-tn3y2qkj.js} +2 -2
- package/dist/{chunk-gv59djt3.js.map → chunk-tn3y2qkj.js.map} +1 -1
- package/dist/{chunk-9x0pgkns.js → chunk-ty5sp1ym.js} +2 -2
- package/dist/{chunk-9x0pgkns.js.map → chunk-ty5sp1ym.js.map} +1 -1
- package/dist/{chunk-8df7fn7f.js → chunk-v09w6pr2.js} +3 -3
- package/dist/{chunk-8df7fn7f.js.map → chunk-v09w6pr2.js.map} +1 -1
- package/dist/{chunk-s0kns9q1.js → chunk-vc5kpxdk.js} +3 -3
- package/dist/{chunk-s0kns9q1.js.map → chunk-vc5kpxdk.js.map} +1 -1
- package/dist/{chunk-1gd1ykgj.js → chunk-vjpby5sf.js} +3 -3
- package/dist/{chunk-1gd1ykgj.js.map → chunk-vjpby5sf.js.map} +1 -1
- package/dist/{chunk-p7abyc0b.js → chunk-wf3qe12c.js} +2 -2
- package/dist/{chunk-p7abyc0b.js.map → chunk-wf3qe12c.js.map} +1 -1
- package/dist/{chunk-yhxjhrvp.js → chunk-wmkrb1qv.js} +2 -2
- package/dist/{chunk-yhxjhrvp.js.map → chunk-wmkrb1qv.js.map} +1 -1
- package/dist/{chunk-094m8mj3.js → chunk-wn437678.js} +2 -2
- package/dist/{chunk-094m8mj3.js.map → chunk-wn437678.js.map} +1 -1
- package/dist/{chunk-rtb64x14.js → chunk-wv3nnq8c.js} +3 -3
- package/dist/{chunk-rtb64x14.js.map → chunk-wv3nnq8c.js.map} +1 -1
- package/dist/{chunk-wat33wxh.js → chunk-ww86zqbw.js} +2 -2
- package/dist/{chunk-wat33wxh.js.map → chunk-ww86zqbw.js.map} +1 -1
- package/dist/{chunk-ebdkmzm9.js → chunk-x92g4x4w.js} +2 -2
- package/dist/{chunk-ebdkmzm9.js.map → chunk-x92g4x4w.js.map} +1 -1
- package/dist/{chunk-qy3s6pwz.js → chunk-xhm5wgfe.js} +2 -2
- package/dist/{chunk-qy3s6pwz.js.map → chunk-xhm5wgfe.js.map} +1 -1
- package/dist/{chunk-89swy5aq.js → chunk-xtnbcbkf.js} +2 -2
- package/dist/{chunk-89swy5aq.js.map → chunk-xtnbcbkf.js.map} +1 -1
- package/dist/{chunk-pxstrw29.js → chunk-zw5z1k84.js} +2 -2
- package/dist/{chunk-pxstrw29.js.map → chunk-zw5z1k84.js.map} +1 -1
- package/dist/chunks/RealtimeClient-CqGve6h8.js +545 -0
- package/dist/chunks/RealtimeClient-CqGve6h8.js.map +1 -0
- package/dist/chunks/{ThemeProvider-BIrCSrFY.js → ThemeProvider-DaX0eyqs.js} +155 -539
- package/dist/chunks/ThemeProvider-DaX0eyqs.js.map +1 -0
- package/dist/chunks/live-DIUDdLrA.js +69 -0
- package/dist/chunks/live-DIUDdLrA.js.map +1 -0
- package/dist/chunks/subscriptionStream-CULcRbx0.js +166 -0
- package/dist/chunks/subscriptionStream-CULcRbx0.js.map +1 -0
- package/dist/client/index.d.ts +1 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +118 -330
- package/dist/client/index.js.map +1 -1
- package/dist/client/init.d.ts +1 -1
- package/dist/client/init.d.ts.map +1 -1
- package/dist/client/realtime/FakeSocket.d.ts +1 -1
- package/dist/client/realtime/FakeSocket.d.ts.map +1 -1
- package/dist/client/realtime/RealtimeClient.d.ts +4 -20
- package/dist/client/realtime/RealtimeClient.d.ts.map +1 -1
- package/dist/client/realtime/live.d.ts +25 -0
- package/dist/client/realtime/live.d.ts.map +1 -0
- package/dist/client/realtime/loader.d.ts +59 -0
- package/dist/client/realtime/loader.d.ts.map +1 -0
- package/dist/client/realtime/useChannelSubscription.d.ts +1 -1
- package/dist/client/realtime/useChannelSubscription.d.ts.map +1 -1
- package/dist/client/subscriptionStream.d.ts +36 -0
- package/dist/client/subscriptionStream.d.ts.map +1 -0
- package/dist/client/useChannel.d.ts +1 -13
- package/dist/client/useChannel.d.ts.map +1 -1
- package/dist/client/useQuery.d.ts +1 -1
- package/dist/client/useQuery.d.ts.map +1 -1
- package/dist/client/useSubscription.d.ts +5 -10
- package/dist/client/useSubscription.d.ts.map +1 -1
- 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/Runs.d.ts +64 -0
- package/dist/facades/Runs.d.ts.map +1 -0
- 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/index.js +2 -2
- package/dist/http/index.js.map +1 -1
- 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.map +1 -1
- package/dist/orm/index.js +2 -2
- package/dist/orm/index.js.map +1 -1
- package/dist/server/index.js +2 -2
- package/dist/server/index.js.map +1 -1
- package/dist/services/broadcast/protocol.d.ts +1 -2
- package/dist/services/broadcast/protocol.d.ts.map +1 -1
- package/dist/services/broadcast/socketHeader.d.ts +9 -0
- package/dist/services/broadcast/socketHeader.d.ts.map +1 -0
- package/dist/services/index.d.ts +5 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +3 -3
- package/dist/services/index.js.map +2 -2
- package/dist/services/queue/work.js +2 -2
- package/dist/services/queue/work.js.map +1 -1
- package/dist/services/runs/DatabaseRunStore.d.ts +62 -0
- package/dist/services/runs/DatabaseRunStore.d.ts.map +1 -0
- package/dist/services/runs/RunManager.d.ts +200 -0
- package/dist/services/runs/RunManager.d.ts.map +1 -0
- package/dist/services/runs/RunStore.d.ts +163 -0
- package/dist/services/runs/RunStore.d.ts.map +1 -0
- package/dist/services/runs/RunsServiceProvider.d.ts +5 -0
- package/dist/services/runs/RunsServiceProvider.d.ts.map +1 -0
- package/dist/services/runs/config.d.ts +20 -0
- package/dist/services/runs/config.d.ts.map +1 -0
- 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/Page.d.ts.map +1 -1
- package/dist/testing/index.js +3 -1
- package/dist/testing/index.js.map +1 -1
- package/dist/vitest/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-3p9vj0h6.js +0 -10
- package/dist/chunk-6c8pn6hj.js +0 -57
- package/dist/chunk-87bmhng2.js +0 -5
- package/dist/chunks/ThemeProvider-BIrCSrFY.js.map +0 -1
- /package/dist/{chunk-bghxdjqv.js.map → chunk-03wc6em7.js.map} +0 -0
- /package/dist/{chunk-p0ccxfkq.js.map → chunk-43vjbd6n.js.map} +0 -0
- /package/dist/{chunk-k6gvbvyw.js.map → chunk-5nkvpc0a.js.map} +0 -0
- /package/dist/{chunk-3fyhd641.js.map → chunk-h55c9bdf.js.map} +0 -0
- /package/dist/{chunk-c48gag78.js.map → chunk-kmcnfk2s.js.map} +0 -0
- /package/dist/{chunk-rvdsaqdv.js.map → chunk-nh9ewam0.js.map} +0 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import "./ThemeProvider-DaX0eyqs.js";
|
|
2
|
+
//#region \0rolldown/runtime.js
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __exportAll = (all, no_symbols) => {
|
|
5
|
+
let target = {};
|
|
6
|
+
for (var name in all) __defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: true
|
|
9
|
+
});
|
|
10
|
+
if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
|
|
11
|
+
return target;
|
|
12
|
+
};
|
|
13
|
+
//#endregion
|
|
14
|
+
//#region client/realtime/live.ts
|
|
15
|
+
var live_exports = /* @__PURE__ */ __exportAll({
|
|
16
|
+
resolveLiveChannel: () => resolveLiveChannel,
|
|
17
|
+
subscribeLive: () => subscribeLive
|
|
18
|
+
});
|
|
19
|
+
function resolveLiveChannel(live) {
|
|
20
|
+
if (!live) return null;
|
|
21
|
+
if (typeof live === "string") return {
|
|
22
|
+
pattern: live,
|
|
23
|
+
params: {}
|
|
24
|
+
};
|
|
25
|
+
if (Array.isArray(live)) return {
|
|
26
|
+
pattern: live[0],
|
|
27
|
+
params: live[1] ?? {}
|
|
28
|
+
};
|
|
29
|
+
const object = live;
|
|
30
|
+
return {
|
|
31
|
+
pattern: object.channel,
|
|
32
|
+
params: object.params ?? {}
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* `useQuery`'s `live` subscription, loaded on first use by `followLive` in
|
|
37
|
+
* `./loader` (#891). The channel's events refetch every cached variant of the
|
|
38
|
+
* query (the rendered ones now), a burst of them once per
|
|
39
|
+
* `EVENT_COALESCE_MS`; a resync refetches at once. `setOpen` follows whether
|
|
40
|
+
* the channel is open, which pauses the query's polling.
|
|
41
|
+
*/
|
|
42
|
+
function subscribeLive(socket, live, resource, setOpen) {
|
|
43
|
+
const channel = resolveLiveChannel(live);
|
|
44
|
+
if (!channel) return () => {};
|
|
45
|
+
const refresh = () => {
|
|
46
|
+
const target = resource();
|
|
47
|
+
for (const key of target.variantKeys()) target.invalidate(key);
|
|
48
|
+
};
|
|
49
|
+
let timer = null;
|
|
50
|
+
const release = socket.subscribe(channel.pattern, channel.params, {
|
|
51
|
+
onEvent: () => {
|
|
52
|
+
if (timer) return;
|
|
53
|
+
timer = setTimeout(() => {
|
|
54
|
+
timer = null;
|
|
55
|
+
refresh();
|
|
56
|
+
}, 150);
|
|
57
|
+
},
|
|
58
|
+
onResync: refresh,
|
|
59
|
+
onStatus: (status) => setOpen(status === "open")
|
|
60
|
+
});
|
|
61
|
+
return () => {
|
|
62
|
+
if (timer) clearTimeout(timer);
|
|
63
|
+
release();
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
//#endregion
|
|
67
|
+
export { live_exports as t };
|
|
68
|
+
|
|
69
|
+
//# sourceMappingURL=live-DIUDdLrA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"live-DIUDdLrA.js","names":[],"sources":["../../client/realtime/live.ts"],"sourcesContent":["import type { QueryResource } from \"../QueryResource\";\nimport type { ChannelPattern } from \"../useChannel\";\nimport { EVENT_COALESCE_MS } from \"./useChannelSubscription\";\nimport type { ChannelParamValues, RealtimeSocket } from \"./RealtimeClient\";\n\n/**\n * `useQuery`'s `live` option: the channel whose events and resyncs refetch\n * the query. A pattern without params (`\"user\"`), `[pattern, params]`, or\n * `{ channel, params }`.\n */\nexport type LiveChannel =\n | ChannelPattern\n | readonly [ChannelPattern, ChannelParamValues]\n | { channel: ChannelPattern; params?: ChannelParamValues };\n\nexport function resolveLiveChannel(\n live: LiveChannel | null | undefined | false,\n): { pattern: string; params: ChannelParamValues } | null {\n if (!live) return null;\n if (typeof live === \"string\") return { pattern: live, params: {} };\n if (Array.isArray(live)) return { pattern: live[0], params: live[1] ?? {} };\n const object = live as { channel: string; params?: ChannelParamValues };\n return { pattern: object.channel, params: object.params ?? {} };\n}\n\n/**\n * `useQuery`'s `live` subscription, loaded on first use by `followLive` in\n * `./loader` (#891). The channel's events refetch every cached variant of the\n * query (the rendered ones now), a burst of them once per\n * `EVENT_COALESCE_MS`; a resync refetches at once. `setOpen` follows whether\n * the channel is open, which pauses the query's polling.\n */\nexport function subscribeLive(\n socket: RealtimeSocket,\n live: LiveChannel,\n resource: () => QueryResource,\n setOpen: (open: boolean) => void,\n): () => void {\n const channel = resolveLiveChannel(live);\n if (!channel) return () => {};\n const refresh = () => {\n const target = resource();\n for (const key of target.variantKeys()) target.invalidate(key);\n };\n let timer: ReturnType<typeof setTimeout> | null = null;\n const release = socket.subscribe(channel.pattern, channel.params, {\n onEvent: () => {\n if (timer) return;\n timer = setTimeout(() => {\n timer = null;\n refresh();\n }, EVENT_COALESCE_MS);\n },\n onResync: refresh,\n onStatus: (status) => setOpen(status === \"open\"),\n });\n return () => {\n if (timer) clearTimeout(timer);\n release();\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAeA,SAAgB,mBACd,MACwD;CACxD,IAAI,CAAC,MAAM,OAAO;CAClB,IAAI,OAAO,SAAS,UAAU,OAAO;EAAE,SAAS;EAAM,QAAQ,CAAC;CAAE;CACjE,IAAI,MAAM,QAAQ,IAAI,GAAG,OAAO;EAAE,SAAS,KAAK;EAAI,QAAQ,KAAK,MAAM,CAAC;CAAE;CAC1E,MAAM,SAAS;CACf,OAAO;EAAE,SAAS,OAAO;EAAS,QAAQ,OAAO,UAAU,CAAC;CAAE;AAChE;;;;;;;;AASA,SAAgB,cACd,QACA,MACA,UACA,SACY;CACZ,MAAM,UAAU,mBAAmB,IAAI;CACvC,IAAI,CAAC,SAAS,aAAa,CAAC;CAC5B,MAAM,gBAAgB;EACpB,MAAM,SAAS,SAAS;EACxB,KAAK,MAAM,OAAO,OAAO,YAAY,GAAG,OAAO,WAAW,GAAG;CAC/D;CACA,IAAI,QAA8C;CAClD,MAAM,UAAU,OAAO,UAAU,QAAQ,SAAS,QAAQ,QAAQ;EAChE,eAAe;GACb,IAAI,OAAO;GACX,QAAQ,iBAAiB;IACvB,QAAQ;IACR,QAAQ;GACV,GAAA,GAAoB;EACtB;EACA,UAAU;EACV,WAAW,WAAW,QAAQ,WAAW,MAAM;CACjD,CAAC;CACD,aAAa;EACX,IAAI,OAAO,aAAa,KAAK;EAC7B,QAAQ;CACV;AACF"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
//#region client/subscriptionStream.ts
|
|
2
|
+
var MIN_RETRY_MS = 1e3;
|
|
3
|
+
var MAX_RETRY_MS = 3e4;
|
|
4
|
+
/** The server answered in a way retrying will not change (401, 403, 404). */
|
|
5
|
+
var FatalStatus = class extends Error {
|
|
6
|
+
status;
|
|
7
|
+
constructor(status) {
|
|
8
|
+
super(`The subscription was refused with ${status}.`);
|
|
9
|
+
this.status = status;
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Follows `endpoint` until the returned function is called: connects,
|
|
14
|
+
* reconnects with backoff, pauses while the tab is hidden, and reports
|
|
15
|
+
* through `setState` and `callbacks`.
|
|
16
|
+
*/
|
|
17
|
+
function follow({ endpoint, pauseWhenHidden, cursor, callbacks, setState }) {
|
|
18
|
+
let stopped = false;
|
|
19
|
+
let request = null;
|
|
20
|
+
let resume = null;
|
|
21
|
+
let retryMs = MIN_RETRY_MS;
|
|
22
|
+
const hidden = () => pauseWhenHidden && typeof document !== "undefined" && document.visibilityState === "hidden";
|
|
23
|
+
const onVisibilityChange = () => {
|
|
24
|
+
if (hidden()) request?.abort();
|
|
25
|
+
else resume?.();
|
|
26
|
+
};
|
|
27
|
+
if (typeof document !== "undefined") document.addEventListener("visibilitychange", onVisibilityChange);
|
|
28
|
+
const wait = (ms) => new Promise((resolve) => {
|
|
29
|
+
const timer = setTimeout(done, ms);
|
|
30
|
+
function done() {
|
|
31
|
+
clearTimeout(timer);
|
|
32
|
+
resume = null;
|
|
33
|
+
resolve();
|
|
34
|
+
}
|
|
35
|
+
resume = done;
|
|
36
|
+
});
|
|
37
|
+
(async () => {
|
|
38
|
+
while (!stopped) {
|
|
39
|
+
if (hidden()) {
|
|
40
|
+
setState((s) => ({
|
|
41
|
+
...s,
|
|
42
|
+
status: "paused"
|
|
43
|
+
}));
|
|
44
|
+
await new Promise((resolve) => resume = resolve);
|
|
45
|
+
resume = null;
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
setState((s) => ({
|
|
49
|
+
...s,
|
|
50
|
+
status: "connecting"
|
|
51
|
+
}));
|
|
52
|
+
const controller = request = new AbortController();
|
|
53
|
+
let delay = retryMs;
|
|
54
|
+
try {
|
|
55
|
+
const headers = { Accept: "text/event-stream" };
|
|
56
|
+
if (cursor.current) headers["Last-Event-ID"] = cursor.current;
|
|
57
|
+
const response = await fetch(endpoint, {
|
|
58
|
+
headers,
|
|
59
|
+
signal: controller.signal
|
|
60
|
+
});
|
|
61
|
+
if (!response.ok || !response.body) {
|
|
62
|
+
const status = response.status;
|
|
63
|
+
if (status >= 400 && status < 500 && status !== 408 && status !== 429) throw new FatalStatus(status);
|
|
64
|
+
const retryAfter = Number(response.headers.get("Retry-After"));
|
|
65
|
+
if (Number.isFinite(retryAfter) && retryAfter > 0) delay = retryAfter * 1e3;
|
|
66
|
+
throw new Error(`The subscription answered ${status}.`);
|
|
67
|
+
}
|
|
68
|
+
for await (const { id, message } of readEvents(response.body)) {
|
|
69
|
+
if (stopped) return;
|
|
70
|
+
if (id !== void 0) cursor.current = id;
|
|
71
|
+
if (message.type === "ready") {
|
|
72
|
+
retryMs = MIN_RETRY_MS;
|
|
73
|
+
delay = MIN_RETRY_MS;
|
|
74
|
+
setState({
|
|
75
|
+
status: "open",
|
|
76
|
+
cursor: cursor.current,
|
|
77
|
+
error: null
|
|
78
|
+
});
|
|
79
|
+
} else {
|
|
80
|
+
setState((s) => ({
|
|
81
|
+
...s,
|
|
82
|
+
cursor: cursor.current
|
|
83
|
+
}));
|
|
84
|
+
if (message.type === "change") callbacks.current.onChange?.(message);
|
|
85
|
+
else if (message.type === "reset") callbacks.current.onReset?.(message);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
} catch (error) {
|
|
89
|
+
if (stopped) return;
|
|
90
|
+
if (error instanceof FatalStatus) {
|
|
91
|
+
setState((s) => ({
|
|
92
|
+
...s,
|
|
93
|
+
status: "closed",
|
|
94
|
+
error
|
|
95
|
+
}));
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
if (controller.signal.aborted) continue;
|
|
99
|
+
setState((s) => ({
|
|
100
|
+
...s,
|
|
101
|
+
error
|
|
102
|
+
}));
|
|
103
|
+
}
|
|
104
|
+
if (stopped || controller.signal.aborted) continue;
|
|
105
|
+
setState((s) => ({
|
|
106
|
+
...s,
|
|
107
|
+
status: "connecting"
|
|
108
|
+
}));
|
|
109
|
+
await wait(delay);
|
|
110
|
+
retryMs = Math.min(retryMs * 2, MAX_RETRY_MS);
|
|
111
|
+
}
|
|
112
|
+
})();
|
|
113
|
+
return () => {
|
|
114
|
+
stopped = true;
|
|
115
|
+
request?.abort();
|
|
116
|
+
resume?.();
|
|
117
|
+
if (typeof document !== "undefined") document.removeEventListener("visibilitychange", onVisibilityChange);
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* The events of an SSE body: `id` and the JSON `data`. Comments (keepalives)
|
|
122
|
+
* and events without data are skipped; an event whose data is not JSON is
|
|
123
|
+
* dropped rather than ending the stream.
|
|
124
|
+
*/
|
|
125
|
+
async function* readEvents(body) {
|
|
126
|
+
const reader = body.getReader();
|
|
127
|
+
const decoder = new TextDecoder();
|
|
128
|
+
let buffer = "";
|
|
129
|
+
try {
|
|
130
|
+
for (;;) {
|
|
131
|
+
const { done, value } = await reader.read();
|
|
132
|
+
if (done) return;
|
|
133
|
+
buffer = (buffer + decoder.decode(value, { stream: true })).replace(/\r\n?/g, "\n");
|
|
134
|
+
let boundary = buffer.indexOf("\n\n");
|
|
135
|
+
while (boundary !== -1) {
|
|
136
|
+
const block = buffer.slice(0, boundary);
|
|
137
|
+
buffer = buffer.slice(boundary + 2);
|
|
138
|
+
boundary = buffer.indexOf("\n\n");
|
|
139
|
+
let id;
|
|
140
|
+
const data = [];
|
|
141
|
+
for (const line of block.split("\n")) {
|
|
142
|
+
if (line === "" || line.startsWith(":")) continue;
|
|
143
|
+
const colon = line.indexOf(":");
|
|
144
|
+
const field = colon === -1 ? line : line.slice(0, colon);
|
|
145
|
+
let text = colon === -1 ? "" : line.slice(colon + 1);
|
|
146
|
+
if (text.startsWith(" ")) text = text.slice(1);
|
|
147
|
+
if (field === "id") id = text;
|
|
148
|
+
else if (field === "data") data.push(text);
|
|
149
|
+
}
|
|
150
|
+
if (data.length === 0) continue;
|
|
151
|
+
try {
|
|
152
|
+
yield {
|
|
153
|
+
id,
|
|
154
|
+
message: JSON.parse(data.join("\n"))
|
|
155
|
+
};
|
|
156
|
+
} catch {}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
} finally {
|
|
160
|
+
await reader.cancel().catch(() => {});
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
//#endregion
|
|
164
|
+
export { follow, readEvents };
|
|
165
|
+
|
|
166
|
+
//# sourceMappingURL=subscriptionStream-CULcRbx0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscriptionStream-CULcRbx0.js","names":[],"sources":["../../client/subscriptionStream.ts"],"sourcesContent":["import type { Dispatch, SetStateAction } from \"react\";\n\nimport type { ChangeFeedMessage } from \"../services/change-feed/wire\";\nimport type { SubscriptionConfig, SubscriptionStatus } from \"./useSubscription\";\n\n// `useSubscription`'s connection: the SSE request, its reader and the\n// reconnect loop. Loaded by the hook with a dynamic `import()` when it first\n// connects, so it lands in a chunk of its own rather than in the entry chunk\n// every route loads (#891). Import it as a type only from anywhere else.\n\nconst MIN_RETRY_MS = 1_000;\nconst MAX_RETRY_MS = 30_000;\n\n/** The server answered in a way retrying will not change (401, 403, 404). */\nclass FatalStatus extends Error {\n constructor(readonly status: number) {\n super(`The subscription was refused with ${status}.`);\n }\n}\n\nexport interface SubscriptionState {\n status: SubscriptionStatus;\n cursor: string | null;\n error: Error | null;\n}\n\nexport interface FollowOptions {\n endpoint: string;\n pauseWhenHidden: boolean;\n /** Where to resume; advanced as events arrive. */\n cursor: { current: string | null };\n callbacks: { current: SubscriptionConfig<unknown> };\n setState: Dispatch<SetStateAction<SubscriptionState>>;\n}\n\n/**\n * Follows `endpoint` until the returned function is called: connects,\n * reconnects with backoff, pauses while the tab is hidden, and reports\n * through `setState` and `callbacks`.\n */\nexport function follow({\n endpoint,\n pauseWhenHidden,\n cursor,\n callbacks,\n setState,\n}: FollowOptions): () => void {\n let stopped = false;\n let request: AbortController | null = null;\n let resume: (() => void) | null = null;\n let retryMs = MIN_RETRY_MS;\n const hidden = () =>\n pauseWhenHidden && typeof document !== \"undefined\" && document.visibilityState === \"hidden\";\n const onVisibilityChange = () => {\n if (hidden()) request?.abort();\n else resume?.();\n };\n if (typeof document !== \"undefined\") {\n document.addEventListener(\"visibilitychange\", onVisibilityChange);\n }\n const wait = (ms: number) =>\n new Promise<void>((resolve) => {\n const timer = setTimeout(done, ms);\n function done() {\n clearTimeout(timer);\n resume = null;\n resolve();\n }\n // Shown again, or unmounted: stop waiting.\n resume = done;\n });\n\n void (async () => {\n while (!stopped) {\n if (hidden()) {\n setState((s) => ({ ...s, status: \"paused\" }));\n await new Promise<void>((resolve) => (resume = resolve));\n resume = null;\n continue;\n }\n setState((s) => ({ ...s, status: \"connecting\" }));\n const controller = (request = new AbortController());\n let delay = retryMs;\n try {\n const headers: Record<string, string> = { Accept: \"text/event-stream\" };\n if (cursor.current) headers[\"Last-Event-ID\"] = cursor.current;\n const response = await fetch(endpoint, { headers, signal: controller.signal });\n if (!response.ok || !response.body) {\n const status = response.status;\n if (status >= 400 && status < 500 && status !== 408 && status !== 429) {\n throw new FatalStatus(status);\n }\n const retryAfter = Number(response.headers.get(\"Retry-After\"));\n if (Number.isFinite(retryAfter) && retryAfter > 0) delay = retryAfter * 1000;\n throw new Error(`The subscription answered ${status}.`);\n }\n for await (const { id, message } of readEvents(response.body)) {\n if (stopped) return;\n if (id !== undefined) cursor.current = id;\n if (message.type === \"ready\") {\n retryMs = MIN_RETRY_MS;\n delay = MIN_RETRY_MS;\n setState({ status: \"open\", cursor: cursor.current, error: null });\n } else {\n setState((s) => ({ ...s, cursor: cursor.current }));\n if (message.type === \"change\") callbacks.current.onChange?.(message as never);\n else if (message.type === \"reset\") callbacks.current.onReset?.(message as never);\n }\n }\n } catch (error) {\n if (stopped) return;\n if (error instanceof FatalStatus) {\n setState((s) => ({ ...s, status: \"closed\", error }));\n return;\n }\n // Aborted because the tab was hidden: the loop pauses instead.\n if (controller.signal.aborted) continue;\n setState((s) => ({ ...s, error: error as Error }));\n }\n if (stopped || controller.signal.aborted) continue;\n // The stream ended or failed: try again, a little later each time.\n setState((s) => ({ ...s, status: \"connecting\" }));\n await wait(delay);\n retryMs = Math.min(retryMs * 2, MAX_RETRY_MS);\n }\n })();\n\n return () => {\n stopped = true;\n request?.abort();\n resume?.();\n if (typeof document !== \"undefined\") {\n document.removeEventListener(\"visibilitychange\", onVisibilityChange);\n }\n };\n}\n\n/**\n * The events of an SSE body: `id` and the JSON `data`. Comments (keepalives)\n * and events without data are skipped; an event whose data is not JSON is\n * dropped rather than ending the stream.\n */\nexport async function* readEvents(\n body: ReadableStream<Uint8Array>,\n): AsyncGenerator<{ id?: string; message: ChangeFeedMessage }> {\n const reader = body.getReader();\n const decoder = new TextDecoder();\n let buffer = \"\";\n try {\n for (;;) {\n const { done, value } = await reader.read();\n if (done) return;\n // `ChangeFeed.stream` writes `\\n` only; a proxy's `\\r\\n` is folded here.\n buffer = (buffer + decoder.decode(value, { stream: true })).replace(/\\r\\n?/g, \"\\n\");\n let boundary = buffer.indexOf(\"\\n\\n\");\n while (boundary !== -1) {\n const block = buffer.slice(0, boundary);\n buffer = buffer.slice(boundary + 2);\n boundary = buffer.indexOf(\"\\n\\n\");\n let id: string | undefined;\n const data: string[] = [];\n for (const line of block.split(\"\\n\")) {\n if (line === \"\" || line.startsWith(\":\")) continue;\n const colon = line.indexOf(\":\");\n const field = colon === -1 ? line : line.slice(0, colon);\n let text = colon === -1 ? \"\" : line.slice(colon + 1);\n if (text.startsWith(\" \")) text = text.slice(1);\n if (field === \"id\") id = text;\n else if (field === \"data\") data.push(text);\n }\n if (data.length === 0) continue;\n try {\n yield { id, message: JSON.parse(data.join(\"\\n\")) };\n } catch {\n // Not JSON: not ours to apply.\n }\n }\n }\n } finally {\n await reader.cancel().catch(() => {});\n }\n}\n"],"mappings":"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"}
|
package/dist/client/index.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export type { QueryTarget, QueryUpdate } from "./useSetQueryData";
|
|
|
16
16
|
export { useSubscription } from "./useSubscription";
|
|
17
17
|
export { useChannel, useChannelInvalidate } from "./useChannel";
|
|
18
18
|
export type { ChannelPattern, ChannelParamsFor, ChannelEventsFor, ChannelState, ChannelStatus, InvalidatePath, LiveChannel, UseChannelConfig, UseChannelOptions, } from "./useChannel";
|
|
19
|
-
export { configureRealtime } from "./realtime/
|
|
19
|
+
export { configureRealtime } from "./realtime/loader";
|
|
20
20
|
export type { RealtimeOptions } from "./realtime/RealtimeClient";
|
|
21
21
|
export type { SubscriptionConfig, SubscriptionData, SubscriptionOptions, SubscriptionStatus, } from "./useSubscription";
|
|
22
22
|
export { isValidationError, isFormError, isAuthenticationError, isPermissionError, isCsrfError, isNotFoundError, isRateLimitError, isServerError, isNetworkError, isHttpError, mutationErrorKind, mutationErrorList, mutationErrorField, } from "./MutationError";
|
|
@@ -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,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAClE,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,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../client/index.ts"],"names":[],"mappings":"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"}
|