cgraphx 1.4.3 → 2.0.0

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 (1309) hide show
  1. package/LICENSE +1 -1
  2. package/README.en.md +126 -0
  3. package/README.md +78 -196
  4. package/dist/.claude-template/.cgraphx/timeline-current-turn.json +1 -0
  5. package/dist/.claude-template/CLAUDE.md +10 -0
  6. package/dist/.claude-template/FLOW-MAP.md +107 -0
  7. package/dist/.claude-template/agents/knowledge-recall.md +11 -17
  8. package/dist/.claude-template/commands/my-query.md +1 -1
  9. package/dist/.claude-template/deprecated-assets.json +11 -0
  10. package/dist/.claude-template/hooks/precommit-check/precommit-check.cjs +27 -24
  11. package/dist/.claude-template/skills/.cgraphx/timeline-current-turn.json +1 -0
  12. package/dist/.claude-template/skills/cgraphx-guide/SKILL.md +22 -24
  13. package/dist/.claude-template/skills/cgraphx-guide/how-to-use.html +273 -156
  14. package/dist/.claude-template/skills/cgraphx-guide/how-to-use.md +148 -86
  15. package/dist/.claude-template/skills/clarify-requirements/SKILL.md +75 -384
  16. package/dist/.claude-template/skills/developer-timeline/SKILL.md +3 -2
  17. package/dist/.claude-template/skills/export-table-ddl/SKILL.md +3 -2
  18. package/dist/.claude-template/skills/handdrawn-deck/.cgraphx/timeline-current-turn.json +1 -0
  19. package/dist/.claude-template/skills/handdrawn-deck/SKILL.md +305 -0
  20. package/dist/.claude-template/skills/handdrawn-deck/references/.cgraphx/timeline-current-turn.json +1 -0
  21. package/dist/.claude-template/skills/handdrawn-deck/references/deck-template.html +469 -0
  22. package/dist/.claude-template/skills/handdrawn-deck/references/gen-script-md.cjs +44 -0
  23. package/dist/.claude-template/skills/handdrawn-deck/references/seg.cjs +54 -0
  24. package/dist/.claude-template/skills/handdrawn-sketch-engine/.cgraphx/timeline-current-turn.json +1 -0
  25. package/dist/.claude-template/skills/handdrawn-sketch-engine/SKILL.md +279 -0
  26. package/dist/.claude-template/skills/handdrawn-sketch-engine/assets/icon-library.js +238 -0
  27. package/dist/.claude-template/skills/handdrawn-sketch-engine/references/engine-template.html +275 -0
  28. package/dist/.claude-template/skills/handdrawn-sketch-engine/references/reference-render.html +445 -0
  29. package/dist/.claude-template/skills/implementation/SKILL.md +36 -130
  30. package/dist/.claude-template/skills/init-project-guides/SKILL.md +81 -0
  31. package/dist/.claude-template/skills/init-project-guides/templates/git-standards.md +37 -0
  32. package/dist/.claude-template/skills/init-project-guides/templates/go.md +160 -0
  33. package/dist/.claude-template/skills/init-project-guides/templates/java.md +173 -0
  34. package/dist/.claude-template/skills/init-project-guides/templates/schema-convention.md +11 -0
  35. package/dist/.claude-template/skills/init-project-guides/templates/typescript.md +156 -0
  36. package/dist/.claude-template/skills/knowledge-api/SKILL.md +143 -0
  37. package/dist/.claude-template/skills/knowledge-api/agent-prompt.md +51 -0
  38. package/dist/.claude-template/skills/knowledge-init/SKILL.md +761 -0
  39. package/dist/.claude-template/skills/knowledge-migrate/SKILL.md +173 -0
  40. package/dist/.claude-template/skills/knowledge-recall/SKILL.md +5 -4
  41. package/dist/.claude-template/skills/knowledge-write/SKILL.md +126 -0
  42. package/dist/.claude-template/skills/knowledge-write/template-concept.md +95 -0
  43. package/dist/.claude-template/skills/knowledge-write/template-flow.md +100 -0
  44. package/dist/.claude-template/skills/knowledge-write/template-guide.md +77 -0
  45. package/dist/.claude-template/skills/knowledge-write/template-memory.md +61 -0
  46. package/dist/.claude-template/skills/run-api-test/SKILL.md +6 -4
  47. package/dist/.claude-template/skills/run-api-test/assets/template-test-report.md +448 -55
  48. package/dist/.claude-template/skills/run-api-test/assets/template-test-verify.jsonl +5 -5
  49. package/dist/.claude-template/skills/run-api-test/references/report-format.md +54 -19
  50. package/dist/.claude-template/skills/subagent-implement/SKILL.md +60 -183
  51. package/dist/.claude-template/skills/subagent-implement/implementer-prompt.md +9 -4
  52. package/dist/.claude-template/skills/subagent-implement/quality-reviewer-prompt.md +1 -1
  53. package/dist/.claude-template/skills/subagent-implement/spec-reviewer-prompt.md +1 -0
  54. package/dist/.claude-template/skills/write-api/SKILL.md +7 -5
  55. package/dist/.claude-template/skills/write-api/assets/template-api-spec.md +2 -3
  56. package/dist/.claude-template/skills/write-api/assets/template-request.bru +21 -0
  57. package/dist/.claude-template/skills/write-api/references/ai-prompts.md +1 -2
  58. package/dist/.claude-template/skills/write-api/references/api-spec-format.md +0 -1
  59. package/dist/.claude-template/skills/write-api-doc/SKILL.md +8 -7
  60. package/dist/.claude-template/skills/write-design-doc/SKILL.md +86 -0
  61. package/dist/.claude-template/skills/write-design-doc/template-design-html.md +357 -0
  62. package/dist/.claude-template/skills/write-design-doc/template-design-md.md +164 -0
  63. package/dist/.claude-template/skills/write-plan/SKILL.md +94 -291
  64. package/dist/.claude-template/skills/write-plan/plan-document-reviewer-prompt.md +24 -6
  65. package/dist/.claude-template/skills/write-prd/SKILL.md +4 -2
  66. package/dist/.claude-template/skills/write-spec/SKILL.md +75 -282
  67. package/dist/.claude-template/skills/write-unit-test-code/SKILL.md +87 -2
  68. package/dist/.claude-template/skills/write-workload/SKILL.md +130 -0
  69. package/dist/cli/fatal-handler.d.ts +21 -0
  70. package/dist/cli/fatal-handler.d.ts.map +1 -0
  71. package/dist/cli/fatal-handler.js +109 -0
  72. package/dist/cli/fatal-handler.js.map +1 -0
  73. package/dist/cli/index.d.ts +27 -0
  74. package/dist/cli/index.d.ts.map +1 -0
  75. package/dist/cli/index.js +248 -0
  76. package/dist/cli/index.js.map +1 -0
  77. package/dist/cli/installer/claude-assets.d.ts +101 -0
  78. package/dist/cli/installer/claude-assets.d.ts.map +1 -0
  79. package/dist/cli/installer/claude-assets.js +321 -0
  80. package/dist/cli/installer/claude-assets.js.map +1 -0
  81. package/dist/cli/installer/index.d.ts +105 -0
  82. package/dist/cli/installer/index.d.ts.map +1 -0
  83. package/dist/cli/installer/index.js +548 -0
  84. package/dist/cli/installer/index.js.map +1 -0
  85. package/dist/cli/installer/targets/claude.d.ts +72 -0
  86. package/dist/cli/installer/targets/claude.d.ts.map +1 -0
  87. package/dist/cli/installer/targets/claude.js +580 -0
  88. package/dist/cli/installer/targets/claude.js.map +1 -0
  89. package/dist/cli/installer/targets/registry.d.ts +32 -0
  90. package/dist/cli/installer/targets/registry.d.ts.map +1 -0
  91. package/dist/cli/installer/targets/registry.js +72 -0
  92. package/dist/cli/installer/targets/registry.js.map +1 -0
  93. package/dist/cli/installer/targets/shared.d.ts +66 -0
  94. package/dist/cli/installer/targets/shared.d.ts.map +1 -0
  95. package/dist/cli/installer/targets/shared.js +228 -0
  96. package/dist/cli/installer/targets/shared.js.map +1 -0
  97. package/dist/cli/installer/targets/types.d.ts +97 -0
  98. package/dist/cli/installer/targets/types.d.ts.map +1 -0
  99. package/dist/cli/installer/targets/types.js +16 -0
  100. package/dist/cli/installer/targets/types.js.map +1 -0
  101. package/dist/cli/node-version-check.d.ts +32 -0
  102. package/dist/cli/node-version-check.d.ts.map +1 -0
  103. package/dist/cli/node-version-check.js +54 -0
  104. package/dist/cli/node-version-check.js.map +1 -0
  105. package/dist/cli/ui/glyphs.d.ts +43 -0
  106. package/dist/cli/ui/glyphs.d.ts.map +1 -0
  107. package/dist/cli/ui/glyphs.js +79 -0
  108. package/dist/cli/ui/glyphs.js.map +1 -0
  109. package/dist/cli/uninstall.d.ts +18 -0
  110. package/dist/cli/uninstall.d.ts.map +1 -0
  111. package/dist/cli/uninstall.js +19 -0
  112. package/dist/cli/uninstall.js.map +1 -0
  113. package/dist/cli/upgrade/index.d.ts +81 -0
  114. package/dist/cli/upgrade/index.d.ts.map +1 -0
  115. package/dist/cli/upgrade/index.js +257 -0
  116. package/dist/cli/upgrade/index.js.map +1 -0
  117. package/dist/core/db/index.d.ts +123 -0
  118. package/dist/core/db/index.d.ts.map +1 -0
  119. package/dist/core/db/index.js +260 -0
  120. package/dist/core/db/index.js.map +1 -0
  121. package/dist/core/db/migrate.d.ts +29 -0
  122. package/dist/core/db/migrate.d.ts.map +1 -0
  123. package/dist/core/db/migrate.js +100 -0
  124. package/dist/core/db/migrate.js.map +1 -0
  125. package/dist/core/db/sqlite-adapter.d.ts +51 -0
  126. package/dist/core/db/sqlite-adapter.d.ts.map +1 -0
  127. package/dist/core/db/sqlite-adapter.js +116 -0
  128. package/dist/core/db/sqlite-adapter.js.map +1 -0
  129. package/dist/core/dbquery/cli.d.ts +17 -0
  130. package/dist/core/dbquery/cli.d.ts.map +1 -0
  131. package/dist/core/dbquery/cli.js +246 -0
  132. package/dist/core/dbquery/cli.js.map +1 -0
  133. package/dist/core/dbquery/config.d.ts.map +1 -0
  134. package/dist/core/dbquery/config.js.map +1 -0
  135. package/dist/core/dbquery/constants.d.ts.map +1 -0
  136. package/dist/core/dbquery/constants.js.map +1 -0
  137. package/dist/core/dbquery/drivers/mysql.d.ts.map +1 -0
  138. package/dist/core/dbquery/drivers/mysql.js.map +1 -0
  139. package/dist/core/dbquery/drivers/postgres.d.ts.map +1 -0
  140. package/dist/core/dbquery/drivers/postgres.js.map +1 -0
  141. package/dist/core/dbquery/errors.d.ts +40 -0
  142. package/dist/core/dbquery/errors.d.ts.map +1 -0
  143. package/dist/core/dbquery/errors.js +85 -0
  144. package/dist/core/dbquery/errors.js.map +1 -0
  145. package/dist/core/dbquery/executor.d.ts.map +1 -0
  146. package/dist/core/dbquery/executor.js.map +1 -0
  147. package/dist/core/dbquery/format.d.ts.map +1 -0
  148. package/dist/core/dbquery/format.js.map +1 -0
  149. package/dist/core/dbquery/identifiers.d.ts.map +1 -0
  150. package/dist/core/dbquery/identifiers.js.map +1 -0
  151. package/dist/core/dbquery/index.d.ts.map +1 -0
  152. package/dist/core/dbquery/index.js.map +1 -0
  153. package/dist/core/dbquery/init.d.ts +33 -0
  154. package/dist/core/dbquery/init.d.ts.map +1 -0
  155. package/dist/core/dbquery/init.js +125 -0
  156. package/dist/core/dbquery/init.js.map +1 -0
  157. package/dist/core/dbquery/logging.d.ts.map +1 -0
  158. package/dist/core/dbquery/logging.js.map +1 -0
  159. package/dist/core/dbquery/queries.d.ts.map +1 -0
  160. package/dist/core/dbquery/queries.js.map +1 -0
  161. package/dist/core/dbquery/safety.d.ts.map +1 -0
  162. package/dist/core/dbquery/safety.js.map +1 -0
  163. package/dist/core/dbquery/types.d.ts +139 -0
  164. package/dist/core/dbquery/types.d.ts.map +1 -0
  165. package/dist/core/dbquery/types.js +10 -0
  166. package/dist/core/dbquery/types.js.map +1 -0
  167. package/dist/core/directory.d.ts +60 -0
  168. package/dist/core/directory.d.ts.map +1 -0
  169. package/dist/core/directory.js +243 -0
  170. package/dist/core/directory.js.map +1 -0
  171. package/dist/core/errors.d.ts +79 -0
  172. package/dist/core/errors.d.ts.map +1 -0
  173. package/dist/core/errors.js +133 -0
  174. package/dist/core/errors.js.map +1 -0
  175. package/dist/core/features/cli.d.ts +12 -0
  176. package/dist/core/features/cli.d.ts.map +1 -0
  177. package/dist/core/features/cli.js +154 -0
  178. package/dist/core/features/cli.js.map +1 -0
  179. package/dist/core/features/index.d.ts +15 -0
  180. package/dist/core/features/index.d.ts.map +1 -0
  181. package/dist/core/features/index.js +39 -0
  182. package/dist/core/features/index.js.map +1 -0
  183. package/dist/core/features/scanner.d.ts +26 -0
  184. package/dist/core/features/scanner.d.ts.map +1 -0
  185. package/dist/core/features/scanner.js +198 -0
  186. package/dist/core/features/scanner.js.map +1 -0
  187. package/dist/core/features/sync.d.ts +26 -0
  188. package/dist/core/features/sync.d.ts.map +1 -0
  189. package/dist/core/features/sync.js +108 -0
  190. package/dist/core/features/sync.js.map +1 -0
  191. package/dist/core/features/types.d.ts +35 -0
  192. package/dist/core/features/types.d.ts.map +1 -0
  193. package/dist/core/features/types.js +12 -0
  194. package/dist/core/features/types.js.map +1 -0
  195. package/dist/core/markdown/cli.d.ts +16 -0
  196. package/dist/core/markdown/cli.d.ts.map +1 -0
  197. package/dist/core/markdown/cli.js +575 -0
  198. package/dist/core/markdown/cli.js.map +1 -0
  199. package/dist/core/markdown/constants.d.ts +22 -0
  200. package/dist/core/markdown/constants.d.ts.map +1 -0
  201. package/dist/core/markdown/constants.js +61 -0
  202. package/dist/core/markdown/constants.js.map +1 -0
  203. package/dist/core/markdown/dedup.d.ts.map +1 -0
  204. package/dist/core/markdown/dedup.js.map +1 -0
  205. package/dist/core/markdown/errors.d.ts +22 -0
  206. package/dist/core/markdown/errors.d.ts.map +1 -0
  207. package/dist/core/markdown/errors.js +45 -0
  208. package/dist/core/markdown/errors.js.map +1 -0
  209. package/dist/core/markdown/extractor.d.ts.map +1 -0
  210. package/dist/core/markdown/extractor.js.map +1 -0
  211. package/dist/core/markdown/frontmatter-parser.d.ts +54 -0
  212. package/dist/core/markdown/frontmatter-parser.d.ts.map +1 -0
  213. package/dist/core/markdown/frontmatter-parser.js +229 -0
  214. package/dist/core/markdown/frontmatter-parser.js.map +1 -0
  215. package/dist/core/markdown/index.d.ts +21 -0
  216. package/dist/core/markdown/index.d.ts.map +1 -0
  217. package/dist/core/markdown/index.js +36 -0
  218. package/dist/core/markdown/index.js.map +1 -0
  219. package/dist/core/markdown/indexer.d.ts +34 -0
  220. package/dist/core/markdown/indexer.d.ts.map +1 -0
  221. package/dist/core/markdown/indexer.js +256 -0
  222. package/dist/core/markdown/indexer.js.map +1 -0
  223. package/dist/core/markdown/query-dedup.d.ts +23 -0
  224. package/dist/core/markdown/query-dedup.d.ts.map +1 -0
  225. package/dist/core/markdown/query-dedup.js +141 -0
  226. package/dist/core/markdown/query-dedup.js.map +1 -0
  227. package/dist/core/markdown/query-helpers.d.ts +66 -0
  228. package/dist/core/markdown/query-helpers.d.ts.map +1 -0
  229. package/dist/core/markdown/query-helpers.js +334 -0
  230. package/dist/core/markdown/query-helpers.js.map +1 -0
  231. package/dist/core/markdown/query.d.ts +125 -0
  232. package/dist/core/markdown/query.d.ts.map +1 -0
  233. package/dist/core/markdown/query.js +367 -0
  234. package/dist/core/markdown/query.js.map +1 -0
  235. package/dist/core/markdown/schema-bootstrap.d.ts +40 -0
  236. package/dist/core/markdown/schema-bootstrap.d.ts.map +1 -0
  237. package/dist/core/markdown/schema-bootstrap.js +85 -0
  238. package/dist/core/markdown/schema-bootstrap.js.map +1 -0
  239. package/dist/core/markdown/schema.sql +124 -0
  240. package/dist/core/markdown/store.d.ts.map +1 -0
  241. package/dist/core/markdown/store.js.map +1 -0
  242. package/dist/core/markdown/summary-extractor.d.ts.map +1 -0
  243. package/dist/core/markdown/summary-extractor.js.map +1 -0
  244. package/dist/core/markdown/types.d.ts +186 -0
  245. package/dist/core/markdown/types.d.ts.map +1 -0
  246. package/dist/core/markdown/types.js.map +1 -0
  247. package/dist/core/markdown/validator.d.ts +44 -0
  248. package/dist/core/markdown/validator.d.ts.map +1 -0
  249. package/dist/core/markdown/validator.js +95 -0
  250. package/dist/core/markdown/validator.js.map +1 -0
  251. package/dist/core/timeline/bash-semantics.d.ts.map +1 -0
  252. package/dist/core/timeline/bash-semantics.js.map +1 -0
  253. package/dist/core/timeline/cli.d.ts.map +1 -0
  254. package/dist/core/timeline/cli.js.map +1 -0
  255. package/dist/core/timeline/constants.d.ts +62 -0
  256. package/dist/core/timeline/constants.d.ts.map +1 -0
  257. package/dist/core/timeline/constants.js +73 -0
  258. package/dist/core/timeline/constants.js.map +1 -0
  259. package/dist/core/timeline/errors.d.ts.map +1 -0
  260. package/dist/core/timeline/errors.js.map +1 -0
  261. package/dist/core/timeline/hook-runner.d.ts.map +1 -0
  262. package/dist/core/timeline/hook-runner.js.map +1 -0
  263. package/dist/core/timeline/hooks.d.ts.map +1 -0
  264. package/dist/core/timeline/hooks.js.map +1 -0
  265. package/dist/core/timeline/index.d.ts.map +1 -0
  266. package/dist/core/timeline/index.js.map +1 -0
  267. package/dist/core/timeline/indexer.d.ts.map +1 -0
  268. package/dist/core/timeline/indexer.js.map +1 -0
  269. package/dist/core/timeline/installer.d.ts.map +1 -0
  270. package/dist/core/timeline/installer.js.map +1 -0
  271. package/dist/core/timeline/payload.d.ts.map +1 -0
  272. package/dist/core/timeline/payload.js.map +1 -0
  273. package/dist/core/timeline/post-tool-summary.d.ts.map +1 -0
  274. package/dist/core/timeline/post-tool-summary.js.map +1 -0
  275. package/dist/core/timeline/recorder.d.ts.map +1 -0
  276. package/dist/core/timeline/recorder.js.map +1 -0
  277. package/dist/core/timeline/schema-bootstrap.d.ts +42 -0
  278. package/dist/core/timeline/schema-bootstrap.d.ts.map +1 -0
  279. package/dist/core/timeline/schema-bootstrap.js +81 -0
  280. package/dist/core/timeline/schema-bootstrap.js.map +1 -0
  281. package/dist/core/timeline/store.d.ts.map +1 -0
  282. package/dist/core/timeline/store.js.map +1 -0
  283. package/dist/core/timeline/types.d.ts.map +1 -0
  284. package/dist/core/timeline/types.js.map +1 -0
  285. package/dist/core/types.d.ts +25 -0
  286. package/dist/core/types.d.ts.map +1 -0
  287. package/dist/core/types.js +12 -0
  288. package/dist/core/types.js.map +1 -0
  289. package/dist/web/bootstrap.d.ts +26 -0
  290. package/dist/web/bootstrap.d.ts.map +1 -0
  291. package/dist/web/bootstrap.js +98 -0
  292. package/dist/web/bootstrap.js.map +1 -0
  293. package/dist/web/constants.d.ts +27 -0
  294. package/dist/web/constants.d.ts.map +1 -0
  295. package/dist/web/constants.js +41 -0
  296. package/dist/web/constants.js.map +1 -0
  297. package/dist/web/errors.d.ts +46 -0
  298. package/dist/web/errors.d.ts.map +1 -0
  299. package/dist/web/errors.js +56 -0
  300. package/dist/web/errors.js.map +1 -0
  301. package/dist/web/index.d.ts +13 -0
  302. package/dist/web/index.d.ts.map +1 -0
  303. package/dist/web/index.js +20 -0
  304. package/dist/web/index.js.map +1 -0
  305. package/dist/web/layout.d.ts +31 -0
  306. package/dist/web/layout.d.ts.map +1 -0
  307. package/dist/web/layout.js +77 -0
  308. package/dist/web/layout.js.map +1 -0
  309. package/dist/web/markdown.d.ts +23 -0
  310. package/dist/web/markdown.d.ts.map +1 -0
  311. package/dist/web/markdown.js +38 -0
  312. package/dist/web/markdown.js.map +1 -0
  313. package/dist/web/overview-templates.d.ts +123 -0
  314. package/dist/web/overview-templates.d.ts.map +1 -0
  315. package/dist/web/overview-templates.js +213 -0
  316. package/dist/web/overview-templates.js.map +1 -0
  317. package/dist/web/pages-detail.d.ts +32 -0
  318. package/dist/web/pages-detail.d.ts.map +1 -0
  319. package/dist/web/pages-detail.js +275 -0
  320. package/dist/web/pages-detail.js.map +1 -0
  321. package/dist/web/pages-overview.d.ts +60 -0
  322. package/dist/web/pages-overview.d.ts.map +1 -0
  323. package/dist/web/pages-overview.js +304 -0
  324. package/dist/web/pages-overview.js.map +1 -0
  325. package/dist/web/public/app.css +1772 -0
  326. package/dist/web/public/app.js +41 -0
  327. package/dist/web/register.d.ts +12 -0
  328. package/dist/web/register.d.ts.map +1 -0
  329. package/dist/web/register.js +88 -0
  330. package/dist/web/register.js.map +1 -0
  331. package/dist/web/render-utils.d.ts +28 -0
  332. package/dist/web/render-utils.d.ts.map +1 -0
  333. package/dist/web/render-utils.js +54 -0
  334. package/dist/web/render-utils.js.map +1 -0
  335. package/dist/web/server.d.ts +42 -0
  336. package/dist/web/server.d.ts.map +1 -0
  337. package/dist/web/server.js +292 -0
  338. package/dist/web/server.js.map +1 -0
  339. package/package.json +14 -27
  340. package/scripts/copy-assets.cjs +89 -0
  341. package/dist/.claude-template/commands/my-commit.md +0 -9
  342. package/dist/.claude-template/skills/cgraphx/SKILL.md +0 -143
  343. package/dist/.claude-template/skills/cgraphx/agent-prompt.md +0 -56
  344. package/dist/.claude-template/skills/code-impact-api/SKILL.md +0 -143
  345. package/dist/.claude-template/skills/code-impact-api/agent-prompt.md +0 -51
  346. package/dist/.claude-template/skills/code-impact-docgen/SKILL.md +0 -376
  347. package/dist/.claude-template/skills/code-impact-docgen/template-design-html.md +0 -357
  348. package/dist/.claude-template/skills/code-impact-docgen/template-design-md.md +0 -164
  349. package/dist/.claude-template/skills/code-impact-init/SKILL.md +0 -803
  350. package/dist/.claude-template/skills/code-impact-markdown/SKILL.md +0 -353
  351. package/dist/.claude-template/skills/code-impact-markdown/template-guide.md +0 -68
  352. package/dist/.claude-template/skills/code-impact-markdown/template-memory.md +0 -82
  353. package/dist/.claude-template/skills/code-impact-markdown/template-runbook.md +0 -58
  354. package/dist/.claude-template/skills/precommit-review/SKILL.md +0 -50
  355. package/dist/api-test/ai-fields.d.ts +0 -37
  356. package/dist/api-test/ai-fields.d.ts.map +0 -1
  357. package/dist/api-test/ai-fields.js +0 -114
  358. package/dist/api-test/ai-fields.js.map +0 -1
  359. package/dist/api-test/assemble.d.ts +0 -76
  360. package/dist/api-test/assemble.d.ts.map +0 -1
  361. package/dist/api-test/assemble.js +0 -185
  362. package/dist/api-test/assemble.js.map +0 -1
  363. package/dist/api-test/bru-cli-invoker.d.ts +0 -72
  364. package/dist/api-test/bru-cli-invoker.d.ts.map +0 -1
  365. package/dist/api-test/bru-cli-invoker.js +0 -169
  366. package/dist/api-test/bru-cli-invoker.js.map +0 -1
  367. package/dist/api-test/bru-report-parser.d.ts +0 -24
  368. package/dist/api-test/bru-report-parser.d.ts.map +0 -1
  369. package/dist/api-test/bru-report-parser.js +0 -110
  370. package/dist/api-test/bru-report-parser.js.map +0 -1
  371. package/dist/api-test/bru-runner.d.ts +0 -101
  372. package/dist/api-test/bru-runner.d.ts.map +0 -1
  373. package/dist/api-test/bru-runner.js +0 -316
  374. package/dist/api-test/bru-runner.js.map +0 -1
  375. package/dist/api-test/bru-writer.d.ts +0 -52
  376. package/dist/api-test/bru-writer.d.ts.map +0 -1
  377. package/dist/api-test/bru-writer.js +0 -159
  378. package/dist/api-test/bru-writer.js.map +0 -1
  379. package/dist/api-test/call-chain-extractor.d.ts +0 -80
  380. package/dist/api-test/call-chain-extractor.d.ts.map +0 -1
  381. package/dist/api-test/call-chain-extractor.js +0 -179
  382. package/dist/api-test/call-chain-extractor.js.map +0 -1
  383. package/dist/api-test/cli.d.ts +0 -133
  384. package/dist/api-test/cli.d.ts.map +0 -1
  385. package/dist/api-test/cli.js +0 -1009
  386. package/dist/api-test/cli.js.map +0 -1
  387. package/dist/api-test/config.d.ts +0 -75
  388. package/dist/api-test/config.d.ts.map +0 -1
  389. package/dist/api-test/config.js +0 -406
  390. package/dist/api-test/config.js.map +0 -1
  391. package/dist/api-test/db-query-cli.d.ts +0 -51
  392. package/dist/api-test/db-query-cli.d.ts.map +0 -1
  393. package/dist/api-test/db-query-cli.js +0 -119
  394. package/dist/api-test/db-query-cli.js.map +0 -1
  395. package/dist/api-test/enhance-prepare.d.ts +0 -111
  396. package/dist/api-test/enhance-prepare.d.ts.map +0 -1
  397. package/dist/api-test/enhance-prepare.js +0 -425
  398. package/dist/api-test/enhance-prepare.js.map +0 -1
  399. package/dist/api-test/enhance-write.d.ts +0 -28
  400. package/dist/api-test/enhance-write.d.ts.map +0 -1
  401. package/dist/api-test/enhance-write.js +0 -145
  402. package/dist/api-test/enhance-write.js.map +0 -1
  403. package/dist/api-test/errors.d.ts +0 -48
  404. package/dist/api-test/errors.d.ts.map +0 -1
  405. package/dist/api-test/errors.js +0 -76
  406. package/dist/api-test/errors.js.map +0 -1
  407. package/dist/api-test/field-extractor.d.ts +0 -98
  408. package/dist/api-test/field-extractor.d.ts.map +0 -1
  409. package/dist/api-test/field-extractor.js +0 -327
  410. package/dist/api-test/field-extractor.js.map +0 -1
  411. package/dist/api-test/impl-finder.d.ts +0 -37
  412. package/dist/api-test/impl-finder.d.ts.map +0 -1
  413. package/dist/api-test/impl-finder.js +0 -54
  414. package/dist/api-test/impl-finder.js.map +0 -1
  415. package/dist/api-test/index.d.ts +0 -41
  416. package/dist/api-test/index.d.ts.map +0 -1
  417. package/dist/api-test/index.js +0 -124
  418. package/dist/api-test/index.js.map +0 -1
  419. package/dist/api-test/java-parser.d.ts +0 -89
  420. package/dist/api-test/java-parser.d.ts.map +0 -1
  421. package/dist/api-test/java-parser.js +0 -508
  422. package/dist/api-test/java-parser.js.map +0 -1
  423. package/dist/api-test/md-writer.d.ts +0 -49
  424. package/dist/api-test/md-writer.d.ts.map +0 -1
  425. package/dist/api-test/md-writer.js +0 -202
  426. package/dist/api-test/md-writer.js.map +0 -1
  427. package/dist/api-test/parser-httpservice.d.ts +0 -91
  428. package/dist/api-test/parser-httpservice.d.ts.map +0 -1
  429. package/dist/api-test/parser-httpservice.js +0 -271
  430. package/dist/api-test/parser-httpservice.js.map +0 -1
  431. package/dist/api-test/report.d.ts +0 -188
  432. package/dist/api-test/report.d.ts.map +0 -1
  433. package/dist/api-test/report.js +0 -522
  434. package/dist/api-test/report.js.map +0 -1
  435. package/dist/api-test/snapshot.d.ts +0 -26
  436. package/dist/api-test/snapshot.d.ts.map +0 -1
  437. package/dist/api-test/snapshot.js +0 -150
  438. package/dist/api-test/snapshot.js.map +0 -1
  439. package/dist/api-test/test-history.d.ts +0 -48
  440. package/dist/api-test/test-history.d.ts.map +0 -1
  441. package/dist/api-test/test-history.js +0 -122
  442. package/dist/api-test/test-history.js.map +0 -1
  443. package/dist/api-test/types.d.ts +0 -174
  444. package/dist/api-test/types.d.ts.map +0 -1
  445. package/dist/api-test/types.js +0 -13
  446. package/dist/api-test/types.js.map +0 -1
  447. package/dist/api-test/verify-prepare.d.ts +0 -30
  448. package/dist/api-test/verify-prepare.d.ts.map +0 -1
  449. package/dist/api-test/verify-prepare.js +0 -150
  450. package/dist/api-test/verify-prepare.js.map +0 -1
  451. package/dist/api-test/verify-write.d.ts +0 -31
  452. package/dist/api-test/verify-write.d.ts.map +0 -1
  453. package/dist/api-test/verify-write.js +0 -159
  454. package/dist/api-test/verify-write.js.map +0 -1
  455. package/dist/bin/codegraph.d.ts +0 -26
  456. package/dist/bin/codegraph.d.ts.map +0 -1
  457. package/dist/bin/codegraph.js +0 -1914
  458. package/dist/bin/codegraph.js.map +0 -1
  459. package/dist/bin/fatal-handler.d.ts +0 -20
  460. package/dist/bin/fatal-handler.d.ts.map +0 -1
  461. package/dist/bin/fatal-handler.js +0 -118
  462. package/dist/bin/fatal-handler.js.map +0 -1
  463. package/dist/bin/node-version-check.d.ts +0 -51
  464. package/dist/bin/node-version-check.d.ts.map +0 -1
  465. package/dist/bin/node-version-check.js +0 -114
  466. package/dist/bin/node-version-check.js.map +0 -1
  467. package/dist/bin/uninstall.d.ts +0 -14
  468. package/dist/bin/uninstall.d.ts.map +0 -1
  469. package/dist/bin/uninstall.js +0 -36
  470. package/dist/bin/uninstall.js.map +0 -1
  471. package/dist/context/formatter.d.ts +0 -30
  472. package/dist/context/formatter.d.ts.map +0 -1
  473. package/dist/context/formatter.js +0 -263
  474. package/dist/context/formatter.js.map +0 -1
  475. package/dist/context/index.d.ts +0 -119
  476. package/dist/context/index.d.ts.map +0 -1
  477. package/dist/context/index.js +0 -1296
  478. package/dist/context/index.js.map +0 -1
  479. package/dist/context/markers.d.ts +0 -19
  480. package/dist/context/markers.d.ts.map +0 -1
  481. package/dist/context/markers.js +0 -22
  482. package/dist/context/markers.js.map +0 -1
  483. package/dist/db/index.d.ts +0 -122
  484. package/dist/db/index.d.ts.map +0 -1
  485. package/dist/db/index.js +0 -296
  486. package/dist/db/index.js.map +0 -1
  487. package/dist/db/migrations.d.ts +0 -44
  488. package/dist/db/migrations.d.ts.map +0 -1
  489. package/dist/db/migrations.js +0 -140
  490. package/dist/db/migrations.js.map +0 -1
  491. package/dist/db/queries.d.ts +0 -401
  492. package/dist/db/queries.d.ts.map +0 -1
  493. package/dist/db/queries.js +0 -1591
  494. package/dist/db/queries.js.map +0 -1
  495. package/dist/db/schema.sql +0 -152
  496. package/dist/db/sqlite-adapter.d.ts +0 -53
  497. package/dist/db/sqlite-adapter.d.ts.map +0 -1
  498. package/dist/db/sqlite-adapter.js +0 -117
  499. package/dist/db/sqlite-adapter.js.map +0 -1
  500. package/dist/dbquery/cli.d.ts +0 -17
  501. package/dist/dbquery/cli.d.ts.map +0 -1
  502. package/dist/dbquery/cli.js +0 -246
  503. package/dist/dbquery/cli.js.map +0 -1
  504. package/dist/dbquery/config.d.ts.map +0 -1
  505. package/dist/dbquery/config.js.map +0 -1
  506. package/dist/dbquery/constants.d.ts.map +0 -1
  507. package/dist/dbquery/constants.js.map +0 -1
  508. package/dist/dbquery/drivers/mysql.d.ts.map +0 -1
  509. package/dist/dbquery/drivers/mysql.js.map +0 -1
  510. package/dist/dbquery/drivers/postgres.d.ts.map +0 -1
  511. package/dist/dbquery/drivers/postgres.js.map +0 -1
  512. package/dist/dbquery/dump-schema.d.ts +0 -46
  513. package/dist/dbquery/dump-schema.d.ts.map +0 -1
  514. package/dist/dbquery/dump-schema.js +0 -379
  515. package/dist/dbquery/dump-schema.js.map +0 -1
  516. package/dist/dbquery/errors.d.ts +0 -40
  517. package/dist/dbquery/errors.d.ts.map +0 -1
  518. package/dist/dbquery/errors.js +0 -85
  519. package/dist/dbquery/errors.js.map +0 -1
  520. package/dist/dbquery/executor.d.ts.map +0 -1
  521. package/dist/dbquery/executor.js.map +0 -1
  522. package/dist/dbquery/format.d.ts.map +0 -1
  523. package/dist/dbquery/format.js.map +0 -1
  524. package/dist/dbquery/identifiers.d.ts.map +0 -1
  525. package/dist/dbquery/identifiers.js.map +0 -1
  526. package/dist/dbquery/index.d.ts.map +0 -1
  527. package/dist/dbquery/index.js.map +0 -1
  528. package/dist/dbquery/init.d.ts +0 -33
  529. package/dist/dbquery/init.d.ts.map +0 -1
  530. package/dist/dbquery/init.js +0 -125
  531. package/dist/dbquery/init.js.map +0 -1
  532. package/dist/dbquery/logging.d.ts.map +0 -1
  533. package/dist/dbquery/logging.js.map +0 -1
  534. package/dist/dbquery/mcp-tools.d.ts +0 -29
  535. package/dist/dbquery/mcp-tools.d.ts.map +0 -1
  536. package/dist/dbquery/mcp-tools.js +0 -206
  537. package/dist/dbquery/mcp-tools.js.map +0 -1
  538. package/dist/dbquery/queries.d.ts.map +0 -1
  539. package/dist/dbquery/queries.js.map +0 -1
  540. package/dist/dbquery/safety.d.ts.map +0 -1
  541. package/dist/dbquery/safety.js.map +0 -1
  542. package/dist/dbquery/types.d.ts +0 -139
  543. package/dist/dbquery/types.d.ts.map +0 -1
  544. package/dist/dbquery/types.js +0 -10
  545. package/dist/dbquery/types.js.map +0 -1
  546. package/dist/directory.d.ts +0 -147
  547. package/dist/directory.d.ts.map +0 -1
  548. package/dist/directory.js +0 -523
  549. package/dist/directory.js.map +0 -1
  550. package/dist/errors.d.ts +0 -136
  551. package/dist/errors.d.ts.map +0 -1
  552. package/dist/errors.js +0 -219
  553. package/dist/errors.js.map +0 -1
  554. package/dist/extraction/astro-extractor.d.ts +0 -79
  555. package/dist/extraction/astro-extractor.d.ts.map +0 -1
  556. package/dist/extraction/astro-extractor.js +0 -320
  557. package/dist/extraction/astro-extractor.js.map +0 -1
  558. package/dist/extraction/dfm-extractor.d.ts +0 -31
  559. package/dist/extraction/dfm-extractor.d.ts.map +0 -1
  560. package/dist/extraction/dfm-extractor.js +0 -151
  561. package/dist/extraction/dfm-extractor.js.map +0 -1
  562. package/dist/extraction/extraction-version.d.ts +0 -25
  563. package/dist/extraction/extraction-version.d.ts.map +0 -1
  564. package/dist/extraction/extraction-version.js +0 -28
  565. package/dist/extraction/extraction-version.js.map +0 -1
  566. package/dist/extraction/function-ref.d.ts +0 -118
  567. package/dist/extraction/function-ref.d.ts.map +0 -1
  568. package/dist/extraction/function-ref.js +0 -727
  569. package/dist/extraction/function-ref.js.map +0 -1
  570. package/dist/extraction/generated-detection.d.ts +0 -30
  571. package/dist/extraction/generated-detection.d.ts.map +0 -1
  572. package/dist/extraction/generated-detection.js +0 -83
  573. package/dist/extraction/generated-detection.js.map +0 -1
  574. package/dist/extraction/grammars.d.ts +0 -114
  575. package/dist/extraction/grammars.d.ts.map +0 -1
  576. package/dist/extraction/grammars.js +0 -477
  577. package/dist/extraction/grammars.js.map +0 -1
  578. package/dist/extraction/index.d.ts +0 -175
  579. package/dist/extraction/index.d.ts.map +0 -1
  580. package/dist/extraction/index.js +0 -1887
  581. package/dist/extraction/index.js.map +0 -1
  582. package/dist/extraction/languages/c-cpp.d.ts +0 -12
  583. package/dist/extraction/languages/c-cpp.d.ts.map +0 -1
  584. package/dist/extraction/languages/c-cpp.js +0 -275
  585. package/dist/extraction/languages/c-cpp.js.map +0 -1
  586. package/dist/extraction/languages/csharp.d.ts +0 -25
  587. package/dist/extraction/languages/csharp.d.ts.map +0 -1
  588. package/dist/extraction/languages/csharp.js +0 -175
  589. package/dist/extraction/languages/csharp.js.map +0 -1
  590. package/dist/extraction/languages/dart.d.ts +0 -3
  591. package/dist/extraction/languages/dart.d.ts.map +0 -1
  592. package/dist/extraction/languages/dart.js +0 -374
  593. package/dist/extraction/languages/dart.js.map +0 -1
  594. package/dist/extraction/languages/go.d.ts +0 -3
  595. package/dist/extraction/languages/go.d.ts.map +0 -1
  596. package/dist/extraction/languages/go.js +0 -111
  597. package/dist/extraction/languages/go.js.map +0 -1
  598. package/dist/extraction/languages/index.d.ts +0 -10
  599. package/dist/extraction/languages/index.d.ts.map +0 -1
  600. package/dist/extraction/languages/index.js +0 -53
  601. package/dist/extraction/languages/index.js.map +0 -1
  602. package/dist/extraction/languages/java.d.ts +0 -3
  603. package/dist/extraction/languages/java.d.ts.map +0 -1
  604. package/dist/extraction/languages/java.js +0 -315
  605. package/dist/extraction/languages/java.js.map +0 -1
  606. package/dist/extraction/languages/javascript.d.ts +0 -3
  607. package/dist/extraction/languages/javascript.d.ts.map +0 -1
  608. package/dist/extraction/languages/javascript.js +0 -106
  609. package/dist/extraction/languages/javascript.js.map +0 -1
  610. package/dist/extraction/languages/kotlin.d.ts +0 -3
  611. package/dist/extraction/languages/kotlin.d.ts.map +0 -1
  612. package/dist/extraction/languages/kotlin.js +0 -379
  613. package/dist/extraction/languages/kotlin.js.map +0 -1
  614. package/dist/extraction/languages/lua.d.ts +0 -3
  615. package/dist/extraction/languages/lua.d.ts.map +0 -1
  616. package/dist/extraction/languages/lua.js +0 -150
  617. package/dist/extraction/languages/lua.js.map +0 -1
  618. package/dist/extraction/languages/luau.d.ts +0 -3
  619. package/dist/extraction/languages/luau.d.ts.map +0 -1
  620. package/dist/extraction/languages/luau.js +0 -37
  621. package/dist/extraction/languages/luau.js.map +0 -1
  622. package/dist/extraction/languages/objc.d.ts +0 -3
  623. package/dist/extraction/languages/objc.d.ts.map +0 -1
  624. package/dist/extraction/languages/objc.js +0 -175
  625. package/dist/extraction/languages/objc.js.map +0 -1
  626. package/dist/extraction/languages/pascal.d.ts +0 -3
  627. package/dist/extraction/languages/pascal.d.ts.map +0 -1
  628. package/dist/extraction/languages/pascal.js +0 -77
  629. package/dist/extraction/languages/pascal.js.map +0 -1
  630. package/dist/extraction/languages/php.d.ts +0 -3
  631. package/dist/extraction/languages/php.d.ts.map +0 -1
  632. package/dist/extraction/languages/php.js +0 -196
  633. package/dist/extraction/languages/php.js.map +0 -1
  634. package/dist/extraction/languages/python.d.ts +0 -3
  635. package/dist/extraction/languages/python.d.ts.map +0 -1
  636. package/dist/extraction/languages/python.js +0 -56
  637. package/dist/extraction/languages/python.js.map +0 -1
  638. package/dist/extraction/languages/r.d.ts +0 -3
  639. package/dist/extraction/languages/r.d.ts.map +0 -1
  640. package/dist/extraction/languages/r.js +0 -314
  641. package/dist/extraction/languages/r.js.map +0 -1
  642. package/dist/extraction/languages/ruby.d.ts +0 -3
  643. package/dist/extraction/languages/ruby.d.ts.map +0 -1
  644. package/dist/extraction/languages/ruby.js +0 -149
  645. package/dist/extraction/languages/ruby.js.map +0 -1
  646. package/dist/extraction/languages/rust.d.ts +0 -3
  647. package/dist/extraction/languages/rust.d.ts.map +0 -1
  648. package/dist/extraction/languages/rust.js +0 -142
  649. package/dist/extraction/languages/rust.js.map +0 -1
  650. package/dist/extraction/languages/scala.d.ts +0 -3
  651. package/dist/extraction/languages/scala.d.ts.map +0 -1
  652. package/dist/extraction/languages/scala.js +0 -209
  653. package/dist/extraction/languages/scala.js.map +0 -1
  654. package/dist/extraction/languages/swift.d.ts +0 -3
  655. package/dist/extraction/languages/swift.d.ts.map +0 -1
  656. package/dist/extraction/languages/swift.js +0 -152
  657. package/dist/extraction/languages/swift.js.map +0 -1
  658. package/dist/extraction/languages/typescript.d.ts +0 -16
  659. package/dist/extraction/languages/typescript.d.ts.map +0 -1
  660. package/dist/extraction/languages/typescript.js +0 -167
  661. package/dist/extraction/languages/typescript.js.map +0 -1
  662. package/dist/extraction/liquid-extractor.d.ts +0 -59
  663. package/dist/extraction/liquid-extractor.d.ts.map +0 -1
  664. package/dist/extraction/liquid-extractor.js +0 -357
  665. package/dist/extraction/liquid-extractor.js.map +0 -1
  666. package/dist/extraction/mybatis-extractor.d.ts +0 -48
  667. package/dist/extraction/mybatis-extractor.d.ts.map +0 -1
  668. package/dist/extraction/mybatis-extractor.js +0 -198
  669. package/dist/extraction/mybatis-extractor.js.map +0 -1
  670. package/dist/extraction/parse-worker.d.ts +0 -8
  671. package/dist/extraction/parse-worker.d.ts.map +0 -1
  672. package/dist/extraction/parse-worker.js +0 -97
  673. package/dist/extraction/parse-worker.js.map +0 -1
  674. package/dist/extraction/razor-extractor.d.ts +0 -42
  675. package/dist/extraction/razor-extractor.d.ts.map +0 -1
  676. package/dist/extraction/razor-extractor.js +0 -285
  677. package/dist/extraction/razor-extractor.js.map +0 -1
  678. package/dist/extraction/svelte-extractor.d.ts +0 -56
  679. package/dist/extraction/svelte-extractor.d.ts.map +0 -1
  680. package/dist/extraction/svelte-extractor.js +0 -275
  681. package/dist/extraction/svelte-extractor.js.map +0 -1
  682. package/dist/extraction/tree-sitter-helpers.d.ts +0 -28
  683. package/dist/extraction/tree-sitter-helpers.d.ts.map +0 -1
  684. package/dist/extraction/tree-sitter-helpers.js +0 -152
  685. package/dist/extraction/tree-sitter-helpers.js.map +0 -1
  686. package/dist/extraction/tree-sitter-types.d.ts +0 -239
  687. package/dist/extraction/tree-sitter-types.d.ts.map +0 -1
  688. package/dist/extraction/tree-sitter-types.js +0 -10
  689. package/dist/extraction/tree-sitter-types.js.map +0 -1
  690. package/dist/extraction/tree-sitter.d.ts +0 -647
  691. package/dist/extraction/tree-sitter.d.ts.map +0 -1
  692. package/dist/extraction/tree-sitter.js +0 -5592
  693. package/dist/extraction/tree-sitter.js.map +0 -1
  694. package/dist/extraction/vue-extractor.d.ts +0 -51
  695. package/dist/extraction/vue-extractor.d.ts.map +0 -1
  696. package/dist/extraction/vue-extractor.js +0 -254
  697. package/dist/extraction/vue-extractor.js.map +0 -1
  698. package/dist/extraction/wasm/tree-sitter-c_sharp.wasm +0 -0
  699. package/dist/extraction/wasm/tree-sitter-lua.wasm +0 -0
  700. package/dist/extraction/wasm/tree-sitter-luau.wasm +0 -0
  701. package/dist/extraction/wasm/tree-sitter-pascal.wasm +0 -0
  702. package/dist/extraction/wasm/tree-sitter-r.wasm +0 -0
  703. package/dist/extraction/wasm/tree-sitter-scala.wasm +0 -0
  704. package/dist/extraction/wasm-runtime-flags.d.ts +0 -38
  705. package/dist/extraction/wasm-runtime-flags.d.ts.map +0 -1
  706. package/dist/extraction/wasm-runtime-flags.js +0 -106
  707. package/dist/extraction/wasm-runtime-flags.js.map +0 -1
  708. package/dist/graph/index.d.ts +0 -8
  709. package/dist/graph/index.d.ts.map +0 -1
  710. package/dist/graph/index.js +0 -13
  711. package/dist/graph/index.js.map +0 -1
  712. package/dist/graph/queries.d.ts +0 -106
  713. package/dist/graph/queries.d.ts.map +0 -1
  714. package/dist/graph/queries.js +0 -339
  715. package/dist/graph/queries.js.map +0 -1
  716. package/dist/graph/traversal.d.ts +0 -127
  717. package/dist/graph/traversal.d.ts.map +0 -1
  718. package/dist/graph/traversal.js +0 -540
  719. package/dist/graph/traversal.js.map +0 -1
  720. package/dist/index.d.ts +0 -563
  721. package/dist/index.d.ts.map +0 -1
  722. package/dist/index.js +0 -1041
  723. package/dist/index.js.map +0 -1
  724. package/dist/installer/claude-assets.d.ts +0 -45
  725. package/dist/installer/claude-assets.d.ts.map +0 -1
  726. package/dist/installer/claude-assets.js +0 -144
  727. package/dist/installer/claude-assets.js.map +0 -1
  728. package/dist/installer/config-writer.d.ts +0 -28
  729. package/dist/installer/config-writer.d.ts.map +0 -1
  730. package/dist/installer/config-writer.js +0 -91
  731. package/dist/installer/config-writer.js.map +0 -1
  732. package/dist/installer/index.d.ts +0 -101
  733. package/dist/installer/index.d.ts.map +0 -1
  734. package/dist/installer/index.js +0 -692
  735. package/dist/installer/index.js.map +0 -1
  736. package/dist/installer/instructions-template.d.ts +0 -41
  737. package/dist/installer/instructions-template.d.ts.map +0 -1
  738. package/dist/installer/instructions-template.js +0 -53
  739. package/dist/installer/instructions-template.js.map +0 -1
  740. package/dist/installer/targets/antigravity.d.ts +0 -57
  741. package/dist/installer/targets/antigravity.d.ts.map +0 -1
  742. package/dist/installer/targets/antigravity.js +0 -308
  743. package/dist/installer/targets/antigravity.js.map +0 -1
  744. package/dist/installer/targets/claude.d.ts +0 -81
  745. package/dist/installer/targets/claude.d.ts.map +0 -1
  746. package/dist/installer/targets/claude.js +0 -617
  747. package/dist/installer/targets/claude.js.map +0 -1
  748. package/dist/installer/targets/codex.d.ts +0 -18
  749. package/dist/installer/targets/codex.d.ts.map +0 -1
  750. package/dist/installer/targets/codex.js +0 -185
  751. package/dist/installer/targets/codex.js.map +0 -1
  752. package/dist/installer/targets/cursor.d.ts +0 -35
  753. package/dist/installer/targets/cursor.d.ts.map +0 -1
  754. package/dist/installer/targets/cursor.js +0 -254
  755. package/dist/installer/targets/cursor.js.map +0 -1
  756. package/dist/installer/targets/gemini.d.ts +0 -26
  757. package/dist/installer/targets/gemini.d.ts.map +0 -1
  758. package/dist/installer/targets/gemini.js +0 -165
  759. package/dist/installer/targets/gemini.js.map +0 -1
  760. package/dist/installer/targets/hermes.d.ts +0 -18
  761. package/dist/installer/targets/hermes.d.ts.map +0 -1
  762. package/dist/installer/targets/hermes.js +0 -359
  763. package/dist/installer/targets/hermes.js.map +0 -1
  764. package/dist/installer/targets/kiro.d.ts +0 -27
  765. package/dist/installer/targets/kiro.d.ts.map +0 -1
  766. package/dist/installer/targets/kiro.js +0 -178
  767. package/dist/installer/targets/kiro.js.map +0 -1
  768. package/dist/installer/targets/opencode.d.ts +0 -38
  769. package/dist/installer/targets/opencode.d.ts.map +0 -1
  770. package/dist/installer/targets/opencode.js +0 -288
  771. package/dist/installer/targets/opencode.js.map +0 -1
  772. package/dist/installer/targets/registry.d.ts +0 -35
  773. package/dist/installer/targets/registry.d.ts.map +0 -1
  774. package/dist/installer/targets/registry.js +0 -91
  775. package/dist/installer/targets/registry.js.map +0 -1
  776. package/dist/installer/targets/shared.d.ts +0 -101
  777. package/dist/installer/targets/shared.d.ts.map +0 -1
  778. package/dist/installer/targets/shared.js +0 -264
  779. package/dist/installer/targets/shared.js.map +0 -1
  780. package/dist/installer/targets/toml.d.ts +0 -52
  781. package/dist/installer/targets/toml.d.ts.map +0 -1
  782. package/dist/installer/targets/toml.js +0 -147
  783. package/dist/installer/targets/toml.js.map +0 -1
  784. package/dist/installer/targets/types.d.ts +0 -108
  785. package/dist/installer/targets/types.d.ts.map +0 -1
  786. package/dist/installer/targets/types.js +0 -16
  787. package/dist/installer/targets/types.js.map +0 -1
  788. package/dist/markdown/cli.d.ts +0 -16
  789. package/dist/markdown/cli.d.ts.map +0 -1
  790. package/dist/markdown/cli.js +0 -575
  791. package/dist/markdown/cli.js.map +0 -1
  792. package/dist/markdown/constants.d.ts +0 -22
  793. package/dist/markdown/constants.d.ts.map +0 -1
  794. package/dist/markdown/constants.js +0 -71
  795. package/dist/markdown/constants.js.map +0 -1
  796. package/dist/markdown/dedup.d.ts.map +0 -1
  797. package/dist/markdown/dedup.js.map +0 -1
  798. package/dist/markdown/errors.d.ts +0 -22
  799. package/dist/markdown/errors.d.ts.map +0 -1
  800. package/dist/markdown/errors.js +0 -45
  801. package/dist/markdown/errors.js.map +0 -1
  802. package/dist/markdown/extractor.d.ts.map +0 -1
  803. package/dist/markdown/extractor.js.map +0 -1
  804. package/dist/markdown/frontmatter-parser.d.ts +0 -47
  805. package/dist/markdown/frontmatter-parser.d.ts.map +0 -1
  806. package/dist/markdown/frontmatter-parser.js +0 -199
  807. package/dist/markdown/frontmatter-parser.js.map +0 -1
  808. package/dist/markdown/indexer.d.ts +0 -34
  809. package/dist/markdown/indexer.d.ts.map +0 -1
  810. package/dist/markdown/indexer.js +0 -256
  811. package/dist/markdown/indexer.js.map +0 -1
  812. package/dist/markdown/mcp-tools.d.ts +0 -33
  813. package/dist/markdown/mcp-tools.d.ts.map +0 -1
  814. package/dist/markdown/mcp-tools.js +0 -300
  815. package/dist/markdown/mcp-tools.js.map +0 -1
  816. package/dist/markdown/query.d.ts +0 -108
  817. package/dist/markdown/query.d.ts.map +0 -1
  818. package/dist/markdown/query.js +0 -570
  819. package/dist/markdown/query.js.map +0 -1
  820. package/dist/markdown/schema-bootstrap.d.ts +0 -40
  821. package/dist/markdown/schema-bootstrap.d.ts.map +0 -1
  822. package/dist/markdown/schema-bootstrap.js +0 -85
  823. package/dist/markdown/schema-bootstrap.js.map +0 -1
  824. package/dist/markdown/schema.sql +0 -124
  825. package/dist/markdown/store.d.ts.map +0 -1
  826. package/dist/markdown/store.js.map +0 -1
  827. package/dist/markdown/summary-extractor.d.ts.map +0 -1
  828. package/dist/markdown/summary-extractor.js.map +0 -1
  829. package/dist/markdown/types.d.ts +0 -159
  830. package/dist/markdown/types.d.ts.map +0 -1
  831. package/dist/markdown/types.js.map +0 -1
  832. package/dist/markdown/validator.d.ts +0 -44
  833. package/dist/markdown/validator.d.ts.map +0 -1
  834. package/dist/markdown/validator.js +0 -95
  835. package/dist/markdown/validator.js.map +0 -1
  836. package/dist/mcp/daemon-manager.d.ts +0 -42
  837. package/dist/mcp/daemon-manager.d.ts.map +0 -1
  838. package/dist/mcp/daemon-manager.js +0 -129
  839. package/dist/mcp/daemon-manager.js.map +0 -1
  840. package/dist/mcp/daemon-paths.d.ts +0 -46
  841. package/dist/mcp/daemon-paths.d.ts.map +0 -1
  842. package/dist/mcp/daemon-paths.js +0 -125
  843. package/dist/mcp/daemon-paths.js.map +0 -1
  844. package/dist/mcp/daemon-registry.d.ts +0 -47
  845. package/dist/mcp/daemon-registry.d.ts.map +0 -1
  846. package/dist/mcp/daemon-registry.js +0 -229
  847. package/dist/mcp/daemon-registry.js.map +0 -1
  848. package/dist/mcp/daemon.d.ts +0 -220
  849. package/dist/mcp/daemon.d.ts.map +0 -1
  850. package/dist/mcp/daemon.js +0 -637
  851. package/dist/mcp/daemon.js.map +0 -1
  852. package/dist/mcp/dynamic-boundaries.d.ts +0 -41
  853. package/dist/mcp/dynamic-boundaries.d.ts.map +0 -1
  854. package/dist/mcp/dynamic-boundaries.js +0 -359
  855. package/dist/mcp/dynamic-boundaries.js.map +0 -1
  856. package/dist/mcp/engine.d.ts +0 -105
  857. package/dist/mcp/engine.d.ts.map +0 -1
  858. package/dist/mcp/engine.js +0 -278
  859. package/dist/mcp/engine.js.map +0 -1
  860. package/dist/mcp/index.d.ts +0 -113
  861. package/dist/mcp/index.d.ts.map +0 -1
  862. package/dist/mcp/index.js +0 -499
  863. package/dist/mcp/index.js.map +0 -1
  864. package/dist/mcp/liveness-watchdog.d.ts +0 -18
  865. package/dist/mcp/liveness-watchdog.d.ts.map +0 -1
  866. package/dist/mcp/liveness-watchdog.js +0 -207
  867. package/dist/mcp/liveness-watchdog.js.map +0 -1
  868. package/dist/mcp/ppid-watchdog.d.ts +0 -44
  869. package/dist/mcp/ppid-watchdog.d.ts.map +0 -1
  870. package/dist/mcp/ppid-watchdog.js +0 -27
  871. package/dist/mcp/ppid-watchdog.js.map +0 -1
  872. package/dist/mcp/proxy.d.ts +0 -87
  873. package/dist/mcp/proxy.d.ts.map +0 -1
  874. package/dist/mcp/proxy.js +0 -641
  875. package/dist/mcp/proxy.js.map +0 -1
  876. package/dist/mcp/server-instructions.d.ts +0 -34
  877. package/dist/mcp/server-instructions.d.ts.map +0 -1
  878. package/dist/mcp/server-instructions.js +0 -106
  879. package/dist/mcp/server-instructions.js.map +0 -1
  880. package/dist/mcp/session.d.ts +0 -79
  881. package/dist/mcp/session.d.ts.map +0 -1
  882. package/dist/mcp/session.js +0 -330
  883. package/dist/mcp/session.js.map +0 -1
  884. package/dist/mcp/stdin-teardown.d.ts +0 -27
  885. package/dist/mcp/stdin-teardown.d.ts.map +0 -1
  886. package/dist/mcp/stdin-teardown.js +0 -49
  887. package/dist/mcp/stdin-teardown.js.map +0 -1
  888. package/dist/mcp/tools.d.ts +0 -547
  889. package/dist/mcp/tools.d.ts.map +0 -1
  890. package/dist/mcp/tools.js +0 -4122
  891. package/dist/mcp/tools.js.map +0 -1
  892. package/dist/mcp/transport.d.ts +0 -188
  893. package/dist/mcp/transport.d.ts.map +0 -1
  894. package/dist/mcp/transport.js +0 -359
  895. package/dist/mcp/transport.js.map +0 -1
  896. package/dist/mcp/version.d.ts +0 -19
  897. package/dist/mcp/version.d.ts.map +0 -1
  898. package/dist/mcp/version.js +0 -71
  899. package/dist/mcp/version.js.map +0 -1
  900. package/dist/project-config.d.ts +0 -36
  901. package/dist/project-config.d.ts.map +0 -1
  902. package/dist/project-config.js +0 -235
  903. package/dist/project-config.js.map +0 -1
  904. package/dist/reasoning/config.d.ts +0 -45
  905. package/dist/reasoning/config.d.ts.map +0 -1
  906. package/dist/reasoning/config.js +0 -171
  907. package/dist/reasoning/config.js.map +0 -1
  908. package/dist/reasoning/credentials.d.ts +0 -5
  909. package/dist/reasoning/credentials.d.ts.map +0 -1
  910. package/dist/reasoning/credentials.js +0 -83
  911. package/dist/reasoning/credentials.js.map +0 -1
  912. package/dist/reasoning/login.d.ts +0 -21
  913. package/dist/reasoning/login.d.ts.map +0 -1
  914. package/dist/reasoning/login.js +0 -85
  915. package/dist/reasoning/login.js.map +0 -1
  916. package/dist/reasoning/reasoner.d.ts +0 -43
  917. package/dist/reasoning/reasoner.d.ts.map +0 -1
  918. package/dist/reasoning/reasoner.js +0 -308
  919. package/dist/reasoning/reasoner.js.map +0 -1
  920. package/dist/resolution/c-fnptr-synthesizer.d.ts +0 -33
  921. package/dist/resolution/c-fnptr-synthesizer.d.ts.map +0 -1
  922. package/dist/resolution/c-fnptr-synthesizer.js +0 -352
  923. package/dist/resolution/c-fnptr-synthesizer.js.map +0 -1
  924. package/dist/resolution/callback-synthesizer.d.ts +0 -15
  925. package/dist/resolution/callback-synthesizer.d.ts.map +0 -1
  926. package/dist/resolution/callback-synthesizer.js +0 -2926
  927. package/dist/resolution/callback-synthesizer.js.map +0 -1
  928. package/dist/resolution/frameworks/astro.d.ts +0 -9
  929. package/dist/resolution/frameworks/astro.d.ts.map +0 -1
  930. package/dist/resolution/frameworks/astro.js +0 -169
  931. package/dist/resolution/frameworks/astro.js.map +0 -1
  932. package/dist/resolution/frameworks/cargo-workspace.d.ts +0 -18
  933. package/dist/resolution/frameworks/cargo-workspace.d.ts.map +0 -1
  934. package/dist/resolution/frameworks/cargo-workspace.js +0 -225
  935. package/dist/resolution/frameworks/cargo-workspace.js.map +0 -1
  936. package/dist/resolution/frameworks/csharp.d.ts +0 -8
  937. package/dist/resolution/frameworks/csharp.d.ts.map +0 -1
  938. package/dist/resolution/frameworks/csharp.js +0 -241
  939. package/dist/resolution/frameworks/csharp.js.map +0 -1
  940. package/dist/resolution/frameworks/drupal.d.ts +0 -51
  941. package/dist/resolution/frameworks/drupal.d.ts.map +0 -1
  942. package/dist/resolution/frameworks/drupal.js +0 -367
  943. package/dist/resolution/frameworks/drupal.js.map +0 -1
  944. package/dist/resolution/frameworks/expo-modules.d.ts +0 -3
  945. package/dist/resolution/frameworks/expo-modules.d.ts.map +0 -1
  946. package/dist/resolution/frameworks/expo-modules.js +0 -148
  947. package/dist/resolution/frameworks/expo-modules.js.map +0 -1
  948. package/dist/resolution/frameworks/express.d.ts +0 -8
  949. package/dist/resolution/frameworks/express.d.ts.map +0 -1
  950. package/dist/resolution/frameworks/express.js +0 -308
  951. package/dist/resolution/frameworks/express.js.map +0 -1
  952. package/dist/resolution/frameworks/fabric.d.ts +0 -3
  953. package/dist/resolution/frameworks/fabric.d.ts.map +0 -1
  954. package/dist/resolution/frameworks/fabric.js +0 -354
  955. package/dist/resolution/frameworks/fabric.js.map +0 -1
  956. package/dist/resolution/frameworks/go.d.ts +0 -8
  957. package/dist/resolution/frameworks/go.d.ts.map +0 -1
  958. package/dist/resolution/frameworks/go.js +0 -161
  959. package/dist/resolution/frameworks/go.js.map +0 -1
  960. package/dist/resolution/frameworks/goframe.d.ts +0 -41
  961. package/dist/resolution/frameworks/goframe.d.ts.map +0 -1
  962. package/dist/resolution/frameworks/goframe.js +0 -112
  963. package/dist/resolution/frameworks/goframe.js.map +0 -1
  964. package/dist/resolution/frameworks/index.d.ts +0 -50
  965. package/dist/resolution/frameworks/index.d.ts.map +0 -1
  966. package/dist/resolution/frameworks/index.js +0 -169
  967. package/dist/resolution/frameworks/index.js.map +0 -1
  968. package/dist/resolution/frameworks/java.d.ts +0 -8
  969. package/dist/resolution/frameworks/java.d.ts.map +0 -1
  970. package/dist/resolution/frameworks/java.js +0 -509
  971. package/dist/resolution/frameworks/java.js.map +0 -1
  972. package/dist/resolution/frameworks/laravel.d.ts +0 -13
  973. package/dist/resolution/frameworks/laravel.d.ts.map +0 -1
  974. package/dist/resolution/frameworks/laravel.js +0 -257
  975. package/dist/resolution/frameworks/laravel.js.map +0 -1
  976. package/dist/resolution/frameworks/nestjs.d.ts +0 -26
  977. package/dist/resolution/frameworks/nestjs.d.ts.map +0 -1
  978. package/dist/resolution/frameworks/nestjs.js +0 -698
  979. package/dist/resolution/frameworks/nestjs.js.map +0 -1
  980. package/dist/resolution/frameworks/play.d.ts +0 -19
  981. package/dist/resolution/frameworks/play.d.ts.map +0 -1
  982. package/dist/resolution/frameworks/play.js +0 -111
  983. package/dist/resolution/frameworks/play.js.map +0 -1
  984. package/dist/resolution/frameworks/python.d.ts +0 -10
  985. package/dist/resolution/frameworks/python.d.ts.map +0 -1
  986. package/dist/resolution/frameworks/python.js +0 -400
  987. package/dist/resolution/frameworks/python.js.map +0 -1
  988. package/dist/resolution/frameworks/react-native.d.ts +0 -3
  989. package/dist/resolution/frameworks/react-native.d.ts.map +0 -1
  990. package/dist/resolution/frameworks/react-native.js +0 -410
  991. package/dist/resolution/frameworks/react-native.js.map +0 -1
  992. package/dist/resolution/frameworks/react.d.ts +0 -8
  993. package/dist/resolution/frameworks/react.d.ts.map +0 -1
  994. package/dist/resolution/frameworks/react.js +0 -334
  995. package/dist/resolution/frameworks/react.js.map +0 -1
  996. package/dist/resolution/frameworks/ruby.d.ts +0 -8
  997. package/dist/resolution/frameworks/ruby.d.ts.map +0 -1
  998. package/dist/resolution/frameworks/ruby.js +0 -302
  999. package/dist/resolution/frameworks/ruby.js.map +0 -1
  1000. package/dist/resolution/frameworks/rust.d.ts +0 -8
  1001. package/dist/resolution/frameworks/rust.d.ts.map +0 -1
  1002. package/dist/resolution/frameworks/rust.js +0 -304
  1003. package/dist/resolution/frameworks/rust.js.map +0 -1
  1004. package/dist/resolution/frameworks/svelte.d.ts +0 -9
  1005. package/dist/resolution/frameworks/svelte.d.ts.map +0 -1
  1006. package/dist/resolution/frameworks/svelte.js +0 -253
  1007. package/dist/resolution/frameworks/svelte.js.map +0 -1
  1008. package/dist/resolution/frameworks/swift-objc.d.ts +0 -37
  1009. package/dist/resolution/frameworks/swift-objc.d.ts.map +0 -1
  1010. package/dist/resolution/frameworks/swift-objc.js +0 -252
  1011. package/dist/resolution/frameworks/swift-objc.js.map +0 -1
  1012. package/dist/resolution/frameworks/swift.d.ts +0 -10
  1013. package/dist/resolution/frameworks/swift.d.ts.map +0 -1
  1014. package/dist/resolution/frameworks/swift.js +0 -400
  1015. package/dist/resolution/frameworks/swift.js.map +0 -1
  1016. package/dist/resolution/frameworks/vue.d.ts +0 -9
  1017. package/dist/resolution/frameworks/vue.d.ts.map +0 -1
  1018. package/dist/resolution/frameworks/vue.js +0 -303
  1019. package/dist/resolution/frameworks/vue.js.map +0 -1
  1020. package/dist/resolution/go-module.d.ts +0 -26
  1021. package/dist/resolution/go-module.d.ts.map +0 -1
  1022. package/dist/resolution/go-module.js +0 -78
  1023. package/dist/resolution/go-module.js.map +0 -1
  1024. package/dist/resolution/goframe-synthesizer.d.ts +0 -28
  1025. package/dist/resolution/goframe-synthesizer.d.ts.map +0 -1
  1026. package/dist/resolution/goframe-synthesizer.js +0 -158
  1027. package/dist/resolution/goframe-synthesizer.js.map +0 -1
  1028. package/dist/resolution/import-resolver.d.ts +0 -78
  1029. package/dist/resolution/import-resolver.d.ts.map +0 -1
  1030. package/dist/resolution/import-resolver.js +0 -1849
  1031. package/dist/resolution/import-resolver.js.map +0 -1
  1032. package/dist/resolution/index.d.ts +0 -196
  1033. package/dist/resolution/index.d.ts.map +0 -1
  1034. package/dist/resolution/index.js +0 -1341
  1035. package/dist/resolution/index.js.map +0 -1
  1036. package/dist/resolution/lru-cache.d.ts +0 -24
  1037. package/dist/resolution/lru-cache.d.ts.map +0 -1
  1038. package/dist/resolution/lru-cache.js +0 -62
  1039. package/dist/resolution/lru-cache.js.map +0 -1
  1040. package/dist/resolution/name-matcher.d.ts +0 -93
  1041. package/dist/resolution/name-matcher.d.ts.map +0 -1
  1042. package/dist/resolution/name-matcher.js +0 -1212
  1043. package/dist/resolution/name-matcher.js.map +0 -1
  1044. package/dist/resolution/path-aliases.d.ts +0 -68
  1045. package/dist/resolution/path-aliases.d.ts.map +0 -1
  1046. package/dist/resolution/path-aliases.js +0 -238
  1047. package/dist/resolution/path-aliases.js.map +0 -1
  1048. package/dist/resolution/scope-index.d.ts +0 -86
  1049. package/dist/resolution/scope-index.d.ts.map +0 -1
  1050. package/dist/resolution/scope-index.js +0 -143
  1051. package/dist/resolution/scope-index.js.map +0 -1
  1052. package/dist/resolution/stdlib-blocklist.d.ts +0 -53
  1053. package/dist/resolution/stdlib-blocklist.d.ts.map +0 -1
  1054. package/dist/resolution/stdlib-blocklist.js +0 -143
  1055. package/dist/resolution/stdlib-blocklist.js.map +0 -1
  1056. package/dist/resolution/strip-comments.d.ts +0 -27
  1057. package/dist/resolution/strip-comments.d.ts.map +0 -1
  1058. package/dist/resolution/strip-comments.js +0 -443
  1059. package/dist/resolution/strip-comments.js.map +0 -1
  1060. package/dist/resolution/swift-objc-bridge.d.ts +0 -134
  1061. package/dist/resolution/swift-objc-bridge.d.ts.map +0 -1
  1062. package/dist/resolution/swift-objc-bridge.js +0 -256
  1063. package/dist/resolution/swift-objc-bridge.js.map +0 -1
  1064. package/dist/resolution/types.d.ts +0 -233
  1065. package/dist/resolution/types.d.ts.map +0 -1
  1066. package/dist/resolution/types.js +0 -8
  1067. package/dist/resolution/types.js.map +0 -1
  1068. package/dist/resolution/workspace-packages.d.ts +0 -48
  1069. package/dist/resolution/workspace-packages.d.ts.map +0 -1
  1070. package/dist/resolution/workspace-packages.js +0 -208
  1071. package/dist/resolution/workspace-packages.js.map +0 -1
  1072. package/dist/search/ast-helpers.d.ts +0 -42
  1073. package/dist/search/ast-helpers.d.ts.map +0 -1
  1074. package/dist/search/ast-helpers.js +0 -106
  1075. package/dist/search/ast-helpers.js.map +0 -1
  1076. package/dist/search/call-sites.d.ts +0 -398
  1077. package/dist/search/call-sites.d.ts.map +0 -1
  1078. package/dist/search/call-sites.js +0 -1433
  1079. package/dist/search/call-sites.js.map +0 -1
  1080. package/dist/search/context.d.ts +0 -134
  1081. package/dist/search/context.d.ts.map +0 -1
  1082. package/dist/search/context.js +0 -575
  1083. package/dist/search/context.js.map +0 -1
  1084. package/dist/search/impact.d.ts +0 -139
  1085. package/dist/search/impact.d.ts.map +0 -1
  1086. package/dist/search/impact.js +0 -646
  1087. package/dist/search/impact.js.map +0 -1
  1088. package/dist/search/query-parser.d.ts +0 -57
  1089. package/dist/search/query-parser.d.ts.map +0 -1
  1090. package/dist/search/query-parser.js +0 -177
  1091. package/dist/search/query-parser.js.map +0 -1
  1092. package/dist/search/query-utils.d.ts +0 -87
  1093. package/dist/search/query-utils.d.ts.map +0 -1
  1094. package/dist/search/query-utils.js +0 -449
  1095. package/dist/search/query-utils.js.map +0 -1
  1096. package/dist/search/related.d.ts +0 -178
  1097. package/dist/search/related.d.ts.map +0 -1
  1098. package/dist/search/related.js +0 -667
  1099. package/dist/search/related.js.map +0 -1
  1100. package/dist/search/slice.d.ts +0 -148
  1101. package/dist/search/slice.d.ts.map +0 -1
  1102. package/dist/search/slice.js +0 -460
  1103. package/dist/search/slice.js.map +0 -1
  1104. package/dist/search/snr-constants.d.ts +0 -41
  1105. package/dist/search/snr-constants.d.ts.map +0 -1
  1106. package/dist/search/snr-constants.js +0 -44
  1107. package/dist/search/snr-constants.js.map +0 -1
  1108. package/dist/search/types.d.ts +0 -28
  1109. package/dist/search/types.d.ts.map +0 -1
  1110. package/dist/search/types.js +0 -12
  1111. package/dist/search/types.js.map +0 -1
  1112. package/dist/sync/git-hooks.d.ts +0 -45
  1113. package/dist/sync/git-hooks.d.ts.map +0 -1
  1114. package/dist/sync/git-hooks.js +0 -225
  1115. package/dist/sync/git-hooks.js.map +0 -1
  1116. package/dist/sync/index.d.ts +0 -19
  1117. package/dist/sync/index.d.ts.map +0 -1
  1118. package/dist/sync/index.js +0 -35
  1119. package/dist/sync/index.js.map +0 -1
  1120. package/dist/sync/watch-policy.d.ts +0 -48
  1121. package/dist/sync/watch-policy.d.ts.map +0 -1
  1122. package/dist/sync/watch-policy.js +0 -124
  1123. package/dist/sync/watch-policy.js.map +0 -1
  1124. package/dist/sync/watcher.d.ts +0 -350
  1125. package/dist/sync/watcher.d.ts.map +0 -1
  1126. package/dist/sync/watcher.js +0 -811
  1127. package/dist/sync/watcher.js.map +0 -1
  1128. package/dist/sync/worktree.d.ts +0 -54
  1129. package/dist/sync/worktree.d.ts.map +0 -1
  1130. package/dist/sync/worktree.js +0 -137
  1131. package/dist/sync/worktree.js.map +0 -1
  1132. package/dist/telemetry/index.d.ts +0 -143
  1133. package/dist/telemetry/index.d.ts.map +0 -1
  1134. package/dist/telemetry/index.js +0 -541
  1135. package/dist/telemetry/index.js.map +0 -1
  1136. package/dist/timeline/bash-semantics.d.ts.map +0 -1
  1137. package/dist/timeline/bash-semantics.js.map +0 -1
  1138. package/dist/timeline/cli.d.ts.map +0 -1
  1139. package/dist/timeline/cli.js.map +0 -1
  1140. package/dist/timeline/constants.d.ts +0 -62
  1141. package/dist/timeline/constants.d.ts.map +0 -1
  1142. package/dist/timeline/constants.js +0 -73
  1143. package/dist/timeline/constants.js.map +0 -1
  1144. package/dist/timeline/errors.d.ts.map +0 -1
  1145. package/dist/timeline/errors.js.map +0 -1
  1146. package/dist/timeline/hook-runner.d.ts.map +0 -1
  1147. package/dist/timeline/hook-runner.js.map +0 -1
  1148. package/dist/timeline/hooks.d.ts.map +0 -1
  1149. package/dist/timeline/hooks.js.map +0 -1
  1150. package/dist/timeline/index.d.ts.map +0 -1
  1151. package/dist/timeline/index.js.map +0 -1
  1152. package/dist/timeline/indexer.d.ts.map +0 -1
  1153. package/dist/timeline/indexer.js.map +0 -1
  1154. package/dist/timeline/installer.d.ts.map +0 -1
  1155. package/dist/timeline/installer.js.map +0 -1
  1156. package/dist/timeline/payload.d.ts.map +0 -1
  1157. package/dist/timeline/payload.js.map +0 -1
  1158. package/dist/timeline/post-tool-summary.d.ts.map +0 -1
  1159. package/dist/timeline/post-tool-summary.js.map +0 -1
  1160. package/dist/timeline/recorder.d.ts.map +0 -1
  1161. package/dist/timeline/recorder.js.map +0 -1
  1162. package/dist/timeline/schema-bootstrap.d.ts +0 -42
  1163. package/dist/timeline/schema-bootstrap.d.ts.map +0 -1
  1164. package/dist/timeline/schema-bootstrap.js +0 -81
  1165. package/dist/timeline/schema-bootstrap.js.map +0 -1
  1166. package/dist/timeline/store.d.ts.map +0 -1
  1167. package/dist/timeline/store.js.map +0 -1
  1168. package/dist/timeline/types.d.ts.map +0 -1
  1169. package/dist/timeline/types.js.map +0 -1
  1170. package/dist/types.d.ts +0 -392
  1171. package/dist/types.d.ts.map +0 -1
  1172. package/dist/types.js +0 -81
  1173. package/dist/types.js.map +0 -1
  1174. package/dist/ui/glyphs.d.ts +0 -42
  1175. package/dist/ui/glyphs.d.ts.map +0 -1
  1176. package/dist/ui/glyphs.js +0 -78
  1177. package/dist/ui/glyphs.js.map +0 -1
  1178. package/dist/ui/shimmer-progress.d.ts +0 -11
  1179. package/dist/ui/shimmer-progress.d.ts.map +0 -1
  1180. package/dist/ui/shimmer-progress.js +0 -90
  1181. package/dist/ui/shimmer-progress.js.map +0 -1
  1182. package/dist/ui/shimmer-worker.d.ts +0 -2
  1183. package/dist/ui/shimmer-worker.d.ts.map +0 -1
  1184. package/dist/ui/shimmer-worker.js +0 -118
  1185. package/dist/ui/shimmer-worker.js.map +0 -1
  1186. package/dist/ui/types.d.ts +0 -17
  1187. package/dist/ui/types.d.ts.map +0 -1
  1188. package/dist/ui/types.js +0 -3
  1189. package/dist/ui/types.js.map +0 -1
  1190. package/dist/upgrade/index.d.ts +0 -132
  1191. package/dist/upgrade/index.d.ts.map +0 -1
  1192. package/dist/upgrade/index.js +0 -498
  1193. package/dist/upgrade/index.js.map +0 -1
  1194. package/dist/utils.d.ts +0 -224
  1195. package/dist/utils.d.ts.map +0 -1
  1196. package/dist/utils.js +0 -583
  1197. package/dist/utils.js.map +0 -1
  1198. package/scripts/add-lang/bench.sh +0 -60
  1199. package/scripts/add-lang/check-grammar.mjs +0 -75
  1200. package/scripts/add-lang/dump-ast.mjs +0 -103
  1201. package/scripts/add-lang/verify-extraction.mjs +0 -70
  1202. package/scripts/agent-eval/ab-adoption.sh +0 -91
  1203. package/scripts/agent-eval/ab-hook.sh +0 -86
  1204. package/scripts/agent-eval/ab-impl.sh +0 -78
  1205. package/scripts/agent-eval/ab-new-vs-baseline.sh +0 -102
  1206. package/scripts/agent-eval/ab-sufficiency.sh +0 -78
  1207. package/scripts/agent-eval/arms-F.sh +0 -21
  1208. package/scripts/agent-eval/arms-matrix.sh +0 -37
  1209. package/scripts/agent-eval/audit.sh +0 -68
  1210. package/scripts/agent-eval/bench-readme.sh +0 -28
  1211. package/scripts/agent-eval/bench-why-repo.sh +0 -22
  1212. package/scripts/agent-eval/block-read-hook.sh +0 -19
  1213. package/scripts/agent-eval/hook-settings.json +0 -15
  1214. package/scripts/agent-eval/itrun.sh +0 -120
  1215. package/scripts/agent-eval/offload-eval-3arm.sh +0 -72
  1216. package/scripts/agent-eval/offload-eval-cost.mjs +0 -133
  1217. package/scripts/agent-eval/offload-eval-effort.mjs +0 -108
  1218. package/scripts/agent-eval/offload-eval-frontload-matrix.sh +0 -25
  1219. package/scripts/agent-eval/offload-eval-frontload.sh +0 -47
  1220. package/scripts/agent-eval/offload-eval-ground-truth.json +0 -18
  1221. package/scripts/agent-eval/offload-eval-hook.mjs +0 -84
  1222. package/scripts/agent-eval/offload-eval-judge.mjs +0 -103
  1223. package/scripts/agent-eval/offload-eval-matrix.sh +0 -20
  1224. package/scripts/agent-eval/offload-eval-metrics.mjs +0 -94
  1225. package/scripts/agent-eval/offload-eval-refs1.sh +0 -50
  1226. package/scripts/agent-eval/offload-eval-setup.sh +0 -24
  1227. package/scripts/agent-eval/offload-eval-styles.sh +0 -72
  1228. package/scripts/agent-eval/offload-eval-summarize.mjs +0 -68
  1229. package/scripts/agent-eval/offload-eval.md +0 -76
  1230. package/scripts/agent-eval/parse-arms.mjs +0 -116
  1231. package/scripts/agent-eval/parse-bench-readme.mjs +0 -84
  1232. package/scripts/agent-eval/parse-run.mjs +0 -45
  1233. package/scripts/agent-eval/parse-session.mjs +0 -93
  1234. package/scripts/agent-eval/probe-context.mjs +0 -21
  1235. package/scripts/agent-eval/probe-explore.mjs +0 -40
  1236. package/scripts/agent-eval/probe-node.mjs +0 -20
  1237. package/scripts/agent-eval/probe-sweep.mjs +0 -119
  1238. package/scripts/agent-eval/probe-trace.mjs +0 -20
  1239. package/scripts/agent-eval/redirect-read-hook.sh +0 -38
  1240. package/scripts/agent-eval/run-agent.sh +0 -34
  1241. package/scripts/agent-eval/run-all.sh +0 -69
  1242. package/scripts/agent-eval/run-arms.sh +0 -56
  1243. package/scripts/agent-eval/seq-matrix.mjs +0 -137
  1244. package/scripts/agent-eval/subagent-token-cost.py +0 -188
  1245. package/scripts/build-bundle.sh +0 -118
  1246. package/scripts/extract-release-notes.mjs +0 -130
  1247. package/scripts/local-install.sh +0 -41
  1248. package/scripts/npm-sdk.js +0 -75
  1249. package/scripts/npm-shim.js +0 -246
  1250. package/scripts/pack-npm.sh +0 -118
  1251. package/scripts/prepare-release.mjs +0 -270
  1252. /package/dist/{dbquery → core/dbquery}/config.d.ts +0 -0
  1253. /package/dist/{dbquery → core/dbquery}/config.js +0 -0
  1254. /package/dist/{dbquery → core/dbquery}/constants.d.ts +0 -0
  1255. /package/dist/{dbquery → core/dbquery}/constants.js +0 -0
  1256. /package/dist/{dbquery → core/dbquery}/drivers/mysql.d.ts +0 -0
  1257. /package/dist/{dbquery → core/dbquery}/drivers/mysql.js +0 -0
  1258. /package/dist/{dbquery → core/dbquery}/drivers/postgres.d.ts +0 -0
  1259. /package/dist/{dbquery → core/dbquery}/drivers/postgres.js +0 -0
  1260. /package/dist/{dbquery → core/dbquery}/executor.d.ts +0 -0
  1261. /package/dist/{dbquery → core/dbquery}/executor.js +0 -0
  1262. /package/dist/{dbquery → core/dbquery}/format.d.ts +0 -0
  1263. /package/dist/{dbquery → core/dbquery}/format.js +0 -0
  1264. /package/dist/{dbquery → core/dbquery}/identifiers.d.ts +0 -0
  1265. /package/dist/{dbquery → core/dbquery}/identifiers.js +0 -0
  1266. /package/dist/{dbquery → core/dbquery}/index.d.ts +0 -0
  1267. /package/dist/{dbquery → core/dbquery}/index.js +0 -0
  1268. /package/dist/{dbquery → core/dbquery}/logging.d.ts +0 -0
  1269. /package/dist/{dbquery → core/dbquery}/logging.js +0 -0
  1270. /package/dist/{dbquery → core/dbquery}/queries.d.ts +0 -0
  1271. /package/dist/{dbquery → core/dbquery}/queries.js +0 -0
  1272. /package/dist/{dbquery → core/dbquery}/safety.d.ts +0 -0
  1273. /package/dist/{dbquery → core/dbquery}/safety.js +0 -0
  1274. /package/dist/{markdown → core/markdown}/dedup.d.ts +0 -0
  1275. /package/dist/{markdown → core/markdown}/dedup.js +0 -0
  1276. /package/dist/{markdown → core/markdown}/extractor.d.ts +0 -0
  1277. /package/dist/{markdown → core/markdown}/extractor.js +0 -0
  1278. /package/dist/{markdown → core/markdown}/store.d.ts +0 -0
  1279. /package/dist/{markdown → core/markdown}/store.js +0 -0
  1280. /package/dist/{markdown → core/markdown}/summary-extractor.d.ts +0 -0
  1281. /package/dist/{markdown → core/markdown}/summary-extractor.js +0 -0
  1282. /package/dist/{markdown → core/markdown}/types.js +0 -0
  1283. /package/dist/{timeline → core/timeline}/bash-semantics.d.ts +0 -0
  1284. /package/dist/{timeline → core/timeline}/bash-semantics.js +0 -0
  1285. /package/dist/{timeline → core/timeline}/cli.d.ts +0 -0
  1286. /package/dist/{timeline → core/timeline}/cli.js +0 -0
  1287. /package/dist/{timeline → core/timeline}/errors.d.ts +0 -0
  1288. /package/dist/{timeline → core/timeline}/errors.js +0 -0
  1289. /package/dist/{timeline → core/timeline}/hook-runner.d.ts +0 -0
  1290. /package/dist/{timeline → core/timeline}/hook-runner.js +0 -0
  1291. /package/dist/{timeline → core/timeline}/hooks.d.ts +0 -0
  1292. /package/dist/{timeline → core/timeline}/hooks.js +0 -0
  1293. /package/dist/{timeline → core/timeline}/index.d.ts +0 -0
  1294. /package/dist/{timeline → core/timeline}/index.js +0 -0
  1295. /package/dist/{timeline → core/timeline}/indexer.d.ts +0 -0
  1296. /package/dist/{timeline → core/timeline}/indexer.js +0 -0
  1297. /package/dist/{timeline → core/timeline}/installer.d.ts +0 -0
  1298. /package/dist/{timeline → core/timeline}/installer.js +0 -0
  1299. /package/dist/{timeline → core/timeline}/payload.d.ts +0 -0
  1300. /package/dist/{timeline → core/timeline}/payload.js +0 -0
  1301. /package/dist/{timeline → core/timeline}/post-tool-summary.d.ts +0 -0
  1302. /package/dist/{timeline → core/timeline}/post-tool-summary.js +0 -0
  1303. /package/dist/{timeline → core/timeline}/recorder.d.ts +0 -0
  1304. /package/dist/{timeline → core/timeline}/recorder.js +0 -0
  1305. /package/dist/{timeline → core/timeline}/schema.sql +0 -0
  1306. /package/dist/{timeline → core/timeline}/store.d.ts +0 -0
  1307. /package/dist/{timeline → core/timeline}/store.js +0 -0
  1308. /package/dist/{timeline → core/timeline}/types.d.ts +0 -0
  1309. /package/dist/{timeline → core/timeline}/types.js +0 -0
@@ -1,1009 +0,0 @@
1
- "use strict";
2
- /**
3
- * CLI wiring for the api-test subsystem.
4
- *
5
- * Exposes `registerApiTestCommands(program)` — called once from
6
- * `src/bin/codegraph.ts`. All api-test subcommands live under
7
- * `codegraph api-test <sub>`. The scan subcommand (T-20) is wired here;
8
- * the analyze/assemble/run/report/list subcommands will be added in
9
- * T-30 / T-40 / T-50 / T-60.
10
- *
11
- * Spec contract — scan:
12
- * - Full re-scan (delete `docs/api-test/<service>/` subtree, rebuild).
13
- * - Writes one `.bru` + one `.md` per endpoint under
14
- * `docs/api-test/<service>/<svc_id>_<methodName>.{bru,md}`.
15
- * - Writes `docs/api-test/bruno.json` at the api-test root with the
16
- * minimal Bruno collection schema.
17
- * - Failed endpoints don't abort the rest — warnings go to stderr.
18
- *
19
- * Exit codes:
20
- * 0 success (or partial success with warnings)
21
- * 2 config error (ConfigError — missing/invalid profile or config)
22
- * 5 argument error
23
- */
24
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
25
- if (k2 === undefined) k2 = k;
26
- var desc = Object.getOwnPropertyDescriptor(m, k);
27
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
28
- desc = { enumerable: true, get: function() { return m[k]; } };
29
- }
30
- Object.defineProperty(o, k2, desc);
31
- }) : (function(o, m, k, k2) {
32
- if (k2 === undefined) k2 = k;
33
- o[k2] = m[k];
34
- }));
35
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
36
- Object.defineProperty(o, "default", { enumerable: true, value: v });
37
- }) : function(o, v) {
38
- o["default"] = v;
39
- });
40
- var __importStar = (this && this.__importStar) || (function () {
41
- var ownKeys = function(o) {
42
- ownKeys = Object.getOwnPropertyNames || function (o) {
43
- var ar = [];
44
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
45
- return ar;
46
- };
47
- return ownKeys(o);
48
- };
49
- return function (mod) {
50
- if (mod && mod.__esModule) return mod;
51
- var result = {};
52
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
53
- __setModuleDefault(result, mod);
54
- return result;
55
- };
56
- })();
57
- Object.defineProperty(exports, "__esModule", { value: true });
58
- exports.__INTERNAL_CLI = void 0;
59
- exports.registerApiTestCommands = registerApiTestCommands;
60
- const fs = __importStar(require("node:fs"));
61
- const path = __importStar(require("node:path"));
62
- const config_1 = require("./config");
63
- const errors_1 = require("./errors");
64
- const parser_httpservice_1 = require("./parser-httpservice");
65
- const bru_writer_1 = require("./bru-writer");
66
- const md_writer_1 = require("./md-writer");
67
- const java_parser_1 = require("./java-parser");
68
- const impl_finder_1 = require("./impl-finder");
69
- const field_extractor_1 = require("./field-extractor");
70
- const call_chain_extractor_1 = require("./call-chain-extractor");
71
- const assemble_1 = require("./assemble");
72
- const bru_runner_1 = require("./bru-runner");
73
- const test_history_1 = require("./test-history");
74
- const report_1 = require("./report");
75
- const errors_2 = require("./errors");
76
- const enhance_prepare_1 = require("./enhance-prepare");
77
- const enhance_write_1 = require("./enhance-write");
78
- const snapshot_1 = require("./snapshot");
79
- const verify_prepare_1 = require("./verify-prepare");
80
- const verify_write_1 = require("./verify-write");
81
- /** Default output root (relative to project root). */
82
- const DEFAULT_OUTPUT_DIR = 'docs/api-test';
83
- /** Minimal Bruno collection config — written to `<outputDir>/bruno.json`. */
84
- const BRUNO_COLLECTION_CONFIG = {
85
- version: 1,
86
- name: 'hx-api-test',
87
- type: 'collection',
88
- };
89
- class ArgError extends Error {
90
- }
91
- /**
92
- * Attach the `api-test` command group to a commander program.
93
- */
94
- function registerApiTestCommands(program) {
95
- const apiTest = program
96
- .command('api-test')
97
- .description('Java HTTP-service scan + Bruno test scaffolding (independent subsystem)');
98
- // -- api-test scan --------------------------------------------------------
99
- apiTest
100
- .command('scan')
101
- .description('Scan Java source for @Center interfaces and regenerate .bru + .md pairs under docs/api-test/')
102
- .option('--project-root <path>', 'Project root to scan (defaults to cwd)', process.cwd())
103
- .option('--output-dir <path>', 'Output directory (defaults to <projectRoot>/docs/api-test)')
104
- .option('--filter <pattern>', 'Only emit endpoints whose service name matches the regex (optional)')
105
- .option('--dry-run', 'Resolve + render, but do not write files')
106
- .action(async (options) => {
107
- try {
108
- const projectRoot = path.resolve(options.projectRoot ?? process.cwd());
109
- const outputDir = path.resolve(options.outputDir ?? path.join(projectRoot, DEFAULT_OUTPUT_DIR));
110
- const config = (0, config_1.loadConfig)(projectRoot);
111
- // Filter regex (optional)
112
- let filterRe = null;
113
- if (options.filter) {
114
- try {
115
- filterRe = new RegExp(options.filter);
116
- }
117
- catch (err) {
118
- throw new ArgError(`--filter is not a valid regex: ${err instanceof Error ? err.message : String(err)}`);
119
- }
120
- }
121
- // Full re-scan: clear the existing output subtree before rebuilding.
122
- // bruno.json is also rewritten below, so we don't preserve it.
123
- if (!options.dryRun) {
124
- await clearOutputDir(outputDir);
125
- }
126
- const endpoints = await (0, parser_httpservice_1.scanEndpoints)(projectRoot, config);
127
- const filtered = filterRe
128
- ? endpoints.filter((e) => filterRe.test(e.service))
129
- : endpoints;
130
- let okCount = 0;
131
- let warnCount = 0;
132
- for (const endpoint of filtered) {
133
- try {
134
- if (options.dryRun) {
135
- // Dry-run: render to stdout (or just count) — don't write files.
136
- const bru = (0, bru_writer_1.renderBru)(endpoint, config);
137
- const md = (0, md_writer_1.renderMd)(endpoint);
138
- void bru;
139
- void md;
140
- }
141
- else {
142
- await (0, bru_writer_1.writeBru)(endpoint, config, outputDir);
143
- await (0, md_writer_1.writeMd)(endpoint, outputDir);
144
- }
145
- okCount++;
146
- }
147
- catch (err) {
148
- warnCount++;
149
- const msg = err instanceof Error ? err.message : String(err);
150
- process.stderr.write(`[api-test] warning: failed to write endpoint ${endpoint.svcId}_${endpoint.method}: ${msg}\n`);
151
- }
152
- }
153
- // Write bruno.json at the api-test root (collection metadata).
154
- if (!options.dryRun) {
155
- await fs.promises.mkdir(outputDir, { recursive: true });
156
- const brunoJsonPath = path.join(outputDir, 'bruno.json');
157
- await fs.promises.writeFile(brunoJsonPath, JSON.stringify(BRUNO_COLLECTION_CONFIG, null, 2) + '\n', 'utf8');
158
- }
159
- process.stdout.write(`[api-test] scan complete: ${okCount} endpoint(s) written` +
160
- (warnCount > 0 ? `, ${warnCount} warning(s)` : '') +
161
- (options.dryRun ? ' (dry-run)' : '') +
162
- ` → ${outputDir}\n`);
163
- if (warnCount > 0)
164
- process.exitCode = 0; // partial success still 0
165
- }
166
- catch (err) {
167
- renderErrorAndExit(err);
168
- }
169
- });
170
- // -- api-test analyze -----------------------------------------------------
171
- apiTest
172
- .command('analyze')
173
- .description('Analyze Java impl classes to fill fields / call_chain / dep_tables / auth_required in .md files')
174
- .option('--project-root <path>', 'Project root to scan (defaults to cwd)', process.cwd())
175
- .option('--output-dir <path>', 'Output directory (defaults to <projectRoot>/docs/api-test)')
176
- .option('--filter <pattern>', 'Only analyze endpoints whose service name matches the regex (optional)')
177
- .option('--dry-run', 'Resolve + extract, but do not write files')
178
- .action(async (options) => {
179
- try {
180
- const projectRoot = path.resolve(options.projectRoot ?? process.cwd());
181
- const outputDir = path.resolve(options.outputDir ?? path.join(projectRoot, DEFAULT_OUTPUT_DIR));
182
- const config = (0, config_1.loadConfig)(projectRoot);
183
- // Per spec §9, analyze does NOT load the profile (only run does).
184
- // Profile.json absence must not fail the analyze phase.
185
- // Filter regex (optional)
186
- let filterRe = null;
187
- if (options.filter) {
188
- try {
189
- filterRe = new RegExp(options.filter);
190
- }
191
- catch (err) {
192
- throw new ArgError(`--filter is not a valid regex: ${err instanceof Error ? err.message : String(err)}`);
193
- }
194
- }
195
- // Re-scan to get the fresh Endpoint[] (full overwrite — we don't
196
- // read existing .md files because re-scan gives us the same metadata
197
- // plus a clean slate; "全部覆盖" semantics).
198
- const endpoints = await (0, parser_httpservice_1.scanEndpoints)(projectRoot, config);
199
- const filtered = filterRe
200
- ? endpoints.filter((e) => filterRe.test(e.service))
201
- : endpoints;
202
- // Build the allClasses cache: parse every .java file under
203
- // projectRoot once, accumulate ClassInfo[]. Used by findImplFor,
204
- // findVoClass (called by extractFields).
205
- const allClasses = [];
206
- for (const javaFile of iterJavaFilesCached(projectRoot)) {
207
- try {
208
- const classes = await (0, java_parser_1.parseJavaFile)(javaFile);
209
- allClasses.push(...classes);
210
- }
211
- catch (err) {
212
- const msg = err instanceof Error ? err.message : String(err);
213
- process.stderr.write(`[api-test] warning: failed to parse ${javaFile}: ${msg}\n`);
214
- }
215
- }
216
- let okCount = 0;
217
- let skipCount = 0;
218
- let warnCount = 0;
219
- for (const endpoint of filtered) {
220
- try {
221
- const result = await analyzeEndpoint(endpoint, allClasses);
222
- endpoint.fields = result.fields;
223
- endpoint.callChain = result.callChain;
224
- endpoint.depTables = result.depTables;
225
- endpoint.authRequired = result.authRequired;
226
- if (result.skipReason) {
227
- endpoint.status = 'skip';
228
- endpoint.skipReason = result.skipReason;
229
- skipCount++;
230
- }
231
- else {
232
- endpoint.status = 'active';
233
- endpoint.skipReason = null;
234
- okCount++;
235
- }
236
- if (!options.dryRun) {
237
- // Re-render + overwrite the .md file (full overwrite).
238
- await (0, md_writer_1.writeMd)(endpoint, outputDir);
239
- }
240
- }
241
- catch (err) {
242
- warnCount++;
243
- const msg = err instanceof Error ? err.message : String(err);
244
- process.stderr.write(`[api-test] warning: failed to analyze endpoint ${endpoint.svcId}_${endpoint.method}: ${msg}\n`);
245
- // Mark as skip so the failure is visible in the .md.
246
- endpoint.status = 'skip';
247
- endpoint.skipReason = `analyze_error: ${msg}`;
248
- if (!options.dryRun) {
249
- try {
250
- await (0, md_writer_1.writeMd)(endpoint, outputDir);
251
- }
252
- catch {
253
- // swallow — best-effort
254
- }
255
- }
256
- }
257
- }
258
- process.stdout.write(`[api-test] analyze complete: ${okCount} ok, ${skipCount} skipped` +
259
- (warnCount > 0 ? `, ${warnCount} warning(s)` : '') +
260
- (options.dryRun ? ' (dry-run)' : '') +
261
- ` → ${outputDir}\n`);
262
- if (warnCount > 0)
263
- process.exitCode = 0;
264
- }
265
- catch (err) {
266
- renderErrorAndExit(err);
267
- }
268
- });
269
- // -- api-test assemble -----------------------------------------------------
270
- apiTest
271
- .command('assemble')
272
- .description('Assemble request bodies from fixture/db-query data and write them into .bru body:json blocks')
273
- .option('--project-root <path>', 'Project root (defaults to cwd)', process.cwd())
274
- .option('--output-dir <path>', 'Output directory (defaults to <projectRoot>/docs/api-test)')
275
- .option('--filter <pattern>', 'Only assemble endpoints whose service name matches the regex (optional)')
276
- .option('--dry-run', 'Resolve + assemble, but do not write files')
277
- .action(async (options) => {
278
- try {
279
- const projectRoot = path.resolve(options.projectRoot ?? process.cwd());
280
- const outputDir = path.resolve(options.outputDir ?? path.join(projectRoot, DEFAULT_OUTPUT_DIR));
281
- const config = (0, config_1.loadConfig)(projectRoot);
282
- const fixtures = (0, config_1.loadFixtures)(projectRoot);
283
- // Per spec §9, assemble does NOT load the profile (only run does).
284
- // The profile is not needed for body assembly — Bruno's `{{var}}`
285
- // syntax resolves env variables at request time during the run phase.
286
- // Filter regex (optional)
287
- let filterRe = null;
288
- if (options.filter) {
289
- try {
290
- filterRe = new RegExp(options.filter);
291
- }
292
- catch (err) {
293
- throw new ArgError(`--filter is not a valid regex: ${err instanceof Error ? err.message : String(err)}`);
294
- }
295
- }
296
- // Re-scan + re-analyze to get fresh endpoints with fields populated.
297
- // (Same pattern as the analyze CLI — "full overwrite" semantics. The
298
- // .md files are human-readable artifacts; the assemble phase doesn't
299
- // parse them back, it re-derives from source so the body always
300
- // matches the current code.)
301
- const endpoints = await (0, parser_httpservice_1.scanEndpoints)(projectRoot, config);
302
- const filtered = filterRe
303
- ? endpoints.filter((e) => filterRe.test(e.service))
304
- : endpoints;
305
- // Build the allClasses cache for analyze.
306
- const allClasses = [];
307
- for (const javaFile of iterJavaFilesCached(projectRoot)) {
308
- try {
309
- const classes = await (0, java_parser_1.parseJavaFile)(javaFile);
310
- allClasses.push(...classes);
311
- }
312
- catch (err) {
313
- const msg = err instanceof Error ? err.message : String(err);
314
- process.stderr.write(`[api-test] warning: failed to parse ${javaFile}: ${msg}\n`);
315
- }
316
- }
317
- let okCount = 0;
318
- let skipCount = 0;
319
- let warnCount = 0;
320
- for (const endpoint of filtered) {
321
- try {
322
- // Re-analyze to populate fields/callChain/depTables/authRequired.
323
- const result = await analyzeEndpoint(endpoint, allClasses);
324
- endpoint.fields = result.fields;
325
- endpoint.callChain = result.callChain;
326
- endpoint.depTables = result.depTables;
327
- endpoint.authRequired = result.authRequired;
328
- if (result.skipReason) {
329
- // Analyze-phase skip (impl_not_found / param_no_strong_type) —
330
- // propagate to .md, don't attempt assemble.
331
- endpoint.status = 'skip';
332
- endpoint.skipReason = result.skipReason;
333
- skipCount++;
334
- if (!options.dryRun) {
335
- await (0, md_writer_1.writeMd)(endpoint, outputDir);
336
- }
337
- continue;
338
- }
339
- endpoint.status = 'active';
340
- endpoint.skipReason = null;
341
- // Only assemble `active` endpoints.
342
- const assembled = await (0, assemble_1.assembleEndpoint)(endpoint, config, fixtures, projectRoot);
343
- if (assembled.skipped) {
344
- endpoint.status = 'skip';
345
- endpoint.skipReason = assembled.reason;
346
- skipCount++;
347
- if (!options.dryRun) {
348
- // Update .md with the skip status. Don't touch .bru body for
349
- // skipped endpoints (per spec: "skip 状态的 endpoint → 不修改 .bru body").
350
- await (0, md_writer_1.writeMd)(endpoint, outputDir);
351
- }
352
- }
353
- else {
354
- okCount++;
355
- if (!options.dryRun) {
356
- // Write the assembled body into the .bru's body:json block.
357
- // First ensure the .bru exists (scan phase writes it; if the
358
- // user skipped scan, we write it fresh here).
359
- if (!endpoint.bruPath || !fs.existsSync(endpoint.bruPath)) {
360
- await (0, bru_writer_1.writeBru)(endpoint, config, outputDir);
361
- }
362
- await (0, assemble_1.writeBruBody)(endpoint.bruPath, assembled.body);
363
- }
364
- }
365
- }
366
- catch (err) {
367
- warnCount++;
368
- const msg = err instanceof Error ? err.message : String(err);
369
- process.stderr.write(`[api-test] warning: failed to assemble endpoint ${endpoint.svcId}_${endpoint.method}: ${msg}\n`);
370
- endpoint.status = 'skip';
371
- endpoint.skipReason = `assemble_error: ${msg}`;
372
- if (!options.dryRun) {
373
- try {
374
- await (0, md_writer_1.writeMd)(endpoint, outputDir);
375
- }
376
- catch {
377
- // swallow — best-effort
378
- }
379
- }
380
- }
381
- }
382
- process.stdout.write(`[api-test] assemble complete: ${okCount} ok, ${skipCount} skipped` +
383
- (warnCount > 0 ? `, ${warnCount} warning(s)` : '') +
384
- (options.dryRun ? ' (dry-run)' : '') +
385
- ` → ${outputDir}\n`);
386
- if (warnCount > 0)
387
- process.exitCode = 0;
388
- }
389
- catch (err) {
390
- renderErrorAndExit(err);
391
- }
392
- });
393
- // -- api-test run ----------------------------------------------------------
394
- apiTest
395
- .command('run')
396
- .description('Run assembled .bru requests via Bruno CLI and append results to JSONL history')
397
- .option('--project-root <path>', 'Project root (defaults to cwd)', process.cwd())
398
- .option('--output-dir <path>', 'Collection directory (defaults to <projectRoot>/docs/api-test)')
399
- .option('--filter <pattern>', 'Only run endpoints whose service name matches the regex (optional)')
400
- .option('--status <status>', 'Only run endpoints with this status (active|skip)', 'active')
401
- .action(async (options) => {
402
- try {
403
- const projectRoot = path.resolve(options.projectRoot ?? process.cwd());
404
- const outputDir = path.resolve(options.outputDir ?? path.join(projectRoot, DEFAULT_OUTPUT_DIR));
405
- const config = (0, config_1.loadConfig)(projectRoot);
406
- const profile = (0, config_1.loadProfile)(projectRoot);
407
- // Validate --status.
408
- const statusFilter = options.status ?? 'active';
409
- if (statusFilter !== 'active' && statusFilter !== 'skip') {
410
- throw new ArgError(`--status must be "active" or "skip", got: ${statusFilter}`);
411
- }
412
- // Filter regex (optional) — narrows by service name.
413
- let filterRe = null;
414
- if (options.filter) {
415
- try {
416
- filterRe = new RegExp(options.filter);
417
- }
418
- catch (err) {
419
- throw new ArgError(`--filter is not a valid regex: ${err instanceof Error ? err.message : String(err)}`);
420
- }
421
- }
422
- // Re-scan to get the endpoint list (service + method + bruPath +
423
- // mdPath). The .bru files are assumed to already exist on disk from
424
- // a prior scan/analyze/assemble — run doesn't write .bru files.
425
- const endpoints = await (0, parser_httpservice_1.scanEndpoints)(projectRoot, config);
426
- const filteredEndpoints = filterRe
427
- ? endpoints.filter((e) => filterRe.test(e.service))
428
- : endpoints;
429
- // Read each endpoint's .md file to determine status. Endpoints whose
430
- // .md doesn't exist yet (scan never ran) default to 'active' so a
431
- // fresh collection still runs.
432
- const endpointStatuses = new Map();
433
- for (const e of filteredEndpoints) {
434
- endpointStatuses.set(`${e.svcId}_${e.method}`, readEndpointStatus(e, outputDir));
435
- }
436
- // Apply --status filter: only keep endpoints whose status matches.
437
- // Bruno CLI runs the whole collection dir (or a service subdir when
438
- // --filter narrows to one service); we filter the RESULTS by status
439
- // after the run.
440
- const filterService = pickFilterService(filterRe, filteredEndpoints);
441
- let results;
442
- try {
443
- results = await (0, bru_runner_1.runBrunoCollection)(outputDir, profile, filterService ? { service: filterService } : undefined);
444
- }
445
- catch (err) {
446
- if (err instanceof errors_1.BrunoCliError) {
447
- process.stderr.write(`[api-test] ${err.message}\n`);
448
- process.exitCode = 4;
449
- return;
450
- }
451
- throw err;
452
- }
453
- // Match results back to endpoints by name to enrich with service +
454
- // status info. Results without a matching endpoint are still recorded
455
- // (service = '(unknown)').
456
- const endpointByName = new Map();
457
- for (const e of filteredEndpoints) {
458
- endpointByName.set(`${e.svcId}_${e.method}`, e);
459
- }
460
- const ranAt = new Date().toISOString();
461
- let passedCount = 0;
462
- let failedCount = 0;
463
- let skippedCount = 0;
464
- for (const result of results) {
465
- const endpoint = endpointByName.get(result.endpoint);
466
- const service = endpoint?.service ?? '(unknown)';
467
- const status = endpointStatuses.get(result.endpoint) ?? 'active';
468
- // --status filter: skip endpoints whose status doesn't match.
469
- if (status !== statusFilter) {
470
- skippedCount++;
471
- continue;
472
- }
473
- const judgment = judgePass(result, profile);
474
- const testRun = {
475
- endpoint: result.endpoint,
476
- service,
477
- ranAt,
478
- httpStatus: result.httpStatus,
479
- bizCode: judgment.bizCode,
480
- durationMs: result.durationMs,
481
- passed: judgment.passed,
482
- error: judgment.error,
483
- };
484
- try {
485
- (0, test_history_1.appendTestRunSync)(testRun, projectRoot);
486
- }
487
- catch (err) {
488
- const msg = err instanceof Error ? err.message : String(err);
489
- process.stderr.write(`[api-test] warning: failed to append history for ${result.endpoint}: ${msg}\n`);
490
- }
491
- if (judgment.passed) {
492
- passedCount++;
493
- }
494
- else {
495
- failedCount++;
496
- }
497
- }
498
- process.stdout.write(`[api-test] run complete: ${passedCount} passed, ${failedCount} failed` +
499
- (skippedCount > 0 ? `, ${skippedCount} skipped` : '') +
500
- ` → ${outputDir}\n`);
501
- // Non-zero exit when any endpoint failed, so CI can gate on it.
502
- if (failedCount > 0)
503
- process.exitCode = 1;
504
- }
505
- catch (err) {
506
- renderErrorAndExit(err);
507
- }
508
- });
509
- // -- api-test report -------------------------------------------------------
510
- apiTest
511
- .command('report')
512
- .description('Aggregate the day\'s JSONL run history + .md catalog into a Markdown report')
513
- .option('--project-root <path>', 'Project root (defaults to cwd)', process.cwd())
514
- .option('--date <YYYY-MM-DD>', 'Report date, defaults to today (local)')
515
- .action(async (options) => {
516
- try {
517
- const projectRoot = path.resolve(options.projectRoot ?? process.cwd());
518
- const date = options.date ?? todayLocalYmd();
519
- const md = await (0, report_1.generateReport)(projectRoot, date);
520
- const outPath = (0, report_1.reportFilePath)(projectRoot, date);
521
- await fs.promises.mkdir(path.dirname(outPath), { recursive: true });
522
- await fs.promises.writeFile(outPath, md + '\n', 'utf8');
523
- process.stdout.write(`${outPath}\n`);
524
- }
525
- catch (err) {
526
- renderErrorAndExit(err);
527
- }
528
- });
529
- // -- api-test list ---------------------------------------------------------
530
- apiTest
531
- .command('list')
532
- .description('List every catalog endpoint with its most recent run result, after filters')
533
- .option('--project-root <path>', 'Project root (defaults to cwd)', process.cwd())
534
- .option('--service <name>', 'Filter by service name (exact match)')
535
- .option('--status <status>', 'Filter by status (active|skip)')
536
- .option('--svc-id <id>', 'Filter by svc_id (exact match)')
537
- .action(async (options) => {
538
- try {
539
- const projectRoot = path.resolve(options.projectRoot ?? process.cwd());
540
- const filters = {};
541
- if (options.service)
542
- filters.service = options.service;
543
- if (options.svcId)
544
- filters.svcId = options.svcId;
545
- if (options.status) {
546
- if (options.status !== 'active' && options.status !== 'skip') {
547
- throw new ArgError(`--status must be "active" or "skip", got: ${options.status}`);
548
- }
549
- filters.status = options.status;
550
- }
551
- const rows = (0, report_1.listEndpoints)(projectRoot, filters);
552
- if (rows.length === 0) {
553
- process.stdout.write('(no endpoints match the filters)\n');
554
- return;
555
- }
556
- const table = (0, report_1.renderListTable)(rows);
557
- process.stdout.write(table + '\n');
558
- }
559
- catch (err) {
560
- renderErrorAndExit(err);
561
- }
562
- });
563
- // -- api-test enhance-prepare ---------------------------------------------
564
- apiTest
565
- .command('enhance-prepare')
566
- .description('Aggregate catalog .md + impl path + db sample rows + prior AI fields into a JSON payload for AI field inference')
567
- .option('--project-root <path>', 'Project root (defaults to cwd)', process.cwd())
568
- .option('--service <name>', 'Service subdirectory under docs/api-test/ (defaults to inst-service)', 'inst-service')
569
- .option('--endpoint <name>', 'Endpoint stem <svc_id>_<method> (optional; defaults to all .md in the service dir)')
570
- .action(async (options) => {
571
- try {
572
- const projectRoot = path.resolve(options.projectRoot ?? process.cwd());
573
- const service = options.service ?? 'inst-service';
574
- const results = await (0, enhance_prepare_1.enhancePrepare)(projectRoot, service, options.endpoint);
575
- process.stdout.write(JSON.stringify(results, null, 2) + '\n');
576
- }
577
- catch (err) {
578
- renderErrorAndExit(err);
579
- }
580
- });
581
- // -- api-test enhance-write -----------------------------------------------
582
- apiTest
583
- .command('enhance-write')
584
- .description('Re-generate a .bru file with AI-produced docs/tests/body blocks and persist AI-inferred fields')
585
- .requiredOption('--endpoint <name>', 'Endpoint stem <svc_id>_<method>')
586
- .requiredOption('--docs <file>', 'AI-generated docs block content (markdown)')
587
- .requiredOption('--tests <file>', 'AI-generated tests block content (JS)')
588
- .requiredOption('--body <file>', 'AI-assembled body JSON')
589
- .option('--ai-fields <file>', 'AI-inferred source_table fields JSON (optional)')
590
- .option('--service <name>', 'Service subdirectory (defaults to inst-service)', 'inst-service')
591
- .option('--project-root <path>', 'Project root (defaults to cwd)', process.cwd())
592
- .action(async (options) => {
593
- try {
594
- const projectRoot = path.resolve(options.projectRoot ?? process.cwd());
595
- const bruPath = await (0, enhance_write_1.enhanceWrite)({
596
- projectRoot,
597
- endpoint: options.endpoint,
598
- docsFile: options.docs,
599
- testsFile: options.tests,
600
- bodyFile: options.body,
601
- aiFieldsFile: options.aiFields ?? null,
602
- service: options.service ?? 'inst-service',
603
- });
604
- process.stdout.write(bruPath + '\n');
605
- }
606
- catch (err) {
607
- renderErrorAndExit(err);
608
- }
609
- });
610
- // -- api-test snapshot -----------------------------------------------------
611
- apiTest
612
- .command('snapshot')
613
- .description('Capture dep_tables row snapshots before bru run, stored as runs/<run-id>-before.json')
614
- .requiredOption('--endpoint <name>', 'Endpoint stem <svc_id>_<method>')
615
- .requiredOption('--run-id <id>', 'Run identifier for before.json filename')
616
- .option('--service <name>', 'Service subdirectory (defaults to inst-service)', 'inst-service')
617
- .option('--project-root <path>', 'Project root (defaults to cwd)', process.cwd())
618
- .action(async (options) => {
619
- try {
620
- const projectRoot = path.resolve(options.projectRoot ?? process.cwd());
621
- const result = await (0, snapshot_1.snapshot)(projectRoot, options.endpoint, options.runId, options.service ?? 'inst-service');
622
- process.stdout.write(JSON.stringify(result, null, 2) + '\n');
623
- }
624
- catch (err) {
625
- renderErrorAndExit(err);
626
- }
627
- });
628
- // -- api-test verify-prepare ----------------------------------------------
629
- apiTest
630
- .command('verify-prepare')
631
- .description('Read bru run report + before.json + post-run db snapshot, output structured JSON for AI verify')
632
- .requiredOption('--endpoint <name>', 'Endpoint stem <svc_id>_<method>')
633
- .requiredOption('--results <file>', 'bru run --output JSON report path')
634
- .requiredOption('--run-id <id>', 'Run identifier for before.json lookup')
635
- .option('--service <name>', 'Service subdirectory (defaults to inst-service)', 'inst-service')
636
- .option('--project-root <path>', 'Project root (defaults to cwd)', process.cwd())
637
- .action(async (options) => {
638
- try {
639
- const projectRoot = path.resolve(options.projectRoot ?? process.cwd());
640
- const result = await (0, verify_prepare_1.verifyPrepare)(projectRoot, options.endpoint, options.results, options.runId, options.service ?? 'inst-service');
641
- process.stdout.write(JSON.stringify(result, null, 2) + '\n');
642
- }
643
- catch (err) {
644
- renderErrorAndExit(err);
645
- }
646
- });
647
- // -- api-test verify-write ------------------------------------------------
648
- apiTest
649
- .command('verify-write')
650
- .description('Read verify-prepare JSON + AI temp files, compute overall_passed, append to ai JSONL')
651
- .requiredOption('--endpoint <name>', 'Endpoint stem <svc_id>_<method>')
652
- .requiredOption('--verify-prepare-json <file>', 'verify-prepare output JSON path')
653
- .requiredOption('--ai-assertions <file>', 'AI-generated assertions result JSON')
654
- .requiredOption('--db-verify <file>', 'AI-generated DB verify result JSON')
655
- .requiredOption('--ran-at <iso>', 'ISO-8601 timestamp for JSONL filename + Layer 1 association')
656
- .option('--service <name>', 'Service subdirectory (defaults to inst-service)', 'inst-service')
657
- .option('--project-root <path>', 'Project root (defaults to cwd)', process.cwd())
658
- .action(async (options) => {
659
- try {
660
- const projectRoot = path.resolve(options.projectRoot ?? process.cwd());
661
- const jsonlPath = await (0, verify_write_1.verifyWrite)({
662
- projectRoot,
663
- endpoint: options.endpoint,
664
- verifyPrepareJsonFile: options.verifyPrepareJson,
665
- aiAssertionsFile: options.aiAssertions,
666
- dbVerifyFile: options.dbVerify,
667
- ranAt: options.ranAt,
668
- service: options.service ?? 'inst-service',
669
- });
670
- process.stdout.write(jsonlPath + '\n');
671
- }
672
- catch (err) {
673
- renderErrorAndExit(err);
674
- }
675
- });
676
- }
677
- // ─── Helpers ───────────────────────────────────────────────────────────────
678
- /**
679
- * Walk `projectRoot` and yield every `.java` file path. Same ignore list as
680
- * the scan phase (parser-httpservice.iterJavaFiles) — duplicated here to
681
- * avoid leaking the scan module's internal helper through the CLI surface.
682
- * Symlinks are not followed.
683
- */
684
- function* iterJavaFilesCached(root) {
685
- let entries;
686
- try {
687
- entries = fs.readdirSync(root, { withFileTypes: true });
688
- }
689
- catch {
690
- return;
691
- }
692
- for (const entry of entries) {
693
- if (entry.name.startsWith('.')) {
694
- if (entry.isDirectory())
695
- continue;
696
- }
697
- if (entry.isDirectory()) {
698
- if (DEFAULT_IGNORE_DIRS.has(entry.name))
699
- continue;
700
- yield* iterJavaFilesCached(path.join(root, entry.name));
701
- }
702
- else if (entry.isFile() && entry.name.endsWith('.java')) {
703
- yield path.join(root, entry.name);
704
- }
705
- }
706
- }
707
- /** Default ignore list — mirrors parser-httpservice.DEFAULT_IGNORE_DIRS. */
708
- const DEFAULT_IGNORE_DIRS = new Set([
709
- 'node_modules',
710
- 'dist',
711
- 'build',
712
- 'target',
713
- 'out',
714
- '.git',
715
- '.cgraphx',
716
- ]);
717
- /**
718
- * Run the analyze pipeline for one endpoint:
719
- * 1. findImplFor(interfaceFqn, allClasses) — locate the impl class.
720
- * 2. Match the interface method to the impl method (name + param count).
721
- * 3. extractFields + extractCallChain.
722
- *
723
- * Returns the enriched fields/callChain/depTables/authRequired, plus a
724
- * `skipReason` string when the endpoint should be marked `status: skip`.
725
- */
726
- async function analyzeEndpoint(endpoint, allClasses) {
727
- // 1. Find the impl class.
728
- const implInfo = await (0, impl_finder_1.findImplFor)(endpoint.interfaceFqn, allClasses);
729
- if (!implInfo) {
730
- return {
731
- fields: [],
732
- callChain: [],
733
- depTables: [],
734
- authRequired: false,
735
- skipReason: 'impl_not_found',
736
- };
737
- }
738
- // 2. Match the interface method to the impl method by name + param count.
739
- // The interface method's signature is on `endpoint.signature` (a string),
740
- // but we have `endpoint.method` (name) and can count params from the
741
- // signature. The impl method's parameters are on `implInfo.methods`.
742
- const paramCount = countParamsInSignature(endpoint.signature);
743
- const implMethod = findImplMethod(implInfo, endpoint.method, paramCount);
744
- if (!implMethod) {
745
- return {
746
- fields: [],
747
- callChain: [],
748
- depTables: [],
749
- authRequired: false,
750
- skipReason: 'impl_method_not_found',
751
- };
752
- }
753
- // 3. Extract fields + call chain.
754
- const fields = await (0, field_extractor_1.extractFields)(endpoint, implInfo, implMethod, allClasses);
755
- // When reverse-engineering fails, extractFields returns [] — mark skip.
756
- const fieldExtractionFailed = implMethod.parameters.length > 0 && fields.length === 0;
757
- const { callChain, depTables, authRequired } = await (0, call_chain_extractor_1.extractCallChain)(implInfo, implMethod);
758
- return {
759
- fields,
760
- callChain,
761
- depTables,
762
- authRequired,
763
- skipReason: fieldExtractionFailed ? 'param_no_strong_type' : null,
764
- };
765
- }
766
- /** Count parameters in a signature string like `Object qryOrderList(Object reqVo)`. */
767
- function countParamsInSignature(signature) {
768
- const m = /\((.*)\)/.exec(signature);
769
- if (!m)
770
- return 0;
771
- const inner = (m[1] ?? '').trim();
772
- if (!inner)
773
- return 0;
774
- // Naive split on commas — doesn't handle generic commas in `Map<K,V>` etc.
775
- // For param-count matching, we strip generic angle-bracket contents first.
776
- const cleaned = inner.replace(/<[^>]*>/g, '');
777
- return cleaned.split(',').length;
778
- }
779
- /**
780
- * Find the impl method matching `name` + `paramCount`. Falls back to
781
- * name-only match if paramCount is 0 (defensive — shouldn't happen for
782
- * real @Center methods, which always have ≥1 param).
783
- */
784
- function findImplMethod(implInfo, name, paramCount) {
785
- const byName = implInfo.methods.filter((m) => m.name === name);
786
- if (byName.length === 0)
787
- return null;
788
- if (paramCount === 0)
789
- return byName[0] ?? null;
790
- const byArity = byName.find((m) => m.parameters.length === paramCount);
791
- return byArity ?? byName[0] ?? null;
792
- }
793
- /**
794
- * Remove the existing output subtree so a re-scan doesn't leave stale
795
- * `.bru` / `.md` files behind for endpoints that no longer exist. Safe to
796
- * call on a non-existent dir.
797
- *
798
- * Preserves any files / subdirs the user might have added that are NOT
799
- * `.bru` / `.md` pairs? Spec says "full re-scan" = delete the whole
800
- * `docs/api-test/<service>/` subtree and rewrite bruno.json. We follow
801
- * that literally: delete the entire output dir's *.bru / *.md / bruno.json,
802
- * and remove now-empty service subdirs.
803
- */
804
- async function clearOutputDir(outputDir) {
805
- let entries;
806
- try {
807
- entries = await fs.promises.readdir(outputDir, { withFileTypes: true });
808
- }
809
- catch (err) {
810
- if (err.code === 'ENOENT')
811
- return;
812
- throw err;
813
- }
814
- for (const entry of entries) {
815
- const full = path.join(outputDir, entry.name);
816
- if (entry.isDirectory()) {
817
- // Recurse into service subdirs and clear .bru / .md files; remove the
818
- // subdir if it ends up empty.
819
- await clearServiceSubdir(full);
820
- }
821
- else if (entry.isFile() && (entry.name.endsWith('.bru') || entry.name.endsWith('.md') || entry.name === 'bruno.json')) {
822
- await fs.promises.unlink(full);
823
- }
824
- }
825
- }
826
- /** Clear `.bru` / `.md` files inside a service subdirectory; rmdir if empty. */
827
- async function clearServiceSubdir(serviceDir) {
828
- let entries;
829
- try {
830
- entries = await fs.promises.readdir(serviceDir, { withFileTypes: true });
831
- }
832
- catch (err) {
833
- if (err.code === 'ENOENT')
834
- return;
835
- throw err;
836
- }
837
- let remaining = 0;
838
- for (const entry of entries) {
839
- const full = path.join(serviceDir, entry.name);
840
- if (entry.isDirectory()) {
841
- remaining++; // don't touch nested dirs the user added
842
- }
843
- else if (entry.isFile() && (entry.name.endsWith('.bru') || entry.name.endsWith('.md'))) {
844
- await fs.promises.unlink(full);
845
- }
846
- else {
847
- remaining++;
848
- }
849
- }
850
- if (remaining === 0) {
851
- await fs.promises.rmdir(serviceDir).catch(() => { });
852
- }
853
- }
854
- function renderErrorAndExit(err) {
855
- if (err instanceof ArgError) {
856
- process.stderr.write(`[api-test] ${err.message}\n`);
857
- process.exitCode = 5;
858
- return;
859
- }
860
- if (err instanceof errors_1.ConfigError) {
861
- process.stderr.write(`[api-test] config error: ${err.message}\n`);
862
- process.exitCode = 2;
863
- return;
864
- }
865
- if (err instanceof errors_2.ReportError) {
866
- process.stderr.write(`[api-test] report error: ${err.message}\n`);
867
- process.exitCode = 2;
868
- return;
869
- }
870
- if (err instanceof errors_1.BrunoCliError) {
871
- process.stderr.write(`[api-test] ${err.message}\n`);
872
- process.exitCode = 4;
873
- return;
874
- }
875
- const msg = err instanceof Error ? err.message : String(err);
876
- process.stderr.write(`[api-test] Unexpected error: ${msg}\n`);
877
- process.exitCode = 1;
878
- }
879
- /** Today's date in the local timezone as `YYYY-MM-DD`. */
880
- function todayLocalYmd() {
881
- const d = new Date();
882
- const y = d.getFullYear();
883
- const m = String(d.getMonth() + 1).padStart(2, '0');
884
- const day = String(d.getDate()).padStart(2, '0');
885
- return `${y}-${m}-${day}`;
886
- }
887
- // ─── Run-phase helpers ─────────────────────────────────────────────────────
888
- /**
889
- * Read an endpoint's status from its `.md` frontmatter. Returns 'active'
890
- * when the .md doesn't exist or the status line can't be found (defensive
891
- * — a fresh collection with no analyze phase still runs).
892
- */
893
- function readEndpointStatus(endpoint, outputDir) {
894
- const mdPath = path.join(outputDir, endpoint.service, `${endpoint.svcId}_${endpoint.method}.md`);
895
- let content;
896
- try {
897
- content = fs.readFileSync(mdPath, 'utf8');
898
- }
899
- catch {
900
- return 'active';
901
- }
902
- const m = /^status:\s*(\w+)/m.exec(content);
903
- if (!m)
904
- return 'active';
905
- return m[1] === 'skip' ? 'skip' : 'active';
906
- }
907
- /**
908
- * When `--filter` narrows to exactly one service, return that service name
909
- * so `runBrunoCollection` can narrow Bruno CLI's run to that subdir (faster).
910
- * When multiple services match (or none), return null — run the whole
911
- * collection and filter results after.
912
- */
913
- function pickFilterService(filterRe, endpoints) {
914
- if (!filterRe)
915
- return null;
916
- const services = new Set();
917
- for (const e of endpoints) {
918
- if (filterRe.test(e.service)) {
919
- services.add(e.service);
920
- }
921
- }
922
- if (services.size === 1) {
923
- return [...services][0] ?? null;
924
- }
925
- return null;
926
- }
927
- /**
928
- * Judge pass/fail for one Bruno run result against the profile's biz-code rule.
929
- *
930
- * - Bruno-reported error (timeout / request_failed) → passed=false, error
931
- * forwarded.
932
- * - HTTP 5xx → passed=false, error=http_5xx.
933
- * - HTTP 4xx → passed=false, error=http_4xx.
934
- * - Other non-200 → passed=false, error=http_non_200.
935
- * - HTTP 200 + bizCodeField null → passed=true (HTTP-only check).
936
- * - HTTP 200 + bizCodeField set + value in bizCodeSuccessValues → passed=true.
937
- * - HTTP 200 + bizCodeField set + value NOT in success values → passed=false,
938
- * error=biz_code_value_mismatch.
939
- * - HTTP 200 + bizCodeField set + field missing from response body →
940
- * passed=false, error=biz_code_field_missing.
941
- */
942
- function judgePass(result, profile) {
943
- // Bruno-reported errors take precedence (timeout, request_failed, etc.).
944
- if (result.error) {
945
- return { passed: false, bizCode: null, error: result.error };
946
- }
947
- // Non-200 HTTP statuses.
948
- if (result.httpStatus >= 500) {
949
- return { passed: false, bizCode: null, error: 'http_5xx' };
950
- }
951
- if (result.httpStatus >= 400) {
952
- return { passed: false, bizCode: null, error: 'http_4xx' };
953
- }
954
- if (result.httpStatus !== 200) {
955
- return { passed: false, bizCode: null, error: 'http_non_200' };
956
- }
957
- // HTTP 200 — check biz code if configured.
958
- if (profile.bizCodeField === null) {
959
- return { passed: true, bizCode: null, error: null };
960
- }
961
- const bizCode = extractBizCode(result.responseBody, profile.bizCodeField);
962
- if (bizCode === null) {
963
- return { passed: false, bizCode: null, error: 'biz_code_field_missing' };
964
- }
965
- if (profile.bizCodeSuccessValues.includes(bizCode)) {
966
- return { passed: true, bizCode, error: null };
967
- }
968
- return { passed: false, bizCode, error: 'biz_code_value_mismatch' };
969
- }
970
- /**
971
- * Extract the biz code value from a response body. The body may be a JSON
972
- * object or a JSON string. Returns the stringified value, or null when the
973
- * field is absent / the body can't be parsed.
974
- */
975
- function extractBizCode(responseBody, bizCodeField) {
976
- if (!responseBody)
977
- return null;
978
- // Try parsing as JSON first.
979
- let parsed;
980
- try {
981
- parsed = JSON.parse(responseBody);
982
- }
983
- catch {
984
- // Not JSON — can't extract a structured field.
985
- return null;
986
- }
987
- if (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {
988
- const v = parsed[bizCodeField];
989
- if (v === undefined || v === null)
990
- return null;
991
- return String(v);
992
- }
993
- return null;
994
- }
995
- // Internal helpers re-exported for tests.
996
- exports.__INTERNAL_CLI = {
997
- DEFAULT_OUTPUT_DIR,
998
- BRUNO_COLLECTION_CONFIG,
999
- clearOutputDir,
1000
- iterJavaFilesCached,
1001
- analyzeEndpoint,
1002
- countParamsInSignature,
1003
- findImplMethod,
1004
- readEndpointStatus,
1005
- pickFilterService,
1006
- judgePass,
1007
- extractBizCode,
1008
- };
1009
- //# sourceMappingURL=cli.js.map