gemi 0.122.0 → 0.123.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/App.d.ts +9 -0
- package/dist/app/App.d.ts.map +1 -1
- package/dist/app/index.js +1 -1
- package/dist/auth/AuthController.d.ts.map +1 -1
- package/dist/bin/gemi.js +4 -1
- package/dist/bin/gemi.js.map +3 -3
- package/dist/bun/plugin.js +1 -1
- package/dist/bun/preload.js +1 -1
- package/dist/{chunk-dwedx1jb.js → chunk-08fcqny0.js} +3 -3
- package/dist/{chunk-dwedx1jb.js.map → chunk-08fcqny0.js.map} +1 -1
- package/dist/{chunk-vx7hvyvq.js → chunk-0qmc7snf.js} +2 -2
- package/dist/{chunk-vx7hvyvq.js.map → chunk-0qmc7snf.js.map} +1 -1
- package/dist/{chunk-qy8c0gzr.js → chunk-0tc0j3pf.js} +2 -2
- package/dist/{chunk-qy8c0gzr.js.map → chunk-0tc0j3pf.js.map} +1 -1
- package/dist/{chunk-meg8rtr6.js → chunk-1f1sb3w7.js} +2 -2
- package/dist/{chunk-meg8rtr6.js.map → chunk-1f1sb3w7.js.map} +1 -1
- package/dist/{chunk-d5f1m3d2.js → chunk-1kdga1b2.js} +2 -2
- package/dist/{chunk-d5f1m3d2.js.map → chunk-1kdga1b2.js.map} +1 -1
- package/dist/{chunk-48gmyaxc.js → chunk-2amj1eyp.js} +2 -2
- package/dist/{chunk-48gmyaxc.js.map → chunk-2amj1eyp.js.map} +1 -1
- package/dist/chunk-2vc72qez.js +9 -0
- package/dist/chunk-2vc72qez.js.map +10 -0
- package/dist/{chunk-9xyxbxgk.js → chunk-30xxc6r7.js} +2 -2
- package/dist/{chunk-9xyxbxgk.js.map → chunk-30xxc6r7.js.map} +1 -1
- package/dist/chunk-39dx7xrz.js +10 -0
- package/dist/{chunk-dyp0wg9e.js.map → chunk-39dx7xrz.js.map} +8 -4
- package/dist/{chunk-dhbgrv58.js → chunk-4qpypa3h.js} +1 -1
- package/dist/{chunk-wqe47c0j.js → chunk-52xkw2bs.js} +2 -2
- package/dist/{chunk-wqe47c0j.js.map → chunk-52xkw2bs.js.map} +1 -1
- package/dist/{chunk-3gsv1vv1.js → chunk-53hc0ah1.js} +2 -2
- package/dist/{chunk-3gsv1vv1.js.map → chunk-53hc0ah1.js.map} +1 -1
- package/dist/{chunk-qsz9241c.js → chunk-58ffbwdc.js} +2 -2
- package/dist/{chunk-qsz9241c.js.map → chunk-58ffbwdc.js.map} +1 -1
- package/dist/{chunk-0ejjgzwc.js → chunk-5a4qbtez.js} +2 -2
- package/dist/{chunk-0ejjgzwc.js.map → chunk-5a4qbtez.js.map} +1 -1
- package/dist/{chunk-7mmw0jr2.js → chunk-675kzd7z.js} +2 -2
- package/dist/{chunk-7mmw0jr2.js.map → chunk-675kzd7z.js.map} +1 -1
- package/dist/{chunk-dedqr5wb.js → chunk-6gjvqtcp.js} +2 -2
- package/dist/{chunk-dedqr5wb.js.map → chunk-6gjvqtcp.js.map} +1 -1
- package/dist/{chunk-6yhpprzs.js → chunk-6pxavyh3.js} +2 -2
- package/dist/{chunk-6yhpprzs.js.map → chunk-6pxavyh3.js.map} +1 -1
- package/dist/{chunk-h43jp8ws.js → chunk-73v34hw8.js} +2 -2
- package/dist/{chunk-h43jp8ws.js.map → chunk-73v34hw8.js.map} +1 -1
- package/dist/{chunk-wjkh2gem.js → chunk-8x73yyfs.js} +1 -1
- package/dist/{chunk-yds7zwc3.js → chunk-96a1459v.js} +2 -2
- package/dist/{chunk-yds7zwc3.js.map → chunk-96a1459v.js.map} +1 -1
- package/dist/{chunk-d2c3947c.js → chunk-9a9ef0f1.js} +2 -2
- package/dist/{chunk-d2c3947c.js.map → chunk-9a9ef0f1.js.map} +1 -1
- package/dist/{chunk-ep0baa9g.js → chunk-9p7eq7bz.js} +2 -2
- package/dist/{chunk-ep0baa9g.js.map → chunk-9p7eq7bz.js.map} +1 -1
- package/dist/chunk-9t08wbkd.js +58 -0
- package/dist/{chunk-3rvn9a76.js.map → chunk-9t08wbkd.js.map} +3 -3
- package/dist/{chunk-pn2x59ge.js → chunk-aafanq8n.js} +3 -3
- package/dist/{chunk-pn2x59ge.js.map → chunk-aafanq8n.js.map} +1 -1
- package/dist/{chunk-tewhms9w.js → chunk-ay8nat73.js} +2 -2
- package/dist/{chunk-tewhms9w.js.map → chunk-ay8nat73.js.map} +1 -1
- package/dist/{chunk-shfe0b22.js → chunk-bk2aheea.js} +2 -2
- package/dist/{chunk-shfe0b22.js.map → chunk-bk2aheea.js.map} +1 -1
- package/dist/{chunk-mr94nfp1.js → chunk-d0wr9jk4.js} +3 -3
- package/dist/{chunk-mr94nfp1.js.map → chunk-d0wr9jk4.js.map} +1 -1
- package/dist/chunk-d3ywmeb7.js +4 -0
- package/dist/chunk-d3ywmeb7.js.map +10 -0
- package/dist/{chunk-zefs2b6h.js → chunk-de7hxe73.js} +2 -2
- package/dist/{chunk-zefs2b6h.js.map → chunk-de7hxe73.js.map} +1 -1
- package/dist/{chunk-er8acmch.js → chunk-dmj6ysym.js} +2 -2
- package/dist/{chunk-er8acmch.js.map → chunk-dmj6ysym.js.map} +1 -1
- package/dist/{chunk-rhek27sj.js → chunk-ebx5hnqn.js} +3 -3
- package/dist/{chunk-rhek27sj.js.map → chunk-ebx5hnqn.js.map} +1 -1
- package/dist/chunk-eevna943.js +5 -0
- package/dist/chunk-eevna943.js.map +10 -0
- package/dist/{chunk-9rr5h818.js → chunk-enta97jb.js} +3 -3
- package/dist/{chunk-9rr5h818.js.map → chunk-enta97jb.js.map} +1 -1
- package/dist/{chunk-s5k3yq6t.js → chunk-f1thqe6j.js} +2 -2
- package/dist/{chunk-s5k3yq6t.js.map → chunk-f1thqe6j.js.map} +1 -1
- package/dist/{chunk-zrcd9hxr.js → chunk-fsy344zb.js} +2 -2
- package/dist/{chunk-zrcd9hxr.js.map → chunk-fsy344zb.js.map} +1 -1
- package/dist/{chunk-gemzbw7f.js → chunk-fxxbwyce.js} +2 -2
- package/dist/{chunk-gemzbw7f.js.map → chunk-fxxbwyce.js.map} +1 -1
- package/dist/{chunk-1wnnkde0.js → chunk-fyk07w01.js} +3 -3
- package/dist/{chunk-1wnnkde0.js.map → chunk-fyk07w01.js.map} +1 -1
- package/dist/chunk-gvp6brdt.js +57 -0
- package/dist/{chunk-3s21p9n2.js.map → chunk-gvp6brdt.js.map} +19 -9
- package/dist/{chunk-7g649j8h.js → chunk-gwnmgkq5.js} +2 -2
- package/dist/{chunk-7g649j8h.js.map → chunk-gwnmgkq5.js.map} +1 -1
- package/dist/{chunk-51w5ktv2.js → chunk-h76mddt3.js} +2 -2
- package/dist/{chunk-51w5ktv2.js.map → chunk-h76mddt3.js.map} +1 -1
- package/dist/{chunk-nz8z8jr1.js → chunk-hnrzm5pf.js} +3 -3
- package/dist/{chunk-nz8z8jr1.js.map → chunk-hnrzm5pf.js.map} +1 -1
- package/dist/{chunk-3wnghdsx.js → chunk-hs88b8gt.js} +2 -2
- package/dist/{chunk-3wnghdsx.js.map → chunk-hs88b8gt.js.map} +1 -1
- package/dist/{chunk-0k02tza1.js → chunk-j0cnsgjq.js} +1 -1
- package/dist/{chunk-pemhmjzp.js → chunk-j8vc3bze.js} +3 -3
- package/dist/{chunk-pemhmjzp.js.map → chunk-j8vc3bze.js.map} +1 -1
- package/dist/{chunk-471htqmz.js → chunk-k17wx7gz.js} +2 -2
- package/dist/{chunk-471htqmz.js.map → chunk-k17wx7gz.js.map} +1 -1
- package/dist/{chunk-m83zm86m.js → chunk-kc924zjz.js} +2 -2
- package/dist/{chunk-m83zm86m.js.map → chunk-kc924zjz.js.map} +1 -1
- package/dist/{chunk-5nj94s66.js → chunk-kdjhgtp9.js} +4 -4
- package/dist/{chunk-5nj94s66.js.map → chunk-kdjhgtp9.js.map} +1 -1
- package/dist/{chunk-32n8t8x6.js → chunk-kvas36p6.js} +2 -2
- package/dist/{chunk-32n8t8x6.js.map → chunk-kvas36p6.js.map} +1 -1
- package/dist/{chunk-4fx8p02c.js → chunk-kzstewtm.js} +2 -2
- package/dist/{chunk-4fx8p02c.js.map → chunk-kzstewtm.js.map} +1 -1
- package/dist/{chunk-gc2dz11k.js → chunk-mxbtcaed.js} +2 -2
- package/dist/{chunk-gc2dz11k.js.map → chunk-mxbtcaed.js.map} +1 -1
- package/dist/{chunk-cca0grq3.js → chunk-n1a2zj5z.js} +2 -2
- package/dist/{chunk-cca0grq3.js.map → chunk-n1a2zj5z.js.map} +1 -1
- package/dist/{chunk-0yj0s1pn.js → chunk-nf608sb1.js} +2 -2
- package/dist/{chunk-0yj0s1pn.js.map → chunk-nf608sb1.js.map} +1 -1
- package/dist/{chunk-19dpzp4y.js → chunk-nvngb4ed.js} +3 -3
- package/dist/{chunk-19dpzp4y.js.map → chunk-nvngb4ed.js.map} +1 -1
- package/dist/{chunk-cskqet01.js → chunk-pfm9ngch.js} +2 -2
- package/dist/{chunk-cskqet01.js.map → chunk-pfm9ngch.js.map} +1 -1
- package/dist/{chunk-fenc5tpv.js → chunk-q1e3q01h.js} +2 -2
- package/dist/{chunk-fenc5tpv.js.map → chunk-q1e3q01h.js.map} +1 -1
- package/dist/{chunk-2c0s0561.js → chunk-qen6587t.js} +2 -2
- package/dist/{chunk-2c0s0561.js.map → chunk-qen6587t.js.map} +1 -1
- package/dist/{chunk-r01aqf0q.js → chunk-r5tadf14.js} +2 -2
- package/dist/{chunk-r01aqf0q.js.map → chunk-r5tadf14.js.map} +1 -1
- package/dist/{chunk-cvr5624r.js → chunk-rjm1kj8n.js} +1 -1
- package/dist/{chunk-jaa6xkeh.js → chunk-rjtmgbay.js} +2 -2
- package/dist/{chunk-jaa6xkeh.js.map → chunk-rjtmgbay.js.map} +1 -1
- package/dist/{chunk-rhvc1axc.js → chunk-rkgsvsrj.js} +2 -2
- package/dist/{chunk-rhvc1axc.js.map → chunk-rkgsvsrj.js.map} +1 -1
- package/dist/{chunk-m53fgf20.js → chunk-s5jxc63j.js} +3 -3
- package/dist/{chunk-m53fgf20.js.map → chunk-s5jxc63j.js.map} +1 -1
- package/dist/{chunk-5tdxbwzg.js → chunk-sxa70wgn.js} +3 -3
- package/dist/{chunk-5tdxbwzg.js.map → chunk-sxa70wgn.js.map} +1 -1
- package/dist/chunk-tazvfppr.js +5 -0
- package/dist/{chunk-htgmy3x7.js.map → chunk-tazvfppr.js.map} +1 -1
- package/dist/{chunk-gy81nd9a.js → chunk-vd6zn8c4.js} +2 -2
- package/dist/{chunk-gy81nd9a.js.map → chunk-vd6zn8c4.js.map} +1 -1
- package/dist/chunk-vpgbn494.js +24 -0
- package/dist/{chunk-2yw4yezc.js.map → chunk-vpgbn494.js.map} +3 -3
- package/dist/{chunk-7ftj43vp.js → chunk-vwnd4jb5.js} +2 -2
- package/dist/{chunk-7ftj43vp.js.map → chunk-vwnd4jb5.js.map} +1 -1
- package/dist/{chunk-c0v61fp5.js → chunk-w0jfqnw9.js} +2 -2
- package/dist/{chunk-c0v61fp5.js.map → chunk-w0jfqnw9.js.map} +1 -1
- package/dist/{chunk-65beps2q.js → chunk-w61sphn5.js} +3 -3
- package/dist/{chunk-65beps2q.js.map → chunk-w61sphn5.js.map} +1 -1
- package/dist/{chunk-zg6hmc48.js → chunk-wqharhrp.js} +1 -1
- package/dist/{chunk-sx340k85.js → chunk-x0jahbqj.js} +2 -2
- package/dist/{chunk-sx340k85.js.map → chunk-x0jahbqj.js.map} +1 -1
- package/dist/{chunk-y6wt5b6t.js → chunk-xhmtph39.js} +1 -1
- package/dist/{chunk-c7qs1xp3.js → chunk-y67evsdy.js} +2 -2
- package/dist/{chunk-c7qs1xp3.js.map → chunk-y67evsdy.js.map} +1 -1
- package/dist/{chunk-krk7mcgm.js → chunk-ycsrpf47.js} +3 -3
- package/dist/{chunk-krk7mcgm.js.map → chunk-ycsrpf47.js.map} +1 -1
- package/dist/{chunk-9d2d08qm.js → chunk-ywgvxx35.js} +2 -2
- package/dist/{chunk-9d2d08qm.js.map → chunk-ywgvxx35.js.map} +1 -1
- package/dist/{chunk-4acpw92g.js → chunk-z23h4s1a.js} +3 -3
- package/dist/{chunk-4acpw92g.js.map → chunk-z23h4s1a.js.map} +1 -1
- package/dist/{chunk-tk135gmj.js → chunk-zjej5vqh.js} +3 -3
- package/dist/{chunk-tk135gmj.js.map → chunk-zjej5vqh.js.map} +1 -1
- package/dist/chunks/{ThemeProvider-BLI4zpLu.js → ThemeProvider-CgK2mmVV.js} +576 -2
- package/dist/chunks/ThemeProvider-CgK2mmVV.js.map +1 -0
- package/dist/client/auth/useEmailCode.d.ts.map +1 -1
- package/dist/client/auth/useSignIn.d.ts.map +1 -1
- package/dist/client/auth/useSignOut.d.ts.map +1 -1
- package/dist/client/index.d.ts +5 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +216 -8
- package/dist/client/index.js.map +1 -1
- package/dist/client/init.d.ts +8 -0
- package/dist/client/init.d.ts.map +1 -1
- package/dist/client/realtime/FakeSocket.d.ts +47 -0
- package/dist/client/realtime/FakeSocket.d.ts.map +1 -0
- package/dist/client/realtime/RealtimeClient.d.ts +162 -0
- package/dist/client/realtime/RealtimeClient.d.ts.map +1 -0
- package/dist/client/realtime/RealtimeContext.d.ts +8 -0
- package/dist/client/realtime/RealtimeContext.d.ts.map +1 -0
- package/dist/client/realtime/useChannelSubscription.d.ts +32 -0
- package/dist/client/realtime/useChannelSubscription.d.ts.map +1 -0
- package/dist/client/rpc.d.ts +11 -0
- package/dist/client/rpc.d.ts.map +1 -1
- package/dist/client/useChannel.d.ts +87 -0
- package/dist/client/useChannel.d.ts.map +1 -0
- package/dist/client/useMutation.d.ts.map +1 -1
- package/dist/client/useQuery.d.ts +13 -0
- package/dist/client/useQuery.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/Broadcast.d.ts +68 -0
- package/dist/facades/Broadcast.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/gemi.d.ts +19 -6
- package/dist/http/ChannelRouter.d.ts +171 -0
- package/dist/http/ChannelRouter.d.ts.map +1 -0
- package/dist/http/index.d.ts +1 -0
- 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/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/Kernel.d.ts +6 -0
- package/dist/kernel/Kernel.d.ts.map +1 -1
- package/dist/kernel/index.js +3 -3
- package/dist/kernel/index.js.map +5 -6
- package/dist/kernel/providers.d.ts +2 -2
- package/dist/kernel/providers.d.ts.map +1 -1
- package/dist/orm/context.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/httpDev.d.ts +1 -2
- package/dist/server/httpDev.d.ts.map +1 -1
- package/dist/server/httpProd.d.ts +1 -1
- package/dist/server/httpProd.d.ts.map +1 -1
- package/dist/server/index.js +2 -2
- package/dist/server/index.js.map +3 -3
- package/dist/server/shutdown.d.ts +9 -0
- package/dist/server/shutdown.d.ts.map +1 -1
- package/dist/services/broadcast/BroadcastDriver.d.ts +73 -0
- package/dist/services/broadcast/BroadcastDriver.d.ts.map +1 -0
- package/dist/services/broadcast/BroadcastEvent.d.ts +67 -0
- package/dist/services/broadcast/BroadcastEvent.d.ts.map +1 -0
- package/dist/services/broadcast/BroadcastManager.d.ts +148 -0
- package/dist/services/broadcast/BroadcastManager.d.ts.map +1 -0
- package/dist/services/broadcast/BroadcastServiceProvider.d.ts +16 -0
- package/dist/services/broadcast/BroadcastServiceProvider.d.ts.map +1 -0
- package/dist/services/broadcast/FakeBroadcastManager.d.ts +45 -0
- package/dist/services/broadcast/FakeBroadcastManager.d.ts.map +1 -0
- package/dist/services/broadcast/MemoryBroadcastDriver.d.ts +23 -0
- package/dist/services/broadcast/MemoryBroadcastDriver.d.ts.map +1 -0
- package/dist/services/broadcast/SocketHub.d.ts +192 -0
- package/dist/services/broadcast/SocketHub.d.ts.map +1 -0
- package/dist/services/broadcast/brand.d.ts +16 -0
- package/dist/services/broadcast/brand.d.ts.map +1 -0
- package/dist/services/broadcast/channels.d.ts +77 -0
- package/dist/services/broadcast/channels.d.ts.map +1 -0
- package/dist/services/broadcast/config.d.ts +93 -0
- package/dist/services/broadcast/config.d.ts.map +1 -0
- package/dist/services/broadcast/protocol.d.ts +123 -0
- package/dist/services/broadcast/protocol.d.ts.map +1 -0
- package/dist/services/broadcast/socketTag.d.ts +17 -0
- package/dist/services/broadcast/socketTag.d.ts.map +1 -0
- package/dist/services/broadcast/types.d.ts +27 -0
- package/dist/services/broadcast/types.d.ts.map +1 -0
- package/dist/services/broadcast/wire.d.ts +35 -0
- package/dist/services/broadcast/wire.d.ts.map +1 -0
- package/dist/services/events/EventManager.d.ts +6 -0
- package/dist/services/events/EventManager.d.ts.map +1 -1
- package/dist/services/index.d.ts +9 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +9 -9
- package/dist/services/index.js.map +4 -3
- package/dist/services/queue/work.js +2 -2
- package/dist/services/queue/work.js.map +1 -1
- package/dist/services/router/config.d.ts +7 -0
- package/dist/services/router/config.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/Page.d.ts +8 -0
- package/dist/testing/Page.d.ts.map +1 -1
- package/dist/testing/index.d.ts +2 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +174 -8
- package/dist/testing/index.js.map +1 -1
- package/dist/vitest/index.js +1 -1
- package/package.json +1 -1
- package/skills/gemi-react-best-practices/SKILL.md +3 -1
- package/skills/gemi-react-best-practices/rules/query-live-over-polling.md +56 -0
- package/dist/chunk-2n3pgfnb.js +0 -5
- package/dist/chunk-2n3pgfnb.js.map +0 -10
- package/dist/chunk-2yw4yezc.js +0 -24
- package/dist/chunk-3rvn9a76.js +0 -58
- package/dist/chunk-3s21p9n2.js +0 -57
- package/dist/chunk-dyp0wg9e.js +0 -10
- package/dist/chunk-htgmy3x7.js +0 -5
- package/dist/chunk-krtybgz1.js +0 -4
- package/dist/chunk-krtybgz1.js.map +0 -10
- package/dist/chunk-s07v65x6.js +0 -9
- package/dist/chunk-s07v65x6.js.map +0 -10
- package/dist/chunks/ThemeProvider-BLI4zpLu.js.map +0 -1
- /package/dist/{chunk-dhbgrv58.js.map → chunk-4qpypa3h.js.map} +0 -0
- /package/dist/{chunk-wjkh2gem.js.map → chunk-8x73yyfs.js.map} +0 -0
- /package/dist/{chunk-0k02tza1.js.map → chunk-j0cnsgjq.js.map} +0 -0
- /package/dist/{chunk-cvr5624r.js.map → chunk-rjm1kj8n.js.map} +0 -0
- /package/dist/{chunk-zg6hmc48.js.map → chunk-wqharhrp.js.map} +0 -0
- /package/dist/{chunk-y6wt5b6t.js.map → chunk-xhmtph39.js.map} +0 -0
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import type { Application } from "../../foundation/Application";
|
|
2
|
+
import type { BroadcastDriver } from "./BroadcastDriver";
|
|
3
|
+
export interface BroadcastConfig {
|
|
4
|
+
/**
|
|
5
|
+
* Which processes see an emit: `"memory"`, a `BroadcastDriver`, or a
|
|
6
|
+
* function returning one, called once with the application.
|
|
7
|
+
*
|
|
8
|
+
* `"memory"` is the default and reaches the sockets of **this process
|
|
9
|
+
* only**: right for one instance whose web processes also run the jobs,
|
|
10
|
+
* wrong for several replicas or a separate `gemi queue:work` worker. See
|
|
11
|
+
* `MemoryBroadcastDriver`.
|
|
12
|
+
*/
|
|
13
|
+
driver?: "memory" | BroadcastDriver | ((application: Application) => BroadcastDriver);
|
|
14
|
+
/**
|
|
15
|
+
* The largest event frame, in bytes, JSON-encoded with its topic and name.
|
|
16
|
+
* A bigger emit throws `BroadcastPayloadTooLargeError` at the call site.
|
|
17
|
+
* Default `16384` (16 KB). Send ids and a change hint, and let the client
|
|
18
|
+
* fetch the data over HTTP.
|
|
19
|
+
*/
|
|
20
|
+
maxEventBytes?: number;
|
|
21
|
+
/**
|
|
22
|
+
* Frames above this size log a warning, once per event name. Default
|
|
23
|
+
* `4096` (4 KB). `false` turns the warning off.
|
|
24
|
+
*/
|
|
25
|
+
warnEventBytes?: number | false;
|
|
26
|
+
/**
|
|
27
|
+
* The WebSocket endpoint, on the app's own origin. Default
|
|
28
|
+
* `"/__gemi/socket"`. Change it on the client too:
|
|
29
|
+
* `init(RootLayout, { realtime: { path } })`.
|
|
30
|
+
*/
|
|
31
|
+
path?: string;
|
|
32
|
+
/**
|
|
33
|
+
* Origins allowed to open a socket, besides the app's own (the request's
|
|
34
|
+
* own host, and `APP_URL` / `HOST_NAME`). An entry is an origin
|
|
35
|
+
* (`"https://app.example.com"`), a bare host (`"app.example.com"`), or a
|
|
36
|
+
* wildcard for a host's subdomains (`"*.example.com"`,
|
|
37
|
+
* `"https://*.example.com"`), which does not admit the host itself.
|
|
38
|
+
*
|
|
39
|
+
* Subdomains are never allowed by default, `route.domains` ones included:
|
|
40
|
+
* a tenant's subdomain is same-site with the app, so the app's cookies ride
|
|
41
|
+
* along with its upgrade, and a WebSocket has no CORS. List a wildcard only
|
|
42
|
+
* for subdomains whose pages you trust. A cookie-carrying upgrade without
|
|
43
|
+
* an `Origin` header is refused, and so is any upgrade from an origin not
|
|
44
|
+
* allowed.
|
|
45
|
+
*/
|
|
46
|
+
allowedOrigins?: string[];
|
|
47
|
+
/** Open sockets per process. Upgrades past it get a `503`. Default `10000`. */
|
|
48
|
+
maxConnectionsPerProcess?: number;
|
|
49
|
+
/**
|
|
50
|
+
* Open sockets per client IP, per process. Default `100`. The address is
|
|
51
|
+
* the TCP peer unless `GEMI_TRUST_PROXY` says which `X-Forwarded-For` entry
|
|
52
|
+
* to believe: behind a proxy without it, every client shares the proxy's
|
|
53
|
+
* address and this caps the whole app per process (the server warns at
|
|
54
|
+
* boot).
|
|
55
|
+
*/
|
|
56
|
+
maxConnectionsPerIp?: number;
|
|
57
|
+
/** Open sockets per signed-in user, per process. Default `50`. */
|
|
58
|
+
maxConnectionsPerUser?: number;
|
|
59
|
+
/** Subscriptions per socket. Past it a `sub` is denied with `limit`. Default `50`. */
|
|
60
|
+
maxChannelsPerSocket?: number;
|
|
61
|
+
/** The largest frame a client may send, in bytes. Default `16384`. */
|
|
62
|
+
maxInboundMessageBytes?: number;
|
|
63
|
+
/**
|
|
64
|
+
* How many bytes may queue up for one socket before it is closed with
|
|
65
|
+
* `1013`; the client reconnects and refetches. No queue is kept per
|
|
66
|
+
* socket beyond this. Default `1048576` (1 MB).
|
|
67
|
+
*/
|
|
68
|
+
backpressureLimit?: number;
|
|
69
|
+
/**
|
|
70
|
+
* Seconds without a frame or a pong before Bun closes a socket. Bun pings
|
|
71
|
+
* idle sockets on its own. Default `120`.
|
|
72
|
+
*/
|
|
73
|
+
idleTimeout?: number;
|
|
74
|
+
/**
|
|
75
|
+
* How often the client pings, in ms, sent to it in `hello`. A client that
|
|
76
|
+
* hears nothing for twice this reconnects, so a connection a proxy dropped
|
|
77
|
+
* silently is noticed within about a minute. Default `25000`.
|
|
78
|
+
*/
|
|
79
|
+
heartbeatMs?: number;
|
|
80
|
+
/**
|
|
81
|
+
* `sub` frames a socket may send per window (an `unsub` is not counted).
|
|
82
|
+
* Past it a `sub` is denied with `rate_limited`, which the client retries
|
|
83
|
+
* on the same socket after a few seconds; at twice it the socket is closed
|
|
84
|
+
* with `1008`. Default `{ limit: 300, windowMs: 60000 }`.
|
|
85
|
+
*/
|
|
86
|
+
subscribeRate?: {
|
|
87
|
+
limit: number;
|
|
88
|
+
windowMs: number;
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
export declare function defineBroadcastConfig(config: BroadcastConfig): BroadcastConfig;
|
|
92
|
+
export declare function broadcastConfigDefaults(): Required<BroadcastConfig>;
|
|
93
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../services/broadcast/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIzD,MAAM,WAAW,eAAe;IAC9B;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,QAAQ,GAAG,eAAe,GAAG,CAAC,CAAC,WAAW,EAAE,WAAW,KAAK,eAAe,CAAC,CAAC;IAEtF;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAEhC;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;;;;;;;;;;OAaG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B,+EAA+E;IAC/E,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAElC;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,kEAAkE;IAClE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B,sFAAsF;IACtF,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,sEAAsE;IACtE,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,aAAa,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CACrD;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe,CAE9E;AAED,wBAAgB,uBAAuB,IAAI,QAAQ,CAAC,eAAe,CAAC,CAiBnE"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `gemi.v1` WebSocket protocol, shared by the server transport
|
|
3
|
+
* (`SocketHub`) and the browser client (`gemi/client`'s connection manager).
|
|
4
|
+
* Types and constants only: this module is imported by the browser bundle, so
|
|
5
|
+
* it must never import a server module.
|
|
6
|
+
*
|
|
7
|
+
* Every frame is a JSON text frame. Binary frames are refused.
|
|
8
|
+
*
|
|
9
|
+
* From the client:
|
|
10
|
+
*
|
|
11
|
+
* - `{op:"sub", id, ch, p?}`: subscribe `id` (chosen by the client, unique per
|
|
12
|
+
* socket) to the channel pattern `ch` with params `p`. The server builds
|
|
13
|
+
* the topic and authorizes it.
|
|
14
|
+
* - `{op:"unsub", id}`
|
|
15
|
+
* - `{op:"ping"}`: answered with `pong`. The client sends one every
|
|
16
|
+
* `heartbeatMs` and reconnects when it hears nothing for twice that.
|
|
17
|
+
*
|
|
18
|
+
* From the server:
|
|
19
|
+
*
|
|
20
|
+
* - `{op:"hello", socketId, tag, heartbeatMs}`: the first frame. `socketId`
|
|
21
|
+
* goes in the `X-Gemi-Socket` header of the client's own requests (for
|
|
22
|
+
* `Broadcast.toOthers`); it is never shown to anyone else. `tag` is what
|
|
23
|
+
* an event frame's `x` carries when it skips this socket.
|
|
24
|
+
* - `{op:"subscribed", id, t}`: `id` joined topic `t`. Sent only once this
|
|
25
|
+
* process receives the topic's events, so the resync the client runs on it
|
|
26
|
+
* cannot miss one.
|
|
27
|
+
* - `{op:"denied", id, code}`: `id` was refused, or later revoked.
|
|
28
|
+
* - `{op:"ev", t, ev, d?, x?}`: an event on topic `t`. Dropped by the socket
|
|
29
|
+
* whose `tag` is `x`.
|
|
30
|
+
* - `{op:"gap"}`: events may have been lost for this socket; resync all.
|
|
31
|
+
* - `{op:"pong"}`
|
|
32
|
+
* - `{op:"bye", code, retryAfter}`: the server is going away (a restart).
|
|
33
|
+
* Reconnect after `retryAfter` ms.
|
|
34
|
+
*/
|
|
35
|
+
/** The WebSocket subprotocol. */
|
|
36
|
+
export declare const BROADCAST_PROTOCOL = "gemi.v1";
|
|
37
|
+
/** The default endpoint, `defineBroadcastConfig({ path })`. */
|
|
38
|
+
export declare const DEFAULT_SOCKET_PATH = "/__gemi/socket";
|
|
39
|
+
/** The request header a client sends its socket id in, for `toOthers`. */
|
|
40
|
+
export declare const SOCKET_ID_HEADER = "x-gemi-socket";
|
|
41
|
+
/** What a subscription id may look like. */
|
|
42
|
+
export declare const SUBSCRIPTION_ID: RegExp;
|
|
43
|
+
/**
|
|
44
|
+
* Close codes the server uses. 1012 and 1013 are the standard "restart" and
|
|
45
|
+
* "try again later"; the 4xxx ones are gemi's own.
|
|
46
|
+
*/
|
|
47
|
+
export declare const CloseCode: {
|
|
48
|
+
/** The client went away (tab closed, socket released). */
|
|
49
|
+
readonly Normal: 1000;
|
|
50
|
+
/** A frame that was not JSON text, or not a known op. */
|
|
51
|
+
readonly UnsupportedData: 1003;
|
|
52
|
+
/** Too many frames, or a frame over the size limit. */
|
|
53
|
+
readonly PolicyViolation: 1008;
|
|
54
|
+
/** The server is restarting; `bye` said when to come back. */
|
|
55
|
+
readonly Restart: 1012;
|
|
56
|
+
/** The socket fell too far behind; reconnect and resync. */
|
|
57
|
+
readonly TryAgainLater: 1013;
|
|
58
|
+
/** The socket's user was signed out or its access revoked. */
|
|
59
|
+
readonly Revoked: 4001;
|
|
60
|
+
};
|
|
61
|
+
/** Why a subscription was refused. */
|
|
62
|
+
export type DeniedCode =
|
|
63
|
+
/** No channel with that pattern. Permanent. */
|
|
64
|
+
"unknown_channel"
|
|
65
|
+
/** Missing, extra or malformed params. Permanent. */
|
|
66
|
+
| "invalid_params"
|
|
67
|
+
/** The channel's authorization said no. */
|
|
68
|
+
| "denied"
|
|
69
|
+
/** Authorization failed (a session store outage, a bug). Retryable. */
|
|
70
|
+
| "error"
|
|
71
|
+
/** The socket has `maxChannelsPerSocket` subscriptions already. */
|
|
72
|
+
| "limit"
|
|
73
|
+
/** Too many `sub`/`unsub` frames; retry later. */
|
|
74
|
+
| "rate_limited"
|
|
75
|
+
/** The subscription was revoked by `Broadcast.revoke`. */
|
|
76
|
+
| "revoked"
|
|
77
|
+
/** The frame was malformed, or the id is already in use. */
|
|
78
|
+
| "invalid";
|
|
79
|
+
export type ClientFrame = {
|
|
80
|
+
op: "sub";
|
|
81
|
+
id: string;
|
|
82
|
+
ch: string;
|
|
83
|
+
p?: Record<string, string | number>;
|
|
84
|
+
} | {
|
|
85
|
+
op: "unsub";
|
|
86
|
+
id: string;
|
|
87
|
+
} | {
|
|
88
|
+
op: "ping";
|
|
89
|
+
};
|
|
90
|
+
export type ServerFrame = {
|
|
91
|
+
op: "hello";
|
|
92
|
+
socketId: string;
|
|
93
|
+
tag: string;
|
|
94
|
+
heartbeatMs: number;
|
|
95
|
+
} | {
|
|
96
|
+
op: "subscribed";
|
|
97
|
+
id: string;
|
|
98
|
+
t: string;
|
|
99
|
+
} | {
|
|
100
|
+
op: "denied";
|
|
101
|
+
id: string;
|
|
102
|
+
code: DeniedCode;
|
|
103
|
+
} | {
|
|
104
|
+
op: "ev";
|
|
105
|
+
t: string;
|
|
106
|
+
ev: string;
|
|
107
|
+
d?: unknown;
|
|
108
|
+
x?: string;
|
|
109
|
+
} | {
|
|
110
|
+
op: "gap";
|
|
111
|
+
} | {
|
|
112
|
+
op: "pong";
|
|
113
|
+
} | {
|
|
114
|
+
op: "bye";
|
|
115
|
+
code: number;
|
|
116
|
+
retryAfter: number;
|
|
117
|
+
};
|
|
118
|
+
/**
|
|
119
|
+
* Whether a refusal is final for this socket's session: resubscribing will
|
|
120
|
+
* get the same answer, so the client does not retry it on its own.
|
|
121
|
+
*/
|
|
122
|
+
export declare function isPermanentDenial(code: DeniedCode): boolean;
|
|
123
|
+
//# sourceMappingURL=protocol.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../../services/broadcast/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,iCAAiC;AACjC,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAE5C,+DAA+D;AAC/D,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AAEpD,0EAA0E;AAC1E,eAAO,MAAM,gBAAgB,kBAAkB,CAAC;AAEhD,4CAA4C;AAC5C,eAAO,MAAM,eAAe,QAA0B,CAAC;AAEvD;;;GAGG;AACH,eAAO,MAAM,SAAS;IACpB,0DAA0D;;IAE1D,yDAAyD;;IAEzD,uDAAuD;;IAEvD,8DAA8D;;IAE9D,4DAA4D;;IAE5D,8DAA8D;;CAEtD,CAAC;AAEX,sCAAsC;AACtC,MAAM,MAAM,UAAU;AACpB,+CAA+C;AAC7C,iBAAiB;AACnB,qDAAqD;GACnD,gBAAgB;AAClB,2CAA2C;GACzC,QAAQ;AACV,uEAAuE;GACrE,OAAO;AACT,mEAAmE;GACjE,OAAO;AACT,kDAAkD;GAChD,cAAc;AAChB,0DAA0D;GACxD,SAAS;AACX,4DAA4D;GAC1D,SAAS,CAAC;AAEd,MAAM,MAAM,WAAW,GACnB;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;CAAE,GAC1E;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC3B;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnB,MAAM,MAAM,WAAW,GACnB;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACnE;IAAE,EAAE,EAAE,YAAY,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3C;IAAE,EAAE,EAAE,QAAQ,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GAC9C;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,OAAO,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5D;IAAE,EAAE,EAAE,KAAK,CAAA;CAAE,GACb;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GACd;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAE3D"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The tag an event frame's `x` names a socket by: a keyed hash of its id.
|
|
3
|
+
*
|
|
4
|
+
* Subscribers see `x`, so it must not be the id: the id is what a client
|
|
5
|
+
* sends in `X-Gemi-Socket` to have its own emits skip it, and a subscriber
|
|
6
|
+
* who learned another's id could make the server skip that socket instead.
|
|
7
|
+
* The tag cannot be turned back into the id.
|
|
8
|
+
*
|
|
9
|
+
* Keyed with a key derived from `SECRET`, so every instance of the app
|
|
10
|
+
* computes the same tag for an id (the Redis driver carries frames between
|
|
11
|
+
* them). Without `SECRET` the key is random per process, which is right for
|
|
12
|
+
* one instance and wrong for several; the Redis driver needs `SECRET`.
|
|
13
|
+
*/
|
|
14
|
+
export declare function socketTag(socketId: string): string;
|
|
15
|
+
/** A new socket id: 22 url-safe characters, 128 random bits. */
|
|
16
|
+
export declare function newSocketId(): string;
|
|
17
|
+
//# sourceMappingURL=socketTag.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"socketTag.d.ts","sourceRoot":"","sources":["../../../services/broadcast/socketTag.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAElD;AAcD,gEAAgE;AAChE,wBAAgB,WAAW,IAAI,MAAM,CAEpC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { BroadcastRPC } from "../../client/rpc";
|
|
2
|
+
/** Any event map: what a channel the app has not typed accepts. */
|
|
3
|
+
export type AnyBroadcastEvents = Record<string, unknown>;
|
|
4
|
+
/**
|
|
5
|
+
* The events a pattern's channel carries, from the app's generated
|
|
6
|
+
* `BroadcastRPC` (its `ChannelRouter`). A pattern the router does not declare,
|
|
7
|
+
* a concrete topic, or a channel without declared events takes any event.
|
|
8
|
+
*/
|
|
9
|
+
export type BroadcastEventsFor<P extends string> = P extends keyof BroadcastRPC ? BroadcastRPC[P] extends {
|
|
10
|
+
events: infer E extends Record<string, unknown>;
|
|
11
|
+
} ? E : AnyBroadcastEvents : AnyBroadcastEvents;
|
|
12
|
+
/** `emit`'s data argument: optional when the event's payload may be undefined. */
|
|
13
|
+
export type BroadcastDataArgs<T> = undefined extends T ? [data?: T] : [data: T];
|
|
14
|
+
/** One emit, as the fake records it. */
|
|
15
|
+
export interface SentBroadcast {
|
|
16
|
+
/** The concrete topic, e.g. `site.abc123`. */
|
|
17
|
+
topic: string;
|
|
18
|
+
/** The pattern the topic was built from, when it was built from one. */
|
|
19
|
+
pattern?: string;
|
|
20
|
+
/** The event name. */
|
|
21
|
+
event: string;
|
|
22
|
+
/** The payload, as emitted. */
|
|
23
|
+
data: unknown;
|
|
24
|
+
/** The socket `toOthers` skipped, if any. */
|
|
25
|
+
except?: string;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../services/broadcast/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,mEAAmE;AACnE,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEzD;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,MAAM,YAAY,GAC3E,YAAY,CAAC,CAAC,CAAC,SAAS;IAAE,MAAM,EAAE,MAAM,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GACzE,CAAC,GACD,kBAAkB,GACpB,kBAAkB,CAAC;AAEvB,kFAAkF;AAClF,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,SAAS,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAEhF,wCAAwC;AACxC,MAAM,WAAW,aAAa;IAC5B,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,+BAA+B;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The frames an emit becomes. Encoded once per emit and handed to every
|
|
3
|
+
* socket on the topic unchanged (`server.publish`), so a frame names its
|
|
4
|
+
* topic and the client maps the topic to its own subscriptions.
|
|
5
|
+
*
|
|
6
|
+
* ```json
|
|
7
|
+
* {"op":"ev","t":"site.abc123","ev":"changed","d":{"pages":["/about"]},"x":"<socket id>"}
|
|
8
|
+
* ```
|
|
9
|
+
*
|
|
10
|
+
* `d` is left out when the emit carried no data. `x` is set by an emit made
|
|
11
|
+
* with `Broadcast.toOthers(...)`: one frame goes to every process and every
|
|
12
|
+
* socket, so the socket it names drops it itself.
|
|
13
|
+
*
|
|
14
|
+
* `x` is the skipped socket's *tag*, a keyed hash of its id (`socketTag`),
|
|
15
|
+
* never the id itself. Every subscriber on the topic sees `x`; had it been
|
|
16
|
+
* the id, any of them could have sent it in its own `X-Gemi-Socket` header
|
|
17
|
+
* and made the server skip the victim for that client's emits. The id is
|
|
18
|
+
* only ever in the `hello` the socket's own client receives.
|
|
19
|
+
*/
|
|
20
|
+
export interface BroadcastEventFrame {
|
|
21
|
+
op: "ev";
|
|
22
|
+
/** The topic, e.g. `site.abc123`. */
|
|
23
|
+
t: string;
|
|
24
|
+
/** The event name. */
|
|
25
|
+
ev: string;
|
|
26
|
+
/** The payload, when there is one. */
|
|
27
|
+
d?: unknown;
|
|
28
|
+
/** The tag of the socket that must ignore this frame. */
|
|
29
|
+
x?: string;
|
|
30
|
+
}
|
|
31
|
+
export { SOCKET_ID_HEADER } from "./protocol";
|
|
32
|
+
/** Whether `value` has the shape of a socket id the transport hands out. */
|
|
33
|
+
export declare function isSocketId(value: unknown): value is string;
|
|
34
|
+
export declare function encodeEventFrame(topic: string, event: string, data: unknown, except?: string | null): string;
|
|
35
|
+
//# sourceMappingURL=wire.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../../../services/broadcast/wire.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,IAAI,CAAC;IACT,qCAAqC;IACrC,CAAC,EAAE,MAAM,CAAC;IACV,sBAAsB;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,sCAAsC;IACtC,CAAC,CAAC,EAAE,OAAO,CAAC;IACZ,yDAAyD;IACzD,CAAC,CAAC,EAAE,MAAM,CAAC;CACZ;AAED,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAI9C,4EAA4E;AAC5E,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAE1D;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,OAAO,EACb,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GACrB,MAAM,CAKR"}
|
|
@@ -230,6 +230,12 @@ export declare class EventManager {
|
|
|
230
230
|
* terminal.
|
|
231
231
|
*/
|
|
232
232
|
protected runListeners(event: Event, args?: readonly unknown[]): Promise<void>;
|
|
233
|
+
/**
|
|
234
|
+
* Sends a `BroadcastEvent` to its channels, once its sync listeners have
|
|
235
|
+
* run. Not under `Event.fake()`, which never gets here. A refused channel or
|
|
236
|
+
* payload is logged: the dispatch has already returned to its caller.
|
|
237
|
+
*/
|
|
238
|
+
private broadcast;
|
|
233
239
|
/**
|
|
234
240
|
* Rebuilds an event from what crossed the queue.
|
|
235
241
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventManager.d.ts","sourceRoot":"","sources":["../../../services/events/EventManager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"EventManager.d.ts","sourceRoot":"","sources":["../../../services/events/EventManager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAIxC,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,KAAK,EAAE,KAAK,EAAc,MAAM,SAAS,CAAC;AAEjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAkBhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,qBAAa,YAAY;IACvB,MAAM,CAAC,KAAK,SAAY;IAExB,uEAAuE;IACvE,OAAO,CAAC,SAAS,CAAsC;IAEvD;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAkC;IAEhD;;;OAGG;IACH,OAAO,CAAC,SAAS,CAAqB;IAEtC;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB,CAAqB;IAE/C,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAE3B,MAAM,GAAE,WAAgB;IAKpC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,YAAY,CAAC,SAAS,EAAE,aAAa,EAAE;IA0DvC;;;;;;;;;OASG;IACH,IAAI,kBAAkB,IAAI,aAAa,CAAC,UAAU,GAAG,CAAC,CAIrD;IAED;;;;;;;;;;OAUG;IACH,IAAI,mBAAmB,IAAI,aAAa,CAAC,aAAa,CAAC,CAEtD;IAED;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,IAAI;IAKvD;;;;;;;;;OASG;IACG,eAAe,CACnB,KAAK,EAAE,KAAK,EACZ,IAAI,CAAC,EAAE,SAAS,OAAO,EAAE,GACxB,OAAO,CAAC,IAAI,CAAC;IAKhB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,CAAC,aAAa;IAoBrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8DG;cACa,YAAY,CAC1B,KAAK,EAAE,KAAK,EACZ,IAAI,CAAC,EAAE,SAAS,OAAO,EAAE,GACxB,OAAO,CAAC,IAAI,CAAC;IAgChB;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAQjB;;;;;;;;;;;;;;;;OAgBG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,GAAE,SAAS,OAAO,EAAO,GAAG,KAAK;IAiBlE;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,OAAO;IAwCf;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,sBAAsB;IAe9B,OAAO,CAAC,sBAAsB;CAY/B"}
|
package/dist/services/index.d.ts
CHANGED
|
@@ -62,6 +62,14 @@ export { DatabaseChangeFeedDriver, type DatabaseChangeFeedDriverOptions, } from
|
|
|
62
62
|
export type { PostgresListener, PostgresListenerFactory, } from "./change-feed/postgresListen";
|
|
63
63
|
export { decodeCursor, encodeCursor, type ChangeFeedCursor, } from "./change-feed/cursor";
|
|
64
64
|
export type { ChangeFeedMessage, ChangeFeedResponse, StreamOptions as ChangeFeedStreamOptions, } from "./change-feed/stream";
|
|
65
|
+
export { BroadcastServiceProvider } from "./broadcast/BroadcastServiceProvider";
|
|
66
|
+
export { BroadcastManager, BroadcastPayloadTooLargeError, BroadcastScope, PendingBroadcast, type SocketSource, } from "./broadcast/BroadcastManager";
|
|
67
|
+
export { BroadcastEvent, isBroadcastEvent } from "./broadcast/BroadcastEvent";
|
|
68
|
+
export type { BroadcastDeliver, BroadcastDriver, BroadcastDriverHooks, } from "./broadcast/BroadcastDriver";
|
|
69
|
+
export { MemoryBroadcastDriver } from "./broadcast/MemoryBroadcastDriver";
|
|
70
|
+
export { InvalidChannelError, type ChannelParams, type ChannelTarget, } from "./broadcast/channels";
|
|
71
|
+
export type { SentBroadcast } from "./broadcast/types";
|
|
72
|
+
export { SOCKET_ID_HEADER, type BroadcastEventFrame, } from "./broadcast/wire";
|
|
65
73
|
export { MemoryLockStore } from "./lock/MemoryLockStore";
|
|
66
74
|
export { DatabaseLockStore, type DatabaseLockStoreOptions, } from "./lock/DatabaseLockStore";
|
|
67
75
|
export { EventServiceProvider } from "./events/EventServiceProvider";
|
|
@@ -130,6 +138,7 @@ export { defineRouteConfig, apiRouteConfigDefaults, viewRouteConfigDefaults, typ
|
|
|
130
138
|
export { defineLogConfig, logConfigDefaults, type LogConfig, } from "./logging/config";
|
|
131
139
|
export { defineQueueConfig, queueConfigDefaults, type QueueConfig, } from "./queue/config";
|
|
132
140
|
export { defineChangeFeedConfig, changeFeedConfigDefaults, type ChangeFeedConfig, } from "./change-feed/config";
|
|
141
|
+
export { defineBroadcastConfig, broadcastConfigDefaults, type BroadcastConfig, } from "./broadcast/config";
|
|
133
142
|
export { defineEventConfig, eventConfigDefaults, type EventConfig, } from "./events/config";
|
|
134
143
|
export { defineImageConfig, imageConfigDefaults, type ImageConfig, } from "./image-optimization/config";
|
|
135
144
|
export { defineScheduleConfig, scheduleConfigDefaults, type ScheduleConfig, } from "./cron/config";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../services/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../services/index.ts"],"names":[],"mappings":"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"}
|