aimakeall-mcp 0.14.5 → 0.14.7

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 (655) hide show
  1. package/lib/config.mjs +1 -1
  2. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth-extensions.d.ts +43 -2
  3. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth-extensions.d.ts.map +1 -1
  4. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth-extensions.js +26 -5
  5. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth-extensions.js.map +1 -1
  6. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth.d.ts +26 -4
  7. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth.d.ts.map +1 -1
  8. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth.js +118 -17
  9. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth.js.map +1 -1
  10. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/simpleClientCredentials.d.ts +1 -0
  11. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/simpleClientCredentials.d.ts.map +1 -1
  12. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/simpleClientCredentials.js +11 -2
  13. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/simpleClientCredentials.js.map +1 -1
  14. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/demoInMemoryOAuthProvider.d.ts +2 -0
  15. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/demoInMemoryOAuthProvider.d.ts.map +1 -1
  16. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/providers/proxyProvider.d.ts.map +1 -1
  17. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/providers/proxyProvider.js +6 -3
  18. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/providers/proxyProvider.js.map +1 -1
  19. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/express.d.ts.map +1 -1
  20. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/express.js +3 -1
  21. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/express.js.map +1 -1
  22. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/requestBody.d.ts +25 -0
  23. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/requestBody.d.ts.map +1 -0
  24. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/requestBody.js +64 -0
  25. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/requestBody.js.map +1 -0
  26. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/webStandardStreamableHttp.d.ts +10 -1
  27. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/webStandardStreamableHttp.d.ts.map +1 -1
  28. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/webStandardStreamableHttp.js +13 -1
  29. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/webStandardStreamableHttp.js.map +1 -1
  30. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/auth.d.ts +3 -0
  31. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/auth.d.ts.map +1 -1
  32. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/auth.js +12 -2
  33. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/auth.js.map +1 -1
  34. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth-extensions.d.ts +43 -2
  35. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth-extensions.d.ts.map +1 -1
  36. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth-extensions.js +26 -5
  37. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth-extensions.js.map +1 -1
  38. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth.d.ts +26 -4
  39. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth.d.ts.map +1 -1
  40. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth.js +118 -17
  41. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth.js.map +1 -1
  42. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleClientCredentials.d.ts +1 -0
  43. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleClientCredentials.d.ts.map +1 -1
  44. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleClientCredentials.js +11 -2
  45. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleClientCredentials.js.map +1 -1
  46. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/demoInMemoryOAuthProvider.d.ts +2 -0
  47. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/demoInMemoryOAuthProvider.d.ts.map +1 -1
  48. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/providers/proxyProvider.d.ts.map +1 -1
  49. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/providers/proxyProvider.js +6 -3
  50. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/providers/proxyProvider.js.map +1 -1
  51. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/express.d.ts.map +1 -1
  52. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/express.js +3 -1
  53. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/express.js.map +1 -1
  54. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/requestBody.d.ts +25 -0
  55. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/requestBody.d.ts.map +1 -0
  56. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/requestBody.js +58 -0
  57. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/requestBody.js.map +1 -0
  58. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/webStandardStreamableHttp.d.ts +10 -1
  59. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/webStandardStreamableHttp.d.ts.map +1 -1
  60. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/webStandardStreamableHttp.js +13 -1
  61. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/webStandardStreamableHttp.js.map +1 -1
  62. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth.d.ts +3 -0
  63. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth.d.ts.map +1 -1
  64. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth.js +12 -2
  65. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth.js.map +1 -1
  66. package/node_modules/@modelcontextprotocol/sdk/package.json +1 -1
  67. package/node_modules/fast-uri/index.js +10 -6
  68. package/node_modules/fast-uri/package.json +1 -1
  69. package/node_modules/fast-uri/test/security-normalization.test.js +38 -0
  70. package/node_modules/hono/README.md +1 -1
  71. package/node_modules/hono/dist/_virtual/_rolldown/runtime.js +13 -0
  72. package/node_modules/hono/dist/adapter/aws-lambda/conninfo.js +42 -23
  73. package/node_modules/hono/dist/adapter/aws-lambda/handler.js +320 -342
  74. package/node_modules/hono/dist/adapter/aws-lambda/index.js +2 -8
  75. package/node_modules/hono/dist/adapter/aws-lambda/types.js +1 -0
  76. package/node_modules/hono/dist/adapter/bun/conninfo.js +20 -25
  77. package/node_modules/hono/dist/adapter/bun/index.js +3 -13
  78. package/node_modules/hono/dist/adapter/bun/serve-static.js +27 -27
  79. package/node_modules/hono/dist/adapter/bun/server.js +11 -5
  80. package/node_modules/hono/dist/adapter/bun/ssg.js +25 -15
  81. package/node_modules/hono/dist/adapter/bun/websocket.js +61 -68
  82. package/node_modules/hono/dist/adapter/cloudflare-pages/conninfo.js +24 -9
  83. package/node_modules/hono/dist/adapter/cloudflare-pages/handler.js +59 -62
  84. package/node_modules/hono/dist/adapter/cloudflare-pages/index.js +2 -8
  85. package/node_modules/hono/dist/adapter/cloudflare-workers/conninfo.js +7 -9
  86. package/node_modules/hono/dist/adapter/cloudflare-workers/index.js +3 -8
  87. package/node_modules/hono/dist/adapter/cloudflare-workers/serve-static-module.js +5 -6
  88. package/node_modules/hono/dist/adapter/cloudflare-workers/serve-static.js +26 -20
  89. package/node_modules/hono/dist/adapter/cloudflare-workers/utils.js +21 -34
  90. package/node_modules/hono/dist/adapter/cloudflare-workers/websocket.js +31 -39
  91. package/node_modules/hono/dist/adapter/deno/conninfo.js +16 -13
  92. package/node_modules/hono/dist/adapter/deno/deno.d.js +1 -0
  93. package/node_modules/hono/dist/adapter/deno/index.js +3 -10
  94. package/node_modules/hono/dist/adapter/deno/serve-static.js +33 -38
  95. package/node_modules/hono/dist/adapter/deno/ssg.js +27 -16
  96. package/node_modules/hono/dist/adapter/deno/websocket.js +30 -30
  97. package/node_modules/hono/dist/adapter/lambda-edge/conninfo.js +7 -9
  98. package/node_modules/hono/dist/adapter/lambda-edge/handler.js +102 -87
  99. package/node_modules/hono/dist/adapter/lambda-edge/index.js +2 -6
  100. package/node_modules/hono/dist/adapter/netlify/conninfo.js +24 -9
  101. package/node_modules/hono/dist/adapter/netlify/handler.js +10 -8
  102. package/node_modules/hono/dist/adapter/netlify/index.js +3 -2
  103. package/node_modules/hono/dist/adapter/netlify/mod.js +2 -6
  104. package/node_modules/hono/dist/adapter/service-worker/handler.js +15 -19
  105. package/node_modules/hono/dist/adapter/service-worker/index.js +23 -7
  106. package/node_modules/hono/dist/adapter/service-worker/types.js +1 -0
  107. package/node_modules/hono/dist/adapter/vercel/conninfo.js +7 -10
  108. package/node_modules/hono/dist/adapter/vercel/handler.js +8 -6
  109. package/node_modules/hono/dist/adapter/vercel/index.js +2 -6
  110. package/node_modules/hono/dist/cjs/_virtual/_rolldown/runtime.js +33 -0
  111. package/node_modules/hono/dist/cjs/adapter/aws-lambda/conninfo.js +42 -44
  112. package/node_modules/hono/dist/cjs/adapter/aws-lambda/handler.js +328 -371
  113. package/node_modules/hono/dist/cjs/adapter/aws-lambda/index.js +7 -34
  114. package/node_modules/hono/dist/cjs/adapter/aws-lambda/types.js +0 -15
  115. package/node_modules/hono/dist/cjs/adapter/bun/conninfo.js +21 -47
  116. package/node_modules/hono/dist/cjs/adapter/bun/index.js +14 -45
  117. package/node_modules/hono/dist/cjs/adapter/bun/serve-static.js +29 -50
  118. package/node_modules/hono/dist/cjs/adapter/bun/server.js +11 -26
  119. package/node_modules/hono/dist/cjs/adapter/bun/ssg.js +24 -35
  120. package/node_modules/hono/dist/cjs/adapter/bun/websocket.js +63 -91
  121. package/node_modules/hono/dist/cjs/adapter/cloudflare-pages/conninfo.js +25 -31
  122. package/node_modules/hono/dist/cjs/adapter/cloudflare-pages/handler.js +61 -85
  123. package/node_modules/hono/dist/cjs/adapter/cloudflare-pages/index.js +7 -34
  124. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/conninfo.js +8 -31
  125. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/index.js +7 -33
  126. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/serve-static-module.js +7 -29
  127. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/serve-static.js +27 -42
  128. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/utils.js +21 -55
  129. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/websocket.js +33 -62
  130. package/node_modules/hono/dist/cjs/adapter/deno/conninfo.js +16 -34
  131. package/node_modules/hono/dist/cjs/adapter/deno/index.js +10 -38
  132. package/node_modules/hono/dist/cjs/adapter/deno/serve-static.js +33 -59
  133. package/node_modules/hono/dist/cjs/adapter/deno/ssg.js +27 -37
  134. package/node_modules/hono/dist/cjs/adapter/deno/websocket.js +32 -53
  135. package/node_modules/hono/dist/cjs/adapter/lambda-edge/conninfo.js +8 -31
  136. package/node_modules/hono/dist/cjs/adapter/lambda-edge/handler.js +105 -119
  137. package/node_modules/hono/dist/cjs/adapter/lambda-edge/index.js +5 -30
  138. package/node_modules/hono/dist/cjs/adapter/netlify/conninfo.js +25 -31
  139. package/node_modules/hono/dist/cjs/adapter/netlify/handler.js +10 -29
  140. package/node_modules/hono/dist/cjs/adapter/netlify/index.js +5 -21
  141. package/node_modules/hono/dist/cjs/adapter/netlify/mod.js +5 -30
  142. package/node_modules/hono/dist/cjs/adapter/service-worker/handler.js +16 -41
  143. package/node_modules/hono/dist/cjs/adapter/service-worker/index.js +25 -30
  144. package/node_modules/hono/dist/cjs/adapter/service-worker/types.js +0 -15
  145. package/node_modules/hono/dist/cjs/adapter/vercel/conninfo.js +8 -32
  146. package/node_modules/hono/dist/cjs/adapter/vercel/handler.js +8 -27
  147. package/node_modules/hono/dist/cjs/adapter/vercel/index.js +5 -30
  148. package/node_modules/hono/dist/cjs/client/client.js +139 -212
  149. package/node_modules/hono/dist/cjs/client/fetch-result-please.js +62 -80
  150. package/node_modules/hono/dist/cjs/client/index.js +7 -32
  151. package/node_modules/hono/dist/cjs/client/types.js +0 -15
  152. package/node_modules/hono/dist/cjs/client/utils.js +54 -92
  153. package/node_modules/hono/dist/cjs/compose.js +49 -66
  154. package/node_modules/hono/dist/cjs/context.js +379 -450
  155. package/node_modules/hono/dist/cjs/helper/accepts/accepts.js +47 -70
  156. package/node_modules/hono/dist/cjs/helper/accepts/index.js +3 -27
  157. package/node_modules/hono/dist/cjs/helper/adapter/index.js +33 -73
  158. package/node_modules/hono/dist/cjs/helper/conninfo/index.js +0 -15
  159. package/node_modules/hono/dist/cjs/helper/conninfo/types.js +0 -15
  160. package/node_modules/hono/dist/cjs/helper/cookie/index.js +75 -116
  161. package/node_modules/hono/dist/cjs/helper/css/common.js +165 -244
  162. package/node_modules/hono/dist/cjs/helper/css/index.js +136 -151
  163. package/node_modules/hono/dist/cjs/helper/dev/index.js +45 -71
  164. package/node_modules/hono/dist/cjs/helper/factory/index.js +30 -51
  165. package/node_modules/hono/dist/cjs/helper/html/index.js +32 -62
  166. package/node_modules/hono/dist/cjs/helper/proxy/index.js +113 -106
  167. package/node_modules/hono/dist/cjs/helper/route/index.js +123 -66
  168. package/node_modules/hono/dist/cjs/helper/ssg/index.js +19 -43
  169. package/node_modules/hono/dist/cjs/helper/ssg/middleware.js +56 -64
  170. package/node_modules/hono/dist/cjs/helper/ssg/plugins.js +55 -57
  171. package/node_modules/hono/dist/cjs/helper/ssg/ssg.js +196 -296
  172. package/node_modules/hono/dist/cjs/helper/ssg/utils.js +47 -90
  173. package/node_modules/hono/dist/cjs/helper/streaming/index.js +8 -35
  174. package/node_modules/hono/dist/cjs/helper/streaming/sse.js +53 -85
  175. package/node_modules/hono/dist/cjs/helper/streaming/stream.js +23 -53
  176. package/node_modules/hono/dist/cjs/helper/streaming/text.js +10 -32
  177. package/node_modules/hono/dist/cjs/helper/streaming/utils.js +13 -32
  178. package/node_modules/hono/dist/cjs/helper/testing/index.js +16 -31
  179. package/node_modules/hono/dist/cjs/helper/websocket/index.js +51 -76
  180. package/node_modules/hono/dist/cjs/hono-base.js +347 -402
  181. package/node_modules/hono/dist/cjs/hono.js +28 -42
  182. package/node_modules/hono/dist/cjs/http-exception.js +55 -56
  183. package/node_modules/hono/dist/cjs/index.js +22 -30
  184. package/node_modules/hono/dist/cjs/jsx/base.js +241 -353
  185. package/node_modules/hono/dist/cjs/jsx/children.js +16 -41
  186. package/node_modules/hono/dist/cjs/jsx/components.js +120 -194
  187. package/node_modules/hono/dist/cjs/jsx/constants.js +15 -42
  188. package/node_modules/hono/dist/cjs/jsx/context.js +144 -162
  189. package/node_modules/hono/dist/cjs/jsx/dom/client.js +49 -69
  190. package/node_modules/hono/dist/cjs/jsx/dom/components.js +23 -52
  191. package/node_modules/hono/dist/cjs/jsx/dom/context.js +39 -67
  192. package/node_modules/hono/dist/cjs/jsx/dom/css.js +143 -158
  193. package/node_modules/hono/dist/cjs/jsx/dom/hooks/index.js +55 -64
  194. package/node_modules/hono/dist/cjs/jsx/dom/index.js +114 -173
  195. package/node_modules/hono/dist/cjs/jsx/dom/intrinsic-element/components.js +282 -375
  196. package/node_modules/hono/dist/cjs/jsx/dom/jsx-dev-runtime.js +14 -49
  197. package/node_modules/hono/dist/cjs/jsx/dom/jsx-runtime.js +5 -32
  198. package/node_modules/hono/dist/cjs/jsx/dom/render.js +471 -589
  199. package/node_modules/hono/dist/cjs/jsx/dom/server.js +37 -60
  200. package/node_modules/hono/dist/cjs/jsx/dom/utils.js +7 -30
  201. package/node_modules/hono/dist/cjs/jsx/hooks/index.js +225 -318
  202. package/node_modules/hono/dist/cjs/jsx/index.js +86 -135
  203. package/node_modules/hono/dist/cjs/jsx/intrinsic-element/common.js +20 -43
  204. package/node_modules/hono/dist/cjs/jsx/intrinsic-element/components.js +117 -168
  205. package/node_modules/hono/dist/cjs/jsx/intrinsic-elements.js +0 -15
  206. package/node_modules/hono/dist/cjs/jsx/jsx-dev-runtime.js +14 -39
  207. package/node_modules/hono/dist/cjs/jsx/jsx-runtime.js +34 -68
  208. package/node_modules/hono/dist/cjs/jsx/streaming.js +123 -167
  209. package/node_modules/hono/dist/cjs/jsx/types.js +0 -15
  210. package/node_modules/hono/dist/cjs/jsx/utils.js +91 -175
  211. package/node_modules/hono/dist/cjs/middleware/basic-auth/index.js +98 -86
  212. package/node_modules/hono/dist/cjs/middleware/bearer-auth/index.js +92 -109
  213. package/node_modules/hono/dist/cjs/middleware/body-limit/index.js +66 -72
  214. package/node_modules/hono/dist/cjs/middleware/cache/index.js +153 -199
  215. package/node_modules/hono/dist/cjs/middleware/combine/index.js +135 -95
  216. package/node_modules/hono/dist/cjs/middleware/compress/index.js +73 -88
  217. package/node_modules/hono/dist/cjs/middleware/context-storage/index.js +49 -41
  218. package/node_modules/hono/dist/cjs/middleware/cors/index.js +107 -107
  219. package/node_modules/hono/dist/cjs/middleware/csrf/index.js +101 -72
  220. package/node_modules/hono/dist/cjs/middleware/etag/digest.js +58 -97
  221. package/node_modules/hono/dist/cjs/middleware/etag/index.js +71 -91
  222. package/node_modules/hono/dist/cjs/middleware/ip-restriction/index.js +161 -169
  223. package/node_modules/hono/dist/cjs/middleware/jsx-renderer/index.js +99 -77
  224. package/node_modules/hono/dist/cjs/middleware/jwk/index.js +3 -27
  225. package/node_modules/hono/dist/cjs/middleware/jwk/jwk.js +118 -135
  226. package/node_modules/hono/dist/cjs/middleware/jwt/index.js +9 -38
  227. package/node_modules/hono/dist/cjs/middleware/jwt/jwt.js +120 -141
  228. package/node_modules/hono/dist/cjs/middleware/language/index.js +7 -35
  229. package/node_modules/hono/dist/cjs/middleware/language/language.js +184 -179
  230. package/node_modules/hono/dist/cjs/middleware/logger/index.js +41 -62
  231. package/node_modules/hono/dist/cjs/middleware/method-not-allowed/index.js +82 -88
  232. package/node_modules/hono/dist/cjs/middleware/method-override/index.js +101 -102
  233. package/node_modules/hono/dist/cjs/middleware/mount/index.js +71 -0
  234. package/node_modules/hono/dist/cjs/middleware/powered-by/index.js +23 -30
  235. package/node_modules/hono/dist/cjs/middleware/pretty-json/index.js +38 -36
  236. package/node_modules/hono/dist/cjs/middleware/request-id/index.js +3 -27
  237. package/node_modules/hono/dist/cjs/middleware/request-id/request-id.js +34 -42
  238. package/node_modules/hono/dist/cjs/middleware/secure-headers/index.js +4 -29
  239. package/node_modules/hono/dist/cjs/middleware/secure-headers/permissions-policy.js +0 -15
  240. package/node_modules/hono/dist/cjs/middleware/secure-headers/secure-headers.js +142 -174
  241. package/node_modules/hono/dist/cjs/middleware/serve-static/index.js +56 -93
  242. package/node_modules/hono/dist/cjs/middleware/serve-static/path.js +15 -38
  243. package/node_modules/hono/dist/cjs/middleware/timeout/index.js +40 -45
  244. package/node_modules/hono/dist/cjs/middleware/timing/index.js +7 -35
  245. package/node_modules/hono/dist/cjs/middleware/timing/timing.js +177 -118
  246. package/node_modules/hono/dist/cjs/middleware/trailing-slash/index.js +85 -58
  247. package/node_modules/hono/dist/cjs/preset/quick.js +18 -37
  248. package/node_modules/hono/dist/cjs/preset/tiny.js +15 -33
  249. package/node_modules/hono/dist/cjs/request/constants.js +5 -27
  250. package/node_modules/hono/dist/cjs/request.js +334 -343
  251. package/node_modules/hono/dist/cjs/router/linear-router/index.js +3 -27
  252. package/node_modules/hono/dist/cjs/router/linear-router/router.js +95 -143
  253. package/node_modules/hono/dist/cjs/router/pattern-router/index.js +3 -27
  254. package/node_modules/hono/dist/cjs/router/pattern-router/router.js +41 -63
  255. package/node_modules/hono/dist/cjs/router/reg-exp-router/index.js +7 -34
  256. package/node_modules/hono/dist/cjs/router/reg-exp-router/matcher.js +18 -45
  257. package/node_modules/hono/dist/cjs/router/reg-exp-router/node.js +91 -135
  258. package/node_modules/hono/dist/cjs/router/reg-exp-router/prepared-router.js +92 -161
  259. package/node_modules/hono/dist/cjs/router/reg-exp-router/router.js +98 -147
  260. package/node_modules/hono/dist/cjs/router/reg-exp-router/trie.js +73 -89
  261. package/node_modules/hono/dist/cjs/router/smart-router/index.js +3 -27
  262. package/node_modules/hono/dist/cjs/router/smart-router/router.js +49 -79
  263. package/node_modules/hono/dist/cjs/router/trie-router/index.js +3 -27
  264. package/node_modules/hono/dist/cjs/router/trie-router/node.js +134 -186
  265. package/node_modules/hono/dist/cjs/router/trie-router/router.js +15 -39
  266. package/node_modules/hono/dist/cjs/router/utils.js +5 -27
  267. package/node_modules/hono/dist/cjs/router.js +37 -37
  268. package/node_modules/hono/dist/cjs/types.js +5 -28
  269. package/node_modules/hono/dist/cjs/utils/accept.js +177 -228
  270. package/node_modules/hono/dist/cjs/utils/basic-auth.js +16 -40
  271. package/node_modules/hono/dist/cjs/utils/body.js +84 -110
  272. package/node_modules/hono/dist/cjs/utils/buffer.js +43 -91
  273. package/node_modules/hono/dist/cjs/utils/color.js +35 -44
  274. package/node_modules/hono/dist/cjs/utils/compress.js +11 -26
  275. package/node_modules/hono/dist/cjs/utils/concurrent.js +29 -59
  276. package/node_modules/hono/dist/cjs/utils/constants.js +7 -26
  277. package/node_modules/hono/dist/cjs/utils/cookie.js +107 -177
  278. package/node_modules/hono/dist/cjs/utils/crypto.js +30 -61
  279. package/node_modules/hono/dist/cjs/utils/encode.js +31 -48
  280. package/node_modules/hono/dist/cjs/utils/filepath.js +23 -54
  281. package/node_modules/hono/dist/cjs/utils/handler.js +11 -33
  282. package/node_modules/hono/dist/cjs/utils/headers.js +0 -15
  283. package/node_modules/hono/dist/cjs/utils/html.js +96 -137
  284. package/node_modules/hono/dist/cjs/utils/http-status.js +0 -15
  285. package/node_modules/hono/dist/cjs/utils/ipaddr.js +213 -286
  286. package/node_modules/hono/dist/cjs/utils/jwt/index.js +14 -27
  287. package/node_modules/hono/dist/cjs/utils/jwt/jwa.js +25 -42
  288. package/node_modules/hono/dist/cjs/utils/jwt/jws.js +119 -199
  289. package/node_modules/hono/dist/cjs/utils/jwt/jwt.js +122 -205
  290. package/node_modules/hono/dist/cjs/utils/jwt/types.js +122 -159
  291. package/node_modules/hono/dist/cjs/utils/jwt/utf8.js +9 -28
  292. package/node_modules/hono/dist/cjs/utils/mime.js +75 -101
  293. package/node_modules/hono/dist/cjs/utils/stream.js +88 -111
  294. package/node_modules/hono/dist/cjs/utils/types.js +0 -15
  295. package/node_modules/hono/dist/cjs/utils/url.js +185 -234
  296. package/node_modules/hono/dist/cjs/validator/index.js +3 -27
  297. package/node_modules/hono/dist/cjs/validator/utils.js +0 -15
  298. package/node_modules/hono/dist/cjs/validator/validator.js +60 -103
  299. package/node_modules/hono/dist/client/client.js +138 -197
  300. package/node_modules/hono/dist/client/fetch-result-please.js +59 -56
  301. package/node_modules/hono/dist/client/index.js +3 -7
  302. package/node_modules/hono/dist/client/types.js +1 -0
  303. package/node_modules/hono/dist/client/utils.js +51 -68
  304. package/node_modules/hono/dist/compose.js +49 -45
  305. package/node_modules/hono/dist/context.js +376 -426
  306. package/node_modules/hono/dist/helper/accepts/accepts.js +47 -49
  307. package/node_modules/hono/dist/helper/accepts/index.js +1 -4
  308. package/node_modules/hono/dist/helper/adapter/index.js +33 -52
  309. package/node_modules/hono/dist/helper/conninfo/index.js +1 -0
  310. package/node_modules/hono/dist/helper/conninfo/types.js +1 -0
  311. package/node_modules/hono/dist/helper/cookie/index.js +74 -94
  312. package/node_modules/hono/dist/helper/css/common.js +167 -225
  313. package/node_modules/hono/dist/helper/css/index.js +132 -137
  314. package/node_modules/hono/dist/helper/dev/index.js +44 -49
  315. package/node_modules/hono/dist/helper/factory/index.js +27 -27
  316. package/node_modules/hono/dist/helper/html/index.js +30 -39
  317. package/node_modules/hono/dist/helper/proxy/index.js +116 -88
  318. package/node_modules/hono/dist/helper/route/index.js +121 -43
  319. package/node_modules/hono/dist/helper/ssg/index.js +3 -18
  320. package/node_modules/hono/dist/helper/ssg/middleware.js +53 -40
  321. package/node_modules/hono/dist/helper/ssg/plugins.js +55 -36
  322. package/node_modules/hono/dist/helper/ssg/ssg.js +198 -283
  323. package/node_modules/hono/dist/helper/ssg/utils.js +53 -75
  324. package/node_modules/hono/dist/helper/streaming/index.js +2 -8
  325. package/node_modules/hono/dist/helper/streaming/sse.js +50 -61
  326. package/node_modules/hono/dist/helper/streaming/stream.js +22 -31
  327. package/node_modules/hono/dist/helper/streaming/text.js +9 -10
  328. package/node_modules/hono/dist/helper/streaming/utils.js +9 -12
  329. package/node_modules/hono/dist/helper/testing/index.js +16 -10
  330. package/node_modules/hono/dist/helper/websocket/index.js +49 -53
  331. package/node_modules/hono/dist/hono-base.js +344 -378
  332. package/node_modules/hono/dist/hono.js +27 -20
  333. package/node_modules/hono/dist/http-exception.js +53 -33
  334. package/node_modules/hono/dist/index.js +19 -6
  335. package/node_modules/hono/dist/jsx/base.js +233 -328
  336. package/node_modules/hono/dist/jsx/children.js +16 -20
  337. package/node_modules/hono/dist/jsx/components.js +118 -171
  338. package/node_modules/hono/dist/jsx/constants.js +9 -15
  339. package/node_modules/hono/dist/jsx/context.js +153 -150
  340. package/node_modules/hono/dist/jsx/dom/client.js +45 -48
  341. package/node_modules/hono/dist/jsx/dom/components.js +21 -29
  342. package/node_modules/hono/dist/jsx/dom/context.js +37 -44
  343. package/node_modules/hono/dist/jsx/dom/css.js +142 -147
  344. package/node_modules/hono/dist/jsx/dom/hooks/index.js +52 -40
  345. package/node_modules/hono/dist/jsx/dom/index.js +71 -134
  346. package/node_modules/hono/dist/jsx/dom/intrinsic-element/components.js +275 -359
  347. package/node_modules/hono/dist/jsx/dom/jsx-dev-runtime.js +14 -18
  348. package/node_modules/hono/dist/jsx/dom/jsx-runtime.js +2 -8
  349. package/node_modules/hono/dist/jsx/dom/render.js +492 -595
  350. package/node_modules/hono/dist/jsx/dom/server.js +33 -29
  351. package/node_modules/hono/dist/jsx/dom/utils.js +6 -8
  352. package/node_modules/hono/dist/jsx/hooks/index.js +236 -308
  353. package/node_modules/hono/dist/jsx/index.js +45 -98
  354. package/node_modules/hono/dist/jsx/intrinsic-element/common.js +20 -22
  355. package/node_modules/hono/dist/jsx/intrinsic-element/components.js +113 -154
  356. package/node_modules/hono/dist/jsx/intrinsic-elements.js +1 -0
  357. package/node_modules/hono/dist/jsx/jsx-dev-runtime.js +12 -16
  358. package/node_modules/hono/dist/jsx/jsx-runtime.js +29 -42
  359. package/node_modules/hono/dist/jsx/streaming.js +120 -143
  360. package/node_modules/hono/dist/jsx/types.js +1 -0
  361. package/node_modules/hono/dist/jsx/utils.js +105 -168
  362. package/node_modules/hono/dist/middleware/basic-auth/index.js +96 -63
  363. package/node_modules/hono/dist/middleware/bearer-auth/index.js +93 -89
  364. package/node_modules/hono/dist/middleware/body-limit/index.js +66 -51
  365. package/node_modules/hono/dist/middleware/cache/index.js +165 -190
  366. package/node_modules/hono/dist/middleware/combine/index.js +134 -73
  367. package/node_modules/hono/dist/middleware/compress/index.js +75 -69
  368. package/node_modules/hono/dist/middleware/context-storage/index.js +49 -19
  369. package/node_modules/hono/dist/middleware/cors/index.js +107 -86
  370. package/node_modules/hono/dist/middleware/csrf/index.js +103 -53
  371. package/node_modules/hono/dist/middleware/etag/digest.js +59 -77
  372. package/node_modules/hono/dist/middleware/etag/index.js +71 -70
  373. package/node_modules/hono/dist/middleware/ip-restriction/index.js +163 -158
  374. package/node_modules/hono/dist/middleware/jsx-renderer/index.js +97 -54
  375. package/node_modules/hono/dist/middleware/jwk/index.js +1 -4
  376. package/node_modules/hono/dist/middleware/jwk/jwk.js +116 -112
  377. package/node_modules/hono/dist/middleware/jwt/index.js +2 -10
  378. package/node_modules/hono/dist/middleware/jwt/jwt.js +114 -114
  379. package/node_modules/hono/dist/middleware/language/index.js +2 -15
  380. package/node_modules/hono/dist/middleware/language/language.js +180 -154
  381. package/node_modules/hono/dist/middleware/logger/index.js +43 -37
  382. package/node_modules/hono/dist/middleware/method-not-allowed/index.js +81 -66
  383. package/node_modules/hono/dist/middleware/method-override/index.js +101 -81
  384. package/node_modules/hono/dist/middleware/mount/index.js +70 -0
  385. package/node_modules/hono/dist/middleware/powered-by/index.js +23 -9
  386. package/node_modules/hono/dist/middleware/pretty-json/index.js +39 -16
  387. package/node_modules/hono/dist/middleware/request-id/index.js +1 -4
  388. package/node_modules/hono/dist/middleware/request-id/request-id.js +33 -20
  389. package/node_modules/hono/dist/middleware/secure-headers/index.js +1 -5
  390. package/node_modules/hono/dist/middleware/secure-headers/permissions-policy.js +1 -0
  391. package/node_modules/hono/dist/middleware/secure-headers/secure-headers.js +144 -155
  392. package/node_modules/hono/dist/middleware/serve-static/index.js +56 -72
  393. package/node_modules/hono/dist/middleware/serve-static/path.js +15 -17
  394. package/node_modules/hono/dist/middleware/timeout/index.js +40 -23
  395. package/node_modules/hono/dist/middleware/timing/index.js +2 -9
  396. package/node_modules/hono/dist/middleware/timing/timing.js +177 -97
  397. package/node_modules/hono/dist/middleware/trailing-slash/index.js +85 -37
  398. package/node_modules/hono/dist/preset/quick.js +17 -15
  399. package/node_modules/hono/dist/preset/tiny.js +14 -11
  400. package/node_modules/hono/dist/request/constants.js +4 -5
  401. package/node_modules/hono/dist/request.js +328 -316
  402. package/node_modules/hono/dist/router/linear-router/index.js +1 -4
  403. package/node_modules/hono/dist/router/linear-router/router.js +93 -120
  404. package/node_modules/hono/dist/router/pattern-router/index.js +1 -4
  405. package/node_modules/hono/dist/router/pattern-router/router.js +39 -40
  406. package/node_modules/hono/dist/router/reg-exp-router/index.js +1 -7
  407. package/node_modules/hono/dist/router/reg-exp-router/matcher.js +17 -23
  408. package/node_modules/hono/dist/router/reg-exp-router/node.js +87 -110
  409. package/node_modules/hono/dist/router/reg-exp-router/prepared-router.js +89 -137
  410. package/node_modules/hono/dist/router/reg-exp-router/router.js +92 -129
  411. package/node_modules/hono/dist/router/reg-exp-router/trie.js +69 -64
  412. package/node_modules/hono/dist/router/smart-router/index.js +1 -4
  413. package/node_modules/hono/dist/router/smart-router/router.js +46 -55
  414. package/node_modules/hono/dist/router/trie-router/index.js +1 -4
  415. package/node_modules/hono/dist/router/trie-router/node.js +131 -162
  416. package/node_modules/hono/dist/router/trie-router/router.js +11 -14
  417. package/node_modules/hono/dist/router/utils.js +4 -5
  418. package/node_modules/hono/dist/router.js +35 -14
  419. package/node_modules/hono/dist/types/adapter/aws-lambda/conninfo.d.ts +4 -1
  420. package/node_modules/hono/dist/types/adapter/aws-lambda/handler.d.ts +150 -104
  421. package/node_modules/hono/dist/types/adapter/aws-lambda/index.d.ts +4 -8
  422. package/node_modules/hono/dist/types/adapter/aws-lambda/types.d.ts +152 -122
  423. package/node_modules/hono/dist/types/adapter/bun/conninfo.d.ts +4 -1
  424. package/node_modules/hono/dist/types/adapter/bun/index.d.ts +6 -10
  425. package/node_modules/hono/dist/types/adapter/bun/serve-static.d.ts +7 -2
  426. package/node_modules/hono/dist/types/adapter/bun/server.d.ts +4 -5
  427. package/node_modules/hono/dist/types/adapter/bun/ssg.d.ts +5 -1
  428. package/node_modules/hono/dist/types/adapter/bun/websocket.d.ts +31 -16
  429. package/node_modules/hono/dist/types/adapter/cloudflare-pages/conninfo.d.ts +4 -1
  430. package/node_modules/hono/dist/types/adapter/cloudflare-pages/handler.d.ts +29 -17
  431. package/node_modules/hono/dist/types/adapter/cloudflare-pages/index.d.ts +3 -7
  432. package/node_modules/hono/dist/types/adapter/cloudflare-workers/conninfo.d.ts +6 -1
  433. package/node_modules/hono/dist/types/adapter/cloudflare-workers/index.d.ts +4 -7
  434. package/node_modules/hono/dist/types/adapter/cloudflare-workers/serve-static-module.d.ts +5 -2
  435. package/node_modules/hono/dist/types/adapter/cloudflare-workers/serve-static.d.ts +10 -5
  436. package/node_modules/hono/dist/types/adapter/cloudflare-workers/utils.d.ts +10 -2
  437. package/node_modules/hono/dist/types/adapter/cloudflare-workers/websocket.d.ts +6 -1
  438. package/node_modules/hono/dist/types/adapter/deno/conninfo.d.ts +4 -1
  439. package/node_modules/hono/dist/types/adapter/deno/deno.d.ts +1 -0
  440. package/node_modules/hono/dist/types/adapter/deno/index.d.ts +5 -8
  441. package/node_modules/hono/dist/types/adapter/deno/serve-static.d.ts +7 -2
  442. package/node_modules/hono/dist/types/adapter/deno/ssg.d.ts +5 -1
  443. package/node_modules/hono/dist/types/adapter/deno/websocket.d.ts +6 -1
  444. package/node_modules/hono/dist/types/adapter/lambda-edge/conninfo.d.ts +6 -1
  445. package/node_modules/hono/dist/types/adapter/lambda-edge/handler.d.ts +83 -57
  446. package/node_modules/hono/dist/types/adapter/lambda-edge/index.d.ts +3 -7
  447. package/node_modules/hono/dist/types/adapter/netlify/conninfo.d.ts +4 -1
  448. package/node_modules/hono/dist/types/adapter/netlify/handler.d.ts +6 -1
  449. package/node_modules/hono/dist/types/adapter/netlify/index.d.ts +3 -5
  450. package/node_modules/hono/dist/types/adapter/netlify/mod.d.ts +3 -2
  451. package/node_modules/hono/dist/types/adapter/service-worker/handler.d.ts +9 -7
  452. package/node_modules/hono/dist/types/adapter/service-worker/index.d.ts +7 -9
  453. package/node_modules/hono/dist/types/adapter/service-worker/types.d.ts +12 -7
  454. package/node_modules/hono/dist/types/adapter/vercel/conninfo.d.ts +6 -1
  455. package/node_modules/hono/dist/types/adapter/vercel/handler.d.ts +6 -1
  456. package/node_modules/hono/dist/types/adapter/vercel/index.d.ts +3 -6
  457. package/node_modules/hono/dist/types/client/client.d.ts +5 -3
  458. package/node_modules/hono/dist/types/client/fetch-result-please.d.ts +21 -19
  459. package/node_modules/hono/dist/types/client/index.d.ts +5 -7
  460. package/node_modules/hono/dist/types/client/types.d.ts +134 -159
  461. package/node_modules/hono/dist/types/client/utils.d.ts +6 -4
  462. package/node_modules/hono/dist/types/compose.d.ts +4 -2
  463. package/node_modules/hono/dist/types/context.d.ts +335 -335
  464. package/node_modules/hono/dist/types/helper/accepts/accepts.d.ts +11 -9
  465. package/node_modules/hono/dist/types/helper/accepts/index.d.ts +2 -5
  466. package/node_modules/hono/dist/types/helper/adapter/index.d.ts +4 -6
  467. package/node_modules/hono/dist/types/helper/conninfo/index.d.ts +2 -5
  468. package/node_modules/hono/dist/types/helper/conninfo/types.d.ts +25 -23
  469. package/node_modules/hono/dist/types/helper/cookie/index.d.ts +10 -12
  470. package/node_modules/hono/dist/types/helper/css/common.d.ts +11 -9
  471. package/node_modules/hono/dist/types/helper/css/index.d.ts +26 -28
  472. package/node_modules/hono/dist/types/helper/dev/index.d.ts +10 -12
  473. package/node_modules/hono/dist/types/helper/factory/index.d.ts +26 -73
  474. package/node_modules/hono/dist/types/helper/html/index.d.ts +4 -7
  475. package/node_modules/hono/dist/types/helper/proxy/index.d.ts +20 -22
  476. package/node_modules/hono/dist/types/helper/route/index.d.ts +6 -4
  477. package/node_modules/hono/dist/types/helper/ssg/index.d.ts +4 -7
  478. package/node_modules/hono/dist/types/helper/ssg/middleware.d.ts +8 -6
  479. package/node_modules/hono/dist/types/helper/ssg/plugins.d.ts +3 -1
  480. package/node_modules/hono/dist/types/helper/ssg/ssg.d.ts +38 -36
  481. package/node_modules/hono/dist/types/helper/ssg/utils.d.ts +5 -3
  482. package/node_modules/hono/dist/types/helper/streaming/index.d.ts +4 -8
  483. package/node_modules/hono/dist/types/helper/streaming/sse.d.ts +10 -8
  484. package/node_modules/hono/dist/types/helper/streaming/stream.d.ts +4 -2
  485. package/node_modules/hono/dist/types/helper/streaming/text.d.ts +4 -2
  486. package/node_modules/hono/dist/types/helper/streaming/utils.d.ts +2 -0
  487. package/node_modules/hono/dist/types/helper/testing/index.d.ts +7 -9
  488. package/node_modules/hono/dist/types/helper/websocket/index.d.ts +30 -33
  489. package/node_modules/hono/dist/types/hono-base.d.ts +210 -210
  490. package/node_modules/hono/dist/types/hono.d.ts +11 -10
  491. package/node_modules/hono/dist/types/http-exception.d.ts +20 -22
  492. package/node_modules/hono/dist/types/index.d.ts +6 -37
  493. package/node_modules/hono/dist/types/jsx/base.d.ts +40 -35
  494. package/node_modules/hono/dist/types/jsx/children.d.ts +8 -6
  495. package/node_modules/hono/dist/types/jsx/components.d.ts +8 -5
  496. package/node_modules/hono/dist/types/jsx/constants.d.ts +2 -0
  497. package/node_modules/hono/dist/types/jsx/context.d.ts +9 -6
  498. package/node_modules/hono/dist/types/jsx/dom/client.d.ts +9 -10
  499. package/node_modules/hono/dist/types/jsx/dom/components.d.ts +9 -6
  500. package/node_modules/hono/dist/types/jsx/dom/context.d.ts +3 -1
  501. package/node_modules/hono/dist/types/jsx/dom/css.d.ts +27 -30
  502. package/node_modules/hono/dist/types/jsx/dom/hooks/index.d.ts +11 -12
  503. package/node_modules/hono/dist/types/jsx/dom/index.d.ts +79 -83
  504. package/node_modules/hono/dist/types/jsx/dom/intrinsic-element/components.d.ts +9 -5
  505. package/node_modules/hono/dist/types/jsx/dom/jsx-dev-runtime.d.ts +4 -6
  506. package/node_modules/hono/dist/types/jsx/dom/jsx-runtime.d.ts +3 -7
  507. package/node_modules/hono/dist/types/jsx/dom/render.d.ts +32 -50
  508. package/node_modules/hono/dist/types/jsx/dom/server.d.ts +87 -85
  509. package/node_modules/hono/dist/types/jsx/dom/utils.d.ts +2 -0
  510. package/node_modules/hono/dist/types/jsx/hooks/index.d.ts +16 -16
  511. package/node_modules/hono/dist/types/jsx/index.d.ts +71 -73
  512. package/node_modules/hono/dist/types/jsx/intrinsic-element/common.d.ts +3 -1
  513. package/node_modules/hono/dist/types/jsx/intrinsic-element/components.d.ts +7 -4
  514. package/node_modules/hono/dist/types/jsx/intrinsic-elements.d.ts +708 -708
  515. package/node_modules/hono/dist/types/jsx/jsx-dev-runtime.d.ts +4 -7
  516. package/node_modules/hono/dist/types/jsx/jsx-runtime.d.ts +7 -10
  517. package/node_modules/hono/dist/types/jsx/streaming.d.ts +9 -10
  518. package/node_modules/hono/dist/types/jsx/types.d.ts +12 -13
  519. package/node_modules/hono/dist/types/jsx/utils.d.ts +2 -0
  520. package/node_modules/hono/dist/types/middleware/basic-auth/index.d.ts +17 -19
  521. package/node_modules/hono/dist/types/middleware/bearer-auth/index.d.ts +46 -48
  522. package/node_modules/hono/dist/types/middleware/body-limit/index.d.ts +6 -8
  523. package/node_modules/hono/dist/types/middleware/cache/index.d.ts +13 -15
  524. package/node_modules/hono/dist/types/middleware/combine/index.d.ts +7 -7
  525. package/node_modules/hono/dist/types/middleware/compress/index.d.ts +9 -10
  526. package/node_modules/hono/dist/types/middleware/context-storage/index.d.ts +4 -6
  527. package/node_modules/hono/dist/types/middleware/cors/index.d.ts +10 -12
  528. package/node_modules/hono/dist/types/middleware/csrf/index.d.ts +6 -8
  529. package/node_modules/hono/dist/types/middleware/etag/digest.d.ts +2 -0
  530. package/node_modules/hono/dist/types/middleware/etag/index.d.ts +6 -8
  531. package/node_modules/hono/dist/types/middleware/ip-restriction/index.d.ts +11 -12
  532. package/node_modules/hono/dist/types/middleware/jsx-renderer/index.d.ts +11 -11
  533. package/node_modules/hono/dist/types/middleware/jwk/index.d.ts +2 -1
  534. package/node_modules/hono/dist/types/middleware/jwk/jwk.d.ts +20 -23
  535. package/node_modules/hono/dist/types/middleware/jwt/index.d.ts +7 -6
  536. package/node_modules/hono/dist/types/middleware/jwt/jwt.d.ts +28 -30
  537. package/node_modules/hono/dist/types/middleware/language/index.d.ts +6 -5
  538. package/node_modules/hono/dist/types/middleware/language/language.d.ts +42 -44
  539. package/node_modules/hono/dist/types/middleware/logger/index.d.ts +3 -5
  540. package/node_modules/hono/dist/types/middleware/method-not-allowed/index.d.ts +7 -9
  541. package/node_modules/hono/dist/types/middleware/method-override/index.d.ts +14 -16
  542. package/node_modules/hono/dist/types/middleware/mount/index.d.ts +46 -0
  543. package/node_modules/hono/dist/types/middleware/powered-by/index.d.ts +8 -10
  544. package/node_modules/hono/dist/types/middleware/pretty-json/index.d.ts +18 -20
  545. package/node_modules/hono/dist/types/middleware/request-id/index.d.ts +6 -5
  546. package/node_modules/hono/dist/types/middleware/request-id/request-id.d.ts +9 -11
  547. package/node_modules/hono/dist/types/middleware/secure-headers/index.d.ts +6 -6
  548. package/node_modules/hono/dist/types/middleware/secure-headers/permissions-policy.d.ts +2 -0
  549. package/node_modules/hono/dist/types/middleware/secure-headers/secure-headers.d.ts +55 -57
  550. package/node_modules/hono/dist/types/middleware/serve-static/index.d.ts +24 -24
  551. package/node_modules/hono/dist/types/middleware/serve-static/path.d.ts +2 -0
  552. package/node_modules/hono/dist/types/middleware/timeout/index.d.ts +5 -7
  553. package/node_modules/hono/dist/types/middleware/timing/index.d.ts +6 -5
  554. package/node_modules/hono/dist/types/middleware/timing/timing.d.ts +17 -20
  555. package/node_modules/hono/dist/types/middleware/trailing-slash/index.d.ts +35 -37
  556. package/node_modules/hono/dist/types/preset/quick.d.ts +6 -9
  557. package/node_modules/hono/dist/types/preset/tiny.d.ts +6 -9
  558. package/node_modules/hono/dist/types/request/constants.d.ts +2 -0
  559. package/node_modules/hono/dist/types/request.d.ts +288 -286
  560. package/node_modules/hono/dist/types/router/linear-router/index.d.ts +2 -5
  561. package/node_modules/hono/dist/types/router/linear-router/router.d.ts +7 -5
  562. package/node_modules/hono/dist/types/router/pattern-router/index.d.ts +2 -5
  563. package/node_modules/hono/dist/types/router/pattern-router/router.d.ts +7 -5
  564. package/node_modules/hono/dist/types/router/reg-exp-router/index.d.ts +3 -6
  565. package/node_modules/hono/dist/types/router/reg-exp-router/matcher.d.ts +3 -1
  566. package/node_modules/hono/dist/types/router/reg-exp-router/node.d.ts +6 -4
  567. package/node_modules/hono/dist/types/router/reg-exp-router/prepared-router.d.ts +11 -10
  568. package/node_modules/hono/dist/types/router/reg-exp-router/router.d.ts +10 -9
  569. package/node_modules/hono/dist/types/router/reg-exp-router/trie.d.ts +7 -5
  570. package/node_modules/hono/dist/types/router/smart-router/index.d.ts +2 -5
  571. package/node_modules/hono/dist/types/router/smart-router/router.d.ts +11 -9
  572. package/node_modules/hono/dist/types/router/trie-router/index.d.ts +2 -5
  573. package/node_modules/hono/dist/types/router/trie-router/node.d.ts +6 -4
  574. package/node_modules/hono/dist/types/router/trie-router/router.d.ts +7 -5
  575. package/node_modules/hono/dist/types/router/utils.d.ts +2 -0
  576. package/node_modules/hono/dist/types/router.d.ts +23 -22
  577. package/node_modules/hono/dist/types/types.d.ts +146 -505
  578. package/node_modules/hono/dist/types/utils/accept.d.ts +5 -3
  579. package/node_modules/hono/dist/types/utils/basic-auth.d.ts +4 -2
  580. package/node_modules/hono/dist/types/utils/body.d.ts +46 -50
  581. package/node_modules/hono/dist/types/utils/buffer.d.ts +7 -5
  582. package/node_modules/hono/dist/types/utils/color.d.ts +2 -0
  583. package/node_modules/hono/dist/types/utils/compress.d.ts +2 -0
  584. package/node_modules/hono/dist/types/utils/concurrent.d.ts +6 -4
  585. package/node_modules/hono/dist/types/utils/constants.d.ts +2 -0
  586. package/node_modules/hono/dist/types/utils/cookie.d.ts +20 -18
  587. package/node_modules/hono/dist/types/utils/crypto.d.ts +5 -7
  588. package/node_modules/hono/dist/types/utils/encode.d.ts +2 -0
  589. package/node_modules/hono/dist/types/utils/filepath.d.ts +5 -3
  590. package/node_modules/hono/dist/types/utils/handler.d.ts +2 -0
  591. package/node_modules/hono/dist/types/utils/headers.d.ts +2 -0
  592. package/node_modules/hono/dist/types/utils/html.d.ts +11 -9
  593. package/node_modules/hono/dist/types/utils/http-status.d.ts +2 -0
  594. package/node_modules/hono/dist/types/utils/ipaddr.d.ts +4 -6
  595. package/node_modules/hono/dist/types/utils/jwt/index.d.ts +18 -12
  596. package/node_modules/hono/dist/types/utils/jwt/jwa.d.ts +15 -13
  597. package/node_modules/hono/dist/types/utils/jwt/jws.d.ts +4 -7
  598. package/node_modules/hono/dist/types/utils/jwt/jwt.d.ts +26 -29
  599. package/node_modules/hono/dist/types/utils/jwt/types.d.ts +48 -45
  600. package/node_modules/hono/dist/types/utils/jwt/utf8.d.ts +2 -0
  601. package/node_modules/hono/dist/types/utils/mime.d.ts +60 -57
  602. package/node_modules/hono/dist/types/utils/stream.d.ts +27 -25
  603. package/node_modules/hono/dist/types/utils/types.d.ts +15 -27
  604. package/node_modules/hono/dist/types/utils/url.d.ts +2 -0
  605. package/node_modules/hono/dist/types/validator/index.d.ts +3 -7
  606. package/node_modules/hono/dist/types/validator/utils.d.ts +6 -8
  607. package/node_modules/hono/dist/types/validator/validator.d.ts +11 -9
  608. package/node_modules/hono/dist/types.js +4 -6
  609. package/node_modules/hono/dist/utils/accept.js +185 -215
  610. package/node_modules/hono/dist/utils/basic-auth.js +18 -21
  611. package/node_modules/hono/dist/utils/body.js +87 -92
  612. package/node_modules/hono/dist/utils/buffer.js +44 -71
  613. package/node_modules/hono/dist/utils/color.js +33 -21
  614. package/node_modules/hono/dist/utils/compress.js +11 -5
  615. package/node_modules/hono/dist/utils/concurrent.js +29 -38
  616. package/node_modules/hono/dist/utils/constants.js +7 -5
  617. package/node_modules/hono/dist/utils/cookie.js +114 -163
  618. package/node_modules/hono/dist/utils/crypto.js +30 -40
  619. package/node_modules/hono/dist/utils/encode.js +30 -26
  620. package/node_modules/hono/dist/utils/filepath.js +23 -33
  621. package/node_modules/hono/dist/utils/handler.js +10 -11
  622. package/node_modules/hono/dist/utils/headers.js +1 -0
  623. package/node_modules/hono/dist/utils/html.js +97 -117
  624. package/node_modules/hono/dist/utils/http-status.js +1 -0
  625. package/node_modules/hono/dist/utils/ipaddr.js +227 -279
  626. package/node_modules/hono/dist/utils/jwt/index.js +12 -4
  627. package/node_modules/hono/dist/utils/jwt/jwa.js +24 -20
  628. package/node_modules/hono/dist/utils/jwt/jws.js +115 -174
  629. package/node_modules/hono/dist/utils/jwt/jwt.js +120 -197
  630. package/node_modules/hono/dist/utils/jwt/types.js +79 -95
  631. package/node_modules/hono/dist/utils/jwt/utf8.js +9 -7
  632. package/node_modules/hono/dist/utils/mime.js +74 -79
  633. package/node_modules/hono/dist/utils/stream.js +86 -88
  634. package/node_modules/hono/dist/utils/types.js +1 -0
  635. package/node_modules/hono/dist/utils/url.js +187 -215
  636. package/node_modules/hono/dist/validator/index.js +1 -4
  637. package/node_modules/hono/dist/validator/utils.js +1 -0
  638. package/node_modules/hono/dist/validator/validator.js +61 -83
  639. package/node_modules/hono/package.json +36 -28
  640. package/node_modules/ip-address/README.md +114 -114
  641. package/node_modules/ip-address/dist/common.d.ts +5 -0
  642. package/node_modules/ip-address/dist/common.js +12 -0
  643. package/node_modules/ip-address/dist/common.js.map +1 -1
  644. package/node_modules/ip-address/dist/ipv4.d.ts +10 -3
  645. package/node_modules/ip-address/dist/ipv4.js +27 -5
  646. package/node_modules/ip-address/dist/ipv4.js.map +1 -1
  647. package/node_modules/ip-address/dist/ipv6.d.ts +5 -1
  648. package/node_modules/ip-address/dist/ipv6.js +18 -3
  649. package/node_modules/ip-address/dist/ipv6.js.map +1 -1
  650. package/node_modules/ip-address/package.json +1 -1
  651. package/node_modules/proxy-addr/HISTORY.md +60 -54
  652. package/node_modules/proxy-addr/README.md +1 -1
  653. package/node_modules/proxy-addr/index.js +32 -0
  654. package/node_modules/proxy-addr/package.json +8 -4
  655. package/package.json +2 -2
package/lib/config.mjs CHANGED
@@ -2,7 +2,7 @@ import { homedir } from "node:os";
2
2
  import path from "node:path";
3
3
 
4
4
  // 프록시 버전 — 서버가 X-AImakeAll-MCP-Version 으로 하한을 강제(426)할 수 있다.
5
- export const MCP_PROXY_VERSION = "0.14.5";
5
+ export const MCP_PROXY_VERSION = "0.14.7";
6
6
 
7
7
  export const DEFAULT_API_BASE = "https://aimakeall.com";
8
8
  export const DEFAULT_COMPANION_URL = "http://127.0.0.1:9876";
@@ -42,6 +42,15 @@ export interface ClientCredentialsProviderOptions {
42
42
  * Space-separated scopes values requested by the client.
43
43
  */
44
44
  scope?: string;
45
+ /**
46
+ * The issuer URL of the authorization server these credentials were registered with.
47
+ * When set, `auth()` only presents them to that authorization server and throws if the
48
+ * MCP server advertises a different URL (one trailing slash aside).
49
+ *
50
+ * Omitting it is deprecated: the credentials then go to whichever authorization server
51
+ * the MCP server advertises first.
52
+ */
53
+ expectedIssuer?: string;
45
54
  }
46
55
  /**
47
56
  * OAuth provider for client_credentials grant with client_secret_basic authentication.
@@ -52,7 +61,8 @@ export interface ClientCredentialsProviderOptions {
52
61
  * @example
53
62
  * const provider = new ClientCredentialsProvider({
54
63
  * clientId: 'my-client',
55
- * clientSecret: 'my-secret'
64
+ * clientSecret: 'my-secret',
65
+ * expectedIssuer: 'https://auth.example.com'
56
66
  * });
57
67
  *
58
68
  * const transport = new StreamableHTTPClientTransport(serverUrl, {
@@ -63,6 +73,10 @@ export declare class ClientCredentialsProvider implements OAuthClientProvider {
63
73
  private _tokens?;
64
74
  private _clientInfo;
65
75
  private _clientMetadata;
76
+ constructor(options: ClientCredentialsProviderOptions & {
77
+ expectedIssuer: string;
78
+ });
79
+ /** @deprecated Pass `expectedIssuer` so the credentials are only sent to that authorization server. */
66
80
  constructor(options: ClientCredentialsProviderOptions);
67
81
  get redirectUrl(): undefined;
68
82
  get clientMetadata(): OAuthClientMetadata;
@@ -104,6 +118,15 @@ export interface PrivateKeyJwtProviderOptions {
104
118
  * Space-separated scopes values requested by the client.
105
119
  */
106
120
  scope?: string;
121
+ /**
122
+ * The issuer URL of the authorization server these credentials were registered with.
123
+ * When set, `auth()` only presents them to that authorization server and throws if the
124
+ * MCP server advertises a different URL (one trailing slash aside).
125
+ *
126
+ * Omitting it is deprecated: the credentials then go to whichever authorization server
127
+ * the MCP server advertises first.
128
+ */
129
+ expectedIssuer?: string;
107
130
  }
108
131
  /**
109
132
  * OAuth provider for client_credentials grant with private_key_jwt authentication.
@@ -115,7 +138,8 @@ export interface PrivateKeyJwtProviderOptions {
115
138
  * const provider = new PrivateKeyJwtProvider({
116
139
  * clientId: 'my-client',
117
140
  * privateKey: pemEncodedPrivateKey,
118
- * algorithm: 'RS256'
141
+ * algorithm: 'RS256',
142
+ * expectedIssuer: 'https://auth.example.com'
119
143
  * });
120
144
  *
121
145
  * const transport = new StreamableHTTPClientTransport(serverUrl, {
@@ -127,6 +151,10 @@ export declare class PrivateKeyJwtProvider implements OAuthClientProvider {
127
151
  private _clientInfo;
128
152
  private _clientMetadata;
129
153
  addClientAuthentication: AddClientAuthentication;
154
+ constructor(options: PrivateKeyJwtProviderOptions & {
155
+ expectedIssuer: string;
156
+ });
157
+ /** @deprecated Pass `expectedIssuer` so the credentials are only sent to that authorization server. */
130
158
  constructor(options: PrivateKeyJwtProviderOptions);
131
159
  get redirectUrl(): undefined;
132
160
  get clientMetadata(): OAuthClientMetadata;
@@ -162,6 +190,15 @@ export interface StaticPrivateKeyJwtProviderOptions {
162
190
  * Space-separated scopes values requested by the client.
163
191
  */
164
192
  scope?: string;
193
+ /**
194
+ * The issuer URL of the authorization server these credentials were registered with.
195
+ * When set, `auth()` only presents them to that authorization server and throws if the
196
+ * MCP server advertises a different URL (one trailing slash aside).
197
+ *
198
+ * Omitting it is deprecated: the credentials then go to whichever authorization server
199
+ * the MCP server advertises first.
200
+ */
201
+ expectedIssuer?: string;
165
202
  }
166
203
  /**
167
204
  * OAuth provider for client_credentials grant with a static private_key_jwt assertion.
@@ -175,6 +212,10 @@ export declare class StaticPrivateKeyJwtProvider implements OAuthClientProvider
175
212
  private _clientInfo;
176
213
  private _clientMetadata;
177
214
  addClientAuthentication: AddClientAuthentication;
215
+ constructor(options: StaticPrivateKeyJwtProviderOptions & {
216
+ expectedIssuer: string;
217
+ });
218
+ /** @deprecated Pass `expectedIssuer` so the credentials are only sent to that authorization server. */
178
219
  constructor(options: StaticPrivateKeyJwtProviderOptions);
179
220
  get redirectUrl(): undefined;
180
221
  get clientMetadata(): OAuthClientMetadata;
@@ -1 +1 @@
1
- {"version":3,"file":"auth-extensions.d.ts","sourceRoot":"","sources":["../../../src/client/auth-extensions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth-extensions.d.ts","sourceRoot":"","sources":["../../../src/client/auth-extensions.ts"],"names":[],"mappings":"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"}
@@ -99,6 +99,22 @@ function createPrivateKeyJwtAuth(options) {
99
99
  params.set('client_assertion_type', 'urn:ietf:params:oauth:client-assertion-type:jwt-bearer');
100
100
  };
101
101
  }
102
+ /**
103
+ * The `issuer` stamp for constructor-supplied client information. Omitting `expectedIssuer` is
104
+ * deprecated: nothing else says which authorization server such credentials belong to.
105
+ */
106
+ function checkedExpectedIssuer(expectedIssuer) {
107
+ if (expectedIssuer === undefined) {
108
+ // eslint-disable-next-line no-console
109
+ console.warn('[mcp-sdk] Omitting `expectedIssuer` is deprecated. Without it, the MCP server decides which authorization ' +
110
+ "server receives this client's credentials; pass your authorization server's issuer URL as " +
111
+ '`expectedIssuer` so they are only sent there.');
112
+ }
113
+ else if (typeof expectedIssuer !== 'string' || !expectedIssuer) {
114
+ throw new Error("expectedIssuer must be the authorization server's issuer URL");
115
+ }
116
+ return expectedIssuer;
117
+ }
102
118
  /**
103
119
  * OAuth provider for client_credentials grant with client_secret_basic authentication.
104
120
  *
@@ -108,7 +124,8 @@ function createPrivateKeyJwtAuth(options) {
108
124
  * @example
109
125
  * const provider = new ClientCredentialsProvider({
110
126
  * clientId: 'my-client',
111
- * clientSecret: 'my-secret'
127
+ * clientSecret: 'my-secret',
128
+ * expectedIssuer: 'https://auth.example.com'
112
129
  * });
113
130
  *
114
131
  * const transport = new StreamableHTTPClientTransport(serverUrl, {
@@ -119,7 +136,8 @@ class ClientCredentialsProvider {
119
136
  constructor(options) {
120
137
  this._clientInfo = {
121
138
  client_id: options.clientId,
122
- client_secret: options.clientSecret
139
+ client_secret: options.clientSecret,
140
+ issuer: checkedExpectedIssuer(options.expectedIssuer)
123
141
  };
124
142
  this._clientMetadata = {
125
143
  client_name: options.clientName ?? 'client-credentials-client',
@@ -174,7 +192,8 @@ exports.ClientCredentialsProvider = ClientCredentialsProvider;
174
192
  * const provider = new PrivateKeyJwtProvider({
175
193
  * clientId: 'my-client',
176
194
  * privateKey: pemEncodedPrivateKey,
177
- * algorithm: 'RS256'
195
+ * algorithm: 'RS256',
196
+ * expectedIssuer: 'https://auth.example.com'
178
197
  * });
179
198
  *
180
199
  * const transport = new StreamableHTTPClientTransport(serverUrl, {
@@ -184,7 +203,8 @@ exports.ClientCredentialsProvider = ClientCredentialsProvider;
184
203
  class PrivateKeyJwtProvider {
185
204
  constructor(options) {
186
205
  this._clientInfo = {
187
- client_id: options.clientId
206
+ client_id: options.clientId,
207
+ issuer: checkedExpectedIssuer(options.expectedIssuer)
188
208
  };
189
209
  this._clientMetadata = {
190
210
  client_name: options.clientName ?? 'private-key-jwt-client',
@@ -246,7 +266,8 @@ exports.PrivateKeyJwtProvider = PrivateKeyJwtProvider;
246
266
  class StaticPrivateKeyJwtProvider {
247
267
  constructor(options) {
248
268
  this._clientInfo = {
249
- client_id: options.clientId
269
+ client_id: options.clientId,
270
+ issuer: checkedExpectedIssuer(options.expectedIssuer)
250
271
  };
251
272
  this._clientMetadata = {
252
273
  client_name: options.clientName ?? 'static-private-key-jwt-client',
@@ -1 +1 @@
1
- {"version":3,"file":"auth-extensions.js","sourceRoot":"","sources":["../../../src/client/auth-extensions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth-extensions.js","sourceRoot":"","sources":["../../../src/client/auth-extensions.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,10 @@ export interface OAuthClientProvider {
35
35
  * Loads information about this OAuth client, as registered already with the
36
36
  * server, or returns `undefined` if the client is not registered with the
37
37
  * server.
38
+ *
39
+ * A provider that returns pre-registered credentials should include `issuer`, the URL of
40
+ * the authorization server they were registered with; {@linkcode auth} then does not
41
+ * present them to any other.
38
42
  */
39
43
  clientInformation(): OAuthClientInformationMixed | undefined | Promise<OAuthClientInformationMixed | undefined>;
40
44
  /**
@@ -44,6 +48,10 @@ export interface OAuthClientProvider {
44
48
  *
45
49
  * This method is not required to be implemented if client information is
46
50
  * statically known (e.g., pre-registered).
51
+ *
52
+ * The object carries `issuer`, the authorization server it was obtained from. Store it
53
+ * unchanged so that {@linkcode auth} does not reuse the registration with a different one.
54
+ * Client information stored without `issuer` is passed here, with it, after its first successful use.
47
55
  */
48
56
  saveClientInformation?(clientInformation: OAuthClientInformationMixed): void | Promise<void>;
49
57
  /**
@@ -54,6 +62,9 @@ export interface OAuthClientProvider {
54
62
  /**
55
63
  * Stores new OAuth tokens for the current session, after a successful
56
64
  * authorization.
65
+ *
66
+ * The object carries `issuer`, the authorization server that issued the tokens. Store it
67
+ * unchanged so that {@linkcode auth} does not present the refresh token to a different one.
57
68
  */
58
69
  saveTokens(tokens: OAuthTokens): void | Promise<void>;
59
70
  /**
@@ -223,6 +234,17 @@ export declare function auth(provider: OAuthClientProvider, options: {
223
234
  * Validate that the client_id is a valid URL with https scheme
224
235
  */
225
236
  export declare function isHttpsUrl(value?: string): boolean;
237
+ /**
238
+ * Selects the RFC 8707 resource indicator for an MCP server: the provider's
239
+ * {@linkcode OAuthClientProvider.validateResourceURL | validateResourceURL} result when
240
+ * implemented, otherwise the protected resource metadata's `resource` (checked against the
241
+ * server URL with `checkResourceAllowed`), or `undefined` when there is no metadata.
242
+ *
243
+ * The result is a parsed `URL`, so a pathless indicator such as `https://example.com` has
244
+ * the `href` `https://example.com/`. {@linkcode auth} therefore sends the metadata string
245
+ * verbatim instead of this URL's `href` (#1968); callers that emit the `resource`
246
+ * parameter themselves should do the same.
247
+ */
226
248
  export declare function selectResourceURL(serverUrl: string | URL, provider: OAuthClientProvider, resourceMetadata?: OAuthProtectedResourceMetadata): Promise<URL | undefined>;
227
249
  /**
228
250
  * Extract resource_metadata, scope, and error from WWW-Authenticate header.
@@ -342,7 +364,7 @@ export declare function startAuthorization(authorizationServerUrl: string | URL,
342
364
  redirectUrl: string | URL;
343
365
  scope?: string;
344
366
  state?: string;
345
- resource?: URL;
367
+ resource?: string | URL;
346
368
  }): Promise<{
347
369
  authorizationUrl: URL;
348
370
  codeVerifier: string;
@@ -377,7 +399,7 @@ export declare function exchangeAuthorization(authorizationServerUrl: string | U
377
399
  authorizationCode: string;
378
400
  codeVerifier: string;
379
401
  redirectUri: string | URL;
380
- resource?: URL;
402
+ resource?: string | URL;
381
403
  addClientAuthentication?: OAuthClientProvider['addClientAuthentication'];
382
404
  fetchFn?: FetchLike;
383
405
  }): Promise<OAuthTokens>;
@@ -397,7 +419,7 @@ export declare function refreshAuthorization(authorizationServerUrl: string | UR
397
419
  metadata?: AuthorizationServerMetadata;
398
420
  clientInformation: OAuthClientInformationMixed;
399
421
  refreshToken: string;
400
- resource?: URL;
422
+ resource?: string | URL;
401
423
  addClientAuthentication?: OAuthClientProvider['addClientAuthentication'];
402
424
  fetchFn?: FetchLike;
403
425
  }): Promise<OAuthTokens>;
@@ -429,7 +451,7 @@ export declare function refreshAuthorization(authorizationServerUrl: string | UR
429
451
  */
430
452
  export declare function fetchToken(provider: OAuthClientProvider, authorizationServerUrl: string | URL, { metadata, resource, authorizationCode, fetchFn }?: {
431
453
  metadata?: AuthorizationServerMetadata;
432
- resource?: URL;
454
+ resource?: string | URL;
433
455
  /** Authorization code for the default authorization_code grant flow */
434
456
  authorizationCode?: string;
435
457
  fetchFn?: FetchLike;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/client/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/client/auth.ts"],"names":[],"mappings":"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"}
@@ -162,6 +162,44 @@ async function parseErrorResponse(input) {
162
162
  return new errors_js_1.ServerError(errorMessage);
163
163
  }
164
164
  }
165
+ /**
166
+ * Compares two authorization server identifiers, tolerating a single trailing `/`
167
+ * difference (`String(new URL(...))` is slash-suffixed, advertised values often are not).
168
+ */
169
+ function issuersMatch(a, b) {
170
+ let [x, y] = [a, b];
171
+ try {
172
+ // Two URLs are compared as parsed, so the spelling of scheme, host or default port does not matter.
173
+ [x, y] = [new URL(a).href, new URL(b).href];
174
+ }
175
+ catch {
176
+ // Not two URLs: compared as written.
177
+ }
178
+ return x === y || (x.endsWith('/') && x.slice(0, -1) === y) || (y.endsWith('/') && y.slice(0, -1) === x);
179
+ }
180
+ /**
181
+ * {@linkcode auth} stamps everything it passes to `saveClientInformation` / `saveTokens` with
182
+ * `issuer`, the authorization server URL used for discovery. This returns `stored` unless its
183
+ * stamp names a different authorization server, in which case the caller behaves as if nothing
184
+ * were stored. A value without a stamp (saved by an earlier version) is returned as-is, and
185
+ * is stamped once this authorization server has accepted it.
186
+ */
187
+ function discardIfIssuerMismatch(stored, issuer) {
188
+ // `null`: a `JSON.parse(storage.getItem(...))`-style getter with nothing stored.
189
+ if (!stored)
190
+ return undefined;
191
+ // A stamp that is not a string (raw storage) counts as no stamp.
192
+ if (typeof stored.issuer !== 'string')
193
+ return stored.issuer == null ? stored : { ...stored, issuer: undefined };
194
+ return issuersMatch(stored.issuer, issuer) ? stored : undefined;
195
+ }
196
+ // `issuer` is added by the client when it stores a value; authorization server responses are parsed without it.
197
+ const TokenResponseSchema = auth_js_2.OAuthTokensSchema.omit({ issuer: true });
198
+ const RegistrationResponseSchema = auth_js_2.OAuthClientInformationFullSchema.omit({ issuer: true });
199
+ function boundElsewhereError(stored, issuer) {
200
+ return new Error(`OAuth client information is bound to authorization server ${stored.issuer} and is not presented to ${issuer}. ` +
201
+ 'Clear the stored client information, or correct `expectedIssuer`, if the authorization server has moved.');
202
+ }
165
203
  /**
166
204
  * Orchestrates the full auth flow with a server.
167
205
  *
@@ -240,15 +278,45 @@ async function authInternal(provider, { serverUrl, authorizationCode, scope, res
240
278
  authorizationServerMetadata: metadata
241
279
  });
242
280
  }
243
- const resource = await selectResourceURL(serverUrl, provider, resourceMetadata);
281
+ // Binding key for stored credentials: the authorization server URL that discovery used
282
+ // (advertised by the resource server, restored from discoveryState(), or the legacy
283
+ // resource-origin fallback). `metadata.issuer` is deliberately not used: this version does
284
+ // not check that the metadata document echoes the URL it was fetched from.
285
+ const issuer = String(authorizationServerUrl);
286
+ // Send the metadata's resource indicator verbatim: `selectResourceURL` returns a parsed
287
+ // `URL`, and `URL.href` appends "/" to a pathless indicator such as `https://example.com`,
288
+ // which exact-match authorization servers reject (#1968). A URL returned by the
289
+ // provider's own `validateResourceURL` is used as returned.
290
+ const selectedResource = await selectResourceURL(serverUrl, provider, resourceMetadata);
291
+ const resource = selectedResource && resourceMetadata && !provider.validateResourceURL ? resourceMetadata.resource : selectedResource;
244
292
  // Apply scope selection strategy (SEP-835):
245
293
  // 1. WWW-Authenticate scope (passed via `scope` param)
246
294
  // 2. PRM scopes_supported
247
295
  // 3. Client metadata scope (user-configured fallback)
248
296
  // The resolved scope is used consistently for both DCR and the authorization request.
249
297
  const resolvedScope = scope || resourceMetadata?.scopes_supported?.join(' ') || provider.clientMetadata.scope;
250
- // Handle client registration if needed
251
- let clientInformation = await Promise.resolve(provider.clientInformation());
298
+ // Handle client registration if needed. Client information stamped for a different
299
+ // authorization server reads back as `undefined`, so the flow re-registers exactly as if
300
+ // nothing were stored.
301
+ const storedClientInformation = await Promise.resolve(provider.clientInformation());
302
+ let clientInformation = discardIfIssuerMismatch(storedClientInformation, issuer);
303
+ const canRegisterAgain = provider.saveClientInformation !== undefined && !!provider.redirectUrl;
304
+ if (storedClientInformation && !clientInformation && !canRegisterAgain) {
305
+ // Pre-registered credentials, or a non-interactive client running on configured
306
+ // credentials: neither can be re-created by registering with this authorization server.
307
+ throw boundElsewhereError(storedClientInformation, issuer);
308
+ }
309
+ // Saved by an earlier version: bound to the first authorization server that accepts it.
310
+ const unstampedClientInformation = clientInformation?.issuer == null ? clientInformation : undefined;
311
+ const bindClientInformation = async () => {
312
+ try {
313
+ if (unstampedClientInformation)
314
+ await provider.saveClientInformation?.({ ...unstampedClientInformation, issuer });
315
+ }
316
+ catch {
317
+ // A provider that only expects this call after a registration keeps working, unbound.
318
+ }
319
+ };
252
320
  if (!clientInformation) {
253
321
  if (authorizationCode !== undefined) {
254
322
  throw new Error('Existing OAuth client information is required when exchanging an authorization code');
@@ -261,9 +329,7 @@ async function authInternal(provider, { serverUrl, authorizationCode, scope, res
261
329
  const shouldUseUrlBasedClientId = supportsUrlBasedClientId && clientMetadataUrl;
262
330
  if (shouldUseUrlBasedClientId) {
263
331
  // SEP-991: URL-based Client IDs
264
- clientInformation = {
265
- client_id: clientMetadataUrl
266
- };
332
+ clientInformation = { client_id: clientMetadataUrl, issuer };
267
333
  await provider.saveClientInformation?.(clientInformation);
268
334
  }
269
335
  else {
@@ -277,8 +343,8 @@ async function authInternal(provider, { serverUrl, authorizationCode, scope, res
277
343
  scope: resolvedScope,
278
344
  fetchFn
279
345
  });
280
- await provider.saveClientInformation(fullInformation);
281
- clientInformation = fullInformation;
346
+ clientInformation = { ...fullInformation, issuer };
347
+ await provider.saveClientInformation(clientInformation);
282
348
  }
283
349
  }
284
350
  // Non-interactive flows (e.g., client_credentials, jwt-bearer) don't need a redirect URL
@@ -291,10 +357,19 @@ async function authInternal(provider, { serverUrl, authorizationCode, scope, res
291
357
  authorizationCode,
292
358
  fetchFn
293
359
  });
294
- await provider.saveTokens(tokens);
360
+ await bindClientInformation();
361
+ await provider.saveTokens({ ...tokens, issuer });
295
362
  return 'AUTHORIZED';
296
363
  }
297
- const tokens = await provider.tokens();
364
+ // A refresh token stamped for a different authorization server reads back as `undefined`,
365
+ // so it is never posted to this one's token endpoint.
366
+ const tokens = discardIfIssuerMismatch(await provider.tokens(), issuer);
367
+ if (tokens?.refresh_token && tokens.issuer == null) {
368
+ // eslint-disable-next-line no-console
369
+ console.warn("[mcp-sdk] stored OAuth tokens have no 'issuer' property (saved by an earlier version, or by a provider that " +
370
+ 'does not keep it) and are used as-is; make sure your OAuthClientProvider stores what saveTokens() and ' +
371
+ 'saveClientInformation() receive unchanged.');
372
+ }
298
373
  // Handle token refresh or new authorization
299
374
  if (tokens?.refresh_token) {
300
375
  try {
@@ -307,7 +382,8 @@ async function authInternal(provider, { serverUrl, authorizationCode, scope, res
307
382
  addClientAuthentication: provider.addClientAuthentication,
308
383
  fetchFn
309
384
  });
310
- await provider.saveTokens(newTokens);
385
+ await bindClientInformation();
386
+ await provider.saveTokens({ ...newTokens, issuer });
311
387
  return 'AUTHORIZED';
312
388
  }
313
389
  catch (error) {
@@ -350,6 +426,17 @@ function isHttpsUrl(value) {
350
426
  return false;
351
427
  }
352
428
  }
429
+ /**
430
+ * Selects the RFC 8707 resource indicator for an MCP server: the provider's
431
+ * {@linkcode OAuthClientProvider.validateResourceURL | validateResourceURL} result when
432
+ * implemented, otherwise the protected resource metadata's `resource` (checked against the
433
+ * server URL with `checkResourceAllowed`), or `undefined` when there is no metadata.
434
+ *
435
+ * The result is a parsed `URL`, so a pathless indicator such as `https://example.com` has
436
+ * the `href` `https://example.com/`. {@linkcode auth} therefore sends the metadata string
437
+ * verbatim instead of this URL's `href` (#1968); callers that emit the `resource`
438
+ * parameter themselves should do the same.
439
+ */
353
440
  async function selectResourceURL(serverUrl, provider, resourceMetadata) {
354
441
  const defaultResource = (0, auth_utils_js_1.resourceUrlFromServerUrl)(serverUrl);
355
442
  // If provider has custom validation, delegate to it
@@ -708,6 +795,9 @@ async function discoverOAuthServerInfo(serverUrl, opts) {
708
795
  resourceMetadata
709
796
  };
710
797
  }
798
+ function resourceIndicatorToString(resource) {
799
+ return typeof resource === 'string' ? resource : resource.href;
800
+ }
711
801
  /**
712
802
  * Begins the authorization flow with the given server, by generating a PKCE challenge and constructing the authorization URL.
713
803
  */
@@ -748,7 +838,7 @@ async function startAuthorization(authorizationServerUrl, { metadata, clientInfo
748
838
  authorizationUrl.searchParams.append('prompt', 'consent');
749
839
  }
750
840
  if (resource) {
751
- authorizationUrl.searchParams.set('resource', resource.href);
841
+ authorizationUrl.searchParams.set('resource', resourceIndicatorToString(resource));
752
842
  }
753
843
  return { authorizationUrl, codeVerifier };
754
844
  }
@@ -782,7 +872,7 @@ async function executeTokenRequest(authorizationServerUrl, { metadata, tokenRequ
782
872
  Accept: 'application/json'
783
873
  });
784
874
  if (resource) {
785
- tokenRequestParams.set('resource', resource.href);
875
+ tokenRequestParams.set('resource', resourceIndicatorToString(resource));
786
876
  }
787
877
  if (addClientAuthentication) {
788
878
  await addClientAuthentication(headers, tokenRequestParams, tokenUrl, metadata);
@@ -800,7 +890,7 @@ async function executeTokenRequest(authorizationServerUrl, { metadata, tokenRequ
800
890
  if (!response.ok) {
801
891
  throw await parseErrorResponse(response);
802
892
  }
803
- return auth_js_2.OAuthTokensSchema.parse(await response.json());
893
+ return TokenResponseSchema.parse(await response.json());
804
894
  }
805
895
  /**
806
896
  * Exchanges an authorization code for an access token with the given server.
@@ -880,6 +970,16 @@ async function refreshAuthorization(authorizationServerUrl, { metadata, clientIn
880
970
  * const tokens = await fetchToken(provider, authServerUrl, { metadata });
881
971
  */
882
972
  async function fetchToken(provider, authorizationServerUrl, { metadata, resource, authorizationCode, fetchFn } = {}) {
973
+ // Nothing is sent to an authorization server other than the one the client information is stamped for.
974
+ const readClientInformation = async () => {
975
+ const storedClientInformation = await provider.clientInformation();
976
+ const checked = discardIfIssuerMismatch(storedClientInformation, String(authorizationServerUrl));
977
+ if (storedClientInformation && !checked) {
978
+ throw boundElsewhereError(storedClientInformation, String(authorizationServerUrl));
979
+ }
980
+ return checked;
981
+ };
982
+ let clientInformation = await readClientInformation();
883
983
  const scope = provider.clientMetadata.scope;
884
984
  // Use provider's prepareTokenRequest if available, otherwise fall back to authorization_code
885
985
  let tokenRequestParams;
@@ -897,11 +997,12 @@ async function fetchToken(provider, authorizationServerUrl, { metadata, resource
897
997
  const codeVerifier = await provider.codeVerifier();
898
998
  tokenRequestParams = prepareAuthorizationCodeRequest(authorizationCode, codeVerifier, provider.redirectUrl);
899
999
  }
900
- const clientInformation = await provider.clientInformation();
1000
+ // A provider may fill in its client information while the request is prepared.
1001
+ clientInformation ?? (clientInformation = await readClientInformation());
901
1002
  return executeTokenRequest(authorizationServerUrl, {
902
1003
  metadata,
903
1004
  tokenRequestParams,
904
- clientInformation: clientInformation ?? undefined,
1005
+ clientInformation,
905
1006
  addClientAuthentication: provider.addClientAuthentication,
906
1007
  resource,
907
1008
  fetchFn
@@ -938,6 +1039,6 @@ async function registerClient(authorizationServerUrl, { metadata, clientMetadata
938
1039
  if (!response.ok) {
939
1040
  throw await parseErrorResponse(response);
940
1041
  }
941
- return auth_js_2.OAuthClientInformationFullSchema.parse(await response.json());
1042
+ return RegistrationResponseSchema.parse(await response.json());
942
1043
  }
943
1044
  //# sourceMappingURL=auth.js.map