gemi 0.123.0 → 0.125.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (316) hide show
  1. package/dist/ai/AgentController.d.ts +185 -3
  2. package/dist/ai/AgentController.d.ts.map +1 -1
  3. package/dist/ai/client/index.d.ts +1 -1
  4. package/dist/ai/client/index.d.ts.map +1 -1
  5. package/dist/ai/client/index.js +38 -9
  6. package/dist/ai/client/index.js.map +1 -1
  7. package/dist/ai/client/reducer.d.ts.map +1 -1
  8. package/dist/ai/index.d.ts +2 -2
  9. package/dist/ai/index.d.ts.map +1 -1
  10. package/dist/ai/index.js +31 -48
  11. package/dist/ai/index.js.map +6 -15
  12. package/dist/ai/types.d.ts +26 -0
  13. package/dist/ai/types.d.ts.map +1 -1
  14. package/dist/ai/useChat.d.ts +35 -2
  15. package/dist/ai/useChat.d.ts.map +1 -1
  16. package/dist/app/index.js +1 -1
  17. package/dist/auth/AuthController.d.ts.map +1 -1
  18. package/dist/auth/AuthManager.d.ts +11 -0
  19. package/dist/auth/AuthManager.d.ts.map +1 -1
  20. package/dist/auth/AuthServiceProvider.d.ts +2 -0
  21. package/dist/auth/AuthServiceProvider.d.ts.map +1 -1
  22. package/dist/auth/config.d.ts +71 -2
  23. package/dist/auth/config.d.ts.map +1 -1
  24. package/dist/auth/oauth/providers.d.ts +10 -0
  25. package/dist/auth/oauth/providers.d.ts.map +1 -0
  26. package/dist/bun/plugin.js +1 -1
  27. package/dist/bun/preload.js +1 -1
  28. package/dist/{chunk-fyk07w01.js → chunk-0x1s02r1.js} +3 -3
  29. package/dist/{chunk-fyk07w01.js.map → chunk-0x1s02r1.js.map} +1 -1
  30. package/dist/{chunk-ycsrpf47.js → chunk-1jcngq6w.js} +3 -3
  31. package/dist/{chunk-ycsrpf47.js.map → chunk-1jcngq6w.js.map} +1 -1
  32. package/dist/{chunk-gwnmgkq5.js → chunk-1mxb44n9.js} +2 -2
  33. package/dist/{chunk-gwnmgkq5.js.map → chunk-1mxb44n9.js.map} +1 -1
  34. package/dist/{chunk-y67evsdy.js → chunk-1n40bdxf.js} +2 -2
  35. package/dist/{chunk-y67evsdy.js.map → chunk-1n40bdxf.js.map} +1 -1
  36. package/dist/chunk-1xmh61fg.js +5 -0
  37. package/dist/{chunk-tazvfppr.js.map → chunk-1xmh61fg.js.map} +1 -1
  38. package/dist/{chunk-sxa70wgn.js → chunk-3br5zr7a.js} +3 -3
  39. package/dist/{chunk-sxa70wgn.js.map → chunk-3br5zr7a.js.map} +1 -1
  40. package/dist/{chunk-w61sphn5.js → chunk-3kxe9geg.js} +3 -3
  41. package/dist/{chunk-w61sphn5.js.map → chunk-3kxe9geg.js.map} +1 -1
  42. package/dist/{chunk-w0jfqnw9.js → chunk-5fh4pvyt.js} +2 -2
  43. package/dist/{chunk-w0jfqnw9.js.map → chunk-5fh4pvyt.js.map} +1 -1
  44. package/dist/{chunk-hnrzm5pf.js → chunk-6gwxvmjv.js} +3 -3
  45. package/dist/{chunk-hnrzm5pf.js.map → chunk-6gwxvmjv.js.map} +1 -1
  46. package/dist/{chunk-j0cnsgjq.js → chunk-6q6bhkyf.js} +1 -1
  47. package/dist/{chunk-5a4qbtez.js → chunk-6vz75swk.js} +2 -2
  48. package/dist/{chunk-5a4qbtez.js.map → chunk-6vz75swk.js.map} +1 -1
  49. package/dist/chunk-6wgh7nk6.js +15 -0
  50. package/dist/{chunk-z23h4s1a.js.map → chunk-6wgh7nk6.js.map} +6 -5
  51. package/dist/chunk-7vrrgxwm.js +22 -0
  52. package/dist/chunk-7vrrgxwm.js.map +21 -0
  53. package/dist/{chunk-kvas36p6.js → chunk-7zj6bk9a.js} +2 -2
  54. package/dist/{chunk-kvas36p6.js.map → chunk-7zj6bk9a.js.map} +1 -1
  55. package/dist/{chunk-kdjhgtp9.js → chunk-8tvfmy1a.js} +4 -4
  56. package/dist/{chunk-kdjhgtp9.js.map → chunk-8tvfmy1a.js.map} +1 -1
  57. package/dist/{chunk-vd6zn8c4.js → chunk-910p6ne6.js} +2 -2
  58. package/dist/{chunk-vd6zn8c4.js.map → chunk-910p6ne6.js.map} +1 -1
  59. package/dist/{chunk-96a1459v.js → chunk-ap3g6rbw.js} +2 -2
  60. package/dist/{chunk-96a1459v.js.map → chunk-ap3g6rbw.js.map} +1 -1
  61. package/dist/{chunk-4qpypa3h.js → chunk-ayfjjgv2.js} +1 -1
  62. package/dist/chunk-b4x1dt3s.js +10 -0
  63. package/dist/chunk-b4x1dt3s.js.map +43 -0
  64. package/dist/{chunk-aafanq8n.js → chunk-b7a22evs.js} +3 -3
  65. package/dist/{chunk-aafanq8n.js.map → chunk-b7a22evs.js.map} +1 -1
  66. package/dist/{chunk-rjtmgbay.js → chunk-bny9s44t.js} +2 -2
  67. package/dist/{chunk-rjtmgbay.js.map → chunk-bny9s44t.js.map} +1 -1
  68. package/dist/{chunk-k17wx7gz.js → chunk-by5gwr8x.js} +2 -2
  69. package/dist/{chunk-k17wx7gz.js.map → chunk-by5gwr8x.js.map} +1 -1
  70. package/dist/{chunk-53hc0ah1.js → chunk-c0qpv8x7.js} +2 -2
  71. package/dist/{chunk-53hc0ah1.js.map → chunk-c0qpv8x7.js.map} +1 -1
  72. package/dist/{chunk-9t08wbkd.js → chunk-cpem1j1x.js} +2 -2
  73. package/dist/{chunk-9t08wbkd.js.map → chunk-cpem1j1x.js.map} +1 -1
  74. package/dist/{chunk-vwnd4jb5.js → chunk-crnfxn9n.js} +2 -2
  75. package/dist/{chunk-vwnd4jb5.js.map → chunk-crnfxn9n.js.map} +1 -1
  76. package/dist/{chunk-s5jxc63j.js → chunk-cwt8e782.js} +3 -3
  77. package/dist/{chunk-s5jxc63j.js.map → chunk-cwt8e782.js.map} +1 -1
  78. package/dist/{chunk-0tc0j3pf.js → chunk-dxyxd7b3.js} +2 -2
  79. package/dist/{chunk-0tc0j3pf.js.map → chunk-dxyxd7b3.js.map} +1 -1
  80. package/dist/{chunk-nf608sb1.js → chunk-dy58aztm.js} +2 -2
  81. package/dist/{chunk-nf608sb1.js.map → chunk-dy58aztm.js.map} +1 -1
  82. package/dist/chunk-entpqjyn.js +5 -0
  83. package/dist/chunk-entpqjyn.js.map +10 -0
  84. package/dist/{chunk-qen6587t.js → chunk-eq5svwca.js} +2 -2
  85. package/dist/{chunk-qen6587t.js.map → chunk-eq5svwca.js.map} +1 -1
  86. package/dist/{chunk-n1a2zj5z.js → chunk-erzfs4t2.js} +2 -2
  87. package/dist/{chunk-n1a2zj5z.js.map → chunk-erzfs4t2.js.map} +3 -3
  88. package/dist/{chunk-pfm9ngch.js → chunk-ex41d03h.js} +2 -2
  89. package/dist/{chunk-pfm9ngch.js.map → chunk-ex41d03h.js.map} +1 -1
  90. package/dist/{chunk-fxxbwyce.js → chunk-ey1xrbaz.js} +2 -2
  91. package/dist/{chunk-fxxbwyce.js.map → chunk-ey1xrbaz.js.map} +1 -1
  92. package/dist/chunk-eyptwf54.js +57 -0
  93. package/dist/{chunk-gvp6brdt.js.map → chunk-eyptwf54.js.map} +25 -22
  94. package/dist/{chunk-x0jahbqj.js → chunk-g52fcwca.js} +2 -2
  95. package/dist/{chunk-x0jahbqj.js.map → chunk-g52fcwca.js.map} +1 -1
  96. package/dist/{chunk-hs88b8gt.js → chunk-ghcvztxn.js} +2 -2
  97. package/dist/{chunk-hs88b8gt.js.map → chunk-ghcvztxn.js.map} +1 -1
  98. package/dist/{chunk-rjm1kj8n.js → chunk-gp00enrk.js} +1 -1
  99. package/dist/{chunk-08fcqny0.js → chunk-h8w9mzjj.js} +6 -6
  100. package/dist/{chunk-08fcqny0.js.map → chunk-h8w9mzjj.js.map} +7 -7
  101. package/dist/{chunk-9p7eq7bz.js → chunk-hff9w6rt.js} +2 -2
  102. package/dist/{chunk-9p7eq7bz.js.map → chunk-hff9w6rt.js.map} +1 -1
  103. package/dist/{chunk-ay8nat73.js → chunk-hxn0s3zh.js} +2 -2
  104. package/dist/{chunk-ay8nat73.js.map → chunk-hxn0s3zh.js.map} +1 -1
  105. package/dist/{chunk-de7hxe73.js → chunk-hzen9gh4.js} +2 -2
  106. package/dist/{chunk-de7hxe73.js.map → chunk-hzen9gh4.js.map} +1 -1
  107. package/dist/{chunk-xhmtph39.js → chunk-j10a0m7q.js} +1 -1
  108. package/dist/{chunk-wqharhrp.js → chunk-j12hpdxk.js} +1 -1
  109. package/dist/{chunk-bk2aheea.js → chunk-j5rwv09s.js} +2 -2
  110. package/dist/{chunk-bk2aheea.js.map → chunk-j5rwv09s.js.map} +1 -1
  111. package/dist/{chunk-zjej5vqh.js → chunk-jykkqwcy.js} +3 -3
  112. package/dist/{chunk-zjej5vqh.js.map → chunk-jykkqwcy.js.map} +1 -1
  113. package/dist/{chunk-9a9ef0f1.js → chunk-k1ebt28j.js} +2 -2
  114. package/dist/{chunk-9a9ef0f1.js.map → chunk-k1ebt28j.js.map} +1 -1
  115. package/dist/{chunk-q1e3q01h.js → chunk-kcsa57km.js} +2 -2
  116. package/dist/{chunk-q1e3q01h.js.map → chunk-kcsa57km.js.map} +1 -1
  117. package/dist/{chunk-r5tadf14.js → chunk-khdkrfxp.js} +2 -2
  118. package/dist/{chunk-r5tadf14.js.map → chunk-khdkrfxp.js.map} +1 -1
  119. package/dist/{chunk-fsy344zb.js → chunk-knq4ack4.js} +2 -2
  120. package/dist/{chunk-fsy344zb.js.map → chunk-knq4ack4.js.map} +1 -1
  121. package/dist/{chunk-f1thqe6j.js → chunk-m7pghdcy.js} +2 -2
  122. package/dist/{chunk-f1thqe6j.js.map → chunk-m7pghdcy.js.map} +1 -1
  123. package/dist/{chunk-enta97jb.js → chunk-mmqnq1qh.js} +3 -3
  124. package/dist/{chunk-enta97jb.js.map → chunk-mmqnq1qh.js.map} +1 -1
  125. package/dist/{chunk-0qmc7snf.js → chunk-n3z83qhq.js} +2 -2
  126. package/dist/{chunk-0qmc7snf.js.map → chunk-n3z83qhq.js.map} +1 -1
  127. package/dist/{chunk-mxbtcaed.js → chunk-npbf06c1.js} +2 -2
  128. package/dist/{chunk-mxbtcaed.js.map → chunk-npbf06c1.js.map} +1 -1
  129. package/dist/{chunk-6gjvqtcp.js → chunk-p5df4pn7.js} +2 -2
  130. package/dist/{chunk-6gjvqtcp.js.map → chunk-p5df4pn7.js.map} +1 -1
  131. package/dist/{chunk-ywgvxx35.js → chunk-p6jbmcrg.js} +2 -2
  132. package/dist/{chunk-ywgvxx35.js.map → chunk-p6jbmcrg.js.map} +1 -1
  133. package/dist/{chunk-d3ywmeb7.js → chunk-p7mvp5nf.js} +2 -2
  134. package/dist/{chunk-d3ywmeb7.js.map → chunk-p7mvp5nf.js.map} +1 -1
  135. package/dist/{chunk-52xkw2bs.js → chunk-q6ah4yjg.js} +2 -2
  136. package/dist/{chunk-52xkw2bs.js.map → chunk-q6ah4yjg.js.map} +1 -1
  137. package/dist/{chunk-6pxavyh3.js → chunk-r923001x.js} +2 -2
  138. package/dist/{chunk-6pxavyh3.js.map → chunk-r923001x.js.map} +1 -1
  139. package/dist/{chunk-1f1sb3w7.js → chunk-rany5zgk.js} +2 -2
  140. package/dist/{chunk-1f1sb3w7.js.map → chunk-rany5zgk.js.map} +1 -1
  141. package/dist/{chunk-30xxc6r7.js → chunk-rmgkc3a2.js} +2 -2
  142. package/dist/{chunk-30xxc6r7.js.map → chunk-rmgkc3a2.js.map} +1 -1
  143. package/dist/{chunk-ebx5hnqn.js → chunk-rvspb96n.js} +3 -3
  144. package/dist/{chunk-ebx5hnqn.js.map → chunk-rvspb96n.js.map} +1 -1
  145. package/dist/{chunk-kzstewtm.js → chunk-rwmja4zs.js} +2 -2
  146. package/dist/{chunk-kzstewtm.js.map → chunk-rwmja4zs.js.map} +1 -1
  147. package/dist/{chunk-8x73yyfs.js → chunk-s4semb89.js} +1 -1
  148. package/dist/chunk-s4xg69r9.js +24 -0
  149. package/dist/{chunk-vpgbn494.js.map → chunk-s4xg69r9.js.map} +2 -2
  150. package/dist/{chunk-58ffbwdc.js → chunk-stn0a56e.js} +2 -2
  151. package/dist/{chunk-58ffbwdc.js.map → chunk-stn0a56e.js.map} +1 -1
  152. package/dist/{chunk-73v34hw8.js → chunk-sv125fqq.js} +2 -2
  153. package/dist/{chunk-73v34hw8.js.map → chunk-sv125fqq.js.map} +1 -1
  154. package/dist/{chunk-h76mddt3.js → chunk-t2t63wa0.js} +2 -2
  155. package/dist/{chunk-h76mddt3.js.map → chunk-t2t63wa0.js.map} +1 -1
  156. package/dist/{chunk-675kzd7z.js → chunk-t6qpm2j7.js} +2 -2
  157. package/dist/{chunk-675kzd7z.js.map → chunk-t6qpm2j7.js.map} +1 -1
  158. package/dist/chunk-tabsxzg9.js +5 -0
  159. package/dist/chunk-tabsxzg9.js.map +13 -0
  160. package/dist/{chunk-2vc72qez.js → chunk-vhvvjaj3.js} +3 -3
  161. package/dist/{chunk-2vc72qez.js.map → chunk-vhvvjaj3.js.map} +1 -1
  162. package/dist/{chunk-2amj1eyp.js → chunk-x2j84d06.js} +2 -2
  163. package/dist/{chunk-2amj1eyp.js.map → chunk-x2j84d06.js.map} +1 -1
  164. package/dist/{chunk-dmj6ysym.js → chunk-xe2pm36q.js} +2 -2
  165. package/dist/{chunk-dmj6ysym.js.map → chunk-xe2pm36q.js.map} +1 -1
  166. package/dist/{chunk-rkgsvsrj.js → chunk-xfvegbxn.js} +2 -2
  167. package/dist/{chunk-rkgsvsrj.js.map → chunk-xfvegbxn.js.map} +1 -1
  168. package/dist/{chunk-nvngb4ed.js → chunk-y9f2see3.js} +3 -3
  169. package/dist/{chunk-nvngb4ed.js.map → chunk-y9f2see3.js.map} +1 -1
  170. package/dist/{chunk-1kdga1b2.js → chunk-yhht1j7f.js} +2 -2
  171. package/dist/{chunk-1kdga1b2.js.map → chunk-yhht1j7f.js.map} +1 -1
  172. package/dist/{chunk-eevna943.js → chunk-z5nfve1k.js} +2 -2
  173. package/dist/chunk-z5nfve1k.js.map +10 -0
  174. package/dist/{chunk-j8vc3bze.js → chunk-zq5375wd.js} +3 -3
  175. package/dist/{chunk-j8vc3bze.js.map → chunk-zq5375wd.js.map} +1 -1
  176. package/dist/chunks/{ThemeProvider-CgK2mmVV.js → ThemeProvider-CS2a1snV.js} +34 -3
  177. package/dist/chunks/ThemeProvider-CS2a1snV.js.map +1 -0
  178. package/dist/client/Mutation.d.ts +7 -6
  179. package/dist/client/Mutation.d.ts.map +1 -1
  180. package/dist/client/MutationError.d.ts +53 -1
  181. package/dist/client/MutationError.d.ts.map +1 -1
  182. package/dist/client/QueryResource.d.ts +9 -0
  183. package/dist/client/QueryResource.d.ts.map +1 -1
  184. package/dist/client/auth/useEmailCode.d.ts +3 -3
  185. package/dist/client/auth/useForgotPassword.d.ts +1 -1
  186. package/dist/client/auth/useResetPassword.d.ts +1 -1
  187. package/dist/client/auth/useSignIn.d.ts +1 -1
  188. package/dist/client/auth/useSignOut.d.ts +1 -1
  189. package/dist/client/auth/useSignUp.d.ts +1 -1
  190. package/dist/client/index.d.ts +4 -2
  191. package/dist/client/index.d.ts.map +1 -1
  192. package/dist/client/index.js +136 -9
  193. package/dist/client/index.js.map +1 -1
  194. package/dist/client/realtime/RealtimeClient.d.ts +8 -1
  195. package/dist/client/realtime/RealtimeClient.d.ts.map +1 -1
  196. package/dist/client/useMutation.d.ts +18 -8
  197. package/dist/client/useMutation.d.ts.map +1 -1
  198. package/dist/client/useSetQueryData.d.ts +69 -0
  199. package/dist/client/useSetQueryData.d.ts.map +1 -0
  200. package/dist/config/index.js +1 -1
  201. package/dist/console/run.js +2 -2
  202. package/dist/console/run.js.map +1 -1
  203. package/dist/container/index.js +2 -2
  204. package/dist/container/index.js.map +1 -1
  205. package/dist/database/index.js +2 -2
  206. package/dist/database/index.js.map +1 -1
  207. package/dist/email/index.js +2 -2
  208. package/dist/email/index.js.map +1 -1
  209. package/dist/facades/Auth.d.ts +29 -2
  210. package/dist/facades/Auth.d.ts.map +1 -1
  211. package/dist/facades/RateLimiter.d.ts +16 -1
  212. package/dist/facades/RateLimiter.d.ts.map +1 -1
  213. package/dist/facades/index.js +2 -2
  214. package/dist/facades/index.js.map +1 -1
  215. package/dist/foundation/index.js +2 -2
  216. package/dist/foundation/index.js.map +1 -1
  217. package/dist/http/HttpRequest.d.ts +14 -0
  218. package/dist/http/HttpRequest.d.ts.map +1 -1
  219. package/dist/http/McpRouter.d.ts +121 -2
  220. package/dist/http/McpRouter.d.ts.map +1 -1
  221. package/dist/http/RateLimitExceededError.d.ts +24 -0
  222. package/dist/http/RateLimitExceededError.d.ts.map +1 -0
  223. package/dist/http/RateLimitMiddleware.d.ts +2 -5
  224. package/dist/http/RateLimitMiddleware.d.ts.map +1 -1
  225. package/dist/http/index.d.ts +2 -1
  226. package/dist/http/index.d.ts.map +1 -1
  227. package/dist/http/index.js +2 -2
  228. package/dist/http/index.js.map +1 -1
  229. package/dist/http/refusal.d.ts +6 -1
  230. package/dist/http/refusal.d.ts.map +1 -1
  231. package/dist/http/requestContext.d.ts +3 -1
  232. package/dist/http/requestContext.d.ts.map +1 -1
  233. package/dist/http/requestState.d.ts +57 -0
  234. package/dist/http/requestState.d.ts.map +1 -0
  235. package/dist/i18n/dictionaryRuntime.js +2 -2
  236. package/dist/i18n/dictionaryRuntime.js.map +1 -1
  237. package/dist/i18n/index.js +2 -2
  238. package/dist/i18n/index.js.map +2 -2
  239. package/dist/kernel/index.js +2 -2
  240. package/dist/kernel/index.js.map +2 -2
  241. package/dist/orm/index.js +2 -2
  242. package/dist/orm/index.js.map +1 -1
  243. package/dist/server/Server.d.ts.map +1 -1
  244. package/dist/server/health.d.ts +67 -0
  245. package/dist/server/health.d.ts.map +1 -0
  246. package/dist/server/index.d.ts +1 -0
  247. package/dist/server/index.d.ts.map +1 -1
  248. package/dist/server/index.js +2 -2
  249. package/dist/server/index.js.map +5 -4
  250. package/dist/server/shutdown.d.ts +3 -4
  251. package/dist/server/shutdown.d.ts.map +1 -1
  252. package/dist/services/broadcast/BroadcastDriver.d.ts +3 -1
  253. package/dist/services/broadcast/BroadcastDriver.d.ts.map +1 -1
  254. package/dist/services/broadcast/BroadcastManager.d.ts.map +1 -1
  255. package/dist/services/broadcast/BroadcastServiceProvider.d.ts +10 -0
  256. package/dist/services/broadcast/BroadcastServiceProvider.d.ts.map +1 -1
  257. package/dist/services/broadcast/RedisBroadcastDriver.d.ts +155 -0
  258. package/dist/services/broadcast/RedisBroadcastDriver.d.ts.map +1 -0
  259. package/dist/services/broadcast/SocketHub.d.ts +9 -0
  260. package/dist/services/broadcast/SocketHub.d.ts.map +1 -1
  261. package/dist/services/broadcast/config.d.ts +16 -3
  262. package/dist/services/broadcast/config.d.ts.map +1 -1
  263. package/dist/services/broadcast/workerWarning.d.ts +10 -0
  264. package/dist/services/broadcast/workerWarning.d.ts.map +1 -0
  265. package/dist/services/features/gate.d.ts +11 -0
  266. package/dist/services/features/gate.d.ts.map +1 -0
  267. package/dist/services/index.d.ts +6 -5
  268. package/dist/services/index.d.ts.map +1 -1
  269. package/dist/services/index.js +3 -3
  270. package/dist/services/index.js.map +2 -2
  271. package/dist/services/logging/LogManager.d.ts +1 -0
  272. package/dist/services/logging/LogManager.d.ts.map +1 -1
  273. package/dist/services/logging/config.d.ts +23 -1
  274. package/dist/services/logging/config.d.ts.map +1 -1
  275. package/dist/services/logging/consoleSink.d.ts +25 -0
  276. package/dist/services/logging/consoleSink.d.ts.map +1 -0
  277. package/dist/services/mcp/McpRegistry.d.ts +106 -14
  278. package/dist/services/mcp/McpRegistry.d.ts.map +1 -1
  279. package/dist/services/mcp/http/McpHttpServer.d.ts +41 -2
  280. package/dist/services/mcp/http/McpHttpServer.d.ts.map +1 -1
  281. package/dist/services/mcp/toAgentTools.d.ts +21 -3
  282. package/dist/services/mcp/toAgentTools.d.ts.map +1 -1
  283. package/dist/services/queue/WorkerProcess.d.ts.map +1 -1
  284. package/dist/services/queue/work.js +2 -2
  285. package/dist/services/queue/work.js.map +5 -4
  286. package/dist/services/rate-limiter/RateLimiter.d.ts +12 -0
  287. package/dist/services/rate-limiter/RateLimiter.d.ts.map +1 -1
  288. package/dist/services/router/globalMiddleware.d.ts +4 -3
  289. package/dist/services/router/globalMiddleware.d.ts.map +1 -1
  290. package/dist/stats/route-table.js +1 -1
  291. package/dist/support/index.js +2 -2
  292. package/dist/support/index.js.map +1 -1
  293. package/dist/testing/index.js +1 -1
  294. package/dist/vitest/index.js +1 -1
  295. package/package.json +1 -1
  296. package/skills/gemi-react-best-practices/SKILL.md +1 -1
  297. package/skills/gemi-react-best-practices/rules/query-mutate-over-refetch.md +14 -0
  298. package/skills/gemi-react-best-practices/rules/routing-middleware-dsl.md +2 -1
  299. package/dist/chunk-39dx7xrz.js +0 -10
  300. package/dist/chunk-39dx7xrz.js.map +0 -43
  301. package/dist/chunk-d0wr9jk4.js +0 -5
  302. package/dist/chunk-d0wr9jk4.js.map +0 -12
  303. package/dist/chunk-eevna943.js.map +0 -10
  304. package/dist/chunk-gvp6brdt.js +0 -57
  305. package/dist/chunk-kc924zjz.js +0 -5
  306. package/dist/chunk-kc924zjz.js.map +0 -12
  307. package/dist/chunk-tazvfppr.js +0 -5
  308. package/dist/chunk-vpgbn494.js +0 -24
  309. package/dist/chunk-z23h4s1a.js +0 -14
  310. package/dist/chunks/ThemeProvider-CgK2mmVV.js.map +0 -1
  311. /package/dist/{chunk-j0cnsgjq.js.map → chunk-6q6bhkyf.js.map} +0 -0
  312. /package/dist/{chunk-4qpypa3h.js.map → chunk-ayfjjgv2.js.map} +0 -0
  313. /package/dist/{chunk-rjm1kj8n.js.map → chunk-gp00enrk.js.map} +0 -0
  314. /package/dist/{chunk-xhmtph39.js.map → chunk-j10a0m7q.js.map} +0 -0
  315. /package/dist/{chunk-wqharhrp.js.map → chunk-j12hpdxk.js.map} +0 -0
  316. /package/dist/{chunk-8x73yyfs.js.map → chunk-s4semb89.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"BroadcastManager.d.ts","sourceRoot":"","sources":["../../../services/broadcast/BroadcastManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BroadcastManager.d.ts","sourceRoot":"","sources":["../../../services/broadcast/BroadcastManager.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import { ServiceProvider } from "../../support/ServiceProvider";
2
+ import type { BroadcastDriver } from "./BroadcastDriver";
3
+ import type { BroadcastConfig } from "./config";
2
4
  export declare class BroadcastServiceProvider extends ServiceProvider {
3
5
  register(): void;
4
6
  /**
@@ -13,4 +15,12 @@ export declare class BroadcastServiceProvider extends ServiceProvider {
13
15
  */
14
16
  shutdown(): Promise<void>;
15
17
  }
18
+ /**
19
+ * The redis driver carries one frame to every instance, and a `toOthers`
20
+ * frame names the socket to skip by a tag keyed from `SECRET` (`socketTag`).
21
+ * Without `SECRET` each process keys it at random, so the sender's own socket
22
+ * on another instance would not recognise its tag and would get its own
23
+ * emit back. Fails the boot in production; warns elsewhere.
24
+ */
25
+ export declare function assertSharedSecret(config: BroadcastConfig, env?: Record<string, string | undefined>, driver?: BroadcastDriver): void;
16
26
  //# sourceMappingURL=BroadcastServiceProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BroadcastServiceProvider.d.ts","sourceRoot":"","sources":["../../../services/broadcast/BroadcastServiceProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAKhE,qBAAa,wBAAyB,SAAQ,eAAe;IAC3D,QAAQ;IAcR;;;OAGG;IACH,IAAI;IAKJ;;;;OAIG;IACG,QAAQ;CAKf"}
1
+ {"version":3,"file":"BroadcastServiceProvider.d.ts","sourceRoot":"","sources":["../../../services/broadcast/BroadcastServiceProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAGhD,qBAAa,wBAAyB,SAAQ,eAAe;IAC3D,QAAQ;IAcR;;;OAGG;IACH,IAAI;IAaJ;;;;OAIG;IACG,QAAQ;CAKf;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,eAAe,EACvB,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,EACrD,MAAM,CAAC,EAAE,eAAe,GACvB,IAAI,CASN"}
@@ -0,0 +1,155 @@
1
+ import type { RedisOptions } from "bun";
2
+ import type { BroadcastDeliver, BroadcastDriver, BroadcastDriverHooks, BroadcastRevocation } from "./BroadcastDriver";
3
+ /**
4
+ * The part of a Redis client the driver uses: Bun's `RedisClient` has it.
5
+ * Described structurally so tests can hand in a fake (`createClient`).
6
+ */
7
+ export interface RedisPubSubClient {
8
+ connect(): Promise<void>;
9
+ publish(channel: string, message: string): Promise<number>;
10
+ subscribe(channel: string, listener: (message: string, channel: string) => void): Promise<number>;
11
+ /** Without a listener: drops the channel and every listener on it. */
12
+ unsubscribe(channel: string): Promise<void>;
13
+ ping(): Promise<unknown>;
14
+ close(): void;
15
+ onclose: ((error: Error) => void) | null;
16
+ }
17
+ export interface RedisBroadcastDriverOptions {
18
+ /** Defaults to `app/config/redis.ts`'s `url`, then `REDIS_URL`. */
19
+ url?: string;
20
+ /** Bun `RedisClient` options. Defaults to `app/config/redis.ts`'s `options`. */
21
+ options?: RedisOptions;
22
+ /**
23
+ * Prepended to every topic to name its Redis channel. Default:
24
+ * `gemi:bc:<8 hex characters derived from SECRET>:`, so instances of one
25
+ * app share channels and other apps or environments on the same Redis
26
+ * (which have another `SECRET`) do not. `"gemi:bc:"` without `SECRET`.
27
+ */
28
+ prefix?: string;
29
+ /**
30
+ * How long a first socket's subscription may wait for Redis before it is
31
+ * denied with `error` (the client retries it). Default `5000`.
32
+ */
33
+ subscribeTimeoutMs?: number;
34
+ /**
35
+ * How often the subscriber connection is pinged, in ms. A ping that fails
36
+ * or goes unanswered for `subscribeTimeoutMs` drops the connection, which
37
+ * is reconnected (and sockets told `gap`): a connection a proxy cut
38
+ * silently would otherwise stay subscribed to nothing. `0` turns it off.
39
+ * Default `30000`.
40
+ */
41
+ healthCheckMs?: number;
42
+ /** Builds a client. Default: `new Bun.RedisClient(url, options)`. */
43
+ createClient?: (role: "publisher" | "subscriber") => RedisPubSubClient;
44
+ }
45
+ /**
46
+ * The default channel prefix: `gemi:bc:<8 hex>:`, the hex derived from
47
+ * `secret` with HKDF, never the secret itself. `"gemi:bc:"` without one.
48
+ */
49
+ export declare function defaultBroadcastPrefix(secret?: string | undefined): string;
50
+ /**
51
+ * Broadcast over Redis pub/sub: an emit reaches the sockets of every process
52
+ * of the app, `gemi queue:work` workers' emits included.
53
+ *
54
+ * - **Publishing.** Every emit is `PUBLISH`ed on `<prefix><topic>`, from a
55
+ * publisher connection opened on the first emit. A process without the
56
+ * HTTP server (a worker) only ever has this one.
57
+ * - **Receiving.** A process that serves sockets has one subscriber
58
+ * connection. It `SUBSCRIBE`s to a topic when the first local socket joins
59
+ * it and `UNSUBSCRIBE`s when the last leaves, so a process receives only the
60
+ * topics its sockets are on. It delivers what it receives, its own emits
61
+ * included: one delivery path, nothing delivered twice.
62
+ * - **Revocations** travel on `<prefix>__control`, and every process applies
63
+ * them. The process that revokes applies it at once too, so its own sockets
64
+ * are covered while Redis is unreachable.
65
+ * - **Reconnects.** When the subscriber connection drops, the driver opens a
66
+ * new one with backoff, subscribes every topic again, and then tells the
67
+ * transport (`onGap`), which sends its sockets `{op:"gap"}` so clients
68
+ * refetch what they may have missed.
69
+ *
70
+ * Needs `SECRET`: a `toOthers` frame names the skipped socket by a tag keyed
71
+ * from it, which every process must compute alike.
72
+ */
73
+ export declare class RedisBroadcastDriver implements BroadcastDriver {
74
+ private readonly config;
75
+ readonly prefix: string;
76
+ private readonly controlChannel;
77
+ private readonly instanceId;
78
+ private readonly subscribeTimeoutMs;
79
+ private readonly healthCheckMs;
80
+ private publisher;
81
+ private subscriber;
82
+ /** Resolves with the subscriber once it is connected and subscribed. */
83
+ private ready;
84
+ private deliver;
85
+ private hooks;
86
+ /** Topics with local sockets: the ones the subscriber should be on. */
87
+ private readonly wanted;
88
+ /** Topics the current subscriber connection is subscribed to. */
89
+ private readonly active;
90
+ /** Per topic, the tail of its SUBSCRIBE/UNSUBSCRIBE chain. */
91
+ private readonly chains;
92
+ private connectedOnce;
93
+ private reconnectAttempt;
94
+ private reconnectTimer;
95
+ private healthTimer;
96
+ private closed;
97
+ constructor(config?: RedisBroadcastDriverOptions);
98
+ /** Whether the subscriber connection is up and subscribed. */
99
+ get connected(): boolean;
100
+ publish(topic: string, frame: string): Promise<void>;
101
+ /**
102
+ * Applies the revocation here at once, then sends it to every other
103
+ * process. A process whose subscriber is reconnecting while it is sent
104
+ * misses it, and re-authorizes every subscription after its gap instead
105
+ * (the transport does, on `onGap`).
106
+ */
107
+ revoke(revocation: BroadcastRevocation): Promise<void>;
108
+ /**
109
+ * Opens the subscriber connection. Resolves once it is connected, or at
110
+ * `subscribeTimeoutMs` when Redis is unreachable, in which case it keeps
111
+ * trying in the background: the HTTP server does not wait on Redis to
112
+ * boot.
113
+ */
114
+ start(deliver: BroadcastDeliver, hooks?: BroadcastDriverHooks): Promise<void>;
115
+ topicAdded(topic: string): Promise<void>;
116
+ topicRemoved(topic: string): Promise<void>;
117
+ close(): Promise<void>;
118
+ /**
119
+ * Publishes, retrying once on a new publisher: Bun's client that gave up
120
+ * (Redis was away for longer than its retries) fails the first command
121
+ * after Redis is back, before its `onclose` lets it be replaced.
122
+ */
123
+ private send;
124
+ private dropPublisher;
125
+ /**
126
+ * The publisher, built on first use. Bun's client reconnects it on its
127
+ * own; one that has given up (`onclose`) is replaced on the next publish.
128
+ */
129
+ private publisherClient;
130
+ private createClient;
131
+ /**
132
+ * Opens a subscriber connection and subscribes the control channel and
133
+ * every wanted topic on it. On failure, or when it drops later, the next
134
+ * one is tried with backoff. Every connection after the first reports a
135
+ * gap, once it is subscribed: what was published in between is lost.
136
+ */
137
+ private connectSubscriber;
138
+ /** The subscriber connection closed under it. */
139
+ private lost;
140
+ private drop;
141
+ private scheduleReconnect;
142
+ private startHealthCheck;
143
+ /** The connected subscriber, waiting up to `subscribeTimeoutMs` for one. */
144
+ private whenReady;
145
+ /**
146
+ * Brings the subscription to `topic` in line with `wanted`, after whatever
147
+ * was already queued for it: a socket leaving and another joining in the
148
+ * next tick become UNSUBSCRIBE then SUBSCRIBE, in that order.
149
+ */
150
+ private sync;
151
+ private reconcile;
152
+ private readonly onMessage;
153
+ private onControl;
154
+ }
155
+ //# sourceMappingURL=RedisBroadcastDriver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RedisBroadcastDriver.d.ts","sourceRoot":"","sources":["../../../services/broadcast/RedisBroadcastDriver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AAExC,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAE3B;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3D,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAClG,sEAAsE;IACtE,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACzB,KAAK,IAAI,IAAI,CAAC;IACd,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,2BAA2B;IAC1C,mEAAmE;IACnE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gFAAgF;IAChF,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,GAAG,YAAY,KAAK,iBAAiB,CAAC;CACxE;AAUD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,GAAE,MAAM,GAAG,SAA8B,GAAG,MAAM,CAI9F;AAQD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,oBAAqB,YAAW,eAAe;IAyB9C,OAAO,CAAC,QAAQ,CAAC,MAAM;IAxBnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwC;IACnE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAC5C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IAEvC,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,UAAU,CAAkC;IACpD,wEAAwE;IACxE,OAAO,CAAC,KAAK,CAA2C;IACxD,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,KAAK,CAAmC;IAChD,uEAAuE;IACvE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,iEAAiE;IACjE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,8DAA8D;IAC9D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAC3D,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,WAAW,CAA+C;IAClE,OAAO,CAAC,MAAM,CAAS;gBAEM,MAAM,GAAE,2BAAgC;IAOrE,8DAA8D;IAC9D,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD;;;;;OAKG;IACG,MAAM,CAAC,UAAU,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAa5D;;;;;OAKG;IACG,KAAK,CAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAanF,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA0B5B;;;;OAIG;YACW,IAAI;IAWlB,OAAO,CAAC,aAAa;IAWrB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,YAAY;IAoBpB;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAmDzB,iDAAiD;IACjD,OAAO,CAAC,IAAI;IAQZ,OAAO,CAAC,IAAI;IAcZ,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,gBAAgB;IAgBxB,4EAA4E;YAC9D,SAAS;IAevB;;;;OAIG;IACH,OAAO,CAAC,IAAI;YAWE,SAAS;IA0CvB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAOxB;IAEF,OAAO,CAAC,SAAS;CAYlB"}
@@ -149,6 +149,15 @@ export declare class SocketHub {
149
149
  * behind, and its client recovers by reconnecting and refetching.
150
150
  */
151
151
  deliver(topic: string, frame: string): void;
152
+ /**
153
+ * The driver may have lost frames, revocations included (a Redis
154
+ * subscriber that reconnected). Clients are told to resync, and every
155
+ * subscription is authorized again, as after `revoke({ channel })`, so
156
+ * one whose access a missed revocation ended is denied. Spread over
157
+ * `GAP_REAUTHORIZE_SPREAD_MS`, so a Redis blip does not send every
158
+ * authorization to the database at once.
159
+ */
160
+ private onGap;
152
161
  /** Applies a revocation that reached this process. */
153
162
  applyRevocation(revocation: BroadcastRevocation): void;
154
163
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"SocketHub.d.ts","sourceRoot":"","sources":["../../../services/broadcast/SocketHub.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SocketHub.d.ts","sourceRoot":"","sources":["../../../services/broadcast/SocketHub.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,29 @@
1
1
  import type { Application } from "../../foundation/Application";
2
2
  import type { BroadcastDriver } from "./BroadcastDriver";
3
+ import type { RedisBroadcastDriverOptions } from "./RedisBroadcastDriver";
3
4
  export interface BroadcastConfig {
4
5
  /**
5
- * Which processes see an emit: `"memory"`, a `BroadcastDriver`, or a
6
- * function returning one, called once with the application.
6
+ * Which processes see an emit: `"memory"`, `"redis"`, a `BroadcastDriver`,
7
+ * or a function returning one, called once with the application.
7
8
  *
8
9
  * `"memory"` is the default and reaches the sockets of **this process
9
10
  * only**: right for one instance whose web processes also run the jobs,
10
11
  * wrong for several replicas or a separate `gemi queue:work` worker. See
11
12
  * `MemoryBroadcastDriver`.
13
+ *
14
+ * `"redis"` reaches every process of the app through Redis pub/sub (see
15
+ * `redis` below and `RedisBroadcastDriver`). It needs `SECRET` set, the
16
+ * same on every instance; the boot fails without it.
17
+ */
18
+ driver?: "memory" | "redis" | BroadcastDriver | ((application: Application) => BroadcastDriver);
19
+ /**
20
+ * The `"redis"` driver's settings. The connection defaults to the app's
21
+ * own (`app/config/redis.ts`: `url`, else `REDIS_URL`, and `options`);
22
+ * set `url` / `options` here to use another server. `prefix` (default
23
+ * `"gemi:bc:"`) names the Redis channels: give each app sharing one Redis
24
+ * its own.
12
25
  */
13
- driver?: "memory" | BroadcastDriver | ((application: Application) => BroadcastDriver);
26
+ redis?: Pick<RedisBroadcastDriverOptions, "url" | "options" | "prefix" | "subscribeTimeoutMs" | "healthCheckMs">;
14
27
  /**
15
28
  * The largest event frame, in bytes, JSON-encoded with its topic and name.
16
29
  * A bigger emit throws `BroadcastPayloadTooLargeError` at the call site.
@@ -1 +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"}
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;AACzD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAI1E,MAAM,WAAW,eAAe;IAC9B;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,eAAe,GAAG,CAAC,CAAC,WAAW,EAAE,WAAW,KAAK,eAAe,CAAC,CAAC;IAEhG;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,IAAI,CACV,2BAA2B,EAC3B,KAAK,GAAG,SAAS,GAAG,QAAQ,GAAG,oBAAoB,GAAG,eAAe,CACtE,CAAC;IAEF;;;;;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,CAkBnE"}
@@ -0,0 +1,10 @@
1
+ import type { Application } from "../../foundation/Application";
2
+ /**
3
+ * What `gemi queue:work` warns at boot when the app declares channels but
4
+ * broadcasts with the memory driver, or `null`. A worker has no sockets, so
5
+ * with the memory driver its jobs' emits reach no one, with nothing else to
6
+ * say so. A warning, not a refusal as for a memory queue: the worker still
7
+ * runs its jobs, only their broadcasts are lost.
8
+ */
9
+ export declare function memoryBroadcastInWorker(application: Application): string | null;
10
+ //# sourceMappingURL=workerWarning.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workerWarning.d.ts","sourceRoot":"","sources":["../../../services/broadcast/workerWarning.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAIhE;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAW/E"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Whether something gated on `key` is on for the ambient request: `true` when
3
+ * there is no gate. The one check behind every `feature` option that is not a
4
+ * route's `.feature()` (#885): the remote MCP endpoint, an OAuth sign-in
5
+ * provider, an MCP tool.
6
+ *
7
+ * Fails closed like every feature read: an undeclared key, a switch nobody has
8
+ * turned on, or a store that has never loaded all answer `false`.
9
+ */
10
+ export declare function featureOn(key: string | undefined): Promise<boolean>;
11
+ //# sourceMappingURL=gate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../../../services/features/gate.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAGzE"}
@@ -18,7 +18,7 @@ export { InMemoryRateLimiter, type InMemoryRateLimiterOptions, } from "./rate-li
18
18
  export { RedisRateLimiter, type RedisRateLimiterOptions, type RateLimiterRedisClient, } from "./rate-limiter/drivers/RedisRateLimiterDriver";
19
19
  export { RateLimiterDriver } from "./rate-limiter/drivers/RateLimiterDriver";
20
20
  export type { ConsumeParams, RateLimitResult } from "./rate-limiter/types";
21
- export type { ConsumeOptions } from "./rate-limiter/RateLimiter";
21
+ export type { ConsumeOptions, RateLimitMessage } from "./rate-limiter/RateLimiter";
22
22
  export { MailServiceProvider } from "./email/MailServiceProvider";
23
23
  export { MailManager } from "./email/MailManager";
24
24
  export { EmailDriver } from "./email/drivers/EmailDriver";
@@ -29,7 +29,7 @@ export { ApiRouteDispatcher, type DispatchAsOptions, type DispatchCredentials, }
29
29
  export { ViewRouteDispatcher } from "./router/ViewRouteDispatcher";
30
30
  export { ISLAND_LOADER_CSP_HASH, STATIC_NAVIGATION_CSP_HASH } from "./router/staticDocument";
31
31
  export type { StreamSummary, StreamQuerySummary, } from "./router/ServerQueryStore";
32
- export { DEFAULT_MCP_SCOPE, McpCallRefusedError, McpRegistry, McpToolError, type McpCaller, type McpCallContext, type McpExecuteOptions, type McpRegistryOptions, type McpRemoteFileOptions, type McpRemotePrincipal, type McpScope, type McpCredentials, type McpToolAnnotations, type McpToolDescriptor, type McpToolFilter, } from "./mcp/McpRegistry";
32
+ export { DEFAULT_MCP_SCOPE, McpCallRefusedError, McpRegistry, McpToolError, mcpCallOf, type McpCaller, type McpCallContext, type McpExecuteOptions, type McpRegistryOptions, type McpRemoteFileOptions, type McpRemotePrincipal, type McpScope, type McpCredentials, type McpToolAnnotations, type McpNativeToolDescriptor, type McpRouteToolDescriptor, type McpToolDescriptor, type McpToolFilter, } from "./mcp/McpRegistry";
33
33
  export { McpHttpServer, type McpRemoteHttpConfig, } from "./mcp/http/McpHttpServer";
34
34
  export { bearerToken, McpApiKeyResolver, type McpApiKey, type McpApiKeyResolverOptions, type McpCallerResolver, type McpResolution, type McpResolveContext, } from "./mcp/http/callers";
35
35
  export { McpOAuthServer, type McpConsent, type McpOAuthServerOptions, } from "./mcp/http/oauth/McpOAuthServer";
@@ -65,8 +65,9 @@ export type { ChangeFeedMessage, ChangeFeedResponse, StreamOptions as ChangeFeed
65
65
  export { BroadcastServiceProvider } from "./broadcast/BroadcastServiceProvider";
66
66
  export { BroadcastManager, BroadcastPayloadTooLargeError, BroadcastScope, PendingBroadcast, type SocketSource, } from "./broadcast/BroadcastManager";
67
67
  export { BroadcastEvent, isBroadcastEvent } from "./broadcast/BroadcastEvent";
68
- export type { BroadcastDeliver, BroadcastDriver, BroadcastDriverHooks, } from "./broadcast/BroadcastDriver";
68
+ export type { BroadcastDeliver, BroadcastDriver, BroadcastDriverHooks, BroadcastRevocation, } from "./broadcast/BroadcastDriver";
69
69
  export { MemoryBroadcastDriver } from "./broadcast/MemoryBroadcastDriver";
70
+ export { RedisBroadcastDriver, type RedisBroadcastDriverOptions, type RedisPubSubClient, } from "./broadcast/RedisBroadcastDriver";
70
71
  export { InvalidChannelError, type ChannelParams, type ChannelTarget, } from "./broadcast/channels";
71
72
  export type { SentBroadcast } from "./broadcast/types";
72
73
  export { SOCKET_ID_HEADER, type BroadcastEventFrame, } from "./broadcast/wire";
@@ -135,7 +136,7 @@ export { defineFilesystemConfig, filesystemConfigDefaults, type FilesystemConfig
135
136
  export { defineRateLimiterConfig, rateLimiterConfigDefaults, type RateLimiterConfig, } from "./rate-limiter/config";
136
137
  export { defineMailConfig, mailConfigDefaults, type MailConfig, } from "./email/config";
137
138
  export { defineRouteConfig, apiRouteConfigDefaults, viewRouteConfigDefaults, type RouteConfig, type ApiRouteConfig, type McpRouteConfig, type ViewRouteConfig, type LocaleRouting, } from "./router/config";
138
- export { defineLogConfig, logConfigDefaults, type LogConfig, } from "./logging/config";
139
+ export { defineLogConfig, logConfigDefaults, type LogConfig, type LogConsoleFormat, } from "./logging/config";
139
140
  export { defineQueueConfig, queueConfigDefaults, type QueueConfig, } from "./queue/config";
140
141
  export { defineChangeFeedConfig, changeFeedConfigDefaults, type ChangeFeedConfig, } from "./change-feed/config";
141
142
  export { defineBroadcastConfig, broadcastConfigDefaults, type BroadcastConfig, } from "./broadcast/config";
@@ -145,7 +146,7 @@ export { defineScheduleConfig, scheduleConfigDefaults, type ScheduleConfig, } fr
145
146
  export { defineCommandConfig, commandConfigDefaults, type CommandConfig, } from "../console/config";
146
147
  export { defineRedisConfig, redisConfigDefaults, type RedisConfig, } from "./redis/config";
147
148
  export { defineFeaturesConfig, featuresConfigDefaults, type FeaturesConfig, } from "./features/config";
148
- export { defineAuthConfig, authConfigDefaults, type AuthConfig, type AuthenticatedArgs, type EmailCodeConfig, type EmailCodeSendArgs, type LegacySessionMigrator, } from "../auth/config";
149
+ export { defineAuthConfig, authConfigDefaults, type AuthConfig, type AuthenticatedArgs, type EmailCodeConfig, type EmailCodeSendArgs, type LegacySessionMigrator, type OAuthProviderEntry, } from "../auth/config";
149
150
  export { defineTranslationConfig, translationConfigDefaults, type TranslationConfig, } from "../i18n/config";
150
151
  export { defineMiddlewareConfig, middlewareConfigDefaults, type MiddlewareConfig, } from "../http/middleware-config";
151
152
  //# sourceMappingURL=index.d.ts.map
@@ -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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"}