@mycodemap/mycodemap 0.1.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 (329) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/LICENSE +21 -0
  3. package/README.md +559 -0
  4. package/dist/ai/claude.d.ts +38 -0
  5. package/dist/ai/claude.d.ts.map +1 -0
  6. package/dist/ai/claude.js +169 -0
  7. package/dist/ai/claude.js.map +1 -0
  8. package/dist/ai/codex.d.ts +38 -0
  9. package/dist/ai/codex.d.ts.map +1 -0
  10. package/dist/ai/codex.js +169 -0
  11. package/dist/ai/codex.js.map +1 -0
  12. package/dist/ai/factory.d.ts +48 -0
  13. package/dist/ai/factory.d.ts.map +1 -0
  14. package/dist/ai/factory.js +95 -0
  15. package/dist/ai/factory.js.map +1 -0
  16. package/dist/ai/index.d.ts +12 -0
  17. package/dist/ai/index.d.ts.map +1 -0
  18. package/dist/ai/index.js +29 -0
  19. package/dist/ai/index.js.map +1 -0
  20. package/dist/ai/provider.d.ts +70 -0
  21. package/dist/ai/provider.d.ts.map +1 -0
  22. package/dist/ai/provider.js +31 -0
  23. package/dist/ai/provider.js.map +1 -0
  24. package/dist/ai/subagent-caller.d.ts +90 -0
  25. package/dist/ai/subagent-caller.d.ts.map +1 -0
  26. package/dist/ai/subagent-caller.js +280 -0
  27. package/dist/ai/subagent-caller.js.map +1 -0
  28. package/dist/ai/types.d.ts +70 -0
  29. package/dist/ai/types.d.ts.map +1 -0
  30. package/dist/ai/types.js +5 -0
  31. package/dist/ai/types.js.map +1 -0
  32. package/dist/cache/file-hash-cache.d.ts +76 -0
  33. package/dist/cache/file-hash-cache.d.ts.map +1 -0
  34. package/dist/cache/file-hash-cache.js +159 -0
  35. package/dist/cache/file-hash-cache.js.map +1 -0
  36. package/dist/cache/index.d.ts +151 -0
  37. package/dist/cache/index.d.ts.map +1 -0
  38. package/dist/cache/index.js +303 -0
  39. package/dist/cache/index.js.map +1 -0
  40. package/dist/cache/lru-cache.d.ts +93 -0
  41. package/dist/cache/lru-cache.d.ts.map +1 -0
  42. package/dist/cache/lru-cache.js +194 -0
  43. package/dist/cache/lru-cache.js.map +1 -0
  44. package/dist/cache/parse-cache.d.ts +68 -0
  45. package/dist/cache/parse-cache.d.ts.map +1 -0
  46. package/dist/cache/parse-cache.js +173 -0
  47. package/dist/cache/parse-cache.js.map +1 -0
  48. package/dist/cli/commands/analyze.d.ts +96 -0
  49. package/dist/cli/commands/analyze.d.ts.map +1 -0
  50. package/dist/cli/commands/analyze.js +567 -0
  51. package/dist/cli/commands/analyze.js.map +1 -0
  52. package/dist/cli/commands/ci.d.ts +25 -0
  53. package/dist/cli/commands/ci.d.ts.map +1 -0
  54. package/dist/cli/commands/ci.js +481 -0
  55. package/dist/cli/commands/ci.js.map +1 -0
  56. package/dist/cli/commands/complexity.d.ts +70 -0
  57. package/dist/cli/commands/complexity.d.ts.map +1 -0
  58. package/dist/cli/commands/complexity.js +479 -0
  59. package/dist/cli/commands/complexity.js.map +1 -0
  60. package/dist/cli/commands/cycles.d.ts +10 -0
  61. package/dist/cli/commands/cycles.d.ts.map +1 -0
  62. package/dist/cli/commands/cycles.js +202 -0
  63. package/dist/cli/commands/cycles.js.map +1 -0
  64. package/dist/cli/commands/deps.d.ts +61 -0
  65. package/dist/cli/commands/deps.d.ts.map +1 -0
  66. package/dist/cli/commands/deps.js +340 -0
  67. package/dist/cli/commands/deps.js.map +1 -0
  68. package/dist/cli/commands/generate.d.ts +8 -0
  69. package/dist/cli/commands/generate.d.ts.map +1 -0
  70. package/dist/cli/commands/generate.js +61 -0
  71. package/dist/cli/commands/generate.js.map +1 -0
  72. package/dist/cli/commands/impact.d.ts +55 -0
  73. package/dist/cli/commands/impact.d.ts.map +1 -0
  74. package/dist/cli/commands/impact.js +455 -0
  75. package/dist/cli/commands/impact.js.map +1 -0
  76. package/dist/cli/commands/init.d.ts +4 -0
  77. package/dist/cli/commands/init.d.ts.map +1 -0
  78. package/dist/cli/commands/init.js +50 -0
  79. package/dist/cli/commands/init.js.map +1 -0
  80. package/dist/cli/commands/query.d.ts +22 -0
  81. package/dist/cli/commands/query.d.ts.map +1 -0
  82. package/dist/cli/commands/query.js +718 -0
  83. package/dist/cli/commands/query.js.map +1 -0
  84. package/dist/cli/commands/watch-foreground.d.ts +9 -0
  85. package/dist/cli/commands/watch-foreground.d.ts.map +1 -0
  86. package/dist/cli/commands/watch-foreground.js +67 -0
  87. package/dist/cli/commands/watch-foreground.js.map +1 -0
  88. package/dist/cli/commands/watch.d.ts +12 -0
  89. package/dist/cli/commands/watch.d.ts.map +1 -0
  90. package/dist/cli/commands/watch.js +114 -0
  91. package/dist/cli/commands/watch.js.map +1 -0
  92. package/dist/cli/commands/workflow.d.ts +25 -0
  93. package/dist/cli/commands/workflow.d.ts.map +1 -0
  94. package/dist/cli/commands/workflow.js +488 -0
  95. package/dist/cli/commands/workflow.js.map +1 -0
  96. package/dist/cli/index.d.ts +3 -0
  97. package/dist/cli/index.d.ts.map +1 -0
  98. package/dist/cli/index.js +115 -0
  99. package/dist/cli/index.js.map +1 -0
  100. package/dist/cli/paths.d.ts +90 -0
  101. package/dist/cli/paths.d.ts.map +1 -0
  102. package/dist/cli/paths.js +136 -0
  103. package/dist/cli/paths.js.map +1 -0
  104. package/dist/cli/runtime-logger.d.ts +13 -0
  105. package/dist/cli/runtime-logger.d.ts.map +1 -0
  106. package/dist/cli/runtime-logger.js +213 -0
  107. package/dist/cli/runtime-logger.js.map +1 -0
  108. package/dist/core/analyzer.d.ts +3 -0
  109. package/dist/core/analyzer.d.ts.map +1 -0
  110. package/dist/core/analyzer.js +359 -0
  111. package/dist/core/analyzer.js.map +1 -0
  112. package/dist/core/ast-complexity-analyzer.d.ts +40 -0
  113. package/dist/core/ast-complexity-analyzer.d.ts.map +1 -0
  114. package/dist/core/ast-complexity-analyzer.js +279 -0
  115. package/dist/core/ast-complexity-analyzer.js.map +1 -0
  116. package/dist/core/global-index.d.ts +69 -0
  117. package/dist/core/global-index.d.ts.map +1 -0
  118. package/dist/core/global-index.js +388 -0
  119. package/dist/core/global-index.js.map +1 -0
  120. package/dist/generator/ai-overview.d.ts +51 -0
  121. package/dist/generator/ai-overview.d.ts.map +1 -0
  122. package/dist/generator/ai-overview.js +160 -0
  123. package/dist/generator/ai-overview.js.map +1 -0
  124. package/dist/generator/context.d.ts +5 -0
  125. package/dist/generator/context.d.ts.map +1 -0
  126. package/dist/generator/context.js +514 -0
  127. package/dist/generator/context.js.map +1 -0
  128. package/dist/generator/file-describer.d.ts +93 -0
  129. package/dist/generator/file-describer.d.ts.map +1 -0
  130. package/dist/generator/file-describer.js +375 -0
  131. package/dist/generator/file-describer.js.map +1 -0
  132. package/dist/generator/index.d.ts +8 -0
  133. package/dist/generator/index.d.ts.map +1 -0
  134. package/dist/generator/index.js +259 -0
  135. package/dist/generator/index.js.map +1 -0
  136. package/dist/index.d.ts +5 -0
  137. package/dist/index.d.ts.map +1 -0
  138. package/dist/index.js +6 -0
  139. package/dist/index.js.map +1 -0
  140. package/dist/orchestrator/adapters/ast-grep-adapter.d.ts +75 -0
  141. package/dist/orchestrator/adapters/ast-grep-adapter.d.ts.map +1 -0
  142. package/dist/orchestrator/adapters/ast-grep-adapter.js +242 -0
  143. package/dist/orchestrator/adapters/ast-grep-adapter.js.map +1 -0
  144. package/dist/orchestrator/adapters/base-adapter.d.ts +24 -0
  145. package/dist/orchestrator/adapters/base-adapter.d.ts.map +1 -0
  146. package/dist/orchestrator/adapters/base-adapter.js +2 -0
  147. package/dist/orchestrator/adapters/base-adapter.js.map +1 -0
  148. package/dist/orchestrator/adapters/codemap-adapter.d.ts +56 -0
  149. package/dist/orchestrator/adapters/codemap-adapter.d.ts.map +1 -0
  150. package/dist/orchestrator/adapters/codemap-adapter.js +163 -0
  151. package/dist/orchestrator/adapters/codemap-adapter.js.map +1 -0
  152. package/dist/orchestrator/adapters/index.d.ts +10 -0
  153. package/dist/orchestrator/adapters/index.d.ts.map +1 -0
  154. package/dist/orchestrator/adapters/index.js +3 -0
  155. package/dist/orchestrator/adapters/index.js.map +1 -0
  156. package/dist/orchestrator/ai-feed-generator.d.ts +210 -0
  157. package/dist/orchestrator/ai-feed-generator.d.ts.map +1 -0
  158. package/dist/orchestrator/ai-feed-generator.js +377 -0
  159. package/dist/orchestrator/ai-feed-generator.js.map +1 -0
  160. package/dist/orchestrator/commit-validator.d.ts +30 -0
  161. package/dist/orchestrator/commit-validator.d.ts.map +1 -0
  162. package/dist/orchestrator/commit-validator.js +87 -0
  163. package/dist/orchestrator/commit-validator.js.map +1 -0
  164. package/dist/orchestrator/confidence.d.ts +25 -0
  165. package/dist/orchestrator/confidence.d.ts.map +1 -0
  166. package/dist/orchestrator/confidence.js +138 -0
  167. package/dist/orchestrator/confidence.js.map +1 -0
  168. package/dist/orchestrator/file-header-scanner.d.ts +48 -0
  169. package/dist/orchestrator/file-header-scanner.d.ts.map +1 -0
  170. package/dist/orchestrator/file-header-scanner.js +158 -0
  171. package/dist/orchestrator/file-header-scanner.js.map +1 -0
  172. package/dist/orchestrator/git-analyzer.d.ts +192 -0
  173. package/dist/orchestrator/git-analyzer.d.ts.map +1 -0
  174. package/dist/orchestrator/git-analyzer.js +539 -0
  175. package/dist/orchestrator/git-analyzer.js.map +1 -0
  176. package/dist/orchestrator/index.d.ts +20 -0
  177. package/dist/orchestrator/index.d.ts.map +1 -0
  178. package/dist/orchestrator/index.js +16 -0
  179. package/dist/orchestrator/index.js.map +1 -0
  180. package/dist/orchestrator/intent-router.d.ts +41 -0
  181. package/dist/orchestrator/intent-router.d.ts.map +1 -0
  182. package/dist/orchestrator/intent-router.js +98 -0
  183. package/dist/orchestrator/intent-router.js.map +1 -0
  184. package/dist/orchestrator/result-fusion.d.ts +114 -0
  185. package/dist/orchestrator/result-fusion.d.ts.map +1 -0
  186. package/dist/orchestrator/result-fusion.js +332 -0
  187. package/dist/orchestrator/result-fusion.js.map +1 -0
  188. package/dist/orchestrator/test-linker.d.ts +166 -0
  189. package/dist/orchestrator/test-linker.d.ts.map +1 -0
  190. package/dist/orchestrator/test-linker.js +570 -0
  191. package/dist/orchestrator/test-linker.js.map +1 -0
  192. package/dist/orchestrator/tool-orchestrator.d.ts +108 -0
  193. package/dist/orchestrator/tool-orchestrator.d.ts.map +1 -0
  194. package/dist/orchestrator/tool-orchestrator.js +247 -0
  195. package/dist/orchestrator/tool-orchestrator.js.map +1 -0
  196. package/dist/orchestrator/types.d.ts +162 -0
  197. package/dist/orchestrator/types.d.ts.map +1 -0
  198. package/dist/orchestrator/types.js +39 -0
  199. package/dist/orchestrator/types.js.map +1 -0
  200. package/dist/orchestrator/workflow/ci-executor.d.ts +157 -0
  201. package/dist/orchestrator/workflow/ci-executor.d.ts.map +1 -0
  202. package/dist/orchestrator/workflow/ci-executor.js +423 -0
  203. package/dist/orchestrator/workflow/ci-executor.js.map +1 -0
  204. package/dist/orchestrator/workflow/config.d.ts +97 -0
  205. package/dist/orchestrator/workflow/config.d.ts.map +1 -0
  206. package/dist/orchestrator/workflow/config.js +115 -0
  207. package/dist/orchestrator/workflow/config.js.map +1 -0
  208. package/dist/orchestrator/workflow/git-analyzer.d.ts +173 -0
  209. package/dist/orchestrator/workflow/git-analyzer.d.ts.map +1 -0
  210. package/dist/orchestrator/workflow/git-analyzer.js +473 -0
  211. package/dist/orchestrator/workflow/git-analyzer.js.map +1 -0
  212. package/dist/orchestrator/workflow/index.d.ts +21 -0
  213. package/dist/orchestrator/workflow/index.d.ts.map +1 -0
  214. package/dist/orchestrator/workflow/index.js +21 -0
  215. package/dist/orchestrator/workflow/index.js.map +1 -0
  216. package/dist/orchestrator/workflow/phase-checkpoint.d.ts +38 -0
  217. package/dist/orchestrator/workflow/phase-checkpoint.d.ts.map +1 -0
  218. package/dist/orchestrator/workflow/phase-checkpoint.js +75 -0
  219. package/dist/orchestrator/workflow/phase-checkpoint.js.map +1 -0
  220. package/dist/orchestrator/workflow/phase-inheritance.d.ts +128 -0
  221. package/dist/orchestrator/workflow/phase-inheritance.d.ts.map +1 -0
  222. package/dist/orchestrator/workflow/phase-inheritance.js +266 -0
  223. package/dist/orchestrator/workflow/phase-inheritance.js.map +1 -0
  224. package/dist/orchestrator/workflow/result-fusion.d.ts +117 -0
  225. package/dist/orchestrator/workflow/result-fusion.d.ts.map +1 -0
  226. package/dist/orchestrator/workflow/result-fusion.js +246 -0
  227. package/dist/orchestrator/workflow/result-fusion.js.map +1 -0
  228. package/dist/orchestrator/workflow/templates.d.ts +116 -0
  229. package/dist/orchestrator/workflow/templates.d.ts.map +1 -0
  230. package/dist/orchestrator/workflow/templates.js +546 -0
  231. package/dist/orchestrator/workflow/templates.js.map +1 -0
  232. package/dist/orchestrator/workflow/test-linker.d.ts +152 -0
  233. package/dist/orchestrator/workflow/test-linker.d.ts.map +1 -0
  234. package/dist/orchestrator/workflow/test-linker.js +342 -0
  235. package/dist/orchestrator/workflow/test-linker.js.map +1 -0
  236. package/dist/orchestrator/workflow/types.d.ts +202 -0
  237. package/dist/orchestrator/workflow/types.d.ts.map +1 -0
  238. package/dist/orchestrator/workflow/types.js +4 -0
  239. package/dist/orchestrator/workflow/types.js.map +1 -0
  240. package/dist/orchestrator/workflow/visualizer.d.ts +56 -0
  241. package/dist/orchestrator/workflow/visualizer.d.ts.map +1 -0
  242. package/dist/orchestrator/workflow/visualizer.js +300 -0
  243. package/dist/orchestrator/workflow/visualizer.js.map +1 -0
  244. package/dist/orchestrator/workflow/workflow-context.d.ts +50 -0
  245. package/dist/orchestrator/workflow/workflow-context.d.ts.map +1 -0
  246. package/dist/orchestrator/workflow/workflow-context.js +105 -0
  247. package/dist/orchestrator/workflow/workflow-context.js.map +1 -0
  248. package/dist/orchestrator/workflow/workflow-orchestrator.d.ts +126 -0
  249. package/dist/orchestrator/workflow/workflow-orchestrator.d.ts.map +1 -0
  250. package/dist/orchestrator/workflow/workflow-orchestrator.js +489 -0
  251. package/dist/orchestrator/workflow/workflow-orchestrator.js.map +1 -0
  252. package/dist/orchestrator/workflow/workflow-persistence.d.ts +38 -0
  253. package/dist/orchestrator/workflow/workflow-persistence.d.ts.map +1 -0
  254. package/dist/orchestrator/workflow/workflow-persistence.js +166 -0
  255. package/dist/orchestrator/workflow/workflow-persistence.js.map +1 -0
  256. package/dist/parser/implementations/fast-parser.d.ts +65 -0
  257. package/dist/parser/implementations/fast-parser.d.ts.map +1 -0
  258. package/dist/parser/implementations/fast-parser.js +299 -0
  259. package/dist/parser/implementations/fast-parser.js.map +1 -0
  260. package/dist/parser/implementations/smart-parser.d.ts +220 -0
  261. package/dist/parser/implementations/smart-parser.d.ts.map +1 -0
  262. package/dist/parser/implementations/smart-parser.js +1536 -0
  263. package/dist/parser/implementations/smart-parser.js.map +1 -0
  264. package/dist/parser/implementations/tree-sitter-parser.d.ts +57 -0
  265. package/dist/parser/implementations/tree-sitter-parser.d.ts.map +1 -0
  266. package/dist/parser/implementations/tree-sitter-parser.js +375 -0
  267. package/dist/parser/implementations/tree-sitter-parser.js.map +1 -0
  268. package/dist/parser/index.d.ts +19 -0
  269. package/dist/parser/index.d.ts.map +1 -0
  270. package/dist/parser/index.js +449 -0
  271. package/dist/parser/index.js.map +1 -0
  272. package/dist/parser/interfaces/IParser.d.ts +218 -0
  273. package/dist/parser/interfaces/IParser.d.ts.map +1 -0
  274. package/dist/parser/interfaces/IParser.js +22 -0
  275. package/dist/parser/interfaces/IParser.js.map +1 -0
  276. package/dist/plugins/built-in/call-graph.d.ts +38 -0
  277. package/dist/plugins/built-in/call-graph.d.ts.map +1 -0
  278. package/dist/plugins/built-in/call-graph.js +135 -0
  279. package/dist/plugins/built-in/call-graph.js.map +1 -0
  280. package/dist/plugins/built-in/complexity-analyzer.d.ts +45 -0
  281. package/dist/plugins/built-in/complexity-analyzer.d.ts.map +1 -0
  282. package/dist/plugins/built-in/complexity-analyzer.js +155 -0
  283. package/dist/plugins/built-in/complexity-analyzer.js.map +1 -0
  284. package/dist/plugins/index.d.ts +34 -0
  285. package/dist/plugins/index.d.ts.map +1 -0
  286. package/dist/plugins/index.js +103 -0
  287. package/dist/plugins/index.js.map +1 -0
  288. package/dist/plugins/plugin-loader.d.ts +22 -0
  289. package/dist/plugins/plugin-loader.d.ts.map +1 -0
  290. package/dist/plugins/plugin-loader.js +200 -0
  291. package/dist/plugins/plugin-loader.js.map +1 -0
  292. package/dist/plugins/plugin-registry.d.ts +20 -0
  293. package/dist/plugins/plugin-registry.d.ts.map +1 -0
  294. package/dist/plugins/plugin-registry.js +143 -0
  295. package/dist/plugins/plugin-registry.js.map +1 -0
  296. package/dist/plugins/types.d.ts +72 -0
  297. package/dist/plugins/types.d.ts.map +1 -0
  298. package/dist/plugins/types.js +5 -0
  299. package/dist/plugins/types.js.map +1 -0
  300. package/dist/types/index.d.ts +373 -0
  301. package/dist/types/index.d.ts.map +1 -0
  302. package/dist/types/index.js +7 -0
  303. package/dist/types/index.js.map +1 -0
  304. package/dist/watcher/daemon.d.ts +64 -0
  305. package/dist/watcher/daemon.d.ts.map +1 -0
  306. package/dist/watcher/daemon.js +189 -0
  307. package/dist/watcher/daemon.js.map +1 -0
  308. package/dist/watcher/file-watcher.d.ts +70 -0
  309. package/dist/watcher/file-watcher.d.ts.map +1 -0
  310. package/dist/watcher/file-watcher.js +127 -0
  311. package/dist/watcher/file-watcher.js.map +1 -0
  312. package/dist/watcher/index.d.ts +5 -0
  313. package/dist/watcher/index.d.ts.map +1 -0
  314. package/dist/watcher/index.js +6 -0
  315. package/dist/watcher/index.js.map +1 -0
  316. package/dist/watcher/watch-worker.d.ts +2 -0
  317. package/dist/watcher/watch-worker.d.ts.map +1 -0
  318. package/dist/watcher/watch-worker.js +57 -0
  319. package/dist/watcher/watch-worker.js.map +1 -0
  320. package/dist/worker/index.d.ts +76 -0
  321. package/dist/worker/index.d.ts.map +1 -0
  322. package/dist/worker/index.js +155 -0
  323. package/dist/worker/index.js.map +1 -0
  324. package/dist/worker/parse-worker.d.ts +2 -0
  325. package/dist/worker/parse-worker.d.ts.map +1 -0
  326. package/dist/worker/parse-worker.js +202 -0
  327. package/dist/worker/parse-worker.js.map +1 -0
  328. package/mycodemap.config.schema.json +42 -0
  329. package/package.json +69 -0
@@ -0,0 +1,567 @@
1
+ /**
2
+ * [META] AnalyzeCommand - 统一分析入口
3
+ * [WHY] 为 CI 与人工调用提供统一分析输出,支持 machine/json 契约
4
+ */
5
+ import { parseArgs } from 'node:util';
6
+ import chalk from 'chalk';
7
+ import { ImpactCommand } from './impact.js';
8
+ import { DepsCommand } from './deps.js';
9
+ import { ComplexityCommand } from './complexity.js';
10
+ import { resolveTestFile } from '../../orchestrator/test-linker.js';
11
+ import { ToolOrchestrator } from '../../orchestrator/tool-orchestrator.js';
12
+ import { ResultFusion } from '../../orchestrator/result-fusion.js';
13
+ import { CodemapAdapter } from '../../orchestrator/adapters/codemap-adapter.js';
14
+ import { AstGrepAdapter } from '../../orchestrator/adapters/ast-grep-adapter.js';
15
+ import { IntentRouter } from '../../orchestrator/intent-router.js';
16
+ import { resolveOutputDir } from '../paths.js';
17
+ /**
18
+ * 错误码定义
19
+ */
20
+ export var AnalyzeErrorCode;
21
+ (function (AnalyzeErrorCode) {
22
+ /** E0001: 无效 intent 值 */
23
+ AnalyzeErrorCode["E0001_INVALID_INTENT"] = "E0001";
24
+ /** E0002: 缺少必要参数 */
25
+ AnalyzeErrorCode["E0002_MISSING_REQUIRED_PARAM"] = "E0002";
26
+ /** E0003: 目标路径不存在 */
27
+ AnalyzeErrorCode["E0003_TARGET_NOT_FOUND"] = "E0003";
28
+ /** E0004: 工具执行超时 */
29
+ AnalyzeErrorCode["E0004_EXECUTION_TIMEOUT"] = "E0004";
30
+ /** E0005: 工具执行失败 */
31
+ AnalyzeErrorCode["E0005_EXECUTION_FAILED"] = "E0005";
32
+ /** E0006: 置信度过低 */
33
+ AnalyzeErrorCode["E0006_LOW_CONFIDENCE"] = "E0006";
34
+ })(AnalyzeErrorCode || (AnalyzeErrorCode = {}));
35
+ /**
36
+ * 错误信息映射
37
+ */
38
+ export const ERROR_MESSAGES = {
39
+ [AnalyzeErrorCode.E0001_INVALID_INTENT]: '无效的 intent 参数值',
40
+ [AnalyzeErrorCode.E0002_MISSING_REQUIRED_PARAM]: '缺少必要参数',
41
+ [AnalyzeErrorCode.E0003_TARGET_NOT_FOUND]: '目标路径不存在',
42
+ [AnalyzeErrorCode.E0004_EXECUTION_TIMEOUT]: '工具执行超时',
43
+ [AnalyzeErrorCode.E0005_EXECUTION_FAILED]: '工具执行失败',
44
+ [AnalyzeErrorCode.E0006_LOW_CONFIDENCE]: '置信度过低',
45
+ };
46
+ /**
47
+ * 支持的 intent 列表
48
+ */
49
+ export const VALID_INTENTS = [
50
+ 'impact',
51
+ 'dependency',
52
+ 'search',
53
+ 'documentation',
54
+ 'complexity',
55
+ 'overview',
56
+ 'refactor',
57
+ 'reference',
58
+ ];
59
+ /**
60
+ * AnalyzeCommand 分析命令类
61
+ */
62
+ export class AnalyzeCommand {
63
+ args;
64
+ /**
65
+ * 构造函数
66
+ * @param args 分析命令参数
67
+ */
68
+ constructor(args) {
69
+ this.args = args;
70
+ }
71
+ /**
72
+ * 验证参数
73
+ * @throws AnalyzeError 当参数无效时
74
+ */
75
+ validate() {
76
+ // 验证 intent
77
+ if (this.args.intent && !VALID_INTENTS.includes(this.args.intent)) {
78
+ throw this.createError(AnalyzeErrorCode.E0001_INVALID_INTENT, `无效的 intent: ${this.args.intent}。支持的选项: ${VALID_INTENTS.join(', ')}`);
79
+ }
80
+ // 验证 targets
81
+ if (!this.args.targets || this.args.targets.length === 0) {
82
+ throw this.createError(AnalyzeErrorCode.E0002_MISSING_REQUIRED_PARAM, '缺少必要参数: targets');
83
+ }
84
+ }
85
+ /**
86
+ * 创建错误对象
87
+ */
88
+ createError(code, message) {
89
+ const error = new Error(`[${code}] ${message}`);
90
+ error.code = code;
91
+ return error;
92
+ }
93
+ /**
94
+ * 执行分析
95
+ */
96
+ async execute() {
97
+ this.validate();
98
+ const intent = this.args.intent || 'impact';
99
+ const scope = this.args.scope || 'direct';
100
+ const topK = this.args.topK || 8;
101
+ // 尝试使用 ToolOrchestrator 和 ResultFusion
102
+ try {
103
+ return await this.executeWithOrchestrator(intent, scope, topK);
104
+ }
105
+ catch (error) {
106
+ // 回退到原有实现
107
+ console.warn('[Analyze] Orchestrator not available, falling back to legacy mode');
108
+ }
109
+ // 根据 intent 路由 (legacy)
110
+ switch (intent) {
111
+ case 'impact':
112
+ return this.executeImpact(scope, topK);
113
+ case 'dependency':
114
+ return this.executeDeps(topK);
115
+ case 'complexity':
116
+ return this.executeComplexity(topK);
117
+ default:
118
+ return this.executeImpact(scope, topK);
119
+ }
120
+ }
121
+ /**
122
+ * 使用编排器执行分析
123
+ */
124
+ async executeWithOrchestrator(intent, scope, topK) {
125
+ const orchestrator = new ToolOrchestrator();
126
+ // 注册适配器
127
+ const codemapAdapter = new CodemapAdapter({ codemapPath: resolveOutputDir().outputDir });
128
+ const astGrepAdapter = new AstGrepAdapter();
129
+ orchestrator.registerAdapter(codemapAdapter);
130
+ orchestrator.registerAdapter(astGrepAdapter);
131
+ const fusion = new ResultFusion();
132
+ const intentRouter = new IntentRouter();
133
+ // 构建意图对象
134
+ const intentObj = intentRouter.route({
135
+ ...this.args,
136
+ intent: intent,
137
+ scope: scope,
138
+ });
139
+ let orchestratedResults = [];
140
+ let confidence;
141
+ if (intentObj.secondary) {
142
+ const tools = Array.from(new Set([intentObj.tool, intentObj.secondary]));
143
+ const resultsByTool = await orchestrator.executeParallel(intentObj, tools);
144
+ orchestratedResults = fusion.fuse(resultsByTool, {
145
+ topK,
146
+ intent: intentObj.intent,
147
+ keywordWeights: {},
148
+ maxTokens: 160,
149
+ });
150
+ const confidenceScore = this.calculateConfidence(orchestratedResults);
151
+ confidence = {
152
+ score: confidenceScore,
153
+ level: confidenceScore >= 0.7 ? 'high' : confidenceScore >= 0.4 ? 'medium' : 'low',
154
+ };
155
+ }
156
+ else {
157
+ const result = await orchestrator.executeWithFallback(intentObj, intentObj.tool);
158
+ orchestratedResults = result.results.slice(0, topK);
159
+ confidence = {
160
+ score: result.confidence?.score || 0,
161
+ level: result.confidence?.level || 'low',
162
+ };
163
+ }
164
+ // 为结果添加 location 字段
165
+ const resultsWithLocation = this.enrichWithLocation(orchestratedResults);
166
+ return {
167
+ schemaVersion: 'v1.0.0',
168
+ intent: intent,
169
+ tool: 'codemap-orchestrated',
170
+ confidence,
171
+ results: resultsWithLocation,
172
+ metadata: {
173
+ total: orchestratedResults.length,
174
+ scope,
175
+ resultCount: orchestratedResults.length,
176
+ },
177
+ };
178
+ }
179
+ /**
180
+ * 为 UnifiedResult 添加 location 字段
181
+ */
182
+ enrichWithLocation(results) {
183
+ return results.map(result => {
184
+ // 如果已经有 line 字段,构建完整的 location
185
+ if (result.line && result.line > 0) {
186
+ const location = {
187
+ file: result.file,
188
+ line: result.line,
189
+ column: 1, // 默认列号
190
+ };
191
+ return { ...result, location };
192
+ }
193
+ // 否则只添加 file
194
+ const location = {
195
+ file: result.file,
196
+ line: 1,
197
+ column: 1,
198
+ };
199
+ return { ...result, location };
200
+ });
201
+ }
202
+ /**
203
+ * 执行影响分析
204
+ */
205
+ async executeImpact(scope, topK) {
206
+ const command = new ImpactCommand();
207
+ const args = {
208
+ targets: this.args.targets || [],
209
+ scope: scope,
210
+ };
211
+ const results = await command.runEnhanced(args);
212
+ // 关联测试文件
213
+ const resultsWithTests = await this.attachTestFiles(results);
214
+ // 计算置信度
215
+ const confidenceScore = this.calculateConfidence(resultsWithTests);
216
+ const confidence = {
217
+ score: confidenceScore,
218
+ level: confidenceScore >= 0.7 ? 'high' : confidenceScore >= 0.4 ? 'medium' : 'low',
219
+ };
220
+ // 添加 location 字段
221
+ const resultsWithLocation = this.enrichWithLocation(resultsWithTests);
222
+ const typedResults = resultsWithLocation;
223
+ // 输出格式处理
224
+ if (this.args.outputMode === 'machine' || this.args.json) {
225
+ return {
226
+ schemaVersion: 'v1.0.0',
227
+ intent: 'impact',
228
+ tool: 'codemap-impact',
229
+ confidence,
230
+ results: typedResults.slice(0, topK),
231
+ metadata: {
232
+ total: resultsWithTests.length,
233
+ scope,
234
+ resultCount: resultsWithTests.length,
235
+ },
236
+ };
237
+ }
238
+ // 人类可读输出
239
+ this.printHumanOutput(resultsWithTests, 'impact');
240
+ return {
241
+ schemaVersion: 'v1.0.0',
242
+ intent: 'impact',
243
+ tool: 'codemap-impact',
244
+ confidence,
245
+ results: typedResults,
246
+ metadata: {
247
+ total: resultsWithTests.length,
248
+ scope,
249
+ resultCount: resultsWithTests.length,
250
+ },
251
+ };
252
+ }
253
+ /**
254
+ * 计算置信度分数
255
+ */
256
+ calculateConfidence(results) {
257
+ if (!results || results.length === 0) {
258
+ return 0;
259
+ }
260
+ // 基于结果数量和质量计算置信度
261
+ const resultCount = results.length;
262
+ // 假设至少有结果的情况下,基础置信度为 0.5
263
+ // 结果越多置信度越高
264
+ const score = Math.min(0.5 + (resultCount / 10), 1);
265
+ return Math.round(score * 100) / 100;
266
+ }
267
+ /**
268
+ * 执行依赖分析
269
+ */
270
+ async executeDeps(topK) {
271
+ const command = new DepsCommand();
272
+ const args = {
273
+ targets: this.args.targets || [],
274
+ };
275
+ const results = await command.runEnhanced(args);
276
+ // 关联测试文件
277
+ const resultsWithTests = await this.attachTestFiles(results);
278
+ // 计算置信度
279
+ const confidenceScore = this.calculateConfidence(resultsWithTests);
280
+ const confidence = {
281
+ score: confidenceScore,
282
+ level: confidenceScore >= 0.7 ? 'high' : confidenceScore >= 0.4 ? 'medium' : 'low',
283
+ };
284
+ // 添加 location 字段
285
+ const resultsWithLocation = this.enrichWithLocation(resultsWithTests);
286
+ const typedResults = resultsWithLocation;
287
+ // 输出格式处理
288
+ if (this.args.outputMode === 'machine' || this.args.json) {
289
+ return {
290
+ schemaVersion: 'v1.0.0',
291
+ intent: 'dependency',
292
+ tool: 'codemap-deps',
293
+ confidence,
294
+ results: typedResults.slice(0, topK),
295
+ metadata: {
296
+ total: resultsWithTests.length,
297
+ resultCount: resultsWithTests.length,
298
+ },
299
+ };
300
+ }
301
+ // 人类可读输出
302
+ this.printHumanOutput(resultsWithTests, 'dependency');
303
+ return {
304
+ schemaVersion: 'v1.0.0',
305
+ intent: 'dependency',
306
+ tool: 'codemap-deps',
307
+ confidence,
308
+ results: typedResults,
309
+ metadata: {
310
+ total: resultsWithTests.length,
311
+ resultCount: resultsWithTests.length,
312
+ },
313
+ };
314
+ }
315
+ /**
316
+ * 执行复杂度分析
317
+ */
318
+ async executeComplexity(topK) {
319
+ const command = new ComplexityCommand();
320
+ const args = {
321
+ targets: this.args.targets || [],
322
+ };
323
+ const results = await command.runEnhanced(args);
324
+ // 关联测试文件
325
+ const resultsWithTests = await this.attachTestFiles(results);
326
+ // 计算置信度
327
+ const confidenceScore = this.calculateConfidence(resultsWithTests);
328
+ const confidence = {
329
+ score: confidenceScore,
330
+ level: confidenceScore >= 0.7 ? 'high' : confidenceScore >= 0.4 ? 'medium' : 'low',
331
+ };
332
+ // 添加 location 字段
333
+ const resultsWithLocation = this.enrichWithLocation(resultsWithTests);
334
+ const typedResults = resultsWithLocation;
335
+ // 输出格式处理
336
+ if (this.args.outputMode === 'machine' || this.args.json) {
337
+ return {
338
+ schemaVersion: 'v1.0.0',
339
+ intent: 'complexity',
340
+ tool: 'codemap-complexity',
341
+ confidence,
342
+ results: typedResults.slice(0, topK),
343
+ metadata: {
344
+ total: resultsWithTests.length,
345
+ resultCount: resultsWithTests.length,
346
+ },
347
+ };
348
+ }
349
+ // 人类可读输出
350
+ this.printHumanOutput(resultsWithTests, 'complexity');
351
+ return {
352
+ schemaVersion: 'v1.0.0',
353
+ intent: 'complexity',
354
+ tool: 'codemap-complexity',
355
+ confidence,
356
+ results: typedResults,
357
+ metadata: {
358
+ total: resultsWithTests.length,
359
+ resultCount: resultsWithTests.length,
360
+ },
361
+ };
362
+ }
363
+ /**
364
+ * 关联测试文件
365
+ */
366
+ async attachTestFiles(results) {
367
+ if (!this.args.includeTests) {
368
+ return results;
369
+ }
370
+ // 为每个结果附加测试文件信息
371
+ for (const result of results) {
372
+ if (result.file) {
373
+ const testFile = await resolveTestFile(result.file);
374
+ if (testFile) {
375
+ result.metadata = result.metadata || {};
376
+ result.metadata.testFile = testFile;
377
+ }
378
+ }
379
+ }
380
+ return results;
381
+ }
382
+ /**
383
+ * 打印人类可读输出
384
+ */
385
+ printHumanOutput(results, intent) {
386
+ console.log(chalk.bold(`\n📊 ${intent.toUpperCase()} 分析结果\n`));
387
+ const resultsArray = results;
388
+ for (const result of resultsArray) {
389
+ const lineInfo = result.location?.line ? `:${result.location.line}` : '';
390
+ console.log(chalk.cyan(`📁 ${result.file}${lineInfo}`));
391
+ console.log(` ${result.content}`);
392
+ console.log(chalk.gray(` 相关度: ${(result.relevance * 100).toFixed(1)}%`));
393
+ if (result.metadata?.testFile) {
394
+ console.log(chalk.green(` 🧪 测试: ${result.metadata.testFile}`));
395
+ }
396
+ console.log();
397
+ }
398
+ }
399
+ }
400
+ /**
401
+ * 解析 CLI 参数
402
+ */
403
+ export function parseAnalyzeArgs(argv) {
404
+ try {
405
+ const { values, positionals } = parseArgs({
406
+ argv,
407
+ allowPositionals: true,
408
+ options: {
409
+ intent: {
410
+ type: 'string',
411
+ short: 'i',
412
+ },
413
+ targets: {
414
+ type: 'string',
415
+ multiple: true,
416
+ short: 't',
417
+ },
418
+ keywords: {
419
+ type: 'string',
420
+ multiple: true,
421
+ short: 'k',
422
+ },
423
+ scope: {
424
+ type: 'string',
425
+ short: 's',
426
+ },
427
+ topK: {
428
+ type: 'string',
429
+ short: 'n',
430
+ },
431
+ 'include-tests': {
432
+ type: 'boolean',
433
+ default: false,
434
+ },
435
+ 'include-git-history': {
436
+ type: 'boolean',
437
+ default: false,
438
+ },
439
+ json: {
440
+ type: 'boolean',
441
+ default: false,
442
+ },
443
+ structured: {
444
+ type: 'boolean',
445
+ default: false,
446
+ },
447
+ 'output-mode': {
448
+ type: 'string',
449
+ },
450
+ help: {
451
+ type: 'boolean',
452
+ short: 'h',
453
+ default: false,
454
+ },
455
+ },
456
+ });
457
+ // 合并位置参数和 --targets 参数作为 targets
458
+ const positionalTargets = positionals?.filter(p => !p.startsWith('-')) || [];
459
+ const explicitTargets = values.targets ? (Array.isArray(values.targets) ? values.targets : [values.targets]) : [];
460
+ const allTargets = [...explicitTargets, ...positionalTargets];
461
+ return {
462
+ intent: values.intent,
463
+ targets: allTargets.length > 0 ? allTargets : undefined,
464
+ keywords: values.keywords,
465
+ scope: values.scope,
466
+ topK: values.topK ? parseInt(values.topK, 10) : undefined,
467
+ includeTests: values['include-tests'],
468
+ includeGitHistory: values['include-git-history'],
469
+ json: values.json,
470
+ structured: values.structured,
471
+ outputMode: values['output-mode'],
472
+ };
473
+ }
474
+ catch {
475
+ return {};
476
+ }
477
+ }
478
+ /**
479
+ * CLI 入口函数
480
+ */
481
+ export async function analyzeCommand(argv) {
482
+ // 过滤掉 'analyze' 命令名
483
+ const filteredArgv = argv.filter(arg => arg !== 'analyze');
484
+ const args = parseAnalyzeArgs(filteredArgv);
485
+ // 显示帮助
486
+ if (args.intent === 'help' || !args.intent) {
487
+ printHelp();
488
+ return;
489
+ }
490
+ try {
491
+ const command = new AnalyzeCommand(args);
492
+ const output = await command.execute();
493
+ if (args.outputMode === 'machine' || args.json) {
494
+ // 如果是 structured 模式,移除 content 字段(自然语言描述)
495
+ if (args.structured) {
496
+ const structuredOutput = JSON.parse(JSON.stringify(output));
497
+ if (structuredOutput.results) {
498
+ structuredOutput.results = structuredOutput.results.map(r => {
499
+ const { content, ...rest } = r;
500
+ void content; // 标记为有意忽略的变量
501
+ return rest;
502
+ });
503
+ }
504
+ console.log(JSON.stringify(structuredOutput, null, 2));
505
+ }
506
+ else {
507
+ console.log(JSON.stringify(output, null, 2));
508
+ }
509
+ }
510
+ else {
511
+ // human 模式:打印格式化输出
512
+ const typedOutput = output;
513
+ console.log(chalk.bold(`\n📊 ${typedOutput.intent?.toUpperCase() || 'ANALYSIS'} 分析结果\n`));
514
+ for (const result of typedOutput.results || []) {
515
+ const lineInfo = result.location?.line ? `:${result.location.line}` : '';
516
+ console.log(chalk.cyan(`📁 ${result.file}${lineInfo}`));
517
+ console.log(` ${result.content}`);
518
+ console.log(chalk.gray(` 相关度: ${(result.relevance * 100).toFixed(1)}%`));
519
+ if (result.metadata?.testFile) {
520
+ console.log(chalk.green(` 🧪 测试: ${result.metadata.testFile}`));
521
+ }
522
+ console.log();
523
+ }
524
+ console.log(chalk.gray(`Tools: ${typedOutput.tool}, Confidence: ${typedOutput.confidence.level} (${typedOutput.confidence.score})`));
525
+ }
526
+ }
527
+ catch (error) {
528
+ if (error instanceof Error && 'code' in error) {
529
+ const analyzeError = error;
530
+ console.error(chalk.red(`❌ ${analyzeError.code}: ${analyzeError.message}`));
531
+ process.exit(1);
532
+ }
533
+ console.error(chalk.red(`❌ ${AnalyzeErrorCode.E0005_EXECUTION_FAILED}: ${error instanceof Error ? error.message : String(error)}`));
534
+ process.exit(1);
535
+ }
536
+ }
537
+ /**
538
+ * 打印帮助信息
539
+ */
540
+ function printHelp() {
541
+ console.log(`
542
+ ${chalk.bold('codemap analyze')} - 统一分析入口
543
+
544
+ ${chalk.bold('用法:')}
545
+ codemap analyze [选项]
546
+
547
+ ${chalk.bold('选项:')}
548
+ -i, --intent <type> 分析类型 (impact|dependency|search|documentation|complexity|overview|refactor|reference)
549
+ -t, --targets <paths> 目标文件/模块路径 (多个)
550
+ -k, --keywords <words> 搜索关键词 (多个)
551
+ -s, --scope <scope> 范围 (direct|transitive)
552
+ -n, --topK <number> 返回结果数量 (默认 8, 最大 100)
553
+ --include-tests 包含测试文件
554
+ --include-git-history 包含 Git 历史
555
+ --json JSON 格式输出
556
+ --structured 输出完全结构化的 JSON(移除自然语言字符串)
557
+ --output-mode <mode> 输出模式 (machine|human)
558
+ -h, --help 显示帮助
559
+
560
+ ${chalk.bold('示例:')}
561
+ codemap analyze -i impact -t src/index.ts
562
+ codemap analyze -i dependency -t src/utils --scope transitive --json
563
+ codemap analyze -i complexity -t src/ --include-tests
564
+ codemap analyze -i search -k "SourceLocation" --json --structured
565
+ `);
566
+ }
567
+ //# sourceMappingURL=analyze.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../../src/cli/commands/analyze.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * [META] CI Gateway CLI 命令
3
+ * [WHY] 提供 CI 门禁相关的子命令
4
+ */
5
+ import { Command } from 'commander';
6
+ /**
7
+ * CI 命令错误码
8
+ */
9
+ export declare enum CIErrorCode {
10
+ E0007_INVALID_COMMIT_FORMAT = "E0007",
11
+ E0008_MISSING_HEADER = "E0008",
12
+ E0009_MISSING_WHY = "E0009",
13
+ E0010_OUTPUT_CONTRACT_VIOLATION = "E0010",
14
+ E0011_COMMIT_TOO_LARGE = "E0011"
15
+ }
16
+ /**
17
+ * CI 命令错误信息
18
+ */
19
+ export declare const CI_ERROR_MESSAGES: Record<CIErrorCode, string>;
20
+ /**
21
+ * 创建 CI Gateway 命令
22
+ */
23
+ export declare function createCICommand(): Command;
24
+ export declare const ciCommand: Command;
25
+ //# sourceMappingURL=ci.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ci.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/ci.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC;;GAEG;AACH,oBAAY,WAAW;IACrB,2BAA2B,UAAU;IACrC,oBAAoB,UAAU;IAC9B,iBAAiB,UAAU;IAC3B,+BAA+B,UAAU;IACzC,sBAAsB,UAAU;CACjC;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAMzD,CAAC;AA2dF;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CA0CzC;AAED,eAAO,MAAM,SAAS,SAAoB,CAAC"}