bluera-knowledge 0.13.3 → 0.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (663) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/CHANGELOG.md +14 -0
  3. package/commands/uninstall.md +65 -0
  4. package/dist/{chunk-AOSDVRRH.js → chunk-AIS5S77C.js} +2 -2
  5. package/dist/{chunk-XL2UHMBL.js → chunk-UAWKTJWN.js} +134 -15
  6. package/dist/chunk-UAWKTJWN.js.map +1 -0
  7. package/dist/{chunk-AJI5DCKY.js → chunk-Y24ZJRZP.js} +8 -3
  8. package/dist/{chunk-AJI5DCKY.js.map → chunk-Y24ZJRZP.js.map} +1 -1
  9. package/dist/index.js +3 -3
  10. package/dist/mcp/server.js +2 -2
  11. package/dist/workers/background-worker-cli.js +2 -2
  12. package/hooks/check-dependencies.sh +46 -57
  13. package/package.json +12 -1
  14. package/.claude/commands/code-review.md +0 -15
  15. package/.claude/commands/commit.md +0 -34
  16. package/.claude/council-cache/1a43ed5977b8f29afc79a9bf5c4082ee5ad8338c42ab991a4241a48f80c1e46d.json +0 -7
  17. package/.claude/hooks/post-edit-check.sh +0 -40
  18. package/.claude/rules/code-quality.md +0 -12
  19. package/.claude/rules/git.md +0 -5
  20. package/.claude/rules/versioning.md +0 -7
  21. package/.claude/settings.local.json.example +0 -45
  22. package/.claude/skills/atomic-commits/SKILL.md +0 -61
  23. package/.claude/skills/code-review-repo/skill.md +0 -62
  24. package/.editorconfig +0 -15
  25. package/.env.example +0 -21
  26. package/.github/workflows/auto-release.yml +0 -64
  27. package/.github/workflows/ci.yml +0 -168
  28. package/.github/workflows/release.yml +0 -74
  29. package/.github/workflows/update-marketplace.yml +0 -96
  30. package/.husky/pre-commit +0 -48
  31. package/.husky/pre-push +0 -39
  32. package/.mcp.json +0 -11
  33. package/.prettierrc +0 -9
  34. package/.versionrc.json +0 -24
  35. package/CLAUDE.md +0 -110
  36. package/CONTRIBUTING.md +0 -307
  37. package/NOTICE +0 -47
  38. package/SECURITY.md +0 -65
  39. package/bun.lock +0 -2036
  40. package/dist/chunk-XL2UHMBL.js.map +0 -1
  41. package/docs/claude-code-best-practices.md +0 -458
  42. package/docs/cli.md +0 -170
  43. package/docs/commands.md +0 -392
  44. package/docs/crawler-architecture.md +0 -89
  45. package/docs/mcp-integration.md +0 -130
  46. package/docs/token-efficiency.md +0 -91
  47. package/eslint-rules/require-skip-comment.js +0 -81
  48. package/eslint.config.js +0 -103
  49. package/knip.json +0 -43
  50. package/scripts/test-mcp-dev.js +0 -260
  51. package/scripts/validate-npm-release.sh +0 -314
  52. package/src/analysis/adapter-registry.test.ts +0 -211
  53. package/src/analysis/adapter-registry.ts +0 -155
  54. package/src/analysis/ast-parser.test.ts +0 -470
  55. package/src/analysis/ast-parser.ts +0 -198
  56. package/src/analysis/code-graph.test.ts +0 -718
  57. package/src/analysis/code-graph.ts +0 -249
  58. package/src/analysis/dependency-usage-analyzer.test.ts +0 -619
  59. package/src/analysis/dependency-usage-analyzer.ts +0 -433
  60. package/src/analysis/go-ast-parser.test.ts +0 -531
  61. package/src/analysis/go-ast-parser.ts +0 -471
  62. package/src/analysis/language-adapter.ts +0 -127
  63. package/src/analysis/parser-factory.test.ts +0 -210
  64. package/src/analysis/parser-factory.ts +0 -52
  65. package/src/analysis/python-ast-parser.test.ts +0 -210
  66. package/src/analysis/python-ast-parser.ts +0 -34
  67. package/src/analysis/repo-url-resolver.test.ts +0 -533
  68. package/src/analysis/repo-url-resolver.ts +0 -233
  69. package/src/analysis/rust-ast-parser.test.ts +0 -568
  70. package/src/analysis/rust-ast-parser.ts +0 -467
  71. package/src/analysis/tree-sitter-parser.test.ts +0 -297
  72. package/src/analysis/tree-sitter-parser.ts +0 -217
  73. package/src/analysis/zil/index.ts +0 -34
  74. package/src/analysis/zil/zil-adapter.test.ts +0 -187
  75. package/src/analysis/zil/zil-adapter.ts +0 -121
  76. package/src/analysis/zil/zil-lexer.test.ts +0 -222
  77. package/src/analysis/zil/zil-lexer.ts +0 -239
  78. package/src/analysis/zil/zil-parser.test.ts +0 -210
  79. package/src/analysis/zil/zil-parser.ts +0 -360
  80. package/src/analysis/zil/zil-special-forms.ts +0 -193
  81. package/src/cli/commands/crawl.test.ts +0 -1086
  82. package/src/cli/commands/crawl.ts +0 -220
  83. package/src/cli/commands/index-cmd.test.ts +0 -733
  84. package/src/cli/commands/index-cmd.ts +0 -128
  85. package/src/cli/commands/mcp.test.ts +0 -218
  86. package/src/cli/commands/mcp.ts +0 -18
  87. package/src/cli/commands/plugin-api.test.ts +0 -373
  88. package/src/cli/commands/plugin-api.ts +0 -82
  89. package/src/cli/commands/search.test.ts +0 -1047
  90. package/src/cli/commands/search.ts +0 -197
  91. package/src/cli/commands/serve.test.ts +0 -371
  92. package/src/cli/commands/serve.ts +0 -43
  93. package/src/cli/commands/setup.test.ts +0 -895
  94. package/src/cli/commands/setup.ts +0 -176
  95. package/src/cli/commands/store.test.ts +0 -1370
  96. package/src/cli/commands/store.ts +0 -229
  97. package/src/cli/commands/sync.test.ts +0 -54
  98. package/src/cli/commands/sync.ts +0 -313
  99. package/src/cli/index.ts +0 -8
  100. package/src/cli/program.ts +0 -59
  101. package/src/crawl/article-converter.test.ts +0 -576
  102. package/src/crawl/article-converter.ts +0 -142
  103. package/src/crawl/bridge.test.ts +0 -796
  104. package/src/crawl/bridge.ts +0 -339
  105. package/src/crawl/claude-client.test.ts +0 -902
  106. package/src/crawl/claude-client.ts +0 -261
  107. package/src/crawl/intelligent-crawler.test.ts +0 -1028
  108. package/src/crawl/intelligent-crawler.ts +0 -478
  109. package/src/crawl/markdown-utils.test.ts +0 -703
  110. package/src/crawl/markdown-utils.ts +0 -225
  111. package/src/crawl/schemas.ts +0 -114
  112. package/src/db/embeddings.test.ts +0 -79
  113. package/src/db/embeddings.ts +0 -78
  114. package/src/db/index.ts +0 -2
  115. package/src/db/lance.test.ts +0 -479
  116. package/src/db/lance.ts +0 -190
  117. package/src/defaults/repos.ts +0 -67
  118. package/src/index.ts +0 -124
  119. package/src/logging/index.ts +0 -25
  120. package/src/logging/logger.test.ts +0 -75
  121. package/src/logging/logger.ts +0 -145
  122. package/src/logging/payload.test.ts +0 -152
  123. package/src/logging/payload.ts +0 -119
  124. package/src/mcp/cache.test.ts +0 -202
  125. package/src/mcp/cache.ts +0 -103
  126. package/src/mcp/commands/index.ts +0 -22
  127. package/src/mcp/commands/job.commands.ts +0 -48
  128. package/src/mcp/commands/meta.commands.ts +0 -54
  129. package/src/mcp/commands/registry.ts +0 -180
  130. package/src/mcp/commands/store.commands.ts +0 -75
  131. package/src/mcp/commands/sync.commands.test.ts +0 -371
  132. package/src/mcp/commands/sync.commands.ts +0 -263
  133. package/src/mcp/handlers/execute.handler.test.ts +0 -179
  134. package/src/mcp/handlers/execute.handler.ts +0 -23
  135. package/src/mcp/handlers/index.ts +0 -39
  136. package/src/mcp/handlers/job.handler.test.ts +0 -189
  137. package/src/mcp/handlers/job.handler.ts +0 -118
  138. package/src/mcp/handlers/search.handler.test.ts +0 -324
  139. package/src/mcp/handlers/search.handler.ts +0 -287
  140. package/src/mcp/handlers/store.handler.test.ts +0 -408
  141. package/src/mcp/handlers/store.handler.ts +0 -318
  142. package/src/mcp/plugin-mcp-config.test.ts +0 -71
  143. package/src/mcp/schemas/index.test.ts +0 -356
  144. package/src/mcp/schemas/index.ts +0 -155
  145. package/src/mcp/server.test.ts +0 -91
  146. package/src/mcp/server.ts +0 -235
  147. package/src/mcp/types.ts +0 -41
  148. package/src/plugin/commands.test.ts +0 -925
  149. package/src/plugin/commands.ts +0 -311
  150. package/src/plugin/dependency-analyzer.test.ts +0 -380
  151. package/src/plugin/dependency-analyzer.ts +0 -210
  152. package/src/plugin/git-clone.test.ts +0 -387
  153. package/src/plugin/git-clone.ts +0 -57
  154. package/src/scripts/validate-npm-release.test.ts +0 -70
  155. package/src/server/app.test.ts +0 -752
  156. package/src/server/app.ts +0 -128
  157. package/src/server/index.test.ts +0 -475
  158. package/src/server/index.ts +0 -1
  159. package/src/services/chunking.service.test.ts +0 -363
  160. package/src/services/chunking.service.ts +0 -380
  161. package/src/services/code-graph.service.test.ts +0 -298
  162. package/src/services/code-graph.service.ts +0 -326
  163. package/src/services/code-unit.service.test.ts +0 -693
  164. package/src/services/code-unit.service.ts +0 -234
  165. package/src/services/config.service.test.ts +0 -146
  166. package/src/services/config.service.ts +0 -92
  167. package/src/services/gitignore.service.test.ts +0 -157
  168. package/src/services/gitignore.service.ts +0 -132
  169. package/src/services/index.service.test.ts +0 -2301
  170. package/src/services/index.service.ts +0 -442
  171. package/src/services/index.ts +0 -119
  172. package/src/services/job.service.test.ts +0 -531
  173. package/src/services/job.service.ts +0 -298
  174. package/src/services/project-root.service.test.ts +0 -504
  175. package/src/services/project-root.service.ts +0 -112
  176. package/src/services/search.service.test.ts +0 -2263
  177. package/src/services/search.service.ts +0 -1341
  178. package/src/services/services.test.ts +0 -108
  179. package/src/services/snippet.service.test.ts +0 -213
  180. package/src/services/snippet.service.ts +0 -193
  181. package/src/services/store-definition.service.test.ts +0 -440
  182. package/src/services/store-definition.service.ts +0 -198
  183. package/src/services/store.service.test.ts +0 -843
  184. package/src/services/store.service.ts +0 -363
  185. package/src/services/token.service.test.ts +0 -45
  186. package/src/services/token.service.ts +0 -33
  187. package/src/services/watch.service.test.ts +0 -600
  188. package/src/services/watch.service.ts +0 -84
  189. package/src/types/brands.test.ts +0 -47
  190. package/src/types/brands.ts +0 -32
  191. package/src/types/config.ts +0 -79
  192. package/src/types/document.ts +0 -54
  193. package/src/types/index.ts +0 -73
  194. package/src/types/job.ts +0 -61
  195. package/src/types/progress.ts +0 -9
  196. package/src/types/result.test.ts +0 -54
  197. package/src/types/result.ts +0 -41
  198. package/src/types/search.ts +0 -105
  199. package/src/types/store-definition.test.ts +0 -492
  200. package/src/types/store-definition.ts +0 -129
  201. package/src/types/store.test.ts +0 -69
  202. package/src/types/store.ts +0 -47
  203. package/src/utils/type-guards.test.ts +0 -351
  204. package/src/utils/type-guards.ts +0 -61
  205. package/src/workers/background-worker-cli.test.ts +0 -35
  206. package/src/workers/background-worker-cli.ts +0 -149
  207. package/src/workers/background-worker.test.ts +0 -222
  208. package/src/workers/background-worker.ts +0 -322
  209. package/src/workers/pid-file.test.ts +0 -167
  210. package/src/workers/pid-file.ts +0 -82
  211. package/src/workers/spawn-worker.test.ts +0 -194
  212. package/src/workers/spawn-worker.ts +0 -70
  213. package/tests/analysis/ast-parser.test.ts +0 -98
  214. package/tests/analysis/code-graph.test.ts +0 -60
  215. package/tests/fixtures/README.md +0 -114
  216. package/tests/fixtures/code-snippets/api/error-handling.ts +0 -256
  217. package/tests/fixtures/code-snippets/api/rest-controller.ts +0 -297
  218. package/tests/fixtures/code-snippets/auth/jwt-auth.ts +0 -197
  219. package/tests/fixtures/code-snippets/auth/oauth-flow.ts +0 -245
  220. package/tests/fixtures/code-snippets/database/repository-pattern.ts +0 -280
  221. package/tests/fixtures/corpus/VERSION.md +0 -25
  222. package/tests/fixtures/corpus/articles/jwt-authentication.md +0 -97
  223. package/tests/fixtures/corpus/articles/react-hooks-patterns.md +0 -127
  224. package/tests/fixtures/corpus/articles/typescript-generics.md +0 -111
  225. package/tests/fixtures/corpus/documentation/express-middleware.md +0 -71
  226. package/tests/fixtures/corpus/documentation/express-routing.md +0 -83
  227. package/tests/fixtures/corpus/documentation/node-streams.md +0 -78
  228. package/tests/fixtures/corpus/oss-repos/express/History.md +0 -3871
  229. package/tests/fixtures/corpus/oss-repos/express/LICENSE +0 -24
  230. package/tests/fixtures/corpus/oss-repos/express/README.md +0 -276
  231. package/tests/fixtures/corpus/oss-repos/express/SECURITY.md +0 -56
  232. package/tests/fixtures/corpus/oss-repos/express/benchmarks/Makefile +0 -17
  233. package/tests/fixtures/corpus/oss-repos/express/benchmarks/README.md +0 -34
  234. package/tests/fixtures/corpus/oss-repos/express/benchmarks/middleware.js +0 -20
  235. package/tests/fixtures/corpus/oss-repos/express/benchmarks/run +0 -18
  236. package/tests/fixtures/corpus/oss-repos/express/examples/README.md +0 -29
  237. package/tests/fixtures/corpus/oss-repos/express/examples/auth/index.js +0 -134
  238. package/tests/fixtures/corpus/oss-repos/express/examples/auth/views/foot.ejs +0 -2
  239. package/tests/fixtures/corpus/oss-repos/express/examples/auth/views/head.ejs +0 -20
  240. package/tests/fixtures/corpus/oss-repos/express/examples/auth/views/login.ejs +0 -21
  241. package/tests/fixtures/corpus/oss-repos/express/examples/content-negotiation/db.js +0 -9
  242. package/tests/fixtures/corpus/oss-repos/express/examples/content-negotiation/index.js +0 -46
  243. package/tests/fixtures/corpus/oss-repos/express/examples/content-negotiation/users.js +0 -19
  244. package/tests/fixtures/corpus/oss-repos/express/examples/cookie-sessions/index.js +0 -25
  245. package/tests/fixtures/corpus/oss-repos/express/examples/cookies/index.js +0 -53
  246. package/tests/fixtures/corpus/oss-repos/express/examples/downloads/files/CCTV/345/244/247/350/265/233/344/270/212/346/265/267/345/210/206/350/265/233/345/214/272.txt +0 -2
  247. package/tests/fixtures/corpus/oss-repos/express/examples/downloads/files/amazing.txt +0 -1
  248. package/tests/fixtures/corpus/oss-repos/express/examples/downloads/files/notes/groceries.txt +0 -3
  249. package/tests/fixtures/corpus/oss-repos/express/examples/downloads/index.js +0 -40
  250. package/tests/fixtures/corpus/oss-repos/express/examples/ejs/index.js +0 -57
  251. package/tests/fixtures/corpus/oss-repos/express/examples/ejs/public/stylesheets/style.css +0 -4
  252. package/tests/fixtures/corpus/oss-repos/express/examples/ejs/views/footer.html +0 -2
  253. package/tests/fixtures/corpus/oss-repos/express/examples/ejs/views/header.html +0 -9
  254. package/tests/fixtures/corpus/oss-repos/express/examples/ejs/views/users.html +0 -10
  255. package/tests/fixtures/corpus/oss-repos/express/examples/error/index.js +0 -53
  256. package/tests/fixtures/corpus/oss-repos/express/examples/error-pages/index.js +0 -103
  257. package/tests/fixtures/corpus/oss-repos/express/examples/error-pages/views/404.ejs +0 -3
  258. package/tests/fixtures/corpus/oss-repos/express/examples/error-pages/views/500.ejs +0 -8
  259. package/tests/fixtures/corpus/oss-repos/express/examples/error-pages/views/error_header.ejs +0 -10
  260. package/tests/fixtures/corpus/oss-repos/express/examples/error-pages/views/footer.ejs +0 -2
  261. package/tests/fixtures/corpus/oss-repos/express/examples/error-pages/views/index.ejs +0 -20
  262. package/tests/fixtures/corpus/oss-repos/express/examples/hello-world/index.js +0 -15
  263. package/tests/fixtures/corpus/oss-repos/express/examples/markdown/index.js +0 -44
  264. package/tests/fixtures/corpus/oss-repos/express/examples/markdown/views/index.md +0 -4
  265. package/tests/fixtures/corpus/oss-repos/express/examples/multi-router/controllers/api_v1.js +0 -15
  266. package/tests/fixtures/corpus/oss-repos/express/examples/multi-router/controllers/api_v2.js +0 -15
  267. package/tests/fixtures/corpus/oss-repos/express/examples/multi-router/index.js +0 -18
  268. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/controllers/main/index.js +0 -5
  269. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/controllers/pet/index.js +0 -31
  270. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/controllers/pet/views/edit.ejs +0 -17
  271. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/controllers/pet/views/show.ejs +0 -15
  272. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/controllers/user/index.js +0 -41
  273. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/controllers/user/views/edit.hbs +0 -27
  274. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/controllers/user/views/list.hbs +0 -18
  275. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/controllers/user/views/show.hbs +0 -31
  276. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/controllers/user-pet/index.js +0 -22
  277. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/db.js +0 -16
  278. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/index.js +0 -95
  279. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/lib/boot.js +0 -83
  280. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/public/style.css +0 -14
  281. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/views/404.ejs +0 -13
  282. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/views/5xx.ejs +0 -13
  283. package/tests/fixtures/corpus/oss-repos/express/examples/online/index.js +0 -61
  284. package/tests/fixtures/corpus/oss-repos/express/examples/params/index.js +0 -74
  285. package/tests/fixtures/corpus/oss-repos/express/examples/resource/index.js +0 -95
  286. package/tests/fixtures/corpus/oss-repos/express/examples/route-map/index.js +0 -75
  287. package/tests/fixtures/corpus/oss-repos/express/examples/route-middleware/index.js +0 -90
  288. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/index.js +0 -55
  289. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/post.js +0 -13
  290. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/public/style.css +0 -24
  291. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/site.js +0 -5
  292. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/user.js +0 -47
  293. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/views/footer.ejs +0 -2
  294. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/views/header.ejs +0 -9
  295. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/views/index.ejs +0 -10
  296. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/views/posts/index.ejs +0 -12
  297. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/views/users/edit.ejs +0 -23
  298. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/views/users/index.ejs +0 -14
  299. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/views/users/view.ejs +0 -9
  300. package/tests/fixtures/corpus/oss-repos/express/examples/search/index.js +0 -61
  301. package/tests/fixtures/corpus/oss-repos/express/examples/search/public/client.js +0 -15
  302. package/tests/fixtures/corpus/oss-repos/express/examples/search/public/index.html +0 -21
  303. package/tests/fixtures/corpus/oss-repos/express/examples/session/index.js +0 -37
  304. package/tests/fixtures/corpus/oss-repos/express/examples/session/redis.js +0 -39
  305. package/tests/fixtures/corpus/oss-repos/express/examples/static-files/index.js +0 -43
  306. package/tests/fixtures/corpus/oss-repos/express/examples/static-files/public/css/style.css +0 -3
  307. package/tests/fixtures/corpus/oss-repos/express/examples/static-files/public/hello.txt +0 -1
  308. package/tests/fixtures/corpus/oss-repos/express/examples/static-files/public/js/app.js +0 -1
  309. package/tests/fixtures/corpus/oss-repos/express/examples/vhost/index.js +0 -53
  310. package/tests/fixtures/corpus/oss-repos/express/examples/view-constructor/github-view.js +0 -53
  311. package/tests/fixtures/corpus/oss-repos/express/examples/view-constructor/index.js +0 -48
  312. package/tests/fixtures/corpus/oss-repos/express/examples/view-locals/index.js +0 -155
  313. package/tests/fixtures/corpus/oss-repos/express/examples/view-locals/user.js +0 -36
  314. package/tests/fixtures/corpus/oss-repos/express/examples/view-locals/views/index.ejs +0 -20
  315. package/tests/fixtures/corpus/oss-repos/express/examples/web-service/index.js +0 -117
  316. package/tests/fixtures/corpus/oss-repos/express/index.js +0 -11
  317. package/tests/fixtures/corpus/oss-repos/express/lib/application.js +0 -631
  318. package/tests/fixtures/corpus/oss-repos/express/lib/express.js +0 -81
  319. package/tests/fixtures/corpus/oss-repos/express/lib/request.js +0 -514
  320. package/tests/fixtures/corpus/oss-repos/express/lib/response.js +0 -1053
  321. package/tests/fixtures/corpus/oss-repos/express/lib/utils.js +0 -271
  322. package/tests/fixtures/corpus/oss-repos/express/lib/view.js +0 -205
  323. package/tests/fixtures/corpus/oss-repos/express/package.json +0 -99
  324. package/tests/fixtures/corpus/oss-repos/express/test/Route.js +0 -274
  325. package/tests/fixtures/corpus/oss-repos/express/test/Router.js +0 -636
  326. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/auth.js +0 -117
  327. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/content-negotiation.js +0 -49
  328. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/cookie-sessions.js +0 -38
  329. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/cookies.js +0 -71
  330. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/downloads.js +0 -47
  331. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/ejs.js +0 -17
  332. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/error-pages.js +0 -99
  333. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/error.js +0 -29
  334. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/hello-world.js +0 -21
  335. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/markdown.js +0 -21
  336. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/multi-router.js +0 -44
  337. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/mvc.js +0 -132
  338. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/params.js +0 -44
  339. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/resource.js +0 -68
  340. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/route-map.js +0 -45
  341. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/route-separation.js +0 -97
  342. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/vhost.js +0 -46
  343. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/web-service.js +0 -105
  344. package/tests/fixtures/corpus/oss-repos/express/test/app.all.js +0 -38
  345. package/tests/fixtures/corpus/oss-repos/express/test/app.engine.js +0 -83
  346. package/tests/fixtures/corpus/oss-repos/express/test/app.head.js +0 -66
  347. package/tests/fixtures/corpus/oss-repos/express/test/app.js +0 -120
  348. package/tests/fixtures/corpus/oss-repos/express/test/app.listen.js +0 -55
  349. package/tests/fixtures/corpus/oss-repos/express/test/app.locals.js +0 -26
  350. package/tests/fixtures/corpus/oss-repos/express/test/app.options.js +0 -116
  351. package/tests/fixtures/corpus/oss-repos/express/test/app.param.js +0 -323
  352. package/tests/fixtures/corpus/oss-repos/express/test/app.render.js +0 -374
  353. package/tests/fixtures/corpus/oss-repos/express/test/app.request.js +0 -143
  354. package/tests/fixtures/corpus/oss-repos/express/test/app.response.js +0 -143
  355. package/tests/fixtures/corpus/oss-repos/express/test/app.route.js +0 -197
  356. package/tests/fixtures/corpus/oss-repos/express/test/app.router.js +0 -1217
  357. package/tests/fixtures/corpus/oss-repos/express/test/app.routes.error.js +0 -62
  358. package/tests/fixtures/corpus/oss-repos/express/test/app.use.js +0 -542
  359. package/tests/fixtures/corpus/oss-repos/express/test/config.js +0 -207
  360. package/tests/fixtures/corpus/oss-repos/express/test/exports.js +0 -82
  361. package/tests/fixtures/corpus/oss-repos/express/test/express.json.js +0 -755
  362. package/tests/fixtures/corpus/oss-repos/express/test/express.raw.js +0 -513
  363. package/tests/fixtures/corpus/oss-repos/express/test/express.static.js +0 -815
  364. package/tests/fixtures/corpus/oss-repos/express/test/express.text.js +0 -566
  365. package/tests/fixtures/corpus/oss-repos/express/test/express.urlencoded.js +0 -828
  366. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/% of dogs.txt +0 -1
  367. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/.name +0 -1
  368. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/blog/index.html +0 -1
  369. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/blog/post/index.tmpl +0 -1
  370. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/broken.send +0 -0
  371. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/default_layout/name.tmpl +0 -1
  372. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/default_layout/user.tmpl +0 -1
  373. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/email.tmpl +0 -1
  374. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/empty.txt +0 -0
  375. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/local_layout/user.tmpl +0 -1
  376. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/name.tmpl +0 -1
  377. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/name.txt +0 -1
  378. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/nums.txt +0 -1
  379. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/pets/names.txt +0 -1
  380. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/snow /342/230/203/.gitkeep +0 -0
  381. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/todo.html +0 -1
  382. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/todo.txt +0 -1
  383. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/user.html +0 -1
  384. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/user.tmpl +0 -1
  385. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/users/index.html +0 -1
  386. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/users/tobi.txt +0 -1
  387. package/tests/fixtures/corpus/oss-repos/express/test/middleware.basic.js +0 -42
  388. package/tests/fixtures/corpus/oss-repos/express/test/regression.js +0 -20
  389. package/tests/fixtures/corpus/oss-repos/express/test/req.accepts.js +0 -125
  390. package/tests/fixtures/corpus/oss-repos/express/test/req.acceptsCharsets.js +0 -50
  391. package/tests/fixtures/corpus/oss-repos/express/test/req.acceptsEncodings.js +0 -39
  392. package/tests/fixtures/corpus/oss-repos/express/test/req.acceptsLanguages.js +0 -57
  393. package/tests/fixtures/corpus/oss-repos/express/test/req.baseUrl.js +0 -88
  394. package/tests/fixtures/corpus/oss-repos/express/test/req.fresh.js +0 -70
  395. package/tests/fixtures/corpus/oss-repos/express/test/req.get.js +0 -60
  396. package/tests/fixtures/corpus/oss-repos/express/test/req.host.js +0 -156
  397. package/tests/fixtures/corpus/oss-repos/express/test/req.hostname.js +0 -188
  398. package/tests/fixtures/corpus/oss-repos/express/test/req.ip.js +0 -113
  399. package/tests/fixtures/corpus/oss-repos/express/test/req.ips.js +0 -71
  400. package/tests/fixtures/corpus/oss-repos/express/test/req.is.js +0 -169
  401. package/tests/fixtures/corpus/oss-repos/express/test/req.path.js +0 -20
  402. package/tests/fixtures/corpus/oss-repos/express/test/req.protocol.js +0 -113
  403. package/tests/fixtures/corpus/oss-repos/express/test/req.query.js +0 -106
  404. package/tests/fixtures/corpus/oss-repos/express/test/req.range.js +0 -104
  405. package/tests/fixtures/corpus/oss-repos/express/test/req.route.js +0 -28
  406. package/tests/fixtures/corpus/oss-repos/express/test/req.secure.js +0 -101
  407. package/tests/fixtures/corpus/oss-repos/express/test/req.signedCookies.js +0 -37
  408. package/tests/fixtures/corpus/oss-repos/express/test/req.stale.js +0 -50
  409. package/tests/fixtures/corpus/oss-repos/express/test/req.subdomains.js +0 -173
  410. package/tests/fixtures/corpus/oss-repos/express/test/req.xhr.js +0 -42
  411. package/tests/fixtures/corpus/oss-repos/express/test/res.append.js +0 -116
  412. package/tests/fixtures/corpus/oss-repos/express/test/res.attachment.js +0 -79
  413. package/tests/fixtures/corpus/oss-repos/express/test/res.clearCookie.js +0 -62
  414. package/tests/fixtures/corpus/oss-repos/express/test/res.cookie.js +0 -295
  415. package/tests/fixtures/corpus/oss-repos/express/test/res.download.js +0 -487
  416. package/tests/fixtures/corpus/oss-repos/express/test/res.format.js +0 -248
  417. package/tests/fixtures/corpus/oss-repos/express/test/res.get.js +0 -21
  418. package/tests/fixtures/corpus/oss-repos/express/test/res.json.js +0 -186
  419. package/tests/fixtures/corpus/oss-repos/express/test/res.jsonp.js +0 -344
  420. package/tests/fixtures/corpus/oss-repos/express/test/res.links.js +0 -65
  421. package/tests/fixtures/corpus/oss-repos/express/test/res.locals.js +0 -40
  422. package/tests/fixtures/corpus/oss-repos/express/test/res.location.js +0 -316
  423. package/tests/fixtures/corpus/oss-repos/express/test/res.redirect.js +0 -214
  424. package/tests/fixtures/corpus/oss-repos/express/test/res.render.js +0 -367
  425. package/tests/fixtures/corpus/oss-repos/express/test/res.send.js +0 -569
  426. package/tests/fixtures/corpus/oss-repos/express/test/res.sendFile.js +0 -913
  427. package/tests/fixtures/corpus/oss-repos/express/test/res.sendStatus.js +0 -44
  428. package/tests/fixtures/corpus/oss-repos/express/test/res.set.js +0 -124
  429. package/tests/fixtures/corpus/oss-repos/express/test/res.status.js +0 -206
  430. package/tests/fixtures/corpus/oss-repos/express/test/res.type.js +0 -46
  431. package/tests/fixtures/corpus/oss-repos/express/test/res.vary.js +0 -90
  432. package/tests/fixtures/corpus/oss-repos/express/test/support/env.js +0 -3
  433. package/tests/fixtures/corpus/oss-repos/express/test/support/tmpl.js +0 -36
  434. package/tests/fixtures/corpus/oss-repos/express/test/support/utils.js +0 -86
  435. package/tests/fixtures/corpus/oss-repos/express/test/utils.js +0 -83
  436. package/tests/fixtures/corpus/oss-repos/hono/.devcontainer/Dockerfile +0 -11
  437. package/tests/fixtures/corpus/oss-repos/hono/.devcontainer/devcontainer.json +0 -21
  438. package/tests/fixtures/corpus/oss-repos/hono/.devcontainer/docker-compose.yml +0 -18
  439. package/tests/fixtures/corpus/oss-repos/hono/.eslintignore +0 -1
  440. package/tests/fixtures/corpus/oss-repos/hono/.eslintrc.cjs +0 -9
  441. package/tests/fixtures/corpus/oss-repos/hono/.gitpod.yml +0 -9
  442. package/tests/fixtures/corpus/oss-repos/hono/.prettierrc +0 -9
  443. package/tests/fixtures/corpus/oss-repos/hono/.vitest.config/jsx-runtime-default.ts +0 -15
  444. package/tests/fixtures/corpus/oss-repos/hono/.vitest.config/jsx-runtime-dom.ts +0 -15
  445. package/tests/fixtures/corpus/oss-repos/hono/.vitest.config/setup-vitest.ts +0 -47
  446. package/tests/fixtures/corpus/oss-repos/hono/LICENSE +0 -21
  447. package/tests/fixtures/corpus/oss-repos/hono/README.md +0 -91
  448. package/tests/fixtures/corpus/oss-repos/hono/build.ts +0 -80
  449. package/tests/fixtures/corpus/oss-repos/hono/bun.lockb +0 -0
  450. package/tests/fixtures/corpus/oss-repos/hono/bunfig.toml +0 -7
  451. package/tests/fixtures/corpus/oss-repos/hono/codecov.yml +0 -13
  452. package/tests/fixtures/corpus/oss-repos/hono/docs/CODE_OF_CONDUCT.md +0 -128
  453. package/tests/fixtures/corpus/oss-repos/hono/docs/CONTRIBUTING.md +0 -62
  454. package/tests/fixtures/corpus/oss-repos/hono/docs/MIGRATION.md +0 -295
  455. package/tests/fixtures/corpus/oss-repos/hono/docs/images/hono-logo.png +0 -0
  456. package/tests/fixtures/corpus/oss-repos/hono/docs/images/hono-logo.pxm +0 -0
  457. package/tests/fixtures/corpus/oss-repos/hono/docs/images/hono-logo.svg +0 -6
  458. package/tests/fixtures/corpus/oss-repos/hono/docs/images/hono-title.png +0 -0
  459. package/tests/fixtures/corpus/oss-repos/hono/docs/images/hono-title.pxm +0 -0
  460. package/tests/fixtures/corpus/oss-repos/hono/jsr.json +0 -119
  461. package/tests/fixtures/corpus/oss-repos/hono/package.cjs.json +0 -3
  462. package/tests/fixtures/corpus/oss-repos/hono/package.json +0 -650
  463. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/aws-lambda/handler.ts +0 -492
  464. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/aws-lambda/index.ts +0 -13
  465. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/aws-lambda/types.ts +0 -144
  466. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/bun/conninfo.ts +0 -28
  467. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/bun/index.ts +0 -9
  468. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/bun/serve-static.ts +0 -35
  469. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/bun/server.ts +0 -30
  470. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/bun/ssg.ts +0 -27
  471. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/bun/websocket.ts +0 -110
  472. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/cloudflare-pages/handler.ts +0 -120
  473. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/cloudflare-pages/index.ts +0 -7
  474. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/cloudflare-workers/conninfo.ts +0 -7
  475. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/cloudflare-workers/index.ts +0 -8
  476. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/cloudflare-workers/serve-static-module.ts +0 -12
  477. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/cloudflare-workers/serve-static.ts +0 -39
  478. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/cloudflare-workers/utils.ts +0 -50
  479. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/cloudflare-workers/websocket.ts +0 -50
  480. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/deno/conninfo.ts +0 -17
  481. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/deno/deno.d.ts +0 -28
  482. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/deno/index.ts +0 -9
  483. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/deno/serve-static.ts +0 -40
  484. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/deno/ssg.ts +0 -27
  485. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/deno/websocket.ts +0 -51
  486. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/lambda-edge/conninfo.ts +0 -15
  487. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/lambda-edge/handler.ts +0 -189
  488. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/lambda-edge/index.ts +0 -14
  489. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/netlify/handler.ts +0 -10
  490. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/netlify/index.ts +0 -6
  491. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/netlify/mod.ts +0 -1
  492. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/service-worker/handler.ts +0 -34
  493. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/service-worker/index.ts +0 -5
  494. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/service-worker/types.ts +0 -14
  495. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/vercel/conninfo.ts +0 -8
  496. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/vercel/handler.ts +0 -9
  497. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/vercel/index.ts +0 -7
  498. package/tests/fixtures/corpus/oss-repos/hono/src/client/client.ts +0 -214
  499. package/tests/fixtures/corpus/oss-repos/hono/src/client/index.ts +0 -14
  500. package/tests/fixtures/corpus/oss-repos/hono/src/client/types.ts +0 -182
  501. package/tests/fixtures/corpus/oss-repos/hono/src/client/utils.ts +0 -54
  502. package/tests/fixtures/corpus/oss-repos/hono/src/compose.ts +0 -94
  503. package/tests/fixtures/corpus/oss-repos/hono/src/context.ts +0 -917
  504. package/tests/fixtures/corpus/oss-repos/hono/src/helper/accepts/accepts.ts +0 -84
  505. package/tests/fixtures/corpus/oss-repos/hono/src/helper/accepts/index.ts +0 -6
  506. package/tests/fixtures/corpus/oss-repos/hono/src/helper/adapter/index.ts +0 -85
  507. package/tests/fixtures/corpus/oss-repos/hono/src/helper/conninfo/index.ts +0 -6
  508. package/tests/fixtures/corpus/oss-repos/hono/src/helper/conninfo/types.ts +0 -45
  509. package/tests/fixtures/corpus/oss-repos/hono/src/helper/cookie/index.ts +0 -130
  510. package/tests/fixtures/corpus/oss-repos/hono/src/helper/css/common.ts +0 -243
  511. package/tests/fixtures/corpus/oss-repos/hono/src/helper/css/index.ts +0 -220
  512. package/tests/fixtures/corpus/oss-repos/hono/src/helper/dev/index.ts +0 -79
  513. package/tests/fixtures/corpus/oss-repos/hono/src/helper/factory/index.ts +0 -246
  514. package/tests/fixtures/corpus/oss-repos/hono/src/helper/html/index.ts +0 -56
  515. package/tests/fixtures/corpus/oss-repos/hono/src/helper/ssg/index.ts +0 -13
  516. package/tests/fixtures/corpus/oss-repos/hono/src/helper/ssg/middleware.ts +0 -79
  517. package/tests/fixtures/corpus/oss-repos/hono/src/helper/ssg/ssg.ts +0 -388
  518. package/tests/fixtures/corpus/oss-repos/hono/src/helper/ssg/utils.ts +0 -71
  519. package/tests/fixtures/corpus/oss-repos/hono/src/helper/streaming/index.ts +0 -9
  520. package/tests/fixtures/corpus/oss-repos/hono/src/helper/streaming/sse.ts +0 -89
  521. package/tests/fixtures/corpus/oss-repos/hono/src/helper/streaming/stream.ts +0 -36
  522. package/tests/fixtures/corpus/oss-repos/hono/src/helper/streaming/text.ts +0 -15
  523. package/tests/fixtures/corpus/oss-repos/hono/src/helper/testing/index.ts +0 -26
  524. package/tests/fixtures/corpus/oss-repos/hono/src/helper/websocket/index.ts +0 -57
  525. package/tests/fixtures/corpus/oss-repos/hono/src/hono-base.ts +0 -523
  526. package/tests/fixtures/corpus/oss-repos/hono/src/hono.ts +0 -34
  527. package/tests/fixtures/corpus/oss-repos/hono/src/http-exception.ts +0 -78
  528. package/tests/fixtures/corpus/oss-repos/hono/src/index.ts +0 -51
  529. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/base.ts +0 -419
  530. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/children.ts +0 -20
  531. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/components.ts +0 -195
  532. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/constants.ts +0 -5
  533. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/context.ts +0 -50
  534. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/client.ts +0 -89
  535. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/components.ts +0 -39
  536. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/context.ts +0 -52
  537. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/css.ts +0 -246
  538. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/hooks/index.ts +0 -91
  539. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/index.ts +0 -159
  540. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/intrinsic-element/components.ts +0 -398
  541. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/jsx-dev-runtime.ts +0 -22
  542. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/jsx-runtime.ts +0 -7
  543. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/render.ts +0 -772
  544. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/server.ts +0 -70
  545. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/utils.ts +0 -7
  546. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/hooks/index.ts +0 -426
  547. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/index.ts +0 -114
  548. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/intrinsic-element/common.ts +0 -11
  549. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/intrinsic-element/components.ts +0 -196
  550. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/intrinsic-elements.ts +0 -924
  551. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/jsx-dev-runtime.ts +0 -26
  552. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/jsx-runtime.ts +0 -18
  553. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/streaming.ts +0 -184
  554. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/types.ts +0 -41
  555. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/utils.ts +0 -36
  556. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/basic-auth/index.ts +0 -128
  557. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/bearer-auth/index.ts +0 -159
  558. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/body-limit/index.ts +0 -115
  559. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/cache/index.ts +0 -127
  560. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/combine/index.ts +0 -153
  561. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/compress/index.ts +0 -79
  562. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/context-storage/index.ts +0 -55
  563. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/cors/index.ts +0 -141
  564. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/csrf/index.ts +0 -90
  565. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/etag/index.ts +0 -88
  566. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/ip-restriction/index.ts +0 -178
  567. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/jsx-renderer/index.ts +0 -158
  568. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/jwt/index.ts +0 -8
  569. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/jwt/jwt.ts +0 -159
  570. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/logger/index.ts +0 -93
  571. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/method-override/index.ts +0 -146
  572. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/powered-by/index.ts +0 -13
  573. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/pretty-json/index.ts +0 -50
  574. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/request-id/index.ts +0 -8
  575. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/request-id/request-id.ts +0 -59
  576. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/secure-headers/index.ts +0 -8
  577. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/secure-headers/permissions-policy.ts +0 -86
  578. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/secure-headers/secure-headers.ts +0 -319
  579. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/serve-static/index.ts +0 -140
  580. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/timeout/index.ts +0 -58
  581. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/timing/index.ts +0 -7
  582. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/timing/timing.ts +0 -225
  583. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/trailing-slash/index.ts +0 -71
  584. package/tests/fixtures/corpus/oss-repos/hono/src/preset/quick.ts +0 -24
  585. package/tests/fixtures/corpus/oss-repos/hono/src/preset/tiny.ts +0 -20
  586. package/tests/fixtures/corpus/oss-repos/hono/src/request.ts +0 -403
  587. package/tests/fixtures/corpus/oss-repos/hono/src/router/linear-router/index.ts +0 -6
  588. package/tests/fixtures/corpus/oss-repos/hono/src/router/linear-router/router.ts +0 -132
  589. package/tests/fixtures/corpus/oss-repos/hono/src/router/pattern-router/index.ts +0 -6
  590. package/tests/fixtures/corpus/oss-repos/hono/src/router/pattern-router/router.ts +0 -54
  591. package/tests/fixtures/corpus/oss-repos/hono/src/router/reg-exp-router/index.ts +0 -6
  592. package/tests/fixtures/corpus/oss-repos/hono/src/router/reg-exp-router/node.ts +0 -159
  593. package/tests/fixtures/corpus/oss-repos/hono/src/router/reg-exp-router/router.ts +0 -274
  594. package/tests/fixtures/corpus/oss-repos/hono/src/router/reg-exp-router/trie.ts +0 -74
  595. package/tests/fixtures/corpus/oss-repos/hono/src/router/smart-router/index.ts +0 -6
  596. package/tests/fixtures/corpus/oss-repos/hono/src/router/smart-router/router.ts +0 -69
  597. package/tests/fixtures/corpus/oss-repos/hono/src/router/trie-router/index.ts +0 -6
  598. package/tests/fixtures/corpus/oss-repos/hono/src/router/trie-router/node.ts +0 -205
  599. package/tests/fixtures/corpus/oss-repos/hono/src/router/trie-router/router.ts +0 -28
  600. package/tests/fixtures/corpus/oss-repos/hono/src/router.ts +0 -103
  601. package/tests/fixtures/corpus/oss-repos/hono/src/types.ts +0 -2006
  602. package/tests/fixtures/corpus/oss-repos/hono/src/utils/basic-auth.ts +0 -26
  603. package/tests/fixtures/corpus/oss-repos/hono/src/utils/body.ts +0 -225
  604. package/tests/fixtures/corpus/oss-repos/hono/src/utils/buffer.ts +0 -65
  605. package/tests/fixtures/corpus/oss-repos/hono/src/utils/color.ts +0 -26
  606. package/tests/fixtures/corpus/oss-repos/hono/src/utils/concurrent.ts +0 -55
  607. package/tests/fixtures/corpus/oss-repos/hono/src/utils/cookie.ts +0 -230
  608. package/tests/fixtures/corpus/oss-repos/hono/src/utils/crypto.ts +0 -65
  609. package/tests/fixtures/corpus/oss-repos/hono/src/utils/encode.ts +0 -34
  610. package/tests/fixtures/corpus/oss-repos/hono/src/utils/filepath.ts +0 -56
  611. package/tests/fixtures/corpus/oss-repos/hono/src/utils/handler.ts +0 -15
  612. package/tests/fixtures/corpus/oss-repos/hono/src/utils/html.ts +0 -182
  613. package/tests/fixtures/corpus/oss-repos/hono/src/utils/http-status.ts +0 -69
  614. package/tests/fixtures/corpus/oss-repos/hono/src/utils/ipaddr.ts +0 -113
  615. package/tests/fixtures/corpus/oss-repos/hono/src/utils/jwt/index.ts +0 -7
  616. package/tests/fixtures/corpus/oss-repos/hono/src/utils/jwt/jwa.ts +0 -23
  617. package/tests/fixtures/corpus/oss-repos/hono/src/utils/jwt/jws.ts +0 -226
  618. package/tests/fixtures/corpus/oss-repos/hono/src/utils/jwt/jwt.ts +0 -114
  619. package/tests/fixtures/corpus/oss-repos/hono/src/utils/jwt/types.ts +0 -83
  620. package/tests/fixtures/corpus/oss-repos/hono/src/utils/jwt/utf8.ts +0 -7
  621. package/tests/fixtures/corpus/oss-repos/hono/src/utils/mime.ts +0 -142
  622. package/tests/fixtures/corpus/oss-repos/hono/src/utils/stream.ts +0 -96
  623. package/tests/fixtures/corpus/oss-repos/hono/src/utils/types.ts +0 -102
  624. package/tests/fixtures/corpus/oss-repos/hono/src/utils/url.ts +0 -310
  625. package/tests/fixtures/corpus/oss-repos/hono/src/validator/index.ts +0 -7
  626. package/tests/fixtures/corpus/oss-repos/hono/src/validator/validator.ts +0 -151
  627. package/tests/fixtures/corpus/oss-repos/hono/tsconfig.build.json +0 -23
  628. package/tests/fixtures/corpus/oss-repos/hono/tsconfig.json +0 -28
  629. package/tests/fixtures/corpus/oss-repos/hono/vitest.config.ts +0 -34
  630. package/tests/fixtures/corpus/oss-repos/hono/yarn.lock +0 -6232
  631. package/tests/fixtures/documentation/api-reference.md +0 -412
  632. package/tests/fixtures/documentation/architecture.md +0 -214
  633. package/tests/fixtures/documentation/deployment-guide.md +0 -420
  634. package/tests/fixtures/github-readmes/express.md +0 -133
  635. package/tests/fixtures/github-readmes/nextjs.md +0 -106
  636. package/tests/fixtures/github-readmes/react.md +0 -74
  637. package/tests/fixtures/github-readmes/typescript.md +0 -93
  638. package/tests/fixtures/github-readmes/vite.md +0 -79
  639. package/tests/fixtures/queries/core.json +0 -125
  640. package/tests/fixtures/queries/extended.json +0 -427
  641. package/tests/fixtures/queries/generated/.gitkeep +0 -0
  642. package/tests/fixtures/test-server.ts +0 -268
  643. package/tests/helpers/performance-metrics.ts +0 -370
  644. package/tests/helpers/search-relevance.ts +0 -326
  645. package/tests/integration/cli-consistency.test.ts +0 -298
  646. package/tests/integration/cli.test.ts +0 -69
  647. package/tests/integration/e2e-workflow.test.ts +0 -614
  648. package/tests/integration/mcp.test.ts +0 -250
  649. package/tests/integration/python-bridge.test.ts +0 -193
  650. package/tests/integration/search-quality.test.ts +0 -720
  651. package/tests/integration/serve.test.ts +0 -260
  652. package/tests/integration/stress.test.ts +0 -326
  653. package/tests/mcp/server.test.ts +0 -15
  654. package/tests/scripts/schemas/evaluation.json +0 -44
  655. package/tests/scripts/schemas/query-generation.json +0 -21
  656. package/tests/services/code-unit.service.test.ts +0 -95
  657. package/tests/services/job.service.test.ts +0 -124
  658. package/tests/services/search.progressive-context.test.ts +0 -35
  659. package/tsconfig.json +0 -34
  660. package/tsup.config.ts +0 -15
  661. package/turndown-plugin-gfm.d.ts +0 -29
  662. package/vitest.config.ts +0 -90
  663. /package/dist/{chunk-AOSDVRRH.js.map → chunk-AIS5S77C.js.map} +0 -0
@@ -1,917 +0,0 @@
1
- import { HonoRequest } from './request'
2
- import type { Result } from './router'
3
- import type {
4
- Env,
5
- FetchEventLike,
6
- H,
7
- Input,
8
- NotFoundHandler,
9
- RouterRoute,
10
- TypedResponse,
11
- } from './types'
12
- import { HtmlEscapedCallbackPhase, resolveCallback } from './utils/html'
13
- import type { RedirectStatusCode, StatusCode } from './utils/http-status'
14
- import type {
15
- InvalidJSONValue,
16
- IsAny,
17
- JSONParsed,
18
- JSONValue,
19
- SimplifyDeepArray,
20
- } from './utils/types'
21
- import type { BaseMime } from './utils/mime'
22
-
23
- type HeaderRecord =
24
- | Record<'Content-Type', BaseMime>
25
- | Record<ResponseHeader, string | string[]>
26
- | Record<string, string | string[]>
27
-
28
- /**
29
- * Data type can be a string, ArrayBuffer, or ReadableStream.
30
- */
31
- export type Data = string | ArrayBuffer | ReadableStream
32
-
33
- /**
34
- * Interface for the execution context in a web worker or similar environment.
35
- */
36
- export interface ExecutionContext {
37
- /**
38
- * Extends the lifetime of the event callback until the promise is settled.
39
- *
40
- * @param promise - A promise to wait for.
41
- */
42
- waitUntil(promise: Promise<unknown>): void
43
- /**
44
- * Allows the event to be passed through to subsequent event listeners.
45
- */
46
- passThroughOnException(): void
47
- }
48
-
49
- /**
50
- * Interface for context variable mapping.
51
- */
52
- export interface ContextVariableMap {}
53
-
54
- /**
55
- * Interface for context renderer.
56
- */
57
- export interface ContextRenderer {}
58
-
59
- /**
60
- * Interface representing a renderer for content.
61
- *
62
- * @interface DefaultRenderer
63
- * @param {string | Promise<string>} content - The content to be rendered, which can be either a string or a Promise resolving to a string.
64
- * @returns {Response | Promise<Response>} - The response after rendering the content, which can be either a Response or a Promise resolving to a Response.
65
- */
66
- interface DefaultRenderer {
67
- (content: string | Promise<string>): Response | Promise<Response>
68
- }
69
-
70
- /**
71
- * Renderer type which can either be a ContextRenderer or DefaultRenderer.
72
- */
73
- export type Renderer = ContextRenderer extends Function ? ContextRenderer : DefaultRenderer
74
-
75
- /**
76
- * Extracts the props for the renderer.
77
- */
78
- export type PropsForRenderer = [...Required<Parameters<Renderer>>] extends [unknown, infer Props]
79
- ? Props
80
- : unknown
81
-
82
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
83
- export type Layout<T = Record<string, any>> = (props: T) => any
84
-
85
- /**
86
- * Interface for getting context variables.
87
- *
88
- * @template E - Environment type.
89
- */
90
- interface Get<E extends Env> {
91
- <Key extends keyof E['Variables']>(key: Key): E['Variables'][Key]
92
- <Key extends keyof ContextVariableMap>(key: Key): ContextVariableMap[Key]
93
- }
94
-
95
- /**
96
- * Interface for setting context variables.
97
- *
98
- * @template E - Environment type.
99
- */
100
- interface Set<E extends Env> {
101
- <Key extends keyof E['Variables']>(key: Key, value: E['Variables'][Key]): void
102
- <Key extends keyof ContextVariableMap>(key: Key, value: ContextVariableMap[Key]): void
103
- }
104
-
105
- /**
106
- * Interface for creating a new response.
107
- */
108
- interface NewResponse {
109
- (data: Data | null, status?: StatusCode, headers?: HeaderRecord): Response
110
- (data: Data | null, init?: ResponseInit): Response
111
- }
112
-
113
- /**
114
- * Interface for responding with a body.
115
- */
116
- interface BodyRespond extends NewResponse {}
117
-
118
- /**
119
- * Interface for responding with text.
120
- *
121
- * @interface TextRespond
122
- * @template T - The type of the text content.
123
- * @template U - The type of the status code.
124
- *
125
- * @param {T} text - The text content to be included in the response.
126
- * @param {U} [status] - An optional status code for the response.
127
- * @param {HeaderRecord} [headers] - An optional record of headers to include in the response.
128
- *
129
- * @returns {Response & TypedResponse<T, U, 'text'>} - The response after rendering the text content, typed with the provided text and status code types.
130
- */
131
- interface TextRespond {
132
- <T extends string, U extends StatusCode = StatusCode>(
133
- text: T,
134
- status?: U,
135
- headers?: HeaderRecord
136
- ): Response & TypedResponse<T, U, 'text'>
137
- <T extends string, U extends StatusCode = StatusCode>(
138
- text: T,
139
- init?: ResponseInit
140
- ): Response & TypedResponse<T, U, 'text'>
141
- }
142
-
143
- /**
144
- * Interface for responding with JSON.
145
- *
146
- * @interface JSONRespond
147
- * @template T - The type of the JSON value or simplified unknown type.
148
- * @template U - The type of the status code.
149
- *
150
- * @param {T} object - The JSON object to be included in the response.
151
- * @param {U} [status] - An optional status code for the response.
152
- * @param {HeaderRecord} [headers] - An optional record of headers to include in the response.
153
- *
154
- * @returns {JSONRespondReturn<T, U>} - The response after rendering the JSON object, typed with the provided object and status code types.
155
- */
156
- interface JSONRespond {
157
- <
158
- T extends JSONValue | SimplifyDeepArray<unknown> | InvalidJSONValue,
159
- U extends StatusCode = StatusCode,
160
- >(
161
- object: T,
162
- status?: U,
163
- headers?: HeaderRecord
164
- ): JSONRespondReturn<T, U>
165
- <
166
- T extends JSONValue | SimplifyDeepArray<unknown> | InvalidJSONValue,
167
- U extends StatusCode = StatusCode,
168
- >(
169
- object: T,
170
- init?: ResponseInit
171
- ): JSONRespondReturn<T, U>
172
- }
173
-
174
- /**
175
- * @template T - The type of the JSON value or simplified unknown type.
176
- * @template U - The type of the status code.
177
- *
178
- * @returns {Response & TypedResponse<SimplifyDeepArray<T> extends JSONValue ? (JSONValue extends SimplifyDeepArray<T> ? never : JSONParsed<T>) : never, U, 'json'>} - The response after rendering the JSON object, typed with the provided object and status code types.
179
- */
180
- type JSONRespondReturn<
181
- T extends JSONValue | SimplifyDeepArray<unknown> | InvalidJSONValue,
182
- U extends StatusCode,
183
- > = Response &
184
- TypedResponse<
185
- SimplifyDeepArray<T> extends JSONValue
186
- ? JSONValue extends SimplifyDeepArray<T>
187
- ? never
188
- : JSONParsed<T>
189
- : never,
190
- U,
191
- 'json'
192
- >
193
-
194
- /**
195
- * Interface representing a function that responds with HTML content.
196
- *
197
- * @param html - The HTML content to respond with, which can be a string or a Promise that resolves to a string.
198
- * @param status - (Optional) The HTTP status code for the response.
199
- * @param headers - (Optional) A record of headers to include in the response.
200
- * @param init - (Optional) The response initialization object.
201
- *
202
- * @returns A Response object or a Promise that resolves to a Response object.
203
- */
204
- interface HTMLRespond {
205
- <T extends string | Promise<string>>(
206
- html: T,
207
- status?: StatusCode,
208
- headers?: HeaderRecord
209
- ): T extends string ? Response : Promise<Response>
210
- <T extends string | Promise<string>>(
211
- html: T,
212
- init?: ResponseInit
213
- ): T extends string ? Response : Promise<Response>
214
- }
215
-
216
- /**
217
- * Options for configuring the context.
218
- *
219
- * @template E - Environment type.
220
- */
221
- type ContextOptions<E extends Env> = {
222
- /**
223
- * Bindings for the environment.
224
- */
225
- env: E['Bindings']
226
- /**
227
- * Execution context for the request.
228
- */
229
- executionCtx?: FetchEventLike | ExecutionContext | undefined
230
- /**
231
- * Handler for not found responses.
232
- */
233
- notFoundHandler?: NotFoundHandler<E>
234
- matchResult?: Result<[H, RouterRoute]>
235
- path?: string
236
- }
237
-
238
- interface SetHeadersOptions {
239
- append?: boolean
240
- }
241
-
242
- type ResponseHeader =
243
- | 'Access-Control-Allow-Credentials'
244
- | 'Access-Control-Allow-Headers'
245
- | 'Access-Control-Allow-Methods'
246
- | 'Access-Control-Allow-Origin'
247
- | 'Access-Control-Expose-Headers'
248
- | 'Access-Control-Max-Age'
249
- | 'Age'
250
- | 'Allow'
251
- | 'Cache-Control'
252
- | 'Clear-Site-Data'
253
- | 'Content-Disposition'
254
- | 'Content-Encoding'
255
- | 'Content-Language'
256
- | 'Content-Length'
257
- | 'Content-Location'
258
- | 'Content-Range'
259
- | 'Content-Security-Policy'
260
- | 'Content-Security-Policy-Report-Only'
261
- | 'Content-Type'
262
- | 'Cookie'
263
- | 'Cross-Origin-Embedder-Policy'
264
- | 'Cross-Origin-Opener-Policy'
265
- | 'Cross-Origin-Resource-Policy'
266
- | 'Date'
267
- | 'ETag'
268
- | 'Expires'
269
- | 'Last-Modified'
270
- | 'Location'
271
- | 'Permissions-Policy'
272
- | 'Pragma'
273
- | 'Retry-After'
274
- | 'Save-Data'
275
- | 'Sec-CH-Prefers-Color-Scheme'
276
- | 'Sec-CH-Prefers-Reduced-Motion'
277
- | 'Sec-CH-UA'
278
- | 'Sec-CH-UA-Arch'
279
- | 'Sec-CH-UA-Bitness'
280
- | 'Sec-CH-UA-Form-Factor'
281
- | 'Sec-CH-UA-Full-Version'
282
- | 'Sec-CH-UA-Full-Version-List'
283
- | 'Sec-CH-UA-Mobile'
284
- | 'Sec-CH-UA-Model'
285
- | 'Sec-CH-UA-Platform'
286
- | 'Sec-CH-UA-Platform-Version'
287
- | 'Sec-CH-UA-WoW64'
288
- | 'Sec-Fetch-Dest'
289
- | 'Sec-Fetch-Mode'
290
- | 'Sec-Fetch-Site'
291
- | 'Sec-Fetch-User'
292
- | 'Sec-GPC'
293
- | 'Server'
294
- | 'Server-Timing'
295
- | 'Service-Worker-Navigation-Preload'
296
- | 'Set-Cookie'
297
- | 'Strict-Transport-Security'
298
- | 'Timing-Allow-Origin'
299
- | 'Trailer'
300
- | 'Transfer-Encoding'
301
- | 'Upgrade'
302
- | 'Vary'
303
- | 'WWW-Authenticate'
304
- | 'Warning'
305
- | 'X-Content-Type-Options'
306
- | 'X-DNS-Prefetch-Control'
307
- | 'X-Frame-Options'
308
- | 'X-Permitted-Cross-Domain-Policies'
309
- | 'X-Powered-By'
310
- | 'X-Robots-Tag'
311
- | 'X-XSS-Protection'
312
-
313
- interface SetHeaders {
314
- (name: 'Content-Type', value?: BaseMime, options?: SetHeadersOptions): void
315
- (name: ResponseHeader, value?: string, options?: SetHeadersOptions): void
316
- (name: string, value?: string, options?: SetHeadersOptions): void
317
- }
318
-
319
- type ResponseHeadersInit =
320
- | [string, string][]
321
- | Record<'Content-Type', BaseMime>
322
- | Record<ResponseHeader, string>
323
- | Record<string, string>
324
- | Headers
325
-
326
- interface ResponseInit {
327
- headers?: ResponseHeadersInit
328
- status?: number
329
- statusText?: string
330
- }
331
-
332
- export const TEXT_PLAIN = 'text/plain; charset=UTF-8'
333
-
334
- /**
335
- * Sets the headers of a response.
336
- *
337
- * @param headers - The Headers object to set the headers on.
338
- * @param map - A record of header key-value pairs to set.
339
- * @returns The updated Headers object.
340
- */
341
- const setHeaders = (headers: Headers, map: Record<string, string> = {}) => {
342
- Object.entries(map).forEach(([key, value]) => headers.set(key, value))
343
- return headers
344
- }
345
-
346
- export class Context<
347
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
348
- E extends Env = any,
349
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
350
- P extends string = any,
351
- I extends Input = {},
352
- > {
353
- #rawRequest: Request
354
- #req: HonoRequest<P, I['out']> | undefined
355
- /**
356
- * `.env` can get bindings (environment variables, secrets, KV namespaces, D1 database, R2 bucket etc.) in Cloudflare Workers.
357
- *
358
- * @see {@link https://hono.dev/docs/api/context#env}
359
- *
360
- * @example
361
- * ```ts
362
- * // Environment object for Cloudflare Workers
363
- * app.get('*', async c => {
364
- * const counter = c.env.COUNTER
365
- * })
366
- * ```
367
- */
368
- env: E['Bindings'] = {}
369
- #var: Map<unknown, unknown> | undefined
370
- finalized: boolean = false
371
- /**
372
- * `.error` can get the error object from the middleware if the Handler throws an error.
373
- *
374
- * @see {@link https://hono.dev/docs/api/context#error}
375
- *
376
- * @example
377
- * ```ts
378
- * app.use('*', async (c, next) => {
379
- * await next()
380
- * if (c.error) {
381
- * // do something...
382
- * }
383
- * })
384
- * ```
385
- */
386
- error: Error | undefined
387
-
388
- #status: StatusCode = 200
389
- #executionCtx: FetchEventLike | ExecutionContext | undefined
390
- #headers: Headers | undefined
391
- #preparedHeaders: Record<string, string> | undefined
392
- #res: Response | undefined
393
- #isFresh = true
394
- #layout: Layout<PropsForRenderer & { Layout: Layout }> | undefined
395
- #renderer: Renderer | undefined
396
- #notFoundHandler: NotFoundHandler<E> | undefined
397
-
398
- #matchResult: Result<[H, RouterRoute]> | undefined
399
- #path: string | undefined
400
-
401
- /**
402
- * Creates an instance of the Context class.
403
- *
404
- * @param req - The Request object.
405
- * @param options - Optional configuration options for the context.
406
- */
407
- constructor(req: Request, options?: ContextOptions<E>) {
408
- this.#rawRequest = req
409
- if (options) {
410
- this.#executionCtx = options.executionCtx
411
- this.env = options.env
412
- this.#notFoundHandler = options.notFoundHandler
413
- this.#path = options.path
414
- this.#matchResult = options.matchResult
415
- }
416
- }
417
-
418
- /**
419
- * `.req` is the instance of {@link HonoRequest}.
420
- */
421
- get req(): HonoRequest<P, I['out']> {
422
- this.#req ??= new HonoRequest(this.#rawRequest, this.#path, this.#matchResult)
423
- return this.#req
424
- }
425
-
426
- /**
427
- * @see {@link https://hono.dev/docs/api/context#event}
428
- * The FetchEvent associated with the current request.
429
- *
430
- * @throws Will throw an error if the context does not have a FetchEvent.
431
- */
432
- get event(): FetchEventLike {
433
- if (this.#executionCtx && 'respondWith' in this.#executionCtx) {
434
- return this.#executionCtx
435
- } else {
436
- throw Error('This context has no FetchEvent')
437
- }
438
- }
439
-
440
- /**
441
- * @see {@link https://hono.dev/docs/api/context#executionctx}
442
- * The ExecutionContext associated with the current request.
443
- *
444
- * @throws Will throw an error if the context does not have an ExecutionContext.
445
- */
446
- get executionCtx(): ExecutionContext {
447
- if (this.#executionCtx) {
448
- return this.#executionCtx as ExecutionContext
449
- } else {
450
- throw Error('This context has no ExecutionContext')
451
- }
452
- }
453
-
454
- /**
455
- * @see {@link https://hono.dev/docs/api/context#res}
456
- * The Response object for the current request.
457
- */
458
- get res(): Response {
459
- this.#isFresh = false
460
- return (this.#res ||= new Response('404 Not Found', { status: 404 }))
461
- }
462
-
463
- /**
464
- * Sets the Response object for the current request.
465
- *
466
- * @param _res - The Response object to set.
467
- */
468
- set res(_res: Response | undefined) {
469
- this.#isFresh = false
470
- if (this.#res && _res) {
471
- try {
472
- for (const [k, v] of this.#res.headers.entries()) {
473
- if (k === 'content-type') {
474
- continue
475
- }
476
- if (k === 'set-cookie') {
477
- const cookies = this.#res.headers.getSetCookie()
478
- _res.headers.delete('set-cookie')
479
- for (const cookie of cookies) {
480
- _res.headers.append('set-cookie', cookie)
481
- }
482
- } else {
483
- _res.headers.set(k, v)
484
- }
485
- }
486
- } catch (e) {
487
- if (e instanceof TypeError && e.message.includes('immutable')) {
488
- // `_res` is immutable (probably a response from a fetch API), so retry with a new response.
489
- this.res = new Response(_res.body, {
490
- headers: _res.headers,
491
- status: _res.status,
492
- })
493
- return
494
- } else {
495
- throw e
496
- }
497
- }
498
- }
499
- this.#res = _res
500
- this.finalized = true
501
- }
502
-
503
- /**
504
- * `.render()` can create a response within a layout.
505
- *
506
- * @see {@link https://hono.dev/docs/api/context#render-setrenderer}
507
- *
508
- * @example
509
- * ```ts
510
- * app.get('/', (c) => {
511
- * return c.render('Hello!')
512
- * })
513
- * ```
514
- */
515
- render: Renderer = (...args) => {
516
- this.#renderer ??= (content: string | Promise<string>) => this.html(content)
517
- return this.#renderer(...args)
518
- }
519
-
520
- /**
521
- * Sets the layout for the response.
522
- *
523
- * @param layout - The layout to set.
524
- * @returns The layout function.
525
- */
526
- setLayout = (
527
- layout: Layout<PropsForRenderer & { Layout: Layout }>
528
- ): Layout<
529
- PropsForRenderer & {
530
- Layout: Layout
531
- }
532
- > => (this.#layout = layout)
533
-
534
- /**
535
- * Gets the current layout for the response.
536
- *
537
- * @returns The current layout function.
538
- */
539
- getLayout = (): Layout<PropsForRenderer & { Layout: Layout }> | undefined => this.#layout
540
-
541
- /**
542
- * `.setRenderer()` can set the layout in the custom middleware.
543
- *
544
- * @see {@link https://hono.dev/docs/api/context#render-setrenderer}
545
- *
546
- * @example
547
- * ```tsx
548
- * app.use('*', async (c, next) => {
549
- * c.setRenderer((content) => {
550
- * return c.html(
551
- * <html>
552
- * <body>
553
- * <p>{content}</p>
554
- * </body>
555
- * </html>
556
- * )
557
- * })
558
- * await next()
559
- * })
560
- * ```
561
- */
562
- setRenderer = (renderer: Renderer): void => {
563
- this.#renderer = renderer
564
- }
565
-
566
- /**
567
- * `.header()` can set headers.
568
- *
569
- * @see {@link https://hono.dev/docs/api/context#body}
570
- *
571
- * @example
572
- * ```ts
573
- * app.get('/welcome', (c) => {
574
- * // Set headers
575
- * c.header('X-Message', 'Hello!')
576
- * c.header('Content-Type', 'text/plain')
577
- *
578
- * return c.body('Thank you for coming')
579
- * })
580
- * ```
581
- */
582
- header: SetHeaders = (name, value, options): void => {
583
- // Clear the header
584
- if (value === undefined) {
585
- if (this.#headers) {
586
- this.#headers.delete(name)
587
- } else if (this.#preparedHeaders) {
588
- delete this.#preparedHeaders[name.toLocaleLowerCase()]
589
- }
590
- if (this.finalized) {
591
- this.res.headers.delete(name)
592
- }
593
- return
594
- }
595
-
596
- if (options?.append) {
597
- if (!this.#headers) {
598
- this.#isFresh = false
599
- this.#headers = new Headers(this.#preparedHeaders)
600
- this.#preparedHeaders = {}
601
- }
602
- this.#headers.append(name, value)
603
- } else {
604
- if (this.#headers) {
605
- this.#headers.set(name, value)
606
- } else {
607
- this.#preparedHeaders ??= {}
608
- this.#preparedHeaders[name.toLowerCase()] = value
609
- }
610
- }
611
-
612
- if (this.finalized) {
613
- if (options?.append) {
614
- this.res.headers.append(name, value)
615
- } else {
616
- this.res.headers.set(name, value)
617
- }
618
- }
619
- }
620
-
621
- status = (status: StatusCode): void => {
622
- this.#isFresh = false
623
- this.#status = status
624
- }
625
-
626
- /**
627
- * `.set()` can set the value specified by the key.
628
- *
629
- * @see {@link https://hono.dev/docs/api/context#set-get}
630
- *
631
- * @example
632
- * ```ts
633
- * app.use('*', async (c, next) => {
634
- * c.set('message', 'Hono is cool!!')
635
- * await next()
636
- * })
637
- * ```
638
- */
639
- set: Set<
640
- IsAny<E> extends true
641
- ? {
642
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
643
- Variables: ContextVariableMap & Record<string, any>
644
- }
645
- : E
646
- > = (key: string, value: unknown) => {
647
- this.#var ??= new Map()
648
- this.#var.set(key, value)
649
- }
650
-
651
- /**
652
- * `.get()` can use the value specified by the key.
653
- *
654
- * @see {@link https://hono.dev/docs/api/context#set-get}
655
- *
656
- * @example
657
- * ```ts
658
- * app.get('/', (c) => {
659
- * const message = c.get('message')
660
- * return c.text(`The message is "${message}"`)
661
- * })
662
- * ```
663
- */
664
- get: Get<
665
- IsAny<E> extends true
666
- ? {
667
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
668
- Variables: ContextVariableMap & Record<string, any>
669
- }
670
- : E
671
- > = (key: string) => {
672
- return this.#var ? this.#var.get(key) : undefined
673
- }
674
-
675
- /**
676
- * `.var` can access the value of a variable.
677
- *
678
- * @see {@link https://hono.dev/docs/api/context#var}
679
- *
680
- * @example
681
- * ```ts
682
- * const result = c.var.client.oneMethod()
683
- * ```
684
- */
685
- // c.var.propName is a read-only
686
- get var(): Readonly<
687
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
688
- ContextVariableMap & (IsAny<E['Variables']> extends true ? Record<string, any> : E['Variables'])
689
- > {
690
- if (!this.#var) {
691
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
692
- return {} as any
693
- }
694
- return Object.fromEntries(this.#var)
695
- }
696
-
697
- newResponse: NewResponse = (
698
- data: Data | null,
699
- arg?: StatusCode | ResponseInit,
700
- headers?: HeaderRecord
701
- ): Response => {
702
- // Optimized
703
- if (this.#isFresh && !headers && !arg && this.#status === 200) {
704
- return new Response(data, {
705
- headers: this.#preparedHeaders,
706
- })
707
- }
708
-
709
- if (arg && typeof arg !== 'number') {
710
- const header = new Headers(arg.headers)
711
- if (this.#headers) {
712
- // If the header is set by c.header() and arg.headers, c.header() will be prioritized.
713
- this.#headers.forEach((v, k) => {
714
- if (k === 'set-cookie') {
715
- header.append(k, v)
716
- } else {
717
- header.set(k, v)
718
- }
719
- })
720
- }
721
- const headers = setHeaders(header, this.#preparedHeaders)
722
- return new Response(data, {
723
- headers,
724
- status: arg.status ?? this.#status,
725
- })
726
- }
727
-
728
- const status = typeof arg === 'number' ? arg : this.#status
729
- this.#preparedHeaders ??= {}
730
-
731
- this.#headers ??= new Headers()
732
- setHeaders(this.#headers, this.#preparedHeaders)
733
-
734
- if (this.#res) {
735
- this.#res.headers.forEach((v, k) => {
736
- if (k === 'set-cookie') {
737
- this.#headers?.append(k, v)
738
- } else {
739
- this.#headers?.set(k, v)
740
- }
741
- })
742
- setHeaders(this.#headers, this.#preparedHeaders)
743
- }
744
-
745
- headers ??= {}
746
- for (const [k, v] of Object.entries(headers)) {
747
- if (typeof v === 'string') {
748
- this.#headers.set(k, v)
749
- } else {
750
- this.#headers.delete(k)
751
- for (const v2 of v) {
752
- this.#headers.append(k, v2)
753
- }
754
- }
755
- }
756
-
757
- return new Response(data, {
758
- status,
759
- headers: this.#headers,
760
- })
761
- }
762
-
763
- /**
764
- * `.body()` can return the HTTP response.
765
- * You can set headers with `.header()` and set HTTP status code with `.status`.
766
- * This can also be set in `.text()`, `.json()` and so on.
767
- *
768
- * @see {@link https://hono.dev/docs/api/context#body}
769
- *
770
- * @example
771
- * ```ts
772
- * app.get('/welcome', (c) => {
773
- * // Set headers
774
- * c.header('X-Message', 'Hello!')
775
- * c.header('Content-Type', 'text/plain')
776
- * // Set HTTP status code
777
- * c.status(201)
778
- *
779
- * // Return the response body
780
- * return c.body('Thank you for coming')
781
- * })
782
- * ```
783
- */
784
- body: BodyRespond = (
785
- data: Data | null,
786
- arg?: StatusCode | ResponseInit,
787
- headers?: HeaderRecord
788
- ): Response => {
789
- return typeof arg === 'number'
790
- ? this.newResponse(data, arg, headers)
791
- : this.newResponse(data, arg)
792
- }
793
-
794
- /**
795
- * `.text()` can render text as `Content-Type:text/plain`.
796
- *
797
- * @see {@link https://hono.dev/docs/api/context#text}
798
- *
799
- * @example
800
- * ```ts
801
- * app.get('/say', (c) => {
802
- * return c.text('Hello!')
803
- * })
804
- * ```
805
- */
806
- text: TextRespond = (
807
- text: string,
808
- arg?: StatusCode | ResponseInit,
809
- headers?: HeaderRecord
810
- ): ReturnType<TextRespond> => {
811
- // If the header is empty, return Response immediately.
812
- // Content-Type will be added automatically as `text/plain`.
813
- if (!this.#preparedHeaders) {
814
- if (this.#isFresh && !headers && !arg) {
815
- // @ts-expect-error `Response` due to missing some types-only keys
816
- return new Response(text)
817
- }
818
- this.#preparedHeaders = {}
819
- }
820
- this.#preparedHeaders['content-type'] = TEXT_PLAIN
821
- // @ts-expect-error `Response` due to missing some types-only keys
822
- return typeof arg === 'number'
823
- ? this.newResponse(text, arg, headers)
824
- : this.newResponse(text, arg)
825
- }
826
-
827
- /**
828
- * `.json()` can render JSON as `Content-Type:application/json`.
829
- *
830
- * @see {@link https://hono.dev/docs/api/context#json}
831
- *
832
- * @example
833
- * ```ts
834
- * app.get('/api', (c) => {
835
- * return c.json({ message: 'Hello!' })
836
- * })
837
- * ```
838
- */
839
- json: JSONRespond = <
840
- T extends JSONValue | SimplifyDeepArray<unknown> | InvalidJSONValue,
841
- U extends StatusCode = StatusCode,
842
- >(
843
- object: T,
844
- arg?: U | ResponseInit,
845
- headers?: HeaderRecord
846
- ): JSONRespondReturn<T, U> => {
847
- const body = JSON.stringify(object)
848
- this.#preparedHeaders ??= {}
849
- this.#preparedHeaders['content-type'] = 'application/json; charset=UTF-8'
850
- /* eslint-disable @typescript-eslint/no-explicit-any */
851
- return (
852
- typeof arg === 'number' ? this.newResponse(body, arg, headers) : this.newResponse(body, arg)
853
- ) as any
854
- }
855
-
856
- html: HTMLRespond = (
857
- html: string | Promise<string>,
858
- arg?: StatusCode | ResponseInit,
859
- headers?: HeaderRecord
860
- ): Response | Promise<Response> => {
861
- this.#preparedHeaders ??= {}
862
- this.#preparedHeaders['content-type'] = 'text/html; charset=UTF-8'
863
-
864
- if (typeof html === 'object') {
865
- return resolveCallback(html, HtmlEscapedCallbackPhase.Stringify, false, {}).then((html) => {
866
- return typeof arg === 'number'
867
- ? this.newResponse(html, arg, headers)
868
- : this.newResponse(html, arg)
869
- })
870
- }
871
-
872
- return typeof arg === 'number'
873
- ? this.newResponse(html as string, arg, headers)
874
- : this.newResponse(html as string, arg)
875
- }
876
-
877
- /**
878
- * `.redirect()` can Redirect, default status code is 302.
879
- *
880
- * @see {@link https://hono.dev/docs/api/context#redirect}
881
- *
882
- * @example
883
- * ```ts
884
- * app.get('/redirect', (c) => {
885
- * return c.redirect('/')
886
- * })
887
- * app.get('/redirect-permanently', (c) => {
888
- * return c.redirect('/', 301)
889
- * })
890
- * ```
891
- */
892
- redirect = <T extends RedirectStatusCode = 302>(
893
- location: string,
894
- status?: T
895
- ): Response & TypedResponse<undefined, T, 'redirect'> => {
896
- this.#headers ??= new Headers()
897
- this.#headers.set('Location', location)
898
- return this.newResponse(null, status ?? 302) as any
899
- }
900
-
901
- /**
902
- * `.notFound()` can return the Not Found Response.
903
- *
904
- * @see {@link https://hono.dev/docs/api/context#notfound}
905
- *
906
- * @example
907
- * ```ts
908
- * app.get('/notfound', (c) => {
909
- * return c.notFound()
910
- * })
911
- * ```
912
- */
913
- notFound = (): Response | Promise<Response> => {
914
- this.#notFoundHandler ??= () => new Response()
915
- return this.#notFoundHandler(this)
916
- }
917
- }