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":"HttpRequest.d.ts","sourceRoot":"","sources":["../../http/HttpRequest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HttpRequest.d.ts","sourceRoot":"","sources":["../../http/HttpRequest.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
- import type { ToolContext } from "../ai/Agent";
1
+ import type { AgentContext, AgentTool, AnyAgentTool, ToolContext } from "../ai/Agent";
2
2
  import type { AnySchema, Infer, Schema } from "../ai/Schema";
3
+ import type { FeatureKey } from "../client/rpc";
3
4
  import type { UrlParser } from "../client/types";
4
5
  import type { Prettify } from "../utils/type";
5
6
  import type { McpCallContext, McpCredentials, McpScope, McpToolAnnotations } from "../services/mcp/McpRegistry";
6
7
  import type { ApiRouterHandler } from "./ApiRouter";
7
8
  import type { HttpRequest } from "./HttpRequest";
9
+ import type { ProgressUpdate } from "./modelOriginated";
8
10
  /**
9
11
  * The app's API routes, as `fromApiRoute` sees them: the same
10
12
  * `"METHOD:/path"` table `CreateRPC` builds for the client.
@@ -261,6 +263,15 @@ type MetaBase<T> = {
261
263
  * that must be confirmed sets `requiresApproval` instead.
262
264
  */
263
265
  annotations?: McpToolAnnotations;
266
+ /**
267
+ * Offers the tool only while this `app/features` flag is on for the
268
+ * request (#885). Off: a remote `tools/list` leaves it out and a call is
269
+ * answered as for a tool that does not exist; a local agent that holds it
270
+ * (`toAgentTools` builds its tools once) has the call refused with an error
271
+ * the model reads. Evaluated per call, as the signed-in user — for a remote
272
+ * caller, the user its credential resolved to.
273
+ */
274
+ feature?: FeatureKey;
264
275
  };
265
276
  /**
266
277
  * `input` is required as soon as the JSON part of the body has a required
@@ -373,6 +384,7 @@ export type McpRouteMetaRuntime = {
373
384
  requiresApproval?: boolean;
374
385
  title?: string;
375
386
  annotations?: McpToolAnnotations;
387
+ feature?: string;
376
388
  params?: Record<string, McpParamDeclaration>;
377
389
  files?: Record<string, McpFileBinder | "input">;
378
390
  result?: McpResultProjection;
@@ -399,6 +411,83 @@ export declare class McpRouteDeclaration<M extends McpMethod = McpMethod, K exte
399
411
  };
400
412
  constructor(method: M, url: K, meta: McpRouteMetaRuntime);
401
413
  }
414
+ /**
415
+ * How a native tool runs for a remote MCP client. Its presence is the opt-in:
416
+ * a native tool without it is the local agents' only, never listed to a remote
417
+ * caller and refused as unknown when one names it.
418
+ */
419
+ export type McpNativeToolRemote<Progress = unknown> = {
420
+ /**
421
+ * The `AgentContext` the tool's `ctx.context` is for a remote call, built
422
+ * from the call: `caller.principal` is the credential's user and scopes,
423
+ * `req` the request to the MCP endpoint (its `req.ctx().user` is that same
424
+ * user), `input` the parsed arguments. `call.ctx` is absent here: it is what
425
+ * this builds.
426
+ *
427
+ * It is the server deciding what the call is for, as `AgentController.context()`
428
+ * does for a chat, so it must not be read off the arguments without the
429
+ * same check a route would make. A throw is the server's failure, logged.
430
+ */
431
+ context: (call: McpCallContext) => AgentContext | Promise<AgentContext>;
432
+ /**
433
+ * Turns one of the tool's yields into an MCP progress notification, or
434
+ * `undefined` to send none for it. `n` counts the yields, from 1.
435
+ *
436
+ * Without it, a yield with a numeric `progress` is sent as it is (with its
437
+ * `total` and `message`), a string is sent as the message, and anything
438
+ * else as `{ progress: n }`, with its `message` when it has a string one.
439
+ */
440
+ progress?: (value: Progress, n: number) => ProgressUpdate | undefined;
441
+ };
442
+ /** What `McpRouter.fromTool` takes beside the tool. Everything is optional. */
443
+ export type McpNativeToolMeta<T = readonly string[], Progress = unknown> = {
444
+ /** Overrides the tool's own description, for the registry's audience. */
445
+ description?: string;
446
+ /** As for a route: the filter's, the namespaces' and the scopes' tags. */
447
+ tags?: T;
448
+ /** A name for a client to show. The model is still given the `routes` key. */
449
+ title?: string;
450
+ /**
451
+ * MCP's hints, exactly as written: a native tool has no verb to imply any,
452
+ * so an unannotated one is what MCP assumes — not read-only, possibly
453
+ * destructive.
454
+ */
455
+ annotations?: McpToolAnnotations;
456
+ /**
457
+ * `true` asks the user before the tool runs even when the tool itself does
458
+ * not. A tool that requires approval keeps requiring it: `false` there is
459
+ * refused at boot rather than quietly dropping the question.
460
+ */
461
+ requiresApproval?: boolean;
462
+ /** Lets a remote MCP client list and call the tool. See `McpNativeToolRemote`. */
463
+ remote?: McpNativeToolRemote<Progress>;
464
+ };
465
+ /** The runtime shape of a native tool's meta, generics erased. */
466
+ export type McpNativeToolMetaRuntime = {
467
+ description?: string;
468
+ tags?: readonly string[];
469
+ title?: string;
470
+ annotations?: McpToolAnnotations;
471
+ requiresApproval?: boolean;
472
+ remote?: McpNativeToolRemote<any>;
473
+ };
474
+ /**
475
+ * One native tool: what `fromTool` returns and `routes` holds beside the
476
+ * route declarations. Plain data, resolved by the registry at boot.
477
+ */
478
+ export declare class McpToolDeclaration<Input = unknown, Output = unknown, Tags extends readonly string[] = readonly string[], Progress = never> {
479
+ readonly tool: AnyAgentTool;
480
+ readonly meta: McpNativeToolMetaRuntime;
481
+ readonly __internal_brand = "McpTool";
482
+ /** Types only, never set: what `toAgentTools` reads off a typed router. */
483
+ readonly __tool?: {
484
+ input: Input;
485
+ output: Output;
486
+ tags: Tags;
487
+ progress: Progress;
488
+ };
489
+ constructor(tool: AnyAgentTool, meta: McpNativeToolMetaRuntime);
490
+ }
402
491
  /**
403
492
  * Which of an app's API routes a model may call, declared by reference.
404
493
  *
@@ -429,7 +518,7 @@ export declare class McpRouteDeclaration<M extends McpMethod = McpMethod, K exte
429
518
  */
430
519
  export declare class McpRouter<R = McpRoutes> {
431
520
  static __brand: string;
432
- routes: Record<string, McpRouteDeclaration>;
521
+ routes: Record<string, McpRouteDeclaration | McpToolDeclaration<any, any, any, any>>;
433
522
  /**
434
523
  * The scopes a remote caller's credential can carry, and the tools each one
435
524
  * reaches (#762). A remote caller sees, and can call, only the tools a scope
@@ -507,6 +596,36 @@ export declare class McpRouter<R = McpRoutes> {
507
596
  * a field above `routes` and use it in each.
508
597
  */
509
598
  param<S extends AnySchema, const As extends string | undefined = undefined>(options: McpModelParamOptions<S, As>): McpModelParam<Infer<S>, As>;
599
+ /**
600
+ * Registers an `AgentTool` as a tool of the registry (#759): an operation
601
+ * that is not one route — it composes several, runs a model, or reports
602
+ * progress while it works — listed, filtered, scoped and projected beside the
603
+ * routes.
604
+ *
605
+ * ```ts
606
+ * routes = {
607
+ * "build-page": this.fromTool(buildPageTool, {
608
+ * tags: ["pages"],
609
+ * remote: { context: ({ caller }) => ({ userId: caller.req.ctx().user.id }) },
610
+ * }),
611
+ * };
612
+ * ```
613
+ *
614
+ * The `routes` key is the tool's name, as for a route. Its input schema,
615
+ * output schema, `requiresApproval`, `timeoutMs` and `async` are the tool's.
616
+ * It must be a server tool with a fixed `inputSchema`: the registry lists
617
+ * one schema to every caller, so a per-run schema is refused at boot.
618
+ *
619
+ * For an agent in this server (`toAgentTools`) the tool runs with the run's
620
+ * own `ToolContext`, exactly as if the agent held it directly: its yields
621
+ * are `tool-progress`, its jobs are background jobs. For a remote MCP client
622
+ * it runs only when `remote` is set. See `McpNativeToolRemote`.
623
+ *
624
+ * Inside, `mcpCallOf(ctx)` answers the call — the caller included — so a
625
+ * composite tool can run the routes it composes as the same caller:
626
+ * `registry.execute(mcpCallOf(ctx)!.caller, "list-pages", args, ctx)`.
627
+ */
628
+ fromTool<I, O, Pr = never, const T extends readonly string[] = readonly []>(tool: AgentTool<string, I, O, Pr>, meta?: McpNativeToolMeta<T, Pr>): McpToolDeclaration<I, O, T, Pr>;
510
629
  fromApiRoute<M extends McpMethod, K extends keyof RoutesOf<R>[M] & string, I extends AnySchema | undefined = undefined, O extends AnySchema | undefined = undefined, const P extends Record<string, McpParamDeclaration> = {}, const F extends Record<string, McpFileBinder | "input"> = {}, const T extends readonly string[] = readonly [], RR = never>(method: M, url: K, meta: McpRouteMeta<RoutesOf<R>[M][K], K, I, O, P, F, T, RR>): McpRouteDeclaration<M, K, McpToolInput<I, K, P, F>, McpToolOutput<RoutesOf<R>[M][K], O, RR>, T>;
511
630
  }
512
631
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"McpRouter.d.ts","sourceRoot":"","sources":["../../http/McpRouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"McpRouter.d.ts","sourceRoot":"","sources":["../../http/McpRouter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,QAAQ,EACR,kBAAkB,EACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,SAAS;CAAG;AAE7B,sFAAsF;AACtF,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEpE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,MAAM,cAAc,GAAG,CAC3B,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,EAC1B,IAAI,EAAE,cAAc,KACjB,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;AAEhD;;;;;;;;;;;GAWG;AACH,qBAAa,aAAa,CAAC,CAAC,GAAG,OAAO,EAAE,EAAE,SAAS,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS;IAItF;;;;OAIG;IACH,QAAQ,CAAC,EAAE,EAAE,EAAE;IACf,QAAQ,CAAC,KAAK,EAAE,SAAS;IACzB,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAVzC,QAAQ,CAAC,gBAAgB,mBAAmB;;IAG1C;;;;OAIG;IACM,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAC;CAE1C;AAED;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI,CACrC,KAAK,EAAE,CAAC,EACR,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,EAC1B,IAAI,EAAE,cAAc,KACjB,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;AAEhD,oCAAoC;AACpC,MAAM,MAAM,oBAAoB,CAC9B,CAAC,SAAS,SAAS,EACnB,EAAE,SAAS,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,IAChD;IACF;;;;OAIG;IACH,EAAE,CAAC,EAAE,EAAE,CAAC;IACR;;;;OAIG;IACH,KAAK,EAAE,CAAC,CAAC;IACT,0EAA0E;IAC1E,IAAI,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;CACvC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG,CAC1B,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,cAAc,KACjB,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;AAItD,2EAA2E;AAC3E,KAAK,QAAQ,CAAC,CAAC,IAAI;KAChB,CAAC,IAAI,SAAS,GAAG;SACf,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;KAChE;CACF,CAAC;AAEF,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAE/C,KAAK,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,gBAAgB,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE3E;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;AAErF;;;;;;;;;;;GAWG;AACH,KAAK,OAAO,CAAC,CAAC,IACZ,KAAK,CAAC,CAAC,CAAC,SAAS,IAAI,GACjB,IAAI,GACJ,OAAO,SAAS,CAAC,GACf,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GACvB,IAAI,GACJ,KAAK,GACP,KAAK,CAAC;AAEd;;;;;;;;;GASG;AACH,KAAK,UAAU,CAAC,CAAC,IACf,OAAO,CAAC,CAAC,CAAC,SAAS,IAAI,GACnB,KAAK,GACL;KACG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GACtC,KAAK,GACL,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GACpB,KAAK,GACL,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,SAAS,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GACrD,KAAK,GACL,CAAC;CACV,CAAC,MAAM,CAAC,CAAC,GACR,MAAM,CAAC;AAEf,yEAAyE;AACzE,KAAK,QAAQ,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAI1C;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,CAAC,CAAC,EAAE,CAAC,IAClB,OAAO,CAAC,CAAC,CAAC,SAAS,IAAI,GACnB,OAAO,GACP,CAAC,SAAS,SAAS,GACjB,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAC1D,KAAK,CAAC,CAAC,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,GAC1B,OAAO,GACP,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GACrB;IACE,4CAA4C,EAAE,OAAO,CACnD,MAAM,KAAK,CAAC,CAAC,CAAC,EACd,MAAM,QAAQ,CAAC,CAAC,CAAC,CAClB,CAAC;CACH,GACH,OAAO,CAAC;AAEhB,KAAK,QAAQ,CAAC,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC;AAE9C,qGAAqG;AACrG,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG,OAAO,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAErF;;;;;GAKG;AACH,KAAK,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI,MAAM,SAAS,MAAM,QAAQ,CAAC,CAAC,CAAC,GACpD;IAAE,MAAM,CAAC,EAAE,KAAK,CAAA;CAAE,GAClB,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GACjC;IAAE,MAAM,CAAC,EAAE,KAAK,CAAA;CAAE,GAClB;IAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC;AAEjD;;;;GAIG;AACH,KAAK,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,mBAAmB;CAAE,GAAG;KAC5E,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK;CAClD,CAAC;AAEF;;;GAGG;AACH,KAAK,SAAS,CAAC,CAAC,EAAE,CAAC,IACjB,OAAO,CAAC,CAAC,CAAC,SAAS,IAAI,GACnB;IAAE,KAAK,CAAC,EAAE,CAAC,CAAA;CAAE,GACb,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAC7B;IAAE,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,GACjB;IACE,KAAK,EAAE,CAAC,GACN,OAAO,CACL;SAAG,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,GAAG,aAAa,GAAG,OAAO;KAAE,GAAG;SACjD,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK;KAC9C,CACF,CAAC;CACL,CAAC;AAEV,KAAK,QAAQ,CAAC,CAAC,IAAI;IACjB,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,IAAI,CAAC,EAAE,CAAC,CAAC;IACT;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;;;;;;;;;;OAiBG;IACH,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,UAAU,CAAC;CACtB,CAAC;AAEF;;;;;;;;GAQG;AACH,KAAK,SAAS,CAAC,CAAC,EAAE,CAAC,IACjB,OAAO,CAAC,CAAC,CAAC,SAAS,IAAI,GACnB,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GACxB,EAAE,SAAS,QAAQ,CAAC,CAAC,CAAC,GACpB,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GACxB,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAExB,KAAK,SAAS,CAAC,CAAC,EAAE,CAAC,IAAI;IACrB;;;OAGG;IACH,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CACtC,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC;AAE9C;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,OAAO,IAAI,CACtD,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,gBAAgB,KACnB,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAEpB;;;;;;GAMG;AACH,KAAK,WAAW,CAAC,CAAC,EAAE,CAAC,IACnB,KAAK,CAAC,CAAC,CAAC,SAAS,IAAI,GACjB,OAAO,GACP,OAAO,SAAS,CAAC,GACf,OAAO,GACP,CAAC,SAAS,SAAS,GACjB,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GACpB,OAAO,GACP;IAAE,iDAAiD,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;CAAE,GACjE,OAAO,CAAC;AAElB,sFAAsF;AACtF,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;AAEpF;;;;;;;;;GASG;AACH,KAAK,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IACpB;IACE;;;;;;;;;;;;OAYG;IACH,MAAM,EAAE,CACN,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EACf,IAAI,EAAE,gBAAgB,KACnB,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IACpD;;;;;OAKG;IACH,MAAM,CAAC,EAAE,CAAC,CAAC;CACZ,GACD;IACE,MAAM,CAAC,EAAE,KAAK,CAAC;IACf;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACjD,CAAC;AAEN,MAAM,MAAM,YAAY,CACtB,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,GAAG,SAAS,EACb,CAAC,GAAG,EAAE,EACN,CAAC,GAAG,EAAE,EACN,CAAC,GAAG,SAAS,MAAM,EAAE,EACrB,EAAE,GAAG,KAAK,IACR,QAAQ,CAAC,CAAC,CAAC,GACb,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GACvB,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,GAChB,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GACvB,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAIvB;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,QAAQ,CAC7C,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,SAAS,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG;KACpE,CAAC,IAAI,MAAM,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,GACxC,CAAC,CAAC,CAAC,CAAC,SAAS,OAAO,GAClB,CAAC,GACD,KAAK,GACP,KAAK,GAAG,MAAM;CACnB,GAAG;IACF,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,GAChE,EAAE,SAAS,SAAS,GAClB,CAAC,GACD,EAAE,GACJ,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK;CACnE,GAAG;IACF,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,MAAM;CACvE,CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,GACzD,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,GAClB,MAAM,CAAC,CAAC,CAAC,GACT,OAAO,CAAC,EAAE,CAAC,GACb,CAAC,SAAS,SAAS,GACjB,KAAK,CAAC,CAAC,CAAC,GACR,OAAO,CAAC;AAEd,oDAAoD;AACpD,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,CAAC;IAChD,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB,CAAC;AAEF;;;;GAIG;AACH,qBAAa,mBAAmB,CAC9B,CAAC,SAAS,SAAS,GAAG,SAAS,EAC/B,CAAC,SAAS,MAAM,GAAG,MAAM,EACzB,KAAK,GAAG,OAAO,EACf,MAAM,GAAG,OAAO,EAChB,IAAI,SAAS,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE;IAUhD,QAAQ,CAAC,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,GAAG,EAAE,CAAC;IACf,QAAQ,CAAC,IAAI,EAAE,mBAAmB;IAVpC,QAAQ,CAAC,gBAAgB,cAAc;IACvC;;;OAGG;IACH,SAAiB,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,IAAI,CAAA;KAAE,CAAC;gBAG5D,MAAM,EAAE,CAAC,EACT,GAAG,EAAE,CAAC,EACN,IAAI,EAAE,mBAAmB;CAErC;AAID;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,CAAC,QAAQ,GAAG,OAAO,IAAI;IACpD;;;;;;;;;;OAUG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACxE;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,KAAK,cAAc,GAAG,SAAS,CAAC;CACvE,CAAC;AAEF,+EAA+E;AAC/E,MAAM,MAAM,iBAAiB,CAAC,CAAC,GAAG,SAAS,MAAM,EAAE,EAAE,QAAQ,GAAG,OAAO,IAAI;IACzE,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kFAAkF;IAClF,MAAM,CAAC,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;CACxC,CAAC;AAEF,kEAAkE;AAClE,MAAM,MAAM,wBAAwB,GAAG;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC;CACnC,CAAC;AAEF;;;GAGG;AACH,qBAAa,kBAAkB,CAC7B,KAAK,GAAG,OAAO,EACf,MAAM,GAAG,OAAO,EAChB,IAAI,SAAS,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,EAClD,QAAQ,GAAG,KAAK;IAOd,QAAQ,CAAC,IAAI,EAAE,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,wBAAwB;IANzC,QAAQ,CAAC,gBAAgB,aAAa;IACtC,2EAA2E;IAC3E,SAAiB,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAA;KAAE,CAAC;gBAGhF,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,wBAAwB;CAE1C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,SAAS,CAAC,CAAC,GAAG,SAAS;IAClC,MAAM,CAAC,OAAO,SAAe;IAE7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAM;IAE1F;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAElC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,WAAW,CAAC,CAAC,IAAI,EAAE,cAAc,GAAG,cAAc,GAAG,SAAS,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAEpG;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,KAAK,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,CAAC,EAAE,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,EACxE,OAAO,EAAE,oBAAoB,CAAC,CAAC,EAAE,EAAE,CAAC,GACnC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAI9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,QAAQ,CACN,CAAC,EACD,CAAC,EACD,EAAE,GAAG,KAAK,EACV,KAAK,CAAC,CAAC,SAAS,SAAS,MAAM,EAAE,GAAG,SAAS,EAAE,EAE/C,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EACjC,IAAI,GAAE,iBAAiB,CAAC,CAAC,EAAE,EAAE,CAAM,GAClC,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAIlC,YAAY,CACV,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,EACvC,CAAC,SAAS,SAAS,GAAG,SAAS,GAAG,SAAS,EAC3C,CAAC,SAAS,SAAS,GAAG,SAAS,GAAG,SAAS,EAC3C,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,GAAG,EAAE,EACxD,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,EAC5D,KAAK,CAAC,CAAC,SAAS,SAAS,MAAM,EAAE,GAAG,SAAS,EAAE,EAC/C,EAAE,GAAG,KAAK,EAEV,MAAM,EAAE,CAAC,EACT,GAAG,EAAE,CAAC,EACN,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAC1D,mBAAmB,CACpB,CAAC,EACD,CAAC,EACD,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACxB,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EACvC,CAAC,CACF;CAGF"}
@@ -0,0 +1,24 @@
1
+ import type { RateLimitResult } from "../services/rate-limiter/types";
2
+ import { RequestBreakerError } from "./Error";
3
+ /**
4
+ * A 429 from the rate limiter: what the `rate-limit` middleware,
5
+ * `RateLimiter.enforce` and the one-time-code limiter throw over budget.
6
+ *
7
+ * With the `result` that refused the request, the answer carries
8
+ * `X-RateLimit-*` headers, `Retry-After` (seconds) and `retryAfter` (ms) in the
9
+ * body's `error`, so a client can say when to try again without reading
10
+ * headers:
11
+ *
12
+ * ```
13
+ * 429 { error: { kind: "rate_limit", message, status: 429, retryAfter: 90000 } }
14
+ * ```
15
+ */
16
+ export declare class RateLimitExceededError extends RequestBreakerError {
17
+ readonly result?: RateLimitResult;
18
+ /** Milliseconds until a retry can succeed, when the result is known. */
19
+ readonly retryAfter: number | undefined;
20
+ constructor(result?: RateLimitResult, message?: string);
21
+ }
22
+ /** @internal */
23
+ export declare function rateLimitHeaders(result: RateLimitResult): Record<string, string>;
24
+ //# sourceMappingURL=RateLimitExceededError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RateLimitExceededError.d.ts","sourceRoot":"","sources":["../../http/RateLimitExceededError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAW,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAIvD;;;;;;;;;;;;GAYG;AACH,qBAAa,sBAAuB,SAAQ,mBAAmB;IAK3D,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe;IAJnC,wEAAwE;IACxE,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;gBAG7B,MAAM,CAAC,EAAE,eAAe,EACjC,OAAO,GAAE,MAAwB;CA6BpC;AAED,gBAAgB;AAChB,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAgBhF"}
@@ -1,10 +1,7 @@
1
- import type { RateLimitResult } from "../services/rate-limiter/types";
2
- import { RequestBreakerError } from "./Error";
1
+ import { RateLimitExceededError } from "./RateLimitExceededError";
3
2
  import type { HttpRequest } from "./HttpRequest";
4
3
  import { Middleware } from "./Middleware";
5
- export declare class RateLimitExceededError extends RequestBreakerError {
6
- constructor(result?: RateLimitResult);
7
- }
4
+ export { RateLimitExceededError };
8
5
  export interface RateLimitMiddlewareConfig {
9
6
  /** Requests allowed per window. The DSL parameter wins over this. */
10
7
  limit?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"RateLimitMiddleware.d.ts","sourceRoot":"","sources":["../../http/RateLimitMiddleware.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAW,mBAAmB,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,qBAAa,sBAAuB,SAAQ,mBAAmB;gBACjD,MAAM,CAAC,EAAE,eAAe;CAwBrC;AAED,MAAM,WAAW,yBAAyB;IACxC,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,MAAM,CAAC;IACnC,gEAAgE;IAChE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,mBAAoB,SAAQ,UAAU,CAAC,yBAAyB,CAAC;IACtE,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IAgC3D,OAAO,CAAC,GAAG;CAcZ;AAgBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,WAAW,UAcxC"}
1
+ {"version":3,"file":"RateLimitMiddleware.d.ts","sourceRoot":"","sources":["../../http/RateLimitMiddleware.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAoB,MAAM,0BAA0B,CAAC;AACpF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAElC,MAAM,WAAW,yBAAyB;IACxC,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,MAAM,CAAC;IACnC,gEAAgE;IAChE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,mBAAoB,SAAQ,UAAU,CAAC,yBAAyB,CAAC;IACtE,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IAgC3D,OAAO,CAAC,GAAG;CAcZ;AAgBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,WAAW,UAcxC"}
@@ -1,7 +1,7 @@
1
1
  export { Controller, ResourceController } from "./Controller";
2
2
  export { ApiRouter, type ControllerRouteHandler, type CreateRPC } from "./ApiRouter";
3
3
  export { ChannelRouter, ChannelDeclaration, authorizeChannel, type BroadcastEventMap, type ChannelAuthorization, type ChannelAuthorizer, type ChannelPolicy, type ChannelRefusal, type ChannelRouterClass, type CreateBroadcastRPC, } from "./ChannelRouter";
4
- export { McpRouter, McpRouteDeclaration, type McpFileBinder, type McpMethod, McpModelParam, type McpModelParamOptions, type McpModelParamResolver, type McpParamBinder, type McpParamDeclaration, type McpRouteMeta, type McpRoutes, type McpToolInput, type McpToolOutput, } from "./McpRouter";
4
+ export { McpRouter, McpRouteDeclaration, type McpFileBinder, type McpMethod, McpModelParam, type McpModelParamOptions, type McpModelParamResolver, type McpNativeToolMeta, type McpNativeToolRemote, type McpParamBinder, type McpParamDeclaration, type McpRouteMeta, type McpRoutes, type McpToolInput, type McpToolOutput, McpToolDeclaration, } from "./McpRouter";
5
5
  export type { McpGrant, ProgressUpdate } from "./modelOriginated";
6
6
  export { createFileResponse, ViewRouter, type CreateViewRPC, type FileOutput, type ViewHandler, type StaticViewOptions, type StaticNavigationOptions, } from "./ViewRouter";
7
7
  export { toMiddlewareList, type MiddlewareInput } from "./middlewareList";
@@ -9,6 +9,7 @@ export { createStreamResponse, createUnsatisfiableResponse, type StreamOutput, t
9
9
  export { formatContentRange, formatUnsatisfiedContentRange, parseContentRange, parseRangeHeader, resolveRange, toRangeHeaderValue, type ByteRange, type ContentRange, type ResolvedRange, } from "./range";
10
10
  export { ValidationError } from "./Router";
11
11
  export { HttpRequest } from "./HttpRequest";
12
+ export { MissingRequestStateError, RequestState, stateKey, type StateKey, } from "./requestState";
12
13
  export { InvalidValidationRuleError } from "./validate";
13
14
  export { Middleware } from "./Middleware";
14
15
  export { getCookies } from "./getCookies";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../http/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,KAAK,sBAAsB,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,GACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,aAAa,GACnB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,GAC7B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,GACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,kBAAkB,EAClB,6BAA6B,EAC7B,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,aAAa,GACnB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,KAAK,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAC1E,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EACL,YAAY,EACZ,SAAS,EACT,KAAK,mBAAmB,EACxB,KAAK,eAAe,GACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,KAAK,gBAAgB,GACtB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAC9F,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,QAAQ,EACR,KAAK,yBAAyB,GAC/B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,KAAK,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAC5F,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAElE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,4BAA4B,EAC5B,aAAa,EACb,wBAAwB,GACzB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,GAC3B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,SAAS,EACT,YAAY,EACZ,eAAe,EACf,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,EACZ,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,gBAAgB,GACtB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,OAAO,EACP,YAAY,EACZ,MAAM,EACN,SAAS,EACT,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,YAAY,GAClB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../http/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  // @bun
2
- import{$c as p,Ad as G,Bd as H,Cd as I,Ie as X,Zc as n,_c as o,ad as q,bd as r,cd as y,cf as Y,df as Z,ef as _,hf as $,id as z,if as aa,jd as A,jf as ba,kd as B,kf as ca,ld as C,lf as da,mf as ea,nf as fa,of as ga,pf as ha,qf as ia,rf as ja,sf as ka,tf as la,uf as ma,vf as na,wd as D,wf as oa,xd as E,xf as pa,zd as F}from"../chunk-gvp6brdt.js";import"../chunk-w61sphn5.js";import"../chunk-s5jxc63j.js";import{Hg as J,Ig as K,Jg as L,Kg as M,Lg as N,Mg as O,Ng as P,Og as Q,Pg as R,Qg as S,Rg as T,Sg as U,Tg as V,Ug as W,Xf as a,Yf as b,Zf as d,cg as e,dg as f,eg as g,fg as h,gg as i,hg as j,mg as k,ng as l,rg as m,sg as s,tg as t,ug as u,vg as v,wg as w,xg as x}from"../chunk-z23h4s1a.js";import{fh as c}from"../chunk-n1a2zj5z.js";import"../chunk-kc924zjz.js";import"../chunk-ebx5hnqn.js";import"../chunk-nvngb4ed.js";import"../chunk-96a1459v.js";import"../chunk-1f1sb3w7.js";import"../chunk-73v34hw8.js";import"../chunk-2vc72qez.js";import"../chunk-mxbtcaed.js";import"../chunk-pfm9ngch.js";import"../chunk-q1e3q01h.js";import"../chunk-hnrzm5pf.js";import"../chunk-kzstewtm.js";import"../chunk-dmj6ysym.js";import"../chunk-eevna943.js";import"../chunk-1kdga1b2.js";import"../chunk-rkgsvsrj.js";import"../chunk-ay8nat73.js";export{g as toRangeHeaderValue,n as toMiddlewareList,W as safeFetch,f as resolveRange,e as parseRangeHeader,h as parseContentRange,r as parseByteSize,da as middlewareConfigDefaults,G as httpError,d as getCookies,j as formatUnsatisfiedContentRange,i as formatContentRange,la as defineResourcePolicy,ca as defineMiddlewareConfig,o as createUnsatisfiableResponse,p as createStreamResponse,H as createFileResponse,C as clientIp,U as classifyAddress,_ as authorizeChannel,I as ViewRouter,k as ValidationError,R as TooManyRedirectsError,P as TooLargeError,O as TimeoutError,ma as SitemapError,na as Sitemap,E as SameSiteBounceMiddleware,V as SafeResponse,J as SafeFetchError,D as SAME_SITE_BOUNCE_PARAM,oa as RobotsTxt,pa as Robots,ka as ResourcePolicy,b as ResourceController,c as RequestBreakerError,B as RateLimitMiddleware,A as RateLimitExceededError,u as RangeNotSatisfiableError,ia as PoliciesServiceProvider,ja as Policies,q as PayloadTooLargeError,v as NotFoundError,S as NetworkError,z as Middleware,ba as McpRouter,aa as McpRouteDeclaration,$ as McpModelParam,l as InvalidValidationRuleError,K as InvalidUrlError,t as InsufficientPermissionsError,T as HttpStatusError,F as HttpResponse,m as HttpRequest,w as FileNotFoundError,N as DnsError,ga as CorsMiddleware,a as Controller,Q as ContentTypeError,Z as ChannelRouter,Y as ChannelDeclaration,fa as CacheMiddleware,ha as CSRFMiddleware,X as BodyLimitMiddleware,L as BlockedHostError,M as BlockedAddressError,s as AuthorizationError,ea as AuthenticationMiddleware,x as AuthenticationError,y as ApiRouter};
2
+ import{$f as fa,Be as I,Ce as J,De as K,Ee as L,Md as q,Nd as r,Od as s,Pd as t,Qd as u,Rd as B,Tf as $,Uf as aa,Vf as ba,Wd as C,Yd as D,Yf as ca,Zd as E,Zf as da,_d as F,_f as ea,ag as ga,bg as ha,cg as ia,dg as ja,eg as ka,fg as la,gg as ma,hg as na,ig as oa,jg as pa,kg as qa,lg as ra,mg as sa,ng as ta,xf as _,ye as G,ze as H}from"../chunk-eyptwf54.js";import"../chunk-3kxe9geg.js";import"../chunk-cwt8e782.js";import{Ah as P,Bh as Q,Ch as R,Dh as S,Eh as T,Fh as U,Gh as V,Hh as W,Ih as X,Jh as Y,Kh as Z,Ng as a,Og as b,Pg as d,Ug as e,Vg as f,Wg as g,Xg as h,Yg as i,Zg as j,ch as n,dh as o,hh as p,ih as v,jh as w,kh as x,lh as y,mh as z,nh as A,xh as M,yh as N,zh as O}from"../chunk-6wgh7nk6.js";import{Xh as c}from"../chunk-erzfs4t2.js";import{$h as l,_h as k,ai as m}from"../chunk-tabsxzg9.js";import"../chunk-rvspb96n.js";import"../chunk-y9f2see3.js";import"../chunk-ap3g6rbw.js";import"../chunk-entpqjyn.js";import"../chunk-rany5zgk.js";import"../chunk-sv125fqq.js";import"../chunk-vhvvjaj3.js";import"../chunk-npbf06c1.js";import"../chunk-ex41d03h.js";import"../chunk-kcsa57km.js";import"../chunk-6gwxvmjv.js";import"../chunk-rwmja4zs.js";import"../chunk-xe2pm36q.js";import"../chunk-z5nfve1k.js";import"../chunk-yhht1j7f.js";import"../chunk-xfvegbxn.js";import"../chunk-hxn0s3zh.js";export{g as toRangeHeaderValue,q as toMiddlewareList,k as stateKey,Z as safeFetch,f as resolveRange,e as parseRangeHeader,h as parseContentRange,u as parseByteSize,ha as middlewareConfigDefaults,J as httpError,d as getCookies,j as formatUnsatisfiedContentRange,i as formatContentRange,pa as defineResourcePolicy,ga as defineMiddlewareConfig,r as createUnsatisfiableResponse,s as createStreamResponse,K as createFileResponse,F as clientIp,X as classifyAddress,ba as authorizeChannel,L as ViewRouter,n as ValidationError,U as TooManyRedirectsError,S as TooLargeError,R as TimeoutError,qa as SitemapError,ra as Sitemap,H as SameSiteBounceMiddleware,Y as SafeResponse,M as SafeFetchError,G as SAME_SITE_BOUNCE_PARAM,sa as RobotsTxt,ta as Robots,oa as ResourcePolicy,b as ResourceController,m as RequestState,c as RequestBreakerError,E as RateLimitMiddleware,C as RateLimitExceededError,x as RangeNotSatisfiableError,ma as PoliciesServiceProvider,na as Policies,t as PayloadTooLargeError,y as NotFoundError,V as NetworkError,l as MissingRequestStateError,D as Middleware,ea as McpToolDeclaration,fa as McpRouter,da as McpRouteDeclaration,ca as McpModelParam,o as InvalidValidationRuleError,N as InvalidUrlError,w as InsufficientPermissionsError,W as HttpStatusError,I as HttpResponse,p as HttpRequest,z as FileNotFoundError,Q as DnsError,ka as CorsMiddleware,a as Controller,T as ContentTypeError,aa as ChannelRouter,$ as ChannelDeclaration,ja as CacheMiddleware,la as CSRFMiddleware,_ as BodyLimitMiddleware,O as BlockedHostError,P as BlockedAddressError,v as AuthorizationError,ia as AuthenticationMiddleware,A as AuthenticationError,B as ApiRouter};
3
3
 
4
- //# debugId=A1B4724E56ED338564756E2164756E21
4
+ //# debugId=5F86A8B748D1083D64756E2164756E21
@@ -4,6 +4,6 @@
4
4
  "sourcesContent": [
5
5
  ],
6
6
  "mappings": "",
7
- "debugId": "A1B4724E56ED338564756E2164756E21",
7
+ "debugId": "5F86A8B748D1083D64756E2164756E21",
8
8
  "names": []
9
9
  }
@@ -29,7 +29,7 @@ export type RefusalKind =
29
29
  | "not_found"
30
30
  /** A `Range` the object cannot satisfy (416). */
31
31
  | "range_not_satisfiable"
32
- /** `RateLimitMiddleware` refused the request (429). */
32
+ /** `RateLimitMiddleware` or `RateLimiter.enforce` refused the request (429). */
33
33
  | "rate_limit"
34
34
  /** An unhandled exception (500). */
35
35
  | "server_error"
@@ -42,6 +42,11 @@ export type Refusal<K extends RefusalKind = Exclude<RefusalKind, "validation_err
42
42
  kind: K;
43
43
  message: string;
44
44
  status: number;
45
+ /**
46
+ * `rate_limit` only: milliseconds until a retry can succeed, when the
47
+ * limiter knew (the `rate-limit` middleware, `RateLimiter.enforce`).
48
+ */
49
+ retryAfter?: number;
45
50
  };
46
51
  /**
47
52
  * The kind a status stands for, for a refusal that does not name one: an app's
@@ -1 +1 @@
1
- {"version":3,"file":"refusal.d.ts","sourceRoot":"","sources":["../../http/refusal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;;GAIG;AACH,MAAM,MAAM,WAAW;AACrB,sDAAsD;AACpD,gBAAgB;AAClB,oEAAoE;GAClE,eAAe;AACjB,qEAAqE;GACnE,YAAY;AACd,0EAA0E;GACxE,MAAM;AACR,6CAA6C;GAC3C,WAAW;AACb,iDAAiD;GAC/C,uBAAuB;AACzB,uDAAuD;GACrD,YAAY;AACd,oCAAoC;GAClC,cAAc;AAChB,gEAAgE;GAC9D,YAAY;AACd,wEAAwE;GACtE,kBAAkB,CAAC;AAEvB,gFAAgF;AAChF,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,kBAAkB,CAAC,IAAI;IACtF,IAAI,EAAE,CAAC,CAAC;IACR,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAQ7F"}
1
+ {"version":3,"file":"refusal.d.ts","sourceRoot":"","sources":["../../http/refusal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;;GAIG;AACH,MAAM,MAAM,WAAW;AACrB,sDAAsD;AACpD,gBAAgB;AAClB,oEAAoE;GAClE,eAAe;AACjB,qEAAqE;GACnE,YAAY;AACd,0EAA0E;GACxE,MAAM;AACR,6CAA6C;GAC3C,WAAW;AACb,iDAAiD;GAC/C,uBAAuB;AACzB,gFAAgF;GAC9E,YAAY;AACd,oCAAoC;GAClC,cAAc;AAChB,gEAAgE;GAC9D,YAAY;AACd,wEAAwE;GACtE,kBAAkB,CAAC;AAEvB,gFAAgF;AAChF,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,kBAAkB,CAAC,IAAI;IACtF,IAAI,EAAE,CAAC,CAAC;IACR,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAQ7F"}
@@ -1,6 +1,7 @@
1
1
  import type { HttpRequest } from "./HttpRequest";
2
2
  import { Metadata } from "./Metadata";
3
3
  import type { ByteRange } from "./range";
4
+ import { RequestState } from "./requestState";
4
5
  import type { ServerQueryStore } from "../services/router/ServerQueryStore";
5
6
  export interface CreateCookieOptions {
6
7
  maxAge?: number;
@@ -16,10 +17,11 @@ export declare function createCookie(name: string, value: string, options?: Crea
16
17
  /**
17
18
  * What a route's request context takes over from the global middleware list's
18
19
  * (see `runGlobalMiddleware`): the user, so one the list resolved is not
19
- * looked up a second time.
20
+ * looked up a second time, and the request state the list set (#887).
20
21
  */
21
22
  export interface CarriedContext {
22
23
  user: any;
24
+ state?: RequestState;
23
25
  }
24
26
  declare class Store {
25
27
  req: HttpRequest;
@@ -1 +1 @@
1
- {"version":3,"file":"requestContext.d.ts","sourceRoot":"","sources":["../../http/requestContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"requestContext.d.ts","sourceRoot":"","sources":["../../http/requestContext.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Typed values kept for the length of one request (#887): what a middleware
3
+ * resolved, handed to the controller, or what an agent turn's `context()`
4
+ * decided, handed to its `onMessage`.
5
+ *
6
+ * ```ts
7
+ * export const pageScope = stateKey<PageScope>("pageScope");
8
+ *
9
+ * // middleware
10
+ * this.req.state.set(pageScope, await resolvePageScope(this.req.params.pageId));
11
+ *
12
+ * // controller
13
+ * const scope = req.state.require(pageScope);
14
+ * ```
15
+ *
16
+ * WHY KEYS, NOT A DECLARATION-MERGED INTERFACE. A key compares by identity, so
17
+ * it stays private to the module that made it and two modules choosing the
18
+ * same name cannot collide; and a read that must find a value (`require`)
19
+ * comes back as `T`, where every field of an app-wide interface would have to
20
+ * be optional. The name is for error messages only.
21
+ *
22
+ * WHY ON THE REQUEST, NOT THE CONTEXT STORE. Every `HttpRequest` built for a
23
+ * request — the router's, a middleware's, `req = new HttpRequest()` in a
24
+ * handler, a custom request class — shares one `RequestState`, so it reads the
25
+ * same wherever it is reached from. Held by those objects rather than by the
26
+ * store, it is still readable after the store is destroyed, by a hook that
27
+ * runs as a streamed body ends.
28
+ */
29
+ export interface StateKey<T> {
30
+ readonly name: string;
31
+ /** Type-only: carries `T`. Never set. */
32
+ readonly __type?: T;
33
+ }
34
+ export declare function stateKey<T>(name: string): StateKey<T>;
35
+ /** `req.state.require(key)` found nothing: the code that sets it did not run. */
36
+ export declare class MissingRequestStateError extends Error {
37
+ readonly key: StateKey<unknown>;
38
+ constructor(key: StateKey<unknown>);
39
+ }
40
+ export declare class RequestState {
41
+ #private;
42
+ /** The value, or `undefined` when nothing set it for this request. */
43
+ get<T>(key: StateKey<T>): T | undefined;
44
+ /** The value; throws `MissingRequestStateError` when nothing set it. */
45
+ require<T>(key: StateKey<T>): T;
46
+ /** Sets the value for the rest of this request and returns it. */
47
+ set<T>(key: StateKey<T>, value: NoInfer<T>): T;
48
+ has(key: StateKey<any>): boolean;
49
+ delete(key: StateKey<any>): boolean;
50
+ /**
51
+ * Internal: copies what the global middleware list set into the route's
52
+ * request (see `RequestContext.run`). A key the route already holds keeps
53
+ * its own value.
54
+ */
55
+ static carry(from: RequestState, to: RequestState): void;
56
+ }
57
+ //# sourceMappingURL=requestState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestState.d.ts","sourceRoot":"","sources":["../../http/requestState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,WAAW,QAAQ,CAAC,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;CACrB;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAErD;AAED,iFAAiF;AACjF,qBAAa,wBAAyB,SAAQ,KAAK;aACrB,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC;gBAAtB,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC;CAOnD;AAED,qBAAa,YAAY;;IAGvB,sEAAsE;IACtE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS;IAIvC,wEAAwE;IACxE,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;IAO/B,kEAAkE;IAClE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAK9C,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAO;IAIhC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAO;IAInC;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY;CAOlD"}
@@ -1,4 +1,4 @@
1
1
  // @bun
2
- import{ca as y,da as p}from"../chunk-vwnd4jb5.js";import{ua as c,va as d,xa as l}from"../chunk-epvpmakp.js";import{Ri as e,Si as i,Ui as t,Vi as r,Wi as o,Xi as n,Yi as a,Zi as s}from"../chunk-pfm9ngch.js";import"../chunk-ay8nat73.js";export{o as setActiveLocale,r as seedDictionaries,t as preloadDictionaries,d as localeStrings,i as loadDictionary,n as getActiveLocale,e as dictionaryRegistrationMark,c as dictionaryLocales,l as dictionaryId,y as defineDictionary,s as createDictionarySink,a as __resetDictionaryRegistry,p as __gemi_dict__};
2
+ import{ca as y,da as p}from"../chunk-crnfxn9n.js";import{ua as c,va as d,xa as l}from"../chunk-epvpmakp.js";import{Lj as e,Mj as i,Oj as t,Pj as r,Qj as o,Rj as n,Sj as a,Tj as s}from"../chunk-ex41d03h.js";import"../chunk-hxn0s3zh.js";export{o as setActiveLocale,r as seedDictionaries,t as preloadDictionaries,d as localeStrings,i as loadDictionary,n as getActiveLocale,e as dictionaryRegistrationMark,c as dictionaryLocales,l as dictionaryId,y as defineDictionary,s as createDictionarySink,a as __resetDictionaryRegistry,p as __gemi_dict__};
3
3
 
4
- //# debugId=D4035B4244D7745464756E2164756E21
4
+ //# debugId=45D78AF79E40DBB164756E2164756E21
@@ -4,6 +4,6 @@
4
4
  "sourcesContent": [
5
5
  ],
6
6
  "mappings": "",
7
- "debugId": "D4035B4244D7745464756E2164756E21",
7
+ "debugId": "45D78AF79E40DBB164756E2164756E21",
8
8
  "names": []
9
9
  }
@@ -1,4 +1,4 @@
1
1
  // @bun
2
- import{ca as T}from"../chunk-vwnd4jb5.js";import"../chunk-epvpmakp.js";import{ab as D}from"../chunk-tazvfppr.js";import{Wc as b,Xc as w}from"../chunk-zjej5vqh.js";import"../chunk-30xxc6r7.js";import{Dd as j}from"../chunk-gvp6brdt.js";import"../chunk-w61sphn5.js";import"../chunk-s5jxc63j.js";import"../chunk-z23h4s1a.js";import"../chunk-n1a2zj5z.js";import"../chunk-kc924zjz.js";import"../chunk-ebx5hnqn.js";import"../chunk-nvngb4ed.js";import"../chunk-96a1459v.js";import"../chunk-1f1sb3w7.js";import"../chunk-73v34hw8.js";import"../chunk-2vc72qez.js";import"../chunk-mxbtcaed.js";import"../chunk-pfm9ngch.js";import{ej as V,fj as X,gj as E,hj as L,ij as R,jj as S}from"../chunk-q1e3q01h.js";import"../chunk-hnrzm5pf.js";import"../chunk-kzstewtm.js";import"../chunk-dmj6ysym.js";import"../chunk-eevna943.js";import"../chunk-1kdga1b2.js";import"../chunk-rkgsvsrj.js";import"../chunk-ay8nat73.js";import{createElement as J,Fragment as M,isValidElement as U}from"react";function $(q,B){let G=Object.values(B).some((z)=>typeof z==="function"&&U(z(""))),Q=/{{([^{}]+?)(?::([^{}\[\]]+?))?(?:\[(.*?)\])?}}/g;if(!G)return q.replace(Q,(W,O,_,Z)=>{let C=O.includes(":")?O.split(":")[0]:O,H=B[C];if(H===void 0)return W;if(typeof H==="function"){let K=H(Z!==void 0?Z:"");if(U(K))throw Error("JSX returned in string context");return String(K)}if(_)switch(_.toLowerCase()){case"number":return Number(H).toString();case"string":return String(H);case"boolean":return Boolean(H).toString();default:return String(H)}return String(H)});else{let z=[],W=0,O=null;while((O=Q.exec(q))!==null){let[_,Z,C,H]=O,F=O.index,K=Z.includes(":")?Z.split(":")[0]:Z;if(F>W)z.push(q.substring(W,F));let Y=B[K];if(Y===void 0)z.push(_);else if(typeof Y==="function"){let A=Y(H!==void 0?H:"");z.push(A)}else if(C)switch(C.toLowerCase()){case"number":z.push(Number(Y).toString());break;case"string":z.push(String(Y));break;case"boolean":z.push(Boolean(Y).toString());break;default:z.push(String(Y))}else z.push(String(Y));W=F+_.length}if(W<q.length)z.push(q.substring(W));return J(M,{},...z)}}class P{name;dictionary;constructor(q,B){this.name=q;this.dictionary=B}reference(q){if(typeof window<"u")throw Error("Cannot use reference in the browser");if(!this.dictionary?.[q])throw Error(`Translation not found for ${String(q)}`);return this.dictionary[q]}render(q,...B){let{locale:G=j.locale(),params:Q}={params:{},...B[0]};if(typeof window<"u")throw Error("Cannot use render in the browser");if(!this.dictionary?.[q]?.[G])throw Error(`Translation not found for ${String(q)} in ${String(G)}`);return $(this.dictionary[q][G],Q??{})}static create(q,B){return new P(q,B)}static text(q,...B){let{locale:G=j.locale(),params:Q}={params:{},...B?.[0]};if(!q?.[G])throw Error(`Translation not found for ${String(G)}`);return $(q[G],Q??{})}}async function N(q,B,...G){let{locale:Q=j.locale(),params:z}={params:{},...G[0]},O=(await q.load(String(Q)))[B];if(typeof O!=="string")throw Error(`Translation not found for "${B}" in "${String(Q)}" (dictionary ${q.id})`);return $(O,z??{})}export{w as translationConfigDefaults,N as translate,V as resolveLocale,X as negotiateLocale,L as isValidTimeZone,b as defineTranslationConfig,T as defineDictionary,R as createFormatter,S as Translator,D as TranslationServiceProvider,P as Dictionary,E as DEFAULT_TIME_ZONE};
2
+ import{ca as T}from"../chunk-crnfxn9n.js";import"../chunk-epvpmakp.js";import{ab as D}from"../chunk-1xmh61fg.js";import{Jd as b,Kd as w}from"../chunk-jykkqwcy.js";import"../chunk-rmgkc3a2.js";import{Fe as j}from"../chunk-eyptwf54.js";import"../chunk-3kxe9geg.js";import"../chunk-cwt8e782.js";import"../chunk-6wgh7nk6.js";import"../chunk-erzfs4t2.js";import"../chunk-tabsxzg9.js";import"../chunk-rvspb96n.js";import"../chunk-y9f2see3.js";import"../chunk-ap3g6rbw.js";import"../chunk-entpqjyn.js";import"../chunk-rany5zgk.js";import"../chunk-sv125fqq.js";import"../chunk-vhvvjaj3.js";import"../chunk-npbf06c1.js";import"../chunk-ex41d03h.js";import{$j as X,_j as V,ak as E,bk as L,ck as R,dk as S}from"../chunk-kcsa57km.js";import"../chunk-6gwxvmjv.js";import"../chunk-rwmja4zs.js";import"../chunk-xe2pm36q.js";import"../chunk-z5nfve1k.js";import"../chunk-yhht1j7f.js";import"../chunk-xfvegbxn.js";import"../chunk-hxn0s3zh.js";import{createElement as J,Fragment as M,isValidElement as U}from"react";function $(q,B){let G=Object.values(B).some((z)=>typeof z==="function"&&U(z(""))),Q=/{{([^{}]+?)(?::([^{}\[\]]+?))?(?:\[(.*?)\])?}}/g;if(!G)return q.replace(Q,(W,O,_,Z)=>{let C=O.includes(":")?O.split(":")[0]:O,H=B[C];if(H===void 0)return W;if(typeof H==="function"){let K=H(Z!==void 0?Z:"");if(U(K))throw Error("JSX returned in string context");return String(K)}if(_)switch(_.toLowerCase()){case"number":return Number(H).toString();case"string":return String(H);case"boolean":return Boolean(H).toString();default:return String(H)}return String(H)});else{let z=[],W=0,O=null;while((O=Q.exec(q))!==null){let[_,Z,C,H]=O,F=O.index,K=Z.includes(":")?Z.split(":")[0]:Z;if(F>W)z.push(q.substring(W,F));let Y=B[K];if(Y===void 0)z.push(_);else if(typeof Y==="function"){let A=Y(H!==void 0?H:"");z.push(A)}else if(C)switch(C.toLowerCase()){case"number":z.push(Number(Y).toString());break;case"string":z.push(String(Y));break;case"boolean":z.push(Boolean(Y).toString());break;default:z.push(String(Y))}else z.push(String(Y));W=F+_.length}if(W<q.length)z.push(q.substring(W));return J(M,{},...z)}}class P{name;dictionary;constructor(q,B){this.name=q;this.dictionary=B}reference(q){if(typeof window<"u")throw Error("Cannot use reference in the browser");if(!this.dictionary?.[q])throw Error(`Translation not found for ${String(q)}`);return this.dictionary[q]}render(q,...B){let{locale:G=j.locale(),params:Q}={params:{},...B[0]};if(typeof window<"u")throw Error("Cannot use render in the browser");if(!this.dictionary?.[q]?.[G])throw Error(`Translation not found for ${String(q)} in ${String(G)}`);return $(this.dictionary[q][G],Q??{})}static create(q,B){return new P(q,B)}static text(q,...B){let{locale:G=j.locale(),params:Q}={params:{},...B?.[0]};if(!q?.[G])throw Error(`Translation not found for ${String(G)}`);return $(q[G],Q??{})}}async function N(q,B,...G){let{locale:Q=j.locale(),params:z}={params:{},...G[0]},O=(await q.load(String(Q)))[B];if(typeof O!=="string")throw Error(`Translation not found for "${B}" in "${String(Q)}" (dictionary ${q.id})`);return $(O,z??{})}export{w as translationConfigDefaults,N as translate,V as resolveLocale,X as negotiateLocale,L as isValidTimeZone,b as defineTranslationConfig,T as defineDictionary,R as createFormatter,S as Translator,D as TranslationServiceProvider,P as Dictionary,E as DEFAULT_TIME_ZONE};
3
3
 
4
- //# debugId=A3E485E09D659A8E64756E2164756E21
4
+ //# debugId=38F9DF018F5F003664756E2164756E21
@@ -6,7 +6,7 @@
6
6
  "// The module, not the `../facades` barrel. A dictionary is the one server-side\n// artifact a *component* test has to import — `<Page dictionaries={[…]}>` takes\n// the app's real `app/i18n/index.ts` — and the barrel drags the whole facade\n// set in behind it, including `Redis` and its `import { RedisClient } from\n// \"bun\"`. Under a browser-targeted runner (vitest/jsdom) that specifier does\n// not resolve, so importing the app's dictionaries failed to collect before it\n// rendered anything. `Lang` itself only needs the translator and the request\n// context.\nimport { Lang } from \"../facades/Lang\";\nimport { parseTranslation } from \"../utils/parseTranslation\";\nimport type {\n ParseTranslationParams,\n ParseTranslationParamsServer,\n Prettify,\n} from \"../utils/type\";\n\ntype Translations = Record<string, Record<string, string>>;\n\nexport class Dictionary<T extends Translations> {\n constructor(\n public name: string,\n public dictionary: T,\n ) {}\n\n reference(key: keyof T) {\n if (typeof window !== \"undefined\") {\n throw new Error(\"Cannot use reference in the browser\");\n }\n if (!this.dictionary?.[key]) {\n throw new Error(`Translation not found for ${String(key)}`);\n }\n return this.dictionary[key];\n }\n\n render<\n K extends keyof T,\n U extends keyof T[K],\n R = Prettify<ParseTranslationParams<T[K][U]>>,\n >(\n key: K,\n ...args: R extends Record<string, never>\n ? [args?: { locale?: U | (string & {}) }]\n : [args: { locale?: U | (string & {}); params: R }]\n ) {\n const { locale = Lang.locale(), params } = {\n params: {},\n ...args[0],\n };\n\n if (typeof window !== \"undefined\") {\n throw new Error(\"Cannot use render in the browser\");\n }\n\n if (!this.dictionary?.[key]?.[locale]) {\n throw new Error(\n `Translation not found for ${String(key)} in ${String(locale)}`,\n );\n }\n return parseTranslation(this.dictionary[key][locale], params ?? {});\n }\n\n /**\n * @deprecated Use `defineDictionary` from `gemi/client`, declared next to the\n * component that reads it. A dictionary made here has to be re-exported from\n * `app/i18n/index.ts` and listed against a route in the `prefetch` config,\n * and every locale of it stays resident whether a page uses it or not. Still\n * supported; see `docs/i18n.md`.\n */\n static create<const T extends Translations>(name: string, translations: T) {\n return new Dictionary<T>(name, translations);\n }\n\n static text<const T extends Record<string, string>, U extends keyof T>(\n content: T,\n ...args: Prettify<ParseTranslationParamsServer<T[U]>> extends Record<\n string,\n never\n >\n ? [args?: { locale?: U | (string & {}) }]\n : [\n args: {\n locale?: U | (string & {});\n params: Prettify<ParseTranslationParamsServer<T[U]>>;\n },\n ]\n ): string {\n const { locale = Lang.locale(), params } = { params: {}, ...args?.[0] };\n\n if (!content?.[locale]) {\n throw new Error(`Translation not found for ${String(locale)}`);\n }\n\n return parseTranslation(content[locale], params ?? {});\n }\n}\n",
7
7
  "import { Lang } from \"../facades\";\nimport { parseTranslation } from \"../utils/parseTranslation\";\nimport type { ParseTranslationParamsServer, Prettify } from \"../utils/type\";\nimport type { DictionaryHandle } from \"./defineDictionary\";\nimport type { DictionaryTranslations } from \"./dictionaryShape\";\n\n/**\n * Read one string from a `defineDictionary` dictionary outside React — a\n * controller, a job, an email template.\n *\n * Async because a bundled dictionary loads its locale on demand. Server code\n * does not go through the bundler, so in practice this resolves without ever\n * yielding; the `await` is what makes the same call work either way.\n *\n * Kept out of `defineDictionary.ts` on purpose: that module is imported by\n * components and has to stay free of the server facades this one needs.\n */\nexport async function translate<\n T extends DictionaryTranslations,\n K extends keyof T & string,\n U extends keyof T[K],\n R = Prettify<ParseTranslationParamsServer<T[K][U] & string>>,\n>(\n dictionary: DictionaryHandle<T>,\n key: K,\n ...args: R extends Record<string, never>\n ? [args?: { locale?: U | (string & {}) }]\n : [args: { locale?: U | (string & {}); params: R }]\n): Promise<string> {\n const { locale = Lang.locale(), params } = { params: {}, ...args[0] };\n const strings = await dictionary.load(String(locale));\n const template = strings[key];\n\n if (typeof template !== \"string\") {\n throw new Error(\n `Translation not found for \"${key}\" in \"${String(locale)}\" (dictionary ${dictionary.id})`,\n );\n }\n\n return parseTranslation(template, (params ?? {}) as any) as string;\n}\n"
8
8
  ],
9
- "mappings": "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",
10
- "debugId": "A3E485E09D659A8E64756E2164756E21",
9
+ "mappings": "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",
10
+ "debugId": "38F9DF018F5F003664756E2164756E21",
11
11
  "names": []
12
12
  }
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{Ea as B}from"../chunk-h76mddt3.js";import{$a as R}from"../chunk-6pxavyh3.js";import{ab as E}from"../chunk-tazvfppr.js";import{Ab as L,Bb as Q,Fb as T,Gb as U,Hb as y,Ib as C,Lb as F,Mb as D,Pb as I,Sb as b,Tb as f,mb as A,nb as W,ob as _,pb as g,qb as p,rb as l,sb as $,tb as V,ub as q,vb as H,zb as K}from"../chunk-39dx7xrz.js";import"../chunk-d0wr9jk4.js";import"../chunk-enta97jb.js";import"../chunk-675kzd7z.js";import{Rc as h}from"../chunk-08fcqny0.js";import"../chunk-zjej5vqh.js";import"../chunk-30xxc6r7.js";import{$e as w,We as m,_e as M,qd as S,rd as s,ud as a,vd as d}from"../chunk-gvp6brdt.js";import"../chunk-w61sphn5.js";import"../chunk-s5jxc63j.js";import"../chunk-z23h4s1a.js";import"../chunk-n1a2zj5z.js";import"../chunk-kc924zjz.js";import"../chunk-ebx5hnqn.js";import{vh as k}from"../chunk-nvngb4ed.js";import"../chunk-96a1459v.js";import"../chunk-1f1sb3w7.js";import"../chunk-73v34hw8.js";import"../chunk-2vc72qez.js";import"../chunk-mxbtcaed.js";import"../chunk-pfm9ngch.js";import"../chunk-fyk07w01.js";import"../chunk-q1e3q01h.js";import{kj as O,mj as z}from"../chunk-hnrzm5pf.js";import"../chunk-kzstewtm.js";import"../chunk-dmj6ysym.js";import"../chunk-eevna943.js";import"../chunk-1kdga1b2.js";import"../chunk-rkgsvsrj.js";import"../chunk-ay8nat73.js";var N=[C,D,B,Q,K,f,q,L,F,U,_,T,b,y,E,I,H,V,$];class P{config={};providers=[];services=[];serviceInstances=[];serviceTokens=new Set;servicesBooted=!1;models=[];app=new z;boot(){if(this.models.length>0)R(...this.models);else u();this.app.config.merge(this.config),z.setInstance(this.app),this.app.registerMany([...N,...this.providers]),this.registerServices()}registerServices(){let j=this.serviceTokens;this.serviceInstances=[],this.serviceTokens=new Set,this.servicesBooted=!1;let X=new Map;for(let G of this.services){let J=typeof G==="function"?new G:G,x=J.constructor;if(!x.token)throw Error(`Service [${x.name}] is listed in \`services\` but does not declare a \`static token\`.`);let Y=X.get(x.token);if(Y)throw Error(`Services [${Y}] and [${x.name}] both declare the token "${x.token}". Tokens are the container's keys, so they must be unique.`);X.set(x.token,x.name);let Z=x;if(!j.has(x.token)&&this.app.bound(Z))throw Error(`Service [${x.name}] declares the token "${x.token}", which is already bound in the container by the framework or a provider. Binding it would replace that service everywhere, so pick a token nothing else owns.`);this.app.instance(Z,J),this.serviceInstances.push(J),this.serviceTokens.add(x.token)}}async waitForBoot(){await this.app.boot(),await this.bootServices(),g(this.app)}async bootServices(){if(this.servicesBooted)return;for(let j of this.serviceInstances)await j.boot();this.servicesBooted=!0}shutdown(j){return this.run(()=>this.app.shutdown(j))}run(j){return O.run(this.app,j)}resolve(j){return this.app.make(j)}apiRoutes(){return this.app.make(M)}viewRoutes(){return this.app.make(m)}domains(){return this.app.make(w)}queue(){return this.app.make(h)}mcpHttp(){return this.app.config.get("route.mcp.remote.enabled")===!0?this.app.make(A):null}sockets(){return this.app.config.get("route.channels")?this.app.make(l):null}globalMiddleware(j){return p(j)}destroy(){if(this.app.resolved(W))this.app.make(W).stop();if(this.app.flush(),z.getInstance()===this.app)z.setInstance(void 0);O.disable()}}function u(){if(Bun.env.NODE_ENV==="production")return;let j=k();if(j.length===0)return;console.warn(`[gemi] ${j.length} model${j.length===1?" is":"s are"} registered, but Kernel.models is empty.
2
+ import{Ea as B}from"../chunk-t2t63wa0.js";import{$a as h}from"../chunk-r923001x.js";import{ab as E}from"../chunk-1xmh61fg.js";import{Ab as K,Bb as L,Cb as Q,Gb as T,Hb as U,Ib as y,Jb as C,Mb as F,Nb as D,Qb as I,Tb as b,Ub as f,nb as R,ob as W,pb as _,qb as g,rb as p,sb as l,tb as $,ub as V,vb as q,wb as H}from"../chunk-b4x1dt3s.js";import"../chunk-7vrrgxwm.js";import"../chunk-mmqnq1qh.js";import"../chunk-t6qpm2j7.js";import{Dd as A}from"../chunk-h8w9mzjj.js";import"../chunk-jykkqwcy.js";import"../chunk-rmgkc3a2.js";import{Lf as m,Pf as M,Qf as w,de as S,ee as s,we as a,xe as d}from"../chunk-eyptwf54.js";import"../chunk-3kxe9geg.js";import"../chunk-cwt8e782.js";import"../chunk-6wgh7nk6.js";import"../chunk-erzfs4t2.js";import"../chunk-tabsxzg9.js";import"../chunk-rvspb96n.js";import{oi as k}from"../chunk-y9f2see3.js";import"../chunk-ap3g6rbw.js";import"../chunk-entpqjyn.js";import"../chunk-rany5zgk.js";import"../chunk-sv125fqq.js";import"../chunk-vhvvjaj3.js";import"../chunk-npbf06c1.js";import"../chunk-ex41d03h.js";import"../chunk-0x1s02r1.js";import"../chunk-kcsa57km.js";import{ek as O,gk as z}from"../chunk-6gwxvmjv.js";import"../chunk-rwmja4zs.js";import"../chunk-xe2pm36q.js";import"../chunk-z5nfve1k.js";import"../chunk-yhht1j7f.js";import"../chunk-xfvegbxn.js";import"../chunk-hxn0s3zh.js";var N=[C,D,B,Q,K,f,q,L,F,U,_,T,b,y,E,I,H,V,$];class P{config={};providers=[];services=[];serviceInstances=[];serviceTokens=new Set;servicesBooted=!1;models=[];app=new z;boot(){if(this.models.length>0)h(...this.models);else u();this.app.config.merge(this.config),z.setInstance(this.app),this.app.registerMany([...N,...this.providers]),this.registerServices()}registerServices(){let j=this.serviceTokens;this.serviceInstances=[],this.serviceTokens=new Set,this.servicesBooted=!1;let X=new Map;for(let G of this.services){let J=typeof G==="function"?new G:G,x=J.constructor;if(!x.token)throw Error(`Service [${x.name}] is listed in \`services\` but does not declare a \`static token\`.`);let Y=X.get(x.token);if(Y)throw Error(`Services [${Y}] and [${x.name}] both declare the token "${x.token}". Tokens are the container's keys, so they must be unique.`);X.set(x.token,x.name);let Z=x;if(!j.has(x.token)&&this.app.bound(Z))throw Error(`Service [${x.name}] declares the token "${x.token}", which is already bound in the container by the framework or a provider. Binding it would replace that service everywhere, so pick a token nothing else owns.`);this.app.instance(Z,J),this.serviceInstances.push(J),this.serviceTokens.add(x.token)}}async waitForBoot(){await this.app.boot(),await this.bootServices(),g(this.app)}async bootServices(){if(this.servicesBooted)return;for(let j of this.serviceInstances)await j.boot();this.servicesBooted=!0}shutdown(j){return this.run(()=>this.app.shutdown(j))}run(j){return O.run(this.app,j)}resolve(j){return this.app.make(j)}apiRoutes(){return this.app.make(M)}viewRoutes(){return this.app.make(m)}domains(){return this.app.make(w)}queue(){return this.app.make(A)}mcpHttp(){return this.app.config.get("route.mcp.remote.enabled")===!0?this.app.make(R):null}sockets(){return this.app.config.get("route.channels")?this.app.make(l):null}globalMiddleware(j){return p(j)}destroy(){if(this.app.resolved(W))this.app.make(W).stop();if(this.app.flush(),z.getInstance()===this.app)z.setInstance(void 0);O.disable()}}function u(){if(Bun.env.NODE_ENV==="production")return;let j=k();if(j.length===0)return;console.warn(`[gemi] ${j.length} model${j.length===1?" is":"s are"} registered, but Kernel.models is empty.
3
3
  Nested relation reads resolve a model by name, so a policy on a subclass that does not own its
4
4
  `+" name is skipped inside every include \u2014 scoped at the root, "+`unscoped in an include, with nothing
5
5
  to notice it. Declaring the modules registers each class under its own name and audits the set:
@@ -13,4 +13,4 @@ import{Ea as B}from"../chunk-h76mddt3.js";import{$a as R}from"../chunk-6pxavyh3.
13
13
 
14
14
  See docs/orm.md#your-model-class. Development only; this never prints in production.`)}export{s as oneTimeSecretMatches,S as hashOneTimeSecret,N as frameworkProviders,d as UserProvider,a as SESSION_SELECT,P as Kernel};
15
15
 
16
- //# debugId=5F78C9199CF6D94364756E2164756E21
16
+ //# debugId=4DBA6516D8A1F70464756E2164756E21