gemi 0.113.0 → 0.115.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 (238) hide show
  1. package/dist/ai/index.js +32 -32
  2. package/dist/ai/index.js.map +3 -5
  3. package/dist/app/App.d.ts.map +1 -1
  4. package/dist/app/index.js +1 -1
  5. package/dist/bin/gemi.js +8 -1
  6. package/dist/bin/gemi.js.map +3 -3
  7. package/dist/bun/plugin.js +1 -1
  8. package/dist/bun/preload.js +1 -1
  9. package/dist/{chunk-1p85fdrk.js → chunk-0av6xvm6.js} +2 -2
  10. package/dist/{chunk-1p85fdrk.js.map → chunk-0av6xvm6.js.map} +1 -1
  11. package/dist/chunk-0z8ejxre.js +5 -0
  12. package/dist/chunk-0z8ejxre.js.map +12 -0
  13. package/dist/{chunk-r7b12dmm.js → chunk-15c2vgaf.js} +2 -2
  14. package/dist/{chunk-r7b12dmm.js.map → chunk-15c2vgaf.js.map} +1 -1
  15. package/dist/{chunk-fr0arqdj.js → chunk-1hr4xht1.js} +2 -2
  16. package/dist/{chunk-fr0arqdj.js.map → chunk-1hr4xht1.js.map} +1 -1
  17. package/dist/{chunk-4t1pbt9p.js → chunk-1myhm0g3.js} +3 -3
  18. package/dist/{chunk-4t1pbt9p.js.map → chunk-1myhm0g3.js.map} +1 -1
  19. package/dist/{chunk-v4gwmhtf.js → chunk-1vzks22y.js} +2 -2
  20. package/dist/{chunk-v4gwmhtf.js.map → chunk-1vzks22y.js.map} +1 -1
  21. package/dist/{chunk-vzf5pbx3.js → chunk-2tzm58j3.js} +2 -2
  22. package/dist/{chunk-vzf5pbx3.js.map → chunk-2tzm58j3.js.map} +1 -1
  23. package/dist/{chunk-qx87cdfg.js → chunk-2z1981d0.js} +2 -2
  24. package/dist/{chunk-qx87cdfg.js.map → chunk-2z1981d0.js.map} +1 -1
  25. package/dist/{chunk-mepaedy5.js → chunk-3hrj5rwm.js} +2 -2
  26. package/dist/{chunk-mepaedy5.js.map → chunk-3hrj5rwm.js.map} +1 -1
  27. package/dist/{chunk-rh2fad7n.js → chunk-41da9628.js} +1 -1
  28. package/dist/{chunk-5q4a7yqf.js → chunk-56jky6vf.js} +2 -2
  29. package/dist/{chunk-5q4a7yqf.js.map → chunk-56jky6vf.js.map} +1 -1
  30. package/dist/{chunk-5x0aacrn.js → chunk-785b41h1.js} +2 -2
  31. package/dist/{chunk-5x0aacrn.js.map → chunk-785b41h1.js.map} +1 -1
  32. package/dist/{chunk-nysqgzp1.js → chunk-7g9yh5ae.js} +2 -2
  33. package/dist/{chunk-nysqgzp1.js.map → chunk-7g9yh5ae.js.map} +1 -1
  34. package/dist/{chunk-g8kx549d.js → chunk-7vb4eey2.js} +3 -3
  35. package/dist/{chunk-g8kx549d.js.map → chunk-7vb4eey2.js.map} +1 -1
  36. package/dist/{chunk-szr1k584.js → chunk-8rv62v14.js} +2 -2
  37. package/dist/{chunk-szr1k584.js.map → chunk-8rv62v14.js.map} +1 -1
  38. package/dist/{chunk-68s1f5d5.js → chunk-98m15b9x.js} +2 -2
  39. package/dist/{chunk-68s1f5d5.js.map → chunk-98m15b9x.js.map} +1 -1
  40. package/dist/{chunk-y596ghpz.js → chunk-9b4erdy2.js} +2 -2
  41. package/dist/{chunk-y596ghpz.js.map → chunk-9b4erdy2.js.map} +1 -1
  42. package/dist/{chunk-rg4hhxj3.js → chunk-9n1hx3mq.js} +2 -2
  43. package/dist/{chunk-rg4hhxj3.js.map → chunk-9n1hx3mq.js.map} +1 -1
  44. package/dist/{chunk-9tpx9ag3.js → chunk-aazmrxj9.js} +2 -2
  45. package/dist/{chunk-9tpx9ag3.js.map → chunk-aazmrxj9.js.map} +1 -1
  46. package/dist/{chunk-01qd6xx3.js → chunk-aeh67ynz.js} +3 -3
  47. package/dist/{chunk-01qd6xx3.js.map → chunk-aeh67ynz.js.map} +1 -1
  48. package/dist/{chunk-5nqkwa2w.js → chunk-agyfv3f8.js} +1 -1
  49. package/dist/{chunk-sr18y2ck.js → chunk-bra1a1fq.js} +2 -2
  50. package/dist/{chunk-sr18y2ck.js.map → chunk-bra1a1fq.js.map} +1 -1
  51. package/dist/{chunk-y6v0x869.js → chunk-cbqazg9k.js} +2 -2
  52. package/dist/{chunk-y6v0x869.js.map → chunk-cbqazg9k.js.map} +1 -1
  53. package/dist/{chunk-k2fh4r0p.js → chunk-d2gfcf85.js} +2 -2
  54. package/dist/{chunk-k2fh4r0p.js.map → chunk-d2gfcf85.js.map} +1 -1
  55. package/dist/chunk-d6591xck.js +46 -0
  56. package/dist/{chunk-6g20zec2.js.map → chunk-d6591xck.js.map} +6 -6
  57. package/dist/{chunk-fnkjmq94.js → chunk-d9mar37g.js} +2 -2
  58. package/dist/{chunk-fnkjmq94.js.map → chunk-d9mar37g.js.map} +1 -1
  59. package/dist/chunk-dexdkh3z.js +14 -0
  60. package/dist/{chunk-cqnfp0n9.js.map → chunk-dexdkh3z.js.map} +7 -7
  61. package/dist/{chunk-bq5nqqeq.js → chunk-e573yxpq.js} +1 -1
  62. package/dist/{chunk-p3zmc8k8.js → chunk-eqse2m6n.js} +2 -2
  63. package/dist/{chunk-p3zmc8k8.js.map → chunk-eqse2m6n.js.map} +1 -1
  64. package/dist/{chunk-yyzexrnb.js → chunk-er3wf6ng.js} +2 -2
  65. package/dist/{chunk-yyzexrnb.js.map → chunk-er3wf6ng.js.map} +1 -1
  66. package/dist/{chunk-3f1kq32g.js → chunk-fre6f4nk.js} +2 -2
  67. package/dist/{chunk-3f1kq32g.js.map → chunk-fre6f4nk.js.map} +1 -1
  68. package/dist/{chunk-qt8nvpqp.js → chunk-fxgxf16k.js} +2 -2
  69. package/dist/{chunk-qt8nvpqp.js.map → chunk-fxgxf16k.js.map} +1 -1
  70. package/dist/{chunk-6wymbbes.js → chunk-gts5p6mw.js} +3 -3
  71. package/dist/{chunk-6wymbbes.js.map → chunk-gts5p6mw.js.map} +1 -1
  72. package/dist/{chunk-571rvxe6.js → chunk-hdps9n52.js} +2 -2
  73. package/dist/{chunk-571rvxe6.js.map → chunk-hdps9n52.js.map} +1 -1
  74. package/dist/{chunk-w45agtch.js → chunk-hytt9qyj.js} +2 -2
  75. package/dist/{chunk-w45agtch.js.map → chunk-hytt9qyj.js.map} +1 -1
  76. package/dist/{chunk-de03dewf.js → chunk-jafm3613.js} +2 -2
  77. package/dist/{chunk-de03dewf.js.map → chunk-jafm3613.js.map} +1 -1
  78. package/dist/{chunk-dbwhgyg3.js → chunk-jdhdrr2k.js} +2 -2
  79. package/dist/{chunk-dbwhgyg3.js.map → chunk-jdhdrr2k.js.map} +1 -1
  80. package/dist/{chunk-d04r0hdf.js → chunk-jmpw6bqz.js} +2 -2
  81. package/dist/{chunk-d04r0hdf.js.map → chunk-jmpw6bqz.js.map} +1 -1
  82. package/dist/{chunk-vwprq300.js → chunk-kejwjerj.js} +2 -2
  83. package/dist/{chunk-vwprq300.js.map → chunk-kejwjerj.js.map} +1 -1
  84. package/dist/{chunk-wr3e4sez.js → chunk-kqxdsv22.js} +2 -2
  85. package/dist/{chunk-wr3e4sez.js.map → chunk-kqxdsv22.js.map} +1 -1
  86. package/dist/{chunk-9vsj0ksk.js → chunk-ktr3k768.js} +3 -3
  87. package/dist/{chunk-9vsj0ksk.js.map → chunk-ktr3k768.js.map} +1 -1
  88. package/dist/{chunk-kz4yp5n7.js → chunk-m54s6jpr.js} +2 -2
  89. package/dist/{chunk-8mbyyh8j.js.map → chunk-m54s6jpr.js.map} +1 -1
  90. package/dist/{chunk-xqwdn9kb.js → chunk-mazznq15.js} +3 -3
  91. package/dist/{chunk-xqwdn9kb.js.map → chunk-mazznq15.js.map} +1 -1
  92. package/dist/{chunk-zng3qexn.js → chunk-mps6ynbh.js} +2 -2
  93. package/dist/{chunk-zng3qexn.js.map → chunk-mps6ynbh.js.map} +1 -1
  94. package/dist/{chunk-vdwagp7y.js → chunk-mqfzdfnz.js} +2 -2
  95. package/dist/{chunk-vdwagp7y.js.map → chunk-mqfzdfnz.js.map} +1 -1
  96. package/dist/{chunk-mk0rtgd1.js → chunk-mschc94q.js} +2 -2
  97. package/dist/{chunk-mk0rtgd1.js.map → chunk-mschc94q.js.map} +1 -1
  98. package/dist/{chunk-x5yq097b.js → chunk-mtbygktb.js} +3 -3
  99. package/dist/{chunk-x5yq097b.js.map → chunk-mtbygktb.js.map} +1 -1
  100. package/dist/{chunk-f1y8eggf.js → chunk-n672d4g8.js} +2 -2
  101. package/dist/{chunk-f1y8eggf.js.map → chunk-n672d4g8.js.map} +1 -1
  102. package/dist/{chunk-4tp2cr02.js → chunk-pyk3gzvc.js} +2 -2
  103. package/dist/{chunk-4tp2cr02.js.map → chunk-pyk3gzvc.js.map} +1 -1
  104. package/dist/{chunk-agw3anaf.js → chunk-qjhw8nje.js} +1 -1
  105. package/dist/{chunk-vqa3agzw.js → chunk-qsrcdzan.js} +3 -3
  106. package/dist/{chunk-vqa3agzw.js.map → chunk-qsrcdzan.js.map} +1 -1
  107. package/dist/{chunk-nksn6xcd.js → chunk-sr942vb1.js} +2 -2
  108. package/dist/{chunk-nksn6xcd.js.map → chunk-sr942vb1.js.map} +1 -1
  109. package/dist/{chunk-kexsfyjj.js → chunk-t04f3akb.js} +2 -2
  110. package/dist/{chunk-kexsfyjj.js.map → chunk-t04f3akb.js.map} +1 -1
  111. package/dist/chunk-t24p7gc6.js +5 -0
  112. package/dist/{chunk-fsfbyg5e.js.map → chunk-t24p7gc6.js.map} +1 -1
  113. package/dist/chunk-t4t3hqe0.js +10 -0
  114. package/dist/chunk-t4t3hqe0.js.map +38 -0
  115. package/dist/{chunk-z5hrymvn.js → chunk-t4yh4nf9.js} +3 -3
  116. package/dist/{chunk-z5hrymvn.js.map → chunk-t4yh4nf9.js.map} +1 -1
  117. package/dist/{chunk-c7mp2kyp.js → chunk-tn2bryy2.js} +2 -2
  118. package/dist/{chunk-c7mp2kyp.js.map → chunk-tn2bryy2.js.map} +1 -1
  119. package/dist/chunk-tw5kwbx4.js +4 -0
  120. package/dist/{chunk-kp7k4s5c.js.map → chunk-tw5kwbx4.js.map} +3 -3
  121. package/dist/{chunk-zyer1g7k.js → chunk-tzm3c7n6.js} +4 -4
  122. package/dist/{chunk-zyer1g7k.js.map → chunk-tzm3c7n6.js.map} +1 -1
  123. package/dist/{chunk-1se4t9rg.js → chunk-vbdty91k.js} +3 -3
  124. package/dist/{chunk-1se4t9rg.js.map → chunk-vbdty91k.js.map} +1 -1
  125. package/dist/{chunk-8mbyyh8j.js → chunk-vw8849ys.js} +2 -2
  126. package/dist/{chunk-kz4yp5n7.js.map → chunk-vw8849ys.js.map} +1 -1
  127. package/dist/{chunk-g8sc6scv.js → chunk-vxm6yevm.js} +2 -2
  128. package/dist/{chunk-g8sc6scv.js.map → chunk-vxm6yevm.js.map} +1 -1
  129. package/dist/{chunk-qpttgn4k.js → chunk-whtzggn6.js} +3 -3
  130. package/dist/{chunk-qpttgn4k.js.map → chunk-whtzggn6.js.map} +1 -1
  131. package/dist/{chunk-7jnpnjth.js → chunk-wyw6p3fg.js} +2 -2
  132. package/dist/{chunk-7jnpnjth.js.map → chunk-wyw6p3fg.js.map} +1 -1
  133. package/dist/{chunk-atmzm0z3.js → chunk-wzrt5mac.js} +2 -2
  134. package/dist/{chunk-atmzm0z3.js.map → chunk-wzrt5mac.js.map} +1 -1
  135. package/dist/{chunk-y6frz1vm.js → chunk-x7cpth2f.js} +1 -1
  136. package/dist/{chunk-essqp1ek.js → chunk-xt9tv99x.js} +2 -2
  137. package/dist/{chunk-essqp1ek.js.map → chunk-xt9tv99x.js.map} +1 -1
  138. package/dist/{chunk-x5sert1k.js → chunk-yhrye9cm.js} +2 -2
  139. package/dist/{chunk-x5sert1k.js.map → chunk-yhrye9cm.js.map} +1 -1
  140. package/dist/{chunk-vc9phr57.js → chunk-zyt2w03d.js} +2 -2
  141. package/dist/{chunk-vc9phr57.js.map → chunk-zyt2w03d.js.map} +1 -1
  142. package/dist/config/index.js +1 -1
  143. package/dist/console/run.js +2 -2
  144. package/dist/console/run.js.map +1 -1
  145. package/dist/container/index.js +2 -2
  146. package/dist/container/index.js.map +1 -1
  147. package/dist/database/index.js +2 -2
  148. package/dist/database/index.js.map +1 -1
  149. package/dist/email/index.js +2 -2
  150. package/dist/email/index.js.map +1 -1
  151. package/dist/facades/Storage.d.ts +25 -1
  152. package/dist/facades/Storage.d.ts.map +1 -1
  153. package/dist/facades/index.js +2 -2
  154. package/dist/facades/index.js.map +1 -1
  155. package/dist/foundation/index.js +2 -2
  156. package/dist/foundation/index.js.map +1 -1
  157. package/dist/http/HttpRequest.d.ts +31 -0
  158. package/dist/http/HttpRequest.d.ts.map +1 -1
  159. package/dist/http/McpRouter.d.ts +54 -1
  160. package/dist/http/McpRouter.d.ts.map +1 -1
  161. package/dist/http/RateLimitMiddleware.d.ts +4 -1
  162. package/dist/http/RateLimitMiddleware.d.ts.map +1 -1
  163. package/dist/http/index.d.ts +1 -0
  164. package/dist/http/index.d.ts.map +1 -1
  165. package/dist/http/index.js +2 -2
  166. package/dist/http/index.js.map +1 -1
  167. package/dist/http/modelOriginated.d.ts +36 -2
  168. package/dist/http/modelOriginated.d.ts.map +1 -1
  169. package/dist/i18n/dictionaryRuntime.js +2 -2
  170. package/dist/i18n/dictionaryRuntime.js.map +1 -1
  171. package/dist/i18n/index.js +2 -2
  172. package/dist/i18n/index.js.map +1 -1
  173. package/dist/kernel/Kernel.d.ts +3 -0
  174. package/dist/kernel/Kernel.d.ts.map +1 -1
  175. package/dist/kernel/index.js +3 -3
  176. package/dist/kernel/index.js.map +3 -3
  177. package/dist/orm/index.js +2 -2
  178. package/dist/orm/index.js.map +1 -1
  179. package/dist/server/index.js +2 -2
  180. package/dist/server/index.js.map +1 -1
  181. package/dist/services/file-storage/drivers/AzureBlobDriver.d.ts +12 -1
  182. package/dist/services/file-storage/drivers/AzureBlobDriver.d.ts.map +1 -1
  183. package/dist/services/file-storage/drivers/FileStorageDriver.d.ts +32 -1
  184. package/dist/services/file-storage/drivers/FileStorageDriver.d.ts.map +1 -1
  185. package/dist/services/file-storage/drivers/FileSystemDriver.d.ts +22 -1
  186. package/dist/services/file-storage/drivers/FileSystemDriver.d.ts.map +1 -1
  187. package/dist/services/file-storage/drivers/S3Driver.d.ts +14 -1
  188. package/dist/services/file-storage/drivers/S3Driver.d.ts.map +1 -1
  189. package/dist/services/file-storage/drivers/types.d.ts +26 -0
  190. package/dist/services/file-storage/drivers/types.d.ts.map +1 -1
  191. package/dist/services/index.d.ts +8 -3
  192. package/dist/services/index.d.ts.map +1 -1
  193. package/dist/services/index.js +44 -9
  194. package/dist/services/index.js.map +8 -5
  195. package/dist/services/mcp/McpRegistry.d.ts +190 -29
  196. package/dist/services/mcp/McpRegistry.d.ts.map +1 -1
  197. package/dist/services/mcp/http/McpHttpServer.d.ts +153 -0
  198. package/dist/services/mcp/http/McpHttpServer.d.ts.map +1 -0
  199. package/dist/services/mcp/http/callers.d.ts +131 -0
  200. package/dist/services/mcp/http/callers.d.ts.map +1 -0
  201. package/dist/services/mcp/http/limits.d.ts +11 -0
  202. package/dist/services/mcp/http/limits.d.ts.map +1 -0
  203. package/dist/services/mcp/http/oauth/McpOAuthServer.d.ts +150 -0
  204. package/dist/services/mcp/http/oauth/McpOAuthServer.d.ts.map +1 -0
  205. package/dist/services/mcp/http/oauth/consentPage.d.ts +14 -0
  206. package/dist/services/mcp/http/oauth/consentPage.d.ts.map +1 -0
  207. package/dist/services/mcp/http/oauth/store.d.ts +98 -0
  208. package/dist/services/mcp/http/oauth/store.d.ts.map +1 -0
  209. package/dist/services/mcp/http/protocol.d.ts +95 -0
  210. package/dist/services/mcp/http/protocol.d.ts.map +1 -0
  211. package/dist/services/mcp/http/signedState.d.ts +25 -0
  212. package/dist/services/mcp/http/signedState.d.ts.map +1 -0
  213. package/dist/services/queue/work.js +2 -2
  214. package/dist/services/queue/work.js.map +1 -1
  215. package/dist/services/router/ApiRouteDispatcher.d.ts +29 -0
  216. package/dist/services/router/ApiRouteDispatcher.d.ts.map +1 -1
  217. package/dist/services/router/RouteServiceProvider.d.ts +6 -0
  218. package/dist/services/router/RouteServiceProvider.d.ts.map +1 -1
  219. package/dist/services/router/config.d.ts +16 -0
  220. package/dist/services/router/config.d.ts.map +1 -1
  221. package/dist/stats/route-table.js +1 -1
  222. package/dist/support/index.js +2 -2
  223. package/dist/support/index.js.map +1 -1
  224. package/dist/vitest/index.js +1 -1
  225. package/package.json +1 -1
  226. package/dist/chunk-3z9vhjd7.js +0 -5
  227. package/dist/chunk-3z9vhjd7.js.map +0 -10
  228. package/dist/chunk-5zzhypmt.js +0 -5
  229. package/dist/chunk-5zzhypmt.js.map +0 -33
  230. package/dist/chunk-6g20zec2.js +0 -46
  231. package/dist/chunk-cqnfp0n9.js +0 -14
  232. package/dist/chunk-fsfbyg5e.js +0 -5
  233. package/dist/chunk-kp7k4s5c.js +0 -4
  234. /package/dist/{chunk-rh2fad7n.js.map → chunk-41da9628.js.map} +0 -0
  235. /package/dist/{chunk-5nqkwa2w.js.map → chunk-agyfv3f8.js.map} +0 -0
  236. /package/dist/{chunk-bq5nqqeq.js.map → chunk-e573yxpq.js.map} +0 -0
  237. /package/dist/{chunk-agw3anaf.js.map → chunk-qjhw8nje.js.map} +0 -0
  238. /package/dist/{chunk-y6frz1vm.js.map → chunk-x7cpth2f.js.map} +0 -0
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{fb as A,gb as l}from"../chunk-z10cas5r.js";import{$b as p,Pb as q,Sb as m}from"../chunk-9vsj0ksk.js";import"../chunk-qx87cdfg.js";import"../chunk-g8kx549d.js";import"../chunk-c7mp2kyp.js";import{Cg as u}from"../chunk-y6v0x869.js";import"../chunk-4t1pbt9p.js";import"../chunk-vwprq300.js";import"../chunk-z5hrymvn.js";import"../chunk-v4gwmhtf.js";import"../chunk-vc9phr57.js";import{Ph as c}from"../chunk-fr0arqdj.js";import"../chunk-8mbyyh8j.js";function F(){let z=Promise.resolve(),M=Promise.resolve(),X=(Q,G)=>new Promise(($)=>{Q.write(G,()=>$())});return{stdout:(Q)=>{z=X(process.stdout,Q)},stderr:(Q)=>{M=X(process.stderr,Q)},flush:async()=>{await Promise.all([z,M])}}}function b(z){let M=z.writers??F();return{args:z.args,options:z.options,argv:z.argv,line:(X="")=>M.stdout(`${X}
2
+ import{fb as A,gb as l}from"../chunk-z10cas5r.js";import{ic as q,lc as m,uc as p}from"../chunk-ktr3k768.js";import"../chunk-2z1981d0.js";import"../chunk-7vb4eey2.js";import"../chunk-tn2bryy2.js";import{_g as u}from"../chunk-cbqazg9k.js";import"../chunk-1myhm0g3.js";import"../chunk-kejwjerj.js";import"../chunk-t4yh4nf9.js";import"../chunk-1vzks22y.js";import"../chunk-zyt2w03d.js";import{li as c}from"../chunk-1hr4xht1.js";import"../chunk-vw8849ys.js";function F(){let z=Promise.resolve(),M=Promise.resolve(),X=(Q,G)=>new Promise(($)=>{Q.write(G,()=>$())});return{stdout:(Q)=>{z=X(process.stdout,Q)},stderr:(Q)=>{M=X(process.stderr,Q)},flush:async()=>{await Promise.all([z,M])}}}function b(z){let M=z.writers??F();return{args:z.args,options:z.options,argv:z.argv,line:(X="")=>M.stdout(`${X}
3
3
  `),error:(X)=>M.stderr(`${X}
4
4
  `),fail:(X,Q=1)=>{throw new q(X,Q)}}}import w from"path";function V(z){return z.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z])([A-Z][a-z])/g,"$1-$2").toLowerCase()}function t(z){let M=new Map,X=new Map;for(let Q of z){M.set(V(Q.name),Q),M.set(Q.name,Q);let G="alias"in Q?Q.alias:void 0;if(G)X.set(G,Q)}return{byName:M,byAlias:X}}function x(z){if(z==="--")return!0;if(!z.startsWith("-"))return!1;if(z==="-")return!1;if(/^-(\d|\.\d)/.test(z))return!1;return!0}function k(z,M){let{byName:X,byAlias:Q}=t(z.options),G=[],$=[],Z=new Map,S=!X.has("help"),C=!Q.has("h"),P=!1,D=!1,I=(J)=>G.push(`Unknown option ${J} for command "${z.commandName}".`),T=(J,Y)=>{if(Y==="--help"||Y==="-h")D=!0;G.push(Y===void 0?`Option ${J} needs a value.`:`Option ${J} needs a value, but the next token is ${JSON.stringify(Y)}, which is another option. If that really is the value, write ${J}=${Y}.`)},_=0;while(_<M.length){let J=M[_];if(J==="--"){$.push(...M.slice(_+1));break}if(J.startsWith("--")){let Y=J.slice(2),j=Y.indexOf("="),B=j===-1?Y:Y.slice(0,j),K=j===-1?void 0:Y.slice(j+1),H=X.get(B),E=!1;if(!H&&B.startsWith("no-")){let W=X.get(B.slice(3));if(W&&W.type==="boolean")H=W,E=!0}if(!H&&B==="help"&&S){P=!0,_+=1;continue}if(!H){I(`--${B}`),_+=1;continue}if(H.type==="boolean"){if(K!==void 0&&K!=="true"&&K!=="false")G.push(`Option --${V(H.name)} is a flag and takes no value, but got ${JSON.stringify(K)}.`);else{let W=K===void 0?!0:K==="true";Z.set(H.name,E?!W:W)}_+=1;continue}if(K!==void 0){Z.set(H.name,K),_+=1;continue}let U=M[_+1];if(U===void 0||x(U)){T(`--${V(H.name)}`,U),_+=1;continue}Z.set(H.name,U),_+=2;continue}if(J.startsWith("-")&&J.length>1){let Y=J.slice(1),j=!1;for(let B=0;B<Y.length;B+=1){let K=Q.get(Y[B]);if(!K){if(Y[B]==="h"&&C){P=!0;continue}I(`-${Y[B]}`);break}if(K.type==="boolean"){Z.set(K.name,!0);continue}let H=Y.slice(B+1),E=H.startsWith("=")?H.slice(1):H;if(E!==""){Z.set(K.name,E);break}let U=M[_+1];if(U===void 0||x(U)){T(`-${K.alias}`,U);break}Z.set(K.name,U),j=!0;break}_+=j?2:1;continue}$.push(J),_+=1}let L={},O=0;for(let J of z.args){if(J.variadic){let j=$.slice(O);if(O=$.length,L[J.name]=j,J.required&&j.length===0)G.push(`Missing required argument <${J.name}...>. Command "${z.commandName}" needs at least one.`);continue}let Y=$[O];if(O+=1,Y!==void 0){L[J.name]=Y;continue}if(J.default!==void 0){L[J.name]=J.default;continue}if(J.required)G.push(`Missing required argument <${J.name}>.`);L[J.name]=void 0}if(O<$.length){let J=$.slice(O);G.push(`Unexpected argument${J.length===1?"":"s"} ${J.map((Y)=>JSON.stringify(Y)).join(", ")}. Command "${z.commandName}" takes ${z.args.length} argument${z.args.length===1?"":"s"}.`)}let R={};for(let J of z.options){let Y=Z.get(J.name);if(J.type==="boolean"){R[J.name]=Y===void 0?J.default??!1:Boolean(Y);continue}if(Y===void 0){if(J.default!==void 0)R[J.name]=J.default;else if(J.required)G.push(`Missing required option --${V(J.name)}.`),R[J.name]=void 0;else R[J.name]=void 0;continue}let j=String(Y);if(J.type==="number"){let B=Number(j);if(j.trim()===""||!Number.isFinite(B))G.push(`Option --${V(J.name)} expects a number, but got ${JSON.stringify(j)}.`),R[J.name]=void 0;else R[J.name]=B;continue}R[J.name]=j}let N=P&&!D;if(G.length>0)return{ok:!1,help:N,errors:G};return{ok:!0,help:N,args:L,options:R}}function f(z,M=" "){let X=z.reduce((Q,[G])=>Math.max(Q,G.length),0);return z.map(([Q,G])=>G===""?`${M}${Q}`:`${M}${Q.padEnd(X)} ${G}`)}function g(z){let M=z.variadic?`${z.name}...`:z.name;return z.required?`<${M}>`:`[${M}]`}function s(z){let M=(G)=>z.options.some(G),X=M((G)=>G.name==="help"||V(G.name)==="help"),Q=M((G)=>("alias"in G)&&G.alias==="h");if(X&&Q)return[];if(X)return[["-h","Show this message"]];return[[`${Q?"":"-h, "}--help`,"Show this message"]]}function v(z){let M=[],X=z.args.map(g).join(" "),Q=["gemi run",z.commandName,z.options.length>0?"[options]":"",X].filter(Boolean).join(" ");if(M.push(`Usage: ${Q}`),z.description)M.push("",z.description);if(z.args.length>0)M.push("","Arguments:"),M.push(...f(z.args.map((G)=>{let $=[G.description??"",G.default!==void 0?`(default: ${JSON.stringify(G.default)})`:""].filter(Boolean).join(" ");return[g(G),$]})));return M.push("","Options:"),M.push(...f([...z.options.map((G)=>{let $="alias"in G&&G.alias?`-${G.alias}, `:"",Z=G.type==="boolean"?"":` <${G.type}>`,S=[G.description??"",G.default!==void 0?`(default: ${JSON.stringify(G.default)})`:"","required"in G&&G.required?"(required)":""].filter(Boolean).join(" ");return[`${$}--${V(G.name)}${Z}`,S]}),...s(z)])),M.join(`
5
5
  `)}function y(z,M){let X=M.declared?`${z.length} command${z.length===1?"":"s"} declared in app/config/command.ts:`:`Commands in ${M.dir}:`;if(z.length===0)return M.declared?`app/config/command.ts declares no commands.
@@ -13,4 +13,4 @@ A command is registered by existing: write a file there that exports a \`defineC
13
13
  ${Q.message}
14
14
  \`gemi run\` boots your application the way the server does, so it needs the Kernel. Run it from the root of a gemi project.`,{cause:Q})}if(typeof X.default!=="function")throw new A(`${M} has no default export. gemi expects the Kernel subclass to be the default export of that file.`);return new X.default}function h(z,M,X,Q="returned"){if(z===void 0||z===null)return 0;if(typeof z==="number"&&Number.isInteger(z)&&z>=0&&z<=255)return z;let G=M?`Command "${M.commandName}"`:"The command";return X(`${G} ${Q} ${JSON.stringify(z)}, which is not an exit `+"code \u2014 an exit code is an integer from 0 to 255. Treating this as a "+"failure."),1}var[a,...o]=process.argv.slice(2),i=F();d({rootDir:process.cwd(),name:a,argv:o,writers:i}).then(async(z)=>{await i.flush(),process.exit(z)});
15
15
 
16
- //# debugId=DCCE088F34D116C064756E2164756E21
16
+ //# debugId=6D72A5E4CD0B3B4764756E2164756E21
@@ -9,6 +9,6 @@
9
9
  "/**\n * The entry point `gemi run` spawns.\n *\n * Exposed through the exports map as `gemi/console/run` and resolved by the CLI\n * out of the *application's* `node_modules`, the same way `dev` and `start`\n * resolve `gemi/bun/preload`. That indirection is the point: the runner has to\n * be the application's copy of gemi, not the one bundled into `dist/bin/gemi.js`\n * — see the note at the top of `runner.ts`.\n *\n * Nothing but argv handling lives here, so that everything worth testing lives\n * in `runConsole`, which returns an exit code instead of taking one.\n */\nimport { processWriters } from \"./context\";\nimport { runConsole } from \"./runner\";\n\n// The tail is forwarded exactly as commander handed it over, `--` and all.\n// commander passes a `--` through as a literal operand (verified: `gemi run x --\n// --weird` arrives as `[\"--\", \"--weird\"]`), and `parse.ts` already treats a `--`\n// as \"everything after this is positional\". Stripping it here — which an earlier\n// draft did — consumed the escape hatch before the only thing that reads it,\n// leaving `-- --weird` reported as an unknown option and `-- --` the only way to\n// pass a flag-shaped value.\nconst [name, ...argv] = process.argv.slice(2);\n\nconst writers = processWriters();\n\n// `.then` rather than a top-level `await`, so this file typechecks under the\n// package's inherited `module: NodeNext` — the same TS1309 that keeps `bun/` out\n// of tsconfig.json's `include`. Bun runs it as ESM either way; this just avoids\n// buying a nested tsconfig for two lines.\nrunConsole({ rootDir: process.cwd(), name, argv, writers }).then(\n async (code) => {\n // Everything written has to reach the OS before the exit below discards it —\n // see `processWriters` for what that costs when it is skipped.\n await writers.flush();\n\n // Explicit, and not belt-and-braces. `kernel.destroy()` stops the scheduler,\n // but an open database pool, a Redis client or an unref'd timer will happily\n // hold the loop open after the work is done — a command that finishes and then\n // sits there, which is the failure `kernel/exit.test.ts` exists for and the\n // one `orm/context.test.ts` names by example.\n process.exit(code);\n },\n);\n"
10
10
  ],
11
11
  "mappings": "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",
12
- "debugId": "DCCE088F34D116C064756E2164756E21",
12
+ "debugId": "6D72A5E4CD0B3B4764756E2164756E21",
13
13
  "names": []
14
14
  }
@@ -1,4 +1,4 @@
1
1
  // @bun
2
- import{Gh as e,Hh as o}from"../chunk-v4gwmhtf.js";import"../chunk-8mbyyh8j.js";export{o as Container,e as BindingResolutionError};
2
+ import{ci as e,di as o}from"../chunk-1vzks22y.js";import"../chunk-vw8849ys.js";export{o as Container,e as BindingResolutionError};
3
3
 
4
- //# debugId=10F1E066472A440A64756E2164756E21
4
+ //# debugId=860E2EE6D1944BEE64756E2164756E21
@@ -4,6 +4,6 @@
4
4
  "sourcesContent": [
5
5
  ],
6
6
  "mappings": "",
7
- "debugId": "10F1E066472A440A64756E2164756E21",
7
+ "debugId": "860E2EE6D1944BEE64756E2164756E21",
8
8
  "names": []
9
9
  }
@@ -1,4 +1,4 @@
1
1
  // @bun
2
- import{Ia as N}from"../chunk-7jnpnjth.js";import"../chunk-f1y8eggf.js";import"../chunk-w45agtch.js";import"../chunk-y6v0x869.js";import{$g as E,Ug as j,Vg as k,Xg as w,Yg as x,Zg as z,_g as A,ah as F,bh as G,ch as H,dh as I,eh as J,fh as K,gh as L}from"../chunk-vwprq300.js";import"../chunk-8mbyyh8j.js";export{A as isSqlite,E as isMysqlFamily,z as inferDialect,j as defineDatabaseConfig,k as databaseConfigDefaults,w as UnknownDatabaseUrlError,H as UnknownConnectionError,I as ReservedConnectionNameError,x as MissingDatabaseUrlError,N as DatabaseServiceProvider,L as DatabaseManager,G as DEFAULT_CONNECTION,J as CrossConnectionTransactionError,K as Connection,F as AmbiguousSqlitePathError};
2
+ import{Ia as N}from"../chunk-wyw6p3fg.js";import"../chunk-n672d4g8.js";import"../chunk-hytt9qyj.js";import"../chunk-cbqazg9k.js";import{Ah as H,Bh as I,Ch as J,Dh as K,Eh as L,qh as j,rh as k,th as w,uh as x,vh as z,wh as A,xh as E,yh as F,zh as G}from"../chunk-kejwjerj.js";import"../chunk-vw8849ys.js";export{A as isSqlite,E as isMysqlFamily,z as inferDialect,j as defineDatabaseConfig,k as databaseConfigDefaults,w as UnknownDatabaseUrlError,H as UnknownConnectionError,I as ReservedConnectionNameError,x as MissingDatabaseUrlError,N as DatabaseServiceProvider,L as DatabaseManager,G as DEFAULT_CONNECTION,J as CrossConnectionTransactionError,K as Connection,F as AmbiguousSqlitePathError};
3
3
 
4
- //# debugId=843CFA3BB8971BCB64756E2164756E21
4
+ //# debugId=E21E00B477F3D61564756E2164756E21
@@ -4,6 +4,6 @@
4
4
  "sourcesContent": [
5
5
  ],
6
6
  "mappings": "",
7
- "debugId": "843CFA3BB8971BCB64756E2164756E21",
7
+ "debugId": "E21E00B477F3D61564756E2164756E21",
8
8
  "names": []
9
9
  }
@@ -1,6 +1,6 @@
1
1
  // @bun
2
- import{vh as qS,wh as JS}from"../chunk-vqa3agzw.js";import{Bh as $S}from"../chunk-nysqgzp1.js";import{Fh as P}from"../chunk-z5hrymvn.js";import"../chunk-v4gwmhtf.js";import"../chunk-8mbyyh8j.js";import{render as s}from"jsx-email";import B from"process";import{Buffer as n}from"buffer";import r from"path";import{fileURLToPath as PS}from"url";import{promisify as yS}from"util";import o from"child_process";import wS,{constants as fS}from"fs/promises";import h from"process";import l,{constants as zS}from"fs/promises";import g from"process";import NS from"os";import W from"fs";import RS from"fs";import b from"fs";var F;function HS(){try{return b.statSync("/.dockerenv"),!0}catch{return!1}}function XS(){try{return b.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return!1}}function L(){if(F===void 0)F=HS()||XS();return F}var O,US=()=>{try{return RS.statSync("/run/.containerenv"),!0}catch{return!1}};function R(){if(O===void 0)O=US()||L();return O}var u=()=>{if(g.platform!=="linux")return!1;if(NS.release().toLowerCase().includes("microsoft")){if(R())return!1;return!0}try{if(W.readFileSync("/proc/version","utf8").toLowerCase().includes("microsoft"))return!R()}catch{}if(W.existsSync("/proc/sys/fs/binfmt_misc/WSLInterop")||W.existsSync("/run/WSL"))return!R();return!1},H=g.env.__IS_WSL_TEST__?u:u();var ES=(()=>{let S;return async function(){if(S)return S;let q="/etc/wsl.conf",J=!1;try{await l.access(q,zS.F_OK),J=!0}catch{}if(!J)return"/mnt/";let K=await l.readFile(q,{encoding:"utf8"}),Q=/(?<!#.*)root\s*=\s*(?<mountPoint>.*)/g.exec(K);if(!Q)return"/mnt/";return S=Q.groups.mountPoint.trim(),S=S.endsWith("/")?S:`${S}/`,S}})(),MS=async()=>{return`${await ES()}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`},v=async()=>{if(H)return MS();return`${h.env.SYSTEMROOT||h.env.windir||String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`};function X($,S,q){let J=(K)=>Object.defineProperty($,S,{value:K,enumerable:!0,writable:!0});return Object.defineProperty($,S,{configurable:!0,enumerable:!0,get(){let K=q();return J(K),K},set(K){J(K)}}),$}import{promisify as jS}from"util";import j from"process";import{execFile as xS}from"child_process";import{promisify as _S}from"util";import kS from"process";import{execFile as DS}from"child_process";var FS=_S(DS);async function T(){if(kS.platform!=="darwin")throw Error("macOS only");let{stdout:$}=await FS("defaults",["read","com.apple.LaunchServices/com.apple.launchservices.secure","LSHandlers"]),q=/LSHandlerRoleAll = "(?!-)(?<id>[^"]+?)";\s+?LSHandlerURLScheme = (?:http|https);/.exec($)?.groups.id??"com.apple.Safari";if(q==="com.apple.safari")return"com.apple.Safari";return q}import LS from"process";import{promisify as OS}from"util";import{execFile as WS,execFileSync as H0}from"child_process";var vS=OS(WS);async function m($,{humanReadableOutput:S=!0,signal:q}={}){if(LS.platform!=="darwin")throw Error("macOS only");let J=S?[]:["-ss"],K={};if(q)K.signal=q;let{stdout:Q}=await vS("osascript",["-e",$,J],K);return Q.trim()}async function C($){return m(`tell application "Finder" to set app_path to application file id "${$}" as string
2
+ import{Th as qS,Uh as JS}from"../chunk-qsrcdzan.js";import{Zh as $S}from"../chunk-7g9yh5ae.js";import{bi as P}from"../chunk-t4yh4nf9.js";import"../chunk-1vzks22y.js";import"../chunk-vw8849ys.js";import{render as s}from"jsx-email";import B from"process";import{Buffer as n}from"buffer";import r from"path";import{fileURLToPath as PS}from"url";import{promisify as yS}from"util";import o from"child_process";import wS,{constants as fS}from"fs/promises";import h from"process";import l,{constants as zS}from"fs/promises";import g from"process";import NS from"os";import W from"fs";import RS from"fs";import b from"fs";var F;function HS(){try{return b.statSync("/.dockerenv"),!0}catch{return!1}}function XS(){try{return b.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return!1}}function L(){if(F===void 0)F=HS()||XS();return F}var O,US=()=>{try{return RS.statSync("/run/.containerenv"),!0}catch{return!1}};function R(){if(O===void 0)O=US()||L();return O}var u=()=>{if(g.platform!=="linux")return!1;if(NS.release().toLowerCase().includes("microsoft")){if(R())return!1;return!0}try{if(W.readFileSync("/proc/version","utf8").toLowerCase().includes("microsoft"))return!R()}catch{}if(W.existsSync("/proc/sys/fs/binfmt_misc/WSLInterop")||W.existsSync("/run/WSL"))return!R();return!1},H=g.env.__IS_WSL_TEST__?u:u();var ES=(()=>{let S;return async function(){if(S)return S;let q="/etc/wsl.conf",J=!1;try{await l.access(q,zS.F_OK),J=!0}catch{}if(!J)return"/mnt/";let K=await l.readFile(q,{encoding:"utf8"}),Q=/(?<!#.*)root\s*=\s*(?<mountPoint>.*)/g.exec(K);if(!Q)return"/mnt/";return S=Q.groups.mountPoint.trim(),S=S.endsWith("/")?S:`${S}/`,S}})(),MS=async()=>{return`${await ES()}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`},v=async()=>{if(H)return MS();return`${h.env.SYSTEMROOT||h.env.windir||String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`};function X($,S,q){let J=(K)=>Object.defineProperty($,S,{value:K,enumerable:!0,writable:!0});return Object.defineProperty($,S,{configurable:!0,enumerable:!0,get(){let K=q();return J(K),K},set(K){J(K)}}),$}import{promisify as jS}from"util";import j from"process";import{execFile as xS}from"child_process";import{promisify as _S}from"util";import kS from"process";import{execFile as DS}from"child_process";var FS=_S(DS);async function T(){if(kS.platform!=="darwin")throw Error("macOS only");let{stdout:$}=await FS("defaults",["read","com.apple.LaunchServices/com.apple.launchservices.secure","LSHandlers"]),q=/LSHandlerRoleAll = "(?!-)(?<id>[^"]+?)";\s+?LSHandlerURLScheme = (?:http|https);/.exec($)?.groups.id??"com.apple.Safari";if(q==="com.apple.safari")return"com.apple.Safari";return q}import LS from"process";import{promisify as OS}from"util";import{execFile as WS,execFileSync as H0}from"child_process";var vS=OS(WS);async function m($,{humanReadableOutput:S=!0,signal:q}={}){if(LS.platform!=="darwin")throw Error("macOS only");let J=S?[]:["-ss"],K={};if(q)K.signal=q;let{stdout:Q}=await vS("osascript",["-e",$,J],K);return Q.trim()}async function C($){return m(`tell application "Finder" to set app_path to application file id "${$}" as string
3
3
  tell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`)}import{promisify as TS}from"util";import{execFile as CS}from"child_process";var IS=TS(CS),_={MSEdgeHTM:{name:"Edge",id:"com.microsoft.edge"},MSEdgeBHTML:{name:"Edge Beta",id:"com.microsoft.edge.beta"},MSEdgeDHTML:{name:"Edge Dev",id:"com.microsoft.edge.dev"},AppXq0fevzme2pys62n3e0fbqa7peapykr8v:{name:"Edge",id:"com.microsoft.edge.old"},ChromeHTML:{name:"Chrome",id:"com.google.chrome"},ChromeBHTML:{name:"Chrome Beta",id:"com.google.chrome.beta"},ChromeDHTML:{name:"Chrome Dev",id:"com.google.chrome.dev"},ChromiumHTM:{name:"Chromium",id:"org.chromium.Chromium"},BraveHTML:{name:"Brave",id:"com.brave.Browser"},BraveBHTML:{name:"Brave Beta",id:"com.brave.Browser.beta"},BraveDHTML:{name:"Brave Dev",id:"com.brave.Browser.dev"},BraveSSHTM:{name:"Brave Nightly",id:"com.brave.Browser.nightly"},FirefoxURL:{name:"Firefox",id:"org.mozilla.firefox"},OperaStable:{name:"Opera",id:"com.operasoftware.Opera"},VivaldiHTM:{name:"Vivaldi",id:"com.vivaldi.Vivaldi"},"IE.HTTP":{name:"Internet Explorer",id:"com.microsoft.ie"}},E0=new Map(Object.entries(_));class c extends Error{}async function I($=IS){let{stdout:S}=await $("reg",["QUERY"," HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice","/v","ProgId"]),q=/ProgId\s*REG_SZ\s*(?<id>\S+)/.exec(S);if(!q)throw new c(`Cannot find Windows browser in stdout: ${JSON.stringify(S)}`);let{id:J}=q.groups,K=J.lastIndexOf("."),Q=J.lastIndexOf("-"),Z=K===-1?void 0:J.slice(0,K),V=Q===-1?void 0:J.slice(0,Q);return _[J]??_[Z]??_[V]??{name:J,id:J}}var BS=jS(xS),AS=($)=>$.toLowerCase().replaceAll(/(?:^|\s|-)\S/g,(S)=>S.toUpperCase());async function x(){if(j.platform==="darwin"){let $=await T();return{name:await C($),id:$}}if(j.platform==="linux"){let{stdout:$}=await BS("xdg-mime",["query","default","x-scheme-handler/http"]),S=$.trim();return{name:AS(S.replace(/.desktop$/,"").replace("-"," ")),id:S}}if(j.platform==="win32")return I();throw Error("Only macOS, Linux, and Windows are supported")}var bS=yS(o.execFile),A=r.dirname(PS(import.meta.url)),d=r.join(A,"xdg-open"),{platform:N,arch:p}=B;async function uS(){let $=await v(),S=String.raw`(Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice").ProgId`,q=n.from(S,"utf16le").toString("base64"),{stdout:J}=await bS($,["-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand",q],{encoding:"utf8"}),K=J.trim(),Q={ChromeHTML:"com.google.chrome",BraveHTML:"com.brave.Browser",MSEdgeHTM:"com.microsoft.edge",FirefoxURL:"org.mozilla.firefox"};return Q[K]?{id:Q[K]}:{}}var t=async($,S)=>{let q;for(let J of $)try{return await S(J)}catch(K){q=K}throw q},k=async($)=>{if($={wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,...$},Array.isArray($.app))return t($.app,(V)=>k({...$,app:V}));let{name:S,arguments:q=[]}=$.app??{};if(q=[...q],Array.isArray(S))return t(S,(V)=>k({...$,app:{name:V,arguments:q}}));if(S==="browser"||S==="browserPrivate"){let V={"com.google.chrome":"chrome","google-chrome.desktop":"chrome","com.brave.Browser":"brave","org.mozilla.firefox":"firefox","firefox.desktop":"firefox","com.microsoft.msedge":"edge","com.microsoft.edge":"edge","com.microsoft.edgemac":"edge","microsoft-edge.desktop":"edge"},Y={chrome:"--incognito",brave:"--incognito",firefox:"--private-window",edge:"--inPrivate"},G=H?await uS():await x();if(G.id in V){let z=V[G.id];if(S==="browserPrivate")q.push(Y[z]);return k({...$,app:{name:U[z],arguments:q}})}throw Error(`${G.name} is not supported as a default browser`)}let J,K=[],Q={};if(N==="darwin"){if(J="open",$.wait)K.push("--wait-apps");if($.background)K.push("--background");if($.newInstance)K.push("--new");if(S)K.push("-a",S)}else if(N==="win32"||H&&!R()&&!S){if(J=await v(),K.push("-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand"),!H)Q.windowsVerbatimArguments=!0;let V=["Start"];if($.wait)V.push("-Wait");if(S){if(V.push(`"\`"${S}\`""`),$.target)q.push($.target)}else if($.target)V.push(`"${$.target}"`);if(q.length>0)q=q.map((Y)=>`"\`"${Y}\`""`),V.push("-ArgumentList",q.join(","));$.target=n.from(V.join(" "),"utf16le").toString("base64")}else{if(S)J=S;else{let V=!A||A==="/",Y=!1;try{await wS.access(d,fS.X_OK),Y=!0}catch{}J=B.versions.electron??(N==="android"||V||!Y)?"xdg-open":d}if(q.length>0)K.push(...q);if(!$.wait)Q.stdio="ignore",Q.detached=!0}if(N==="darwin"&&q.length>0)K.push("--args",...q);if($.target)K.push($.target);let Z=o.spawn(J,K,Q);if($.wait)return new Promise((V,Y)=>{Z.once("error",Y),Z.once("close",(G)=>{if(!$.allowNonzeroExitCode&&G>0){Y(Error(`Exited with code ${G}`));return}V(Z)})});return Z.unref(),Z},gS=($,S)=>{if(typeof $!=="string")throw TypeError("Expected a `target`");return k({...S,target:$})};function i($){if(typeof $==="string"||Array.isArray($))return $;let{[p]:S}=$;if(!S)throw Error(`${p} is not supported`);return S}function D({[N]:$},{wsl:S}){if(S&&H)return i(S);if(!$)throw Error(`${N} is not supported`);return i($)}var U={};X(U,"chrome",()=>D({darwin:"google chrome",win32:"chrome",linux:["google-chrome","google-chrome-stable","chromium"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe",x64:["/mnt/c/Program Files/Google/Chrome/Application/chrome.exe","/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe"]}}));X(U,"brave",()=>D({darwin:"brave browser",win32:"brave",linux:["brave-browser","brave"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe",x64:["/mnt/c/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe","/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe"]}}));X(U,"firefox",()=>D({darwin:"firefox",win32:String.raw`C:\Program Files\Mozilla Firefox\firefox.exe`,linux:"firefox"},{wsl:"/mnt/c/Program Files/Mozilla Firefox/firefox.exe"}));X(U,"edge",()=>D({darwin:"microsoft edge",win32:"msedge",linux:["microsoft-edge","microsoft-edge-dev"]},{wsl:"/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"}));X(U,"browser",()=>"browser");X(U,"browserPrivate",()=>"browserPrivate");var a=gS;function hS($){return Array.from($,(S)=>{let q=S.charCodeAt(0);return S==="/"||S==="\\"||q<32||q===127?"_":S}).join("")}async function e($,S,q={}){let J=`${$}/${new Date().toISOString()}${hS(S.subject)}`,K={to:S.to,cc:S.cc,bcc:S.bcc,from:S.from,subject:S.subject,headers:S.headers??{},attachments:S.attachments.map((Q)=>({filename:Q.filename,bytes:Buffer.byteLength(Q.content)})),scheduledAt:S.scheduledAt??null,idempotencyKey:S.idempotencyKey??null,locale:q.locale??null,text:S.text??null};return await Bun.write(`${J}.json`,`${JSON.stringify(K,null,2)}
4
4
  `),await Bun.write(`${J}.html`,S.html),`${J}.html`}import{jsx as SS}from"react/jsx-runtime";class KS{from="";to=[];subject="No Subject";cc=[];bcc=[];attachments=[];template;headers={};static async send($){let S=new this,q=P($S).defaultLocale,J=P(JS),{to:K=S.to,from:Q=S.from,subject:Z=typeof S.subject==="string"?S.subject:S.subject[$.locale||q],cc:V=S.cc,bcc:Y=S.bcc,attachments:G=S.attachments,data:z,headers:QS={}}=$,VS={...J.headers??{},...S.headers??{},...QS??{}},y=process.env.EMAIL_DEBUG==="true",E=y?"debug":J.driver?.provider??"custom",w=await J.filterRecipients(K);if(!w.length)return{id:null,provider:E,status:"skipped"};let[YS,ZS]=await Promise.all([S.render({...z,locale:$.locale}),S.renderText({...z,locale:$.locale})]),f={bcc:Y,cc:V,from:Q,subject:Z,to:w,attachments:G,html:YS,headers:VS,text:ZS,scheduledAt:$.scheduledAt,idempotencyKey:$.idempotencyKey};if(y){let GS=await e(`${process.env.ROOT_DIR}/.debug/emails`,f,{locale:$.locale});if(process.env.CI!=="true")await a(GS);return{id:`debug_${crypto.randomUUID()}`,provider:E,status:"debug"}}let M=await qS(J,f);return M.ok?{id:M.id,provider:E,status:"sent"}:{id:M.id,provider:E,status:"failed",error:M.error}}static async preview($){return await new this().render({...$.data,locale:$.locale})}async render($){let S=this.template;return await s(SS(S,{...$}))}async renderText($){let S=this.template;return await s(SS(S,{...$}),{plainText:!0})}}export{KS as Email};
5
5
 
6
- //# debugId=5F296E0BAE1A544664756E2164756E21
6
+ //# debugId=685FC752C68A36E164756E2164756E21
@@ -17,6 +17,6 @@
17
17
  "import type { SendEmailParams } from \"../services/email/drivers/types\";\n\n/**\n * What `EMAIL_DEBUG=true` records about a send, next to the rendered HTML.\n *\n * The HTML alone can't say who a mail went to: plenty of templates render\n * nothing per recipient, so a test asserting \"this action mailed this user\"\n * could match another send with the same subject. The sidecar holds the\n * envelope the driver would have been handed, with `to` already filtered.\n */\nexport interface DebugEmailRecord {\n to: string[];\n cc: string[];\n bcc: string[];\n from: string;\n subject: string;\n headers: Record<string, string>;\n // Attachment bodies are left out: name and size are enough to assert on.\n attachments: Array<{ filename: string; bytes: number }>;\n scheduledAt: string | null;\n idempotencyKey: string | null;\n locale: string | null;\n text: string | null;\n}\n\n/**\n * A subject as a filename fragment. Path separators would write into a\n * subdirectory (or fail), and control characters aren't valid on every\n * filesystem. Everything else is kept, so a reader matching on the subject\n * substring keeps working.\n */\nexport function debugEmailFileSubject(subject: string) {\n return Array.from(subject, (char) => {\n const code = char.charCodeAt(0);\n return char === \"/\" || char === \"\\\\\" || code < 0x20 || code === 0x7f ? \"_\" : char;\n }).join(\"\");\n}\n\n/**\n * Writes `<dir>/<iso><subject>.json` and then `<dir>/<iso><subject>.html`, and\n * returns the HTML path. The sidecar goes first so a reader that sees the HTML\n * can rely on its envelope being there.\n */\nexport async function writeDebugEmail(\n dir: string,\n params: SendEmailParams,\n options: { locale?: string } = {},\n) {\n const base = `${dir}/${new Date().toISOString()}${debugEmailFileSubject(params.subject)}`;\n\n const record: DebugEmailRecord = {\n to: params.to,\n cc: params.cc,\n bcc: params.bcc,\n from: params.from,\n subject: params.subject,\n headers: params.headers ?? {},\n attachments: params.attachments.map((attachment) => ({\n filename: attachment.filename,\n bytes: Buffer.byteLength(attachment.content),\n })),\n scheduledAt: params.scheduledAt ?? null,\n idempotencyKey: params.idempotencyKey ?? null,\n locale: options.locale ?? null,\n text: params.text ?? null,\n };\n\n await Bun.write(`${base}.json`, `${JSON.stringify(record, null, 2)}\\n`);\n await Bun.write(`${base}.html`, params.html);\n\n return `${base}.html`;\n}\n"
18
18
  ],
19
19
  "mappings": "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",
20
- "debugId": "5F296E0BAE1A544664756E2164756E21",
20
+ "debugId": "685FC752C68A36E164756E2164756E21",
21
21
  "names": []
22
22
  }
@@ -1,7 +1,7 @@
1
1
  import type sharp from "sharp";
2
2
  import type { Prettify } from "../utils/type";
3
3
  import type { ByteRange } from "../http/range";
4
- import type { DeleteFileParams, FetchFileOptions, PutFileOptions, PutFileParams, ReadFileParams, ReadResult } from "../services/file-storage/drivers/types";
4
+ import type { DeleteFileParams, DeletePrefixOptions, FetchFileOptions, ListObjectsOptions, PutFileOptions, PutFileParams, ReadFileParams, ReadResult, StoredObject } from "../services/file-storage/drivers/types";
5
5
  import { FilesystemManager } from "../services/file-storage/FilesystemManager";
6
6
  import { Facade } from "./Facade";
7
7
  type Metadata = Prettify<sharp.Metadata>;
@@ -32,7 +32,31 @@ export declare class Storage extends Facade {
32
32
  static read(params: ReadFileParams | string, options?: {
33
33
  range?: ByteRange | null;
34
34
  }): Promise<ReadResult>;
35
+ /**
36
+ * @deprecated The result's shape depends on the driver. Use `objects()`.
37
+ */
35
38
  static list(folder: string): Promise<any>;
39
+ /**
40
+ * Every object whose name starts with `prefix`, at any depth, as
41
+ * `{ name, size, lastModified }`, on every driver. Pagination happens under
42
+ * the hood, so iterate with `for await`:
43
+ *
44
+ * ```ts
45
+ * for await (const object of Storage.objects("logs/")) {
46
+ * if (object.lastModified < cutoff) await Storage.delete(object.name);
47
+ * }
48
+ * ```
49
+ *
50
+ * Plain string-prefix matching, as in S3: `pages/1` also matches
51
+ * `pages/10/…`. End the prefix with `/` to stay inside one folder.
52
+ */
53
+ static objects(prefix: string, options?: ListObjectsOptions): AsyncIterable<StoredObject>;
54
+ /**
55
+ * Deletes every object under `prefix` and resolves with how many were
56
+ * deleted. Refuses an empty or root prefix (`""`, `"/"`, `"."`), so a
57
+ * purge built from a missing id cannot empty the store.
58
+ */
59
+ static deletePrefix(prefix: string, options?: DeletePrefixOptions): Promise<number>;
36
60
  /**
37
61
  * Removes a stored object. Deleting one that does not exist resolves without
38
62
  * throwing, so a cleanup path can retry safely.
@@ -1 +1 @@
1
- {"version":3,"file":"Storage.d.ts","sourceRoot":"","sources":["../../facades/Storage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,cAAc,EACd,UAAU,EACX,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,KAAK,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAEzC,qBAAa,OAAQ,SAAQ,MAAM;IACjC,MAAM,CAAC,iBAAiB;IAIxB;;;OAGG;WACU,GAAG,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,EAAE,OAAO,GAAE,cAAmB;WAI9D,QAAQ,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAanE;;;;;OAKG;WACU,KAAK,CAChB,MAAM,EAAE,cAAc,GAAG,MAAM,EAC/B,OAAO,GAAE,gBAAqB;IAQhC;;;;;;;;OAQG;WACU,IAAI,CACf,MAAM,EAAE,cAAc,GAAG,MAAM,EAC/B,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;KAAO,GACzC,OAAO,CAAC,UAAU,CAAC;IAgBtB,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM;IAI1B;;;OAGG;WACU,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGtE"}
1
+ {"version":3,"file":"Storage.d.ts","sourceRoot":"","sources":["../../facades/Storage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,cAAc,EACd,UAAU,EACV,YAAY,EACb,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,KAAK,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAEzC,qBAAa,OAAQ,SAAQ,MAAM;IACjC,MAAM,CAAC,iBAAiB;IAIxB;;;OAGG;WACU,GAAG,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,EAAE,OAAO,GAAE,cAAmB;WAI9D,QAAQ,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAanE;;;;;OAKG;WACU,KAAK,CAChB,MAAM,EAAE,cAAc,GAAG,MAAM,EAC/B,OAAO,GAAE,gBAAqB;IAQhC;;;;;;;;OAQG;WACU,IAAI,CACf,MAAM,EAAE,cAAc,GAAG,MAAM,EAC/B,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;KAAO,GACzC,OAAO,CAAC,UAAU,CAAC;IAgBtB;;OAEG;IACH,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM;IAI1B;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,OAAO,CACZ,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,kBAAuB,GAC/B,aAAa,CAAC,YAAY,CAAC;IAI9B;;;;OAIG;WACU,YAAY,CACvB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,MAAM,CAAC;IAIlB;;;OAGG;WACU,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGtE"}
@@ -1,4 +1,4 @@
1
1
  // @bun
2
- import{$c as f,Ac as a,Dd as o,Ed as p,Fd as q,Zc as c,_c as d,ad as g,bd as i,cd as j,dd as k,ed as l,fd as m,pd as n}from"../chunk-6g20zec2.js";import"../chunk-qpttgn4k.js";import"../chunk-w45agtch.js";import{bg as b,jg as e,lg as h}from"../chunk-cqnfp0n9.js";import"../chunk-r7b12dmm.js";import"../chunk-y596ghpz.js";import"../chunk-c7mp2kyp.js";import"../chunk-y6v0x869.js";import"../chunk-4t1pbt9p.js";import"../chunk-vwprq300.js";import"../chunk-9tpx9ag3.js";import"../chunk-nysqgzp1.js";import"../chunk-z5hrymvn.js";import"../chunk-v4gwmhtf.js";import"../chunk-vc9phr57.js";import"../chunk-fr0arqdj.js";import"../chunk-fnkjmq94.js";import"../chunk-8mbyyh8j.js";export{g as Url,e as Storage,k as Redis,a as Redirect,l as RateLimiter,f as Query,i as Meta,h as Log,m as Lock,d as Lang,o as Features,b as Facade,q as DB,j as Cookie,p as ConnectionQueries,n as ChangeFeed,c as Auth};
2
+ import{$d as q,Ad as l,Bd as m,Ld as n,Vc as a,Zd as o,_d as p,td as c,ud as d,vd as f,wd as g,xd as i,yd as j,zd as k}from"../chunk-d6591xck.js";import"../chunk-whtzggn6.js";import"../chunk-hytt9qyj.js";import{Hg as e,Jg as h,yg as b}from"../chunk-dexdkh3z.js";import"../chunk-15c2vgaf.js";import"../chunk-9b4erdy2.js";import"../chunk-tn2bryy2.js";import"../chunk-cbqazg9k.js";import"../chunk-1myhm0g3.js";import"../chunk-kejwjerj.js";import"../chunk-aazmrxj9.js";import"../chunk-7g9yh5ae.js";import"../chunk-t4yh4nf9.js";import"../chunk-1vzks22y.js";import"../chunk-zyt2w03d.js";import"../chunk-1hr4xht1.js";import"../chunk-d9mar37g.js";import"../chunk-vw8849ys.js";export{g as Url,e as Storage,k as Redis,a as Redirect,l as RateLimiter,f as Query,i as Meta,h as Log,m as Lock,d as Lang,o as Features,b as Facade,q as DB,j as Cookie,p as ConnectionQueries,n as ChangeFeed,c as Auth};
3
3
 
4
- //# debugId=E83B94BCE66A1C5464756E2164756E21
4
+ //# debugId=B53505FDA1BB538064756E2164756E21
@@ -4,6 +4,6 @@
4
4
  "sourcesContent": [
5
5
  ],
6
6
  "mappings": "",
7
- "debugId": "E83B94BCE66A1C5464756E2164756E21",
7
+ "debugId": "B53505FDA1BB538064756E2164756E21",
8
8
  "names": []
9
9
  }
@@ -1,4 +1,4 @@
1
1
  // @bun
2
- import{Eh as o,Fh as r}from"../chunk-z5hrymvn.js";import"../chunk-v4gwmhtf.js";import"../chunk-8mbyyh8j.js";export{r as app,o as Application};
2
+ import{ai as o,bi as r}from"../chunk-t4yh4nf9.js";import"../chunk-1vzks22y.js";import"../chunk-vw8849ys.js";export{r as app,o as Application};
3
3
 
4
- //# debugId=BC52A2572630F7D664756E2164756E21
4
+ //# debugId=C1D2FFFD863F375B64756E2164756E21
@@ -4,6 +4,6 @@
4
4
  "sourcesContent": [
5
5
  ],
6
6
  "mappings": "",
7
- "debugId": "BC52A2572630F7D664756E2164756E21",
7
+ "debugId": "C1D2FFFD863F375B64756E2164756E21",
8
8
  "names": []
9
9
  }
@@ -1,3 +1,4 @@
1
+ import { type McpGrant, type ProgressUpdate } from "./modelOriginated";
1
2
  import type { ResolvedDomain } from "../services/router/DomainResolver";
2
3
  declare class Input<T> {
3
4
  private data;
@@ -102,6 +103,36 @@ export declare class HttpRequest<T extends Body = Record<string, never>, Params
102
103
  * No header or cookie can make this true; see `http/modelOriginated.ts`.
103
104
  */
104
105
  isModelOriginated(): boolean;
106
+ /**
107
+ * The credential a remote MCP client's tool call runs under (#762): which
108
+ * resolver verified it (`"oauth"`, `"api-key"`), its id, its scopes and its
109
+ * OAuth client. `null` for every other request — a direct one, and a local
110
+ * agent's tool call. Like `isModelOriginated`, nothing a client sends can
111
+ * set it.
112
+ *
113
+ * The user is the credential's user, on `req.ctx().user` as for any signed
114
+ * in request; this is for a route that also wants to hold a remote client
115
+ * to a scope of its own.
116
+ */
117
+ mcpGrant(): McpGrant | null;
118
+ /**
119
+ * Reports how far a long route has got, to a remote MCP client that asked
120
+ * to be told (#762): it reaches the client as `notifications/progress` on
121
+ * the tool call's stream. Answers whether anyone was listening — `false`
122
+ * for a direct request, a local agent's tool call, and a remote call that
123
+ * sent no `progressToken` — so a route can call it unconditionally.
124
+ *
125
+ * ```ts
126
+ * for (const [i, page] of pages.entries()) {
127
+ * await render(page);
128
+ * req.reportProgress({ progress: i + 1, total: pages.length, message: `Rendered ${page.path}` });
129
+ * }
130
+ * ```
131
+ *
132
+ * `progress` must grow with each report; one that does not is dropped, as
133
+ * the protocol requires.
134
+ */
135
+ reportProgress(update: ProgressUpdate): boolean;
105
136
  /**
106
137
  * Aborts when the client goes away before the response is sent: the
107
138
  * browser closed the connection, or `useQuery` gave up on a request nobody
@@ -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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"}
@@ -2,7 +2,7 @@ import type { ToolContext } from "../ai/Agent";
2
2
  import type { AnySchema, Infer, Schema } from "../ai/Schema";
3
3
  import type { UrlParser } from "../client/types";
4
4
  import type { Prettify } from "../utils/type";
5
- import type { McpCallContext, McpCredentials } from "../services/mcp/McpRegistry";
5
+ import type { McpCallContext, McpCredentials, McpScope, McpToolAnnotations } from "../services/mcp/McpRegistry";
6
6
  import type { ApiRouterHandler } from "./ApiRouter";
7
7
  import type { HttpRequest } from "./HttpRequest";
8
8
  /**
@@ -237,6 +237,30 @@ type MetaBase<T> = {
237
237
  * a default that guessed would be a default somebody relies on.
238
238
  */
239
239
  requiresApproval?: boolean;
240
+ /**
241
+ * A human-readable name for the tool, for a client to show instead of the
242
+ * `routes` key. The model is still given the key.
243
+ */
244
+ title?: string;
245
+ /**
246
+ * Overrides the hints the verb implies (#760). The verb's are a default:
247
+ * GET is read-only, DELETE destructive, PUT idempotent, and POST and PATCH
248
+ * say nothing. A route that does not follow its verb says so here, and each
249
+ * hint given replaces the verb's — `false` included, which is how a default
250
+ * is taken back:
251
+ *
252
+ * ```ts
253
+ * // A POST that cancels: destructive, and safe to repeat.
254
+ * annotations: { destructiveHint: true, idempotentHint: true },
255
+ * // A search that takes a body: read-only.
256
+ * annotations: { readOnlyHint: true },
257
+ * ```
258
+ *
259
+ * Hints are what a remote client uses to decide when to ask the user; they
260
+ * are not enforced, and a wrong one is a wrong prompt, not a guard. A tool
261
+ * that must be confirmed sets `requiresApproval` instead.
262
+ */
263
+ annotations?: McpToolAnnotations;
240
264
  };
241
265
  /**
242
266
  * `input` is required as soon as the JSON part of the body has a required
@@ -347,6 +371,8 @@ export type McpRouteMetaRuntime = {
347
371
  input?: AnySchema;
348
372
  tags?: readonly string[];
349
373
  requiresApproval?: boolean;
374
+ title?: string;
375
+ annotations?: McpToolAnnotations;
350
376
  params?: Record<string, McpParamDeclaration>;
351
377
  files?: Record<string, McpFileBinder | "input">;
352
378
  result?: McpResultProjection;
@@ -404,6 +430,30 @@ export declare class McpRouteDeclaration<M extends McpMethod = McpMethod, K exte
404
430
  export declare class McpRouter<R = McpRoutes> {
405
431
  static __brand: string;
406
432
  routes: Record<string, McpRouteDeclaration>;
433
+ /**
434
+ * The scopes a remote caller's credential can carry, and the tools each one
435
+ * reaches (#762). A remote caller sees, and can call, only the tools a scope
436
+ * it carries reaches; a local caller — an agent in this server — sees every
437
+ * tool, as before.
438
+ *
439
+ * ```ts
440
+ * scopes = {
441
+ * "pages:read": { description: "Read your site's pages", tags: ["read"] },
442
+ * "pages:write": { description: "Edit your site's pages", tags: ["write"] },
443
+ * "site:publish": { description: "Publish your site", names: ["publish-site"] },
444
+ * };
445
+ * ```
446
+ *
447
+ * Each key is an OAuth scope; `description` is what the consent screen
448
+ * shows. Left undeclared, the router has one scope, `"mcp"`, that reaches
449
+ * every tool. A tag or name no tool has, or a scope that reaches nothing,
450
+ * fails the boot.
451
+ *
452
+ * A scope narrows what a credential can reach; it never widens it. Every
453
+ * call still runs as the credential's user, through the route's own
454
+ * middleware.
455
+ */
456
+ scopes?: Record<string, McpScope>;
407
457
  /**
408
458
  * The app's own credentials for one tool call, sent beside the access token
409
459
  * of the user who started the run. Optional; without it a tool call carries
@@ -426,6 +476,9 @@ export declare class McpRouter<R = McpRoutes> {
426
476
  * by value. `access_token`, `Cookie`, `Host`, `User-Agent`, the body's
427
477
  * framing headers and `x-forwarded-*` cannot be set: the identity stays the
428
478
  * initiator's, and the call fails on the server, logged, if one is returned.
479
+ * For a remote caller (`call.caller.kind === "remote"`) `Authorization` is
480
+ * refused too: the client's token is for the MCP endpoint, and is never
481
+ * passed on.
429
482
  * The route's middleware still decides what a credential is worth, so this
430
483
  * can reach nothing a direct request carrying the same values could not.
431
484
  */
@@ -1 +1 @@
1
- {"version":3,"file":"McpRouter.d.ts","sourceRoot":"","sources":["../../http/McpRouter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD;;;;;;;;;;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;CAC5B,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,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;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,SAAS,CAAC,CAAC,GAAG,SAAS;IAClC,MAAM,CAAC,OAAO,SAAe;IAE7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAM;IAEjD;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;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,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"}
1
+ {"version":3,"file":"McpRouter.d.ts","sourceRoot":"","sources":["../../http/McpRouter.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,10 @@ export interface RateLimitMiddlewareConfig {
27
27
  *
28
28
  * A model's tool call (`ApiRouteDispatcher.dispatchAs`) spends the same
29
29
  * budget as the user's own requests by default: `clientIp` answers the
30
- * address of the request that started the run. To give model traffic a
30
+ * address of the request that started the run. A remote MCP client's tool
31
+ * call is the exception: by default it spends a budget keyed on its
32
+ * credential (`mcp:<via>:<id>:<route>`, see `req.mcpGrant()`), since
33
+ * a hosted client calls from addresses every one of its users shares. To give model traffic a
31
34
  * budget of its own, key on `req.isModelOriginated()`, which no client can
32
35
  * set:
33
36
  *
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;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;CAMZ;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,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,6 +1,7 @@
1
1
  export { Controller, ResourceController } from "./Controller";
2
2
  export { ApiRouter, type ControllerRouteHandler, type CreateRPC } from "./ApiRouter";
3
3
  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 type { McpGrant, ProgressUpdate } from "./modelOriginated";
4
5
  export { createFileResponse, ViewRouter, type CreateViewRPC, type FileOutput, type ViewHandler, type StaticViewOptions, } from "./ViewRouter";
5
6
  export { toMiddlewareList, type MiddlewareInput } from "./middlewareList";
6
7
  export { createStreamResponse, createUnsatisfiableResponse, type StreamOutput, type StreamDescriptor, type StreamReadResult, } from "./createStreamResponse";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../http/index.ts"],"names":[],"mappings":"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"}
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{Bc as C,Cc as D,Dc as E,Ec as F,Fc as G,Gc as H,Hc as I,Mc as J,Nc as K,Nd as M,Oc as L,fe as N,ge as O,he as P,ie as Q,je as R,ke as S,le as T,me as U,ne as V,oe as W,pe as X,qe as Y,rc as n,re as Z,sc as o,se as _,tc as p,te as $,uc as q,ue as aa,vc as r,ve as ba,wc as y,we as ca,xc as z,xe as da,yc as A,ye as ea,zc as B,ze as fa}from"../chunk-6g20zec2.js";import"../chunk-qpttgn4k.js";import"../chunk-w45agtch.js";import{$f as w,Bf as a,Cf as b,Df as d,Hf as e,If as f,Jf as g,Kf as h,Lf as i,Mf as j,Rf as k,Sf as l,Wf as m,Xf as s,Yf as t,Zf as u,_f as v,ag as x}from"../chunk-cqnfp0n9.js";import{tg as c}from"../chunk-r7b12dmm.js";import"../chunk-y596ghpz.js";import"../chunk-c7mp2kyp.js";import"../chunk-y6v0x869.js";import"../chunk-4t1pbt9p.js";import"../chunk-vwprq300.js";import"../chunk-9tpx9ag3.js";import"../chunk-nysqgzp1.js";import"../chunk-z5hrymvn.js";import"../chunk-v4gwmhtf.js";import"../chunk-vc9phr57.js";import"../chunk-fr0arqdj.js";import"../chunk-fnkjmq94.js";import"../chunk-8mbyyh8j.js";export{g as toRangeHeaderValue,n as toMiddlewareList,fa as safeFetch,f as resolveRange,e as parseRangeHeader,h as parseContentRange,r as parseByteSize,I as middlewareConfigDefaults,D as httpError,d as getCookies,j as formatUnsatisfiedContentRange,i as formatContentRange,U as defineResourcePolicy,H as defineMiddlewareConfig,o as createUnsatisfiableResponse,p as createStreamResponse,E as createFileResponse,L as clientIp,V as classifyAddress,F as ViewRouter,k as ValidationError,ca as TooManyRedirectsError,aa as TooLargeError,$ as TimeoutError,ea as SafeResponse,W as SafeFetchError,T as ResourcePolicy,b as ResourceController,c as RequestBreakerError,K as RateLimitMiddleware,J as RateLimitExceededError,u as RangeNotSatisfiableError,R as PoliciesServiceProvider,S as Policies,q as PayloadTooLargeError,v as NotFoundError,da as NetworkError,G as Middleware,B as McpRouter,A as McpRouteDeclaration,z as McpModelParam,l as InvalidValidationRuleError,X as InvalidUrlError,t as InsufficientPermissionsError,C as HttpResponse,m as HttpRequest,w as FileNotFoundError,_ as DnsError,P as CorsMiddleware,a as Controller,ba as ContentTypeError,O as CacheMiddleware,Q as CSRFMiddleware,M as BodyLimitMiddleware,Y as BlockedHostError,Z as BlockedAddressError,s as AuthorizationError,N as AuthenticationMiddleware,x as AuthenticationError,y as ApiRouter};
2
+ import{$c as H,Be as N,Ce as O,De as P,Ee as Q,Fe as R,Ge as S,He as T,Ie as U,Je as V,Ke as W,Le as X,Mc as n,Me as Y,Nc as o,Ne as Z,Oc as p,Oe as _,Pc as q,Pe as $,Qc as r,Qe as aa,Rc as y,Re as ba,Sc as z,Se as ca,Tc as A,Te as da,Uc as B,Ue as ea,Ve as fa,Wc as C,Xc as D,Yc as E,Zc as F,_c as G,ad as I,fd as J,gd as K,hd as L,he as M}from"../chunk-d6591xck.js";import"../chunk-whtzggn6.js";import"../chunk-hytt9qyj.js";import{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-dexdkh3z.js";import{Rg as c}from"../chunk-15c2vgaf.js";import"../chunk-9b4erdy2.js";import"../chunk-tn2bryy2.js";import"../chunk-cbqazg9k.js";import"../chunk-1myhm0g3.js";import"../chunk-kejwjerj.js";import"../chunk-aazmrxj9.js";import"../chunk-7g9yh5ae.js";import"../chunk-t4yh4nf9.js";import"../chunk-1vzks22y.js";import"../chunk-zyt2w03d.js";import"../chunk-1hr4xht1.js";import"../chunk-d9mar37g.js";import"../chunk-vw8849ys.js";export{g as toRangeHeaderValue,n as toMiddlewareList,fa as safeFetch,f as resolveRange,e as parseRangeHeader,h as parseContentRange,r as parseByteSize,I as middlewareConfigDefaults,D as httpError,d as getCookies,j as formatUnsatisfiedContentRange,i as formatContentRange,U as defineResourcePolicy,H as defineMiddlewareConfig,o as createUnsatisfiableResponse,p as createStreamResponse,E as createFileResponse,L as clientIp,V as classifyAddress,F as ViewRouter,k as ValidationError,ca as TooManyRedirectsError,aa as TooLargeError,$ as TimeoutError,ea as SafeResponse,W as SafeFetchError,T as ResourcePolicy,b as ResourceController,c as RequestBreakerError,K as RateLimitMiddleware,J as RateLimitExceededError,u as RangeNotSatisfiableError,R as PoliciesServiceProvider,S as Policies,q as PayloadTooLargeError,v as NotFoundError,da as NetworkError,G as Middleware,B as McpRouter,A as McpRouteDeclaration,z as McpModelParam,l as InvalidValidationRuleError,X as InvalidUrlError,t as InsufficientPermissionsError,C as HttpResponse,m as HttpRequest,w as FileNotFoundError,_ as DnsError,P as CorsMiddleware,a as Controller,ba as ContentTypeError,O as CacheMiddleware,Q as CSRFMiddleware,M as BodyLimitMiddleware,Y as BlockedHostError,Z as BlockedAddressError,s as AuthorizationError,N as AuthenticationMiddleware,x as AuthenticationError,y as ApiRouter};
3
3
 
4
- //# debugId=6A66B21B7D902D6C64756E2164756E21
4
+ //# debugId=B99279976969749164756E2164756E21
@@ -4,6 +4,6 @@
4
4
  "sourcesContent": [
5
5
  ],
6
6
  "mappings": "",
7
- "debugId": "6A66B21B7D902D6C64756E2164756E21",
7
+ "debugId": "B99279976969749164756E2164756E21",
8
8
  "names": []
9
9
  }
@@ -1,8 +1,42 @@
1
+ /** One progress report a route makes during a remote tool call. */
2
+ export type ProgressUpdate = {
3
+ /** How far along, in any unit; must grow with each report. */
4
+ progress: number;
5
+ /** The `progress` that means done, when it is known. */
6
+ total?: number;
7
+ /** A short line for the user: "Rendering page 3 of 8". */
8
+ message?: string;
9
+ };
10
+ export type ProgressSink = (update: ProgressUpdate) => void;
11
+ /**
12
+ * The credential a remote MCP caller's tool call was made under (#762): which
13
+ * resolver verified it, its id, the scopes it carries and the OAuth client it
14
+ * was issued to. Never the secret.
15
+ *
16
+ * Read by a route as `req.mcpGrant()`, to hold a tool call to a scope of its
17
+ * own — `req.mcpGrant()?.scopes.includes("billing")` — on top of the user's
18
+ * own permissions, which the route's middleware checks either way.
19
+ */
20
+ export type McpGrant = {
21
+ readonly via: string;
22
+ readonly id: string;
23
+ readonly scopes: readonly string[];
24
+ readonly clientId?: string;
25
+ };
1
26
  /**
2
27
  * `clientAddress` is required so the one writer cannot mark a request without
3
- * saying whose rate-limit budget it spends.
28
+ * saying whose rate-limit budget it spends. `grant` is set for a remote MCP
29
+ * caller's call, and only by `dispatchAs`, from a principal a resolver
30
+ * verified.
31
+ */
32
+ export declare function markModelOriginated(req: Request, clientAddress: string, grant?: McpGrant, progress?: ProgressSink): void;
33
+ /**
34
+ * Where a dispatched request's progress reports go, when its caller listens
35
+ * for them: a remote MCP client that sent a `progressToken`.
4
36
  */
5
- export declare function markModelOriginated(req: Request, clientAddress: string): void;
37
+ export declare function dispatchedProgress(req: Request): ProgressSink | undefined;
38
+ /** The grant a remote MCP caller's tool call carries; `undefined` for any other request. */
39
+ export declare function dispatchedGrant(req: Request): McpGrant | undefined;
6
40
  export declare function isModelOriginated(req: Request): boolean;
7
41
  /**
8
42
  * The client address `clientIp` resolved from the initiator, for a request the