@psnext/slingcli 3.3.20260924-1 → 3.3.20261005-1

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 (749) hide show
  1. package/node_modules/@hono/node-server/README.md +21 -10
  2. package/node_modules/@hono/node-server/dist/early-hints.cjs +1 -1
  3. package/node_modules/@hono/node-server/dist/early-hints.mjs +1 -1
  4. package/node_modules/@hono/node-server/dist/index.cjs +41 -19
  5. package/node_modules/@hono/node-server/dist/index.mjs +42 -20
  6. package/node_modules/@hono/node-server/dist/serve-static.cjs +1 -0
  7. package/node_modules/@hono/node-server/dist/serve-static.d.cts +2 -1
  8. package/node_modules/@hono/node-server/dist/serve-static.d.mts +2 -1
  9. package/node_modules/@hono/node-server/dist/serve-static.mjs +1 -0
  10. package/node_modules/@hono/node-server/package.json +3 -2
  11. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth-extensions.d.ts +43 -2
  12. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth-extensions.d.ts.map +1 -1
  13. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth-extensions.js +26 -5
  14. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth-extensions.js.map +1 -1
  15. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth.d.ts +11 -0
  16. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth.d.ts.map +1 -1
  17. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth.js +105 -21
  18. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth.js.map +1 -1
  19. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/sse.d.ts +13 -0
  20. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/sse.d.ts.map +1 -1
  21. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/sse.js +17 -4
  22. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/sse.js.map +1 -1
  23. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/streamableHttp.d.ts +13 -0
  24. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/streamableHttp.d.ts.map +1 -1
  25. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/streamableHttp.js +23 -10
  26. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/streamableHttp.js.map +1 -1
  27. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/simpleClientCredentials.d.ts +1 -0
  28. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/simpleClientCredentials.d.ts.map +1 -1
  29. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/simpleClientCredentials.js +11 -2
  30. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/simpleClientCredentials.js.map +1 -1
  31. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/demoInMemoryOAuthProvider.d.ts +2 -0
  32. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/demoInMemoryOAuthProvider.d.ts.map +1 -1
  33. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/elicitationFormExample.js +63 -20
  34. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/elicitationFormExample.js.map +1 -1
  35. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/elicitationUrlExample.js +71 -29
  36. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/elicitationUrlExample.js.map +1 -1
  37. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/jsonResponseStreamableHttp.js +45 -6
  38. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/jsonResponseStreamableHttp.js.map +1 -1
  39. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/simpleStreamableHttp.js +71 -31
  40. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/simpleStreamableHttp.js.map +1 -1
  41. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/simpleTaskInteractive.js +61 -18
  42. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/simpleTaskInteractive.js.map +1 -1
  43. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/sseAndStreamableHttpCompatibleServer.js +57 -19
  44. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/sseAndStreamableHttpCompatibleServer.js.map +1 -1
  45. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/ssePollingExample.js +64 -17
  46. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/ssePollingExample.js.map +1 -1
  47. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/standaloneSseWithGetStreamableHttp.js +61 -13
  48. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/standaloneSseWithGetStreamableHttp.js.map +1 -1
  49. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/interfaces.d.ts +4 -0
  50. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/interfaces.d.ts.map +1 -1
  51. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/interfaces.js.map +1 -1
  52. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/stores/in-memory.d.ts +17 -8
  53. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/stores/in-memory.d.ts.map +1 -1
  54. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/stores/in-memory.js +31 -14
  55. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/stores/in-memory.js.map +1 -1
  56. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/middleware/bearerAuth.d.ts +9 -1
  57. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/middleware/bearerAuth.d.ts.map +1 -1
  58. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/middleware/bearerAuth.js +17 -1
  59. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/middleware/bearerAuth.js.map +1 -1
  60. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/providers/proxyProvider.d.ts.map +1 -1
  61. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/providers/proxyProvider.js +6 -3
  62. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/providers/proxyProvider.js.map +1 -1
  63. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/mcp.d.ts +12 -1
  64. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/mcp.d.ts.map +1 -1
  65. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/mcp.js +46 -2
  66. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/mcp.js.map +1 -1
  67. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/auth.d.ts +3 -0
  68. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/auth.d.ts.map +1 -1
  69. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/auth.js +12 -2
  70. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/auth.js.map +1 -1
  71. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/protocol.d.ts +1 -0
  72. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/protocol.d.ts.map +1 -1
  73. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/protocol.js +39 -9
  74. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/protocol.js.map +1 -1
  75. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/transport.d.ts +10 -0
  76. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/transport.d.ts.map +1 -1
  77. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/transport.js +77 -0
  78. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/transport.js.map +1 -1
  79. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth-extensions.d.ts +43 -2
  80. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth-extensions.d.ts.map +1 -1
  81. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth-extensions.js +26 -5
  82. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth-extensions.js.map +1 -1
  83. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth.d.ts +11 -0
  84. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth.d.ts.map +1 -1
  85. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth.js +105 -21
  86. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth.js.map +1 -1
  87. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/sse.d.ts +13 -0
  88. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/sse.d.ts.map +1 -1
  89. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/sse.js +18 -5
  90. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/sse.js.map +1 -1
  91. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/streamableHttp.d.ts +13 -0
  92. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/streamableHttp.d.ts.map +1 -1
  93. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/streamableHttp.js +24 -11
  94. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/streamableHttp.js.map +1 -1
  95. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleClientCredentials.d.ts +1 -0
  96. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleClientCredentials.d.ts.map +1 -1
  97. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleClientCredentials.js +11 -2
  98. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleClientCredentials.js.map +1 -1
  99. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/demoInMemoryOAuthProvider.d.ts +2 -0
  100. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/demoInMemoryOAuthProvider.d.ts.map +1 -1
  101. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/elicitationFormExample.js +63 -20
  102. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/elicitationFormExample.js.map +1 -1
  103. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/elicitationUrlExample.js +71 -29
  104. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/elicitationUrlExample.js.map +1 -1
  105. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/jsonResponseStreamableHttp.js +45 -6
  106. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/jsonResponseStreamableHttp.js.map +1 -1
  107. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/simpleStreamableHttp.js +71 -31
  108. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/simpleStreamableHttp.js.map +1 -1
  109. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/simpleTaskInteractive.js +61 -18
  110. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/simpleTaskInteractive.js.map +1 -1
  111. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/sseAndStreamableHttpCompatibleServer.js +57 -19
  112. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/sseAndStreamableHttpCompatibleServer.js.map +1 -1
  113. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/ssePollingExample.js +64 -17
  114. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/ssePollingExample.js.map +1 -1
  115. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/standaloneSseWithGetStreamableHttp.js +61 -13
  116. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/standaloneSseWithGetStreamableHttp.js.map +1 -1
  117. package/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/interfaces.d.ts +4 -0
  118. package/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/interfaces.d.ts.map +1 -1
  119. package/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/interfaces.js.map +1 -1
  120. package/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/stores/in-memory.d.ts +17 -8
  121. package/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/stores/in-memory.d.ts.map +1 -1
  122. package/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/stores/in-memory.js +31 -14
  123. package/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/stores/in-memory.js.map +1 -1
  124. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/middleware/bearerAuth.d.ts +9 -1
  125. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/middleware/bearerAuth.d.ts.map +1 -1
  126. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/middleware/bearerAuth.js +17 -1
  127. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/middleware/bearerAuth.js.map +1 -1
  128. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/providers/proxyProvider.d.ts.map +1 -1
  129. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/providers/proxyProvider.js +6 -3
  130. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/providers/proxyProvider.js.map +1 -1
  131. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.d.ts +12 -1
  132. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.d.ts.map +1 -1
  133. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js +46 -2
  134. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js.map +1 -1
  135. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth.d.ts +3 -0
  136. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth.d.ts.map +1 -1
  137. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth.js +12 -2
  138. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth.js.map +1 -1
  139. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.d.ts +1 -0
  140. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.d.ts.map +1 -1
  141. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js +39 -9
  142. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js.map +1 -1
  143. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/transport.d.ts +10 -0
  144. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/transport.d.ts.map +1 -1
  145. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/transport.js +72 -0
  146. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/transport.js.map +1 -1
  147. package/node_modules/@modelcontextprotocol/sdk/package.json +1 -1
  148. package/node_modules/@smithy/core/dist-cjs/submodules/client/index.js +33 -11
  149. package/node_modules/@smithy/core/dist-cjs/submodules/schema/index.js +3 -0
  150. package/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/exceptions.js +33 -11
  151. package/node_modules/@smithy/core/dist-es/submodules/schema/TypeRegistry.js +3 -0
  152. package/node_modules/@smithy/core/dist-types/submodules/client/smithy-client/exceptions.d.ts +1 -0
  153. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/client/smithy-client/exceptions.d.ts +1 -0
  154. package/node_modules/@smithy/core/package.json +1 -1
  155. package/node_modules/@smithy/signature-v4/dist-cjs/index.js +4 -1
  156. package/node_modules/@smithy/signature-v4/dist-es/getCanonicalHeaders.js +4 -1
  157. package/node_modules/@smithy/signature-v4/package.json +3 -3
  158. package/node_modules/@types/node/README.md +1 -1
  159. package/node_modules/@types/node/crypto.d.ts +2 -2
  160. package/node_modules/@types/node/dgram.d.ts +1 -1
  161. package/node_modules/@types/node/package.json +2 -2
  162. package/node_modules/@types/node/zlib.d.ts +6 -0
  163. package/node_modules/hono/dist/_virtual/_rolldown/runtime.js +13 -0
  164. package/node_modules/hono/dist/adapter/aws-lambda/conninfo.js +42 -23
  165. package/node_modules/hono/dist/adapter/aws-lambda/handler.js +318 -344
  166. package/node_modules/hono/dist/adapter/aws-lambda/index.js +2 -8
  167. package/node_modules/hono/dist/adapter/aws-lambda/types.js +1 -0
  168. package/node_modules/hono/dist/adapter/bun/conninfo.js +20 -25
  169. package/node_modules/hono/dist/adapter/bun/index.js +3 -13
  170. package/node_modules/hono/dist/adapter/bun/serve-static.js +27 -27
  171. package/node_modules/hono/dist/adapter/bun/server.js +11 -5
  172. package/node_modules/hono/dist/adapter/bun/ssg.js +25 -15
  173. package/node_modules/hono/dist/adapter/bun/websocket.js +61 -68
  174. package/node_modules/hono/dist/adapter/cloudflare-pages/conninfo.js +24 -9
  175. package/node_modules/hono/dist/adapter/cloudflare-pages/handler.js +59 -62
  176. package/node_modules/hono/dist/adapter/cloudflare-pages/index.js +2 -8
  177. package/node_modules/hono/dist/adapter/cloudflare-workers/conninfo.js +7 -9
  178. package/node_modules/hono/dist/adapter/cloudflare-workers/index.js +3 -8
  179. package/node_modules/hono/dist/adapter/cloudflare-workers/serve-static-module.js +5 -6
  180. package/node_modules/hono/dist/adapter/cloudflare-workers/serve-static.js +26 -20
  181. package/node_modules/hono/dist/adapter/cloudflare-workers/utils.js +21 -34
  182. package/node_modules/hono/dist/adapter/cloudflare-workers/websocket.js +31 -39
  183. package/node_modules/hono/dist/adapter/deno/conninfo.js +16 -13
  184. package/node_modules/hono/dist/adapter/deno/deno.d.js +1 -0
  185. package/node_modules/hono/dist/adapter/deno/index.js +3 -10
  186. package/node_modules/hono/dist/adapter/deno/serve-static.js +33 -38
  187. package/node_modules/hono/dist/adapter/deno/ssg.js +27 -16
  188. package/node_modules/hono/dist/adapter/deno/websocket.js +30 -30
  189. package/node_modules/hono/dist/adapter/lambda-edge/conninfo.js +7 -9
  190. package/node_modules/hono/dist/adapter/lambda-edge/handler.js +102 -101
  191. package/node_modules/hono/dist/adapter/lambda-edge/index.js +2 -6
  192. package/node_modules/hono/dist/adapter/netlify/conninfo.js +24 -9
  193. package/node_modules/hono/dist/adapter/netlify/handler.js +10 -8
  194. package/node_modules/hono/dist/adapter/netlify/index.js +3 -2
  195. package/node_modules/hono/dist/adapter/netlify/mod.js +2 -6
  196. package/node_modules/hono/dist/adapter/service-worker/handler.js +15 -19
  197. package/node_modules/hono/dist/adapter/service-worker/index.js +23 -7
  198. package/node_modules/hono/dist/adapter/service-worker/types.js +1 -0
  199. package/node_modules/hono/dist/adapter/vercel/conninfo.js +7 -10
  200. package/node_modules/hono/dist/adapter/vercel/handler.js +8 -6
  201. package/node_modules/hono/dist/adapter/vercel/index.js +2 -6
  202. package/node_modules/hono/dist/cjs/_virtual/_rolldown/runtime.js +33 -0
  203. package/node_modules/hono/dist/cjs/adapter/aws-lambda/conninfo.js +42 -44
  204. package/node_modules/hono/dist/cjs/adapter/aws-lambda/handler.js +326 -373
  205. package/node_modules/hono/dist/cjs/adapter/aws-lambda/index.js +7 -34
  206. package/node_modules/hono/dist/cjs/adapter/aws-lambda/types.js +0 -15
  207. package/node_modules/hono/dist/cjs/adapter/bun/conninfo.js +21 -47
  208. package/node_modules/hono/dist/cjs/adapter/bun/index.js +14 -45
  209. package/node_modules/hono/dist/cjs/adapter/bun/serve-static.js +29 -50
  210. package/node_modules/hono/dist/cjs/adapter/bun/server.js +11 -26
  211. package/node_modules/hono/dist/cjs/adapter/bun/ssg.js +24 -35
  212. package/node_modules/hono/dist/cjs/adapter/bun/websocket.js +63 -91
  213. package/node_modules/hono/dist/cjs/adapter/cloudflare-pages/conninfo.js +25 -31
  214. package/node_modules/hono/dist/cjs/adapter/cloudflare-pages/handler.js +61 -85
  215. package/node_modules/hono/dist/cjs/adapter/cloudflare-pages/index.js +7 -34
  216. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/conninfo.js +8 -31
  217. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/index.js +7 -33
  218. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/serve-static-module.js +7 -29
  219. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/serve-static.js +27 -42
  220. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/utils.js +21 -55
  221. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/websocket.js +33 -62
  222. package/node_modules/hono/dist/cjs/adapter/deno/conninfo.js +16 -34
  223. package/node_modules/hono/dist/cjs/adapter/deno/index.js +10 -38
  224. package/node_modules/hono/dist/cjs/adapter/deno/serve-static.js +33 -59
  225. package/node_modules/hono/dist/cjs/adapter/deno/ssg.js +27 -37
  226. package/node_modules/hono/dist/cjs/adapter/deno/websocket.js +32 -53
  227. package/node_modules/hono/dist/cjs/adapter/lambda-edge/conninfo.js +8 -31
  228. package/node_modules/hono/dist/cjs/adapter/lambda-edge/handler.js +102 -130
  229. package/node_modules/hono/dist/cjs/adapter/lambda-edge/index.js +5 -30
  230. package/node_modules/hono/dist/cjs/adapter/netlify/conninfo.js +25 -31
  231. package/node_modules/hono/dist/cjs/adapter/netlify/handler.js +10 -29
  232. package/node_modules/hono/dist/cjs/adapter/netlify/index.js +5 -21
  233. package/node_modules/hono/dist/cjs/adapter/netlify/mod.js +5 -30
  234. package/node_modules/hono/dist/cjs/adapter/service-worker/handler.js +16 -41
  235. package/node_modules/hono/dist/cjs/adapter/service-worker/index.js +25 -30
  236. package/node_modules/hono/dist/cjs/adapter/service-worker/types.js +0 -15
  237. package/node_modules/hono/dist/cjs/adapter/vercel/conninfo.js +8 -32
  238. package/node_modules/hono/dist/cjs/adapter/vercel/handler.js +8 -27
  239. package/node_modules/hono/dist/cjs/adapter/vercel/index.js +5 -30
  240. package/node_modules/hono/dist/cjs/client/client.js +139 -212
  241. package/node_modules/hono/dist/cjs/client/fetch-result-please.js +62 -80
  242. package/node_modules/hono/dist/cjs/client/index.js +7 -32
  243. package/node_modules/hono/dist/cjs/client/types.js +0 -15
  244. package/node_modules/hono/dist/cjs/client/utils.js +54 -92
  245. package/node_modules/hono/dist/cjs/compose.js +49 -66
  246. package/node_modules/hono/dist/cjs/context.js +379 -450
  247. package/node_modules/hono/dist/cjs/helper/accepts/accepts.js +47 -72
  248. package/node_modules/hono/dist/cjs/helper/accepts/index.js +3 -27
  249. package/node_modules/hono/dist/cjs/helper/adapter/index.js +33 -73
  250. package/node_modules/hono/dist/cjs/helper/conninfo/index.js +0 -15
  251. package/node_modules/hono/dist/cjs/helper/conninfo/types.js +0 -15
  252. package/node_modules/hono/dist/cjs/helper/cookie/index.js +75 -116
  253. package/node_modules/hono/dist/cjs/helper/css/common.js +165 -244
  254. package/node_modules/hono/dist/cjs/helper/css/index.js +136 -151
  255. package/node_modules/hono/dist/cjs/helper/dev/index.js +45 -71
  256. package/node_modules/hono/dist/cjs/helper/factory/index.js +30 -51
  257. package/node_modules/hono/dist/cjs/helper/html/index.js +32 -62
  258. package/node_modules/hono/dist/cjs/helper/proxy/index.js +113 -106
  259. package/node_modules/hono/dist/cjs/helper/route/index.js +123 -66
  260. package/node_modules/hono/dist/cjs/helper/ssg/index.js +19 -43
  261. package/node_modules/hono/dist/cjs/helper/ssg/middleware.js +56 -64
  262. package/node_modules/hono/dist/cjs/helper/ssg/plugins.js +55 -57
  263. package/node_modules/hono/dist/cjs/helper/ssg/ssg.js +196 -296
  264. package/node_modules/hono/dist/cjs/helper/ssg/utils.js +47 -90
  265. package/node_modules/hono/dist/cjs/helper/streaming/index.js +8 -35
  266. package/node_modules/hono/dist/cjs/helper/streaming/sse.js +53 -85
  267. package/node_modules/hono/dist/cjs/helper/streaming/stream.js +23 -53
  268. package/node_modules/hono/dist/cjs/helper/streaming/text.js +10 -32
  269. package/node_modules/hono/dist/cjs/helper/streaming/utils.js +13 -32
  270. package/node_modules/hono/dist/cjs/helper/testing/index.js +16 -31
  271. package/node_modules/hono/dist/cjs/helper/websocket/index.js +51 -76
  272. package/node_modules/hono/dist/cjs/hono-base.js +347 -403
  273. package/node_modules/hono/dist/cjs/hono.js +28 -42
  274. package/node_modules/hono/dist/cjs/http-exception.js +55 -56
  275. package/node_modules/hono/dist/cjs/index.js +22 -30
  276. package/node_modules/hono/dist/cjs/jsx/base.js +237 -366
  277. package/node_modules/hono/dist/cjs/jsx/children.js +16 -41
  278. package/node_modules/hono/dist/cjs/jsx/components.js +119 -192
  279. package/node_modules/hono/dist/cjs/jsx/constants.js +15 -42
  280. package/node_modules/hono/dist/cjs/jsx/context.js +144 -162
  281. package/node_modules/hono/dist/cjs/jsx/dom/client.js +49 -69
  282. package/node_modules/hono/dist/cjs/jsx/dom/components.js +23 -52
  283. package/node_modules/hono/dist/cjs/jsx/dom/context.js +39 -67
  284. package/node_modules/hono/dist/cjs/jsx/dom/css.js +143 -158
  285. package/node_modules/hono/dist/cjs/jsx/dom/hooks/index.js +55 -64
  286. package/node_modules/hono/dist/cjs/jsx/dom/index.js +114 -173
  287. package/node_modules/hono/dist/cjs/jsx/dom/intrinsic-element/components.js +282 -375
  288. package/node_modules/hono/dist/cjs/jsx/dom/jsx-dev-runtime.js +14 -49
  289. package/node_modules/hono/dist/cjs/jsx/dom/jsx-runtime.js +5 -32
  290. package/node_modules/hono/dist/cjs/jsx/dom/render.js +469 -623
  291. package/node_modules/hono/dist/cjs/jsx/dom/server.js +37 -64
  292. package/node_modules/hono/dist/cjs/jsx/dom/utils.js +7 -30
  293. package/node_modules/hono/dist/cjs/jsx/hooks/index.js +225 -318
  294. package/node_modules/hono/dist/cjs/jsx/index.js +86 -135
  295. package/node_modules/hono/dist/cjs/jsx/intrinsic-element/common.js +20 -43
  296. package/node_modules/hono/dist/cjs/jsx/intrinsic-element/components.js +117 -168
  297. package/node_modules/hono/dist/cjs/jsx/intrinsic-elements.js +0 -15
  298. package/node_modules/hono/dist/cjs/jsx/jsx-dev-runtime.js +14 -39
  299. package/node_modules/hono/dist/cjs/jsx/jsx-runtime.js +34 -68
  300. package/node_modules/hono/dist/cjs/jsx/streaming.js +123 -166
  301. package/node_modules/hono/dist/cjs/jsx/types.js +0 -15
  302. package/node_modules/hono/dist/cjs/jsx/utils.js +91 -175
  303. package/node_modules/hono/dist/cjs/middleware/basic-auth/index.js +98 -86
  304. package/node_modules/hono/dist/cjs/middleware/bearer-auth/index.js +92 -109
  305. package/node_modules/hono/dist/cjs/middleware/body-limit/index.js +66 -72
  306. package/node_modules/hono/dist/cjs/middleware/cache/index.js +153 -199
  307. package/node_modules/hono/dist/cjs/middleware/combine/index.js +135 -95
  308. package/node_modules/hono/dist/cjs/middleware/compress/index.js +73 -88
  309. package/node_modules/hono/dist/cjs/middleware/context-storage/index.js +49 -41
  310. package/node_modules/hono/dist/cjs/middleware/cors/index.js +107 -107
  311. package/node_modules/hono/dist/cjs/middleware/csrf/index.js +101 -72
  312. package/node_modules/hono/dist/cjs/middleware/etag/digest.js +58 -97
  313. package/node_modules/hono/dist/cjs/middleware/etag/index.js +71 -91
  314. package/node_modules/hono/dist/cjs/middleware/ip-restriction/index.js +161 -169
  315. package/node_modules/hono/dist/cjs/middleware/jsx-renderer/index.js +99 -77
  316. package/node_modules/hono/dist/cjs/middleware/jwk/index.js +3 -27
  317. package/node_modules/hono/dist/cjs/middleware/jwk/jwk.js +118 -135
  318. package/node_modules/hono/dist/cjs/middleware/jwt/index.js +9 -38
  319. package/node_modules/hono/dist/cjs/middleware/jwt/jwt.js +120 -141
  320. package/node_modules/hono/dist/cjs/middleware/language/index.js +7 -35
  321. package/node_modules/hono/dist/cjs/middleware/language/language.js +184 -182
  322. package/node_modules/hono/dist/cjs/middleware/logger/index.js +41 -62
  323. package/node_modules/hono/dist/cjs/middleware/method-not-allowed/index.js +82 -88
  324. package/node_modules/hono/dist/cjs/middleware/method-override/index.js +101 -102
  325. package/node_modules/hono/dist/cjs/middleware/mount/index.js +71 -0
  326. package/node_modules/hono/dist/cjs/middleware/powered-by/index.js +23 -30
  327. package/node_modules/hono/dist/cjs/middleware/pretty-json/index.js +38 -42
  328. package/node_modules/hono/dist/cjs/middleware/request-id/index.js +3 -27
  329. package/node_modules/hono/dist/cjs/middleware/request-id/request-id.js +34 -42
  330. package/node_modules/hono/dist/cjs/middleware/secure-headers/index.js +4 -29
  331. package/node_modules/hono/dist/cjs/middleware/secure-headers/permissions-policy.js +0 -15
  332. package/node_modules/hono/dist/cjs/middleware/secure-headers/secure-headers.js +142 -174
  333. package/node_modules/hono/dist/cjs/middleware/serve-static/index.js +56 -93
  334. package/node_modules/hono/dist/cjs/middleware/serve-static/path.js +15 -38
  335. package/node_modules/hono/dist/cjs/middleware/timeout/index.js +40 -45
  336. package/node_modules/hono/dist/cjs/middleware/timing/index.js +7 -35
  337. package/node_modules/hono/dist/cjs/middleware/timing/timing.js +177 -118
  338. package/node_modules/hono/dist/cjs/middleware/trailing-slash/index.js +85 -58
  339. package/node_modules/hono/dist/cjs/preset/quick.js +18 -37
  340. package/node_modules/hono/dist/cjs/preset/tiny.js +15 -33
  341. package/node_modules/hono/dist/cjs/request/constants.js +5 -27
  342. package/node_modules/hono/dist/cjs/request.js +334 -346
  343. package/node_modules/hono/dist/cjs/router/linear-router/index.js +3 -27
  344. package/node_modules/hono/dist/cjs/router/linear-router/router.js +95 -143
  345. package/node_modules/hono/dist/cjs/router/pattern-router/index.js +3 -27
  346. package/node_modules/hono/dist/cjs/router/pattern-router/router.js +41 -63
  347. package/node_modules/hono/dist/cjs/router/reg-exp-router/index.js +7 -34
  348. package/node_modules/hono/dist/cjs/router/reg-exp-router/matcher.js +18 -45
  349. package/node_modules/hono/dist/cjs/router/reg-exp-router/node.js +91 -135
  350. package/node_modules/hono/dist/cjs/router/reg-exp-router/prepared-router.js +92 -161
  351. package/node_modules/hono/dist/cjs/router/reg-exp-router/router.js +98 -147
  352. package/node_modules/hono/dist/cjs/router/reg-exp-router/trie.js +73 -89
  353. package/node_modules/hono/dist/cjs/router/smart-router/index.js +3 -27
  354. package/node_modules/hono/dist/cjs/router/smart-router/router.js +49 -79
  355. package/node_modules/hono/dist/cjs/router/trie-router/index.js +3 -27
  356. package/node_modules/hono/dist/cjs/router/trie-router/node.js +134 -186
  357. package/node_modules/hono/dist/cjs/router/trie-router/router.js +15 -39
  358. package/node_modules/hono/dist/cjs/router/utils.js +5 -27
  359. package/node_modules/hono/dist/cjs/router.js +37 -37
  360. package/node_modules/hono/dist/cjs/types.js +5 -28
  361. package/node_modules/hono/dist/cjs/utils/accept.js +177 -225
  362. package/node_modules/hono/dist/cjs/utils/basic-auth.js +16 -40
  363. package/node_modules/hono/dist/cjs/utils/body.js +84 -110
  364. package/node_modules/hono/dist/cjs/utils/buffer.js +43 -91
  365. package/node_modules/hono/dist/cjs/utils/color.js +35 -44
  366. package/node_modules/hono/dist/cjs/utils/compress.js +11 -26
  367. package/node_modules/hono/dist/cjs/utils/concurrent.js +29 -59
  368. package/node_modules/hono/dist/cjs/utils/constants.js +7 -26
  369. package/node_modules/hono/dist/cjs/utils/cookie.js +107 -177
  370. package/node_modules/hono/dist/cjs/utils/crypto.js +30 -61
  371. package/node_modules/hono/dist/cjs/utils/encode.js +31 -48
  372. package/node_modules/hono/dist/cjs/utils/filepath.js +23 -54
  373. package/node_modules/hono/dist/cjs/utils/handler.js +11 -33
  374. package/node_modules/hono/dist/cjs/utils/headers.js +0 -15
  375. package/node_modules/hono/dist/cjs/utils/html.js +96 -137
  376. package/node_modules/hono/dist/cjs/utils/http-status.js +0 -15
  377. package/node_modules/hono/dist/cjs/utils/ipaddr.js +213 -286
  378. package/node_modules/hono/dist/cjs/utils/jwt/index.js +14 -27
  379. package/node_modules/hono/dist/cjs/utils/jwt/jwa.js +25 -42
  380. package/node_modules/hono/dist/cjs/utils/jwt/jws.js +119 -199
  381. package/node_modules/hono/dist/cjs/utils/jwt/jwt.js +122 -206
  382. package/node_modules/hono/dist/cjs/utils/jwt/types.js +122 -159
  383. package/node_modules/hono/dist/cjs/utils/jwt/utf8.js +9 -28
  384. package/node_modules/hono/dist/cjs/utils/mime.js +75 -101
  385. package/node_modules/hono/dist/cjs/utils/stream.js +88 -111
  386. package/node_modules/hono/dist/cjs/utils/types.js +0 -15
  387. package/node_modules/hono/dist/cjs/utils/url.js +185 -234
  388. package/node_modules/hono/dist/cjs/validator/index.js +3 -27
  389. package/node_modules/hono/dist/cjs/validator/utils.js +0 -15
  390. package/node_modules/hono/dist/cjs/validator/validator.js +60 -103
  391. package/node_modules/hono/dist/client/client.js +138 -197
  392. package/node_modules/hono/dist/client/fetch-result-please.js +59 -56
  393. package/node_modules/hono/dist/client/index.js +3 -7
  394. package/node_modules/hono/dist/client/types.js +1 -0
  395. package/node_modules/hono/dist/client/utils.js +51 -68
  396. package/node_modules/hono/dist/compose.js +49 -45
  397. package/node_modules/hono/dist/context.js +376 -426
  398. package/node_modules/hono/dist/helper/accepts/accepts.js +47 -51
  399. package/node_modules/hono/dist/helper/accepts/index.js +1 -4
  400. package/node_modules/hono/dist/helper/adapter/index.js +33 -52
  401. package/node_modules/hono/dist/helper/conninfo/index.js +1 -0
  402. package/node_modules/hono/dist/helper/conninfo/types.js +1 -0
  403. package/node_modules/hono/dist/helper/cookie/index.js +74 -94
  404. package/node_modules/hono/dist/helper/css/common.js +167 -225
  405. package/node_modules/hono/dist/helper/css/index.js +132 -137
  406. package/node_modules/hono/dist/helper/dev/index.js +44 -49
  407. package/node_modules/hono/dist/helper/factory/index.js +27 -27
  408. package/node_modules/hono/dist/helper/html/index.js +30 -39
  409. package/node_modules/hono/dist/helper/proxy/index.js +116 -88
  410. package/node_modules/hono/dist/helper/route/index.js +121 -43
  411. package/node_modules/hono/dist/helper/ssg/index.js +3 -18
  412. package/node_modules/hono/dist/helper/ssg/middleware.js +53 -40
  413. package/node_modules/hono/dist/helper/ssg/plugins.js +55 -36
  414. package/node_modules/hono/dist/helper/ssg/ssg.js +198 -283
  415. package/node_modules/hono/dist/helper/ssg/utils.js +53 -75
  416. package/node_modules/hono/dist/helper/streaming/index.js +2 -8
  417. package/node_modules/hono/dist/helper/streaming/sse.js +50 -61
  418. package/node_modules/hono/dist/helper/streaming/stream.js +22 -31
  419. package/node_modules/hono/dist/helper/streaming/text.js +9 -10
  420. package/node_modules/hono/dist/helper/streaming/utils.js +9 -12
  421. package/node_modules/hono/dist/helper/testing/index.js +16 -10
  422. package/node_modules/hono/dist/helper/websocket/index.js +49 -53
  423. package/node_modules/hono/dist/hono-base.js +344 -379
  424. package/node_modules/hono/dist/hono.js +27 -20
  425. package/node_modules/hono/dist/http-exception.js +53 -33
  426. package/node_modules/hono/dist/index.js +19 -6
  427. package/node_modules/hono/dist/jsx/base.js +231 -340
  428. package/node_modules/hono/dist/jsx/children.js +16 -20
  429. package/node_modules/hono/dist/jsx/components.js +118 -170
  430. package/node_modules/hono/dist/jsx/constants.js +9 -15
  431. package/node_modules/hono/dist/jsx/context.js +153 -150
  432. package/node_modules/hono/dist/jsx/dom/client.js +45 -48
  433. package/node_modules/hono/dist/jsx/dom/components.js +21 -29
  434. package/node_modules/hono/dist/jsx/dom/context.js +37 -44
  435. package/node_modules/hono/dist/jsx/dom/css.js +142 -147
  436. package/node_modules/hono/dist/jsx/dom/hooks/index.js +52 -40
  437. package/node_modules/hono/dist/jsx/dom/index.js +71 -134
  438. package/node_modules/hono/dist/jsx/dom/intrinsic-element/components.js +275 -359
  439. package/node_modules/hono/dist/jsx/dom/jsx-dev-runtime.js +14 -18
  440. package/node_modules/hono/dist/jsx/dom/jsx-runtime.js +2 -8
  441. package/node_modules/hono/dist/jsx/dom/render.js +492 -631
  442. package/node_modules/hono/dist/jsx/dom/server.js +32 -32
  443. package/node_modules/hono/dist/jsx/dom/utils.js +6 -8
  444. package/node_modules/hono/dist/jsx/hooks/index.js +236 -308
  445. package/node_modules/hono/dist/jsx/index.js +45 -98
  446. package/node_modules/hono/dist/jsx/intrinsic-element/common.js +20 -22
  447. package/node_modules/hono/dist/jsx/intrinsic-element/components.js +113 -154
  448. package/node_modules/hono/dist/jsx/intrinsic-elements.js +1 -0
  449. package/node_modules/hono/dist/jsx/jsx-dev-runtime.js +12 -16
  450. package/node_modules/hono/dist/jsx/jsx-runtime.js +29 -42
  451. package/node_modules/hono/dist/jsx/streaming.js +120 -142
  452. package/node_modules/hono/dist/jsx/types.js +1 -0
  453. package/node_modules/hono/dist/jsx/utils.js +105 -168
  454. package/node_modules/hono/dist/middleware/basic-auth/index.js +96 -63
  455. package/node_modules/hono/dist/middleware/bearer-auth/index.js +93 -89
  456. package/node_modules/hono/dist/middleware/body-limit/index.js +66 -51
  457. package/node_modules/hono/dist/middleware/cache/index.js +165 -190
  458. package/node_modules/hono/dist/middleware/combine/index.js +134 -73
  459. package/node_modules/hono/dist/middleware/compress/index.js +75 -69
  460. package/node_modules/hono/dist/middleware/context-storage/index.js +49 -19
  461. package/node_modules/hono/dist/middleware/cors/index.js +107 -86
  462. package/node_modules/hono/dist/middleware/csrf/index.js +103 -53
  463. package/node_modules/hono/dist/middleware/etag/digest.js +59 -77
  464. package/node_modules/hono/dist/middleware/etag/index.js +71 -70
  465. package/node_modules/hono/dist/middleware/ip-restriction/index.js +163 -158
  466. package/node_modules/hono/dist/middleware/jsx-renderer/index.js +97 -54
  467. package/node_modules/hono/dist/middleware/jwk/index.js +1 -4
  468. package/node_modules/hono/dist/middleware/jwk/jwk.js +116 -112
  469. package/node_modules/hono/dist/middleware/jwt/index.js +2 -10
  470. package/node_modules/hono/dist/middleware/jwt/jwt.js +114 -114
  471. package/node_modules/hono/dist/middleware/language/index.js +2 -15
  472. package/node_modules/hono/dist/middleware/language/language.js +180 -157
  473. package/node_modules/hono/dist/middleware/logger/index.js +43 -37
  474. package/node_modules/hono/dist/middleware/method-not-allowed/index.js +81 -66
  475. package/node_modules/hono/dist/middleware/method-override/index.js +101 -81
  476. package/node_modules/hono/dist/middleware/mount/index.js +70 -0
  477. package/node_modules/hono/dist/middleware/powered-by/index.js +23 -9
  478. package/node_modules/hono/dist/middleware/pretty-json/index.js +39 -22
  479. package/node_modules/hono/dist/middleware/request-id/index.js +1 -4
  480. package/node_modules/hono/dist/middleware/request-id/request-id.js +33 -20
  481. package/node_modules/hono/dist/middleware/secure-headers/index.js +1 -5
  482. package/node_modules/hono/dist/middleware/secure-headers/permissions-policy.js +1 -0
  483. package/node_modules/hono/dist/middleware/secure-headers/secure-headers.js +144 -155
  484. package/node_modules/hono/dist/middleware/serve-static/index.js +56 -72
  485. package/node_modules/hono/dist/middleware/serve-static/path.js +15 -17
  486. package/node_modules/hono/dist/middleware/timeout/index.js +40 -23
  487. package/node_modules/hono/dist/middleware/timing/index.js +2 -9
  488. package/node_modules/hono/dist/middleware/timing/timing.js +177 -97
  489. package/node_modules/hono/dist/middleware/trailing-slash/index.js +85 -37
  490. package/node_modules/hono/dist/preset/quick.js +17 -15
  491. package/node_modules/hono/dist/preset/tiny.js +14 -11
  492. package/node_modules/hono/dist/request/constants.js +4 -5
  493. package/node_modules/hono/dist/request.js +328 -319
  494. package/node_modules/hono/dist/router/linear-router/index.js +1 -4
  495. package/node_modules/hono/dist/router/linear-router/router.js +93 -120
  496. package/node_modules/hono/dist/router/pattern-router/index.js +1 -4
  497. package/node_modules/hono/dist/router/pattern-router/router.js +39 -40
  498. package/node_modules/hono/dist/router/reg-exp-router/index.js +1 -7
  499. package/node_modules/hono/dist/router/reg-exp-router/matcher.js +17 -23
  500. package/node_modules/hono/dist/router/reg-exp-router/node.js +87 -110
  501. package/node_modules/hono/dist/router/reg-exp-router/prepared-router.js +89 -137
  502. package/node_modules/hono/dist/router/reg-exp-router/router.js +92 -129
  503. package/node_modules/hono/dist/router/reg-exp-router/trie.js +69 -64
  504. package/node_modules/hono/dist/router/smart-router/index.js +1 -4
  505. package/node_modules/hono/dist/router/smart-router/router.js +46 -55
  506. package/node_modules/hono/dist/router/trie-router/index.js +1 -4
  507. package/node_modules/hono/dist/router/trie-router/node.js +131 -162
  508. package/node_modules/hono/dist/router/trie-router/router.js +11 -14
  509. package/node_modules/hono/dist/router/utils.js +4 -5
  510. package/node_modules/hono/dist/router.js +35 -14
  511. package/node_modules/hono/dist/types/adapter/aws-lambda/conninfo.d.ts +4 -1
  512. package/node_modules/hono/dist/types/adapter/aws-lambda/handler.d.ts +150 -104
  513. package/node_modules/hono/dist/types/adapter/aws-lambda/index.d.ts +4 -8
  514. package/node_modules/hono/dist/types/adapter/aws-lambda/types.d.ts +152 -122
  515. package/node_modules/hono/dist/types/adapter/bun/conninfo.d.ts +4 -1
  516. package/node_modules/hono/dist/types/adapter/bun/index.d.ts +6 -10
  517. package/node_modules/hono/dist/types/adapter/bun/serve-static.d.ts +7 -2
  518. package/node_modules/hono/dist/types/adapter/bun/server.d.ts +4 -5
  519. package/node_modules/hono/dist/types/adapter/bun/ssg.d.ts +5 -1
  520. package/node_modules/hono/dist/types/adapter/bun/websocket.d.ts +31 -16
  521. package/node_modules/hono/dist/types/adapter/cloudflare-pages/conninfo.d.ts +4 -1
  522. package/node_modules/hono/dist/types/adapter/cloudflare-pages/handler.d.ts +29 -17
  523. package/node_modules/hono/dist/types/adapter/cloudflare-pages/index.d.ts +3 -7
  524. package/node_modules/hono/dist/types/adapter/cloudflare-workers/conninfo.d.ts +6 -1
  525. package/node_modules/hono/dist/types/adapter/cloudflare-workers/index.d.ts +4 -7
  526. package/node_modules/hono/dist/types/adapter/cloudflare-workers/serve-static-module.d.ts +5 -2
  527. package/node_modules/hono/dist/types/adapter/cloudflare-workers/serve-static.d.ts +10 -5
  528. package/node_modules/hono/dist/types/adapter/cloudflare-workers/utils.d.ts +10 -2
  529. package/node_modules/hono/dist/types/adapter/cloudflare-workers/websocket.d.ts +6 -1
  530. package/node_modules/hono/dist/types/adapter/deno/conninfo.d.ts +4 -1
  531. package/node_modules/hono/dist/types/adapter/deno/deno.d.ts +1 -0
  532. package/node_modules/hono/dist/types/adapter/deno/index.d.ts +5 -8
  533. package/node_modules/hono/dist/types/adapter/deno/serve-static.d.ts +7 -2
  534. package/node_modules/hono/dist/types/adapter/deno/ssg.d.ts +5 -1
  535. package/node_modules/hono/dist/types/adapter/deno/websocket.d.ts +6 -1
  536. package/node_modules/hono/dist/types/adapter/lambda-edge/conninfo.d.ts +6 -1
  537. package/node_modules/hono/dist/types/adapter/lambda-edge/handler.d.ts +83 -57
  538. package/node_modules/hono/dist/types/adapter/lambda-edge/index.d.ts +3 -7
  539. package/node_modules/hono/dist/types/adapter/netlify/conninfo.d.ts +4 -1
  540. package/node_modules/hono/dist/types/adapter/netlify/handler.d.ts +6 -1
  541. package/node_modules/hono/dist/types/adapter/netlify/index.d.ts +3 -5
  542. package/node_modules/hono/dist/types/adapter/netlify/mod.d.ts +3 -2
  543. package/node_modules/hono/dist/types/adapter/service-worker/handler.d.ts +9 -7
  544. package/node_modules/hono/dist/types/adapter/service-worker/index.d.ts +7 -9
  545. package/node_modules/hono/dist/types/adapter/service-worker/types.d.ts +12 -7
  546. package/node_modules/hono/dist/types/adapter/vercel/conninfo.d.ts +6 -1
  547. package/node_modules/hono/dist/types/adapter/vercel/handler.d.ts +6 -1
  548. package/node_modules/hono/dist/types/adapter/vercel/index.d.ts +3 -6
  549. package/node_modules/hono/dist/types/client/client.d.ts +5 -3
  550. package/node_modules/hono/dist/types/client/fetch-result-please.d.ts +21 -19
  551. package/node_modules/hono/dist/types/client/index.d.ts +5 -7
  552. package/node_modules/hono/dist/types/client/types.d.ts +134 -159
  553. package/node_modules/hono/dist/types/client/utils.d.ts +6 -4
  554. package/node_modules/hono/dist/types/compose.d.ts +4 -2
  555. package/node_modules/hono/dist/types/context.d.ts +335 -335
  556. package/node_modules/hono/dist/types/helper/accepts/accepts.d.ts +11 -9
  557. package/node_modules/hono/dist/types/helper/accepts/index.d.ts +2 -5
  558. package/node_modules/hono/dist/types/helper/adapter/index.d.ts +4 -6
  559. package/node_modules/hono/dist/types/helper/conninfo/index.d.ts +2 -5
  560. package/node_modules/hono/dist/types/helper/conninfo/types.d.ts +25 -23
  561. package/node_modules/hono/dist/types/helper/cookie/index.d.ts +10 -12
  562. package/node_modules/hono/dist/types/helper/css/common.d.ts +11 -9
  563. package/node_modules/hono/dist/types/helper/css/index.d.ts +26 -28
  564. package/node_modules/hono/dist/types/helper/dev/index.d.ts +10 -12
  565. package/node_modules/hono/dist/types/helper/factory/index.d.ts +26 -73
  566. package/node_modules/hono/dist/types/helper/html/index.d.ts +4 -7
  567. package/node_modules/hono/dist/types/helper/proxy/index.d.ts +19 -21
  568. package/node_modules/hono/dist/types/helper/route/index.d.ts +4 -2
  569. package/node_modules/hono/dist/types/helper/ssg/index.d.ts +4 -7
  570. package/node_modules/hono/dist/types/helper/ssg/middleware.d.ts +8 -6
  571. package/node_modules/hono/dist/types/helper/ssg/plugins.d.ts +3 -1
  572. package/node_modules/hono/dist/types/helper/ssg/ssg.d.ts +38 -36
  573. package/node_modules/hono/dist/types/helper/ssg/utils.d.ts +5 -3
  574. package/node_modules/hono/dist/types/helper/streaming/index.d.ts +4 -8
  575. package/node_modules/hono/dist/types/helper/streaming/sse.d.ts +10 -8
  576. package/node_modules/hono/dist/types/helper/streaming/stream.d.ts +4 -2
  577. package/node_modules/hono/dist/types/helper/streaming/text.d.ts +4 -2
  578. package/node_modules/hono/dist/types/helper/streaming/utils.d.ts +2 -0
  579. package/node_modules/hono/dist/types/helper/testing/index.d.ts +7 -9
  580. package/node_modules/hono/dist/types/helper/websocket/index.d.ts +30 -33
  581. package/node_modules/hono/dist/types/hono-base.d.ts +210 -210
  582. package/node_modules/hono/dist/types/hono.d.ts +11 -10
  583. package/node_modules/hono/dist/types/http-exception.d.ts +20 -22
  584. package/node_modules/hono/dist/types/index.d.ts +6 -37
  585. package/node_modules/hono/dist/types/jsx/base.d.ts +37 -35
  586. package/node_modules/hono/dist/types/jsx/children.d.ts +8 -6
  587. package/node_modules/hono/dist/types/jsx/components.d.ts +8 -5
  588. package/node_modules/hono/dist/types/jsx/constants.d.ts +2 -0
  589. package/node_modules/hono/dist/types/jsx/context.d.ts +9 -6
  590. package/node_modules/hono/dist/types/jsx/dom/client.d.ts +9 -10
  591. package/node_modules/hono/dist/types/jsx/dom/components.d.ts +9 -6
  592. package/node_modules/hono/dist/types/jsx/dom/context.d.ts +3 -1
  593. package/node_modules/hono/dist/types/jsx/dom/css.d.ts +27 -30
  594. package/node_modules/hono/dist/types/jsx/dom/hooks/index.d.ts +11 -12
  595. package/node_modules/hono/dist/types/jsx/dom/index.d.ts +79 -83
  596. package/node_modules/hono/dist/types/jsx/dom/intrinsic-element/components.d.ts +9 -5
  597. package/node_modules/hono/dist/types/jsx/dom/jsx-dev-runtime.d.ts +4 -6
  598. package/node_modules/hono/dist/types/jsx/dom/jsx-runtime.d.ts +3 -7
  599. package/node_modules/hono/dist/types/jsx/dom/render.d.ts +32 -50
  600. package/node_modules/hono/dist/types/jsx/dom/server.d.ts +87 -85
  601. package/node_modules/hono/dist/types/jsx/dom/utils.d.ts +2 -0
  602. package/node_modules/hono/dist/types/jsx/hooks/index.d.ts +16 -16
  603. package/node_modules/hono/dist/types/jsx/index.d.ts +71 -73
  604. package/node_modules/hono/dist/types/jsx/intrinsic-element/common.d.ts +3 -1
  605. package/node_modules/hono/dist/types/jsx/intrinsic-element/components.d.ts +7 -4
  606. package/node_modules/hono/dist/types/jsx/intrinsic-elements.d.ts +708 -708
  607. package/node_modules/hono/dist/types/jsx/jsx-dev-runtime.d.ts +4 -7
  608. package/node_modules/hono/dist/types/jsx/jsx-runtime.d.ts +7 -10
  609. package/node_modules/hono/dist/types/jsx/streaming.d.ts +9 -10
  610. package/node_modules/hono/dist/types/jsx/types.d.ts +12 -13
  611. package/node_modules/hono/dist/types/jsx/utils.d.ts +2 -0
  612. package/node_modules/hono/dist/types/middleware/basic-auth/index.d.ts +17 -19
  613. package/node_modules/hono/dist/types/middleware/bearer-auth/index.d.ts +46 -48
  614. package/node_modules/hono/dist/types/middleware/body-limit/index.d.ts +6 -8
  615. package/node_modules/hono/dist/types/middleware/cache/index.d.ts +13 -15
  616. package/node_modules/hono/dist/types/middleware/combine/index.d.ts +4 -6
  617. package/node_modules/hono/dist/types/middleware/compress/index.d.ts +9 -10
  618. package/node_modules/hono/dist/types/middleware/context-storage/index.d.ts +4 -6
  619. package/node_modules/hono/dist/types/middleware/cors/index.d.ts +10 -12
  620. package/node_modules/hono/dist/types/middleware/csrf/index.d.ts +6 -8
  621. package/node_modules/hono/dist/types/middleware/etag/digest.d.ts +2 -0
  622. package/node_modules/hono/dist/types/middleware/etag/index.d.ts +6 -8
  623. package/node_modules/hono/dist/types/middleware/ip-restriction/index.d.ts +11 -12
  624. package/node_modules/hono/dist/types/middleware/jsx-renderer/index.d.ts +11 -11
  625. package/node_modules/hono/dist/types/middleware/jwk/index.d.ts +2 -1
  626. package/node_modules/hono/dist/types/middleware/jwk/jwk.d.ts +20 -23
  627. package/node_modules/hono/dist/types/middleware/jwt/index.d.ts +7 -6
  628. package/node_modules/hono/dist/types/middleware/jwt/jwt.d.ts +28 -30
  629. package/node_modules/hono/dist/types/middleware/language/index.d.ts +6 -5
  630. package/node_modules/hono/dist/types/middleware/language/language.d.ts +42 -44
  631. package/node_modules/hono/dist/types/middleware/logger/index.d.ts +3 -5
  632. package/node_modules/hono/dist/types/middleware/method-not-allowed/index.d.ts +7 -9
  633. package/node_modules/hono/dist/types/middleware/method-override/index.d.ts +14 -16
  634. package/node_modules/hono/dist/types/middleware/mount/index.d.ts +46 -0
  635. package/node_modules/hono/dist/types/middleware/powered-by/index.d.ts +8 -10
  636. package/node_modules/hono/dist/types/middleware/pretty-json/index.d.ts +18 -20
  637. package/node_modules/hono/dist/types/middleware/request-id/index.d.ts +6 -5
  638. package/node_modules/hono/dist/types/middleware/request-id/request-id.d.ts +9 -11
  639. package/node_modules/hono/dist/types/middleware/secure-headers/index.d.ts +6 -6
  640. package/node_modules/hono/dist/types/middleware/secure-headers/permissions-policy.d.ts +2 -0
  641. package/node_modules/hono/dist/types/middleware/secure-headers/secure-headers.d.ts +55 -57
  642. package/node_modules/hono/dist/types/middleware/serve-static/index.d.ts +24 -24
  643. package/node_modules/hono/dist/types/middleware/serve-static/path.d.ts +2 -0
  644. package/node_modules/hono/dist/types/middleware/timeout/index.d.ts +5 -7
  645. package/node_modules/hono/dist/types/middleware/timing/index.d.ts +6 -5
  646. package/node_modules/hono/dist/types/middleware/timing/timing.d.ts +17 -20
  647. package/node_modules/hono/dist/types/middleware/trailing-slash/index.d.ts +35 -37
  648. package/node_modules/hono/dist/types/preset/quick.d.ts +6 -9
  649. package/node_modules/hono/dist/types/preset/tiny.d.ts +6 -9
  650. package/node_modules/hono/dist/types/request/constants.d.ts +2 -0
  651. package/node_modules/hono/dist/types/request.d.ts +288 -286
  652. package/node_modules/hono/dist/types/router/linear-router/index.d.ts +2 -5
  653. package/node_modules/hono/dist/types/router/linear-router/router.d.ts +7 -5
  654. package/node_modules/hono/dist/types/router/pattern-router/index.d.ts +2 -5
  655. package/node_modules/hono/dist/types/router/pattern-router/router.d.ts +7 -5
  656. package/node_modules/hono/dist/types/router/reg-exp-router/index.d.ts +3 -6
  657. package/node_modules/hono/dist/types/router/reg-exp-router/matcher.d.ts +3 -1
  658. package/node_modules/hono/dist/types/router/reg-exp-router/node.d.ts +6 -4
  659. package/node_modules/hono/dist/types/router/reg-exp-router/prepared-router.d.ts +11 -10
  660. package/node_modules/hono/dist/types/router/reg-exp-router/router.d.ts +10 -9
  661. package/node_modules/hono/dist/types/router/reg-exp-router/trie.d.ts +7 -5
  662. package/node_modules/hono/dist/types/router/smart-router/index.d.ts +2 -5
  663. package/node_modules/hono/dist/types/router/smart-router/router.d.ts +11 -9
  664. package/node_modules/hono/dist/types/router/trie-router/index.d.ts +2 -5
  665. package/node_modules/hono/dist/types/router/trie-router/node.d.ts +6 -4
  666. package/node_modules/hono/dist/types/router/trie-router/router.d.ts +7 -5
  667. package/node_modules/hono/dist/types/router/utils.d.ts +2 -0
  668. package/node_modules/hono/dist/types/router.d.ts +23 -22
  669. package/node_modules/hono/dist/types/types.d.ts +146 -505
  670. package/node_modules/hono/dist/types/utils/accept.d.ts +5 -3
  671. package/node_modules/hono/dist/types/utils/basic-auth.d.ts +4 -2
  672. package/node_modules/hono/dist/types/utils/body.d.ts +46 -50
  673. package/node_modules/hono/dist/types/utils/buffer.d.ts +7 -5
  674. package/node_modules/hono/dist/types/utils/color.d.ts +2 -0
  675. package/node_modules/hono/dist/types/utils/compress.d.ts +2 -0
  676. package/node_modules/hono/dist/types/utils/concurrent.d.ts +6 -4
  677. package/node_modules/hono/dist/types/utils/constants.d.ts +2 -0
  678. package/node_modules/hono/dist/types/utils/cookie.d.ts +20 -18
  679. package/node_modules/hono/dist/types/utils/crypto.d.ts +5 -7
  680. package/node_modules/hono/dist/types/utils/encode.d.ts +2 -0
  681. package/node_modules/hono/dist/types/utils/filepath.d.ts +5 -3
  682. package/node_modules/hono/dist/types/utils/handler.d.ts +2 -0
  683. package/node_modules/hono/dist/types/utils/headers.d.ts +2 -0
  684. package/node_modules/hono/dist/types/utils/html.d.ts +11 -9
  685. package/node_modules/hono/dist/types/utils/http-status.d.ts +2 -0
  686. package/node_modules/hono/dist/types/utils/ipaddr.d.ts +4 -6
  687. package/node_modules/hono/dist/types/utils/jwt/index.d.ts +18 -12
  688. package/node_modules/hono/dist/types/utils/jwt/jwa.d.ts +15 -13
  689. package/node_modules/hono/dist/types/utils/jwt/jws.d.ts +4 -7
  690. package/node_modules/hono/dist/types/utils/jwt/jwt.d.ts +26 -29
  691. package/node_modules/hono/dist/types/utils/jwt/types.d.ts +48 -45
  692. package/node_modules/hono/dist/types/utils/jwt/utf8.d.ts +2 -0
  693. package/node_modules/hono/dist/types/utils/mime.d.ts +60 -57
  694. package/node_modules/hono/dist/types/utils/stream.d.ts +27 -25
  695. package/node_modules/hono/dist/types/utils/types.d.ts +14 -26
  696. package/node_modules/hono/dist/types/utils/url.d.ts +2 -0
  697. package/node_modules/hono/dist/types/validator/index.d.ts +3 -7
  698. package/node_modules/hono/dist/types/validator/utils.d.ts +6 -8
  699. package/node_modules/hono/dist/types/validator/validator.d.ts +11 -9
  700. package/node_modules/hono/dist/types.js +4 -6
  701. package/node_modules/hono/dist/utils/accept.js +185 -212
  702. package/node_modules/hono/dist/utils/basic-auth.js +18 -21
  703. package/node_modules/hono/dist/utils/body.js +87 -92
  704. package/node_modules/hono/dist/utils/buffer.js +44 -71
  705. package/node_modules/hono/dist/utils/color.js +33 -21
  706. package/node_modules/hono/dist/utils/compress.js +11 -5
  707. package/node_modules/hono/dist/utils/concurrent.js +29 -38
  708. package/node_modules/hono/dist/utils/constants.js +7 -5
  709. package/node_modules/hono/dist/utils/cookie.js +114 -163
  710. package/node_modules/hono/dist/utils/crypto.js +30 -40
  711. package/node_modules/hono/dist/utils/encode.js +30 -26
  712. package/node_modules/hono/dist/utils/filepath.js +23 -33
  713. package/node_modules/hono/dist/utils/handler.js +10 -11
  714. package/node_modules/hono/dist/utils/headers.js +1 -0
  715. package/node_modules/hono/dist/utils/html.js +97 -117
  716. package/node_modules/hono/dist/utils/http-status.js +1 -0
  717. package/node_modules/hono/dist/utils/ipaddr.js +227 -279
  718. package/node_modules/hono/dist/utils/jwt/index.js +12 -4
  719. package/node_modules/hono/dist/utils/jwt/jwa.js +24 -20
  720. package/node_modules/hono/dist/utils/jwt/jws.js +115 -174
  721. package/node_modules/hono/dist/utils/jwt/jwt.js +120 -198
  722. package/node_modules/hono/dist/utils/jwt/types.js +79 -95
  723. package/node_modules/hono/dist/utils/jwt/utf8.js +9 -7
  724. package/node_modules/hono/dist/utils/mime.js +74 -79
  725. package/node_modules/hono/dist/utils/stream.js +86 -88
  726. package/node_modules/hono/dist/utils/types.js +1 -0
  727. package/node_modules/hono/dist/utils/url.js +187 -215
  728. package/node_modules/hono/dist/validator/index.js +1 -4
  729. package/node_modules/hono/dist/validator/utils.js +1 -0
  730. package/node_modules/hono/dist/validator/validator.js +61 -83
  731. package/node_modules/hono/package.json +35 -27
  732. package/node_modules/ip-address/README.md +34 -34
  733. package/node_modules/ip-address/dist/ipv4.js +7 -0
  734. package/node_modules/ip-address/dist/ipv4.js.map +1 -1
  735. package/node_modules/ip-address/package.json +1 -1
  736. package/node_modules/undici/docs/docs/api/DiagnosticsChannel.md +3 -1
  737. package/node_modules/undici/docs/docs/api/Dispatcher.md +1 -0
  738. package/node_modules/undici/lib/core/request.js +23 -2
  739. package/node_modules/undici/lib/dispatcher/client-h1.js +11 -4
  740. package/node_modules/undici/lib/dispatcher/client-h2.js +14 -5
  741. package/node_modules/undici/lib/handler/retry-handler.js +71 -20
  742. package/node_modules/undici/lib/interceptor/decompress.js +228 -68
  743. package/node_modules/undici/lib/web/websocket/connection.js +18 -8
  744. package/node_modules/undici/package.json +1 -1
  745. package/node_modules/undici/types/interceptors.d.ts +1 -1
  746. package/node_modules/ws/lib/websocket.js +17 -3
  747. package/node_modules/ws/package.json +1 -1
  748. package/package.json +3 -3
  749. package/slingshot/index.js +256 -256
@@ -22,7 +22,6 @@ const bearerAuth_js_1 = require("../../server/auth/middleware/bearerAuth.js");
22
22
  const types_js_1 = require("../../types.js");
23
23
  const inMemoryEventStore_js_1 = require("../shared/inMemoryEventStore.js");
24
24
  const demoInMemoryOAuthProvider_js_1 = require("./demoInMemoryOAuthProvider.js");
25
- const auth_utils_js_1 = require("../../shared/auth-utils.js");
26
25
  const cors_1 = __importDefault(require("cors"));
27
26
  // Create an MCP server with implementation details
28
27
  const getServer = () => {
@@ -196,18 +195,16 @@ const tokenVerifier = {
196
195
  throw new Error(`Invalid or expired token: ${text}`);
197
196
  }
198
197
  const data = await response.json();
199
- if (!data.aud) {
200
- throw new Error(`Resource Indicator (RFC8707) missing`);
201
- }
202
- if (!(0, auth_utils_js_1.checkResourceAllowed)({ requestedResource: data.aud, configuredResource: mcpServerUrl })) {
203
- throw new Error(`Expected resource indicator ${mcpServerUrl}, got: ${data.aud}`);
204
- }
198
+ // `aud` is one value, a list, or absent: report the entry on this server's origin, if any
199
+ const audience = [data.aud ?? []].flat().find(aud => URL.canParse(aud) && new URL(aud).origin === mcpServerUrl.origin);
205
200
  // Convert the response to AuthInfo format
206
201
  return {
207
202
  token,
208
203
  clientId: data.client_id,
209
204
  scopes: data.scope ? data.scope.split(' ') : [],
210
- expiresAt: data.exp
205
+ expiresAt: data.exp,
206
+ // The resource the token was issued for (RFC 8707), compared with expectedResource below
207
+ resource: audience ? new URL(audience) : undefined
211
208
  };
212
209
  }
213
210
  };
@@ -221,7 +218,9 @@ app.use((0, router_js_1.mcpAuthMetadataRouter)({
221
218
  authMiddleware = (0, bearerAuth_js_1.requireBearerAuth)({
222
219
  verifier: tokenVerifier,
223
220
  requiredScopes: [],
224
- resourceMetadataUrl: (0, router_js_1.getOAuthProtectedResourceMetadataUrl)(mcpServerUrl)
221
+ resourceMetadataUrl: (0, router_js_1.getOAuthProtectedResourceMetadataUrl)(mcpServerUrl),
222
+ // Accept only tokens issued for this server
223
+ expectedResource: mcpServerUrl
225
224
  });
226
225
  /**
227
226
  * API Key Form Handling
@@ -495,20 +494,46 @@ app.post('/confirm-payment', express_1.default.urlencoded(), (req, res) => {
495
494
  res.status(400).send('<h1>Error</h1><p>Invalid action</p>');
496
495
  }
497
496
  });
498
- // Map to store transports by session ID
499
- const transports = {};
497
+ // Close sessions that have been idle for IDLE_MS, and keep at most MAX_SESSIONS open
498
+ const IDLE_MS = 30 * 60000;
499
+ const MAX_SESSIONS = 1000;
500
+ const sessions = new Map();
501
+ // Count open responses so a long-running request or a listening SSE stream is not treated as idle
502
+ const trackResponse = (session, res) => {
503
+ if (!res.socket || res.destroyed)
504
+ return;
505
+ session.open++;
506
+ res.on('close', () => {
507
+ session.open--;
508
+ session.lastActive = Date.now();
509
+ });
510
+ };
511
+ // Close sessions with nothing open and no activity for IDLE_MS
512
+ setInterval(() => {
513
+ const cutoff = Date.now() - IDLE_MS;
514
+ for (const { transport, open, lastActive } of sessions.values()) {
515
+ if (open === 0 && lastActive < cutoff)
516
+ transport.close().catch(console.error);
517
+ }
518
+ }, 60000).unref();
500
519
  const sessionsNeedingElicitation = {};
501
520
  // MCP POST endpoint
502
521
  const mcpPostHandler = async (req, res) => {
503
522
  const sessionId = req.headers['mcp-session-id'];
504
523
  console.debug(`Received MCP POST for session: ${sessionId || 'unknown'}`);
505
524
  try {
525
+ const session = sessionId ? sessions.get(sessionId) : undefined;
506
526
  let transport;
507
- if (sessionId && transports[sessionId]) {
527
+ if (session) {
508
528
  // Reuse existing transport
509
- transport = transports[sessionId];
529
+ transport = session.transport;
530
+ trackResponse(session, res);
510
531
  }
511
532
  else if (!sessionId && (0, types_js_1.isInitializeRequest)(req.body)) {
533
+ if (sessions.size >= MAX_SESSIONS) {
534
+ res.status(503).json({ jsonrpc: '2.0', error: { code: -32000, message: 'Too many open sessions' }, id: null });
535
+ return;
536
+ }
512
537
  const server = getServer();
513
538
  // New initialization request
514
539
  const eventStore = new inMemoryEventStore_js_1.InMemoryEventStore();
@@ -519,7 +544,7 @@ const mcpPostHandler = async (req, res) => {
519
544
  // Store the transport by session ID when session is initialized
520
545
  // This avoids race conditions where requests might come in before the session is stored
521
546
  console.log(`Session initialized with ID: ${sessionId}`);
522
- transports[sessionId] = transport;
547
+ sessions.set(sessionId, { transport, open: 0, lastActive: Date.now() });
523
548
  sessionsNeedingElicitation[sessionId] = {
524
549
  elicitationSender: params => server.server.elicitInput(params),
525
550
  createCompletionNotifier: elicitationId => server.server.createElicitationCompletionNotifier(elicitationId)
@@ -529,9 +554,9 @@ const mcpPostHandler = async (req, res) => {
529
554
  // Set up onclose handler to clean up transport when closed
530
555
  transport.onclose = () => {
531
556
  const sid = transport.sessionId;
532
- if (sid && transports[sid]) {
533
- console.log(`Transport closed for session ${sid}, removing from transports map`);
534
- delete transports[sid];
557
+ if (sid && sessions.has(sid)) {
558
+ console.log(`Transport closed for session ${sid}, removing from sessions map`);
559
+ sessions.delete(sid);
535
560
  delete sessionsNeedingElicitation[sid];
536
561
  }
537
562
  };
@@ -541,8 +566,13 @@ const mcpPostHandler = async (req, res) => {
541
566
  await transport.handleRequest(req, res, req.body);
542
567
  return; // Already handled
543
568
  }
569
+ else if (sessionId) {
570
+ // Unknown or expired session ID - the client should start a new session
571
+ res.status(404).json({ jsonrpc: '2.0', error: { code: -32001, message: 'Session not found' }, id: null });
572
+ return;
573
+ }
544
574
  else {
545
- // Invalid request - no session ID or not initialization request
575
+ // Invalid request - no session ID and not an initialization request
546
576
  res.status(400).json({
547
577
  jsonrpc: '2.0',
548
578
  error: {
@@ -576,8 +606,14 @@ app.post('/mcp', authMiddleware, mcpPostHandler);
576
606
  // Handle GET requests for SSE streams (using built-in support from StreamableHTTP)
577
607
  const mcpGetHandler = async (req, res) => {
578
608
  const sessionId = req.headers['mcp-session-id'];
579
- if (!sessionId || !transports[sessionId]) {
580
- res.status(400).send('Invalid or missing session ID');
609
+ if (!sessionId) {
610
+ res.status(400).send('Missing session ID');
611
+ return;
612
+ }
613
+ const session = sessions.get(sessionId);
614
+ if (!session) {
615
+ // Unknown or expired session ID - the client should start a new session
616
+ res.status(404).json({ jsonrpc: '2.0', error: { code: -32001, message: 'Session not found' }, id: null });
581
617
  return;
582
618
  }
583
619
  // Check for Last-Event-ID header for resumability
@@ -588,8 +624,8 @@ const mcpGetHandler = async (req, res) => {
588
624
  else {
589
625
  console.log(`Establishing new SSE stream for session ${sessionId}`);
590
626
  }
591
- const transport = transports[sessionId];
592
- await transport.handleRequest(req, res);
627
+ trackResponse(session, res);
628
+ await session.transport.handleRequest(req, res);
593
629
  if (sessionsNeedingElicitation[sessionId]) {
594
630
  const { elicitationSender, createCompletionNotifier } = sessionsNeedingElicitation[sessionId];
595
631
  // Send an elicitation request to the client in the background
@@ -610,14 +646,20 @@ app.get('/mcp', authMiddleware, mcpGetHandler);
610
646
  // Handle DELETE requests for session termination (according to MCP spec)
611
647
  const mcpDeleteHandler = async (req, res) => {
612
648
  const sessionId = req.headers['mcp-session-id'];
613
- if (!sessionId || !transports[sessionId]) {
614
- res.status(400).send('Invalid or missing session ID');
649
+ if (!sessionId) {
650
+ res.status(400).send('Missing session ID');
651
+ return;
652
+ }
653
+ const session = sessions.get(sessionId);
654
+ if (!session) {
655
+ // Unknown or expired session ID - the client should start a new session
656
+ res.status(404).json({ jsonrpc: '2.0', error: { code: -32001, message: 'Session not found' }, id: null });
615
657
  return;
616
658
  }
617
659
  console.log(`Received session termination request for session ${sessionId}`);
618
660
  try {
619
- const transport = transports[sessionId];
620
- await transport.handleRequest(req, res);
661
+ trackResponse(session, res);
662
+ await session.transport.handleRequest(req, res);
621
663
  }
622
664
  catch (error) {
623
665
  console.error('Error handling session termination:', error);
@@ -639,11 +681,11 @@ app.listen(MCP_PORT, error => {
639
681
  process.on('SIGINT', async () => {
640
682
  console.log('Shutting down server...');
641
683
  // Close all active transports to properly clean up resources
642
- for (const sessionId in transports) {
684
+ for (const [sessionId, { transport }] of sessions) {
643
685
  try {
644
686
  console.log(`Closing transport for session ${sessionId}`);
645
- await transports[sessionId].close();
646
- delete transports[sessionId];
687
+ await transport.close();
688
+ sessions.delete(sessionId);
647
689
  delete sessionsNeedingElicitation[sessionId];
648
690
  }
649
691
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"elicitationUrlExample.js","sourceRoot":"","sources":["../../../../src/examples/server/elicitationUrlExample.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"elicitationUrlExample.js","sourceRoot":"","sources":["../../../../src/examples/server/elicitationUrlExample.ts"],"names":[],"mappings":"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"}
@@ -89,20 +89,46 @@ const getServer = () => {
89
89
  return server;
90
90
  };
91
91
  const app = (0, express_js_1.createMcpExpressApp)();
92
- // Map to store transports by session ID
93
- const transports = {};
92
+ // Close sessions that have been idle for IDLE_MS, and keep at most MAX_SESSIONS open
93
+ const IDLE_MS = 30 * 60000;
94
+ const MAX_SESSIONS = 1000;
95
+ const sessions = new Map();
96
+ // Count open responses so a long-running request is not treated as idle
97
+ const trackResponse = (session, res) => {
98
+ if (!res.socket || res.destroyed)
99
+ return;
100
+ session.open++;
101
+ res.on('close', () => {
102
+ session.open--;
103
+ session.lastActive = Date.now();
104
+ });
105
+ };
106
+ // Close sessions with nothing open and no activity for IDLE_MS
107
+ setInterval(() => {
108
+ const cutoff = Date.now() - IDLE_MS;
109
+ for (const { transport, open, lastActive } of sessions.values()) {
110
+ if (open === 0 && lastActive < cutoff)
111
+ transport.close().catch(console.error);
112
+ }
113
+ }, 60000).unref();
94
114
  app.post('/mcp', async (req, res) => {
95
115
  console.log('Received MCP request:', req.body);
96
116
  try {
97
117
  // Check for existing session ID
98
118
  const sessionId = req.headers['mcp-session-id'];
119
+ const session = sessionId ? sessions.get(sessionId) : undefined;
99
120
  let transport;
100
- if (sessionId && transports[sessionId]) {
121
+ if (session) {
101
122
  // Reuse existing transport
102
- transport = transports[sessionId];
123
+ transport = session.transport;
124
+ trackResponse(session, res);
103
125
  }
104
126
  else if (!sessionId && (0, types_js_1.isInitializeRequest)(req.body)) {
105
127
  // New initialization request - use JSON response mode
128
+ if (sessions.size >= MAX_SESSIONS) {
129
+ res.status(503).json({ jsonrpc: '2.0', error: { code: -32000, message: 'Too many open sessions' }, id: null });
130
+ return;
131
+ }
106
132
  transport = new streamableHttp_js_1.StreamableHTTPServerTransport({
107
133
  sessionIdGenerator: () => (0, node_crypto_1.randomUUID)(),
108
134
  enableJsonResponse: true, // Enable JSON response mode
@@ -110,17 +136,30 @@ app.post('/mcp', async (req, res) => {
110
136
  // Store the transport by session ID when session is initialized
111
137
  // This avoids race conditions where requests might come in before the session is stored
112
138
  console.log(`Session initialized with ID: ${sessionId}`);
113
- transports[sessionId] = transport;
139
+ sessions.set(sessionId, { transport, open: 0, lastActive: Date.now() });
114
140
  }
115
141
  });
142
+ // Set up onclose handler to clean up transport when closed
143
+ transport.onclose = () => {
144
+ const sid = transport.sessionId;
145
+ if (sid && sessions.has(sid)) {
146
+ console.log(`Transport closed for session ${sid}, removing from sessions map`);
147
+ sessions.delete(sid);
148
+ }
149
+ };
116
150
  // Connect the transport to the MCP server BEFORE handling the request
117
151
  const server = getServer();
118
152
  await server.connect(transport);
119
153
  await transport.handleRequest(req, res, req.body);
120
154
  return; // Already handled
121
155
  }
156
+ else if (sessionId) {
157
+ // Unknown or expired session ID - the client should start a new session
158
+ res.status(404).json({ jsonrpc: '2.0', error: { code: -32001, message: 'Session not found' }, id: null });
159
+ return;
160
+ }
122
161
  else {
123
- // Invalid request - no session ID or not initialization request
162
+ // Invalid request - no session ID and not an initialization request
124
163
  res.status(400).json({
125
164
  jsonrpc: '2.0',
126
165
  error: {
@@ -1 +1 @@
1
- {"version":3,"file":"jsonResponseStreamableHttp.js","sourceRoot":"","sources":["../../../../src/examples/server/jsonResponseStreamableHttp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jsonResponseStreamableHttp.js","sourceRoot":"","sources":["../../../../src/examples/server/jsonResponseStreamableHttp.ts"],"names":[],"mappings":"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"}
@@ -34,7 +34,6 @@ const types_js_1 = require("../../types.js");
34
34
  const inMemoryEventStore_js_1 = require("../shared/inMemoryEventStore.js");
35
35
  const in_memory_js_1 = require("../../experimental/tasks/stores/in-memory.js");
36
36
  const demoInMemoryOAuthProvider_js_1 = require("./demoInMemoryOAuthProvider.js");
37
- const auth_utils_js_1 = require("../../shared/auth-utils.js");
38
37
  // Check for OAuth flag
39
38
  const useOAuth = process.argv.includes('--oauth');
40
39
  const strictOAuth = process.argv.includes('--oauth-strict');
@@ -554,20 +553,16 @@ if (useOAuth) {
554
553
  throw new Error(`Invalid or expired token: ${text}`);
555
554
  }
556
555
  const data = await response.json();
557
- if (strictOAuth) {
558
- if (!data.aud) {
559
- throw new Error(`Resource Indicator (RFC8707) missing`);
560
- }
561
- if (!(0, auth_utils_js_1.checkResourceAllowed)({ requestedResource: data.aud, configuredResource: mcpServerUrl })) {
562
- throw new Error(`Expected resource indicator ${mcpServerUrl}, got: ${data.aud}`);
563
- }
564
- }
556
+ // `aud` is one value, a list, or absent: report the entry on this server's origin, if any
557
+ const audience = [data.aud ?? []].flat().find(aud => URL.canParse(aud) && new URL(aud).origin === mcpServerUrl.origin);
565
558
  // Convert the response to AuthInfo format
566
559
  return {
567
560
  token,
568
561
  clientId: data.client_id,
569
562
  scopes: data.scope ? data.scope.split(' ') : [],
570
- expiresAt: data.exp
563
+ expiresAt: data.exp,
564
+ // The resource the token was issued for (RFC 8707), compared with expectedResource below
565
+ resource: audience ? new URL(audience) : undefined
571
566
  };
572
567
  }
573
568
  };
@@ -581,11 +576,33 @@ if (useOAuth) {
581
576
  authMiddleware = (0, bearerAuth_js_1.requireBearerAuth)({
582
577
  verifier: tokenVerifier,
583
578
  requiredScopes: [],
584
- resourceMetadataUrl: (0, router_js_1.getOAuthProtectedResourceMetadataUrl)(mcpServerUrl)
579
+ resourceMetadataUrl: (0, router_js_1.getOAuthProtectedResourceMetadataUrl)(mcpServerUrl),
580
+ // With --oauth-strict, accept only tokens issued for this server
581
+ expectedResource: strictOAuth ? mcpServerUrl : undefined
585
582
  });
586
583
  }
587
- // Map to store transports by session ID
588
- const transports = {};
584
+ // Close sessions that have been idle for IDLE_MS, and keep at most MAX_SESSIONS open
585
+ const IDLE_MS = 30 * 60000;
586
+ const MAX_SESSIONS = 1000;
587
+ const sessions = new Map();
588
+ // Count open responses so a long-running request or a listening SSE stream is not treated as idle
589
+ const trackResponse = (session, res) => {
590
+ if (!res.socket || res.destroyed)
591
+ return;
592
+ session.open++;
593
+ res.on('close', () => {
594
+ session.open--;
595
+ session.lastActive = Date.now();
596
+ });
597
+ };
598
+ // Close sessions with nothing open and no activity for IDLE_MS
599
+ setInterval(() => {
600
+ const cutoff = Date.now() - IDLE_MS;
601
+ for (const { transport, open, lastActive } of sessions.values()) {
602
+ if (open === 0 && lastActive < cutoff)
603
+ transport.close().catch(console.error);
604
+ }
605
+ }, 60000).unref();
589
606
  // MCP POST endpoint with optional auth
590
607
  const mcpPostHandler = async (req, res) => {
591
608
  const sessionId = req.headers['mcp-session-id'];
@@ -599,13 +616,19 @@ const mcpPostHandler = async (req, res) => {
599
616
  console.log('Authenticated user:', req.auth);
600
617
  }
601
618
  try {
619
+ const session = sessionId ? sessions.get(sessionId) : undefined;
602
620
  let transport;
603
- if (sessionId && transports[sessionId]) {
621
+ if (session) {
604
622
  // Reuse existing transport
605
- transport = transports[sessionId];
623
+ transport = session.transport;
624
+ trackResponse(session, res);
606
625
  }
607
626
  else if (!sessionId && (0, types_js_1.isInitializeRequest)(req.body)) {
608
627
  // New initialization request
628
+ if (sessions.size >= MAX_SESSIONS) {
629
+ res.status(503).json({ jsonrpc: '2.0', error: { code: -32000, message: 'Too many open sessions' }, id: null });
630
+ return;
631
+ }
609
632
  const eventStore = new inMemoryEventStore_js_1.InMemoryEventStore();
610
633
  transport = new streamableHttp_js_1.StreamableHTTPServerTransport({
611
634
  sessionIdGenerator: () => (0, node_crypto_1.randomUUID)(),
@@ -614,15 +637,15 @@ const mcpPostHandler = async (req, res) => {
614
637
  // Store the transport by session ID when session is initialized
615
638
  // This avoids race conditions where requests might come in before the session is stored
616
639
  console.log(`Session initialized with ID: ${sessionId}`);
617
- transports[sessionId] = transport;
640
+ sessions.set(sessionId, { transport, open: 0, lastActive: Date.now() });
618
641
  }
619
642
  });
620
643
  // Set up onclose handler to clean up transport when closed
621
644
  transport.onclose = () => {
622
645
  const sid = transport.sessionId;
623
- if (sid && transports[sid]) {
624
- console.log(`Transport closed for session ${sid}, removing from transports map`);
625
- delete transports[sid];
646
+ if (sid && sessions.has(sid)) {
647
+ console.log(`Transport closed for session ${sid}, removing from sessions map`);
648
+ sessions.delete(sid);
626
649
  }
627
650
  };
628
651
  // Connect the transport to the MCP server BEFORE handling the request
@@ -632,8 +655,13 @@ const mcpPostHandler = async (req, res) => {
632
655
  await transport.handleRequest(req, res, req.body);
633
656
  return; // Already handled
634
657
  }
658
+ else if (sessionId) {
659
+ // Unknown or expired session ID - the client should start a new session
660
+ res.status(404).json({ jsonrpc: '2.0', error: { code: -32001, message: 'Session not found' }, id: null });
661
+ return;
662
+ }
635
663
  else {
636
- // Invalid request - no session ID or not initialization request
664
+ // Invalid request - no session ID and not an initialization request
637
665
  res.status(400).json({
638
666
  jsonrpc: '2.0',
639
667
  error: {
@@ -672,8 +700,14 @@ else {
672
700
  // Handle GET requests for SSE streams (using built-in support from StreamableHTTP)
673
701
  const mcpGetHandler = async (req, res) => {
674
702
  const sessionId = req.headers['mcp-session-id'];
675
- if (!sessionId || !transports[sessionId]) {
676
- res.status(400).send('Invalid or missing session ID');
703
+ if (!sessionId) {
704
+ res.status(400).send('Missing session ID');
705
+ return;
706
+ }
707
+ const session = sessions.get(sessionId);
708
+ if (!session) {
709
+ // Unknown or expired session ID - the client should start a new session
710
+ res.status(404).json({ jsonrpc: '2.0', error: { code: -32001, message: 'Session not found' }, id: null });
677
711
  return;
678
712
  }
679
713
  if (useOAuth && req.auth) {
@@ -687,8 +721,8 @@ const mcpGetHandler = async (req, res) => {
687
721
  else {
688
722
  console.log(`Establishing new SSE stream for session ${sessionId}`);
689
723
  }
690
- const transport = transports[sessionId];
691
- await transport.handleRequest(req, res);
724
+ trackResponse(session, res);
725
+ await session.transport.handleRequest(req, res);
692
726
  };
693
727
  // Set up GET route with conditional auth middleware
694
728
  if (useOAuth && authMiddleware) {
@@ -700,14 +734,20 @@ else {
700
734
  // Handle DELETE requests for session termination (according to MCP spec)
701
735
  const mcpDeleteHandler = async (req, res) => {
702
736
  const sessionId = req.headers['mcp-session-id'];
703
- if (!sessionId || !transports[sessionId]) {
704
- res.status(400).send('Invalid or missing session ID');
737
+ if (!sessionId) {
738
+ res.status(400).send('Missing session ID');
739
+ return;
740
+ }
741
+ const session = sessions.get(sessionId);
742
+ if (!session) {
743
+ // Unknown or expired session ID - the client should start a new session
744
+ res.status(404).json({ jsonrpc: '2.0', error: { code: -32001, message: 'Session not found' }, id: null });
705
745
  return;
706
746
  }
707
747
  console.log(`Received session termination request for session ${sessionId}`);
708
748
  try {
709
- const transport = transports[sessionId];
710
- await transport.handleRequest(req, res);
749
+ trackResponse(session, res);
750
+ await session.transport.handleRequest(req, res);
711
751
  }
712
752
  catch (error) {
713
753
  console.error('Error handling session termination:', error);
@@ -734,11 +774,11 @@ app.listen(MCP_PORT, error => {
734
774
  process.on('SIGINT', async () => {
735
775
  console.log('Shutting down server...');
736
776
  // Close all active transports to properly clean up resources
737
- for (const sessionId in transports) {
777
+ for (const [sessionId, { transport }] of sessions) {
738
778
  try {
739
779
  console.log(`Closing transport for session ${sessionId}`);
740
- await transports[sessionId].close();
741
- delete transports[sessionId];
780
+ await transport.close();
781
+ sessions.delete(sessionId);
742
782
  }
743
783
  catch (error) {
744
784
  console.error(`Error closing transport for session ${sessionId}:`, error);