pi-cursor-sdk 0.5.0 → 0.5.2

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 (723) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/README.md +110 -30
  3. package/dist/context.js +53 -34
  4. package/dist/cursor-api-key.js +34 -19
  5. package/dist/cursor-cloud-options.js +1 -0
  6. package/dist/cursor-config.js +59 -0
  7. package/dist/cursor-custom-store-path.js +177 -0
  8. package/dist/cursor-custom-subagent-definitions.js +14 -0
  9. package/dist/cursor-fallback-models.generated.js +1 -1
  10. package/dist/cursor-fallback-warning.js +8 -2
  11. package/dist/cursor-live-run-coordinator.js +22 -2
  12. package/dist/cursor-mcp-timeout-override.js +3 -1
  13. package/dist/cursor-pi-tool-bridge-run.js +21 -0
  14. package/dist/cursor-pi-tool-bridge-server.js +1 -1
  15. package/dist/cursor-provider-binding.js +70 -10
  16. package/dist/cursor-provider-errors.js +33 -26
  17. package/dist/cursor-provider-live-run-drain.js +10 -4
  18. package/dist/cursor-provider-run-finalizer.js +2 -1
  19. package/dist/cursor-provider-turn-prepare.js +25 -9
  20. package/dist/cursor-provider-turn-summary.js +1 -1
  21. package/dist/cursor-provider-turn-tool-ledger.js +13 -7
  22. package/dist/cursor-provider.js +2 -1
  23. package/dist/cursor-question-tool.js +5 -5
  24. package/dist/cursor-request-provenance.js +13 -2
  25. package/dist/cursor-sdk-output-filter.js +1 -1
  26. package/dist/cursor-sdk-process-error-guard.js +1 -3
  27. package/dist/cursor-sdk-runtime.js +13 -14
  28. package/dist/cursor-sdk-vendor-env.js +20 -0
  29. package/dist/cursor-session-agent-cleanup.js +29 -26
  30. package/dist/cursor-session-agent.js +38 -16
  31. package/dist/cursor-session-send-policy.js +2 -2
  32. package/dist/cursor-session-store.js +235 -45
  33. package/dist/cursor-state.js +6 -3
  34. package/dist/cursor-tool-manifest.js +1 -1
  35. package/dist/index.js +21 -19
  36. package/dist/model-discovery.js +51 -18
  37. package/dist/model-list-cache.js +12 -1
  38. package/docs/cursor-live-smoke-checklist.md +2 -2
  39. package/docs/cursor-model-ux-spec.md +70 -26
  40. package/docs/cursor-native-tool-replay.md +13 -5
  41. package/docs/cursor-native-tool-visual-audit.md +1 -1
  42. package/docs/cursor-testing-lessons.md +43 -5
  43. package/docs/cursor-tool-surfaces.md +3 -3
  44. package/node_modules/@hono/node-server/README.md +21 -10
  45. package/node_modules/@hono/node-server/dist/early-hints.cjs +1 -1
  46. package/node_modules/@hono/node-server/dist/early-hints.mjs +1 -1
  47. package/node_modules/@hono/node-server/dist/index.cjs +41 -19
  48. package/node_modules/@hono/node-server/dist/index.mjs +42 -20
  49. package/node_modules/@hono/node-server/dist/serve-static.cjs +1 -0
  50. package/node_modules/@hono/node-server/dist/serve-static.d.cts +2 -1
  51. package/node_modules/@hono/node-server/dist/serve-static.d.mts +2 -1
  52. package/node_modules/@hono/node-server/dist/serve-static.mjs +1 -0
  53. package/node_modules/@hono/node-server/package.json +3 -2
  54. package/node_modules/@modelcontextprotocol/core/dist/{auth--n_Yzytt.d.cts → auth-Anm-lwWi.d.mts} +9 -8
  55. package/node_modules/@modelcontextprotocol/core/dist/{auth-YUQV3RRv.d.mts.map → auth-Anm-lwWi.d.mts.map} +1 -1
  56. package/node_modules/@modelcontextprotocol/core/dist/{auth-CGP0BDVq.mjs → auth-BNDyLTqp.mjs} +5 -3
  57. package/node_modules/@modelcontextprotocol/core/dist/{auth-CGP0BDVq.mjs.map → auth-BNDyLTqp.mjs.map} +1 -1
  58. package/node_modules/@modelcontextprotocol/core/dist/{auth-4-zilcqg.cjs → auth-D1CeV_Jr.cjs} +5 -3
  59. package/node_modules/@modelcontextprotocol/core/dist/{auth-4-zilcqg.cjs.map → auth-D1CeV_Jr.cjs.map} +1 -1
  60. package/node_modules/@modelcontextprotocol/core/dist/{auth-YUQV3RRv.d.mts → auth-V9XJSCfa.d.cts} +9 -8
  61. package/node_modules/@modelcontextprotocol/core/dist/{auth--n_Yzytt.d.cts.map → auth-V9XJSCfa.d.cts.map} +1 -1
  62. package/node_modules/@modelcontextprotocol/core/dist/index.cjs +1 -1
  63. package/node_modules/@modelcontextprotocol/core/dist/index.d.cts +1 -1
  64. package/node_modules/@modelcontextprotocol/core/dist/index.d.mts +1 -1
  65. package/node_modules/@modelcontextprotocol/core/dist/index.mjs +1 -1
  66. package/node_modules/@modelcontextprotocol/core/dist/internal.cjs +1 -1
  67. package/node_modules/@modelcontextprotocol/core/dist/internal.d.cts +1 -1
  68. package/node_modules/@modelcontextprotocol/core/dist/internal.d.mts +1 -1
  69. package/node_modules/@modelcontextprotocol/core/dist/internal.mjs +1 -1
  70. package/node_modules/@modelcontextprotocol/core/package.json +2 -2
  71. package/node_modules/@modelcontextprotocol/hono/README.md +7 -5
  72. package/node_modules/@modelcontextprotocol/hono/dist/index.cjs.map +1 -1
  73. package/node_modules/@modelcontextprotocol/hono/dist/index.d.cts +5 -0
  74. package/node_modules/@modelcontextprotocol/hono/dist/index.d.cts.map +1 -1
  75. package/node_modules/@modelcontextprotocol/hono/dist/index.d.mts +5 -0
  76. package/node_modules/@modelcontextprotocol/hono/dist/index.d.mts.map +1 -1
  77. package/node_modules/@modelcontextprotocol/hono/dist/index.mjs.map +1 -1
  78. package/node_modules/@modelcontextprotocol/hono/package.json +4 -4
  79. package/node_modules/@modelcontextprotocol/server/README.md +1 -7
  80. package/node_modules/@modelcontextprotocol/server/dist/{createMcpHandler-Bt6U_Fqb.d.mts → createMcpHandler-D4NN8WsG.d.mts} +35 -13
  81. package/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-D4NN8WsG.d.mts.map +1 -0
  82. package/node_modules/@modelcontextprotocol/server/dist/{createMcpHandler-BLVe3qmU.d.cts → createMcpHandler-DZmmlN8e.d.cts} +35 -13
  83. package/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-DZmmlN8e.d.cts.map +1 -0
  84. package/node_modules/@modelcontextprotocol/server/dist/index.cjs +32 -5
  85. package/node_modules/@modelcontextprotocol/server/dist/index.cjs.map +1 -1
  86. package/node_modules/@modelcontextprotocol/server/dist/index.d.cts +41 -5
  87. package/node_modules/@modelcontextprotocol/server/dist/index.d.cts.map +1 -1
  88. package/node_modules/@modelcontextprotocol/server/dist/index.d.mts +41 -5
  89. package/node_modules/@modelcontextprotocol/server/dist/index.d.mts.map +1 -1
  90. package/node_modules/@modelcontextprotocol/server/dist/index.mjs +32 -5
  91. package/node_modules/@modelcontextprotocol/server/dist/index.mjs.map +1 -1
  92. package/node_modules/@modelcontextprotocol/server/dist/{mcp-DUcCQSTW.cjs → mcp-BumlNux0.cjs} +73 -23
  93. package/node_modules/@modelcontextprotocol/server/dist/mcp-BumlNux0.cjs.map +1 -0
  94. package/node_modules/@modelcontextprotocol/server/dist/{mcp-Dw2OlZ1f.mjs → mcp-DIH4cS6P.mjs} +73 -23
  95. package/node_modules/@modelcontextprotocol/server/dist/mcp-DIH4cS6P.mjs.map +1 -0
  96. package/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.cjs +1 -1
  97. package/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.mjs +1 -1
  98. package/node_modules/@modelcontextprotocol/server/dist/{src-CgFsfg3E.cjs → src-BhnGYybN.cjs} +29 -11
  99. package/node_modules/@modelcontextprotocol/server/dist/src-BhnGYybN.cjs.map +1 -0
  100. package/node_modules/@modelcontextprotocol/server/dist/{src-D-y6h4N7.mjs → src-Cqbh3MYc.mjs} +29 -11
  101. package/node_modules/@modelcontextprotocol/server/dist/src-Cqbh3MYc.mjs.map +1 -0
  102. package/node_modules/@modelcontextprotocol/server/dist/stdio.cjs +2 -2
  103. package/node_modules/@modelcontextprotocol/server/dist/stdio.d.cts +1 -1
  104. package/node_modules/@modelcontextprotocol/server/dist/stdio.d.mts +1 -1
  105. package/node_modules/@modelcontextprotocol/server/dist/stdio.mjs +2 -2
  106. package/node_modules/@modelcontextprotocol/server/package.json +4 -4
  107. package/node_modules/hono/dist/_virtual/_rolldown/runtime.js +13 -0
  108. package/node_modules/hono/dist/adapter/aws-lambda/conninfo.js +42 -23
  109. package/node_modules/hono/dist/adapter/aws-lambda/handler.js +318 -344
  110. package/node_modules/hono/dist/adapter/aws-lambda/index.js +2 -8
  111. package/node_modules/hono/dist/adapter/aws-lambda/types.js +1 -0
  112. package/node_modules/hono/dist/adapter/bun/conninfo.js +20 -25
  113. package/node_modules/hono/dist/adapter/bun/index.js +3 -13
  114. package/node_modules/hono/dist/adapter/bun/serve-static.js +27 -27
  115. package/node_modules/hono/dist/adapter/bun/server.js +11 -5
  116. package/node_modules/hono/dist/adapter/bun/ssg.js +25 -15
  117. package/node_modules/hono/dist/adapter/bun/websocket.js +61 -68
  118. package/node_modules/hono/dist/adapter/cloudflare-pages/conninfo.js +24 -9
  119. package/node_modules/hono/dist/adapter/cloudflare-pages/handler.js +59 -62
  120. package/node_modules/hono/dist/adapter/cloudflare-pages/index.js +2 -8
  121. package/node_modules/hono/dist/adapter/cloudflare-workers/conninfo.js +7 -9
  122. package/node_modules/hono/dist/adapter/cloudflare-workers/index.js +3 -8
  123. package/node_modules/hono/dist/adapter/cloudflare-workers/serve-static-module.js +5 -6
  124. package/node_modules/hono/dist/adapter/cloudflare-workers/serve-static.js +26 -20
  125. package/node_modules/hono/dist/adapter/cloudflare-workers/utils.js +21 -34
  126. package/node_modules/hono/dist/adapter/cloudflare-workers/websocket.js +31 -39
  127. package/node_modules/hono/dist/adapter/deno/conninfo.js +16 -13
  128. package/node_modules/hono/dist/adapter/deno/deno.d.js +1 -0
  129. package/node_modules/hono/dist/adapter/deno/index.js +3 -10
  130. package/node_modules/hono/dist/adapter/deno/serve-static.js +33 -38
  131. package/node_modules/hono/dist/adapter/deno/ssg.js +27 -16
  132. package/node_modules/hono/dist/adapter/deno/websocket.js +30 -30
  133. package/node_modules/hono/dist/adapter/lambda-edge/conninfo.js +7 -9
  134. package/node_modules/hono/dist/adapter/lambda-edge/handler.js +102 -101
  135. package/node_modules/hono/dist/adapter/lambda-edge/index.js +2 -6
  136. package/node_modules/hono/dist/adapter/netlify/conninfo.js +24 -9
  137. package/node_modules/hono/dist/adapter/netlify/handler.js +10 -8
  138. package/node_modules/hono/dist/adapter/netlify/index.js +3 -2
  139. package/node_modules/hono/dist/adapter/netlify/mod.js +2 -6
  140. package/node_modules/hono/dist/adapter/service-worker/handler.js +15 -19
  141. package/node_modules/hono/dist/adapter/service-worker/index.js +23 -7
  142. package/node_modules/hono/dist/adapter/service-worker/types.js +1 -0
  143. package/node_modules/hono/dist/adapter/vercel/conninfo.js +7 -10
  144. package/node_modules/hono/dist/adapter/vercel/handler.js +8 -6
  145. package/node_modules/hono/dist/adapter/vercel/index.js +2 -6
  146. package/node_modules/hono/dist/cjs/_virtual/_rolldown/runtime.js +33 -0
  147. package/node_modules/hono/dist/cjs/adapter/aws-lambda/conninfo.js +42 -44
  148. package/node_modules/hono/dist/cjs/adapter/aws-lambda/handler.js +326 -373
  149. package/node_modules/hono/dist/cjs/adapter/aws-lambda/index.js +7 -34
  150. package/node_modules/hono/dist/cjs/adapter/aws-lambda/types.js +0 -15
  151. package/node_modules/hono/dist/cjs/adapter/bun/conninfo.js +21 -47
  152. package/node_modules/hono/dist/cjs/adapter/bun/index.js +14 -45
  153. package/node_modules/hono/dist/cjs/adapter/bun/serve-static.js +29 -50
  154. package/node_modules/hono/dist/cjs/adapter/bun/server.js +11 -26
  155. package/node_modules/hono/dist/cjs/adapter/bun/ssg.js +24 -35
  156. package/node_modules/hono/dist/cjs/adapter/bun/websocket.js +63 -91
  157. package/node_modules/hono/dist/cjs/adapter/cloudflare-pages/conninfo.js +25 -31
  158. package/node_modules/hono/dist/cjs/adapter/cloudflare-pages/handler.js +61 -85
  159. package/node_modules/hono/dist/cjs/adapter/cloudflare-pages/index.js +7 -34
  160. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/conninfo.js +8 -31
  161. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/index.js +7 -33
  162. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/serve-static-module.js +7 -29
  163. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/serve-static.js +27 -42
  164. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/utils.js +21 -55
  165. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/websocket.js +33 -62
  166. package/node_modules/hono/dist/cjs/adapter/deno/conninfo.js +16 -34
  167. package/node_modules/hono/dist/cjs/adapter/deno/index.js +10 -38
  168. package/node_modules/hono/dist/cjs/adapter/deno/serve-static.js +33 -59
  169. package/node_modules/hono/dist/cjs/adapter/deno/ssg.js +27 -37
  170. package/node_modules/hono/dist/cjs/adapter/deno/websocket.js +32 -53
  171. package/node_modules/hono/dist/cjs/adapter/lambda-edge/conninfo.js +8 -31
  172. package/node_modules/hono/dist/cjs/adapter/lambda-edge/handler.js +102 -130
  173. package/node_modules/hono/dist/cjs/adapter/lambda-edge/index.js +5 -30
  174. package/node_modules/hono/dist/cjs/adapter/netlify/conninfo.js +25 -31
  175. package/node_modules/hono/dist/cjs/adapter/netlify/handler.js +10 -29
  176. package/node_modules/hono/dist/cjs/adapter/netlify/index.js +5 -21
  177. package/node_modules/hono/dist/cjs/adapter/netlify/mod.js +5 -30
  178. package/node_modules/hono/dist/cjs/adapter/service-worker/handler.js +16 -41
  179. package/node_modules/hono/dist/cjs/adapter/service-worker/index.js +25 -30
  180. package/node_modules/hono/dist/cjs/adapter/service-worker/types.js +0 -15
  181. package/node_modules/hono/dist/cjs/adapter/vercel/conninfo.js +8 -32
  182. package/node_modules/hono/dist/cjs/adapter/vercel/handler.js +8 -27
  183. package/node_modules/hono/dist/cjs/adapter/vercel/index.js +5 -30
  184. package/node_modules/hono/dist/cjs/client/client.js +139 -212
  185. package/node_modules/hono/dist/cjs/client/fetch-result-please.js +62 -80
  186. package/node_modules/hono/dist/cjs/client/index.js +7 -32
  187. package/node_modules/hono/dist/cjs/client/types.js +0 -15
  188. package/node_modules/hono/dist/cjs/client/utils.js +54 -92
  189. package/node_modules/hono/dist/cjs/compose.js +49 -66
  190. package/node_modules/hono/dist/cjs/context.js +379 -450
  191. package/node_modules/hono/dist/cjs/helper/accepts/accepts.js +47 -72
  192. package/node_modules/hono/dist/cjs/helper/accepts/index.js +3 -27
  193. package/node_modules/hono/dist/cjs/helper/adapter/index.js +33 -73
  194. package/node_modules/hono/dist/cjs/helper/conninfo/index.js +0 -15
  195. package/node_modules/hono/dist/cjs/helper/conninfo/types.js +0 -15
  196. package/node_modules/hono/dist/cjs/helper/cookie/index.js +75 -116
  197. package/node_modules/hono/dist/cjs/helper/css/common.js +165 -244
  198. package/node_modules/hono/dist/cjs/helper/css/index.js +136 -151
  199. package/node_modules/hono/dist/cjs/helper/dev/index.js +45 -71
  200. package/node_modules/hono/dist/cjs/helper/factory/index.js +30 -51
  201. package/node_modules/hono/dist/cjs/helper/html/index.js +32 -62
  202. package/node_modules/hono/dist/cjs/helper/proxy/index.js +113 -106
  203. package/node_modules/hono/dist/cjs/helper/route/index.js +123 -66
  204. package/node_modules/hono/dist/cjs/helper/ssg/index.js +19 -43
  205. package/node_modules/hono/dist/cjs/helper/ssg/middleware.js +56 -64
  206. package/node_modules/hono/dist/cjs/helper/ssg/plugins.js +55 -57
  207. package/node_modules/hono/dist/cjs/helper/ssg/ssg.js +196 -296
  208. package/node_modules/hono/dist/cjs/helper/ssg/utils.js +47 -90
  209. package/node_modules/hono/dist/cjs/helper/streaming/index.js +8 -35
  210. package/node_modules/hono/dist/cjs/helper/streaming/sse.js +53 -85
  211. package/node_modules/hono/dist/cjs/helper/streaming/stream.js +23 -53
  212. package/node_modules/hono/dist/cjs/helper/streaming/text.js +10 -32
  213. package/node_modules/hono/dist/cjs/helper/streaming/utils.js +13 -32
  214. package/node_modules/hono/dist/cjs/helper/testing/index.js +16 -31
  215. package/node_modules/hono/dist/cjs/helper/websocket/index.js +51 -76
  216. package/node_modules/hono/dist/cjs/hono-base.js +347 -403
  217. package/node_modules/hono/dist/cjs/hono.js +28 -42
  218. package/node_modules/hono/dist/cjs/http-exception.js +55 -56
  219. package/node_modules/hono/dist/cjs/index.js +22 -30
  220. package/node_modules/hono/dist/cjs/jsx/base.js +237 -366
  221. package/node_modules/hono/dist/cjs/jsx/children.js +16 -41
  222. package/node_modules/hono/dist/cjs/jsx/components.js +119 -192
  223. package/node_modules/hono/dist/cjs/jsx/constants.js +15 -42
  224. package/node_modules/hono/dist/cjs/jsx/context.js +144 -162
  225. package/node_modules/hono/dist/cjs/jsx/dom/client.js +49 -69
  226. package/node_modules/hono/dist/cjs/jsx/dom/components.js +23 -52
  227. package/node_modules/hono/dist/cjs/jsx/dom/context.js +39 -67
  228. package/node_modules/hono/dist/cjs/jsx/dom/css.js +143 -158
  229. package/node_modules/hono/dist/cjs/jsx/dom/hooks/index.js +55 -64
  230. package/node_modules/hono/dist/cjs/jsx/dom/index.js +114 -173
  231. package/node_modules/hono/dist/cjs/jsx/dom/intrinsic-element/components.js +282 -375
  232. package/node_modules/hono/dist/cjs/jsx/dom/jsx-dev-runtime.js +14 -49
  233. package/node_modules/hono/dist/cjs/jsx/dom/jsx-runtime.js +5 -32
  234. package/node_modules/hono/dist/cjs/jsx/dom/render.js +469 -623
  235. package/node_modules/hono/dist/cjs/jsx/dom/server.js +37 -64
  236. package/node_modules/hono/dist/cjs/jsx/dom/utils.js +7 -30
  237. package/node_modules/hono/dist/cjs/jsx/hooks/index.js +225 -318
  238. package/node_modules/hono/dist/cjs/jsx/index.js +86 -135
  239. package/node_modules/hono/dist/cjs/jsx/intrinsic-element/common.js +20 -43
  240. package/node_modules/hono/dist/cjs/jsx/intrinsic-element/components.js +117 -168
  241. package/node_modules/hono/dist/cjs/jsx/intrinsic-elements.js +0 -15
  242. package/node_modules/hono/dist/cjs/jsx/jsx-dev-runtime.js +14 -39
  243. package/node_modules/hono/dist/cjs/jsx/jsx-runtime.js +34 -68
  244. package/node_modules/hono/dist/cjs/jsx/streaming.js +123 -166
  245. package/node_modules/hono/dist/cjs/jsx/types.js +0 -15
  246. package/node_modules/hono/dist/cjs/jsx/utils.js +91 -175
  247. package/node_modules/hono/dist/cjs/middleware/basic-auth/index.js +98 -86
  248. package/node_modules/hono/dist/cjs/middleware/bearer-auth/index.js +92 -109
  249. package/node_modules/hono/dist/cjs/middleware/body-limit/index.js +66 -72
  250. package/node_modules/hono/dist/cjs/middleware/cache/index.js +153 -199
  251. package/node_modules/hono/dist/cjs/middleware/combine/index.js +135 -95
  252. package/node_modules/hono/dist/cjs/middleware/compress/index.js +73 -88
  253. package/node_modules/hono/dist/cjs/middleware/context-storage/index.js +49 -41
  254. package/node_modules/hono/dist/cjs/middleware/cors/index.js +107 -107
  255. package/node_modules/hono/dist/cjs/middleware/csrf/index.js +101 -72
  256. package/node_modules/hono/dist/cjs/middleware/etag/digest.js +58 -97
  257. package/node_modules/hono/dist/cjs/middleware/etag/index.js +71 -91
  258. package/node_modules/hono/dist/cjs/middleware/ip-restriction/index.js +161 -169
  259. package/node_modules/hono/dist/cjs/middleware/jsx-renderer/index.js +99 -77
  260. package/node_modules/hono/dist/cjs/middleware/jwk/index.js +3 -27
  261. package/node_modules/hono/dist/cjs/middleware/jwk/jwk.js +118 -135
  262. package/node_modules/hono/dist/cjs/middleware/jwt/index.js +9 -38
  263. package/node_modules/hono/dist/cjs/middleware/jwt/jwt.js +120 -141
  264. package/node_modules/hono/dist/cjs/middleware/language/index.js +7 -35
  265. package/node_modules/hono/dist/cjs/middleware/language/language.js +184 -182
  266. package/node_modules/hono/dist/cjs/middleware/logger/index.js +41 -62
  267. package/node_modules/hono/dist/cjs/middleware/method-not-allowed/index.js +82 -88
  268. package/node_modules/hono/dist/cjs/middleware/method-override/index.js +101 -102
  269. package/node_modules/hono/dist/cjs/middleware/mount/index.js +71 -0
  270. package/node_modules/hono/dist/cjs/middleware/powered-by/index.js +23 -30
  271. package/node_modules/hono/dist/cjs/middleware/pretty-json/index.js +38 -42
  272. package/node_modules/hono/dist/cjs/middleware/request-id/index.js +3 -27
  273. package/node_modules/hono/dist/cjs/middleware/request-id/request-id.js +34 -42
  274. package/node_modules/hono/dist/cjs/middleware/secure-headers/index.js +4 -29
  275. package/node_modules/hono/dist/cjs/middleware/secure-headers/permissions-policy.js +0 -15
  276. package/node_modules/hono/dist/cjs/middleware/secure-headers/secure-headers.js +142 -174
  277. package/node_modules/hono/dist/cjs/middleware/serve-static/index.js +56 -93
  278. package/node_modules/hono/dist/cjs/middleware/serve-static/path.js +15 -38
  279. package/node_modules/hono/dist/cjs/middleware/timeout/index.js +40 -45
  280. package/node_modules/hono/dist/cjs/middleware/timing/index.js +7 -35
  281. package/node_modules/hono/dist/cjs/middleware/timing/timing.js +177 -118
  282. package/node_modules/hono/dist/cjs/middleware/trailing-slash/index.js +85 -58
  283. package/node_modules/hono/dist/cjs/preset/quick.js +18 -37
  284. package/node_modules/hono/dist/cjs/preset/tiny.js +15 -33
  285. package/node_modules/hono/dist/cjs/request/constants.js +5 -27
  286. package/node_modules/hono/dist/cjs/request.js +334 -346
  287. package/node_modules/hono/dist/cjs/router/linear-router/index.js +3 -27
  288. package/node_modules/hono/dist/cjs/router/linear-router/router.js +95 -143
  289. package/node_modules/hono/dist/cjs/router/pattern-router/index.js +3 -27
  290. package/node_modules/hono/dist/cjs/router/pattern-router/router.js +41 -63
  291. package/node_modules/hono/dist/cjs/router/reg-exp-router/index.js +7 -34
  292. package/node_modules/hono/dist/cjs/router/reg-exp-router/matcher.js +18 -45
  293. package/node_modules/hono/dist/cjs/router/reg-exp-router/node.js +91 -135
  294. package/node_modules/hono/dist/cjs/router/reg-exp-router/prepared-router.js +92 -161
  295. package/node_modules/hono/dist/cjs/router/reg-exp-router/router.js +98 -147
  296. package/node_modules/hono/dist/cjs/router/reg-exp-router/trie.js +73 -89
  297. package/node_modules/hono/dist/cjs/router/smart-router/index.js +3 -27
  298. package/node_modules/hono/dist/cjs/router/smart-router/router.js +49 -79
  299. package/node_modules/hono/dist/cjs/router/trie-router/index.js +3 -27
  300. package/node_modules/hono/dist/cjs/router/trie-router/node.js +134 -186
  301. package/node_modules/hono/dist/cjs/router/trie-router/router.js +15 -39
  302. package/node_modules/hono/dist/cjs/router/utils.js +5 -27
  303. package/node_modules/hono/dist/cjs/router.js +37 -37
  304. package/node_modules/hono/dist/cjs/types.js +5 -28
  305. package/node_modules/hono/dist/cjs/utils/accept.js +177 -225
  306. package/node_modules/hono/dist/cjs/utils/basic-auth.js +16 -40
  307. package/node_modules/hono/dist/cjs/utils/body.js +84 -110
  308. package/node_modules/hono/dist/cjs/utils/buffer.js +43 -91
  309. package/node_modules/hono/dist/cjs/utils/color.js +35 -44
  310. package/node_modules/hono/dist/cjs/utils/compress.js +11 -26
  311. package/node_modules/hono/dist/cjs/utils/concurrent.js +29 -59
  312. package/node_modules/hono/dist/cjs/utils/constants.js +7 -26
  313. package/node_modules/hono/dist/cjs/utils/cookie.js +107 -177
  314. package/node_modules/hono/dist/cjs/utils/crypto.js +30 -61
  315. package/node_modules/hono/dist/cjs/utils/encode.js +31 -48
  316. package/node_modules/hono/dist/cjs/utils/filepath.js +23 -54
  317. package/node_modules/hono/dist/cjs/utils/handler.js +11 -33
  318. package/node_modules/hono/dist/cjs/utils/headers.js +0 -15
  319. package/node_modules/hono/dist/cjs/utils/html.js +96 -137
  320. package/node_modules/hono/dist/cjs/utils/http-status.js +0 -15
  321. package/node_modules/hono/dist/cjs/utils/ipaddr.js +213 -286
  322. package/node_modules/hono/dist/cjs/utils/jwt/index.js +14 -27
  323. package/node_modules/hono/dist/cjs/utils/jwt/jwa.js +25 -42
  324. package/node_modules/hono/dist/cjs/utils/jwt/jws.js +119 -199
  325. package/node_modules/hono/dist/cjs/utils/jwt/jwt.js +122 -206
  326. package/node_modules/hono/dist/cjs/utils/jwt/types.js +122 -159
  327. package/node_modules/hono/dist/cjs/utils/jwt/utf8.js +9 -28
  328. package/node_modules/hono/dist/cjs/utils/mime.js +75 -101
  329. package/node_modules/hono/dist/cjs/utils/stream.js +88 -111
  330. package/node_modules/hono/dist/cjs/utils/types.js +0 -15
  331. package/node_modules/hono/dist/cjs/utils/url.js +185 -234
  332. package/node_modules/hono/dist/cjs/validator/index.js +3 -27
  333. package/node_modules/hono/dist/cjs/validator/utils.js +0 -15
  334. package/node_modules/hono/dist/cjs/validator/validator.js +60 -103
  335. package/node_modules/hono/dist/client/client.js +138 -197
  336. package/node_modules/hono/dist/client/fetch-result-please.js +59 -56
  337. package/node_modules/hono/dist/client/index.js +3 -7
  338. package/node_modules/hono/dist/client/types.js +1 -0
  339. package/node_modules/hono/dist/client/utils.js +51 -68
  340. package/node_modules/hono/dist/compose.js +49 -45
  341. package/node_modules/hono/dist/context.js +376 -426
  342. package/node_modules/hono/dist/helper/accepts/accepts.js +47 -51
  343. package/node_modules/hono/dist/helper/accepts/index.js +1 -4
  344. package/node_modules/hono/dist/helper/adapter/index.js +33 -52
  345. package/node_modules/hono/dist/helper/conninfo/index.js +1 -0
  346. package/node_modules/hono/dist/helper/conninfo/types.js +1 -0
  347. package/node_modules/hono/dist/helper/cookie/index.js +74 -94
  348. package/node_modules/hono/dist/helper/css/common.js +167 -225
  349. package/node_modules/hono/dist/helper/css/index.js +132 -137
  350. package/node_modules/hono/dist/helper/dev/index.js +44 -49
  351. package/node_modules/hono/dist/helper/factory/index.js +27 -27
  352. package/node_modules/hono/dist/helper/html/index.js +30 -39
  353. package/node_modules/hono/dist/helper/proxy/index.js +116 -88
  354. package/node_modules/hono/dist/helper/route/index.js +121 -43
  355. package/node_modules/hono/dist/helper/ssg/index.js +3 -18
  356. package/node_modules/hono/dist/helper/ssg/middleware.js +53 -40
  357. package/node_modules/hono/dist/helper/ssg/plugins.js +55 -36
  358. package/node_modules/hono/dist/helper/ssg/ssg.js +198 -283
  359. package/node_modules/hono/dist/helper/ssg/utils.js +53 -75
  360. package/node_modules/hono/dist/helper/streaming/index.js +2 -8
  361. package/node_modules/hono/dist/helper/streaming/sse.js +50 -61
  362. package/node_modules/hono/dist/helper/streaming/stream.js +22 -31
  363. package/node_modules/hono/dist/helper/streaming/text.js +9 -10
  364. package/node_modules/hono/dist/helper/streaming/utils.js +9 -12
  365. package/node_modules/hono/dist/helper/testing/index.js +16 -10
  366. package/node_modules/hono/dist/helper/websocket/index.js +49 -53
  367. package/node_modules/hono/dist/hono-base.js +344 -379
  368. package/node_modules/hono/dist/hono.js +27 -20
  369. package/node_modules/hono/dist/http-exception.js +53 -33
  370. package/node_modules/hono/dist/index.js +19 -6
  371. package/node_modules/hono/dist/jsx/base.js +231 -340
  372. package/node_modules/hono/dist/jsx/children.js +16 -20
  373. package/node_modules/hono/dist/jsx/components.js +118 -170
  374. package/node_modules/hono/dist/jsx/constants.js +9 -15
  375. package/node_modules/hono/dist/jsx/context.js +153 -150
  376. package/node_modules/hono/dist/jsx/dom/client.js +45 -48
  377. package/node_modules/hono/dist/jsx/dom/components.js +21 -29
  378. package/node_modules/hono/dist/jsx/dom/context.js +37 -44
  379. package/node_modules/hono/dist/jsx/dom/css.js +142 -147
  380. package/node_modules/hono/dist/jsx/dom/hooks/index.js +52 -40
  381. package/node_modules/hono/dist/jsx/dom/index.js +71 -134
  382. package/node_modules/hono/dist/jsx/dom/intrinsic-element/components.js +275 -359
  383. package/node_modules/hono/dist/jsx/dom/jsx-dev-runtime.js +14 -18
  384. package/node_modules/hono/dist/jsx/dom/jsx-runtime.js +2 -8
  385. package/node_modules/hono/dist/jsx/dom/render.js +492 -631
  386. package/node_modules/hono/dist/jsx/dom/server.js +32 -32
  387. package/node_modules/hono/dist/jsx/dom/utils.js +6 -8
  388. package/node_modules/hono/dist/jsx/hooks/index.js +236 -308
  389. package/node_modules/hono/dist/jsx/index.js +45 -98
  390. package/node_modules/hono/dist/jsx/intrinsic-element/common.js +20 -22
  391. package/node_modules/hono/dist/jsx/intrinsic-element/components.js +113 -154
  392. package/node_modules/hono/dist/jsx/intrinsic-elements.js +1 -0
  393. package/node_modules/hono/dist/jsx/jsx-dev-runtime.js +12 -16
  394. package/node_modules/hono/dist/jsx/jsx-runtime.js +29 -42
  395. package/node_modules/hono/dist/jsx/streaming.js +120 -142
  396. package/node_modules/hono/dist/jsx/types.js +1 -0
  397. package/node_modules/hono/dist/jsx/utils.js +105 -168
  398. package/node_modules/hono/dist/middleware/basic-auth/index.js +96 -63
  399. package/node_modules/hono/dist/middleware/bearer-auth/index.js +93 -89
  400. package/node_modules/hono/dist/middleware/body-limit/index.js +66 -51
  401. package/node_modules/hono/dist/middleware/cache/index.js +165 -190
  402. package/node_modules/hono/dist/middleware/combine/index.js +134 -73
  403. package/node_modules/hono/dist/middleware/compress/index.js +75 -69
  404. package/node_modules/hono/dist/middleware/context-storage/index.js +49 -19
  405. package/node_modules/hono/dist/middleware/cors/index.js +107 -86
  406. package/node_modules/hono/dist/middleware/csrf/index.js +103 -53
  407. package/node_modules/hono/dist/middleware/etag/digest.js +59 -77
  408. package/node_modules/hono/dist/middleware/etag/index.js +71 -70
  409. package/node_modules/hono/dist/middleware/ip-restriction/index.js +163 -158
  410. package/node_modules/hono/dist/middleware/jsx-renderer/index.js +97 -54
  411. package/node_modules/hono/dist/middleware/jwk/index.js +1 -4
  412. package/node_modules/hono/dist/middleware/jwk/jwk.js +116 -112
  413. package/node_modules/hono/dist/middleware/jwt/index.js +2 -10
  414. package/node_modules/hono/dist/middleware/jwt/jwt.js +114 -114
  415. package/node_modules/hono/dist/middleware/language/index.js +2 -15
  416. package/node_modules/hono/dist/middleware/language/language.js +180 -157
  417. package/node_modules/hono/dist/middleware/logger/index.js +43 -37
  418. package/node_modules/hono/dist/middleware/method-not-allowed/index.js +81 -66
  419. package/node_modules/hono/dist/middleware/method-override/index.js +101 -81
  420. package/node_modules/hono/dist/middleware/mount/index.js +70 -0
  421. package/node_modules/hono/dist/middleware/powered-by/index.js +23 -9
  422. package/node_modules/hono/dist/middleware/pretty-json/index.js +39 -22
  423. package/node_modules/hono/dist/middleware/request-id/index.js +1 -4
  424. package/node_modules/hono/dist/middleware/request-id/request-id.js +33 -20
  425. package/node_modules/hono/dist/middleware/secure-headers/index.js +1 -5
  426. package/node_modules/hono/dist/middleware/secure-headers/permissions-policy.js +1 -0
  427. package/node_modules/hono/dist/middleware/secure-headers/secure-headers.js +144 -155
  428. package/node_modules/hono/dist/middleware/serve-static/index.js +56 -72
  429. package/node_modules/hono/dist/middleware/serve-static/path.js +15 -17
  430. package/node_modules/hono/dist/middleware/timeout/index.js +40 -23
  431. package/node_modules/hono/dist/middleware/timing/index.js +2 -9
  432. package/node_modules/hono/dist/middleware/timing/timing.js +177 -97
  433. package/node_modules/hono/dist/middleware/trailing-slash/index.js +85 -37
  434. package/node_modules/hono/dist/preset/quick.js +17 -15
  435. package/node_modules/hono/dist/preset/tiny.js +14 -11
  436. package/node_modules/hono/dist/request/constants.js +4 -5
  437. package/node_modules/hono/dist/request.js +328 -319
  438. package/node_modules/hono/dist/router/linear-router/index.js +1 -4
  439. package/node_modules/hono/dist/router/linear-router/router.js +93 -120
  440. package/node_modules/hono/dist/router/pattern-router/index.js +1 -4
  441. package/node_modules/hono/dist/router/pattern-router/router.js +39 -40
  442. package/node_modules/hono/dist/router/reg-exp-router/index.js +1 -7
  443. package/node_modules/hono/dist/router/reg-exp-router/matcher.js +17 -23
  444. package/node_modules/hono/dist/router/reg-exp-router/node.js +87 -110
  445. package/node_modules/hono/dist/router/reg-exp-router/prepared-router.js +89 -137
  446. package/node_modules/hono/dist/router/reg-exp-router/router.js +92 -129
  447. package/node_modules/hono/dist/router/reg-exp-router/trie.js +69 -64
  448. package/node_modules/hono/dist/router/smart-router/index.js +1 -4
  449. package/node_modules/hono/dist/router/smart-router/router.js +46 -55
  450. package/node_modules/hono/dist/router/trie-router/index.js +1 -4
  451. package/node_modules/hono/dist/router/trie-router/node.js +131 -162
  452. package/node_modules/hono/dist/router/trie-router/router.js +11 -14
  453. package/node_modules/hono/dist/router/utils.js +4 -5
  454. package/node_modules/hono/dist/router.js +35 -14
  455. package/node_modules/hono/dist/types/adapter/aws-lambda/conninfo.d.ts +4 -1
  456. package/node_modules/hono/dist/types/adapter/aws-lambda/handler.d.ts +150 -104
  457. package/node_modules/hono/dist/types/adapter/aws-lambda/index.d.ts +4 -8
  458. package/node_modules/hono/dist/types/adapter/aws-lambda/types.d.ts +152 -122
  459. package/node_modules/hono/dist/types/adapter/bun/conninfo.d.ts +4 -1
  460. package/node_modules/hono/dist/types/adapter/bun/index.d.ts +6 -10
  461. package/node_modules/hono/dist/types/adapter/bun/serve-static.d.ts +7 -2
  462. package/node_modules/hono/dist/types/adapter/bun/server.d.ts +4 -5
  463. package/node_modules/hono/dist/types/adapter/bun/ssg.d.ts +5 -1
  464. package/node_modules/hono/dist/types/adapter/bun/websocket.d.ts +31 -16
  465. package/node_modules/hono/dist/types/adapter/cloudflare-pages/conninfo.d.ts +4 -1
  466. package/node_modules/hono/dist/types/adapter/cloudflare-pages/handler.d.ts +29 -17
  467. package/node_modules/hono/dist/types/adapter/cloudflare-pages/index.d.ts +3 -7
  468. package/node_modules/hono/dist/types/adapter/cloudflare-workers/conninfo.d.ts +6 -1
  469. package/node_modules/hono/dist/types/adapter/cloudflare-workers/index.d.ts +4 -7
  470. package/node_modules/hono/dist/types/adapter/cloudflare-workers/serve-static-module.d.ts +5 -2
  471. package/node_modules/hono/dist/types/adapter/cloudflare-workers/serve-static.d.ts +10 -5
  472. package/node_modules/hono/dist/types/adapter/cloudflare-workers/utils.d.ts +10 -2
  473. package/node_modules/hono/dist/types/adapter/cloudflare-workers/websocket.d.ts +6 -1
  474. package/node_modules/hono/dist/types/adapter/deno/conninfo.d.ts +4 -1
  475. package/node_modules/hono/dist/types/adapter/deno/deno.d.ts +1 -0
  476. package/node_modules/hono/dist/types/adapter/deno/index.d.ts +5 -8
  477. package/node_modules/hono/dist/types/adapter/deno/serve-static.d.ts +7 -2
  478. package/node_modules/hono/dist/types/adapter/deno/ssg.d.ts +5 -1
  479. package/node_modules/hono/dist/types/adapter/deno/websocket.d.ts +6 -1
  480. package/node_modules/hono/dist/types/adapter/lambda-edge/conninfo.d.ts +6 -1
  481. package/node_modules/hono/dist/types/adapter/lambda-edge/handler.d.ts +83 -57
  482. package/node_modules/hono/dist/types/adapter/lambda-edge/index.d.ts +3 -7
  483. package/node_modules/hono/dist/types/adapter/netlify/conninfo.d.ts +4 -1
  484. package/node_modules/hono/dist/types/adapter/netlify/handler.d.ts +6 -1
  485. package/node_modules/hono/dist/types/adapter/netlify/index.d.ts +3 -5
  486. package/node_modules/hono/dist/types/adapter/netlify/mod.d.ts +3 -2
  487. package/node_modules/hono/dist/types/adapter/service-worker/handler.d.ts +9 -7
  488. package/node_modules/hono/dist/types/adapter/service-worker/index.d.ts +7 -9
  489. package/node_modules/hono/dist/types/adapter/service-worker/types.d.ts +12 -7
  490. package/node_modules/hono/dist/types/adapter/vercel/conninfo.d.ts +6 -1
  491. package/node_modules/hono/dist/types/adapter/vercel/handler.d.ts +6 -1
  492. package/node_modules/hono/dist/types/adapter/vercel/index.d.ts +3 -6
  493. package/node_modules/hono/dist/types/client/client.d.ts +5 -3
  494. package/node_modules/hono/dist/types/client/fetch-result-please.d.ts +21 -19
  495. package/node_modules/hono/dist/types/client/index.d.ts +5 -7
  496. package/node_modules/hono/dist/types/client/types.d.ts +134 -159
  497. package/node_modules/hono/dist/types/client/utils.d.ts +6 -4
  498. package/node_modules/hono/dist/types/compose.d.ts +4 -2
  499. package/node_modules/hono/dist/types/context.d.ts +335 -335
  500. package/node_modules/hono/dist/types/helper/accepts/accepts.d.ts +11 -9
  501. package/node_modules/hono/dist/types/helper/accepts/index.d.ts +2 -5
  502. package/node_modules/hono/dist/types/helper/adapter/index.d.ts +4 -6
  503. package/node_modules/hono/dist/types/helper/conninfo/index.d.ts +2 -5
  504. package/node_modules/hono/dist/types/helper/conninfo/types.d.ts +25 -23
  505. package/node_modules/hono/dist/types/helper/cookie/index.d.ts +10 -12
  506. package/node_modules/hono/dist/types/helper/css/common.d.ts +11 -9
  507. package/node_modules/hono/dist/types/helper/css/index.d.ts +26 -28
  508. package/node_modules/hono/dist/types/helper/dev/index.d.ts +10 -12
  509. package/node_modules/hono/dist/types/helper/factory/index.d.ts +26 -73
  510. package/node_modules/hono/dist/types/helper/html/index.d.ts +4 -7
  511. package/node_modules/hono/dist/types/helper/proxy/index.d.ts +19 -21
  512. package/node_modules/hono/dist/types/helper/route/index.d.ts +4 -2
  513. package/node_modules/hono/dist/types/helper/ssg/index.d.ts +4 -7
  514. package/node_modules/hono/dist/types/helper/ssg/middleware.d.ts +8 -6
  515. package/node_modules/hono/dist/types/helper/ssg/plugins.d.ts +3 -1
  516. package/node_modules/hono/dist/types/helper/ssg/ssg.d.ts +38 -36
  517. package/node_modules/hono/dist/types/helper/ssg/utils.d.ts +5 -3
  518. package/node_modules/hono/dist/types/helper/streaming/index.d.ts +4 -8
  519. package/node_modules/hono/dist/types/helper/streaming/sse.d.ts +10 -8
  520. package/node_modules/hono/dist/types/helper/streaming/stream.d.ts +4 -2
  521. package/node_modules/hono/dist/types/helper/streaming/text.d.ts +4 -2
  522. package/node_modules/hono/dist/types/helper/streaming/utils.d.ts +2 -0
  523. package/node_modules/hono/dist/types/helper/testing/index.d.ts +7 -9
  524. package/node_modules/hono/dist/types/helper/websocket/index.d.ts +30 -33
  525. package/node_modules/hono/dist/types/hono-base.d.ts +210 -210
  526. package/node_modules/hono/dist/types/hono.d.ts +11 -10
  527. package/node_modules/hono/dist/types/http-exception.d.ts +20 -22
  528. package/node_modules/hono/dist/types/index.d.ts +6 -37
  529. package/node_modules/hono/dist/types/jsx/base.d.ts +37 -35
  530. package/node_modules/hono/dist/types/jsx/children.d.ts +8 -6
  531. package/node_modules/hono/dist/types/jsx/components.d.ts +8 -5
  532. package/node_modules/hono/dist/types/jsx/constants.d.ts +2 -0
  533. package/node_modules/hono/dist/types/jsx/context.d.ts +9 -6
  534. package/node_modules/hono/dist/types/jsx/dom/client.d.ts +9 -10
  535. package/node_modules/hono/dist/types/jsx/dom/components.d.ts +9 -6
  536. package/node_modules/hono/dist/types/jsx/dom/context.d.ts +3 -1
  537. package/node_modules/hono/dist/types/jsx/dom/css.d.ts +27 -30
  538. package/node_modules/hono/dist/types/jsx/dom/hooks/index.d.ts +11 -12
  539. package/node_modules/hono/dist/types/jsx/dom/index.d.ts +79 -83
  540. package/node_modules/hono/dist/types/jsx/dom/intrinsic-element/components.d.ts +9 -5
  541. package/node_modules/hono/dist/types/jsx/dom/jsx-dev-runtime.d.ts +4 -6
  542. package/node_modules/hono/dist/types/jsx/dom/jsx-runtime.d.ts +3 -7
  543. package/node_modules/hono/dist/types/jsx/dom/render.d.ts +32 -50
  544. package/node_modules/hono/dist/types/jsx/dom/server.d.ts +87 -85
  545. package/node_modules/hono/dist/types/jsx/dom/utils.d.ts +2 -0
  546. package/node_modules/hono/dist/types/jsx/hooks/index.d.ts +16 -16
  547. package/node_modules/hono/dist/types/jsx/index.d.ts +71 -73
  548. package/node_modules/hono/dist/types/jsx/intrinsic-element/common.d.ts +3 -1
  549. package/node_modules/hono/dist/types/jsx/intrinsic-element/components.d.ts +7 -4
  550. package/node_modules/hono/dist/types/jsx/intrinsic-elements.d.ts +708 -708
  551. package/node_modules/hono/dist/types/jsx/jsx-dev-runtime.d.ts +4 -7
  552. package/node_modules/hono/dist/types/jsx/jsx-runtime.d.ts +7 -10
  553. package/node_modules/hono/dist/types/jsx/streaming.d.ts +9 -10
  554. package/node_modules/hono/dist/types/jsx/types.d.ts +12 -13
  555. package/node_modules/hono/dist/types/jsx/utils.d.ts +2 -0
  556. package/node_modules/hono/dist/types/middleware/basic-auth/index.d.ts +17 -19
  557. package/node_modules/hono/dist/types/middleware/bearer-auth/index.d.ts +46 -48
  558. package/node_modules/hono/dist/types/middleware/body-limit/index.d.ts +6 -8
  559. package/node_modules/hono/dist/types/middleware/cache/index.d.ts +13 -15
  560. package/node_modules/hono/dist/types/middleware/combine/index.d.ts +4 -6
  561. package/node_modules/hono/dist/types/middleware/compress/index.d.ts +9 -10
  562. package/node_modules/hono/dist/types/middleware/context-storage/index.d.ts +4 -6
  563. package/node_modules/hono/dist/types/middleware/cors/index.d.ts +10 -12
  564. package/node_modules/hono/dist/types/middleware/csrf/index.d.ts +6 -8
  565. package/node_modules/hono/dist/types/middleware/etag/digest.d.ts +2 -0
  566. package/node_modules/hono/dist/types/middleware/etag/index.d.ts +6 -8
  567. package/node_modules/hono/dist/types/middleware/ip-restriction/index.d.ts +11 -12
  568. package/node_modules/hono/dist/types/middleware/jsx-renderer/index.d.ts +11 -11
  569. package/node_modules/hono/dist/types/middleware/jwk/index.d.ts +2 -1
  570. package/node_modules/hono/dist/types/middleware/jwk/jwk.d.ts +20 -23
  571. package/node_modules/hono/dist/types/middleware/jwt/index.d.ts +7 -6
  572. package/node_modules/hono/dist/types/middleware/jwt/jwt.d.ts +28 -30
  573. package/node_modules/hono/dist/types/middleware/language/index.d.ts +6 -5
  574. package/node_modules/hono/dist/types/middleware/language/language.d.ts +42 -44
  575. package/node_modules/hono/dist/types/middleware/logger/index.d.ts +3 -5
  576. package/node_modules/hono/dist/types/middleware/method-not-allowed/index.d.ts +7 -9
  577. package/node_modules/hono/dist/types/middleware/method-override/index.d.ts +14 -16
  578. package/node_modules/hono/dist/types/middleware/mount/index.d.ts +46 -0
  579. package/node_modules/hono/dist/types/middleware/powered-by/index.d.ts +8 -10
  580. package/node_modules/hono/dist/types/middleware/pretty-json/index.d.ts +18 -20
  581. package/node_modules/hono/dist/types/middleware/request-id/index.d.ts +6 -5
  582. package/node_modules/hono/dist/types/middleware/request-id/request-id.d.ts +9 -11
  583. package/node_modules/hono/dist/types/middleware/secure-headers/index.d.ts +6 -6
  584. package/node_modules/hono/dist/types/middleware/secure-headers/permissions-policy.d.ts +2 -0
  585. package/node_modules/hono/dist/types/middleware/secure-headers/secure-headers.d.ts +55 -57
  586. package/node_modules/hono/dist/types/middleware/serve-static/index.d.ts +24 -24
  587. package/node_modules/hono/dist/types/middleware/serve-static/path.d.ts +2 -0
  588. package/node_modules/hono/dist/types/middleware/timeout/index.d.ts +5 -7
  589. package/node_modules/hono/dist/types/middleware/timing/index.d.ts +6 -5
  590. package/node_modules/hono/dist/types/middleware/timing/timing.d.ts +17 -20
  591. package/node_modules/hono/dist/types/middleware/trailing-slash/index.d.ts +35 -37
  592. package/node_modules/hono/dist/types/preset/quick.d.ts +6 -9
  593. package/node_modules/hono/dist/types/preset/tiny.d.ts +6 -9
  594. package/node_modules/hono/dist/types/request/constants.d.ts +2 -0
  595. package/node_modules/hono/dist/types/request.d.ts +288 -286
  596. package/node_modules/hono/dist/types/router/linear-router/index.d.ts +2 -5
  597. package/node_modules/hono/dist/types/router/linear-router/router.d.ts +7 -5
  598. package/node_modules/hono/dist/types/router/pattern-router/index.d.ts +2 -5
  599. package/node_modules/hono/dist/types/router/pattern-router/router.d.ts +7 -5
  600. package/node_modules/hono/dist/types/router/reg-exp-router/index.d.ts +3 -6
  601. package/node_modules/hono/dist/types/router/reg-exp-router/matcher.d.ts +3 -1
  602. package/node_modules/hono/dist/types/router/reg-exp-router/node.d.ts +6 -4
  603. package/node_modules/hono/dist/types/router/reg-exp-router/prepared-router.d.ts +11 -10
  604. package/node_modules/hono/dist/types/router/reg-exp-router/router.d.ts +10 -9
  605. package/node_modules/hono/dist/types/router/reg-exp-router/trie.d.ts +7 -5
  606. package/node_modules/hono/dist/types/router/smart-router/index.d.ts +2 -5
  607. package/node_modules/hono/dist/types/router/smart-router/router.d.ts +11 -9
  608. package/node_modules/hono/dist/types/router/trie-router/index.d.ts +2 -5
  609. package/node_modules/hono/dist/types/router/trie-router/node.d.ts +6 -4
  610. package/node_modules/hono/dist/types/router/trie-router/router.d.ts +7 -5
  611. package/node_modules/hono/dist/types/router/utils.d.ts +2 -0
  612. package/node_modules/hono/dist/types/router.d.ts +23 -22
  613. package/node_modules/hono/dist/types/types.d.ts +146 -505
  614. package/node_modules/hono/dist/types/utils/accept.d.ts +5 -3
  615. package/node_modules/hono/dist/types/utils/basic-auth.d.ts +4 -2
  616. package/node_modules/hono/dist/types/utils/body.d.ts +46 -50
  617. package/node_modules/hono/dist/types/utils/buffer.d.ts +7 -5
  618. package/node_modules/hono/dist/types/utils/color.d.ts +2 -0
  619. package/node_modules/hono/dist/types/utils/compress.d.ts +2 -0
  620. package/node_modules/hono/dist/types/utils/concurrent.d.ts +6 -4
  621. package/node_modules/hono/dist/types/utils/constants.d.ts +2 -0
  622. package/node_modules/hono/dist/types/utils/cookie.d.ts +20 -18
  623. package/node_modules/hono/dist/types/utils/crypto.d.ts +5 -7
  624. package/node_modules/hono/dist/types/utils/encode.d.ts +2 -0
  625. package/node_modules/hono/dist/types/utils/filepath.d.ts +5 -3
  626. package/node_modules/hono/dist/types/utils/handler.d.ts +2 -0
  627. package/node_modules/hono/dist/types/utils/headers.d.ts +2 -0
  628. package/node_modules/hono/dist/types/utils/html.d.ts +11 -9
  629. package/node_modules/hono/dist/types/utils/http-status.d.ts +2 -0
  630. package/node_modules/hono/dist/types/utils/ipaddr.d.ts +4 -6
  631. package/node_modules/hono/dist/types/utils/jwt/index.d.ts +18 -12
  632. package/node_modules/hono/dist/types/utils/jwt/jwa.d.ts +15 -13
  633. package/node_modules/hono/dist/types/utils/jwt/jws.d.ts +4 -7
  634. package/node_modules/hono/dist/types/utils/jwt/jwt.d.ts +26 -29
  635. package/node_modules/hono/dist/types/utils/jwt/types.d.ts +48 -45
  636. package/node_modules/hono/dist/types/utils/jwt/utf8.d.ts +2 -0
  637. package/node_modules/hono/dist/types/utils/mime.d.ts +60 -57
  638. package/node_modules/hono/dist/types/utils/stream.d.ts +27 -25
  639. package/node_modules/hono/dist/types/utils/types.d.ts +14 -26
  640. package/node_modules/hono/dist/types/utils/url.d.ts +2 -0
  641. package/node_modules/hono/dist/types/validator/index.d.ts +3 -7
  642. package/node_modules/hono/dist/types/validator/utils.d.ts +6 -8
  643. package/node_modules/hono/dist/types/validator/validator.d.ts +11 -9
  644. package/node_modules/hono/dist/types.js +4 -6
  645. package/node_modules/hono/dist/utils/accept.js +185 -212
  646. package/node_modules/hono/dist/utils/basic-auth.js +18 -21
  647. package/node_modules/hono/dist/utils/body.js +87 -92
  648. package/node_modules/hono/dist/utils/buffer.js +44 -71
  649. package/node_modules/hono/dist/utils/color.js +33 -21
  650. package/node_modules/hono/dist/utils/compress.js +11 -5
  651. package/node_modules/hono/dist/utils/concurrent.js +29 -38
  652. package/node_modules/hono/dist/utils/constants.js +7 -5
  653. package/node_modules/hono/dist/utils/cookie.js +114 -163
  654. package/node_modules/hono/dist/utils/crypto.js +30 -40
  655. package/node_modules/hono/dist/utils/encode.js +30 -26
  656. package/node_modules/hono/dist/utils/filepath.js +23 -33
  657. package/node_modules/hono/dist/utils/handler.js +10 -11
  658. package/node_modules/hono/dist/utils/headers.js +1 -0
  659. package/node_modules/hono/dist/utils/html.js +97 -117
  660. package/node_modules/hono/dist/utils/http-status.js +1 -0
  661. package/node_modules/hono/dist/utils/ipaddr.js +227 -279
  662. package/node_modules/hono/dist/utils/jwt/index.js +12 -4
  663. package/node_modules/hono/dist/utils/jwt/jwa.js +24 -20
  664. package/node_modules/hono/dist/utils/jwt/jws.js +115 -174
  665. package/node_modules/hono/dist/utils/jwt/jwt.js +120 -198
  666. package/node_modules/hono/dist/utils/jwt/types.js +79 -95
  667. package/node_modules/hono/dist/utils/jwt/utf8.js +9 -7
  668. package/node_modules/hono/dist/utils/mime.js +74 -79
  669. package/node_modules/hono/dist/utils/stream.js +86 -88
  670. package/node_modules/hono/dist/utils/types.js +1 -0
  671. package/node_modules/hono/dist/utils/url.js +187 -215
  672. package/node_modules/hono/dist/validator/index.js +1 -4
  673. package/node_modules/hono/dist/validator/utils.js +1 -0
  674. package/node_modules/hono/dist/validator/validator.js +61 -83
  675. package/node_modules/hono/package.json +35 -27
  676. package/package.json +16 -14
  677. package/scripts/lib/cursor-sdk-output-filter.d.mts +1 -0
  678. package/scripts/lib/cursor-sdk-output-filter.mjs +1 -0
  679. package/scripts/platform-smoke/artifacts.mjs +7 -1
  680. package/shared/cursor-sdk-output-filter.d.mts +3 -0
  681. package/shared/cursor-sdk-output-filter.mjs +117 -44
  682. package/src/context.ts +57 -33
  683. package/src/cursor-api-key.ts +37 -17
  684. package/src/cursor-cloud-options.ts +2 -0
  685. package/src/cursor-config.ts +76 -0
  686. package/src/cursor-custom-store-path.ts +151 -0
  687. package/src/cursor-custom-subagent-definitions.ts +21 -0
  688. package/src/cursor-fallback-models.generated.ts +1 -1
  689. package/src/cursor-fallback-warning.ts +7 -3
  690. package/src/cursor-live-run-coordinator.ts +21 -2
  691. package/src/cursor-mcp-timeout-override.ts +3 -1
  692. package/src/cursor-pi-tool-bridge-run.ts +21 -0
  693. package/src/cursor-pi-tool-bridge-server.ts +1 -2
  694. package/src/cursor-pi-tool-bridge-types.ts +3 -0
  695. package/src/cursor-provider-binding.ts +70 -11
  696. package/src/cursor-provider-errors.ts +32 -28
  697. package/src/cursor-provider-live-run-drain.ts +9 -4
  698. package/src/cursor-provider-run-finalizer.ts +2 -1
  699. package/src/cursor-provider-turn-prepare.ts +28 -13
  700. package/src/cursor-provider-turn-summary.ts +1 -1
  701. package/src/cursor-provider-turn-tool-ledger.ts +12 -7
  702. package/src/cursor-provider.ts +3 -1
  703. package/src/cursor-question-tool.ts +5 -5
  704. package/src/cursor-request-provenance.ts +18 -3
  705. package/src/cursor-sdk-output-filter.ts +2 -0
  706. package/src/cursor-sdk-process-error-guard.ts +1 -2
  707. package/src/cursor-sdk-runtime.ts +14 -15
  708. package/src/cursor-sdk-vendor-env.ts +22 -0
  709. package/src/cursor-session-agent-cleanup.ts +28 -27
  710. package/src/cursor-session-agent.ts +44 -17
  711. package/src/cursor-session-send-policy.ts +2 -2
  712. package/src/cursor-session-store.ts +259 -53
  713. package/src/cursor-state.ts +7 -2
  714. package/src/cursor-tool-manifest.ts +1 -1
  715. package/src/index.ts +19 -19
  716. package/src/model-discovery.ts +62 -23
  717. package/src/model-list-cache.ts +11 -1
  718. package/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-BLVe3qmU.d.cts.map +0 -1
  719. package/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-Bt6U_Fqb.d.mts.map +0 -1
  720. package/node_modules/@modelcontextprotocol/server/dist/mcp-DUcCQSTW.cjs.map +0 -1
  721. package/node_modules/@modelcontextprotocol/server/dist/mcp-Dw2OlZ1f.mjs.map +0 -1
  722. package/node_modules/@modelcontextprotocol/server/dist/src-CgFsfg3E.cjs.map +0 -1
  723. package/node_modules/@modelcontextprotocol/server/dist/src-D-y6h4N7.mjs.map +0 -1
@@ -1,11 +1,7 @@
1
- /**
2
- * Service Worker Adapter for Hono.
3
- * @module
4
- */
5
- import type { Hono } from '../../hono';
6
- import type { Env, Schema } from '../../types';
7
- import { handle } from './handler';
8
- import type { HandleOptions } from './handler';
1
+ import { Env, Schema } from "../../types.js";
2
+ import { Hono } from "../../hono.js";
3
+ import { HandleOptions, handle } from "./handler.js";
4
+ //#region src/adapter/service-worker/index.d.ts
9
5
  /**
10
6
  * Registers a Hono app to handle fetch events in a service worker.
11
7
  * This sets up `addEventListener('fetch', handle(app, options))` for the provided app.
@@ -25,4 +21,6 @@ import type { HandleOptions } from './handler';
25
21
  * ```
26
22
  */
27
23
  declare const fire: <E extends Env, S extends Schema, BasePath extends string>(app: Hono<E, S, BasePath>, options?: HandleOptions) => void;
28
- export { handle, fire };
24
+ //#endregion
25
+ export { fire, handle };
26
+ export {};
@@ -1,12 +1,17 @@
1
+ //#region src/adapter/service-worker/types.d.ts
1
2
  interface ExtendableEvent extends Event {
2
- waitUntil(f: Promise<any>): void;
3
+ waitUntil(f: Promise<any>): void;
3
4
  }
5
+ /**
6
+ * @deprecated `hono/service-worker` will be removed in v5. Install `@hono/service-worker` and import from there instead.
7
+ */
4
8
  export interface FetchEvent extends ExtendableEvent {
5
- readonly clientId: string;
6
- readonly handled: Promise<void>;
7
- readonly preloadResponse: Promise<any>;
8
- readonly request: Request;
9
- readonly resultingClientId: string;
10
- respondWith(r: Response | PromiseLike<Response>): void;
9
+ readonly clientId: string;
10
+ readonly handled: Promise<void>;
11
+ readonly preloadResponse: Promise<any>;
12
+ readonly request: Request;
13
+ readonly resultingClientId: string;
14
+ respondWith(r: Response | PromiseLike<Response>): void;
11
15
  }
16
+ //#endregion
12
17
  export {};
@@ -1,2 +1,7 @@
1
- import type { GetConnInfo } from '../../helper/conninfo';
1
+ import { GetConnInfo } from "../../helper/conninfo/types.js";
2
+ //#region src/adapter/vercel/conninfo.d.ts
3
+ /**
4
+ * @deprecated `hono/vercel` will be removed in v5. Install `@hono/vercel` and import from there instead.
5
+ */
2
6
  export declare const getConnInfo: GetConnInfo;
7
+ //#endregion
@@ -1,2 +1,7 @@
1
- import type { Hono } from '../../hono';
1
+ import { Hono } from "../../hono.js";
2
+ //#region src/adapter/vercel/handler.d.ts
3
+ /**
4
+ * @deprecated `hono/vercel` will be removed in v5. Install `@hono/vercel` and import from there instead.
5
+ */
2
6
  export declare const handle: (app: Hono<any, any, any>) => (req: Request) => Response | Promise<Response>;
7
+ //#endregion
@@ -1,6 +1,3 @@
1
- /**
2
- * @module
3
- * Vercel Adapter for Hono.
4
- */
5
- export { handle } from './handler';
6
- export { getConnInfo } from './conninfo';
1
+ import { getConnInfo } from "./conninfo.js";
2
+ import { handle } from "./handler.js";
3
+ export { getConnInfo, handle };
@@ -1,4 +1,6 @@
1
- import type { Hono } from '../hono';
2
- import type { UnionToIntersection } from '../utils/types';
3
- import type { Client, ClientRequestOptions } from './types';
1
+ import { UnionToIntersection } from "../utils/types.js";
2
+ import { Hono } from "../hono.js";
3
+ import { Client, ClientRequestOptions } from "./types.js";
4
+ //#region src/client/client.d.ts
4
5
  export declare const hc: <T extends Hono<any, any, any>, Prefix extends string = string>(baseUrl: Prefix, options?: ClientRequestOptions) => UnionToIntersection<Client<T, Prefix>>;
6
+ //#endregion
@@ -1,3 +1,4 @@
1
+ //#region src/client/fetch-result-please.d.ts
1
2
  /**
2
3
  * @description This file is a modified version of `fetch-result-please` (`ofetch`), minimalized and adapted to Hono's custom needs.
3
4
  *
@@ -10,26 +11,27 @@
10
11
  */
11
12
  export declare function fetchRP(fetchRes: Response | Promise<Response>): Promise<any>;
12
13
  export declare class DetailedError extends Error {
13
- /**
14
- * Additional `message` that will be logged AND returned to client
15
- */
14
+ /**
15
+ * Additional `message` that will be logged AND returned to client
16
+ */
17
+ detail?: any;
18
+ /**
19
+ * Additional `code` that will be logged AND returned to client
20
+ */
21
+ code?: any;
22
+ /**
23
+ * Additional value that will be logged AND NOT returned to client
24
+ */
25
+ log?: any;
26
+ /**
27
+ * Optionally set the status code to return, in a web server context
28
+ */
29
+ statusCode?: any;
30
+ constructor(message: string, options?: {
16
31
  detail?: any;
17
- /**
18
- * Additional `code` that will be logged AND returned to client
19
- */
20
32
  code?: any;
21
- /**
22
- * Additional value that will be logged AND NOT returned to client
23
- */
33
+ statusCode?: number;
24
34
  log?: any;
25
- /**
26
- * Optionally set the status code to return, in a web server context
27
- */
28
- statusCode?: any;
29
- constructor(message: string, options?: {
30
- detail?: any;
31
- code?: any;
32
- statusCode?: number;
33
- log?: any;
34
- });
35
+ });
35
36
  }
37
+ //#endregion
@@ -1,7 +1,5 @@
1
- /**
2
- * @module
3
- * The HTTP Client for Hono.
4
- */
5
- export { hc } from './client';
6
- export { parseResponse, DetailedError } from './utils';
7
- export type { InferResponseType, InferRequestType, Fetch, ClientRequestOptions, ClientRequest, ClientResponse, ApplyGlobalResponse, PickResponseByStatusCode, } from './types';
1
+ import { ApplyGlobalResponse, ClientRequest, ClientRequestOptions, ClientResponse, Fetch, InferRequestType, InferResponseType, PickResponseByStatusCode } from "./types.js";
2
+ import { hc } from "./client.js";
3
+ import { DetailedError } from "./fetch-result-please.js";
4
+ import { parseResponse } from "./utils.js";
5
+ export { type ApplyGlobalResponse, type ClientRequest, type ClientRequestOptions, type ClientResponse, DetailedError, type Fetch, type InferRequestType, type InferResponseType, type PickResponseByStatusCode, hc, parseResponse };
@@ -1,9 +1,10 @@
1
- import type { Hono } from '../hono';
2
- import type { HonoBase } from '../hono-base';
3
- import type { METHODS, METHOD_NAME_ALL_LOWERCASE } from '../router';
4
- import type { Endpoint, ExtractSchema, KnownResponseFormat, ResponseFormat, Schema } from '../types';
5
- import type { StatusCode, SuccessStatusCode } from '../utils/http-status';
6
- import type { HasRequiredKeys } from '../utils/types';
1
+ import { METHODS, METHOD_NAME_ALL_LOWERCASE } from "../router.js";
2
+ import { HonoBase as Hono } from "../hono-base.js";
3
+ import { StatusCode, SuccessStatusCode } from "../utils/http-status.js";
4
+ import { HasRequiredKeys } from "../utils/types.js";
5
+ import { Endpoint, ExtractSchema, KnownResponseFormat, ResponseFormat, Schema } from "../types.js";
6
+ import { Hono as Hono$1 } from "../hono.js";
7
+ //#region src/client/types.d.ts
7
8
  /**
8
9
  * Type representing the '$all' method name
9
10
  */
@@ -18,114 +19,108 @@ type StandardMethods = `$${(typeof METHODS)[number]}`;
18
19
  * If the schema contains '$all', it creates a type where all standard HTTP methods
19
20
  * point to the same endpoint definition as '$all', while removing '$all' itself.
20
21
  */
21
- type ExpandAllMethod<S> = MethodNameAll extends keyof S ? {
22
- [M in StandardMethods]: S[MethodNameAll];
23
- } & Omit<S, MethodNameAll> : S;
24
- type HonoRequest = (typeof Hono.prototype)['request'];
22
+ type ExpandAllMethod<S> = MethodNameAll extends keyof S ? { [M in StandardMethods]: S[MethodNameAll]; } & Omit<S, MethodNameAll> : S;
23
+ type HonoRequest = (typeof Hono$1.prototype)['request'];
25
24
  export type BuildSearchParamsFn = (query: Record<string, string | string[]>) => URLSearchParams;
26
25
  export type ClientRequestOptions<T = unknown> = {
27
- fetch?: typeof fetch | HonoRequest;
28
- webSocket?: (...args: ConstructorParameters<typeof WebSocket>) => WebSocket;
29
- /**
30
- * Standard `RequestInit`, caution that this take highest priority
31
- * and could be used to overwrite things that Hono sets for you, like `body | method | headers`.
32
- *
33
- * If you want to add some headers, use in `headers` instead of `init`
34
- */
35
- init?: RequestInit;
36
- /**
37
- * Custom function to serialize query parameters into URLSearchParams.
38
- * By default, arrays are serialized as multiple parameters with the same key (e.g., `key=a&key=b`).
39
- * You can provide a custom function to change this behavior, for example to use bracket notation (e.g., `key[]=a&key[]=b`).
40
- *
41
- * @example
42
- * ```ts
43
- * const client = hc('http://localhost', {
44
- * buildSearchParams: (query) => {
45
- * return new URLSearchParams(qs.stringify(query))
46
- * }
47
- * })
48
- * ```
49
- */
50
- buildSearchParams?: BuildSearchParamsFn;
26
+ fetch?: typeof fetch | HonoRequest;
27
+ webSocket?: (...args: ConstructorParameters<typeof WebSocket>) => WebSocket;
28
+ /**
29
+ * Standard `RequestInit`, caution that this take highest priority
30
+ * and could be used to overwrite things that Hono sets for you, like `body | method | headers`.
31
+ *
32
+ * If you want to add some headers, use in `headers` instead of `init`
33
+ */
34
+ init?: RequestInit;
35
+ /**
36
+ * Custom function to serialize query parameters into URLSearchParams.
37
+ * By default, arrays are serialized as multiple parameters with the same key (e.g., `key=a&key=b`).
38
+ * You can provide a custom function to change this behavior, for example to use bracket notation (e.g., `key[]=a&key[]=b`).
39
+ *
40
+ * @example
41
+ * ```ts
42
+ * const client = hc('http://localhost', {
43
+ * buildSearchParams: (query) => {
44
+ * return new URLSearchParams(qs.stringify(query))
45
+ * }
46
+ * })
47
+ * ```
48
+ */
49
+ buildSearchParams?: BuildSearchParamsFn;
51
50
  } & (keyof T extends never ? {
52
- headers?: Record<string, string> | (() => Record<string, string> | Promise<Record<string, string>>);
51
+ headers?: Record<string, string> | (() => Record<string, string> | Promise<Record<string, string>>);
53
52
  } : {
54
- headers: T | (() => T | Promise<T>);
53
+ headers: T | (() => T | Promise<T>);
55
54
  });
56
- export type ClientRequest<Prefix extends string, Path extends string, S extends Schema> = {
57
- [M in keyof ExpandAllMethod<S>]: ExpandAllMethod<S>[M] extends Endpoint & {
58
- input: infer R;
59
- } ? R extends object ? HasRequiredKeys<R> extends true ? (args: R, options?: ClientRequestOptions) => Promise<ClientResponseOfEndpoint<ExpandAllMethod<S>[M]>> : (args?: R, options?: ClientRequestOptions) => Promise<ClientResponseOfEndpoint<ExpandAllMethod<S>[M]>> : never : never;
60
- } & {
61
- $url: <const Arg extends (S[keyof S] extends {
62
- input: infer R;
63
- } ? R extends {
64
- param: infer P;
65
- } ? R extends {
66
- query: infer Q;
67
- } ? {
68
- param: P;
69
- query: Q;
70
- } : {
71
- param: P;
72
- } : R extends {
73
- query: infer Q;
74
- } ? {
75
- query: Q;
76
- } : {} : {}) | undefined = undefined>(arg?: Arg) => HonoURL<Prefix, Path, Arg>;
77
- $path: <const Arg extends (S[keyof S] extends {
78
- input: infer R;
79
- } ? R extends {
80
- param: infer P;
81
- } ? R extends {
82
- query: infer Q;
83
- } ? {
84
- param: P;
85
- query: Q;
86
- } : {
87
- param: P;
88
- } : R extends {
89
- query: infer Q;
90
- } ? {
91
- query: Q;
92
- } : {} : {}) | undefined = undefined>(arg?: Arg) => BuildPath<Path, Arg>;
55
+ export type ClientRequest<Prefix extends string, Path extends string, S extends Schema> = { [M in keyof ExpandAllMethod<S>]: ExpandAllMethod<S>[M] extends Endpoint & {
56
+ input: infer R;
57
+ } ? R extends object ? HasRequiredKeys<R> extends true ? (args: R, options?: ClientRequestOptions) => Promise<ClientResponseOfEndpoint<ExpandAllMethod<S>[M]>> : (args?: R, options?: ClientRequestOptions) => Promise<ClientResponseOfEndpoint<ExpandAllMethod<S>[M]>> : never : never; } & {
58
+ $url: <const Arg extends (S[keyof S] extends {
59
+ input: infer R;
60
+ } ? R extends {
61
+ param: infer P;
62
+ } ? R extends {
63
+ query: infer Q;
64
+ } ? {
65
+ param: P;
66
+ query: Q;
67
+ } : {
68
+ param: P;
69
+ } : R extends {
70
+ query: infer Q;
71
+ } ? {
72
+ query: Q;
73
+ } : {} : {}) | undefined = undefined>(arg?: Arg) => HonoURL<Prefix, Path, Arg>;
74
+ $path: <const Arg extends (S[keyof S] extends {
75
+ input: infer R;
76
+ } ? R extends {
77
+ param: infer P;
78
+ } ? R extends {
79
+ query: infer Q;
80
+ } ? {
81
+ param: P;
82
+ query: Q;
83
+ } : {
84
+ param: P;
85
+ } : R extends {
86
+ query: infer Q;
87
+ } ? {
88
+ query: Q;
89
+ } : {} : {}) | undefined = undefined>(arg?: Arg) => BuildPath<Path, Arg>;
93
90
  } & (S['$get'] extends {
94
- outputFormat: 'ws';
91
+ outputFormat: 'ws';
95
92
  } ? S['$get'] extends {
96
- input: infer I;
93
+ input: infer I;
97
94
  } ? {
98
- $ws: (args?: I) => WebSocket;
95
+ $ws: (args?: I) => WebSocket;
99
96
  } : {} : {});
100
97
  type ClientResponseOfEndpoint<T extends Endpoint = Endpoint> = T extends {
101
- output: infer O;
102
- outputFormat: infer F;
103
- status: infer S;
98
+ output: infer O;
99
+ outputFormat: infer F;
100
+ status: infer S;
104
101
  } ? ClientResponse<O, S extends number ? S : never, F extends ResponseFormat ? F : never> : never;
105
102
  export interface ClientResponse<T, U extends number = StatusCode, F extends ResponseFormat = ResponseFormat> {
106
- readonly body: ReadableStream | null;
107
- readonly bodyUsed: boolean;
108
- ok: U extends SuccessStatusCode ? true : U extends Exclude<StatusCode, SuccessStatusCode> ? false : boolean;
109
- redirected: boolean;
110
- status: U;
111
- statusText: string;
112
- type: 'basic' | 'cors' | 'default' | 'error' | 'opaque' | 'opaqueredirect';
113
- headers: Headers;
114
- url: string;
115
- redirect(url: string, status: number): Response;
116
- clone(): Response;
117
- bytes(): Promise<Uint8Array<ArrayBuffer>>;
118
- json(): F extends 'text' ? Promise<never> : F extends 'json' ? Promise<T> : Promise<unknown>;
119
- text(): F extends 'text' ? (T extends string ? Promise<T> : Promise<never>) : Promise<string>;
120
- blob(): Promise<Blob>;
121
- formData(): Promise<FormData>;
122
- arrayBuffer(): Promise<ArrayBuffer>;
103
+ readonly body: ReadableStream | null;
104
+ readonly bodyUsed: boolean;
105
+ ok: U extends SuccessStatusCode ? true : U extends Exclude<StatusCode, SuccessStatusCode> ? false : boolean;
106
+ redirected: boolean;
107
+ status: U;
108
+ statusText: string;
109
+ type: 'basic' | 'cors' | 'default' | 'error' | 'opaque' | 'opaqueredirect';
110
+ headers: Headers;
111
+ url: string;
112
+ redirect(url: string, status: number): Response;
113
+ clone(): Response;
114
+ bytes(): Promise<Uint8Array<ArrayBuffer>>;
115
+ json(): F extends 'text' ? Promise<never> : F extends 'json' ? Promise<T> : Promise<unknown>;
116
+ text(): F extends 'text' ? (T extends string ? Promise<T> : Promise<never>) : Promise<string>;
117
+ blob(): Promise<Blob>;
118
+ formData(): Promise<FormData>;
119
+ arrayBuffer(): Promise<ArrayBuffer>;
123
120
  }
124
- type BuildSearch<Arg, Key extends 'query'> = Arg extends {
125
- [K in Key]: infer Query;
126
- } ? IsEmptyObject<Query> extends true ? '' : `?${string}` : '';
121
+ type BuildSearch<Arg, Key extends 'query'> = Arg extends { [K in Key]: infer Query; } ? IsEmptyObject<Query> extends true ? '' : `?${string}` : '';
127
122
  type BuildPathname<P extends string, Arg> = Arg extends {
128
- param: infer Param;
123
+ param: infer Param;
129
124
  } ? `${ApplyParam<TrimStartSlash<P>, Param>}` : `/${TrimStartSlash<P>}`;
130
125
  type BuildPath<P extends string, Arg> = `${BuildPathname<P, Arg>}${BuildSearch<Arg, 'query'>}`;
131
126
  type BuildTypedURL<Protocol extends string, Host extends string, Port extends string, P extends string, Arg> = TypedURL<`${Protocol}:`, Host, Port, BuildPathname<P, Arg>, BuildSearch<Arg, 'query'>>;
@@ -137,83 +132,62 @@ type IsLiteral<T extends string> = [T] extends [never] ? false : string extends
137
132
  type ApplyParam<Path extends string, P, Result extends string = ''> = Path extends `${infer Head}/${infer Rest}` ? Head extends `:${infer Param}` ? P extends Record<Param, infer Value extends string> ? IsLiteral<Value> extends true ? ApplyParam<Rest, P, `${Result}/${Value & string}`> : ApplyParam<Rest, P, `${Result}/${Head}`> : ApplyParam<Rest, P, `${Result}/${Head}`> : ApplyParam<Rest, P, `${Result}/${Head}`> : Path extends `:${infer Param}` ? P extends Record<Param, infer Value extends string> ? IsLiteral<Value> extends true ? `${Result}/${Value & string}` : `${Result}/${Path}` : `${Result}/${Path}` : `${Result}/${Path}`;
138
133
  type IsEmptyObject<T> = keyof T extends never ? true : false;
139
134
  export interface TypedURL<Protocol extends string, Hostname extends string, Port extends string, Pathname extends string, Search extends string> extends URL {
140
- protocol: Protocol;
141
- hostname: Hostname;
142
- port: Port;
143
- host: Port extends '' ? Hostname : `${Hostname}:${Port}`;
144
- origin: `${Protocol}//${Hostname}${Port extends '' ? '' : `:${Port}`}`;
145
- pathname: Pathname;
146
- search: Search;
147
- href: `${Protocol}//${Hostname}${Port extends '' ? '' : `:${Port}`}${Pathname}${Search}`;
148
- }
149
- export interface Response extends ClientResponse<unknown> {
135
+ protocol: Protocol;
136
+ hostname: Hostname;
137
+ port: Port;
138
+ host: Port extends '' ? Hostname : `${Hostname}:${Port}`;
139
+ origin: `${Protocol}//${Hostname}${Port extends '' ? '' : `:${Port}`}`;
140
+ pathname: Pathname;
141
+ search: Search;
142
+ href: `${Protocol}//${Hostname}${Port extends '' ? '' : `:${Port}`}${Pathname}${Search}`;
150
143
  }
144
+ export interface Response extends ClientResponse<unknown> {}
151
145
  export type Fetch<T> = (args?: InferRequestType<T>, opt?: ClientRequestOptions) => Promise<ClientResponseOfEndpoint<InferEndpointType<T>>>;
152
- type InferEndpointType<T> = T extends (args: infer R, options: any | undefined) => Promise<infer U> ? U extends ClientResponse<infer O, infer S, infer F> ? {
153
- input: NonNullable<R>;
154
- output: O;
155
- outputFormat: F;
156
- status: S;
146
+ type InferEndpointType<T> = T extends ((args: infer R, options: any | undefined) => Promise<infer U>) ? U extends ClientResponse<infer O, infer S, infer F> ? {
147
+ input: NonNullable<R>;
148
+ output: O;
149
+ outputFormat: F;
150
+ status: S;
157
151
  } extends Endpoint ? {
158
- input: NonNullable<R>;
159
- output: O;
160
- outputFormat: F;
161
- status: S;
152
+ input: NonNullable<R>;
153
+ output: O;
154
+ outputFormat: F;
155
+ status: S;
162
156
  } : never : never : never;
163
157
  export type InferResponseType<T, U extends StatusCode = StatusCode> = InferResponseTypeFromEndpoint<InferEndpointType<T>, U>;
164
158
  type InferResponseTypeFromEndpoint<T extends Endpoint, U extends StatusCode> = T extends {
165
- output: infer O;
166
- status: infer S;
159
+ output: infer O;
160
+ status: infer S;
167
161
  } ? S extends U ? O : never : never;
168
- export type InferRequestType<T> = T extends (args: infer R, options: any | undefined) => Promise<ClientResponse<unknown>> ? NonNullable<R> : never;
169
- export type InferRequestOptionsType<T> = T extends (args: any, options: infer R) => Promise<ClientResponse<unknown>> ? NonNullable<R> : never;
162
+ export type InferRequestType<T> = T extends ((args: infer R, options: any | undefined) => Promise<ClientResponse<unknown>>) ? NonNullable<R> : never;
163
+ export type InferRequestOptionsType<T> = T extends ((args: any, options: infer R) => Promise<ClientResponse<unknown>>) ? NonNullable<R> : never;
170
164
  /**
171
165
  * Filter a ClientResponse type so it only includes responses of specific status codes.
172
166
  */
173
167
  export type FilterClientResponseByStatusCode<T extends ClientResponse<any, any, any>, U extends number = StatusCode> = T extends ClientResponse<infer RT, infer RC, infer RF> ? RC extends U ? ClientResponse<RT, RC, RF> : never : never;
174
- type PathToChain<Prefix extends string, Path extends string, E extends Schema, Original extends string = Path> = Path extends `/${infer P}` ? PathToChain<Prefix, P, E, Path> : Path extends `${infer P}/${infer R}` ? {
175
- [K in P]: PathToChain<Prefix, R, E, Original>;
176
- } : {
177
- [K in Path extends '' ? 'index' : Path]: ClientRequest<Prefix, Original, E extends Record<string, unknown> ? E[Original] : never>;
178
- };
179
- export type Client<T, Prefix extends string> = T extends HonoBase<any, infer S, any> ? S extends Record<infer K, Schema> ? K extends string ? PathToChain<Prefix, K, S> : never : never : never;
168
+ type PathToChain<Prefix extends string, Path extends string, E extends Schema, Original extends string = Path> = Path extends `/${infer P}` ? PathToChain<Prefix, P, E, Path> : Path extends `${infer P}/${infer R}` ? { [K in P]: PathToChain<Prefix, R, E, Original>; } : { [K in Path extends '' ? 'index' : Path]: ClientRequest<Prefix, Original, E extends Record<string, unknown> ? E[Original] : never>; };
169
+ export type Client<T, Prefix extends string> = T extends Hono<any, infer S, any> ? S extends Record<infer K, Schema> ? K extends string ? PathToChain<Prefix, K, S> : never : never : never;
180
170
  export type Callback = (opts: CallbackOptions) => unknown;
181
171
  interface CallbackOptions {
182
- path: string[];
183
- args: any[];
172
+ path: string[];
173
+ args: any[];
184
174
  }
185
175
  export type ObjectType<T = unknown> = {
186
- [key: string]: T;
176
+ [key: string]: T;
187
177
  };
188
- type GlobalResponseDefinition = {
189
- [S in StatusCode]?: {
190
- [F in KnownResponseFormat]?: unknown;
191
- };
192
- };
193
- type ToEndpoints<Def extends GlobalResponseDefinition, R> = {
194
- [S in keyof Def & StatusCode]: {
195
- [F in keyof Def[S] & KnownResponseFormat]: Omit<R, 'output' | 'status' | 'outputFormat'> & {
196
- output: Def[S][F];
197
- status: S;
198
- outputFormat: F;
199
- };
200
- }[keyof Def[S] & KnownResponseFormat];
201
- }[keyof Def & StatusCode];
178
+ type GlobalResponseDefinition = { [S in StatusCode]?: { [F in KnownResponseFormat]?: unknown; }; };
179
+ type ToEndpoints<Def extends GlobalResponseDefinition, R> = { [S in keyof Def & StatusCode]: { [F in keyof Def[S] & KnownResponseFormat]: Omit<R, 'output' | 'status' | 'outputFormat'> & {
180
+ output: Def[S][F];
181
+ status: S;
182
+ outputFormat: F;
183
+ }; }[keyof Def[S] & KnownResponseFormat]; }[keyof Def & StatusCode];
202
184
  type ModRoute<R, Def extends GlobalResponseDefinition> = R extends Endpoint ? R | ToEndpoints<Def, R> : R;
203
- type ModSchema<D, Def extends GlobalResponseDefinition> = {
204
- [K in keyof D]: {
205
- [M in keyof D[K]]: ModRoute<D[K][M], Def>;
206
- };
207
- };
208
- export type ApplyGlobalResponse<App, Def extends GlobalResponseDefinition> = App extends HonoBase<infer E, infer _ extends Schema, infer B> ? ModSchema<ExtractSchema<App>, Def> extends infer S extends Schema ? Hono<E, S, B> : never : never;
185
+ type ModSchema<D, Def extends GlobalResponseDefinition> = { [K in keyof D]: { [M in keyof D[K]]: ModRoute<D[K][M], Def>; }; };
186
+ export type ApplyGlobalResponse<App, Def extends GlobalResponseDefinition> = App extends Hono<infer E, infer _ extends Schema, infer B> ? ModSchema<ExtractSchema<App>, Def> extends (infer S extends Schema) ? Hono$1<E, S, B> : never : never;
209
187
  type PickRoute<R, U extends StatusCode> = R extends Endpoint ? R extends {
210
- status: U;
188
+ status: U;
211
189
  } ? R : never : R;
212
- type PickSchema<D, U extends StatusCode> = {
213
- [K in keyof D]: {
214
- [M in keyof D[K]]: PickRoute<D[K][M], U>;
215
- };
216
- };
190
+ type PickSchema<D, U extends StatusCode> = { [K in keyof D]: { [M in keyof D[K]]: PickRoute<D[K][M], U>; }; };
217
191
  /**
218
192
  * Keep only specific status code responses from all routes of an app.
219
193
  * Useful when error responses are handled centrally (e.g., via custom fetch)
@@ -225,5 +199,6 @@ type PickSchema<D, U extends StatusCode> = {
225
199
  * const client = hc<AppSuccessOnly>('http://localhost')
226
200
  * ```
227
201
  */
228
- export type PickResponseByStatusCode<App, U extends StatusCode> = App extends HonoBase<infer E, infer _ extends Schema, infer B> ? PickSchema<ExtractSchema<App>, U> extends infer S extends Schema ? Hono<E, S, B> : never : never;
202
+ export type PickResponseByStatusCode<App, U extends StatusCode> = App extends Hono<infer E, infer _ extends Schema, infer B> ? PickSchema<ExtractSchema<App>, U> extends (infer S extends Schema) ? Hono$1<E, S, B> : never : never;
203
+ //#endregion
229
204
  export {};
@@ -1,7 +1,7 @@
1
- import type { ClientErrorStatusCode, ContentfulStatusCode, ServerErrorStatusCode } from '../utils/http-status';
2
- import { DetailedError } from './fetch-result-please';
3
- import type { ClientResponse, FilterClientResponseByStatusCode } from './types';
4
- export { DetailedError };
1
+ import { ClientErrorStatusCode, ContentfulStatusCode, ServerErrorStatusCode } from "../utils/http-status.js";
2
+ import { ClientResponse, FilterClientResponseByStatusCode } from "./types.js";
3
+ import { DetailedError } from "./fetch-result-please.js";
4
+ //#region src/client/utils.d.ts
5
5
  export declare const mergePath: (base: string, path: string) => string;
6
6
  export declare const replaceUrlParam: (urlString: string, params: Record<string, string | undefined>) => string;
7
7
  export declare const buildSearchParams: (query: Record<string, string | string[]>) => URLSearchParams;
@@ -16,3 +16,5 @@ export declare function deepMerge<T>(target: T, source: Record<string, unknown>)
16
16
  * @example const result = await parseResponse(client.posts.$get())
17
17
  */
18
18
  export declare function parseResponse<T extends ClientResponse<any>>(fetchRes: T | Promise<T>): Promise<FilterClientResponseByStatusCode<T, Exclude<ContentfulStatusCode, ClientErrorStatusCode | ServerErrorStatusCode>> extends never ? undefined : FilterClientResponseByStatusCode<T, Exclude<ContentfulStatusCode, ClientErrorStatusCode | ServerErrorStatusCode>> extends ClientResponse<infer RT, infer _, infer RF> ? RF extends 'json' ? RT : RT extends string ? RT : string : undefined>;
19
+ //#endregion
20
+ export { DetailedError };
@@ -1,5 +1,6 @@
1
- import type { Context } from './context';
2
- import type { Env, ErrorHandler, Next, NotFoundHandler } from './types';
1
+ import { Env, ErrorHandler, Next, NotFoundHandler } from "./types.js";
2
+ import { Context } from "./context.js";
3
+ //#region src/compose.d.ts
3
4
  /**
4
5
  * Compose middleware functions into a single function based on `koa-compose` package.
5
6
  *
@@ -12,3 +13,4 @@ import type { Env, ErrorHandler, Next, NotFoundHandler } from './types';
12
13
  * @returns {(context: Context, next?: Next) => Promise<Context>} - A composed middleware function.
13
14
  */
14
15
  export declare const compose: <E extends Env = Env>(middleware: [[Function, unknown], unknown][] | [[Function]][], onError?: ErrorHandler<E>, onNotFound?: NotFoundHandler<E>) => ((context: Context, next?: Next) => Promise<Context>);
16
+ //#endregion