bluera-knowledge 0.14.0 → 0.14.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (659) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/CHANGELOG.md +14 -0
  3. package/dist/{chunk-AIS5S77C.js → chunk-X7E4RYJE.js} +51 -9
  4. package/dist/{chunk-AIS5S77C.js.map → chunk-X7E4RYJE.js.map} +1 -1
  5. package/dist/index.js +1 -1
  6. package/dist/workers/background-worker-cli.js +1 -1
  7. package/package.json +12 -1
  8. package/.claude/commands/code-review.md +0 -15
  9. package/.claude/commands/commit.md +0 -34
  10. package/.claude/council-cache/1a43ed5977b8f29afc79a9bf5c4082ee5ad8338c42ab991a4241a48f80c1e46d.json +0 -7
  11. package/.claude/hooks/post-edit-check.sh +0 -40
  12. package/.claude/rules/code-quality.md +0 -12
  13. package/.claude/rules/git.md +0 -5
  14. package/.claude/rules/versioning.md +0 -7
  15. package/.claude/settings.local.json.example +0 -45
  16. package/.claude/skills/atomic-commits/SKILL.md +0 -61
  17. package/.claude/skills/code-review-repo/skill.md +0 -62
  18. package/.editorconfig +0 -15
  19. package/.env.example +0 -21
  20. package/.github/workflows/auto-release.yml +0 -64
  21. package/.github/workflows/ci.yml +0 -168
  22. package/.github/workflows/release.yml +0 -74
  23. package/.github/workflows/update-marketplace.yml +0 -96
  24. package/.husky/pre-commit +0 -48
  25. package/.husky/pre-push +0 -39
  26. package/.mcp.json +0 -11
  27. package/.prettierrc +0 -9
  28. package/.versionrc.json +0 -24
  29. package/CLAUDE.md +0 -110
  30. package/CONTRIBUTING.md +0 -307
  31. package/NOTICE +0 -47
  32. package/SECURITY.md +0 -65
  33. package/bun.lock +0 -2036
  34. package/docs/claude-code-best-practices.md +0 -458
  35. package/docs/cli.md +0 -170
  36. package/docs/commands.md +0 -392
  37. package/docs/crawler-architecture.md +0 -89
  38. package/docs/mcp-integration.md +0 -130
  39. package/docs/token-efficiency.md +0 -91
  40. package/eslint-rules/require-skip-comment.js +0 -81
  41. package/eslint.config.js +0 -103
  42. package/knip.json +0 -43
  43. package/scripts/test-mcp-dev.js +0 -260
  44. package/scripts/validate-npm-release.sh +0 -314
  45. package/src/analysis/adapter-registry.test.ts +0 -211
  46. package/src/analysis/adapter-registry.ts +0 -155
  47. package/src/analysis/ast-parser.test.ts +0 -470
  48. package/src/analysis/ast-parser.ts +0 -198
  49. package/src/analysis/code-graph.test.ts +0 -718
  50. package/src/analysis/code-graph.ts +0 -249
  51. package/src/analysis/dependency-usage-analyzer.test.ts +0 -619
  52. package/src/analysis/dependency-usage-analyzer.ts +0 -433
  53. package/src/analysis/go-ast-parser.test.ts +0 -531
  54. package/src/analysis/go-ast-parser.ts +0 -471
  55. package/src/analysis/language-adapter.ts +0 -127
  56. package/src/analysis/parser-factory.test.ts +0 -210
  57. package/src/analysis/parser-factory.ts +0 -52
  58. package/src/analysis/python-ast-parser.test.ts +0 -210
  59. package/src/analysis/python-ast-parser.ts +0 -34
  60. package/src/analysis/repo-url-resolver.test.ts +0 -533
  61. package/src/analysis/repo-url-resolver.ts +0 -233
  62. package/src/analysis/rust-ast-parser.test.ts +0 -568
  63. package/src/analysis/rust-ast-parser.ts +0 -467
  64. package/src/analysis/tree-sitter-parser.test.ts +0 -297
  65. package/src/analysis/tree-sitter-parser.ts +0 -217
  66. package/src/analysis/zil/index.ts +0 -34
  67. package/src/analysis/zil/zil-adapter.test.ts +0 -187
  68. package/src/analysis/zil/zil-adapter.ts +0 -121
  69. package/src/analysis/zil/zil-lexer.test.ts +0 -222
  70. package/src/analysis/zil/zil-lexer.ts +0 -239
  71. package/src/analysis/zil/zil-parser.test.ts +0 -210
  72. package/src/analysis/zil/zil-parser.ts +0 -360
  73. package/src/analysis/zil/zil-special-forms.ts +0 -193
  74. package/src/cli/commands/crawl.test.ts +0 -1086
  75. package/src/cli/commands/crawl.ts +0 -220
  76. package/src/cli/commands/index-cmd.test.ts +0 -733
  77. package/src/cli/commands/index-cmd.ts +0 -128
  78. package/src/cli/commands/mcp.test.ts +0 -218
  79. package/src/cli/commands/mcp.ts +0 -18
  80. package/src/cli/commands/plugin-api.test.ts +0 -373
  81. package/src/cli/commands/plugin-api.ts +0 -82
  82. package/src/cli/commands/search.test.ts +0 -1047
  83. package/src/cli/commands/search.ts +0 -197
  84. package/src/cli/commands/serve.test.ts +0 -371
  85. package/src/cli/commands/serve.ts +0 -43
  86. package/src/cli/commands/setup.test.ts +0 -895
  87. package/src/cli/commands/setup.ts +0 -176
  88. package/src/cli/commands/store.test.ts +0 -1370
  89. package/src/cli/commands/store.ts +0 -229
  90. package/src/cli/commands/sync.test.ts +0 -54
  91. package/src/cli/commands/sync.ts +0 -313
  92. package/src/cli/index.ts +0 -8
  93. package/src/cli/program.ts +0 -59
  94. package/src/crawl/article-converter.test.ts +0 -576
  95. package/src/crawl/article-converter.ts +0 -142
  96. package/src/crawl/bridge.test.ts +0 -796
  97. package/src/crawl/bridge.ts +0 -349
  98. package/src/crawl/claude-client.test.ts +0 -902
  99. package/src/crawl/claude-client.ts +0 -261
  100. package/src/crawl/intelligent-crawler.test.ts +0 -1028
  101. package/src/crawl/intelligent-crawler.ts +0 -478
  102. package/src/crawl/markdown-utils.test.ts +0 -703
  103. package/src/crawl/markdown-utils.ts +0 -225
  104. package/src/crawl/schemas.ts +0 -114
  105. package/src/db/embeddings.test.ts +0 -79
  106. package/src/db/embeddings.ts +0 -78
  107. package/src/db/index.ts +0 -2
  108. package/src/db/lance.test.ts +0 -479
  109. package/src/db/lance.ts +0 -190
  110. package/src/defaults/repos.ts +0 -67
  111. package/src/index.ts +0 -124
  112. package/src/logging/index.ts +0 -25
  113. package/src/logging/logger.test.ts +0 -75
  114. package/src/logging/logger.ts +0 -145
  115. package/src/logging/payload.test.ts +0 -152
  116. package/src/logging/payload.ts +0 -119
  117. package/src/mcp/cache.test.ts +0 -202
  118. package/src/mcp/cache.ts +0 -103
  119. package/src/mcp/commands/index.ts +0 -24
  120. package/src/mcp/commands/job.commands.ts +0 -48
  121. package/src/mcp/commands/meta.commands.ts +0 -54
  122. package/src/mcp/commands/registry.ts +0 -180
  123. package/src/mcp/commands/store.commands.ts +0 -75
  124. package/src/mcp/commands/sync.commands.test.ts +0 -371
  125. package/src/mcp/commands/sync.commands.ts +0 -263
  126. package/src/mcp/commands/uninstall.commands.test.ts +0 -37
  127. package/src/mcp/commands/uninstall.commands.ts +0 -29
  128. package/src/mcp/handlers/execute.handler.test.ts +0 -179
  129. package/src/mcp/handlers/execute.handler.ts +0 -23
  130. package/src/mcp/handlers/index.ts +0 -39
  131. package/src/mcp/handlers/job.handler.test.ts +0 -189
  132. package/src/mcp/handlers/job.handler.ts +0 -118
  133. package/src/mcp/handlers/search.handler.test.ts +0 -324
  134. package/src/mcp/handlers/search.handler.ts +0 -287
  135. package/src/mcp/handlers/store.handler.test.ts +0 -408
  136. package/src/mcp/handlers/store.handler.ts +0 -318
  137. package/src/mcp/handlers/uninstall.handler.test.ts +0 -194
  138. package/src/mcp/handlers/uninstall.handler.ts +0 -142
  139. package/src/mcp/plugin-mcp-config.test.ts +0 -71
  140. package/src/mcp/schemas/index.test.ts +0 -356
  141. package/src/mcp/schemas/index.ts +0 -155
  142. package/src/mcp/server.test.ts +0 -91
  143. package/src/mcp/server.ts +0 -235
  144. package/src/mcp/types.ts +0 -41
  145. package/src/plugin/commands.test.ts +0 -925
  146. package/src/plugin/commands.ts +0 -311
  147. package/src/plugin/dependency-analyzer.test.ts +0 -380
  148. package/src/plugin/dependency-analyzer.ts +0 -210
  149. package/src/plugin/git-clone.test.ts +0 -387
  150. package/src/plugin/git-clone.ts +0 -57
  151. package/src/scripts/validate-npm-release.test.ts +0 -70
  152. package/src/server/app.test.ts +0 -752
  153. package/src/server/app.ts +0 -128
  154. package/src/server/index.test.ts +0 -475
  155. package/src/server/index.ts +0 -1
  156. package/src/services/chunking.service.test.ts +0 -363
  157. package/src/services/chunking.service.ts +0 -380
  158. package/src/services/code-graph.service.test.ts +0 -298
  159. package/src/services/code-graph.service.ts +0 -326
  160. package/src/services/code-unit.service.test.ts +0 -693
  161. package/src/services/code-unit.service.ts +0 -234
  162. package/src/services/config.service.test.ts +0 -146
  163. package/src/services/config.service.ts +0 -92
  164. package/src/services/gitignore.service.test.ts +0 -157
  165. package/src/services/gitignore.service.ts +0 -132
  166. package/src/services/index.service.test.ts +0 -2301
  167. package/src/services/index.service.ts +0 -442
  168. package/src/services/index.ts +0 -119
  169. package/src/services/job.service.test.ts +0 -531
  170. package/src/services/job.service.ts +0 -298
  171. package/src/services/project-root.service.test.ts +0 -504
  172. package/src/services/project-root.service.ts +0 -112
  173. package/src/services/search.service.test.ts +0 -2263
  174. package/src/services/search.service.ts +0 -1341
  175. package/src/services/services.test.ts +0 -108
  176. package/src/services/snippet.service.test.ts +0 -213
  177. package/src/services/snippet.service.ts +0 -193
  178. package/src/services/store-definition.service.test.ts +0 -440
  179. package/src/services/store-definition.service.ts +0 -198
  180. package/src/services/store.service.test.ts +0 -843
  181. package/src/services/store.service.ts +0 -363
  182. package/src/services/token.service.test.ts +0 -45
  183. package/src/services/token.service.ts +0 -33
  184. package/src/services/watch.service.test.ts +0 -600
  185. package/src/services/watch.service.ts +0 -84
  186. package/src/types/brands.test.ts +0 -47
  187. package/src/types/brands.ts +0 -32
  188. package/src/types/config.ts +0 -79
  189. package/src/types/document.ts +0 -54
  190. package/src/types/index.ts +0 -73
  191. package/src/types/job.ts +0 -61
  192. package/src/types/progress.ts +0 -9
  193. package/src/types/result.test.ts +0 -54
  194. package/src/types/result.ts +0 -41
  195. package/src/types/search.ts +0 -105
  196. package/src/types/store-definition.test.ts +0 -492
  197. package/src/types/store-definition.ts +0 -129
  198. package/src/types/store.test.ts +0 -69
  199. package/src/types/store.ts +0 -47
  200. package/src/utils/type-guards.test.ts +0 -351
  201. package/src/utils/type-guards.ts +0 -61
  202. package/src/workers/background-worker-cli.test.ts +0 -35
  203. package/src/workers/background-worker-cli.ts +0 -149
  204. package/src/workers/background-worker.test.ts +0 -222
  205. package/src/workers/background-worker.ts +0 -322
  206. package/src/workers/pid-file.test.ts +0 -167
  207. package/src/workers/pid-file.ts +0 -82
  208. package/src/workers/spawn-worker.test.ts +0 -194
  209. package/src/workers/spawn-worker.ts +0 -70
  210. package/tests/analysis/ast-parser.test.ts +0 -98
  211. package/tests/analysis/code-graph.test.ts +0 -60
  212. package/tests/fixtures/README.md +0 -114
  213. package/tests/fixtures/code-snippets/api/error-handling.ts +0 -256
  214. package/tests/fixtures/code-snippets/api/rest-controller.ts +0 -297
  215. package/tests/fixtures/code-snippets/auth/jwt-auth.ts +0 -197
  216. package/tests/fixtures/code-snippets/auth/oauth-flow.ts +0 -245
  217. package/tests/fixtures/code-snippets/database/repository-pattern.ts +0 -280
  218. package/tests/fixtures/corpus/VERSION.md +0 -25
  219. package/tests/fixtures/corpus/articles/jwt-authentication.md +0 -97
  220. package/tests/fixtures/corpus/articles/react-hooks-patterns.md +0 -127
  221. package/tests/fixtures/corpus/articles/typescript-generics.md +0 -111
  222. package/tests/fixtures/corpus/documentation/express-middleware.md +0 -71
  223. package/tests/fixtures/corpus/documentation/express-routing.md +0 -83
  224. package/tests/fixtures/corpus/documentation/node-streams.md +0 -78
  225. package/tests/fixtures/corpus/oss-repos/express/History.md +0 -3871
  226. package/tests/fixtures/corpus/oss-repos/express/LICENSE +0 -24
  227. package/tests/fixtures/corpus/oss-repos/express/README.md +0 -276
  228. package/tests/fixtures/corpus/oss-repos/express/SECURITY.md +0 -56
  229. package/tests/fixtures/corpus/oss-repos/express/benchmarks/Makefile +0 -17
  230. package/tests/fixtures/corpus/oss-repos/express/benchmarks/README.md +0 -34
  231. package/tests/fixtures/corpus/oss-repos/express/benchmarks/middleware.js +0 -20
  232. package/tests/fixtures/corpus/oss-repos/express/benchmarks/run +0 -18
  233. package/tests/fixtures/corpus/oss-repos/express/examples/README.md +0 -29
  234. package/tests/fixtures/corpus/oss-repos/express/examples/auth/index.js +0 -134
  235. package/tests/fixtures/corpus/oss-repos/express/examples/auth/views/foot.ejs +0 -2
  236. package/tests/fixtures/corpus/oss-repos/express/examples/auth/views/head.ejs +0 -20
  237. package/tests/fixtures/corpus/oss-repos/express/examples/auth/views/login.ejs +0 -21
  238. package/tests/fixtures/corpus/oss-repos/express/examples/content-negotiation/db.js +0 -9
  239. package/tests/fixtures/corpus/oss-repos/express/examples/content-negotiation/index.js +0 -46
  240. package/tests/fixtures/corpus/oss-repos/express/examples/content-negotiation/users.js +0 -19
  241. package/tests/fixtures/corpus/oss-repos/express/examples/cookie-sessions/index.js +0 -25
  242. package/tests/fixtures/corpus/oss-repos/express/examples/cookies/index.js +0 -53
  243. 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
  244. package/tests/fixtures/corpus/oss-repos/express/examples/downloads/files/amazing.txt +0 -1
  245. package/tests/fixtures/corpus/oss-repos/express/examples/downloads/files/notes/groceries.txt +0 -3
  246. package/tests/fixtures/corpus/oss-repos/express/examples/downloads/index.js +0 -40
  247. package/tests/fixtures/corpus/oss-repos/express/examples/ejs/index.js +0 -57
  248. package/tests/fixtures/corpus/oss-repos/express/examples/ejs/public/stylesheets/style.css +0 -4
  249. package/tests/fixtures/corpus/oss-repos/express/examples/ejs/views/footer.html +0 -2
  250. package/tests/fixtures/corpus/oss-repos/express/examples/ejs/views/header.html +0 -9
  251. package/tests/fixtures/corpus/oss-repos/express/examples/ejs/views/users.html +0 -10
  252. package/tests/fixtures/corpus/oss-repos/express/examples/error/index.js +0 -53
  253. package/tests/fixtures/corpus/oss-repos/express/examples/error-pages/index.js +0 -103
  254. package/tests/fixtures/corpus/oss-repos/express/examples/error-pages/views/404.ejs +0 -3
  255. package/tests/fixtures/corpus/oss-repos/express/examples/error-pages/views/500.ejs +0 -8
  256. package/tests/fixtures/corpus/oss-repos/express/examples/error-pages/views/error_header.ejs +0 -10
  257. package/tests/fixtures/corpus/oss-repos/express/examples/error-pages/views/footer.ejs +0 -2
  258. package/tests/fixtures/corpus/oss-repos/express/examples/error-pages/views/index.ejs +0 -20
  259. package/tests/fixtures/corpus/oss-repos/express/examples/hello-world/index.js +0 -15
  260. package/tests/fixtures/corpus/oss-repos/express/examples/markdown/index.js +0 -44
  261. package/tests/fixtures/corpus/oss-repos/express/examples/markdown/views/index.md +0 -4
  262. package/tests/fixtures/corpus/oss-repos/express/examples/multi-router/controllers/api_v1.js +0 -15
  263. package/tests/fixtures/corpus/oss-repos/express/examples/multi-router/controllers/api_v2.js +0 -15
  264. package/tests/fixtures/corpus/oss-repos/express/examples/multi-router/index.js +0 -18
  265. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/controllers/main/index.js +0 -5
  266. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/controllers/pet/index.js +0 -31
  267. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/controllers/pet/views/edit.ejs +0 -17
  268. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/controllers/pet/views/show.ejs +0 -15
  269. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/controllers/user/index.js +0 -41
  270. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/controllers/user/views/edit.hbs +0 -27
  271. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/controllers/user/views/list.hbs +0 -18
  272. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/controllers/user/views/show.hbs +0 -31
  273. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/controllers/user-pet/index.js +0 -22
  274. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/db.js +0 -16
  275. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/index.js +0 -95
  276. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/lib/boot.js +0 -83
  277. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/public/style.css +0 -14
  278. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/views/404.ejs +0 -13
  279. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/views/5xx.ejs +0 -13
  280. package/tests/fixtures/corpus/oss-repos/express/examples/online/index.js +0 -61
  281. package/tests/fixtures/corpus/oss-repos/express/examples/params/index.js +0 -74
  282. package/tests/fixtures/corpus/oss-repos/express/examples/resource/index.js +0 -95
  283. package/tests/fixtures/corpus/oss-repos/express/examples/route-map/index.js +0 -75
  284. package/tests/fixtures/corpus/oss-repos/express/examples/route-middleware/index.js +0 -90
  285. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/index.js +0 -55
  286. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/post.js +0 -13
  287. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/public/style.css +0 -24
  288. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/site.js +0 -5
  289. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/user.js +0 -47
  290. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/views/footer.ejs +0 -2
  291. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/views/header.ejs +0 -9
  292. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/views/index.ejs +0 -10
  293. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/views/posts/index.ejs +0 -12
  294. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/views/users/edit.ejs +0 -23
  295. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/views/users/index.ejs +0 -14
  296. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/views/users/view.ejs +0 -9
  297. package/tests/fixtures/corpus/oss-repos/express/examples/search/index.js +0 -61
  298. package/tests/fixtures/corpus/oss-repos/express/examples/search/public/client.js +0 -15
  299. package/tests/fixtures/corpus/oss-repos/express/examples/search/public/index.html +0 -21
  300. package/tests/fixtures/corpus/oss-repos/express/examples/session/index.js +0 -37
  301. package/tests/fixtures/corpus/oss-repos/express/examples/session/redis.js +0 -39
  302. package/tests/fixtures/corpus/oss-repos/express/examples/static-files/index.js +0 -43
  303. package/tests/fixtures/corpus/oss-repos/express/examples/static-files/public/css/style.css +0 -3
  304. package/tests/fixtures/corpus/oss-repos/express/examples/static-files/public/hello.txt +0 -1
  305. package/tests/fixtures/corpus/oss-repos/express/examples/static-files/public/js/app.js +0 -1
  306. package/tests/fixtures/corpus/oss-repos/express/examples/vhost/index.js +0 -53
  307. package/tests/fixtures/corpus/oss-repos/express/examples/view-constructor/github-view.js +0 -53
  308. package/tests/fixtures/corpus/oss-repos/express/examples/view-constructor/index.js +0 -48
  309. package/tests/fixtures/corpus/oss-repos/express/examples/view-locals/index.js +0 -155
  310. package/tests/fixtures/corpus/oss-repos/express/examples/view-locals/user.js +0 -36
  311. package/tests/fixtures/corpus/oss-repos/express/examples/view-locals/views/index.ejs +0 -20
  312. package/tests/fixtures/corpus/oss-repos/express/examples/web-service/index.js +0 -117
  313. package/tests/fixtures/corpus/oss-repos/express/index.js +0 -11
  314. package/tests/fixtures/corpus/oss-repos/express/lib/application.js +0 -631
  315. package/tests/fixtures/corpus/oss-repos/express/lib/express.js +0 -81
  316. package/tests/fixtures/corpus/oss-repos/express/lib/request.js +0 -514
  317. package/tests/fixtures/corpus/oss-repos/express/lib/response.js +0 -1053
  318. package/tests/fixtures/corpus/oss-repos/express/lib/utils.js +0 -271
  319. package/tests/fixtures/corpus/oss-repos/express/lib/view.js +0 -205
  320. package/tests/fixtures/corpus/oss-repos/express/package.json +0 -99
  321. package/tests/fixtures/corpus/oss-repos/express/test/Route.js +0 -274
  322. package/tests/fixtures/corpus/oss-repos/express/test/Router.js +0 -636
  323. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/auth.js +0 -117
  324. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/content-negotiation.js +0 -49
  325. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/cookie-sessions.js +0 -38
  326. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/cookies.js +0 -71
  327. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/downloads.js +0 -47
  328. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/ejs.js +0 -17
  329. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/error-pages.js +0 -99
  330. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/error.js +0 -29
  331. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/hello-world.js +0 -21
  332. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/markdown.js +0 -21
  333. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/multi-router.js +0 -44
  334. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/mvc.js +0 -132
  335. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/params.js +0 -44
  336. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/resource.js +0 -68
  337. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/route-map.js +0 -45
  338. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/route-separation.js +0 -97
  339. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/vhost.js +0 -46
  340. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/web-service.js +0 -105
  341. package/tests/fixtures/corpus/oss-repos/express/test/app.all.js +0 -38
  342. package/tests/fixtures/corpus/oss-repos/express/test/app.engine.js +0 -83
  343. package/tests/fixtures/corpus/oss-repos/express/test/app.head.js +0 -66
  344. package/tests/fixtures/corpus/oss-repos/express/test/app.js +0 -120
  345. package/tests/fixtures/corpus/oss-repos/express/test/app.listen.js +0 -55
  346. package/tests/fixtures/corpus/oss-repos/express/test/app.locals.js +0 -26
  347. package/tests/fixtures/corpus/oss-repos/express/test/app.options.js +0 -116
  348. package/tests/fixtures/corpus/oss-repos/express/test/app.param.js +0 -323
  349. package/tests/fixtures/corpus/oss-repos/express/test/app.render.js +0 -374
  350. package/tests/fixtures/corpus/oss-repos/express/test/app.request.js +0 -143
  351. package/tests/fixtures/corpus/oss-repos/express/test/app.response.js +0 -143
  352. package/tests/fixtures/corpus/oss-repos/express/test/app.route.js +0 -197
  353. package/tests/fixtures/corpus/oss-repos/express/test/app.router.js +0 -1217
  354. package/tests/fixtures/corpus/oss-repos/express/test/app.routes.error.js +0 -62
  355. package/tests/fixtures/corpus/oss-repos/express/test/app.use.js +0 -542
  356. package/tests/fixtures/corpus/oss-repos/express/test/config.js +0 -207
  357. package/tests/fixtures/corpus/oss-repos/express/test/exports.js +0 -82
  358. package/tests/fixtures/corpus/oss-repos/express/test/express.json.js +0 -755
  359. package/tests/fixtures/corpus/oss-repos/express/test/express.raw.js +0 -513
  360. package/tests/fixtures/corpus/oss-repos/express/test/express.static.js +0 -815
  361. package/tests/fixtures/corpus/oss-repos/express/test/express.text.js +0 -566
  362. package/tests/fixtures/corpus/oss-repos/express/test/express.urlencoded.js +0 -828
  363. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/% of dogs.txt +0 -1
  364. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/.name +0 -1
  365. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/blog/index.html +0 -1
  366. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/blog/post/index.tmpl +0 -1
  367. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/broken.send +0 -0
  368. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/default_layout/name.tmpl +0 -1
  369. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/default_layout/user.tmpl +0 -1
  370. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/email.tmpl +0 -1
  371. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/empty.txt +0 -0
  372. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/local_layout/user.tmpl +0 -1
  373. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/name.tmpl +0 -1
  374. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/name.txt +0 -1
  375. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/nums.txt +0 -1
  376. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/pets/names.txt +0 -1
  377. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/snow /342/230/203/.gitkeep +0 -0
  378. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/todo.html +0 -1
  379. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/todo.txt +0 -1
  380. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/user.html +0 -1
  381. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/user.tmpl +0 -1
  382. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/users/index.html +0 -1
  383. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/users/tobi.txt +0 -1
  384. package/tests/fixtures/corpus/oss-repos/express/test/middleware.basic.js +0 -42
  385. package/tests/fixtures/corpus/oss-repos/express/test/regression.js +0 -20
  386. package/tests/fixtures/corpus/oss-repos/express/test/req.accepts.js +0 -125
  387. package/tests/fixtures/corpus/oss-repos/express/test/req.acceptsCharsets.js +0 -50
  388. package/tests/fixtures/corpus/oss-repos/express/test/req.acceptsEncodings.js +0 -39
  389. package/tests/fixtures/corpus/oss-repos/express/test/req.acceptsLanguages.js +0 -57
  390. package/tests/fixtures/corpus/oss-repos/express/test/req.baseUrl.js +0 -88
  391. package/tests/fixtures/corpus/oss-repos/express/test/req.fresh.js +0 -70
  392. package/tests/fixtures/corpus/oss-repos/express/test/req.get.js +0 -60
  393. package/tests/fixtures/corpus/oss-repos/express/test/req.host.js +0 -156
  394. package/tests/fixtures/corpus/oss-repos/express/test/req.hostname.js +0 -188
  395. package/tests/fixtures/corpus/oss-repos/express/test/req.ip.js +0 -113
  396. package/tests/fixtures/corpus/oss-repos/express/test/req.ips.js +0 -71
  397. package/tests/fixtures/corpus/oss-repos/express/test/req.is.js +0 -169
  398. package/tests/fixtures/corpus/oss-repos/express/test/req.path.js +0 -20
  399. package/tests/fixtures/corpus/oss-repos/express/test/req.protocol.js +0 -113
  400. package/tests/fixtures/corpus/oss-repos/express/test/req.query.js +0 -106
  401. package/tests/fixtures/corpus/oss-repos/express/test/req.range.js +0 -104
  402. package/tests/fixtures/corpus/oss-repos/express/test/req.route.js +0 -28
  403. package/tests/fixtures/corpus/oss-repos/express/test/req.secure.js +0 -101
  404. package/tests/fixtures/corpus/oss-repos/express/test/req.signedCookies.js +0 -37
  405. package/tests/fixtures/corpus/oss-repos/express/test/req.stale.js +0 -50
  406. package/tests/fixtures/corpus/oss-repos/express/test/req.subdomains.js +0 -173
  407. package/tests/fixtures/corpus/oss-repos/express/test/req.xhr.js +0 -42
  408. package/tests/fixtures/corpus/oss-repos/express/test/res.append.js +0 -116
  409. package/tests/fixtures/corpus/oss-repos/express/test/res.attachment.js +0 -79
  410. package/tests/fixtures/corpus/oss-repos/express/test/res.clearCookie.js +0 -62
  411. package/tests/fixtures/corpus/oss-repos/express/test/res.cookie.js +0 -295
  412. package/tests/fixtures/corpus/oss-repos/express/test/res.download.js +0 -487
  413. package/tests/fixtures/corpus/oss-repos/express/test/res.format.js +0 -248
  414. package/tests/fixtures/corpus/oss-repos/express/test/res.get.js +0 -21
  415. package/tests/fixtures/corpus/oss-repos/express/test/res.json.js +0 -186
  416. package/tests/fixtures/corpus/oss-repos/express/test/res.jsonp.js +0 -344
  417. package/tests/fixtures/corpus/oss-repos/express/test/res.links.js +0 -65
  418. package/tests/fixtures/corpus/oss-repos/express/test/res.locals.js +0 -40
  419. package/tests/fixtures/corpus/oss-repos/express/test/res.location.js +0 -316
  420. package/tests/fixtures/corpus/oss-repos/express/test/res.redirect.js +0 -214
  421. package/tests/fixtures/corpus/oss-repos/express/test/res.render.js +0 -367
  422. package/tests/fixtures/corpus/oss-repos/express/test/res.send.js +0 -569
  423. package/tests/fixtures/corpus/oss-repos/express/test/res.sendFile.js +0 -913
  424. package/tests/fixtures/corpus/oss-repos/express/test/res.sendStatus.js +0 -44
  425. package/tests/fixtures/corpus/oss-repos/express/test/res.set.js +0 -124
  426. package/tests/fixtures/corpus/oss-repos/express/test/res.status.js +0 -206
  427. package/tests/fixtures/corpus/oss-repos/express/test/res.type.js +0 -46
  428. package/tests/fixtures/corpus/oss-repos/express/test/res.vary.js +0 -90
  429. package/tests/fixtures/corpus/oss-repos/express/test/support/env.js +0 -3
  430. package/tests/fixtures/corpus/oss-repos/express/test/support/tmpl.js +0 -36
  431. package/tests/fixtures/corpus/oss-repos/express/test/support/utils.js +0 -86
  432. package/tests/fixtures/corpus/oss-repos/express/test/utils.js +0 -83
  433. package/tests/fixtures/corpus/oss-repos/hono/.devcontainer/Dockerfile +0 -11
  434. package/tests/fixtures/corpus/oss-repos/hono/.devcontainer/devcontainer.json +0 -21
  435. package/tests/fixtures/corpus/oss-repos/hono/.devcontainer/docker-compose.yml +0 -18
  436. package/tests/fixtures/corpus/oss-repos/hono/.eslintignore +0 -1
  437. package/tests/fixtures/corpus/oss-repos/hono/.eslintrc.cjs +0 -9
  438. package/tests/fixtures/corpus/oss-repos/hono/.gitpod.yml +0 -9
  439. package/tests/fixtures/corpus/oss-repos/hono/.prettierrc +0 -9
  440. package/tests/fixtures/corpus/oss-repos/hono/.vitest.config/jsx-runtime-default.ts +0 -15
  441. package/tests/fixtures/corpus/oss-repos/hono/.vitest.config/jsx-runtime-dom.ts +0 -15
  442. package/tests/fixtures/corpus/oss-repos/hono/.vitest.config/setup-vitest.ts +0 -47
  443. package/tests/fixtures/corpus/oss-repos/hono/LICENSE +0 -21
  444. package/tests/fixtures/corpus/oss-repos/hono/README.md +0 -91
  445. package/tests/fixtures/corpus/oss-repos/hono/build.ts +0 -80
  446. package/tests/fixtures/corpus/oss-repos/hono/bun.lockb +0 -0
  447. package/tests/fixtures/corpus/oss-repos/hono/bunfig.toml +0 -7
  448. package/tests/fixtures/corpus/oss-repos/hono/codecov.yml +0 -13
  449. package/tests/fixtures/corpus/oss-repos/hono/docs/CODE_OF_CONDUCT.md +0 -128
  450. package/tests/fixtures/corpus/oss-repos/hono/docs/CONTRIBUTING.md +0 -62
  451. package/tests/fixtures/corpus/oss-repos/hono/docs/MIGRATION.md +0 -295
  452. package/tests/fixtures/corpus/oss-repos/hono/docs/images/hono-logo.png +0 -0
  453. package/tests/fixtures/corpus/oss-repos/hono/docs/images/hono-logo.pxm +0 -0
  454. package/tests/fixtures/corpus/oss-repos/hono/docs/images/hono-logo.svg +0 -6
  455. package/tests/fixtures/corpus/oss-repos/hono/docs/images/hono-title.png +0 -0
  456. package/tests/fixtures/corpus/oss-repos/hono/docs/images/hono-title.pxm +0 -0
  457. package/tests/fixtures/corpus/oss-repos/hono/jsr.json +0 -119
  458. package/tests/fixtures/corpus/oss-repos/hono/package.cjs.json +0 -3
  459. package/tests/fixtures/corpus/oss-repos/hono/package.json +0 -650
  460. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/aws-lambda/handler.ts +0 -492
  461. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/aws-lambda/index.ts +0 -13
  462. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/aws-lambda/types.ts +0 -144
  463. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/bun/conninfo.ts +0 -28
  464. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/bun/index.ts +0 -9
  465. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/bun/serve-static.ts +0 -35
  466. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/bun/server.ts +0 -30
  467. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/bun/ssg.ts +0 -27
  468. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/bun/websocket.ts +0 -110
  469. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/cloudflare-pages/handler.ts +0 -120
  470. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/cloudflare-pages/index.ts +0 -7
  471. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/cloudflare-workers/conninfo.ts +0 -7
  472. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/cloudflare-workers/index.ts +0 -8
  473. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/cloudflare-workers/serve-static-module.ts +0 -12
  474. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/cloudflare-workers/serve-static.ts +0 -39
  475. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/cloudflare-workers/utils.ts +0 -50
  476. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/cloudflare-workers/websocket.ts +0 -50
  477. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/deno/conninfo.ts +0 -17
  478. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/deno/deno.d.ts +0 -28
  479. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/deno/index.ts +0 -9
  480. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/deno/serve-static.ts +0 -40
  481. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/deno/ssg.ts +0 -27
  482. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/deno/websocket.ts +0 -51
  483. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/lambda-edge/conninfo.ts +0 -15
  484. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/lambda-edge/handler.ts +0 -189
  485. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/lambda-edge/index.ts +0 -14
  486. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/netlify/handler.ts +0 -10
  487. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/netlify/index.ts +0 -6
  488. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/netlify/mod.ts +0 -1
  489. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/service-worker/handler.ts +0 -34
  490. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/service-worker/index.ts +0 -5
  491. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/service-worker/types.ts +0 -14
  492. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/vercel/conninfo.ts +0 -8
  493. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/vercel/handler.ts +0 -9
  494. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/vercel/index.ts +0 -7
  495. package/tests/fixtures/corpus/oss-repos/hono/src/client/client.ts +0 -214
  496. package/tests/fixtures/corpus/oss-repos/hono/src/client/index.ts +0 -14
  497. package/tests/fixtures/corpus/oss-repos/hono/src/client/types.ts +0 -182
  498. package/tests/fixtures/corpus/oss-repos/hono/src/client/utils.ts +0 -54
  499. package/tests/fixtures/corpus/oss-repos/hono/src/compose.ts +0 -94
  500. package/tests/fixtures/corpus/oss-repos/hono/src/context.ts +0 -917
  501. package/tests/fixtures/corpus/oss-repos/hono/src/helper/accepts/accepts.ts +0 -84
  502. package/tests/fixtures/corpus/oss-repos/hono/src/helper/accepts/index.ts +0 -6
  503. package/tests/fixtures/corpus/oss-repos/hono/src/helper/adapter/index.ts +0 -85
  504. package/tests/fixtures/corpus/oss-repos/hono/src/helper/conninfo/index.ts +0 -6
  505. package/tests/fixtures/corpus/oss-repos/hono/src/helper/conninfo/types.ts +0 -45
  506. package/tests/fixtures/corpus/oss-repos/hono/src/helper/cookie/index.ts +0 -130
  507. package/tests/fixtures/corpus/oss-repos/hono/src/helper/css/common.ts +0 -243
  508. package/tests/fixtures/corpus/oss-repos/hono/src/helper/css/index.ts +0 -220
  509. package/tests/fixtures/corpus/oss-repos/hono/src/helper/dev/index.ts +0 -79
  510. package/tests/fixtures/corpus/oss-repos/hono/src/helper/factory/index.ts +0 -246
  511. package/tests/fixtures/corpus/oss-repos/hono/src/helper/html/index.ts +0 -56
  512. package/tests/fixtures/corpus/oss-repos/hono/src/helper/ssg/index.ts +0 -13
  513. package/tests/fixtures/corpus/oss-repos/hono/src/helper/ssg/middleware.ts +0 -79
  514. package/tests/fixtures/corpus/oss-repos/hono/src/helper/ssg/ssg.ts +0 -388
  515. package/tests/fixtures/corpus/oss-repos/hono/src/helper/ssg/utils.ts +0 -71
  516. package/tests/fixtures/corpus/oss-repos/hono/src/helper/streaming/index.ts +0 -9
  517. package/tests/fixtures/corpus/oss-repos/hono/src/helper/streaming/sse.ts +0 -89
  518. package/tests/fixtures/corpus/oss-repos/hono/src/helper/streaming/stream.ts +0 -36
  519. package/tests/fixtures/corpus/oss-repos/hono/src/helper/streaming/text.ts +0 -15
  520. package/tests/fixtures/corpus/oss-repos/hono/src/helper/testing/index.ts +0 -26
  521. package/tests/fixtures/corpus/oss-repos/hono/src/helper/websocket/index.ts +0 -57
  522. package/tests/fixtures/corpus/oss-repos/hono/src/hono-base.ts +0 -523
  523. package/tests/fixtures/corpus/oss-repos/hono/src/hono.ts +0 -34
  524. package/tests/fixtures/corpus/oss-repos/hono/src/http-exception.ts +0 -78
  525. package/tests/fixtures/corpus/oss-repos/hono/src/index.ts +0 -51
  526. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/base.ts +0 -419
  527. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/children.ts +0 -20
  528. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/components.ts +0 -195
  529. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/constants.ts +0 -5
  530. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/context.ts +0 -50
  531. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/client.ts +0 -89
  532. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/components.ts +0 -39
  533. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/context.ts +0 -52
  534. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/css.ts +0 -246
  535. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/hooks/index.ts +0 -91
  536. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/index.ts +0 -159
  537. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/intrinsic-element/components.ts +0 -398
  538. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/jsx-dev-runtime.ts +0 -22
  539. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/jsx-runtime.ts +0 -7
  540. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/render.ts +0 -772
  541. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/server.ts +0 -70
  542. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/utils.ts +0 -7
  543. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/hooks/index.ts +0 -426
  544. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/index.ts +0 -114
  545. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/intrinsic-element/common.ts +0 -11
  546. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/intrinsic-element/components.ts +0 -196
  547. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/intrinsic-elements.ts +0 -924
  548. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/jsx-dev-runtime.ts +0 -26
  549. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/jsx-runtime.ts +0 -18
  550. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/streaming.ts +0 -184
  551. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/types.ts +0 -41
  552. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/utils.ts +0 -36
  553. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/basic-auth/index.ts +0 -128
  554. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/bearer-auth/index.ts +0 -159
  555. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/body-limit/index.ts +0 -115
  556. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/cache/index.ts +0 -127
  557. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/combine/index.ts +0 -153
  558. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/compress/index.ts +0 -79
  559. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/context-storage/index.ts +0 -55
  560. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/cors/index.ts +0 -141
  561. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/csrf/index.ts +0 -90
  562. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/etag/index.ts +0 -88
  563. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/ip-restriction/index.ts +0 -178
  564. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/jsx-renderer/index.ts +0 -158
  565. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/jwt/index.ts +0 -8
  566. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/jwt/jwt.ts +0 -159
  567. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/logger/index.ts +0 -93
  568. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/method-override/index.ts +0 -146
  569. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/powered-by/index.ts +0 -13
  570. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/pretty-json/index.ts +0 -50
  571. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/request-id/index.ts +0 -8
  572. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/request-id/request-id.ts +0 -59
  573. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/secure-headers/index.ts +0 -8
  574. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/secure-headers/permissions-policy.ts +0 -86
  575. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/secure-headers/secure-headers.ts +0 -319
  576. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/serve-static/index.ts +0 -140
  577. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/timeout/index.ts +0 -58
  578. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/timing/index.ts +0 -7
  579. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/timing/timing.ts +0 -225
  580. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/trailing-slash/index.ts +0 -71
  581. package/tests/fixtures/corpus/oss-repos/hono/src/preset/quick.ts +0 -24
  582. package/tests/fixtures/corpus/oss-repos/hono/src/preset/tiny.ts +0 -20
  583. package/tests/fixtures/corpus/oss-repos/hono/src/request.ts +0 -403
  584. package/tests/fixtures/corpus/oss-repos/hono/src/router/linear-router/index.ts +0 -6
  585. package/tests/fixtures/corpus/oss-repos/hono/src/router/linear-router/router.ts +0 -132
  586. package/tests/fixtures/corpus/oss-repos/hono/src/router/pattern-router/index.ts +0 -6
  587. package/tests/fixtures/corpus/oss-repos/hono/src/router/pattern-router/router.ts +0 -54
  588. package/tests/fixtures/corpus/oss-repos/hono/src/router/reg-exp-router/index.ts +0 -6
  589. package/tests/fixtures/corpus/oss-repos/hono/src/router/reg-exp-router/node.ts +0 -159
  590. package/tests/fixtures/corpus/oss-repos/hono/src/router/reg-exp-router/router.ts +0 -274
  591. package/tests/fixtures/corpus/oss-repos/hono/src/router/reg-exp-router/trie.ts +0 -74
  592. package/tests/fixtures/corpus/oss-repos/hono/src/router/smart-router/index.ts +0 -6
  593. package/tests/fixtures/corpus/oss-repos/hono/src/router/smart-router/router.ts +0 -69
  594. package/tests/fixtures/corpus/oss-repos/hono/src/router/trie-router/index.ts +0 -6
  595. package/tests/fixtures/corpus/oss-repos/hono/src/router/trie-router/node.ts +0 -205
  596. package/tests/fixtures/corpus/oss-repos/hono/src/router/trie-router/router.ts +0 -28
  597. package/tests/fixtures/corpus/oss-repos/hono/src/router.ts +0 -103
  598. package/tests/fixtures/corpus/oss-repos/hono/src/types.ts +0 -2006
  599. package/tests/fixtures/corpus/oss-repos/hono/src/utils/basic-auth.ts +0 -26
  600. package/tests/fixtures/corpus/oss-repos/hono/src/utils/body.ts +0 -225
  601. package/tests/fixtures/corpus/oss-repos/hono/src/utils/buffer.ts +0 -65
  602. package/tests/fixtures/corpus/oss-repos/hono/src/utils/color.ts +0 -26
  603. package/tests/fixtures/corpus/oss-repos/hono/src/utils/concurrent.ts +0 -55
  604. package/tests/fixtures/corpus/oss-repos/hono/src/utils/cookie.ts +0 -230
  605. package/tests/fixtures/corpus/oss-repos/hono/src/utils/crypto.ts +0 -65
  606. package/tests/fixtures/corpus/oss-repos/hono/src/utils/encode.ts +0 -34
  607. package/tests/fixtures/corpus/oss-repos/hono/src/utils/filepath.ts +0 -56
  608. package/tests/fixtures/corpus/oss-repos/hono/src/utils/handler.ts +0 -15
  609. package/tests/fixtures/corpus/oss-repos/hono/src/utils/html.ts +0 -182
  610. package/tests/fixtures/corpus/oss-repos/hono/src/utils/http-status.ts +0 -69
  611. package/tests/fixtures/corpus/oss-repos/hono/src/utils/ipaddr.ts +0 -113
  612. package/tests/fixtures/corpus/oss-repos/hono/src/utils/jwt/index.ts +0 -7
  613. package/tests/fixtures/corpus/oss-repos/hono/src/utils/jwt/jwa.ts +0 -23
  614. package/tests/fixtures/corpus/oss-repos/hono/src/utils/jwt/jws.ts +0 -226
  615. package/tests/fixtures/corpus/oss-repos/hono/src/utils/jwt/jwt.ts +0 -114
  616. package/tests/fixtures/corpus/oss-repos/hono/src/utils/jwt/types.ts +0 -83
  617. package/tests/fixtures/corpus/oss-repos/hono/src/utils/jwt/utf8.ts +0 -7
  618. package/tests/fixtures/corpus/oss-repos/hono/src/utils/mime.ts +0 -142
  619. package/tests/fixtures/corpus/oss-repos/hono/src/utils/stream.ts +0 -96
  620. package/tests/fixtures/corpus/oss-repos/hono/src/utils/types.ts +0 -102
  621. package/tests/fixtures/corpus/oss-repos/hono/src/utils/url.ts +0 -310
  622. package/tests/fixtures/corpus/oss-repos/hono/src/validator/index.ts +0 -7
  623. package/tests/fixtures/corpus/oss-repos/hono/src/validator/validator.ts +0 -151
  624. package/tests/fixtures/corpus/oss-repos/hono/tsconfig.build.json +0 -23
  625. package/tests/fixtures/corpus/oss-repos/hono/tsconfig.json +0 -28
  626. package/tests/fixtures/corpus/oss-repos/hono/vitest.config.ts +0 -34
  627. package/tests/fixtures/corpus/oss-repos/hono/yarn.lock +0 -6232
  628. package/tests/fixtures/documentation/api-reference.md +0 -412
  629. package/tests/fixtures/documentation/architecture.md +0 -214
  630. package/tests/fixtures/documentation/deployment-guide.md +0 -420
  631. package/tests/fixtures/github-readmes/express.md +0 -133
  632. package/tests/fixtures/github-readmes/nextjs.md +0 -106
  633. package/tests/fixtures/github-readmes/react.md +0 -74
  634. package/tests/fixtures/github-readmes/typescript.md +0 -93
  635. package/tests/fixtures/github-readmes/vite.md +0 -79
  636. package/tests/fixtures/queries/core.json +0 -125
  637. package/tests/fixtures/queries/extended.json +0 -427
  638. package/tests/fixtures/queries/generated/.gitkeep +0 -0
  639. package/tests/fixtures/test-server.ts +0 -268
  640. package/tests/helpers/performance-metrics.ts +0 -370
  641. package/tests/helpers/search-relevance.ts +0 -326
  642. package/tests/integration/cli-consistency.test.ts +0 -298
  643. package/tests/integration/cli.test.ts +0 -69
  644. package/tests/integration/e2e-workflow.test.ts +0 -614
  645. package/tests/integration/mcp.test.ts +0 -250
  646. package/tests/integration/python-bridge.test.ts +0 -193
  647. package/tests/integration/search-quality.test.ts +0 -720
  648. package/tests/integration/serve.test.ts +0 -260
  649. package/tests/integration/stress.test.ts +0 -326
  650. package/tests/mcp/server.test.ts +0 -15
  651. package/tests/scripts/schemas/evaluation.json +0 -44
  652. package/tests/scripts/schemas/query-generation.json +0 -21
  653. package/tests/services/code-unit.service.test.ts +0 -95
  654. package/tests/services/job.service.test.ts +0 -124
  655. package/tests/services/search.progressive-context.test.ts +0 -35
  656. package/tsconfig.json +0 -34
  657. package/tsup.config.ts +0 -15
  658. package/turndown-plugin-gfm.d.ts +0 -29
  659. package/vitest.config.ts +0 -90
@@ -1,733 +0,0 @@
1
- import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
2
- import { createIndexCommand } from './index-cmd.js';
3
- import type { GlobalOptions } from '../program.js';
4
- import type { ServiceContainer } from '../../services/index.js';
5
- import type { Store } from '../../types/store.js';
6
- import type { IndexEvent } from '../../services/index.service.js';
7
-
8
- // Mock dependencies
9
- vi.mock('../../services/index.js', () => ({
10
- createServices: vi.fn(),
11
- destroyServices: vi.fn().mockResolvedValue(undefined),
12
- }));
13
-
14
- vi.mock('ora', () => ({
15
- default: vi.fn(() => ({
16
- start: vi.fn().mockReturnThis(),
17
- stop: vi.fn(),
18
- succeed: vi.fn(),
19
- fail: vi.fn(),
20
- text: '',
21
- })),
22
- }));
23
-
24
- vi.mock('../../services/watch.service.js', () => ({
25
- WatchService: vi.fn(),
26
- }));
27
-
28
- describe('createIndexCommand - Execution Tests', () => {
29
- let mockServices: ServiceContainer;
30
- let consoleLogSpy: ReturnType<typeof vi.spyOn>;
31
- let consoleErrorSpy: ReturnType<typeof vi.spyOn>;
32
- let processExitSpy: ReturnType<typeof vi.spyOn>;
33
- let processOnSpy: ReturnType<typeof vi.spyOn>;
34
- let getOptions: () => GlobalOptions;
35
-
36
- beforeEach(async () => {
37
- vi.clearAllMocks();
38
-
39
- const { createServices } = await import('../../services/index.js');
40
-
41
- mockServices = {
42
- store: {
43
- getByIdOrName: vi.fn(),
44
- list: vi.fn(),
45
- create: vi.fn(),
46
- delete: vi.fn(),
47
- },
48
- lance: {
49
- initialize: vi.fn(),
50
- search: vi.fn(),
51
- addDocuments: vi.fn(),
52
- createFtsIndex: vi.fn(),
53
- },
54
- search: {
55
- search: vi.fn(),
56
- },
57
- index: {
58
- indexStore: vi.fn(),
59
- },
60
- embeddings: {
61
- embed: vi.fn(),
62
- },
63
- } as unknown as ServiceContainer;
64
-
65
- vi.mocked(createServices).mockResolvedValue(mockServices);
66
-
67
- consoleLogSpy = vi.spyOn(console, 'log').mockImplementation(() => {});
68
- consoleErrorSpy = vi.spyOn(console, 'error').mockImplementation(() => {});
69
- processExitSpy = vi.spyOn(process, 'exit').mockImplementation((code) => {
70
- throw new Error(`process.exit: ${code}`);
71
- });
72
- processOnSpy = vi.spyOn(process, 'on').mockImplementation(() => process);
73
-
74
- // Mock process.stdout.isTTY
75
- Object.defineProperty(process.stdout, 'isTTY', {
76
- value: false,
77
- writable: true,
78
- configurable: true,
79
- });
80
-
81
- getOptions = (): GlobalOptions => ({
82
- config: undefined,
83
- dataDir: '/tmp/test-data',
84
- quiet: false,
85
- format: undefined,
86
- });
87
- });
88
-
89
- afterEach(() => {
90
- vi.restoreAllMocks();
91
- });
92
-
93
- describe('index command - successful indexing', () => {
94
- it('indexes a store successfully', async () => {
95
- const mockStore: Store = {
96
- id: 'store-123',
97
- name: 'test-store',
98
- type: 'file',
99
- path: '/test/path',
100
- createdAt: new Date(),
101
- updatedAt: new Date(),
102
- };
103
-
104
- vi.mocked(mockServices.store.getByIdOrName).mockResolvedValue(mockStore);
105
- vi.mocked(mockServices.index.indexStore).mockResolvedValue({
106
- success: true,
107
- data: {
108
- documentsIndexed: 10,
109
- chunksCreated: 25,
110
- timeMs: 1500,
111
- },
112
- });
113
-
114
- const command = createIndexCommand(getOptions);
115
- const action = command._actionHandler;
116
- await action(['test-store']);
117
-
118
- expect(mockServices.store.getByIdOrName).toHaveBeenCalledWith('test-store');
119
- expect(mockServices.lance.initialize).toHaveBeenCalledWith('store-123');
120
- expect(mockServices.index.indexStore).toHaveBeenCalled();
121
- });
122
-
123
- it('outputs success message in normal mode', async () => {
124
- const mockStore: Store = {
125
- id: 'store-123',
126
- name: 'my-store',
127
- type: 'file',
128
- path: '/test',
129
- createdAt: new Date(),
130
- updatedAt: new Date(),
131
- };
132
-
133
- vi.mocked(mockServices.store.getByIdOrName).mockResolvedValue(mockStore);
134
- vi.mocked(mockServices.index.indexStore).mockResolvedValue({
135
- success: true,
136
- data: {
137
- documentsIndexed: 5,
138
- chunksCreated: 12,
139
- timeMs: 800,
140
- },
141
- });
142
-
143
- const command = createIndexCommand(getOptions);
144
- const action = command._actionHandler;
145
- await action(['my-store']);
146
-
147
- expect(consoleLogSpy).toHaveBeenCalledWith('Indexed 5 documents, 12 chunks in 800ms');
148
- });
149
-
150
- it('outputs JSON format when format=json', async () => {
151
- getOptions = (): GlobalOptions => ({
152
- config: undefined,
153
- dataDir: '/tmp/test-data',
154
- quiet: false,
155
- format: 'json',
156
- });
157
-
158
- const mockStore: Store = {
159
- id: 'store-123',
160
- name: 'test',
161
- type: 'file',
162
- path: '/test',
163
- createdAt: new Date(),
164
- updatedAt: new Date(),
165
- };
166
-
167
- vi.mocked(mockServices.store.getByIdOrName).mockResolvedValue(mockStore);
168
- vi.mocked(mockServices.index.indexStore).mockResolvedValue({
169
- success: true,
170
- data: {
171
- documentsIndexed: 3,
172
- chunksCreated: 7,
173
- timeMs: 500,
174
- },
175
- });
176
-
177
- const command = createIndexCommand(getOptions);
178
- const action = command._actionHandler;
179
- await action(['test']);
180
-
181
- expect(consoleLogSpy).toHaveBeenCalledWith(expect.stringContaining('"documentsIndexed": 3'));
182
-
183
- const jsonOutput = JSON.parse(consoleLogSpy.mock.calls[0]?.[0] as string);
184
- expect(jsonOutput.documentsIndexed).toBe(3);
185
- expect(jsonOutput.chunksCreated).toBe(7);
186
- expect(jsonOutput.timeMs).toBe(500);
187
- });
188
-
189
- it('suppresses initial message in quiet mode', async () => {
190
- getOptions = (): GlobalOptions => ({
191
- config: undefined,
192
- dataDir: '/tmp/test-data',
193
- quiet: true,
194
- format: undefined,
195
- });
196
-
197
- const mockStore: Store = {
198
- id: 'store-123',
199
- name: 'test',
200
- type: 'file',
201
- path: '/test',
202
- createdAt: new Date(),
203
- updatedAt: new Date(),
204
- };
205
-
206
- vi.mocked(mockServices.store.getByIdOrName).mockResolvedValue(mockStore);
207
- vi.mocked(mockServices.index.indexStore).mockResolvedValue({
208
- success: true,
209
- data: {
210
- documentsIndexed: 1,
211
- chunksCreated: 2,
212
- timeMs: 100,
213
- },
214
- });
215
-
216
- const command = createIndexCommand(getOptions);
217
- const action = command._actionHandler;
218
- await action(['test']);
219
-
220
- expect(consoleLogSpy).not.toHaveBeenCalled();
221
- });
222
-
223
- it('uses spinner in interactive mode (TTY)', async () => {
224
- const ora = (await import('ora')).default;
225
- Object.defineProperty(process.stdout, 'isTTY', { value: true, configurable: true });
226
-
227
- const mockStore: Store = {
228
- id: 'store-123',
229
- name: 'test',
230
- type: 'file',
231
- path: '/test',
232
- createdAt: new Date(),
233
- updatedAt: new Date(),
234
- };
235
-
236
- vi.mocked(mockServices.store.getByIdOrName).mockResolvedValue(mockStore);
237
- vi.mocked(mockServices.index.indexStore).mockResolvedValue({
238
- success: true,
239
- data: {
240
- documentsIndexed: 1,
241
- chunksCreated: 2,
242
- timeMs: 100,
243
- },
244
- });
245
-
246
- const command = createIndexCommand(getOptions);
247
- const action = command._actionHandler;
248
- await action(['test']);
249
-
250
- expect(ora).toHaveBeenCalled();
251
- });
252
-
253
- it('handles progress events during indexing', async () => {
254
- const mockStore: Store = {
255
- id: 'store-123',
256
- name: 'test',
257
- type: 'file',
258
- path: '/test',
259
- createdAt: new Date(),
260
- updatedAt: new Date(),
261
- };
262
-
263
- let progressCallback: ((event: IndexEvent) => void) | undefined;
264
- vi.mocked(mockServices.store.getByIdOrName).mockResolvedValue(mockStore);
265
- vi.mocked(mockServices.index.indexStore).mockImplementation(async (store, callback) => {
266
- progressCallback = callback;
267
- callback?.({ type: 'progress', current: 1, total: 5, message: 'Processing file1.txt' });
268
- callback?.({ type: 'progress', current: 2, total: 5, message: 'Processing file2.txt' });
269
- return {
270
- success: true,
271
- data: {
272
- documentsIndexed: 5,
273
- chunksCreated: 10,
274
- timeMs: 1000,
275
- },
276
- };
277
- });
278
-
279
- const command = createIndexCommand(getOptions);
280
- const action = command._actionHandler;
281
- await action(['test']);
282
-
283
- expect(progressCallback).toBeDefined();
284
- });
285
-
286
- it('uses store ID instead of name', async () => {
287
- const mockStore: Store = {
288
- id: 'abc-def-123',
289
- name: 'test',
290
- type: 'repo',
291
- url: 'https://github.com/test/repo',
292
- createdAt: new Date(),
293
- updatedAt: new Date(),
294
- };
295
-
296
- vi.mocked(mockServices.store.getByIdOrName).mockResolvedValue(mockStore);
297
- vi.mocked(mockServices.index.indexStore).mockResolvedValue({
298
- success: true,
299
- data: {
300
- documentsIndexed: 1,
301
- chunksCreated: 1,
302
- timeMs: 100,
303
- },
304
- });
305
-
306
- const command = createIndexCommand(getOptions);
307
- const action = command._actionHandler;
308
- await action(['abc-def-123']);
309
-
310
- expect(mockServices.store.getByIdOrName).toHaveBeenCalledWith('abc-def-123');
311
- expect(mockServices.lance.initialize).toHaveBeenCalledWith('abc-def-123');
312
- });
313
- });
314
-
315
- describe('index command - error handling', () => {
316
- it('exits with code 3 when store not found', async () => {
317
- const { destroyServices } = await import('../../services/index.js');
318
-
319
- vi.mocked(mockServices.store.getByIdOrName).mockResolvedValue(undefined);
320
-
321
- const command = createIndexCommand(getOptions);
322
- const action = command._actionHandler;
323
- await expect(action(['nonexistent-store'])).rejects.toThrow('process.exit: 3');
324
-
325
- expect(consoleErrorSpy).toHaveBeenCalledWith('Error: Store not found: nonexistent-store');
326
- expect(processExitSpy).toHaveBeenCalledWith(3);
327
- // Must call destroyServices before process.exit per CLAUDE.md
328
- expect(destroyServices).toHaveBeenCalled();
329
- });
330
-
331
- it('exits with code 4 when indexing fails', async () => {
332
- const { destroyServices } = await import('../../services/index.js');
333
-
334
- const mockStore: Store = {
335
- id: 'store-123',
336
- name: 'test',
337
- type: 'file',
338
- path: '/test',
339
- createdAt: new Date(),
340
- updatedAt: new Date(),
341
- };
342
-
343
- vi.mocked(mockServices.store.getByIdOrName).mockResolvedValue(mockStore);
344
- vi.mocked(mockServices.index.indexStore).mockResolvedValue({
345
- success: false,
346
- error: new Error('Failed to read files'),
347
- });
348
-
349
- const command = createIndexCommand(getOptions);
350
- const action = command._actionHandler;
351
- await expect(action(['test'])).rejects.toThrow('process.exit: 4');
352
-
353
- expect(consoleErrorSpy).toHaveBeenCalledWith('Error: Failed to read files');
354
- expect(processExitSpy).toHaveBeenCalledWith(4);
355
- // Must call destroyServices before process.exit per CLAUDE.md
356
- expect(destroyServices).toHaveBeenCalled();
357
- });
358
-
359
- it('handles lance initialization errors', async () => {
360
- const mockStore: Store = {
361
- id: 'store-123',
362
- name: 'test',
363
- type: 'file',
364
- path: '/test',
365
- createdAt: new Date(),
366
- updatedAt: new Date(),
367
- };
368
-
369
- vi.mocked(mockServices.store.getByIdOrName).mockResolvedValue(mockStore);
370
- vi.mocked(mockServices.lance.initialize).mockRejectedValue(new Error('Lance init failed'));
371
-
372
- const command = createIndexCommand(getOptions);
373
- const action = command._actionHandler;
374
-
375
- await expect(action(['test'])).rejects.toThrow('Lance init failed');
376
- });
377
- });
378
-
379
- describe('watch subcommand - successful watching', () => {
380
- it('watches a file store successfully', async () => {
381
- const { WatchService } = await import('../../services/watch.service.js');
382
- const mockStore: Store = {
383
- id: 'store-123',
384
- name: 'test-store',
385
- type: 'file',
386
- path: '/test/path',
387
- createdAt: new Date(),
388
- updatedAt: new Date(),
389
- };
390
-
391
- vi.mocked(mockServices.store.getByIdOrName).mockResolvedValue(mockStore);
392
-
393
- const mockWatchService = {
394
- watch: vi.fn(),
395
- unwatchAll: vi.fn(),
396
- };
397
- vi.mocked(WatchService).mockImplementation(function (this: any) {
398
- return mockWatchService as any;
399
- } as any);
400
-
401
- const command = createIndexCommand(getOptions);
402
- const watchCmd = command.commands.find((c) => c.name() === 'watch');
403
- expect(watchCmd).toBeDefined();
404
-
405
- const action = watchCmd!._actionHandler;
406
- await action(['test-store']);
407
-
408
- expect(mockServices.store.getByIdOrName).toHaveBeenCalledWith('test-store');
409
- expect(WatchService).toHaveBeenCalledWith(mockServices.index, mockServices.lance);
410
- expect(mockWatchService.watch).toHaveBeenCalledWith(
411
- mockStore,
412
- 1000,
413
- expect.any(Function),
414
- expect.any(Function)
415
- );
416
- });
417
-
418
- it('watches a repo store successfully', async () => {
419
- const { WatchService } = await import('../../services/watch.service.js');
420
- const mockStore: Store = {
421
- id: 'store-123',
422
- name: 'repo-store',
423
- type: 'repo',
424
- url: 'https://github.com/test/repo',
425
- path: '/local/clone/path',
426
- createdAt: new Date(),
427
- updatedAt: new Date(),
428
- };
429
-
430
- vi.mocked(mockServices.store.getByIdOrName).mockResolvedValue(mockStore);
431
-
432
- const mockWatchService = {
433
- watch: vi.fn(),
434
- unwatchAll: vi.fn(),
435
- };
436
- vi.mocked(WatchService).mockImplementation(function (this: any) {
437
- return mockWatchService as any;
438
- } as any);
439
-
440
- const command = createIndexCommand(getOptions);
441
- const watchCmd = command.commands.find((c) => c.name() === 'watch');
442
- const action = watchCmd!._actionHandler;
443
- await action(['repo-store']);
444
-
445
- expect(mockWatchService.watch).toHaveBeenCalled();
446
- });
447
-
448
- it('uses custom debounce value', async () => {
449
- const { WatchService } = await import('../../services/watch.service.js');
450
- const mockStore: Store = {
451
- id: 'store-123',
452
- name: 'test',
453
- type: 'file',
454
- path: '/test',
455
- createdAt: new Date(),
456
- updatedAt: new Date(),
457
- };
458
-
459
- vi.mocked(mockServices.store.getByIdOrName).mockResolvedValue(mockStore);
460
-
461
- const mockWatchService = {
462
- watch: vi.fn(),
463
- unwatchAll: vi.fn(),
464
- };
465
- vi.mocked(WatchService).mockImplementation(function (this: any) {
466
- return mockWatchService as any;
467
- } as any);
468
-
469
- const command = createIndexCommand(getOptions);
470
- const watchCmd = command.commands.find((c) => c.name() === 'watch');
471
- watchCmd.parseOptions(['--debounce', '2500']);
472
- const action = watchCmd!._actionHandler;
473
- await action(['test']);
474
-
475
- expect(mockWatchService.watch).toHaveBeenCalledWith(
476
- mockStore,
477
- 2500,
478
- expect.any(Function),
479
- expect.any(Function)
480
- );
481
- });
482
-
483
- it('outputs watching message in normal mode', async () => {
484
- const { WatchService } = await import('../../services/watch.service.js');
485
- const mockStore: Store = {
486
- id: 'store-123',
487
- name: 'my-store',
488
- type: 'file',
489
- path: '/test',
490
- createdAt: new Date(),
491
- updatedAt: new Date(),
492
- };
493
-
494
- vi.mocked(mockServices.store.getByIdOrName).mockResolvedValue(mockStore);
495
-
496
- const mockWatchService = {
497
- watch: vi.fn(),
498
- unwatchAll: vi.fn(),
499
- };
500
- vi.mocked(WatchService).mockImplementation(function (this: any) {
501
- return mockWatchService as any;
502
- } as any);
503
-
504
- const command = createIndexCommand(getOptions);
505
- const watchCmd = command.commands.find((c) => c.name() === 'watch');
506
- const action = watchCmd!._actionHandler;
507
- await action(['my-store']);
508
-
509
- expect(consoleLogSpy).toHaveBeenCalledWith('Watching my-store for changes...');
510
- });
511
-
512
- it('suppresses message in quiet mode', async () => {
513
- getOptions = (): GlobalOptions => ({
514
- config: undefined,
515
- dataDir: '/tmp/test-data',
516
- quiet: true,
517
- format: undefined,
518
- });
519
-
520
- const { WatchService } = await import('../../services/watch.service.js');
521
- const mockStore: Store = {
522
- id: 'store-123',
523
- name: 'test',
524
- type: 'file',
525
- path: '/test',
526
- createdAt: new Date(),
527
- updatedAt: new Date(),
528
- };
529
-
530
- vi.mocked(mockServices.store.getByIdOrName).mockResolvedValue(mockStore);
531
-
532
- const mockWatchService = {
533
- watch: vi.fn(),
534
- unwatchAll: vi.fn(),
535
- };
536
- vi.mocked(WatchService).mockImplementation(function (this: any) {
537
- return mockWatchService as any;
538
- } as any);
539
-
540
- const command = createIndexCommand(getOptions);
541
- const watchCmd = command.commands.find((c) => c.name() === 'watch');
542
- const action = watchCmd!._actionHandler;
543
- await action(['test']);
544
-
545
- expect(consoleLogSpy).not.toHaveBeenCalled();
546
- });
547
-
548
- it('calls re-index callback on file changes', async () => {
549
- const { WatchService } = await import('../../services/watch.service.js');
550
- const mockStore: Store = {
551
- id: 'store-123',
552
- name: 'test',
553
- type: 'file',
554
- path: '/test',
555
- createdAt: new Date(),
556
- updatedAt: new Date(),
557
- };
558
-
559
- vi.mocked(mockServices.store.getByIdOrName).mockResolvedValue(mockStore);
560
-
561
- let capturedCallback: (() => void) | undefined;
562
- const mockWatchService = {
563
- watch: vi.fn((store, debounce, onReindex, onError) => {
564
- capturedCallback = onReindex;
565
- }),
566
- unwatchAll: vi.fn(),
567
- };
568
- vi.mocked(WatchService).mockImplementation(function (this: any) {
569
- return mockWatchService as any;
570
- } as any);
571
-
572
- const command = createIndexCommand(getOptions);
573
- const watchCmd = command.commands.find((c) => c.name() === 'watch');
574
- const action = watchCmd!._actionHandler;
575
- await action(['test']);
576
-
577
- expect(capturedCallback).toBeDefined();
578
- capturedCallback!();
579
-
580
- expect(consoleLogSpy).toHaveBeenCalledWith('Re-indexed test');
581
- });
582
-
583
- it('handles SIGINT to cleanup and exit', async () => {
584
- const { WatchService } = await import('../../services/watch.service.js');
585
- const mockStore: Store = {
586
- id: 'store-123',
587
- name: 'test',
588
- type: 'file',
589
- path: '/test',
590
- createdAt: new Date(),
591
- updatedAt: new Date(),
592
- };
593
-
594
- vi.mocked(mockServices.store.getByIdOrName).mockResolvedValue(mockStore);
595
-
596
- const mockWatchService = {
597
- watch: vi.fn(),
598
- unwatchAll: vi.fn(),
599
- };
600
- vi.mocked(WatchService).mockImplementation(function (this: any) {
601
- return mockWatchService as any;
602
- } as any);
603
-
604
- const command = createIndexCommand(getOptions);
605
- const watchCmd = command.commands.find((c) => c.name() === 'watch');
606
- const action = watchCmd!._actionHandler;
607
- await action(['test']);
608
-
609
- expect(processOnSpy).toHaveBeenCalledWith('SIGINT', expect.any(Function));
610
-
611
- // Get the SIGINT handler and call it
612
- const sigintHandler = processOnSpy.mock.calls.find(
613
- (call) => call[0] === 'SIGINT'
614
- )?.[1] as () => void;
615
- expect(sigintHandler).toBeDefined();
616
-
617
- // Call the handler
618
- await sigintHandler();
619
-
620
- expect(mockWatchService.unwatchAll).toHaveBeenCalled();
621
- expect(processExitSpy).toHaveBeenCalledWith(0);
622
- });
623
- });
624
-
625
- describe('watch subcommand - error handling', () => {
626
- it('exits with code 3 when store not found', async () => {
627
- vi.mocked(mockServices.store.getByIdOrName).mockResolvedValue(undefined);
628
-
629
- const command = createIndexCommand(getOptions);
630
- const watchCmd = command.commands.find((c) => c.name() === 'watch');
631
- const action = watchCmd!._actionHandler;
632
- await expect(action(['nonexistent'])).rejects.toThrow('process.exit: 3');
633
-
634
- expect(consoleErrorSpy).toHaveBeenCalledWith('Error: File/repo store not found: nonexistent');
635
- expect(processExitSpy).toHaveBeenCalledWith(3);
636
- });
637
-
638
- it('exits with code 3 when store type is not file or repo', async () => {
639
- const mockStore: Store = {
640
- id: 'store-123',
641
- name: 'web-store',
642
- type: 'web',
643
- url: 'https://example.com',
644
- createdAt: new Date(),
645
- updatedAt: new Date(),
646
- };
647
-
648
- vi.mocked(mockServices.store.getByIdOrName).mockResolvedValue(mockStore);
649
-
650
- const command = createIndexCommand(getOptions);
651
- const watchCmd = command.commands.find((c) => c.name() === 'watch');
652
- const action = watchCmd!._actionHandler;
653
- await expect(action(['web-store'])).rejects.toThrow('process.exit: 3');
654
-
655
- expect(consoleErrorSpy).toHaveBeenCalledWith('Error: File/repo store not found: web-store');
656
- expect(processExitSpy).toHaveBeenCalledWith(3);
657
- });
658
- });
659
-
660
- describe('service interactions', () => {
661
- it('creates services with correct config and dataDir', async () => {
662
- const { createServices } = await import('../../services/index.js');
663
- getOptions = (): GlobalOptions => ({
664
- config: '/custom/config.json',
665
- dataDir: '/custom/data',
666
- quiet: false,
667
- format: undefined,
668
- });
669
-
670
- const mockStore: Store = {
671
- id: 'store-123',
672
- name: 'test',
673
- type: 'file',
674
- path: '/test',
675
- createdAt: new Date(),
676
- updatedAt: new Date(),
677
- };
678
-
679
- vi.mocked(mockServices.store.getByIdOrName).mockResolvedValue(mockStore);
680
- vi.mocked(mockServices.index.indexStore).mockResolvedValue({
681
- success: true,
682
- data: {
683
- documentsIndexed: 1,
684
- chunksCreated: 1,
685
- timeMs: 100,
686
- },
687
- });
688
-
689
- const command = createIndexCommand(getOptions);
690
- const action = command._actionHandler;
691
- await action(['test']);
692
-
693
- expect(createServices).toHaveBeenCalledWith('/custom/config.json', '/custom/data');
694
- });
695
-
696
- it('calls services in correct order for indexing', async () => {
697
- const callOrder: string[] = [];
698
- const mockStore: Store = {
699
- id: 'store-123',
700
- name: 'test',
701
- type: 'file',
702
- path: '/test',
703
- createdAt: new Date(),
704
- updatedAt: new Date(),
705
- };
706
-
707
- vi.mocked(mockServices.store.getByIdOrName).mockImplementation(async () => {
708
- callOrder.push('getByIdOrName');
709
- return mockStore;
710
- });
711
- vi.mocked(mockServices.lance.initialize).mockImplementation(async () => {
712
- callOrder.push('initialize');
713
- });
714
- vi.mocked(mockServices.index.indexStore).mockImplementation(async () => {
715
- callOrder.push('indexStore');
716
- return {
717
- success: true,
718
- data: {
719
- documentsIndexed: 1,
720
- chunksCreated: 1,
721
- timeMs: 100,
722
- },
723
- };
724
- });
725
-
726
- const command = createIndexCommand(getOptions);
727
- const action = command._actionHandler;
728
- await action(['test']);
729
-
730
- expect(callOrder).toEqual(['getByIdOrName', 'initialize', 'indexStore']);
731
- });
732
- });
733
- });