bluera-knowledge 0.14.0 → 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 (655) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/CHANGELOG.md +7 -0
  3. package/package.json +12 -1
  4. package/.claude/commands/code-review.md +0 -15
  5. package/.claude/commands/commit.md +0 -34
  6. package/.claude/council-cache/1a43ed5977b8f29afc79a9bf5c4082ee5ad8338c42ab991a4241a48f80c1e46d.json +0 -7
  7. package/.claude/hooks/post-edit-check.sh +0 -40
  8. package/.claude/rules/code-quality.md +0 -12
  9. package/.claude/rules/git.md +0 -5
  10. package/.claude/rules/versioning.md +0 -7
  11. package/.claude/settings.local.json.example +0 -45
  12. package/.claude/skills/atomic-commits/SKILL.md +0 -61
  13. package/.claude/skills/code-review-repo/skill.md +0 -62
  14. package/.editorconfig +0 -15
  15. package/.env.example +0 -21
  16. package/.github/workflows/auto-release.yml +0 -64
  17. package/.github/workflows/ci.yml +0 -168
  18. package/.github/workflows/release.yml +0 -74
  19. package/.github/workflows/update-marketplace.yml +0 -96
  20. package/.husky/pre-commit +0 -48
  21. package/.husky/pre-push +0 -39
  22. package/.mcp.json +0 -11
  23. package/.prettierrc +0 -9
  24. package/.versionrc.json +0 -24
  25. package/CLAUDE.md +0 -110
  26. package/CONTRIBUTING.md +0 -307
  27. package/NOTICE +0 -47
  28. package/SECURITY.md +0 -65
  29. package/bun.lock +0 -2036
  30. package/docs/claude-code-best-practices.md +0 -458
  31. package/docs/cli.md +0 -170
  32. package/docs/commands.md +0 -392
  33. package/docs/crawler-architecture.md +0 -89
  34. package/docs/mcp-integration.md +0 -130
  35. package/docs/token-efficiency.md +0 -91
  36. package/eslint-rules/require-skip-comment.js +0 -81
  37. package/eslint.config.js +0 -103
  38. package/knip.json +0 -43
  39. package/scripts/test-mcp-dev.js +0 -260
  40. package/scripts/validate-npm-release.sh +0 -314
  41. package/src/analysis/adapter-registry.test.ts +0 -211
  42. package/src/analysis/adapter-registry.ts +0 -155
  43. package/src/analysis/ast-parser.test.ts +0 -470
  44. package/src/analysis/ast-parser.ts +0 -198
  45. package/src/analysis/code-graph.test.ts +0 -718
  46. package/src/analysis/code-graph.ts +0 -249
  47. package/src/analysis/dependency-usage-analyzer.test.ts +0 -619
  48. package/src/analysis/dependency-usage-analyzer.ts +0 -433
  49. package/src/analysis/go-ast-parser.test.ts +0 -531
  50. package/src/analysis/go-ast-parser.ts +0 -471
  51. package/src/analysis/language-adapter.ts +0 -127
  52. package/src/analysis/parser-factory.test.ts +0 -210
  53. package/src/analysis/parser-factory.ts +0 -52
  54. package/src/analysis/python-ast-parser.test.ts +0 -210
  55. package/src/analysis/python-ast-parser.ts +0 -34
  56. package/src/analysis/repo-url-resolver.test.ts +0 -533
  57. package/src/analysis/repo-url-resolver.ts +0 -233
  58. package/src/analysis/rust-ast-parser.test.ts +0 -568
  59. package/src/analysis/rust-ast-parser.ts +0 -467
  60. package/src/analysis/tree-sitter-parser.test.ts +0 -297
  61. package/src/analysis/tree-sitter-parser.ts +0 -217
  62. package/src/analysis/zil/index.ts +0 -34
  63. package/src/analysis/zil/zil-adapter.test.ts +0 -187
  64. package/src/analysis/zil/zil-adapter.ts +0 -121
  65. package/src/analysis/zil/zil-lexer.test.ts +0 -222
  66. package/src/analysis/zil/zil-lexer.ts +0 -239
  67. package/src/analysis/zil/zil-parser.test.ts +0 -210
  68. package/src/analysis/zil/zil-parser.ts +0 -360
  69. package/src/analysis/zil/zil-special-forms.ts +0 -193
  70. package/src/cli/commands/crawl.test.ts +0 -1086
  71. package/src/cli/commands/crawl.ts +0 -220
  72. package/src/cli/commands/index-cmd.test.ts +0 -733
  73. package/src/cli/commands/index-cmd.ts +0 -128
  74. package/src/cli/commands/mcp.test.ts +0 -218
  75. package/src/cli/commands/mcp.ts +0 -18
  76. package/src/cli/commands/plugin-api.test.ts +0 -373
  77. package/src/cli/commands/plugin-api.ts +0 -82
  78. package/src/cli/commands/search.test.ts +0 -1047
  79. package/src/cli/commands/search.ts +0 -197
  80. package/src/cli/commands/serve.test.ts +0 -371
  81. package/src/cli/commands/serve.ts +0 -43
  82. package/src/cli/commands/setup.test.ts +0 -895
  83. package/src/cli/commands/setup.ts +0 -176
  84. package/src/cli/commands/store.test.ts +0 -1370
  85. package/src/cli/commands/store.ts +0 -229
  86. package/src/cli/commands/sync.test.ts +0 -54
  87. package/src/cli/commands/sync.ts +0 -313
  88. package/src/cli/index.ts +0 -8
  89. package/src/cli/program.ts +0 -59
  90. package/src/crawl/article-converter.test.ts +0 -576
  91. package/src/crawl/article-converter.ts +0 -142
  92. package/src/crawl/bridge.test.ts +0 -796
  93. package/src/crawl/bridge.ts +0 -349
  94. package/src/crawl/claude-client.test.ts +0 -902
  95. package/src/crawl/claude-client.ts +0 -261
  96. package/src/crawl/intelligent-crawler.test.ts +0 -1028
  97. package/src/crawl/intelligent-crawler.ts +0 -478
  98. package/src/crawl/markdown-utils.test.ts +0 -703
  99. package/src/crawl/markdown-utils.ts +0 -225
  100. package/src/crawl/schemas.ts +0 -114
  101. package/src/db/embeddings.test.ts +0 -79
  102. package/src/db/embeddings.ts +0 -78
  103. package/src/db/index.ts +0 -2
  104. package/src/db/lance.test.ts +0 -479
  105. package/src/db/lance.ts +0 -190
  106. package/src/defaults/repos.ts +0 -67
  107. package/src/index.ts +0 -124
  108. package/src/logging/index.ts +0 -25
  109. package/src/logging/logger.test.ts +0 -75
  110. package/src/logging/logger.ts +0 -145
  111. package/src/logging/payload.test.ts +0 -152
  112. package/src/logging/payload.ts +0 -119
  113. package/src/mcp/cache.test.ts +0 -202
  114. package/src/mcp/cache.ts +0 -103
  115. package/src/mcp/commands/index.ts +0 -24
  116. package/src/mcp/commands/job.commands.ts +0 -48
  117. package/src/mcp/commands/meta.commands.ts +0 -54
  118. package/src/mcp/commands/registry.ts +0 -180
  119. package/src/mcp/commands/store.commands.ts +0 -75
  120. package/src/mcp/commands/sync.commands.test.ts +0 -371
  121. package/src/mcp/commands/sync.commands.ts +0 -263
  122. package/src/mcp/commands/uninstall.commands.test.ts +0 -37
  123. package/src/mcp/commands/uninstall.commands.ts +0 -29
  124. package/src/mcp/handlers/execute.handler.test.ts +0 -179
  125. package/src/mcp/handlers/execute.handler.ts +0 -23
  126. package/src/mcp/handlers/index.ts +0 -39
  127. package/src/mcp/handlers/job.handler.test.ts +0 -189
  128. package/src/mcp/handlers/job.handler.ts +0 -118
  129. package/src/mcp/handlers/search.handler.test.ts +0 -324
  130. package/src/mcp/handlers/search.handler.ts +0 -287
  131. package/src/mcp/handlers/store.handler.test.ts +0 -408
  132. package/src/mcp/handlers/store.handler.ts +0 -318
  133. package/src/mcp/handlers/uninstall.handler.test.ts +0 -194
  134. package/src/mcp/handlers/uninstall.handler.ts +0 -142
  135. package/src/mcp/plugin-mcp-config.test.ts +0 -71
  136. package/src/mcp/schemas/index.test.ts +0 -356
  137. package/src/mcp/schemas/index.ts +0 -155
  138. package/src/mcp/server.test.ts +0 -91
  139. package/src/mcp/server.ts +0 -235
  140. package/src/mcp/types.ts +0 -41
  141. package/src/plugin/commands.test.ts +0 -925
  142. package/src/plugin/commands.ts +0 -311
  143. package/src/plugin/dependency-analyzer.test.ts +0 -380
  144. package/src/plugin/dependency-analyzer.ts +0 -210
  145. package/src/plugin/git-clone.test.ts +0 -387
  146. package/src/plugin/git-clone.ts +0 -57
  147. package/src/scripts/validate-npm-release.test.ts +0 -70
  148. package/src/server/app.test.ts +0 -752
  149. package/src/server/app.ts +0 -128
  150. package/src/server/index.test.ts +0 -475
  151. package/src/server/index.ts +0 -1
  152. package/src/services/chunking.service.test.ts +0 -363
  153. package/src/services/chunking.service.ts +0 -380
  154. package/src/services/code-graph.service.test.ts +0 -298
  155. package/src/services/code-graph.service.ts +0 -326
  156. package/src/services/code-unit.service.test.ts +0 -693
  157. package/src/services/code-unit.service.ts +0 -234
  158. package/src/services/config.service.test.ts +0 -146
  159. package/src/services/config.service.ts +0 -92
  160. package/src/services/gitignore.service.test.ts +0 -157
  161. package/src/services/gitignore.service.ts +0 -132
  162. package/src/services/index.service.test.ts +0 -2301
  163. package/src/services/index.service.ts +0 -442
  164. package/src/services/index.ts +0 -119
  165. package/src/services/job.service.test.ts +0 -531
  166. package/src/services/job.service.ts +0 -298
  167. package/src/services/project-root.service.test.ts +0 -504
  168. package/src/services/project-root.service.ts +0 -112
  169. package/src/services/search.service.test.ts +0 -2263
  170. package/src/services/search.service.ts +0 -1341
  171. package/src/services/services.test.ts +0 -108
  172. package/src/services/snippet.service.test.ts +0 -213
  173. package/src/services/snippet.service.ts +0 -193
  174. package/src/services/store-definition.service.test.ts +0 -440
  175. package/src/services/store-definition.service.ts +0 -198
  176. package/src/services/store.service.test.ts +0 -843
  177. package/src/services/store.service.ts +0 -363
  178. package/src/services/token.service.test.ts +0 -45
  179. package/src/services/token.service.ts +0 -33
  180. package/src/services/watch.service.test.ts +0 -600
  181. package/src/services/watch.service.ts +0 -84
  182. package/src/types/brands.test.ts +0 -47
  183. package/src/types/brands.ts +0 -32
  184. package/src/types/config.ts +0 -79
  185. package/src/types/document.ts +0 -54
  186. package/src/types/index.ts +0 -73
  187. package/src/types/job.ts +0 -61
  188. package/src/types/progress.ts +0 -9
  189. package/src/types/result.test.ts +0 -54
  190. package/src/types/result.ts +0 -41
  191. package/src/types/search.ts +0 -105
  192. package/src/types/store-definition.test.ts +0 -492
  193. package/src/types/store-definition.ts +0 -129
  194. package/src/types/store.test.ts +0 -69
  195. package/src/types/store.ts +0 -47
  196. package/src/utils/type-guards.test.ts +0 -351
  197. package/src/utils/type-guards.ts +0 -61
  198. package/src/workers/background-worker-cli.test.ts +0 -35
  199. package/src/workers/background-worker-cli.ts +0 -149
  200. package/src/workers/background-worker.test.ts +0 -222
  201. package/src/workers/background-worker.ts +0 -322
  202. package/src/workers/pid-file.test.ts +0 -167
  203. package/src/workers/pid-file.ts +0 -82
  204. package/src/workers/spawn-worker.test.ts +0 -194
  205. package/src/workers/spawn-worker.ts +0 -70
  206. package/tests/analysis/ast-parser.test.ts +0 -98
  207. package/tests/analysis/code-graph.test.ts +0 -60
  208. package/tests/fixtures/README.md +0 -114
  209. package/tests/fixtures/code-snippets/api/error-handling.ts +0 -256
  210. package/tests/fixtures/code-snippets/api/rest-controller.ts +0 -297
  211. package/tests/fixtures/code-snippets/auth/jwt-auth.ts +0 -197
  212. package/tests/fixtures/code-snippets/auth/oauth-flow.ts +0 -245
  213. package/tests/fixtures/code-snippets/database/repository-pattern.ts +0 -280
  214. package/tests/fixtures/corpus/VERSION.md +0 -25
  215. package/tests/fixtures/corpus/articles/jwt-authentication.md +0 -97
  216. package/tests/fixtures/corpus/articles/react-hooks-patterns.md +0 -127
  217. package/tests/fixtures/corpus/articles/typescript-generics.md +0 -111
  218. package/tests/fixtures/corpus/documentation/express-middleware.md +0 -71
  219. package/tests/fixtures/corpus/documentation/express-routing.md +0 -83
  220. package/tests/fixtures/corpus/documentation/node-streams.md +0 -78
  221. package/tests/fixtures/corpus/oss-repos/express/History.md +0 -3871
  222. package/tests/fixtures/corpus/oss-repos/express/LICENSE +0 -24
  223. package/tests/fixtures/corpus/oss-repos/express/README.md +0 -276
  224. package/tests/fixtures/corpus/oss-repos/express/SECURITY.md +0 -56
  225. package/tests/fixtures/corpus/oss-repos/express/benchmarks/Makefile +0 -17
  226. package/tests/fixtures/corpus/oss-repos/express/benchmarks/README.md +0 -34
  227. package/tests/fixtures/corpus/oss-repos/express/benchmarks/middleware.js +0 -20
  228. package/tests/fixtures/corpus/oss-repos/express/benchmarks/run +0 -18
  229. package/tests/fixtures/corpus/oss-repos/express/examples/README.md +0 -29
  230. package/tests/fixtures/corpus/oss-repos/express/examples/auth/index.js +0 -134
  231. package/tests/fixtures/corpus/oss-repos/express/examples/auth/views/foot.ejs +0 -2
  232. package/tests/fixtures/corpus/oss-repos/express/examples/auth/views/head.ejs +0 -20
  233. package/tests/fixtures/corpus/oss-repos/express/examples/auth/views/login.ejs +0 -21
  234. package/tests/fixtures/corpus/oss-repos/express/examples/content-negotiation/db.js +0 -9
  235. package/tests/fixtures/corpus/oss-repos/express/examples/content-negotiation/index.js +0 -46
  236. package/tests/fixtures/corpus/oss-repos/express/examples/content-negotiation/users.js +0 -19
  237. package/tests/fixtures/corpus/oss-repos/express/examples/cookie-sessions/index.js +0 -25
  238. package/tests/fixtures/corpus/oss-repos/express/examples/cookies/index.js +0 -53
  239. 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
  240. package/tests/fixtures/corpus/oss-repos/express/examples/downloads/files/amazing.txt +0 -1
  241. package/tests/fixtures/corpus/oss-repos/express/examples/downloads/files/notes/groceries.txt +0 -3
  242. package/tests/fixtures/corpus/oss-repos/express/examples/downloads/index.js +0 -40
  243. package/tests/fixtures/corpus/oss-repos/express/examples/ejs/index.js +0 -57
  244. package/tests/fixtures/corpus/oss-repos/express/examples/ejs/public/stylesheets/style.css +0 -4
  245. package/tests/fixtures/corpus/oss-repos/express/examples/ejs/views/footer.html +0 -2
  246. package/tests/fixtures/corpus/oss-repos/express/examples/ejs/views/header.html +0 -9
  247. package/tests/fixtures/corpus/oss-repos/express/examples/ejs/views/users.html +0 -10
  248. package/tests/fixtures/corpus/oss-repos/express/examples/error/index.js +0 -53
  249. package/tests/fixtures/corpus/oss-repos/express/examples/error-pages/index.js +0 -103
  250. package/tests/fixtures/corpus/oss-repos/express/examples/error-pages/views/404.ejs +0 -3
  251. package/tests/fixtures/corpus/oss-repos/express/examples/error-pages/views/500.ejs +0 -8
  252. package/tests/fixtures/corpus/oss-repos/express/examples/error-pages/views/error_header.ejs +0 -10
  253. package/tests/fixtures/corpus/oss-repos/express/examples/error-pages/views/footer.ejs +0 -2
  254. package/tests/fixtures/corpus/oss-repos/express/examples/error-pages/views/index.ejs +0 -20
  255. package/tests/fixtures/corpus/oss-repos/express/examples/hello-world/index.js +0 -15
  256. package/tests/fixtures/corpus/oss-repos/express/examples/markdown/index.js +0 -44
  257. package/tests/fixtures/corpus/oss-repos/express/examples/markdown/views/index.md +0 -4
  258. package/tests/fixtures/corpus/oss-repos/express/examples/multi-router/controllers/api_v1.js +0 -15
  259. package/tests/fixtures/corpus/oss-repos/express/examples/multi-router/controllers/api_v2.js +0 -15
  260. package/tests/fixtures/corpus/oss-repos/express/examples/multi-router/index.js +0 -18
  261. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/controllers/main/index.js +0 -5
  262. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/controllers/pet/index.js +0 -31
  263. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/controllers/pet/views/edit.ejs +0 -17
  264. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/controllers/pet/views/show.ejs +0 -15
  265. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/controllers/user/index.js +0 -41
  266. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/controllers/user/views/edit.hbs +0 -27
  267. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/controllers/user/views/list.hbs +0 -18
  268. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/controllers/user/views/show.hbs +0 -31
  269. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/controllers/user-pet/index.js +0 -22
  270. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/db.js +0 -16
  271. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/index.js +0 -95
  272. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/lib/boot.js +0 -83
  273. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/public/style.css +0 -14
  274. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/views/404.ejs +0 -13
  275. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/views/5xx.ejs +0 -13
  276. package/tests/fixtures/corpus/oss-repos/express/examples/online/index.js +0 -61
  277. package/tests/fixtures/corpus/oss-repos/express/examples/params/index.js +0 -74
  278. package/tests/fixtures/corpus/oss-repos/express/examples/resource/index.js +0 -95
  279. package/tests/fixtures/corpus/oss-repos/express/examples/route-map/index.js +0 -75
  280. package/tests/fixtures/corpus/oss-repos/express/examples/route-middleware/index.js +0 -90
  281. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/index.js +0 -55
  282. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/post.js +0 -13
  283. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/public/style.css +0 -24
  284. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/site.js +0 -5
  285. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/user.js +0 -47
  286. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/views/footer.ejs +0 -2
  287. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/views/header.ejs +0 -9
  288. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/views/index.ejs +0 -10
  289. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/views/posts/index.ejs +0 -12
  290. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/views/users/edit.ejs +0 -23
  291. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/views/users/index.ejs +0 -14
  292. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/views/users/view.ejs +0 -9
  293. package/tests/fixtures/corpus/oss-repos/express/examples/search/index.js +0 -61
  294. package/tests/fixtures/corpus/oss-repos/express/examples/search/public/client.js +0 -15
  295. package/tests/fixtures/corpus/oss-repos/express/examples/search/public/index.html +0 -21
  296. package/tests/fixtures/corpus/oss-repos/express/examples/session/index.js +0 -37
  297. package/tests/fixtures/corpus/oss-repos/express/examples/session/redis.js +0 -39
  298. package/tests/fixtures/corpus/oss-repos/express/examples/static-files/index.js +0 -43
  299. package/tests/fixtures/corpus/oss-repos/express/examples/static-files/public/css/style.css +0 -3
  300. package/tests/fixtures/corpus/oss-repos/express/examples/static-files/public/hello.txt +0 -1
  301. package/tests/fixtures/corpus/oss-repos/express/examples/static-files/public/js/app.js +0 -1
  302. package/tests/fixtures/corpus/oss-repos/express/examples/vhost/index.js +0 -53
  303. package/tests/fixtures/corpus/oss-repos/express/examples/view-constructor/github-view.js +0 -53
  304. package/tests/fixtures/corpus/oss-repos/express/examples/view-constructor/index.js +0 -48
  305. package/tests/fixtures/corpus/oss-repos/express/examples/view-locals/index.js +0 -155
  306. package/tests/fixtures/corpus/oss-repos/express/examples/view-locals/user.js +0 -36
  307. package/tests/fixtures/corpus/oss-repos/express/examples/view-locals/views/index.ejs +0 -20
  308. package/tests/fixtures/corpus/oss-repos/express/examples/web-service/index.js +0 -117
  309. package/tests/fixtures/corpus/oss-repos/express/index.js +0 -11
  310. package/tests/fixtures/corpus/oss-repos/express/lib/application.js +0 -631
  311. package/tests/fixtures/corpus/oss-repos/express/lib/express.js +0 -81
  312. package/tests/fixtures/corpus/oss-repos/express/lib/request.js +0 -514
  313. package/tests/fixtures/corpus/oss-repos/express/lib/response.js +0 -1053
  314. package/tests/fixtures/corpus/oss-repos/express/lib/utils.js +0 -271
  315. package/tests/fixtures/corpus/oss-repos/express/lib/view.js +0 -205
  316. package/tests/fixtures/corpus/oss-repos/express/package.json +0 -99
  317. package/tests/fixtures/corpus/oss-repos/express/test/Route.js +0 -274
  318. package/tests/fixtures/corpus/oss-repos/express/test/Router.js +0 -636
  319. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/auth.js +0 -117
  320. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/content-negotiation.js +0 -49
  321. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/cookie-sessions.js +0 -38
  322. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/cookies.js +0 -71
  323. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/downloads.js +0 -47
  324. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/ejs.js +0 -17
  325. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/error-pages.js +0 -99
  326. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/error.js +0 -29
  327. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/hello-world.js +0 -21
  328. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/markdown.js +0 -21
  329. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/multi-router.js +0 -44
  330. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/mvc.js +0 -132
  331. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/params.js +0 -44
  332. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/resource.js +0 -68
  333. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/route-map.js +0 -45
  334. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/route-separation.js +0 -97
  335. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/vhost.js +0 -46
  336. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/web-service.js +0 -105
  337. package/tests/fixtures/corpus/oss-repos/express/test/app.all.js +0 -38
  338. package/tests/fixtures/corpus/oss-repos/express/test/app.engine.js +0 -83
  339. package/tests/fixtures/corpus/oss-repos/express/test/app.head.js +0 -66
  340. package/tests/fixtures/corpus/oss-repos/express/test/app.js +0 -120
  341. package/tests/fixtures/corpus/oss-repos/express/test/app.listen.js +0 -55
  342. package/tests/fixtures/corpus/oss-repos/express/test/app.locals.js +0 -26
  343. package/tests/fixtures/corpus/oss-repos/express/test/app.options.js +0 -116
  344. package/tests/fixtures/corpus/oss-repos/express/test/app.param.js +0 -323
  345. package/tests/fixtures/corpus/oss-repos/express/test/app.render.js +0 -374
  346. package/tests/fixtures/corpus/oss-repos/express/test/app.request.js +0 -143
  347. package/tests/fixtures/corpus/oss-repos/express/test/app.response.js +0 -143
  348. package/tests/fixtures/corpus/oss-repos/express/test/app.route.js +0 -197
  349. package/tests/fixtures/corpus/oss-repos/express/test/app.router.js +0 -1217
  350. package/tests/fixtures/corpus/oss-repos/express/test/app.routes.error.js +0 -62
  351. package/tests/fixtures/corpus/oss-repos/express/test/app.use.js +0 -542
  352. package/tests/fixtures/corpus/oss-repos/express/test/config.js +0 -207
  353. package/tests/fixtures/corpus/oss-repos/express/test/exports.js +0 -82
  354. package/tests/fixtures/corpus/oss-repos/express/test/express.json.js +0 -755
  355. package/tests/fixtures/corpus/oss-repos/express/test/express.raw.js +0 -513
  356. package/tests/fixtures/corpus/oss-repos/express/test/express.static.js +0 -815
  357. package/tests/fixtures/corpus/oss-repos/express/test/express.text.js +0 -566
  358. package/tests/fixtures/corpus/oss-repos/express/test/express.urlencoded.js +0 -828
  359. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/% of dogs.txt +0 -1
  360. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/.name +0 -1
  361. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/blog/index.html +0 -1
  362. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/blog/post/index.tmpl +0 -1
  363. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/broken.send +0 -0
  364. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/default_layout/name.tmpl +0 -1
  365. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/default_layout/user.tmpl +0 -1
  366. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/email.tmpl +0 -1
  367. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/empty.txt +0 -0
  368. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/local_layout/user.tmpl +0 -1
  369. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/name.tmpl +0 -1
  370. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/name.txt +0 -1
  371. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/nums.txt +0 -1
  372. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/pets/names.txt +0 -1
  373. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/snow /342/230/203/.gitkeep +0 -0
  374. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/todo.html +0 -1
  375. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/todo.txt +0 -1
  376. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/user.html +0 -1
  377. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/user.tmpl +0 -1
  378. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/users/index.html +0 -1
  379. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/users/tobi.txt +0 -1
  380. package/tests/fixtures/corpus/oss-repos/express/test/middleware.basic.js +0 -42
  381. package/tests/fixtures/corpus/oss-repos/express/test/regression.js +0 -20
  382. package/tests/fixtures/corpus/oss-repos/express/test/req.accepts.js +0 -125
  383. package/tests/fixtures/corpus/oss-repos/express/test/req.acceptsCharsets.js +0 -50
  384. package/tests/fixtures/corpus/oss-repos/express/test/req.acceptsEncodings.js +0 -39
  385. package/tests/fixtures/corpus/oss-repos/express/test/req.acceptsLanguages.js +0 -57
  386. package/tests/fixtures/corpus/oss-repos/express/test/req.baseUrl.js +0 -88
  387. package/tests/fixtures/corpus/oss-repos/express/test/req.fresh.js +0 -70
  388. package/tests/fixtures/corpus/oss-repos/express/test/req.get.js +0 -60
  389. package/tests/fixtures/corpus/oss-repos/express/test/req.host.js +0 -156
  390. package/tests/fixtures/corpus/oss-repos/express/test/req.hostname.js +0 -188
  391. package/tests/fixtures/corpus/oss-repos/express/test/req.ip.js +0 -113
  392. package/tests/fixtures/corpus/oss-repos/express/test/req.ips.js +0 -71
  393. package/tests/fixtures/corpus/oss-repos/express/test/req.is.js +0 -169
  394. package/tests/fixtures/corpus/oss-repos/express/test/req.path.js +0 -20
  395. package/tests/fixtures/corpus/oss-repos/express/test/req.protocol.js +0 -113
  396. package/tests/fixtures/corpus/oss-repos/express/test/req.query.js +0 -106
  397. package/tests/fixtures/corpus/oss-repos/express/test/req.range.js +0 -104
  398. package/tests/fixtures/corpus/oss-repos/express/test/req.route.js +0 -28
  399. package/tests/fixtures/corpus/oss-repos/express/test/req.secure.js +0 -101
  400. package/tests/fixtures/corpus/oss-repos/express/test/req.signedCookies.js +0 -37
  401. package/tests/fixtures/corpus/oss-repos/express/test/req.stale.js +0 -50
  402. package/tests/fixtures/corpus/oss-repos/express/test/req.subdomains.js +0 -173
  403. package/tests/fixtures/corpus/oss-repos/express/test/req.xhr.js +0 -42
  404. package/tests/fixtures/corpus/oss-repos/express/test/res.append.js +0 -116
  405. package/tests/fixtures/corpus/oss-repos/express/test/res.attachment.js +0 -79
  406. package/tests/fixtures/corpus/oss-repos/express/test/res.clearCookie.js +0 -62
  407. package/tests/fixtures/corpus/oss-repos/express/test/res.cookie.js +0 -295
  408. package/tests/fixtures/corpus/oss-repos/express/test/res.download.js +0 -487
  409. package/tests/fixtures/corpus/oss-repos/express/test/res.format.js +0 -248
  410. package/tests/fixtures/corpus/oss-repos/express/test/res.get.js +0 -21
  411. package/tests/fixtures/corpus/oss-repos/express/test/res.json.js +0 -186
  412. package/tests/fixtures/corpus/oss-repos/express/test/res.jsonp.js +0 -344
  413. package/tests/fixtures/corpus/oss-repos/express/test/res.links.js +0 -65
  414. package/tests/fixtures/corpus/oss-repos/express/test/res.locals.js +0 -40
  415. package/tests/fixtures/corpus/oss-repos/express/test/res.location.js +0 -316
  416. package/tests/fixtures/corpus/oss-repos/express/test/res.redirect.js +0 -214
  417. package/tests/fixtures/corpus/oss-repos/express/test/res.render.js +0 -367
  418. package/tests/fixtures/corpus/oss-repos/express/test/res.send.js +0 -569
  419. package/tests/fixtures/corpus/oss-repos/express/test/res.sendFile.js +0 -913
  420. package/tests/fixtures/corpus/oss-repos/express/test/res.sendStatus.js +0 -44
  421. package/tests/fixtures/corpus/oss-repos/express/test/res.set.js +0 -124
  422. package/tests/fixtures/corpus/oss-repos/express/test/res.status.js +0 -206
  423. package/tests/fixtures/corpus/oss-repos/express/test/res.type.js +0 -46
  424. package/tests/fixtures/corpus/oss-repos/express/test/res.vary.js +0 -90
  425. package/tests/fixtures/corpus/oss-repos/express/test/support/env.js +0 -3
  426. package/tests/fixtures/corpus/oss-repos/express/test/support/tmpl.js +0 -36
  427. package/tests/fixtures/corpus/oss-repos/express/test/support/utils.js +0 -86
  428. package/tests/fixtures/corpus/oss-repos/express/test/utils.js +0 -83
  429. package/tests/fixtures/corpus/oss-repos/hono/.devcontainer/Dockerfile +0 -11
  430. package/tests/fixtures/corpus/oss-repos/hono/.devcontainer/devcontainer.json +0 -21
  431. package/tests/fixtures/corpus/oss-repos/hono/.devcontainer/docker-compose.yml +0 -18
  432. package/tests/fixtures/corpus/oss-repos/hono/.eslintignore +0 -1
  433. package/tests/fixtures/corpus/oss-repos/hono/.eslintrc.cjs +0 -9
  434. package/tests/fixtures/corpus/oss-repos/hono/.gitpod.yml +0 -9
  435. package/tests/fixtures/corpus/oss-repos/hono/.prettierrc +0 -9
  436. package/tests/fixtures/corpus/oss-repos/hono/.vitest.config/jsx-runtime-default.ts +0 -15
  437. package/tests/fixtures/corpus/oss-repos/hono/.vitest.config/jsx-runtime-dom.ts +0 -15
  438. package/tests/fixtures/corpus/oss-repos/hono/.vitest.config/setup-vitest.ts +0 -47
  439. package/tests/fixtures/corpus/oss-repos/hono/LICENSE +0 -21
  440. package/tests/fixtures/corpus/oss-repos/hono/README.md +0 -91
  441. package/tests/fixtures/corpus/oss-repos/hono/build.ts +0 -80
  442. package/tests/fixtures/corpus/oss-repos/hono/bun.lockb +0 -0
  443. package/tests/fixtures/corpus/oss-repos/hono/bunfig.toml +0 -7
  444. package/tests/fixtures/corpus/oss-repos/hono/codecov.yml +0 -13
  445. package/tests/fixtures/corpus/oss-repos/hono/docs/CODE_OF_CONDUCT.md +0 -128
  446. package/tests/fixtures/corpus/oss-repos/hono/docs/CONTRIBUTING.md +0 -62
  447. package/tests/fixtures/corpus/oss-repos/hono/docs/MIGRATION.md +0 -295
  448. package/tests/fixtures/corpus/oss-repos/hono/docs/images/hono-logo.png +0 -0
  449. package/tests/fixtures/corpus/oss-repos/hono/docs/images/hono-logo.pxm +0 -0
  450. package/tests/fixtures/corpus/oss-repos/hono/docs/images/hono-logo.svg +0 -6
  451. package/tests/fixtures/corpus/oss-repos/hono/docs/images/hono-title.png +0 -0
  452. package/tests/fixtures/corpus/oss-repos/hono/docs/images/hono-title.pxm +0 -0
  453. package/tests/fixtures/corpus/oss-repos/hono/jsr.json +0 -119
  454. package/tests/fixtures/corpus/oss-repos/hono/package.cjs.json +0 -3
  455. package/tests/fixtures/corpus/oss-repos/hono/package.json +0 -650
  456. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/aws-lambda/handler.ts +0 -492
  457. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/aws-lambda/index.ts +0 -13
  458. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/aws-lambda/types.ts +0 -144
  459. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/bun/conninfo.ts +0 -28
  460. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/bun/index.ts +0 -9
  461. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/bun/serve-static.ts +0 -35
  462. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/bun/server.ts +0 -30
  463. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/bun/ssg.ts +0 -27
  464. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/bun/websocket.ts +0 -110
  465. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/cloudflare-pages/handler.ts +0 -120
  466. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/cloudflare-pages/index.ts +0 -7
  467. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/cloudflare-workers/conninfo.ts +0 -7
  468. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/cloudflare-workers/index.ts +0 -8
  469. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/cloudflare-workers/serve-static-module.ts +0 -12
  470. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/cloudflare-workers/serve-static.ts +0 -39
  471. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/cloudflare-workers/utils.ts +0 -50
  472. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/cloudflare-workers/websocket.ts +0 -50
  473. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/deno/conninfo.ts +0 -17
  474. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/deno/deno.d.ts +0 -28
  475. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/deno/index.ts +0 -9
  476. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/deno/serve-static.ts +0 -40
  477. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/deno/ssg.ts +0 -27
  478. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/deno/websocket.ts +0 -51
  479. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/lambda-edge/conninfo.ts +0 -15
  480. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/lambda-edge/handler.ts +0 -189
  481. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/lambda-edge/index.ts +0 -14
  482. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/netlify/handler.ts +0 -10
  483. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/netlify/index.ts +0 -6
  484. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/netlify/mod.ts +0 -1
  485. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/service-worker/handler.ts +0 -34
  486. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/service-worker/index.ts +0 -5
  487. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/service-worker/types.ts +0 -14
  488. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/vercel/conninfo.ts +0 -8
  489. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/vercel/handler.ts +0 -9
  490. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/vercel/index.ts +0 -7
  491. package/tests/fixtures/corpus/oss-repos/hono/src/client/client.ts +0 -214
  492. package/tests/fixtures/corpus/oss-repos/hono/src/client/index.ts +0 -14
  493. package/tests/fixtures/corpus/oss-repos/hono/src/client/types.ts +0 -182
  494. package/tests/fixtures/corpus/oss-repos/hono/src/client/utils.ts +0 -54
  495. package/tests/fixtures/corpus/oss-repos/hono/src/compose.ts +0 -94
  496. package/tests/fixtures/corpus/oss-repos/hono/src/context.ts +0 -917
  497. package/tests/fixtures/corpus/oss-repos/hono/src/helper/accepts/accepts.ts +0 -84
  498. package/tests/fixtures/corpus/oss-repos/hono/src/helper/accepts/index.ts +0 -6
  499. package/tests/fixtures/corpus/oss-repos/hono/src/helper/adapter/index.ts +0 -85
  500. package/tests/fixtures/corpus/oss-repos/hono/src/helper/conninfo/index.ts +0 -6
  501. package/tests/fixtures/corpus/oss-repos/hono/src/helper/conninfo/types.ts +0 -45
  502. package/tests/fixtures/corpus/oss-repos/hono/src/helper/cookie/index.ts +0 -130
  503. package/tests/fixtures/corpus/oss-repos/hono/src/helper/css/common.ts +0 -243
  504. package/tests/fixtures/corpus/oss-repos/hono/src/helper/css/index.ts +0 -220
  505. package/tests/fixtures/corpus/oss-repos/hono/src/helper/dev/index.ts +0 -79
  506. package/tests/fixtures/corpus/oss-repos/hono/src/helper/factory/index.ts +0 -246
  507. package/tests/fixtures/corpus/oss-repos/hono/src/helper/html/index.ts +0 -56
  508. package/tests/fixtures/corpus/oss-repos/hono/src/helper/ssg/index.ts +0 -13
  509. package/tests/fixtures/corpus/oss-repos/hono/src/helper/ssg/middleware.ts +0 -79
  510. package/tests/fixtures/corpus/oss-repos/hono/src/helper/ssg/ssg.ts +0 -388
  511. package/tests/fixtures/corpus/oss-repos/hono/src/helper/ssg/utils.ts +0 -71
  512. package/tests/fixtures/corpus/oss-repos/hono/src/helper/streaming/index.ts +0 -9
  513. package/tests/fixtures/corpus/oss-repos/hono/src/helper/streaming/sse.ts +0 -89
  514. package/tests/fixtures/corpus/oss-repos/hono/src/helper/streaming/stream.ts +0 -36
  515. package/tests/fixtures/corpus/oss-repos/hono/src/helper/streaming/text.ts +0 -15
  516. package/tests/fixtures/corpus/oss-repos/hono/src/helper/testing/index.ts +0 -26
  517. package/tests/fixtures/corpus/oss-repos/hono/src/helper/websocket/index.ts +0 -57
  518. package/tests/fixtures/corpus/oss-repos/hono/src/hono-base.ts +0 -523
  519. package/tests/fixtures/corpus/oss-repos/hono/src/hono.ts +0 -34
  520. package/tests/fixtures/corpus/oss-repos/hono/src/http-exception.ts +0 -78
  521. package/tests/fixtures/corpus/oss-repos/hono/src/index.ts +0 -51
  522. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/base.ts +0 -419
  523. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/children.ts +0 -20
  524. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/components.ts +0 -195
  525. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/constants.ts +0 -5
  526. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/context.ts +0 -50
  527. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/client.ts +0 -89
  528. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/components.ts +0 -39
  529. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/context.ts +0 -52
  530. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/css.ts +0 -246
  531. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/hooks/index.ts +0 -91
  532. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/index.ts +0 -159
  533. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/intrinsic-element/components.ts +0 -398
  534. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/jsx-dev-runtime.ts +0 -22
  535. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/jsx-runtime.ts +0 -7
  536. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/render.ts +0 -772
  537. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/server.ts +0 -70
  538. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/utils.ts +0 -7
  539. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/hooks/index.ts +0 -426
  540. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/index.ts +0 -114
  541. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/intrinsic-element/common.ts +0 -11
  542. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/intrinsic-element/components.ts +0 -196
  543. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/intrinsic-elements.ts +0 -924
  544. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/jsx-dev-runtime.ts +0 -26
  545. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/jsx-runtime.ts +0 -18
  546. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/streaming.ts +0 -184
  547. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/types.ts +0 -41
  548. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/utils.ts +0 -36
  549. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/basic-auth/index.ts +0 -128
  550. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/bearer-auth/index.ts +0 -159
  551. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/body-limit/index.ts +0 -115
  552. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/cache/index.ts +0 -127
  553. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/combine/index.ts +0 -153
  554. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/compress/index.ts +0 -79
  555. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/context-storage/index.ts +0 -55
  556. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/cors/index.ts +0 -141
  557. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/csrf/index.ts +0 -90
  558. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/etag/index.ts +0 -88
  559. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/ip-restriction/index.ts +0 -178
  560. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/jsx-renderer/index.ts +0 -158
  561. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/jwt/index.ts +0 -8
  562. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/jwt/jwt.ts +0 -159
  563. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/logger/index.ts +0 -93
  564. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/method-override/index.ts +0 -146
  565. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/powered-by/index.ts +0 -13
  566. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/pretty-json/index.ts +0 -50
  567. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/request-id/index.ts +0 -8
  568. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/request-id/request-id.ts +0 -59
  569. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/secure-headers/index.ts +0 -8
  570. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/secure-headers/permissions-policy.ts +0 -86
  571. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/secure-headers/secure-headers.ts +0 -319
  572. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/serve-static/index.ts +0 -140
  573. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/timeout/index.ts +0 -58
  574. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/timing/index.ts +0 -7
  575. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/timing/timing.ts +0 -225
  576. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/trailing-slash/index.ts +0 -71
  577. package/tests/fixtures/corpus/oss-repos/hono/src/preset/quick.ts +0 -24
  578. package/tests/fixtures/corpus/oss-repos/hono/src/preset/tiny.ts +0 -20
  579. package/tests/fixtures/corpus/oss-repos/hono/src/request.ts +0 -403
  580. package/tests/fixtures/corpus/oss-repos/hono/src/router/linear-router/index.ts +0 -6
  581. package/tests/fixtures/corpus/oss-repos/hono/src/router/linear-router/router.ts +0 -132
  582. package/tests/fixtures/corpus/oss-repos/hono/src/router/pattern-router/index.ts +0 -6
  583. package/tests/fixtures/corpus/oss-repos/hono/src/router/pattern-router/router.ts +0 -54
  584. package/tests/fixtures/corpus/oss-repos/hono/src/router/reg-exp-router/index.ts +0 -6
  585. package/tests/fixtures/corpus/oss-repos/hono/src/router/reg-exp-router/node.ts +0 -159
  586. package/tests/fixtures/corpus/oss-repos/hono/src/router/reg-exp-router/router.ts +0 -274
  587. package/tests/fixtures/corpus/oss-repos/hono/src/router/reg-exp-router/trie.ts +0 -74
  588. package/tests/fixtures/corpus/oss-repos/hono/src/router/smart-router/index.ts +0 -6
  589. package/tests/fixtures/corpus/oss-repos/hono/src/router/smart-router/router.ts +0 -69
  590. package/tests/fixtures/corpus/oss-repos/hono/src/router/trie-router/index.ts +0 -6
  591. package/tests/fixtures/corpus/oss-repos/hono/src/router/trie-router/node.ts +0 -205
  592. package/tests/fixtures/corpus/oss-repos/hono/src/router/trie-router/router.ts +0 -28
  593. package/tests/fixtures/corpus/oss-repos/hono/src/router.ts +0 -103
  594. package/tests/fixtures/corpus/oss-repos/hono/src/types.ts +0 -2006
  595. package/tests/fixtures/corpus/oss-repos/hono/src/utils/basic-auth.ts +0 -26
  596. package/tests/fixtures/corpus/oss-repos/hono/src/utils/body.ts +0 -225
  597. package/tests/fixtures/corpus/oss-repos/hono/src/utils/buffer.ts +0 -65
  598. package/tests/fixtures/corpus/oss-repos/hono/src/utils/color.ts +0 -26
  599. package/tests/fixtures/corpus/oss-repos/hono/src/utils/concurrent.ts +0 -55
  600. package/tests/fixtures/corpus/oss-repos/hono/src/utils/cookie.ts +0 -230
  601. package/tests/fixtures/corpus/oss-repos/hono/src/utils/crypto.ts +0 -65
  602. package/tests/fixtures/corpus/oss-repos/hono/src/utils/encode.ts +0 -34
  603. package/tests/fixtures/corpus/oss-repos/hono/src/utils/filepath.ts +0 -56
  604. package/tests/fixtures/corpus/oss-repos/hono/src/utils/handler.ts +0 -15
  605. package/tests/fixtures/corpus/oss-repos/hono/src/utils/html.ts +0 -182
  606. package/tests/fixtures/corpus/oss-repos/hono/src/utils/http-status.ts +0 -69
  607. package/tests/fixtures/corpus/oss-repos/hono/src/utils/ipaddr.ts +0 -113
  608. package/tests/fixtures/corpus/oss-repos/hono/src/utils/jwt/index.ts +0 -7
  609. package/tests/fixtures/corpus/oss-repos/hono/src/utils/jwt/jwa.ts +0 -23
  610. package/tests/fixtures/corpus/oss-repos/hono/src/utils/jwt/jws.ts +0 -226
  611. package/tests/fixtures/corpus/oss-repos/hono/src/utils/jwt/jwt.ts +0 -114
  612. package/tests/fixtures/corpus/oss-repos/hono/src/utils/jwt/types.ts +0 -83
  613. package/tests/fixtures/corpus/oss-repos/hono/src/utils/jwt/utf8.ts +0 -7
  614. package/tests/fixtures/corpus/oss-repos/hono/src/utils/mime.ts +0 -142
  615. package/tests/fixtures/corpus/oss-repos/hono/src/utils/stream.ts +0 -96
  616. package/tests/fixtures/corpus/oss-repos/hono/src/utils/types.ts +0 -102
  617. package/tests/fixtures/corpus/oss-repos/hono/src/utils/url.ts +0 -310
  618. package/tests/fixtures/corpus/oss-repos/hono/src/validator/index.ts +0 -7
  619. package/tests/fixtures/corpus/oss-repos/hono/src/validator/validator.ts +0 -151
  620. package/tests/fixtures/corpus/oss-repos/hono/tsconfig.build.json +0 -23
  621. package/tests/fixtures/corpus/oss-repos/hono/tsconfig.json +0 -28
  622. package/tests/fixtures/corpus/oss-repos/hono/vitest.config.ts +0 -34
  623. package/tests/fixtures/corpus/oss-repos/hono/yarn.lock +0 -6232
  624. package/tests/fixtures/documentation/api-reference.md +0 -412
  625. package/tests/fixtures/documentation/architecture.md +0 -214
  626. package/tests/fixtures/documentation/deployment-guide.md +0 -420
  627. package/tests/fixtures/github-readmes/express.md +0 -133
  628. package/tests/fixtures/github-readmes/nextjs.md +0 -106
  629. package/tests/fixtures/github-readmes/react.md +0 -74
  630. package/tests/fixtures/github-readmes/typescript.md +0 -93
  631. package/tests/fixtures/github-readmes/vite.md +0 -79
  632. package/tests/fixtures/queries/core.json +0 -125
  633. package/tests/fixtures/queries/extended.json +0 -427
  634. package/tests/fixtures/queries/generated/.gitkeep +0 -0
  635. package/tests/fixtures/test-server.ts +0 -268
  636. package/tests/helpers/performance-metrics.ts +0 -370
  637. package/tests/helpers/search-relevance.ts +0 -326
  638. package/tests/integration/cli-consistency.test.ts +0 -298
  639. package/tests/integration/cli.test.ts +0 -69
  640. package/tests/integration/e2e-workflow.test.ts +0 -614
  641. package/tests/integration/mcp.test.ts +0 -250
  642. package/tests/integration/python-bridge.test.ts +0 -193
  643. package/tests/integration/search-quality.test.ts +0 -720
  644. package/tests/integration/serve.test.ts +0 -260
  645. package/tests/integration/stress.test.ts +0 -326
  646. package/tests/mcp/server.test.ts +0 -15
  647. package/tests/scripts/schemas/evaluation.json +0 -44
  648. package/tests/scripts/schemas/query-generation.json +0 -21
  649. package/tests/services/code-unit.service.test.ts +0 -95
  650. package/tests/services/job.service.test.ts +0 -124
  651. package/tests/services/search.progressive-context.test.ts +0 -35
  652. package/tsconfig.json +0 -34
  653. package/tsup.config.ts +0 -15
  654. package/turndown-plugin-gfm.d.ts +0 -29
  655. package/vitest.config.ts +0 -90
@@ -1,326 +0,0 @@
1
- /**
2
- * Search Relevance Utilities
3
- *
4
- * Helpers for validating search result quality and relevance.
5
- */
6
-
7
- /**
8
- * Search result item (matches CLI output structure)
9
- */
10
- export interface SearchResult {
11
- /** Result ranking position (1-based) */
12
- rank: number;
13
- /** Relevance score (0-1) */
14
- score: number;
15
- /** Source file path */
16
- source: string;
17
- /** Content snippet */
18
- content: string;
19
- }
20
-
21
- /**
22
- * Expected match for relevance testing
23
- */
24
- export interface ExpectedMatch {
25
- /** Keywords that should appear in content (any of these) */
26
- keywords?: string[];
27
- /** All of these keywords must appear */
28
- requiredKeywords?: string[];
29
- /** Source file should contain this string */
30
- sourceContains?: string;
31
- /** Minimum acceptable score */
32
- minScore?: number;
33
- /** Maximum acceptable rank position */
34
- maxRank?: number;
35
- }
36
-
37
- /**
38
- * Parse CLI search output into structured results
39
- *
40
- * @param output - Raw CLI output from search command
41
- * @returns Array of parsed search results
42
- *
43
- * @example
44
- * const output = cli('search "authentication"');
45
- * const results = parseSearchOutput(output);
46
- */
47
- export function parseSearchOutput(output: string): SearchResult[] {
48
- const results: SearchResult[] = [];
49
- const lines = output.split('\n');
50
-
51
- let currentResult: Partial<SearchResult> | null = null;
52
- let rank = 0;
53
- let expectingLocation = false;
54
- let locationSet = false;
55
-
56
- for (const line of lines) {
57
- // Match new format header: "1. [0.85] function: PROVIDERS"
58
- // Or old format: "1. [0.85] path/to/file.ts"
59
- const headerMatch = line.match(/^(\d+)\.\s+\[(-?[0-9.]+)\]\s+(.+)$/);
60
- if (headerMatch) {
61
- // Save previous result if it exists
62
- if (currentResult) {
63
- // If source is still empty, try to extract from content or use a placeholder
64
- if (!currentResult.source) {
65
- currentResult.source = 'unknown';
66
- }
67
- results.push(currentResult as SearchResult);
68
- }
69
-
70
- rank++;
71
- const headerContent = headerMatch[3].trim();
72
-
73
- // Check if this is new format (contains type prefix like "function:", "class:", etc.)
74
- const typeMatch = headerContent.match(
75
- /^(function|class|interface|type|const|documentation):\s+(.+)$/
76
- );
77
- if (typeMatch) {
78
- // New format - next line should contain the location
79
- currentResult = {
80
- rank,
81
- score: parseFloat(headerMatch[2]),
82
- source: '', // Will be filled from next line
83
- content: '',
84
- };
85
- expectingLocation = true;
86
- locationSet = false;
87
- } else {
88
- // Old format - source is directly in header
89
- currentResult = {
90
- rank,
91
- score: parseFloat(headerMatch[2]),
92
- source: headerContent,
93
- content: '',
94
- };
95
- expectingLocation = false;
96
- locationSet = true;
97
- }
98
- continue;
99
- }
100
-
101
- // Process indented lines
102
- if (currentResult && line.startsWith(' ')) {
103
- const trimmed = line.trim();
104
-
105
- // If we're expecting location and haven't set it yet
106
- if (expectingLocation && !locationSet) {
107
- // First indented line after header is the location
108
- // Extract just the file path, removing line numbers if present
109
- const pathMatch = trimmed.match(/^([^:]+?)(?::\d+)?$/);
110
- if (pathMatch) {
111
- currentResult.source = pathMatch[1];
112
- } else {
113
- currentResult.source = trimmed;
114
- }
115
- locationSet = true;
116
- expectingLocation = false;
117
- continue;
118
- }
119
-
120
- // Accumulate content lines (all other indented lines)
121
- if (locationSet) {
122
- currentResult.content += (currentResult.content ? '\n' : '') + trimmed;
123
- }
124
- }
125
- }
126
-
127
- // Don't forget the last result
128
- if (currentResult) {
129
- if (!currentResult.source) {
130
- currentResult.source = 'unknown';
131
- }
132
- results.push(currentResult as SearchResult);
133
- }
134
-
135
- return results;
136
- }
137
-
138
- /**
139
- * Check if a result matches expected criteria
140
- *
141
- * @param result - Search result to check
142
- * @param expected - Expected match criteria
143
- * @returns true if result matches all criteria
144
- */
145
- export function matchesExpectation(result: SearchResult, expected: ExpectedMatch): boolean {
146
- const contentLower = result.content.toLowerCase();
147
- const sourceLower = result.source.toLowerCase();
148
-
149
- // Check keywords (any match)
150
- if (expected.keywords && expected.keywords.length > 0) {
151
- const hasKeyword = expected.keywords.some((kw) => contentLower.includes(kw.toLowerCase()));
152
- if (!hasKeyword) return false;
153
- }
154
-
155
- // Check required keywords (all must match)
156
- if (expected.requiredKeywords && expected.requiredKeywords.length > 0) {
157
- const hasAllRequired = expected.requiredKeywords.every((kw) =>
158
- contentLower.includes(kw.toLowerCase())
159
- );
160
- if (!hasAllRequired) return false;
161
- }
162
-
163
- // Check source path
164
- if (expected.sourceContains) {
165
- if (!sourceLower.includes(expected.sourceContains.toLowerCase())) {
166
- return false;
167
- }
168
- }
169
-
170
- // Check minimum score
171
- if (expected.minScore !== undefined && result.score < expected.minScore) {
172
- return false;
173
- }
174
-
175
- // Check maximum rank
176
- if (expected.maxRank !== undefined && result.rank > expected.maxRank) {
177
- return false;
178
- }
179
-
180
- return true;
181
- }
182
-
183
- /**
184
- * Assert that results contain at least one match for expected criteria
185
- *
186
- * @param results - Search results to check
187
- * @param expected - Expected match criteria
188
- * @returns The first matching result, or throws if none found
189
- */
190
- export function assertHasMatch(results: SearchResult[], expected: ExpectedMatch): SearchResult {
191
- const match = results.find((r) => matchesExpectation(r, expected));
192
- if (!match) {
193
- const criteria = JSON.stringify(expected, null, 2);
194
- const resultsSummary = results.map((r) => ` ${r.rank}. [${r.score}] ${r.source}`).join('\n');
195
- throw new Error(
196
- `No result matches expected criteria:\n${criteria}\n\nResults:\n${resultsSummary}`
197
- );
198
- }
199
- return match;
200
- }
201
-
202
- /**
203
- * Assert that the top N results all match expected criteria
204
- *
205
- * @param results - Search results to check
206
- * @param expected - Expected match criteria
207
- * @param topN - Number of top results to check (default: 3)
208
- */
209
- export function assertTopResultsMatch(
210
- results: SearchResult[],
211
- expected: ExpectedMatch,
212
- topN = 3
213
- ): void {
214
- const topResults = results.slice(0, topN);
215
-
216
- for (const result of topResults) {
217
- if (!matchesExpectation(result, expected)) {
218
- throw new Error(
219
- `Top ${topN} result at rank ${result.rank} does not match expected criteria:\n` +
220
- `Expected: ${JSON.stringify(expected)}\n` +
221
- `Got: ${result.source} - "${result.content.slice(0, 100)}..."`
222
- );
223
- }
224
- }
225
- }
226
-
227
- /**
228
- * Calculate relevance metrics for a set of results
229
- *
230
- * @param results - Search results
231
- * @param expected - Expected match criteria for "relevant" results
232
- * @returns Relevance metrics
233
- */
234
- export function calculateRelevanceMetrics(
235
- results: SearchResult[],
236
- expected: ExpectedMatch
237
- ): {
238
- precision: number;
239
- relevantCount: number;
240
- totalCount: number;
241
- averageScore: number;
242
- topScore: number;
243
- } {
244
- const relevant = results.filter((r) => matchesExpectation(r, expected));
245
-
246
- return {
247
- precision: results.length > 0 ? relevant.length / results.length : 0,
248
- relevantCount: relevant.length,
249
- totalCount: results.length,
250
- averageScore:
251
- results.length > 0 ? results.reduce((sum, r) => sum + r.score, 0) / results.length : 0,
252
- topScore: results.length > 0 ? results[0].score : 0,
253
- };
254
- }
255
-
256
- /**
257
- * Compare relevance between two search result sets
258
- *
259
- * @param baseline - Baseline results
260
- * @param comparison - Results to compare
261
- * @param expected - Expected match criteria
262
- * @returns Comparison metrics
263
- */
264
- export function compareRelevance(
265
- baseline: SearchResult[],
266
- comparison: SearchResult[],
267
- expected: ExpectedMatch
268
- ): {
269
- baselineMetrics: ReturnType<typeof calculateRelevanceMetrics>;
270
- comparisonMetrics: ReturnType<typeof calculateRelevanceMetrics>;
271
- precisionDiff: number;
272
- scoreDiff: number;
273
- } {
274
- const baselineMetrics = calculateRelevanceMetrics(baseline, expected);
275
- const comparisonMetrics = calculateRelevanceMetrics(comparison, expected);
276
-
277
- return {
278
- baselineMetrics,
279
- comparisonMetrics,
280
- precisionDiff: comparisonMetrics.precision - baselineMetrics.precision,
281
- scoreDiff: comparisonMetrics.topScore - baselineMetrics.topScore,
282
- };
283
- }
284
-
285
- /**
286
- * Assert minimum relevance score for results
287
- *
288
- * @param results - Search results
289
- * @param minScore - Minimum acceptable score
290
- */
291
- export function assertMinimumScores(results: SearchResult[], minScore: number): void {
292
- for (const result of results) {
293
- if (result.score < minScore) {
294
- throw new Error(
295
- `Result at rank ${result.rank} has score ${result.score}, ` +
296
- `which is below minimum ${minScore}`
297
- );
298
- }
299
- }
300
- }
301
-
302
- /**
303
- * Check if results are properly ordered by score (descending)
304
- */
305
- export function assertProperOrdering(results: SearchResult[]): void {
306
- for (let i = 1; i < results.length; i++) {
307
- if (results[i].score > results[i - 1].score) {
308
- throw new Error(
309
- `Results not properly ordered: rank ${i} has higher score ` +
310
- `(${results[i].score}) than rank ${i - 1} (${results[i - 1].score})`
311
- );
312
- }
313
- }
314
- }
315
-
316
- /**
317
- * Common keyword sets for testing
318
- */
319
- export const CommonKeywords = {
320
- AUTHENTICATION: ['auth', 'login', 'jwt', 'token', 'password', 'session', 'oauth', 'credential'],
321
- API: ['endpoint', 'request', 'response', 'rest', 'http', 'route', 'controller', 'middleware'],
322
- DATABASE: ['query', 'database', 'repository', 'entity', 'model', 'schema', 'sql', 'orm'],
323
- TYPESCRIPT: ['typescript', 'type', 'interface', 'generic', 'compiler', 'tsc'],
324
- REACT: ['react', 'component', 'jsx', 'hook', 'state', 'props', 'render'],
325
- ERROR_HANDLING: ['error', 'exception', 'catch', 'throw', 'try', 'handler', 'validation'],
326
- } as const;
@@ -1,298 +0,0 @@
1
- import { describe, it, expect, beforeAll, afterAll } from 'vitest';
2
- import { execSync, spawnSync } from 'node:child_process';
3
- import { rm, mkdtemp, writeFile, mkdir } from 'node:fs/promises';
4
- import { tmpdir } from 'node:os';
5
- import { join } from 'node:path';
6
-
7
- /**
8
- * CLI Consistency Tests
9
- *
10
- * These tests verify:
11
- * 1. Exit codes are consistent across commands
12
- * 2. --format json is respected by all commands
13
- * 3. --quiet suppresses non-essential output
14
- * 4. Error messages follow consistent format
15
- * 5. Spinners check TTY before displaying
16
- * 6. store delete prompts for confirmation without --force
17
- */
18
-
19
- /**
20
- * CLI Consistency Tests
21
- *
22
- * Tests that CLI commands have consistent behavior:
23
- * - Exit codes
24
- * - JSON format support
25
- * - Quiet mode
26
- * - Error message format
27
- *
28
- * The CLI now properly cleans up resources via destroyServices() which
29
- * stops the PythonBridge subprocess, allowing commands to exit cleanly.
30
- */
31
- describe('CLI Consistency', () => {
32
- let tempDir: string;
33
- let testFilesDir: string;
34
-
35
- beforeAll(async () => {
36
- tempDir = await mkdtemp(join(tmpdir(), 'cli-consistency-'));
37
- testFilesDir = join(tempDir, 'files');
38
- await mkdir(testFilesDir, { recursive: true });
39
- await writeFile(
40
- join(testFilesDir, 'test.md'),
41
- '# Test\n\nContent for testing CLI consistency.'
42
- );
43
- }, 30000);
44
-
45
- afterAll(async () => {
46
- await rm(tempDir, { recursive: true, force: true });
47
- });
48
-
49
- /**
50
- * Helper to run CLI and capture output + exit code
51
- * Properly handles quoted arguments
52
- */
53
- const runCli = (
54
- args: string,
55
- options: { expectError?: boolean; stdin?: string } = {}
56
- ): {
57
- stdout: string;
58
- stderr: string;
59
- exitCode: number;
60
- } => {
61
- // Parse args respecting quotes
62
- const argArray: string[] = [];
63
- let current = '';
64
- let inQuotes = false;
65
- let quoteChar = '';
66
-
67
- for (const char of args) {
68
- if ((char === '"' || char === "'") && !inQuotes) {
69
- inQuotes = true;
70
- quoteChar = char;
71
- } else if (char === quoteChar && inQuotes) {
72
- inQuotes = false;
73
- quoteChar = '';
74
- } else if (char === ' ' && !inQuotes) {
75
- if (current) {
76
- argArray.push(current);
77
- current = '';
78
- }
79
- } else {
80
- current += char;
81
- }
82
- }
83
- if (current) {
84
- argArray.push(current);
85
- }
86
-
87
- const result = spawnSync('node', ['dist/index.js', ...argArray, '--data-dir', tempDir], {
88
- encoding: 'utf-8',
89
- timeout: 60000,
90
- input: options.stdin,
91
- });
92
- return {
93
- stdout: result.stdout || '',
94
- stderr: result.stderr || '',
95
- exitCode: result.status ?? 1,
96
- };
97
- };
98
-
99
- /**
100
- * Helper for commands expected to succeed
101
- */
102
- const cli = (args: string): string => {
103
- return execSync(`node dist/index.js ${args} --data-dir "${tempDir}"`, {
104
- encoding: 'utf-8',
105
- timeout: 60000,
106
- });
107
- };
108
-
109
- describe('Exit Codes', () => {
110
- it('returns exit code 0 on success', () => {
111
- const result = runCli('store list');
112
- expect(result.exitCode).toBe(0);
113
- }, 15000);
114
-
115
- it('returns non-zero exit code when store not found', () => {
116
- const result = runCli('store info nonexistent-store');
117
- // Exit code may be 3 (expected) or 134 (SIGABRT from LanceDB cleanup)
118
- expect(result.exitCode).not.toBe(0);
119
- expect(result.stderr).toContain('Error: Store not found');
120
- });
121
-
122
- it('returns non-zero exit code when store not found for delete', () => {
123
- const result = runCli('store delete nonexistent-store --force');
124
- expect(result.exitCode).not.toBe(0);
125
- expect(result.stderr).toContain('Error: Store not found');
126
- });
127
-
128
- it('returns non-zero exit code when store not found for index', () => {
129
- const result = runCli('index nonexistent-store');
130
- expect(result.exitCode).not.toBe(0);
131
- expect(result.stderr).toContain('Error: Store not found');
132
- });
133
-
134
- it('returns non-zero exit code when store not found for search with --stores', () => {
135
- const result = runCli('search "test" --stores nonexistent-store');
136
- expect(result.exitCode).not.toBe(0);
137
- expect(result.stderr).toContain('Error: Store not found');
138
- });
139
- });
140
-
141
- describe('--format json Support', () => {
142
- beforeAll(async () => {
143
- // Create a store for testing
144
- try {
145
- cli(`store create json-test-store --type file --source "${testFilesDir}"`);
146
- cli('index json-test-store');
147
- } catch {
148
- // Store may already exist
149
- }
150
- }, 120000);
151
-
152
- it('store list supports --format json', () => {
153
- const result = runCli('store list --format json');
154
- expect(result.exitCode).toBe(0);
155
- expect(() => JSON.parse(result.stdout)).not.toThrow();
156
- });
157
-
158
- it('store info supports --format json', () => {
159
- const result = runCli('store info json-test-store --format json');
160
- expect(result.exitCode).toBe(0);
161
- const parsed = JSON.parse(result.stdout);
162
- expect(parsed).toHaveProperty('name');
163
- expect(parsed).toHaveProperty('id');
164
- });
165
-
166
- it('search supports --format json', () => {
167
- const result = runCli('search "test" --format json');
168
- expect(result.exitCode).toBe(0);
169
- const parsed = JSON.parse(result.stdout);
170
- expect(parsed).toHaveProperty('results');
171
- }, 15000);
172
-
173
- it('index supports --format json', () => {
174
- const result = runCli('index json-test-store --format json');
175
- expect(result.exitCode).toBe(0);
176
- const parsed = JSON.parse(result.stdout);
177
- expect(parsed).toHaveProperty('documentsIndexed');
178
- }, 120000);
179
- });
180
-
181
- describe('--quiet Flag', () => {
182
- beforeAll(async () => {
183
- try {
184
- cli(`store create quiet-test-store --type file --source "${testFilesDir}"`);
185
- cli('index quiet-test-store');
186
- } catch {
187
- // Store may already exist
188
- }
189
- }, 120000);
190
-
191
- it('--quiet suppresses all output for index on success', () => {
192
- const result = runCli('index quiet-test-store --quiet');
193
- expect(result.exitCode).toBe(0);
194
- // Quiet mode = no output on success
195
- expect(result.stdout.trim()).toBe('');
196
- }, 120000);
197
-
198
- it('--quiet outputs only store names for store list', () => {
199
- const result = runCli('store list --quiet');
200
- expect(result.exitCode).toBe(0);
201
- // Should not contain decorative headers
202
- expect(result.stdout).not.toContain('Stores:');
203
- // Should still list store names (one per line)
204
- expect(result.stdout.trim().length).toBeGreaterThan(0);
205
- });
206
-
207
- it('--quiet outputs only paths for search', () => {
208
- const result = runCli('search "test" --stores quiet-test-store --quiet');
209
- expect(result.exitCode).toBe(0);
210
- // Should not contain verbose headers
211
- expect(result.stdout).not.toContain('Search:');
212
- expect(result.stdout).not.toContain('Mode:');
213
- });
214
- });
215
-
216
- describe('Error Message Format', () => {
217
- it('uses consistent "Error:" prefix for store not found', () => {
218
- const result = runCli('store info nonexistent');
219
- expect(result.stderr).toMatch(/^Error: Store not found: nonexistent/m);
220
- });
221
-
222
- it('uses consistent "Error:" prefix for store delete not found', () => {
223
- const result = runCli('store delete nonexistent --force');
224
- expect(result.stderr).toMatch(/^Error: Store not found: nonexistent/m);
225
- });
226
-
227
- it('uses consistent "Error:" prefix for index not found', () => {
228
- const result = runCli('index nonexistent');
229
- expect(result.stderr).toMatch(/^Error: Store not found: nonexistent/m);
230
- });
231
-
232
- it('uses consistent "Error:" prefix for search store not found', () => {
233
- const result = runCli('search "test" --stores nonexistent');
234
- expect(result.stderr).toMatch(/^Error: Store not found: nonexistent/m);
235
- });
236
-
237
- // Note: crawl auto-creates stores when not found, so no error test needed
238
- });
239
-
240
- describe('store delete Confirmation', () => {
241
- beforeAll(async () => {
242
- try {
243
- cli(`store create delete-test-store --type file --source "${testFilesDir}"`);
244
- } catch {
245
- // Store may already exist
246
- }
247
- });
248
-
249
- it('prompts for confirmation without --force', () => {
250
- // When run without --force and without TTY, should fail or prompt
251
- const result = runCli('store delete delete-test-store');
252
- // Should either prompt (and fail due to no input) or require --force
253
- expect(result.exitCode).not.toBe(0);
254
- expect(result.stderr + result.stdout).toMatch(/confirm|--force|cancelled/i);
255
- });
256
-
257
- it('deletes without prompt with --force', () => {
258
- // First recreate the store
259
- try {
260
- cli(`store create delete-force-store --type file --source "${testFilesDir}"`);
261
- } catch {
262
- // ignore
263
- }
264
-
265
- const result = runCli('store delete delete-force-store --force');
266
- expect(result.exitCode).toBe(0);
267
- expect(result.stdout).toContain('Deleted');
268
- }, 15000);
269
-
270
- it('accepts -y as alias for --force', () => {
271
- try {
272
- cli(`store create delete-y-store --type file --source "${testFilesDir}"`);
273
- } catch {
274
- // ignore
275
- }
276
-
277
- const result = runCli('store delete delete-y-store -y');
278
- expect(result.exitCode).toBe(0);
279
- expect(result.stdout).toContain('Deleted');
280
- });
281
- });
282
-
283
- describe('Non-TTY Spinner Behavior', () => {
284
- it('does not show spinner characters in non-TTY mode for index', () => {
285
- // Create a store for this test
286
- try {
287
- cli(`store create spinner-test --type file --source "${testFilesDir}"`);
288
- } catch {
289
- // ignore
290
- }
291
-
292
- const result = runCli('index spinner-test');
293
- // Should not contain ora spinner frames (⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏ or similar)
294
- expect(result.stdout).not.toMatch(/[⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏]/);
295
- expect(result.exitCode).toBe(0);
296
- }, 120000);
297
- });
298
- });
@@ -1,69 +0,0 @@
1
- import { describe, it, expect, beforeAll, afterAll } from 'vitest';
2
- import { execSync } from 'node:child_process';
3
- import { rm, mkdtemp, writeFile, mkdir } from 'node:fs/promises';
4
- import { tmpdir } from 'node:os';
5
- import { join } from 'node:path';
6
-
7
- /**
8
- * CLI Integration Tests
9
- *
10
- * Tests the CLI commands work correctly when run as subprocesses.
11
- * The CLI now properly cleans up resources via destroyServices() which
12
- * stops the PythonBridge subprocess, allowing commands to exit cleanly.
13
- */
14
- describe('CLI Integration', () => {
15
- let tempDir: string;
16
- let testFilesDir: string;
17
-
18
- beforeAll(async () => {
19
- tempDir = await mkdtemp(join(tmpdir(), 'cli-test-'));
20
- testFilesDir = join(tempDir, 'files');
21
- await mkdir(testFilesDir, { recursive: true });
22
- await writeFile(
23
- join(testFilesDir, 'test.md'),
24
- '# Test Document\n\nThis is content about TypeScript and JavaScript programming.'
25
- );
26
- }, 30000);
27
-
28
- afterAll(async () => {
29
- await rm(tempDir, { recursive: true, force: true });
30
- });
31
-
32
- const cli = (args: string): string => {
33
- return execSync(`node dist/index.js ${args} --data-dir "${tempDir}"`, {
34
- encoding: 'utf-8',
35
- timeout: 120000,
36
- });
37
- };
38
-
39
- it('shows help', () => {
40
- const output = cli('--help');
41
- expect(output).toContain('CLI tool for managing knowledge stores');
42
- expect(output).toContain('search');
43
- expect(output).toContain('index');
44
- }, 30000);
45
-
46
- it('creates and lists stores', () => {
47
- cli(`store create test-store --type file --source "${testFilesDir}"`);
48
- const listOutput = cli('store list');
49
- expect(listOutput).toContain('test-store');
50
- }, 30000);
51
-
52
- it('shows store info', () => {
53
- const output = cli('store info test-store');
54
- expect(output).toContain('test-store');
55
- expect(output).toContain('file');
56
- }, 30000);
57
-
58
- it('indexes a store', () => {
59
- const output = cli('index test-store');
60
- expect(output).toContain('Indexed');
61
- expect(output).toContain('documents');
62
- }, 120000);
63
-
64
- it('searches indexed content', () => {
65
- const output = cli('search "TypeScript programming"');
66
- expect(output).toContain('Search:');
67
- expect(output).toContain('Results:');
68
- }, 60000);
69
- });