pi-cursor-sdk 0.5.0 → 0.5.3

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 (737) hide show
  1. package/CHANGELOG.md +76 -0
  2. package/README.md +135 -34
  3. package/dist/context.js +55 -36
  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 +402 -1
  10. package/dist/cursor-fallback-warning.js +8 -2
  11. package/dist/cursor-live-run-coordinator.js +22 -2
  12. package/dist/cursor-local-agent-ownership.js +17 -0
  13. package/dist/cursor-mcp-timeout-override.js +3 -1
  14. package/dist/cursor-pi-tool-bridge-diagnostics.js +4 -0
  15. package/dist/cursor-pi-tool-bridge-run.js +31 -3
  16. package/dist/cursor-pi-tool-bridge-server.js +1 -1
  17. package/dist/cursor-provider-binding.js +70 -10
  18. package/dist/cursor-provider-errors.js +33 -26
  19. package/dist/cursor-provider-live-run-drain.js +10 -4
  20. package/dist/cursor-provider-run-finalizer.js +2 -1
  21. package/dist/cursor-provider-turn-prepare.js +25 -9
  22. package/dist/cursor-provider-turn-summary.js +1 -1
  23. package/dist/cursor-provider-turn-tool-ledger.js +13 -7
  24. package/dist/cursor-provider.js +2 -1
  25. package/dist/cursor-question-tool.js +5 -5
  26. package/dist/cursor-request-provenance.js +13 -2
  27. package/dist/cursor-sdk-output-filter.js +1 -1
  28. package/dist/cursor-sdk-process-error-guard.js +1 -3
  29. package/dist/cursor-sdk-runtime.js +13 -14
  30. package/dist/cursor-sdk-vendor-env.js +20 -0
  31. package/dist/cursor-session-agent-cleanup.js +38 -26
  32. package/dist/cursor-session-agent-lifecycle.js +2 -2
  33. package/dist/cursor-session-agent-lineage.js +11 -7
  34. package/dist/cursor-session-agent-resume.js +15 -9
  35. package/dist/cursor-session-agent.js +60 -23
  36. package/dist/cursor-session-scope.js +27 -14
  37. package/dist/cursor-session-send-policy.js +2 -2
  38. package/dist/cursor-session-settings.js +3 -3
  39. package/dist/cursor-session-store.js +235 -45
  40. package/dist/cursor-state.js +23 -9
  41. package/dist/cursor-tool-manifest.js +1 -1
  42. package/dist/index.js +21 -19
  43. package/dist/model-discovery.js +58 -26
  44. package/dist/model-list-cache.js +12 -1
  45. package/docs/cursor-live-smoke-checklist.md +2 -2
  46. package/docs/cursor-model-ux-spec.md +83 -30
  47. package/docs/cursor-native-tool-replay.md +16 -5
  48. package/docs/cursor-native-tool-visual-audit.md +1 -1
  49. package/docs/cursor-testing-lessons.md +63 -7
  50. package/docs/cursor-tool-surfaces.md +19 -4
  51. package/node_modules/@hono/node-server/README.md +21 -10
  52. package/node_modules/@hono/node-server/dist/early-hints.cjs +1 -1
  53. package/node_modules/@hono/node-server/dist/early-hints.mjs +1 -1
  54. package/node_modules/@hono/node-server/dist/index.cjs +41 -19
  55. package/node_modules/@hono/node-server/dist/index.mjs +42 -20
  56. package/node_modules/@hono/node-server/dist/serve-static.cjs +1 -0
  57. package/node_modules/@hono/node-server/dist/serve-static.d.cts +2 -1
  58. package/node_modules/@hono/node-server/dist/serve-static.d.mts +2 -1
  59. package/node_modules/@hono/node-server/dist/serve-static.mjs +1 -0
  60. package/node_modules/@hono/node-server/package.json +3 -2
  61. package/node_modules/@modelcontextprotocol/core/dist/{auth--n_Yzytt.d.cts → auth-Anm-lwWi.d.mts} +9 -8
  62. package/node_modules/@modelcontextprotocol/core/dist/{auth-YUQV3RRv.d.mts.map → auth-Anm-lwWi.d.mts.map} +1 -1
  63. package/node_modules/@modelcontextprotocol/core/dist/{auth-CGP0BDVq.mjs → auth-BNDyLTqp.mjs} +5 -3
  64. package/node_modules/@modelcontextprotocol/core/dist/{auth-CGP0BDVq.mjs.map → auth-BNDyLTqp.mjs.map} +1 -1
  65. package/node_modules/@modelcontextprotocol/core/dist/{auth-4-zilcqg.cjs → auth-D1CeV_Jr.cjs} +5 -3
  66. package/node_modules/@modelcontextprotocol/core/dist/{auth-4-zilcqg.cjs.map → auth-D1CeV_Jr.cjs.map} +1 -1
  67. package/node_modules/@modelcontextprotocol/core/dist/{auth-YUQV3RRv.d.mts → auth-V9XJSCfa.d.cts} +9 -8
  68. package/node_modules/@modelcontextprotocol/core/dist/{auth--n_Yzytt.d.cts.map → auth-V9XJSCfa.d.cts.map} +1 -1
  69. package/node_modules/@modelcontextprotocol/core/dist/index.cjs +1 -1
  70. package/node_modules/@modelcontextprotocol/core/dist/index.d.cts +1 -1
  71. package/node_modules/@modelcontextprotocol/core/dist/index.d.mts +1 -1
  72. package/node_modules/@modelcontextprotocol/core/dist/index.mjs +1 -1
  73. package/node_modules/@modelcontextprotocol/core/dist/internal.cjs +1 -1
  74. package/node_modules/@modelcontextprotocol/core/dist/internal.d.cts +1 -1
  75. package/node_modules/@modelcontextprotocol/core/dist/internal.d.mts +1 -1
  76. package/node_modules/@modelcontextprotocol/core/dist/internal.mjs +1 -1
  77. package/node_modules/@modelcontextprotocol/core/package.json +2 -2
  78. package/node_modules/@modelcontextprotocol/hono/README.md +7 -5
  79. package/node_modules/@modelcontextprotocol/hono/dist/index.cjs.map +1 -1
  80. package/node_modules/@modelcontextprotocol/hono/dist/index.d.cts +5 -0
  81. package/node_modules/@modelcontextprotocol/hono/dist/index.d.cts.map +1 -1
  82. package/node_modules/@modelcontextprotocol/hono/dist/index.d.mts +5 -0
  83. package/node_modules/@modelcontextprotocol/hono/dist/index.d.mts.map +1 -1
  84. package/node_modules/@modelcontextprotocol/hono/dist/index.mjs.map +1 -1
  85. package/node_modules/@modelcontextprotocol/hono/package.json +4 -4
  86. package/node_modules/@modelcontextprotocol/server/README.md +1 -7
  87. package/node_modules/@modelcontextprotocol/server/dist/{createMcpHandler-Bt6U_Fqb.d.mts → createMcpHandler-D4NN8WsG.d.mts} +35 -13
  88. package/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-D4NN8WsG.d.mts.map +1 -0
  89. package/node_modules/@modelcontextprotocol/server/dist/{createMcpHandler-BLVe3qmU.d.cts → createMcpHandler-DZmmlN8e.d.cts} +35 -13
  90. package/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-DZmmlN8e.d.cts.map +1 -0
  91. package/node_modules/@modelcontextprotocol/server/dist/index.cjs +32 -5
  92. package/node_modules/@modelcontextprotocol/server/dist/index.cjs.map +1 -1
  93. package/node_modules/@modelcontextprotocol/server/dist/index.d.cts +41 -5
  94. package/node_modules/@modelcontextprotocol/server/dist/index.d.cts.map +1 -1
  95. package/node_modules/@modelcontextprotocol/server/dist/index.d.mts +41 -5
  96. package/node_modules/@modelcontextprotocol/server/dist/index.d.mts.map +1 -1
  97. package/node_modules/@modelcontextprotocol/server/dist/index.mjs +32 -5
  98. package/node_modules/@modelcontextprotocol/server/dist/index.mjs.map +1 -1
  99. package/node_modules/@modelcontextprotocol/server/dist/{mcp-DUcCQSTW.cjs → mcp-BumlNux0.cjs} +73 -23
  100. package/node_modules/@modelcontextprotocol/server/dist/mcp-BumlNux0.cjs.map +1 -0
  101. package/node_modules/@modelcontextprotocol/server/dist/{mcp-Dw2OlZ1f.mjs → mcp-DIH4cS6P.mjs} +73 -23
  102. package/node_modules/@modelcontextprotocol/server/dist/mcp-DIH4cS6P.mjs.map +1 -0
  103. package/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.cjs +1 -1
  104. package/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.mjs +1 -1
  105. package/node_modules/@modelcontextprotocol/server/dist/{src-CgFsfg3E.cjs → src-BhnGYybN.cjs} +29 -11
  106. package/node_modules/@modelcontextprotocol/server/dist/src-BhnGYybN.cjs.map +1 -0
  107. package/node_modules/@modelcontextprotocol/server/dist/{src-D-y6h4N7.mjs → src-Cqbh3MYc.mjs} +29 -11
  108. package/node_modules/@modelcontextprotocol/server/dist/src-Cqbh3MYc.mjs.map +1 -0
  109. package/node_modules/@modelcontextprotocol/server/dist/stdio.cjs +2 -2
  110. package/node_modules/@modelcontextprotocol/server/dist/stdio.d.cts +1 -1
  111. package/node_modules/@modelcontextprotocol/server/dist/stdio.d.mts +1 -1
  112. package/node_modules/@modelcontextprotocol/server/dist/stdio.mjs +2 -2
  113. package/node_modules/@modelcontextprotocol/server/package.json +4 -4
  114. package/node_modules/hono/dist/_virtual/_rolldown/runtime.js +13 -0
  115. package/node_modules/hono/dist/adapter/aws-lambda/conninfo.js +42 -23
  116. package/node_modules/hono/dist/adapter/aws-lambda/handler.js +318 -344
  117. package/node_modules/hono/dist/adapter/aws-lambda/index.js +2 -8
  118. package/node_modules/hono/dist/adapter/aws-lambda/types.js +1 -0
  119. package/node_modules/hono/dist/adapter/bun/conninfo.js +20 -25
  120. package/node_modules/hono/dist/adapter/bun/index.js +3 -13
  121. package/node_modules/hono/dist/adapter/bun/serve-static.js +27 -27
  122. package/node_modules/hono/dist/adapter/bun/server.js +11 -5
  123. package/node_modules/hono/dist/adapter/bun/ssg.js +25 -15
  124. package/node_modules/hono/dist/adapter/bun/websocket.js +61 -68
  125. package/node_modules/hono/dist/adapter/cloudflare-pages/conninfo.js +24 -9
  126. package/node_modules/hono/dist/adapter/cloudflare-pages/handler.js +59 -62
  127. package/node_modules/hono/dist/adapter/cloudflare-pages/index.js +2 -8
  128. package/node_modules/hono/dist/adapter/cloudflare-workers/conninfo.js +7 -9
  129. package/node_modules/hono/dist/adapter/cloudflare-workers/index.js +3 -8
  130. package/node_modules/hono/dist/adapter/cloudflare-workers/serve-static-module.js +5 -6
  131. package/node_modules/hono/dist/adapter/cloudflare-workers/serve-static.js +26 -20
  132. package/node_modules/hono/dist/adapter/cloudflare-workers/utils.js +21 -34
  133. package/node_modules/hono/dist/adapter/cloudflare-workers/websocket.js +31 -39
  134. package/node_modules/hono/dist/adapter/deno/conninfo.js +16 -13
  135. package/node_modules/hono/dist/adapter/deno/deno.d.js +1 -0
  136. package/node_modules/hono/dist/adapter/deno/index.js +3 -10
  137. package/node_modules/hono/dist/adapter/deno/serve-static.js +33 -38
  138. package/node_modules/hono/dist/adapter/deno/ssg.js +27 -16
  139. package/node_modules/hono/dist/adapter/deno/websocket.js +30 -30
  140. package/node_modules/hono/dist/adapter/lambda-edge/conninfo.js +7 -9
  141. package/node_modules/hono/dist/adapter/lambda-edge/handler.js +102 -101
  142. package/node_modules/hono/dist/adapter/lambda-edge/index.js +2 -6
  143. package/node_modules/hono/dist/adapter/netlify/conninfo.js +24 -9
  144. package/node_modules/hono/dist/adapter/netlify/handler.js +10 -8
  145. package/node_modules/hono/dist/adapter/netlify/index.js +3 -2
  146. package/node_modules/hono/dist/adapter/netlify/mod.js +2 -6
  147. package/node_modules/hono/dist/adapter/service-worker/handler.js +15 -19
  148. package/node_modules/hono/dist/adapter/service-worker/index.js +23 -7
  149. package/node_modules/hono/dist/adapter/service-worker/types.js +1 -0
  150. package/node_modules/hono/dist/adapter/vercel/conninfo.js +7 -10
  151. package/node_modules/hono/dist/adapter/vercel/handler.js +8 -6
  152. package/node_modules/hono/dist/adapter/vercel/index.js +2 -6
  153. package/node_modules/hono/dist/cjs/_virtual/_rolldown/runtime.js +33 -0
  154. package/node_modules/hono/dist/cjs/adapter/aws-lambda/conninfo.js +42 -44
  155. package/node_modules/hono/dist/cjs/adapter/aws-lambda/handler.js +326 -373
  156. package/node_modules/hono/dist/cjs/adapter/aws-lambda/index.js +7 -34
  157. package/node_modules/hono/dist/cjs/adapter/aws-lambda/types.js +0 -15
  158. package/node_modules/hono/dist/cjs/adapter/bun/conninfo.js +21 -47
  159. package/node_modules/hono/dist/cjs/adapter/bun/index.js +14 -45
  160. package/node_modules/hono/dist/cjs/adapter/bun/serve-static.js +29 -50
  161. package/node_modules/hono/dist/cjs/adapter/bun/server.js +11 -26
  162. package/node_modules/hono/dist/cjs/adapter/bun/ssg.js +24 -35
  163. package/node_modules/hono/dist/cjs/adapter/bun/websocket.js +63 -91
  164. package/node_modules/hono/dist/cjs/adapter/cloudflare-pages/conninfo.js +25 -31
  165. package/node_modules/hono/dist/cjs/adapter/cloudflare-pages/handler.js +61 -85
  166. package/node_modules/hono/dist/cjs/adapter/cloudflare-pages/index.js +7 -34
  167. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/conninfo.js +8 -31
  168. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/index.js +7 -33
  169. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/serve-static-module.js +7 -29
  170. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/serve-static.js +27 -42
  171. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/utils.js +21 -55
  172. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/websocket.js +33 -62
  173. package/node_modules/hono/dist/cjs/adapter/deno/conninfo.js +16 -34
  174. package/node_modules/hono/dist/cjs/adapter/deno/index.js +10 -38
  175. package/node_modules/hono/dist/cjs/adapter/deno/serve-static.js +33 -59
  176. package/node_modules/hono/dist/cjs/adapter/deno/ssg.js +27 -37
  177. package/node_modules/hono/dist/cjs/adapter/deno/websocket.js +32 -53
  178. package/node_modules/hono/dist/cjs/adapter/lambda-edge/conninfo.js +8 -31
  179. package/node_modules/hono/dist/cjs/adapter/lambda-edge/handler.js +102 -130
  180. package/node_modules/hono/dist/cjs/adapter/lambda-edge/index.js +5 -30
  181. package/node_modules/hono/dist/cjs/adapter/netlify/conninfo.js +25 -31
  182. package/node_modules/hono/dist/cjs/adapter/netlify/handler.js +10 -29
  183. package/node_modules/hono/dist/cjs/adapter/netlify/index.js +5 -21
  184. package/node_modules/hono/dist/cjs/adapter/netlify/mod.js +5 -30
  185. package/node_modules/hono/dist/cjs/adapter/service-worker/handler.js +16 -41
  186. package/node_modules/hono/dist/cjs/adapter/service-worker/index.js +25 -30
  187. package/node_modules/hono/dist/cjs/adapter/service-worker/types.js +0 -15
  188. package/node_modules/hono/dist/cjs/adapter/vercel/conninfo.js +8 -32
  189. package/node_modules/hono/dist/cjs/adapter/vercel/handler.js +8 -27
  190. package/node_modules/hono/dist/cjs/adapter/vercel/index.js +5 -30
  191. package/node_modules/hono/dist/cjs/client/client.js +139 -212
  192. package/node_modules/hono/dist/cjs/client/fetch-result-please.js +62 -80
  193. package/node_modules/hono/dist/cjs/client/index.js +7 -32
  194. package/node_modules/hono/dist/cjs/client/types.js +0 -15
  195. package/node_modules/hono/dist/cjs/client/utils.js +54 -92
  196. package/node_modules/hono/dist/cjs/compose.js +49 -66
  197. package/node_modules/hono/dist/cjs/context.js +379 -450
  198. package/node_modules/hono/dist/cjs/helper/accepts/accepts.js +47 -72
  199. package/node_modules/hono/dist/cjs/helper/accepts/index.js +3 -27
  200. package/node_modules/hono/dist/cjs/helper/adapter/index.js +33 -73
  201. package/node_modules/hono/dist/cjs/helper/conninfo/index.js +0 -15
  202. package/node_modules/hono/dist/cjs/helper/conninfo/types.js +0 -15
  203. package/node_modules/hono/dist/cjs/helper/cookie/index.js +75 -116
  204. package/node_modules/hono/dist/cjs/helper/css/common.js +165 -244
  205. package/node_modules/hono/dist/cjs/helper/css/index.js +136 -151
  206. package/node_modules/hono/dist/cjs/helper/dev/index.js +45 -71
  207. package/node_modules/hono/dist/cjs/helper/factory/index.js +30 -51
  208. package/node_modules/hono/dist/cjs/helper/html/index.js +32 -62
  209. package/node_modules/hono/dist/cjs/helper/proxy/index.js +113 -106
  210. package/node_modules/hono/dist/cjs/helper/route/index.js +123 -66
  211. package/node_modules/hono/dist/cjs/helper/ssg/index.js +19 -43
  212. package/node_modules/hono/dist/cjs/helper/ssg/middleware.js +56 -64
  213. package/node_modules/hono/dist/cjs/helper/ssg/plugins.js +55 -57
  214. package/node_modules/hono/dist/cjs/helper/ssg/ssg.js +196 -296
  215. package/node_modules/hono/dist/cjs/helper/ssg/utils.js +47 -90
  216. package/node_modules/hono/dist/cjs/helper/streaming/index.js +8 -35
  217. package/node_modules/hono/dist/cjs/helper/streaming/sse.js +53 -85
  218. package/node_modules/hono/dist/cjs/helper/streaming/stream.js +23 -53
  219. package/node_modules/hono/dist/cjs/helper/streaming/text.js +10 -32
  220. package/node_modules/hono/dist/cjs/helper/streaming/utils.js +13 -32
  221. package/node_modules/hono/dist/cjs/helper/testing/index.js +16 -31
  222. package/node_modules/hono/dist/cjs/helper/websocket/index.js +51 -76
  223. package/node_modules/hono/dist/cjs/hono-base.js +347 -403
  224. package/node_modules/hono/dist/cjs/hono.js +28 -42
  225. package/node_modules/hono/dist/cjs/http-exception.js +55 -56
  226. package/node_modules/hono/dist/cjs/index.js +22 -30
  227. package/node_modules/hono/dist/cjs/jsx/base.js +237 -366
  228. package/node_modules/hono/dist/cjs/jsx/children.js +16 -41
  229. package/node_modules/hono/dist/cjs/jsx/components.js +119 -192
  230. package/node_modules/hono/dist/cjs/jsx/constants.js +15 -42
  231. package/node_modules/hono/dist/cjs/jsx/context.js +144 -162
  232. package/node_modules/hono/dist/cjs/jsx/dom/client.js +49 -69
  233. package/node_modules/hono/dist/cjs/jsx/dom/components.js +23 -52
  234. package/node_modules/hono/dist/cjs/jsx/dom/context.js +39 -67
  235. package/node_modules/hono/dist/cjs/jsx/dom/css.js +143 -158
  236. package/node_modules/hono/dist/cjs/jsx/dom/hooks/index.js +55 -64
  237. package/node_modules/hono/dist/cjs/jsx/dom/index.js +114 -173
  238. package/node_modules/hono/dist/cjs/jsx/dom/intrinsic-element/components.js +282 -375
  239. package/node_modules/hono/dist/cjs/jsx/dom/jsx-dev-runtime.js +14 -49
  240. package/node_modules/hono/dist/cjs/jsx/dom/jsx-runtime.js +5 -32
  241. package/node_modules/hono/dist/cjs/jsx/dom/render.js +469 -623
  242. package/node_modules/hono/dist/cjs/jsx/dom/server.js +37 -64
  243. package/node_modules/hono/dist/cjs/jsx/dom/utils.js +7 -30
  244. package/node_modules/hono/dist/cjs/jsx/hooks/index.js +225 -318
  245. package/node_modules/hono/dist/cjs/jsx/index.js +86 -135
  246. package/node_modules/hono/dist/cjs/jsx/intrinsic-element/common.js +20 -43
  247. package/node_modules/hono/dist/cjs/jsx/intrinsic-element/components.js +117 -168
  248. package/node_modules/hono/dist/cjs/jsx/intrinsic-elements.js +0 -15
  249. package/node_modules/hono/dist/cjs/jsx/jsx-dev-runtime.js +14 -39
  250. package/node_modules/hono/dist/cjs/jsx/jsx-runtime.js +34 -68
  251. package/node_modules/hono/dist/cjs/jsx/streaming.js +123 -166
  252. package/node_modules/hono/dist/cjs/jsx/types.js +0 -15
  253. package/node_modules/hono/dist/cjs/jsx/utils.js +91 -175
  254. package/node_modules/hono/dist/cjs/middleware/basic-auth/index.js +98 -86
  255. package/node_modules/hono/dist/cjs/middleware/bearer-auth/index.js +92 -109
  256. package/node_modules/hono/dist/cjs/middleware/body-limit/index.js +66 -72
  257. package/node_modules/hono/dist/cjs/middleware/cache/index.js +153 -199
  258. package/node_modules/hono/dist/cjs/middleware/combine/index.js +135 -95
  259. package/node_modules/hono/dist/cjs/middleware/compress/index.js +73 -88
  260. package/node_modules/hono/dist/cjs/middleware/context-storage/index.js +49 -41
  261. package/node_modules/hono/dist/cjs/middleware/cors/index.js +107 -107
  262. package/node_modules/hono/dist/cjs/middleware/csrf/index.js +101 -72
  263. package/node_modules/hono/dist/cjs/middleware/etag/digest.js +58 -97
  264. package/node_modules/hono/dist/cjs/middleware/etag/index.js +71 -91
  265. package/node_modules/hono/dist/cjs/middleware/ip-restriction/index.js +161 -169
  266. package/node_modules/hono/dist/cjs/middleware/jsx-renderer/index.js +99 -77
  267. package/node_modules/hono/dist/cjs/middleware/jwk/index.js +3 -27
  268. package/node_modules/hono/dist/cjs/middleware/jwk/jwk.js +118 -135
  269. package/node_modules/hono/dist/cjs/middleware/jwt/index.js +9 -38
  270. package/node_modules/hono/dist/cjs/middleware/jwt/jwt.js +120 -141
  271. package/node_modules/hono/dist/cjs/middleware/language/index.js +7 -35
  272. package/node_modules/hono/dist/cjs/middleware/language/language.js +184 -182
  273. package/node_modules/hono/dist/cjs/middleware/logger/index.js +41 -62
  274. package/node_modules/hono/dist/cjs/middleware/method-not-allowed/index.js +82 -88
  275. package/node_modules/hono/dist/cjs/middleware/method-override/index.js +101 -102
  276. package/node_modules/hono/dist/cjs/middleware/mount/index.js +71 -0
  277. package/node_modules/hono/dist/cjs/middleware/powered-by/index.js +23 -30
  278. package/node_modules/hono/dist/cjs/middleware/pretty-json/index.js +38 -42
  279. package/node_modules/hono/dist/cjs/middleware/request-id/index.js +3 -27
  280. package/node_modules/hono/dist/cjs/middleware/request-id/request-id.js +34 -42
  281. package/node_modules/hono/dist/cjs/middleware/secure-headers/index.js +4 -29
  282. package/node_modules/hono/dist/cjs/middleware/secure-headers/permissions-policy.js +0 -15
  283. package/node_modules/hono/dist/cjs/middleware/secure-headers/secure-headers.js +142 -174
  284. package/node_modules/hono/dist/cjs/middleware/serve-static/index.js +56 -93
  285. package/node_modules/hono/dist/cjs/middleware/serve-static/path.js +15 -38
  286. package/node_modules/hono/dist/cjs/middleware/timeout/index.js +40 -45
  287. package/node_modules/hono/dist/cjs/middleware/timing/index.js +7 -35
  288. package/node_modules/hono/dist/cjs/middleware/timing/timing.js +177 -118
  289. package/node_modules/hono/dist/cjs/middleware/trailing-slash/index.js +85 -58
  290. package/node_modules/hono/dist/cjs/preset/quick.js +18 -37
  291. package/node_modules/hono/dist/cjs/preset/tiny.js +15 -33
  292. package/node_modules/hono/dist/cjs/request/constants.js +5 -27
  293. package/node_modules/hono/dist/cjs/request.js +334 -346
  294. package/node_modules/hono/dist/cjs/router/linear-router/index.js +3 -27
  295. package/node_modules/hono/dist/cjs/router/linear-router/router.js +95 -143
  296. package/node_modules/hono/dist/cjs/router/pattern-router/index.js +3 -27
  297. package/node_modules/hono/dist/cjs/router/pattern-router/router.js +41 -63
  298. package/node_modules/hono/dist/cjs/router/reg-exp-router/index.js +7 -34
  299. package/node_modules/hono/dist/cjs/router/reg-exp-router/matcher.js +18 -45
  300. package/node_modules/hono/dist/cjs/router/reg-exp-router/node.js +91 -135
  301. package/node_modules/hono/dist/cjs/router/reg-exp-router/prepared-router.js +92 -161
  302. package/node_modules/hono/dist/cjs/router/reg-exp-router/router.js +98 -147
  303. package/node_modules/hono/dist/cjs/router/reg-exp-router/trie.js +73 -89
  304. package/node_modules/hono/dist/cjs/router/smart-router/index.js +3 -27
  305. package/node_modules/hono/dist/cjs/router/smart-router/router.js +49 -79
  306. package/node_modules/hono/dist/cjs/router/trie-router/index.js +3 -27
  307. package/node_modules/hono/dist/cjs/router/trie-router/node.js +134 -186
  308. package/node_modules/hono/dist/cjs/router/trie-router/router.js +15 -39
  309. package/node_modules/hono/dist/cjs/router/utils.js +5 -27
  310. package/node_modules/hono/dist/cjs/router.js +37 -37
  311. package/node_modules/hono/dist/cjs/types.js +5 -28
  312. package/node_modules/hono/dist/cjs/utils/accept.js +177 -225
  313. package/node_modules/hono/dist/cjs/utils/basic-auth.js +16 -40
  314. package/node_modules/hono/dist/cjs/utils/body.js +84 -110
  315. package/node_modules/hono/dist/cjs/utils/buffer.js +43 -91
  316. package/node_modules/hono/dist/cjs/utils/color.js +35 -44
  317. package/node_modules/hono/dist/cjs/utils/compress.js +11 -26
  318. package/node_modules/hono/dist/cjs/utils/concurrent.js +29 -59
  319. package/node_modules/hono/dist/cjs/utils/constants.js +7 -26
  320. package/node_modules/hono/dist/cjs/utils/cookie.js +107 -177
  321. package/node_modules/hono/dist/cjs/utils/crypto.js +30 -61
  322. package/node_modules/hono/dist/cjs/utils/encode.js +31 -48
  323. package/node_modules/hono/dist/cjs/utils/filepath.js +23 -54
  324. package/node_modules/hono/dist/cjs/utils/handler.js +11 -33
  325. package/node_modules/hono/dist/cjs/utils/headers.js +0 -15
  326. package/node_modules/hono/dist/cjs/utils/html.js +96 -137
  327. package/node_modules/hono/dist/cjs/utils/http-status.js +0 -15
  328. package/node_modules/hono/dist/cjs/utils/ipaddr.js +213 -286
  329. package/node_modules/hono/dist/cjs/utils/jwt/index.js +14 -27
  330. package/node_modules/hono/dist/cjs/utils/jwt/jwa.js +25 -42
  331. package/node_modules/hono/dist/cjs/utils/jwt/jws.js +119 -199
  332. package/node_modules/hono/dist/cjs/utils/jwt/jwt.js +122 -206
  333. package/node_modules/hono/dist/cjs/utils/jwt/types.js +122 -159
  334. package/node_modules/hono/dist/cjs/utils/jwt/utf8.js +9 -28
  335. package/node_modules/hono/dist/cjs/utils/mime.js +75 -101
  336. package/node_modules/hono/dist/cjs/utils/stream.js +88 -111
  337. package/node_modules/hono/dist/cjs/utils/types.js +0 -15
  338. package/node_modules/hono/dist/cjs/utils/url.js +185 -234
  339. package/node_modules/hono/dist/cjs/validator/index.js +3 -27
  340. package/node_modules/hono/dist/cjs/validator/utils.js +0 -15
  341. package/node_modules/hono/dist/cjs/validator/validator.js +60 -103
  342. package/node_modules/hono/dist/client/client.js +138 -197
  343. package/node_modules/hono/dist/client/fetch-result-please.js +59 -56
  344. package/node_modules/hono/dist/client/index.js +3 -7
  345. package/node_modules/hono/dist/client/types.js +1 -0
  346. package/node_modules/hono/dist/client/utils.js +51 -68
  347. package/node_modules/hono/dist/compose.js +49 -45
  348. package/node_modules/hono/dist/context.js +376 -426
  349. package/node_modules/hono/dist/helper/accepts/accepts.js +47 -51
  350. package/node_modules/hono/dist/helper/accepts/index.js +1 -4
  351. package/node_modules/hono/dist/helper/adapter/index.js +33 -52
  352. package/node_modules/hono/dist/helper/conninfo/index.js +1 -0
  353. package/node_modules/hono/dist/helper/conninfo/types.js +1 -0
  354. package/node_modules/hono/dist/helper/cookie/index.js +74 -94
  355. package/node_modules/hono/dist/helper/css/common.js +167 -225
  356. package/node_modules/hono/dist/helper/css/index.js +132 -137
  357. package/node_modules/hono/dist/helper/dev/index.js +44 -49
  358. package/node_modules/hono/dist/helper/factory/index.js +27 -27
  359. package/node_modules/hono/dist/helper/html/index.js +30 -39
  360. package/node_modules/hono/dist/helper/proxy/index.js +116 -88
  361. package/node_modules/hono/dist/helper/route/index.js +121 -43
  362. package/node_modules/hono/dist/helper/ssg/index.js +3 -18
  363. package/node_modules/hono/dist/helper/ssg/middleware.js +53 -40
  364. package/node_modules/hono/dist/helper/ssg/plugins.js +55 -36
  365. package/node_modules/hono/dist/helper/ssg/ssg.js +198 -283
  366. package/node_modules/hono/dist/helper/ssg/utils.js +53 -75
  367. package/node_modules/hono/dist/helper/streaming/index.js +2 -8
  368. package/node_modules/hono/dist/helper/streaming/sse.js +50 -61
  369. package/node_modules/hono/dist/helper/streaming/stream.js +22 -31
  370. package/node_modules/hono/dist/helper/streaming/text.js +9 -10
  371. package/node_modules/hono/dist/helper/streaming/utils.js +9 -12
  372. package/node_modules/hono/dist/helper/testing/index.js +16 -10
  373. package/node_modules/hono/dist/helper/websocket/index.js +49 -53
  374. package/node_modules/hono/dist/hono-base.js +344 -379
  375. package/node_modules/hono/dist/hono.js +27 -20
  376. package/node_modules/hono/dist/http-exception.js +53 -33
  377. package/node_modules/hono/dist/index.js +19 -6
  378. package/node_modules/hono/dist/jsx/base.js +231 -340
  379. package/node_modules/hono/dist/jsx/children.js +16 -20
  380. package/node_modules/hono/dist/jsx/components.js +118 -170
  381. package/node_modules/hono/dist/jsx/constants.js +9 -15
  382. package/node_modules/hono/dist/jsx/context.js +153 -150
  383. package/node_modules/hono/dist/jsx/dom/client.js +45 -48
  384. package/node_modules/hono/dist/jsx/dom/components.js +21 -29
  385. package/node_modules/hono/dist/jsx/dom/context.js +37 -44
  386. package/node_modules/hono/dist/jsx/dom/css.js +142 -147
  387. package/node_modules/hono/dist/jsx/dom/hooks/index.js +52 -40
  388. package/node_modules/hono/dist/jsx/dom/index.js +71 -134
  389. package/node_modules/hono/dist/jsx/dom/intrinsic-element/components.js +275 -359
  390. package/node_modules/hono/dist/jsx/dom/jsx-dev-runtime.js +14 -18
  391. package/node_modules/hono/dist/jsx/dom/jsx-runtime.js +2 -8
  392. package/node_modules/hono/dist/jsx/dom/render.js +492 -631
  393. package/node_modules/hono/dist/jsx/dom/server.js +32 -32
  394. package/node_modules/hono/dist/jsx/dom/utils.js +6 -8
  395. package/node_modules/hono/dist/jsx/hooks/index.js +236 -308
  396. package/node_modules/hono/dist/jsx/index.js +45 -98
  397. package/node_modules/hono/dist/jsx/intrinsic-element/common.js +20 -22
  398. package/node_modules/hono/dist/jsx/intrinsic-element/components.js +113 -154
  399. package/node_modules/hono/dist/jsx/intrinsic-elements.js +1 -0
  400. package/node_modules/hono/dist/jsx/jsx-dev-runtime.js +12 -16
  401. package/node_modules/hono/dist/jsx/jsx-runtime.js +29 -42
  402. package/node_modules/hono/dist/jsx/streaming.js +120 -142
  403. package/node_modules/hono/dist/jsx/types.js +1 -0
  404. package/node_modules/hono/dist/jsx/utils.js +105 -168
  405. package/node_modules/hono/dist/middleware/basic-auth/index.js +96 -63
  406. package/node_modules/hono/dist/middleware/bearer-auth/index.js +93 -89
  407. package/node_modules/hono/dist/middleware/body-limit/index.js +66 -51
  408. package/node_modules/hono/dist/middleware/cache/index.js +165 -190
  409. package/node_modules/hono/dist/middleware/combine/index.js +134 -73
  410. package/node_modules/hono/dist/middleware/compress/index.js +75 -69
  411. package/node_modules/hono/dist/middleware/context-storage/index.js +49 -19
  412. package/node_modules/hono/dist/middleware/cors/index.js +107 -86
  413. package/node_modules/hono/dist/middleware/csrf/index.js +103 -53
  414. package/node_modules/hono/dist/middleware/etag/digest.js +59 -77
  415. package/node_modules/hono/dist/middleware/etag/index.js +71 -70
  416. package/node_modules/hono/dist/middleware/ip-restriction/index.js +163 -158
  417. package/node_modules/hono/dist/middleware/jsx-renderer/index.js +97 -54
  418. package/node_modules/hono/dist/middleware/jwk/index.js +1 -4
  419. package/node_modules/hono/dist/middleware/jwk/jwk.js +116 -112
  420. package/node_modules/hono/dist/middleware/jwt/index.js +2 -10
  421. package/node_modules/hono/dist/middleware/jwt/jwt.js +114 -114
  422. package/node_modules/hono/dist/middleware/language/index.js +2 -15
  423. package/node_modules/hono/dist/middleware/language/language.js +180 -157
  424. package/node_modules/hono/dist/middleware/logger/index.js +43 -37
  425. package/node_modules/hono/dist/middleware/method-not-allowed/index.js +81 -66
  426. package/node_modules/hono/dist/middleware/method-override/index.js +101 -81
  427. package/node_modules/hono/dist/middleware/mount/index.js +70 -0
  428. package/node_modules/hono/dist/middleware/powered-by/index.js +23 -9
  429. package/node_modules/hono/dist/middleware/pretty-json/index.js +39 -22
  430. package/node_modules/hono/dist/middleware/request-id/index.js +1 -4
  431. package/node_modules/hono/dist/middleware/request-id/request-id.js +33 -20
  432. package/node_modules/hono/dist/middleware/secure-headers/index.js +1 -5
  433. package/node_modules/hono/dist/middleware/secure-headers/permissions-policy.js +1 -0
  434. package/node_modules/hono/dist/middleware/secure-headers/secure-headers.js +144 -155
  435. package/node_modules/hono/dist/middleware/serve-static/index.js +56 -72
  436. package/node_modules/hono/dist/middleware/serve-static/path.js +15 -17
  437. package/node_modules/hono/dist/middleware/timeout/index.js +40 -23
  438. package/node_modules/hono/dist/middleware/timing/index.js +2 -9
  439. package/node_modules/hono/dist/middleware/timing/timing.js +177 -97
  440. package/node_modules/hono/dist/middleware/trailing-slash/index.js +85 -37
  441. package/node_modules/hono/dist/preset/quick.js +17 -15
  442. package/node_modules/hono/dist/preset/tiny.js +14 -11
  443. package/node_modules/hono/dist/request/constants.js +4 -5
  444. package/node_modules/hono/dist/request.js +328 -319
  445. package/node_modules/hono/dist/router/linear-router/index.js +1 -4
  446. package/node_modules/hono/dist/router/linear-router/router.js +93 -120
  447. package/node_modules/hono/dist/router/pattern-router/index.js +1 -4
  448. package/node_modules/hono/dist/router/pattern-router/router.js +39 -40
  449. package/node_modules/hono/dist/router/reg-exp-router/index.js +1 -7
  450. package/node_modules/hono/dist/router/reg-exp-router/matcher.js +17 -23
  451. package/node_modules/hono/dist/router/reg-exp-router/node.js +87 -110
  452. package/node_modules/hono/dist/router/reg-exp-router/prepared-router.js +89 -137
  453. package/node_modules/hono/dist/router/reg-exp-router/router.js +92 -129
  454. package/node_modules/hono/dist/router/reg-exp-router/trie.js +69 -64
  455. package/node_modules/hono/dist/router/smart-router/index.js +1 -4
  456. package/node_modules/hono/dist/router/smart-router/router.js +46 -55
  457. package/node_modules/hono/dist/router/trie-router/index.js +1 -4
  458. package/node_modules/hono/dist/router/trie-router/node.js +131 -162
  459. package/node_modules/hono/dist/router/trie-router/router.js +11 -14
  460. package/node_modules/hono/dist/router/utils.js +4 -5
  461. package/node_modules/hono/dist/router.js +35 -14
  462. package/node_modules/hono/dist/types/adapter/aws-lambda/conninfo.d.ts +4 -1
  463. package/node_modules/hono/dist/types/adapter/aws-lambda/handler.d.ts +150 -104
  464. package/node_modules/hono/dist/types/adapter/aws-lambda/index.d.ts +4 -8
  465. package/node_modules/hono/dist/types/adapter/aws-lambda/types.d.ts +152 -122
  466. package/node_modules/hono/dist/types/adapter/bun/conninfo.d.ts +4 -1
  467. package/node_modules/hono/dist/types/adapter/bun/index.d.ts +6 -10
  468. package/node_modules/hono/dist/types/adapter/bun/serve-static.d.ts +7 -2
  469. package/node_modules/hono/dist/types/adapter/bun/server.d.ts +4 -5
  470. package/node_modules/hono/dist/types/adapter/bun/ssg.d.ts +5 -1
  471. package/node_modules/hono/dist/types/adapter/bun/websocket.d.ts +31 -16
  472. package/node_modules/hono/dist/types/adapter/cloudflare-pages/conninfo.d.ts +4 -1
  473. package/node_modules/hono/dist/types/adapter/cloudflare-pages/handler.d.ts +29 -17
  474. package/node_modules/hono/dist/types/adapter/cloudflare-pages/index.d.ts +3 -7
  475. package/node_modules/hono/dist/types/adapter/cloudflare-workers/conninfo.d.ts +6 -1
  476. package/node_modules/hono/dist/types/adapter/cloudflare-workers/index.d.ts +4 -7
  477. package/node_modules/hono/dist/types/adapter/cloudflare-workers/serve-static-module.d.ts +5 -2
  478. package/node_modules/hono/dist/types/adapter/cloudflare-workers/serve-static.d.ts +10 -5
  479. package/node_modules/hono/dist/types/adapter/cloudflare-workers/utils.d.ts +10 -2
  480. package/node_modules/hono/dist/types/adapter/cloudflare-workers/websocket.d.ts +6 -1
  481. package/node_modules/hono/dist/types/adapter/deno/conninfo.d.ts +4 -1
  482. package/node_modules/hono/dist/types/adapter/deno/deno.d.ts +1 -0
  483. package/node_modules/hono/dist/types/adapter/deno/index.d.ts +5 -8
  484. package/node_modules/hono/dist/types/adapter/deno/serve-static.d.ts +7 -2
  485. package/node_modules/hono/dist/types/adapter/deno/ssg.d.ts +5 -1
  486. package/node_modules/hono/dist/types/adapter/deno/websocket.d.ts +6 -1
  487. package/node_modules/hono/dist/types/adapter/lambda-edge/conninfo.d.ts +6 -1
  488. package/node_modules/hono/dist/types/adapter/lambda-edge/handler.d.ts +83 -57
  489. package/node_modules/hono/dist/types/adapter/lambda-edge/index.d.ts +3 -7
  490. package/node_modules/hono/dist/types/adapter/netlify/conninfo.d.ts +4 -1
  491. package/node_modules/hono/dist/types/adapter/netlify/handler.d.ts +6 -1
  492. package/node_modules/hono/dist/types/adapter/netlify/index.d.ts +3 -5
  493. package/node_modules/hono/dist/types/adapter/netlify/mod.d.ts +3 -2
  494. package/node_modules/hono/dist/types/adapter/service-worker/handler.d.ts +9 -7
  495. package/node_modules/hono/dist/types/adapter/service-worker/index.d.ts +7 -9
  496. package/node_modules/hono/dist/types/adapter/service-worker/types.d.ts +12 -7
  497. package/node_modules/hono/dist/types/adapter/vercel/conninfo.d.ts +6 -1
  498. package/node_modules/hono/dist/types/adapter/vercel/handler.d.ts +6 -1
  499. package/node_modules/hono/dist/types/adapter/vercel/index.d.ts +3 -6
  500. package/node_modules/hono/dist/types/client/client.d.ts +5 -3
  501. package/node_modules/hono/dist/types/client/fetch-result-please.d.ts +21 -19
  502. package/node_modules/hono/dist/types/client/index.d.ts +5 -7
  503. package/node_modules/hono/dist/types/client/types.d.ts +134 -159
  504. package/node_modules/hono/dist/types/client/utils.d.ts +6 -4
  505. package/node_modules/hono/dist/types/compose.d.ts +4 -2
  506. package/node_modules/hono/dist/types/context.d.ts +335 -335
  507. package/node_modules/hono/dist/types/helper/accepts/accepts.d.ts +11 -9
  508. package/node_modules/hono/dist/types/helper/accepts/index.d.ts +2 -5
  509. package/node_modules/hono/dist/types/helper/adapter/index.d.ts +4 -6
  510. package/node_modules/hono/dist/types/helper/conninfo/index.d.ts +2 -5
  511. package/node_modules/hono/dist/types/helper/conninfo/types.d.ts +25 -23
  512. package/node_modules/hono/dist/types/helper/cookie/index.d.ts +10 -12
  513. package/node_modules/hono/dist/types/helper/css/common.d.ts +11 -9
  514. package/node_modules/hono/dist/types/helper/css/index.d.ts +26 -28
  515. package/node_modules/hono/dist/types/helper/dev/index.d.ts +10 -12
  516. package/node_modules/hono/dist/types/helper/factory/index.d.ts +26 -73
  517. package/node_modules/hono/dist/types/helper/html/index.d.ts +4 -7
  518. package/node_modules/hono/dist/types/helper/proxy/index.d.ts +19 -21
  519. package/node_modules/hono/dist/types/helper/route/index.d.ts +4 -2
  520. package/node_modules/hono/dist/types/helper/ssg/index.d.ts +4 -7
  521. package/node_modules/hono/dist/types/helper/ssg/middleware.d.ts +8 -6
  522. package/node_modules/hono/dist/types/helper/ssg/plugins.d.ts +3 -1
  523. package/node_modules/hono/dist/types/helper/ssg/ssg.d.ts +38 -36
  524. package/node_modules/hono/dist/types/helper/ssg/utils.d.ts +5 -3
  525. package/node_modules/hono/dist/types/helper/streaming/index.d.ts +4 -8
  526. package/node_modules/hono/dist/types/helper/streaming/sse.d.ts +10 -8
  527. package/node_modules/hono/dist/types/helper/streaming/stream.d.ts +4 -2
  528. package/node_modules/hono/dist/types/helper/streaming/text.d.ts +4 -2
  529. package/node_modules/hono/dist/types/helper/streaming/utils.d.ts +2 -0
  530. package/node_modules/hono/dist/types/helper/testing/index.d.ts +7 -9
  531. package/node_modules/hono/dist/types/helper/websocket/index.d.ts +30 -33
  532. package/node_modules/hono/dist/types/hono-base.d.ts +210 -210
  533. package/node_modules/hono/dist/types/hono.d.ts +11 -10
  534. package/node_modules/hono/dist/types/http-exception.d.ts +20 -22
  535. package/node_modules/hono/dist/types/index.d.ts +6 -37
  536. package/node_modules/hono/dist/types/jsx/base.d.ts +37 -35
  537. package/node_modules/hono/dist/types/jsx/children.d.ts +8 -6
  538. package/node_modules/hono/dist/types/jsx/components.d.ts +8 -5
  539. package/node_modules/hono/dist/types/jsx/constants.d.ts +2 -0
  540. package/node_modules/hono/dist/types/jsx/context.d.ts +9 -6
  541. package/node_modules/hono/dist/types/jsx/dom/client.d.ts +9 -10
  542. package/node_modules/hono/dist/types/jsx/dom/components.d.ts +9 -6
  543. package/node_modules/hono/dist/types/jsx/dom/context.d.ts +3 -1
  544. package/node_modules/hono/dist/types/jsx/dom/css.d.ts +27 -30
  545. package/node_modules/hono/dist/types/jsx/dom/hooks/index.d.ts +11 -12
  546. package/node_modules/hono/dist/types/jsx/dom/index.d.ts +79 -83
  547. package/node_modules/hono/dist/types/jsx/dom/intrinsic-element/components.d.ts +9 -5
  548. package/node_modules/hono/dist/types/jsx/dom/jsx-dev-runtime.d.ts +4 -6
  549. package/node_modules/hono/dist/types/jsx/dom/jsx-runtime.d.ts +3 -7
  550. package/node_modules/hono/dist/types/jsx/dom/render.d.ts +32 -50
  551. package/node_modules/hono/dist/types/jsx/dom/server.d.ts +87 -85
  552. package/node_modules/hono/dist/types/jsx/dom/utils.d.ts +2 -0
  553. package/node_modules/hono/dist/types/jsx/hooks/index.d.ts +16 -16
  554. package/node_modules/hono/dist/types/jsx/index.d.ts +71 -73
  555. package/node_modules/hono/dist/types/jsx/intrinsic-element/common.d.ts +3 -1
  556. package/node_modules/hono/dist/types/jsx/intrinsic-element/components.d.ts +7 -4
  557. package/node_modules/hono/dist/types/jsx/intrinsic-elements.d.ts +708 -708
  558. package/node_modules/hono/dist/types/jsx/jsx-dev-runtime.d.ts +4 -7
  559. package/node_modules/hono/dist/types/jsx/jsx-runtime.d.ts +7 -10
  560. package/node_modules/hono/dist/types/jsx/streaming.d.ts +9 -10
  561. package/node_modules/hono/dist/types/jsx/types.d.ts +12 -13
  562. package/node_modules/hono/dist/types/jsx/utils.d.ts +2 -0
  563. package/node_modules/hono/dist/types/middleware/basic-auth/index.d.ts +17 -19
  564. package/node_modules/hono/dist/types/middleware/bearer-auth/index.d.ts +46 -48
  565. package/node_modules/hono/dist/types/middleware/body-limit/index.d.ts +6 -8
  566. package/node_modules/hono/dist/types/middleware/cache/index.d.ts +13 -15
  567. package/node_modules/hono/dist/types/middleware/combine/index.d.ts +4 -6
  568. package/node_modules/hono/dist/types/middleware/compress/index.d.ts +9 -10
  569. package/node_modules/hono/dist/types/middleware/context-storage/index.d.ts +4 -6
  570. package/node_modules/hono/dist/types/middleware/cors/index.d.ts +10 -12
  571. package/node_modules/hono/dist/types/middleware/csrf/index.d.ts +6 -8
  572. package/node_modules/hono/dist/types/middleware/etag/digest.d.ts +2 -0
  573. package/node_modules/hono/dist/types/middleware/etag/index.d.ts +6 -8
  574. package/node_modules/hono/dist/types/middleware/ip-restriction/index.d.ts +11 -12
  575. package/node_modules/hono/dist/types/middleware/jsx-renderer/index.d.ts +11 -11
  576. package/node_modules/hono/dist/types/middleware/jwk/index.d.ts +2 -1
  577. package/node_modules/hono/dist/types/middleware/jwk/jwk.d.ts +20 -23
  578. package/node_modules/hono/dist/types/middleware/jwt/index.d.ts +7 -6
  579. package/node_modules/hono/dist/types/middleware/jwt/jwt.d.ts +28 -30
  580. package/node_modules/hono/dist/types/middleware/language/index.d.ts +6 -5
  581. package/node_modules/hono/dist/types/middleware/language/language.d.ts +42 -44
  582. package/node_modules/hono/dist/types/middleware/logger/index.d.ts +3 -5
  583. package/node_modules/hono/dist/types/middleware/method-not-allowed/index.d.ts +7 -9
  584. package/node_modules/hono/dist/types/middleware/method-override/index.d.ts +14 -16
  585. package/node_modules/hono/dist/types/middleware/mount/index.d.ts +46 -0
  586. package/node_modules/hono/dist/types/middleware/powered-by/index.d.ts +8 -10
  587. package/node_modules/hono/dist/types/middleware/pretty-json/index.d.ts +18 -20
  588. package/node_modules/hono/dist/types/middleware/request-id/index.d.ts +6 -5
  589. package/node_modules/hono/dist/types/middleware/request-id/request-id.d.ts +9 -11
  590. package/node_modules/hono/dist/types/middleware/secure-headers/index.d.ts +6 -6
  591. package/node_modules/hono/dist/types/middleware/secure-headers/permissions-policy.d.ts +2 -0
  592. package/node_modules/hono/dist/types/middleware/secure-headers/secure-headers.d.ts +55 -57
  593. package/node_modules/hono/dist/types/middleware/serve-static/index.d.ts +24 -24
  594. package/node_modules/hono/dist/types/middleware/serve-static/path.d.ts +2 -0
  595. package/node_modules/hono/dist/types/middleware/timeout/index.d.ts +5 -7
  596. package/node_modules/hono/dist/types/middleware/timing/index.d.ts +6 -5
  597. package/node_modules/hono/dist/types/middleware/timing/timing.d.ts +17 -20
  598. package/node_modules/hono/dist/types/middleware/trailing-slash/index.d.ts +35 -37
  599. package/node_modules/hono/dist/types/preset/quick.d.ts +6 -9
  600. package/node_modules/hono/dist/types/preset/tiny.d.ts +6 -9
  601. package/node_modules/hono/dist/types/request/constants.d.ts +2 -0
  602. package/node_modules/hono/dist/types/request.d.ts +288 -286
  603. package/node_modules/hono/dist/types/router/linear-router/index.d.ts +2 -5
  604. package/node_modules/hono/dist/types/router/linear-router/router.d.ts +7 -5
  605. package/node_modules/hono/dist/types/router/pattern-router/index.d.ts +2 -5
  606. package/node_modules/hono/dist/types/router/pattern-router/router.d.ts +7 -5
  607. package/node_modules/hono/dist/types/router/reg-exp-router/index.d.ts +3 -6
  608. package/node_modules/hono/dist/types/router/reg-exp-router/matcher.d.ts +3 -1
  609. package/node_modules/hono/dist/types/router/reg-exp-router/node.d.ts +6 -4
  610. package/node_modules/hono/dist/types/router/reg-exp-router/prepared-router.d.ts +11 -10
  611. package/node_modules/hono/dist/types/router/reg-exp-router/router.d.ts +10 -9
  612. package/node_modules/hono/dist/types/router/reg-exp-router/trie.d.ts +7 -5
  613. package/node_modules/hono/dist/types/router/smart-router/index.d.ts +2 -5
  614. package/node_modules/hono/dist/types/router/smart-router/router.d.ts +11 -9
  615. package/node_modules/hono/dist/types/router/trie-router/index.d.ts +2 -5
  616. package/node_modules/hono/dist/types/router/trie-router/node.d.ts +6 -4
  617. package/node_modules/hono/dist/types/router/trie-router/router.d.ts +7 -5
  618. package/node_modules/hono/dist/types/router/utils.d.ts +2 -0
  619. package/node_modules/hono/dist/types/router.d.ts +23 -22
  620. package/node_modules/hono/dist/types/types.d.ts +146 -505
  621. package/node_modules/hono/dist/types/utils/accept.d.ts +5 -3
  622. package/node_modules/hono/dist/types/utils/basic-auth.d.ts +4 -2
  623. package/node_modules/hono/dist/types/utils/body.d.ts +46 -50
  624. package/node_modules/hono/dist/types/utils/buffer.d.ts +7 -5
  625. package/node_modules/hono/dist/types/utils/color.d.ts +2 -0
  626. package/node_modules/hono/dist/types/utils/compress.d.ts +2 -0
  627. package/node_modules/hono/dist/types/utils/concurrent.d.ts +6 -4
  628. package/node_modules/hono/dist/types/utils/constants.d.ts +2 -0
  629. package/node_modules/hono/dist/types/utils/cookie.d.ts +20 -18
  630. package/node_modules/hono/dist/types/utils/crypto.d.ts +5 -7
  631. package/node_modules/hono/dist/types/utils/encode.d.ts +2 -0
  632. package/node_modules/hono/dist/types/utils/filepath.d.ts +5 -3
  633. package/node_modules/hono/dist/types/utils/handler.d.ts +2 -0
  634. package/node_modules/hono/dist/types/utils/headers.d.ts +2 -0
  635. package/node_modules/hono/dist/types/utils/html.d.ts +11 -9
  636. package/node_modules/hono/dist/types/utils/http-status.d.ts +2 -0
  637. package/node_modules/hono/dist/types/utils/ipaddr.d.ts +4 -6
  638. package/node_modules/hono/dist/types/utils/jwt/index.d.ts +18 -12
  639. package/node_modules/hono/dist/types/utils/jwt/jwa.d.ts +15 -13
  640. package/node_modules/hono/dist/types/utils/jwt/jws.d.ts +4 -7
  641. package/node_modules/hono/dist/types/utils/jwt/jwt.d.ts +26 -29
  642. package/node_modules/hono/dist/types/utils/jwt/types.d.ts +48 -45
  643. package/node_modules/hono/dist/types/utils/jwt/utf8.d.ts +2 -0
  644. package/node_modules/hono/dist/types/utils/mime.d.ts +60 -57
  645. package/node_modules/hono/dist/types/utils/stream.d.ts +27 -25
  646. package/node_modules/hono/dist/types/utils/types.d.ts +14 -26
  647. package/node_modules/hono/dist/types/utils/url.d.ts +2 -0
  648. package/node_modules/hono/dist/types/validator/index.d.ts +3 -7
  649. package/node_modules/hono/dist/types/validator/utils.d.ts +6 -8
  650. package/node_modules/hono/dist/types/validator/validator.d.ts +11 -9
  651. package/node_modules/hono/dist/types.js +4 -6
  652. package/node_modules/hono/dist/utils/accept.js +185 -212
  653. package/node_modules/hono/dist/utils/basic-auth.js +18 -21
  654. package/node_modules/hono/dist/utils/body.js +87 -92
  655. package/node_modules/hono/dist/utils/buffer.js +44 -71
  656. package/node_modules/hono/dist/utils/color.js +33 -21
  657. package/node_modules/hono/dist/utils/compress.js +11 -5
  658. package/node_modules/hono/dist/utils/concurrent.js +29 -38
  659. package/node_modules/hono/dist/utils/constants.js +7 -5
  660. package/node_modules/hono/dist/utils/cookie.js +114 -163
  661. package/node_modules/hono/dist/utils/crypto.js +30 -40
  662. package/node_modules/hono/dist/utils/encode.js +30 -26
  663. package/node_modules/hono/dist/utils/filepath.js +23 -33
  664. package/node_modules/hono/dist/utils/handler.js +10 -11
  665. package/node_modules/hono/dist/utils/headers.js +1 -0
  666. package/node_modules/hono/dist/utils/html.js +97 -117
  667. package/node_modules/hono/dist/utils/http-status.js +1 -0
  668. package/node_modules/hono/dist/utils/ipaddr.js +227 -279
  669. package/node_modules/hono/dist/utils/jwt/index.js +12 -4
  670. package/node_modules/hono/dist/utils/jwt/jwa.js +24 -20
  671. package/node_modules/hono/dist/utils/jwt/jws.js +115 -174
  672. package/node_modules/hono/dist/utils/jwt/jwt.js +120 -198
  673. package/node_modules/hono/dist/utils/jwt/types.js +79 -95
  674. package/node_modules/hono/dist/utils/jwt/utf8.js +9 -7
  675. package/node_modules/hono/dist/utils/mime.js +74 -79
  676. package/node_modules/hono/dist/utils/stream.js +86 -88
  677. package/node_modules/hono/dist/utils/types.js +1 -0
  678. package/node_modules/hono/dist/utils/url.js +187 -215
  679. package/node_modules/hono/dist/validator/index.js +1 -4
  680. package/node_modules/hono/dist/validator/utils.js +1 -0
  681. package/node_modules/hono/dist/validator/validator.js +61 -83
  682. package/node_modules/hono/package.json +35 -27
  683. package/package.json +20 -18
  684. package/scripts/lib/cursor-sdk-output-filter.d.mts +1 -0
  685. package/scripts/lib/cursor-sdk-output-filter.mjs +1 -0
  686. package/scripts/platform-smoke/artifacts.mjs +7 -1
  687. package/shared/cursor-sdk-output-filter.d.mts +3 -0
  688. package/shared/cursor-sdk-output-filter.mjs +117 -44
  689. package/src/context.ts +59 -35
  690. package/src/cursor-api-key.ts +37 -17
  691. package/src/cursor-cloud-options.ts +2 -0
  692. package/src/cursor-config.ts +76 -0
  693. package/src/cursor-custom-store-path.ts +151 -0
  694. package/src/cursor-custom-subagent-definitions.ts +21 -0
  695. package/src/cursor-fallback-models.generated.ts +402 -1
  696. package/src/cursor-fallback-warning.ts +7 -3
  697. package/src/cursor-live-run-coordinator.ts +21 -2
  698. package/src/cursor-local-agent-ownership.ts +18 -0
  699. package/src/cursor-mcp-timeout-override.ts +3 -1
  700. package/src/cursor-pi-tool-bridge-diagnostics.ts +17 -0
  701. package/src/cursor-pi-tool-bridge-run.ts +31 -3
  702. package/src/cursor-pi-tool-bridge-server.ts +1 -2
  703. package/src/cursor-pi-tool-bridge-types.ts +3 -0
  704. package/src/cursor-provider-binding.ts +70 -11
  705. package/src/cursor-provider-errors.ts +32 -28
  706. package/src/cursor-provider-live-run-drain.ts +9 -4
  707. package/src/cursor-provider-run-finalizer.ts +2 -1
  708. package/src/cursor-provider-turn-prepare.ts +28 -13
  709. package/src/cursor-provider-turn-summary.ts +1 -1
  710. package/src/cursor-provider-turn-tool-ledger.ts +12 -7
  711. package/src/cursor-provider.ts +3 -1
  712. package/src/cursor-question-tool.ts +5 -5
  713. package/src/cursor-request-provenance.ts +18 -3
  714. package/src/cursor-sdk-output-filter.ts +2 -0
  715. package/src/cursor-sdk-process-error-guard.ts +1 -2
  716. package/src/cursor-sdk-runtime.ts +14 -15
  717. package/src/cursor-sdk-vendor-env.ts +22 -0
  718. package/src/cursor-session-agent-cleanup.ts +33 -27
  719. package/src/cursor-session-agent-lifecycle.ts +2 -2
  720. package/src/cursor-session-agent-lineage.ts +10 -5
  721. package/src/cursor-session-agent-resume.ts +14 -7
  722. package/src/cursor-session-agent.ts +67 -24
  723. package/src/cursor-session-scope.ts +33 -11
  724. package/src/cursor-session-send-policy.ts +2 -2
  725. package/src/cursor-session-settings.ts +3 -3
  726. package/src/cursor-session-store.ts +259 -53
  727. package/src/cursor-state.ts +32 -7
  728. package/src/cursor-tool-manifest.ts +1 -1
  729. package/src/index.ts +19 -19
  730. package/src/model-discovery.ts +68 -30
  731. package/src/model-list-cache.ts +11 -1
  732. package/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-BLVe3qmU.d.cts.map +0 -1
  733. package/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-Bt6U_Fqb.d.mts.map +0 -1
  734. package/node_modules/@modelcontextprotocol/server/dist/mcp-DUcCQSTW.cjs.map +0 -1
  735. package/node_modules/@modelcontextprotocol/server/dist/mcp-Dw2OlZ1f.mjs.map +0 -1
  736. package/node_modules/@modelcontextprotocol/server/dist/src-CgFsfg3E.cjs.map +0 -1
  737. package/node_modules/@modelcontextprotocol/server/dist/src-D-y6h4N7.mjs.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import { getCursorModelSelectionIdentities } from "../shared/cursor-model-selection-identities.mjs";
2
2
  import { loadContextWindowCache } from "./context-window-cache.js";
3
3
  import { loadCursorSdk } from "./cursor-sdk-runtime.js";
4
- import { resolveCursorApiKey, resolveCursorRuntimeApiKey } from "./cursor-api-key.js";
4
+ import { normalizeCursorApiKey } from "./cursor-api-key.js";
5
5
  import { sanitizeCursorProviderError } from "./cursor-provider-errors.js";
6
6
  import { fingerprintApiKey, loadAnyCachedModelCatalog, loadFreshCachedModels, saveModelListCache, } from "./model-list-cache.js";
7
7
  const FALLBACK_CONTEXT_WINDOW = 128000;
@@ -10,9 +10,6 @@ const ZERO_COST = { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 };
10
10
  const TEXT_AND_IMAGE_INPUT = ["text", "image"];
11
11
  const AUTH_SETUP_HINT = "/login (Use an API key -> Cursor) or CURSOR_API_KEY; startup discovery does not parse Pi CLI arguments, and Cursor Agent CLI/Desktop login is not reused";
12
12
  const CATALOG_REFRESH_HINT = "After adding auth to an already-started pi session, run /cursor-refresh-models to refresh the full live Cursor model catalog without restarting pi.";
13
- async function getDiscoveryApiKey(apiKey) {
14
- return resolveCursorApiKey(apiKey) ?? resolveCursorRuntimeApiKey();
15
- }
16
13
  const metadataByPiModelId = new Map();
17
14
  function cloneParams(params) {
18
15
  return params.map((param) => ({ ...param }));
@@ -44,9 +41,9 @@ function mapComparableLevel(parameter, level) {
44
41
  }
45
42
  function getThinkingLevelMap(item) {
46
43
  const reasoningParameter = getParameter(item, "reasoning");
47
- const effortParameter = getParameter(item, "effort");
44
+ const effortParameter = getParameter(item, "effort") ?? getParameter(item, "reasoning_effort");
48
45
  const thinkingParameter = getParameter(item, "thinking");
49
- const valueParameter = effortParameter ?? reasoningParameter ?? thinkingParameter ?? getParameter(item, "reasoning_effort");
46
+ const valueParameter = effortParameter ?? reasoningParameter ?? thinkingParameter;
50
47
  if (!valueParameter)
51
48
  return undefined;
52
49
  if (valueParameter.id === "thinking" && hasBooleanValues(valueParameter)) {
@@ -135,6 +132,7 @@ function toMetadata(item, piModelId, selectionModelId, defaultParams, context, c
135
132
  selectionModelId,
136
133
  displayName: item.displayName || item.id,
137
134
  defaultParams: cloneParams(defaultParams),
135
+ catalogDefaultContext: getParamValue(getDefaultParams(item), "context"),
138
136
  ...(context ? { context } : {}),
139
137
  contextWindow: getContextWindow(contextWindowCache, contextWindowKeys, context, item.id),
140
138
  supportsFast: getParameter(item, "fast") !== undefined,
@@ -164,15 +162,15 @@ function toModelConfig(metadata, name) {
164
162
  maxTokens: FALLBACK_MAX_TOKENS,
165
163
  };
166
164
  }
167
- function registerModelItems(items) {
168
- metadataByPiModelId.clear();
165
+ function registerModelItems(items, metadataMap = metadataByPiModelId) {
166
+ metadataMap.clear();
169
167
  const contextWindowCache = loadContextWindowCache();
170
168
  return getCursorModelSelectionIdentities(items).map(({ model: item, selectionModelId, context, fastOverride, piModelId, contextWindowKey, baseContextWindowKey }) => {
171
169
  const defaultParams = getDefaultParams(item);
172
170
  const contextParams = context ? replaceParam(defaultParams, "context", context) : defaultParams;
173
171
  const params = fastOverride === undefined ? contextParams : replaceParam(contextParams, "fast", fastOverride ? "true" : "false");
174
172
  const metadata = toMetadata(item, piModelId, selectionModelId, params, context, contextWindowCache, [piModelId, contextWindowKey, baseContextWindowKey], fastOverride);
175
- metadataByPiModelId.set(piModelId, metadata);
173
+ metadataMap.set(piModelId, metadata);
176
174
  const alias = selectionModelId === item.id ? undefined : selectionModelId;
177
175
  return toModelConfig(metadata, getModelName(item, context, alias, fastOverride));
178
176
  });
@@ -198,10 +196,12 @@ function applyThinkingLevel(metadata, params, level) {
198
196
  const mapped = metadata.thinkingLevelMap?.[level];
199
197
  if (mapped === undefined || mapped === null)
200
198
  return;
199
+ const effortId = metadata.parameterIds.effort ? "effort" : metadata.parameterIds.reasoning_effort ? "reasoning_effort" : undefined;
201
200
  if (level === "off") {
202
201
  if (metadata.parameterIds.thinking && mapped === "false") {
203
202
  setParam(params, "thinking", mapped);
204
- deleteParam(params, "effort");
203
+ if (effortId)
204
+ deleteParam(params, effortId);
205
205
  return;
206
206
  }
207
207
  if (metadata.parameterIds.reasoning) {
@@ -209,10 +209,10 @@ function applyThinkingLevel(metadata, params, level) {
209
209
  }
210
210
  return;
211
211
  }
212
- if (metadata.parameterIds.effort) {
212
+ if (effortId) {
213
213
  if (metadata.parameterIds.thinking)
214
214
  setParam(params, "thinking", "true");
215
- setParam(params, "effort", mapped);
215
+ setParam(params, effortId, mapped);
216
216
  return;
217
217
  }
218
218
  if (metadata.parameterIds.reasoning) {
@@ -222,9 +222,6 @@ function applyThinkingLevel(metadata, params, level) {
222
222
  if (metadata.parameterIds.thinking) {
223
223
  setParam(params, "thinking", mapped);
224
224
  }
225
- else if (metadata.parameterIds.reasoning_effort) {
226
- setParam(params, "reasoning_effort", mapped);
227
- }
228
225
  }
229
226
  export function buildCursorModelSelection(modelId, thinkingLevel, fastEnabled) {
230
227
  const metadata = getCursorModelMetadata(modelId);
@@ -235,15 +232,40 @@ export function buildCursorModelSelection(modelId, thinkingLevel, fastEnabled) {
235
232
  if (metadata.supportsFast && fastEnabled !== undefined) {
236
233
  setParam(params, "fast", fastEnabled ? "true" : "false");
237
234
  }
235
+ // Grok 4.7 rejects its explicit catalog-default context. Keep the selected
236
+ // variant's metadata intact and leave effort, fast and other contexts explicit.
237
+ if (metadata.baseModelId === "grok-4.7" && metadata.catalogDefaultContext !== undefined &&
238
+ getParamValue(params, "context") === metadata.catalogDefaultContext) {
239
+ deleteParam(params, "context");
240
+ }
238
241
  return params.length > 0 ? { id: metadata.selectionModelId, params } : { id: metadata.selectionModelId };
239
242
  }
240
243
  async function useFallbackModels(options, issue) {
241
- options.onFallback?.(issue);
242
244
  const { FALLBACK_MODEL_ITEMS } = await import("./cursor-fallback-models.generated.js");
243
- return registerModelItems(FALLBACK_MODEL_ITEMS);
245
+ return publishModelItems(FALLBACK_MODEL_ITEMS, options, issue);
246
+ }
247
+ async function publishModelItems(items, options, issue, cacheFingerprint) {
248
+ options.signal?.throwIfAborted();
249
+ const metadata = new Map();
250
+ const models = registerModelItems(items, metadata);
251
+ const update = () => {
252
+ metadataByPiModelId.clear();
253
+ for (const [id, value] of metadata)
254
+ metadataByPiModelId.set(id, value);
255
+ if (cacheFingerprint)
256
+ saveModelListCache(cacheFingerprint, items);
257
+ if (issue)
258
+ options.onFallback?.(issue);
259
+ };
260
+ if (options.publish)
261
+ await options.publish(models, update);
262
+ else
263
+ update();
264
+ return models;
244
265
  }
245
266
  export async function discoverModels(options = {}) {
246
- const apiKey = await getDiscoveryApiKey(options.apiKey);
267
+ options.signal?.throwIfAborted();
268
+ const apiKey = normalizeCursorApiKey(options.apiKey);
247
269
  if (!apiKey) {
248
270
  return useFallbackModels(options, {
249
271
  reason: "missing-api-key",
@@ -251,18 +273,29 @@ export async function discoverModels(options = {}) {
251
273
  });
252
274
  }
253
275
  const keyFingerprint = fingerprintApiKey(apiKey);
254
- if (!options.forceRefresh) {
255
- const cachedModels = loadFreshCachedModels(keyFingerprint);
276
+ if (!options.forceRefresh || options.allowNetwork === false) {
277
+ const cachedModels = options.allowNetwork === false
278
+ ? loadAnyCachedModelCatalog(keyFingerprint)?.models
279
+ : loadFreshCachedModels(keyFingerprint);
256
280
  if (cachedModels && cachedModels.length > 0) {
257
- return registerModelItems(cachedModels);
281
+ return publishModelItems(cachedModels, options);
258
282
  }
259
283
  }
284
+ if (options.allowNetwork === false) {
285
+ return useFallbackModels(options, {
286
+ reason: "cache-only",
287
+ message: `Using fallback Cursor models until a live catalog is requested. ${CATALOG_REFRESH_HINT}`,
288
+ });
289
+ }
260
290
  try {
261
291
  const { Cursor } = await loadCursorSdk();
292
+ options.signal?.throwIfAborted();
293
+ // SDK 1.0.37 CursorRequestOptions has no caller signal. A late response
294
+ // still cannot publish outside the native generation that requested it.
262
295
  const models = await Cursor.models.list({ apiKey });
296
+ options.signal?.throwIfAborted();
263
297
  if (models.length > 0) {
264
- saveModelListCache(keyFingerprint, models);
265
- return registerModelItems(models);
298
+ return publishModelItems(models, options, undefined, keyFingerprint);
266
299
  }
267
300
  return useFallbackModels(options, {
268
301
  reason: "empty-model-list",
@@ -270,18 +303,18 @@ export async function discoverModels(options = {}) {
270
303
  });
271
304
  }
272
305
  catch (error) {
306
+ options.signal?.throwIfAborted();
273
307
  const errorMessage = sanitizeCursorProviderError(error, apiKey);
274
308
  // Prefer a previously cached catalog over the generic bundled fallback when
275
309
  // a live refresh fails (e.g. transient network/auth errors), but keep the
276
310
  // provenance visible so refresh commands do not claim a live refresh worked.
277
311
  const cachedCatalog = loadAnyCachedModelCatalog(keyFingerprint);
278
312
  if (cachedCatalog && cachedCatalog.models.length > 0) {
279
- options.onFallback?.({
313
+ return publishModelItems(cachedCatalog.models, options, {
280
314
  reason: "cached-after-error",
281
315
  message: `Cursor model discovery failed; using cached Cursor model catalog from ${new Date(cachedCatalog.fetchedAt).toISOString()}. ${errorMessage}`,
282
316
  errorMessage,
283
317
  });
284
- return registerModelItems(cachedCatalog.models);
285
318
  }
286
319
  return useFallbackModels(options, {
287
320
  reason: "discovery-failed",
@@ -293,5 +326,4 @@ export async function discoverModels(options = {}) {
293
326
  export const __testUtils = {
294
327
  parseContextWindow,
295
328
  registerModelItems,
296
- normalizeApiKey: resolveCursorApiKey,
297
329
  };
@@ -1,5 +1,5 @@
1
1
  import { createHash } from "node:crypto";
2
- import { chmodSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
2
+ import { chmodSync, existsSync, lstatSync, mkdirSync, readFileSync, unlinkSync, writeFileSync } from "node:fs";
3
3
  import { dirname, join } from "node:path";
4
4
  import { getAgentDir } from "@earendil-works/pi-coding-agent";
5
5
  import { parseEnvBoolean } from "./cursor-env-boolean.js";
@@ -148,6 +148,17 @@ export function saveModelListCache(keyFingerprint, models) {
148
148
  return false;
149
149
  }
150
150
  }
151
+ /** Delete only our valid regular-file catalog, never a user link or other data. */
152
+ export function clearModelListCache() {
153
+ try {
154
+ const path = getCachePath();
155
+ if (lstatSync(path).isFile() && readCacheFile())
156
+ unlinkSync(path);
157
+ }
158
+ catch {
159
+ // Cache cleanup is best-effort; it must not break native logout.
160
+ }
161
+ }
151
162
  export const __testUtils = {
152
163
  getCachePath,
153
164
  DEFAULT_TTL_MS,
@@ -71,7 +71,7 @@ Pass criteria:
71
71
 
72
72
  - `node --version` reports Node 24+.
73
73
  - `pi --version` reports official Pi 0.87.1 or the selected official-latest/current-`fitchmultz/pi` compatibility target.
74
- - `npm ls` shows exact `@cursor/sdk@1.0.32`; development `@earendil-works/pi-ai`, `@earendil-works/pi-coding-agent`, and `@earendil-works/pi-tui` 0.99.1 and host TypeBox 1.3.27; and the bundled bridge runtime closure `@modelcontextprotocol/server@2.1.0`, `@modelcontextprotocol/hono@2.0.1`, `hono@4.13.9`, and `@hono/node-server@2.1.1`.
74
+ - `npm ls` shows exact `@cursor/sdk@1.0.37`; development `@earendil-works/pi-ai`, `@earendil-works/pi-coding-agent`, and `@earendil-works/pi-tui` 1.0.4 with matching lockfile-resolved transitives, nested host TypeBox 1.3.27 and root validation TypeBox 1.3.36; and the bundled bridge runtime closure `@modelcontextprotocol/server@2.3.1`, `@modelcontextprotocol/hono@2.0.2`, `hono@4.13.13`, and `@hono/node-server@2.1.3`. These locked development snapshots are not qualification targets; resolve latest stable official Pi and current `fitchmultz/pi` main once per workflow run.
75
75
  - `cursor/grok-4.6` appears in the model list.
76
76
  - No Cursor key or auth token is printed.
77
77
  - If neither `~/.pi/agent/auth.json` cursor auth nor `CURSOR_API_KEY` is available, stop and report the live smoke as blocked.
@@ -136,7 +136,7 @@ Pass criteria:
136
136
 
137
137
  ## 4. Focused visual card/color rendering check
138
138
 
139
- This is a visual debug menu for changed card/color behavior requiring new live evidence. Select only the relevant category below, or reuse a batched existing platform suite; do not execute the entire list by default. It requires offscreen TUI visual inspection, not only JSONL or code review. Use Node 24+, official Pi 0.87.1 or another current compatibility target, exact `@cursor/sdk@1.0.32`, a fresh temporary session dir, Cursor SDK `plan` mode, native replay enabled, and the checked-in visual runner. The runner resolves `pi` by directly walking the parent `PATH`, uses `process.execPath` for Node, and prepends that Node directory for both prereq checks and tmux launches so `#!/usr/bin/env node` shims use the validated Node. The default matrix is native replay only: native replay registration is forced on, settings sources are `none`, the pi bridge is off, overlapping built-in pi tools are not exposed, and inherited Cursor SDK event-debug artifact env is cleared. With `--event-debug`, debug capture writes to a deterministic directory under `VISUAL_DIR`.
139
+ This is a visual debug menu for changed card/color behavior requiring new live evidence. Select only the relevant category below, or reuse a batched existing platform suite; do not execute the entire list by default. It requires offscreen TUI visual inspection, not only JSONL or code review. Use Node 24+, official Pi 0.87.1 or another current compatibility target, exact `@cursor/sdk@1.0.37`, a fresh temporary session dir, Cursor SDK `plan` mode, native replay enabled, and the checked-in visual runner. The runner resolves `pi` by directly walking the parent `PATH`, uses `process.execPath` for Node, and prepends that Node directory for both prereq checks and tmux launches so `#!/usr/bin/env node` shims use the validated Node. The default matrix is native replay only: native replay registration is forced on, settings sources are `none`, the pi bridge is off, overlapping built-in pi tools are not exposed, and inherited Cursor SDK event-debug artifact env is cleared. With `--event-debug`, debug capture writes to a deterministic directory under `VISUAL_DIR`.
140
140
 
141
141
  ```bash
142
142
  VISUAL_DIR="$(mktemp -d /tmp/pi-cursor-sdk-1016-visual.XXXXXX)"