@mycodemap/mycodemap 0.4.2 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (288) hide show
  1. package/CHANGELOG.md +105 -3
  2. package/README.md +192 -53
  3. package/dist/ai/claude.d.ts +38 -0
  4. package/dist/ai/claude.d.ts.map +1 -0
  5. package/dist/ai/claude.js +169 -0
  6. package/dist/ai/claude.js.map +1 -0
  7. package/dist/ai/codex.d.ts +38 -0
  8. package/dist/ai/codex.d.ts.map +1 -0
  9. package/dist/ai/codex.js +169 -0
  10. package/dist/ai/codex.js.map +1 -0
  11. package/dist/ai/factory.d.ts +48 -0
  12. package/dist/ai/factory.d.ts.map +1 -0
  13. package/dist/ai/factory.js +95 -0
  14. package/dist/ai/factory.js.map +1 -0
  15. package/dist/ai/index.d.ts +12 -0
  16. package/dist/ai/index.d.ts.map +1 -0
  17. package/dist/ai/index.js +29 -0
  18. package/dist/ai/index.js.map +1 -0
  19. package/dist/ai/provider.d.ts +70 -0
  20. package/dist/ai/provider.d.ts.map +1 -0
  21. package/dist/ai/provider.js +31 -0
  22. package/dist/ai/provider.js.map +1 -0
  23. package/dist/ai/subagent-caller.d.ts +90 -0
  24. package/dist/ai/subagent-caller.d.ts.map +1 -0
  25. package/dist/ai/subagent-caller.js +280 -0
  26. package/dist/ai/subagent-caller.js.map +1 -0
  27. package/dist/ai/types.d.ts +70 -0
  28. package/dist/ai/types.d.ts.map +1 -0
  29. package/dist/ai/types.js +5 -0
  30. package/dist/ai/types.js.map +1 -0
  31. package/dist/cli/commands/analyze.d.ts +18 -0
  32. package/dist/cli/commands/analyze.d.ts.map +1 -1
  33. package/dist/cli/commands/analyze.js +239 -6
  34. package/dist/cli/commands/analyze.js.map +1 -1
  35. package/dist/cli/commands/check.d.ts +22 -0
  36. package/dist/cli/commands/check.d.ts.map +1 -0
  37. package/dist/cli/commands/check.js +168 -0
  38. package/dist/cli/commands/check.js.map +1 -0
  39. package/dist/cli/commands/ci.d.ts +25 -0
  40. package/dist/cli/commands/ci.d.ts.map +1 -1
  41. package/dist/cli/commands/ci.js +139 -36
  42. package/dist/cli/commands/ci.js.map +1 -1
  43. package/dist/cli/commands/complexity.d.ts.map +1 -1
  44. package/dist/cli/commands/complexity.js +6 -0
  45. package/dist/cli/commands/complexity.js.map +1 -1
  46. package/dist/cli/commands/design.d.ts +52 -0
  47. package/dist/cli/commands/design.d.ts.map +1 -0
  48. package/dist/cli/commands/design.js +274 -0
  49. package/dist/cli/commands/design.js.map +1 -0
  50. package/dist/cli/commands/generate.d.ts +1 -0
  51. package/dist/cli/commands/generate.d.ts.map +1 -1
  52. package/dist/cli/commands/generate.js +121 -8
  53. package/dist/cli/commands/generate.js.map +1 -1
  54. package/dist/cli/commands/history.d.ts +26 -0
  55. package/dist/cli/commands/history.d.ts.map +1 -0
  56. package/dist/cli/commands/history.js +92 -0
  57. package/dist/cli/commands/history.js.map +1 -0
  58. package/dist/cli/commands/mcp.d.ts +13 -0
  59. package/dist/cli/commands/mcp.d.ts.map +1 -0
  60. package/dist/cli/commands/mcp.js +108 -0
  61. package/dist/cli/commands/mcp.js.map +1 -0
  62. package/dist/cli/commands/server.d.ts +9 -0
  63. package/dist/cli/commands/server.d.ts.map +1 -0
  64. package/dist/cli/commands/server.js +65 -0
  65. package/dist/cli/commands/server.js.map +1 -0
  66. package/dist/cli/commands/ship/pipeline.d.ts.map +1 -1
  67. package/dist/cli/commands/ship/pipeline.js +8 -1
  68. package/dist/cli/commands/ship/pipeline.js.map +1 -1
  69. package/dist/cli/commands/ship/publisher.d.ts +9 -1
  70. package/dist/cli/commands/ship/publisher.d.ts.map +1 -1
  71. package/dist/cli/commands/ship/publisher.js +149 -6
  72. package/dist/cli/commands/ship/publisher.js.map +1 -1
  73. package/dist/cli/commands/workflow.d.ts.map +1 -1
  74. package/dist/cli/commands/workflow.js +22 -2
  75. package/dist/cli/commands/workflow.js.map +1 -1
  76. package/dist/cli/config-loader.d.ts.map +1 -1
  77. package/dist/cli/config-loader.js +3 -2
  78. package/dist/cli/config-loader.js.map +1 -1
  79. package/dist/cli/contract-checker.d.ts +33 -0
  80. package/dist/cli/contract-checker.d.ts.map +1 -0
  81. package/dist/cli/contract-checker.js +719 -0
  82. package/dist/cli/contract-checker.js.map +1 -0
  83. package/dist/cli/contract-diff-scope.d.ts +14 -0
  84. package/dist/cli/contract-diff-scope.d.ts.map +1 -0
  85. package/dist/cli/contract-diff-scope.js +127 -0
  86. package/dist/cli/contract-diff-scope.js.map +1 -0
  87. package/dist/cli/contract-gate-thresholds.d.ts +14 -0
  88. package/dist/cli/contract-gate-thresholds.d.ts.map +1 -0
  89. package/dist/cli/contract-gate-thresholds.js +19 -0
  90. package/dist/cli/contract-gate-thresholds.js.map +1 -0
  91. package/dist/cli/design-contract-loader.d.ts +15 -0
  92. package/dist/cli/design-contract-loader.d.ts.map +1 -0
  93. package/dist/cli/design-contract-loader.js +527 -0
  94. package/dist/cli/design-contract-loader.js.map +1 -0
  95. package/dist/cli/design-contract-schema.d.ts +11 -0
  96. package/dist/cli/design-contract-schema.d.ts.map +1 -0
  97. package/dist/cli/design-contract-schema.js +75 -0
  98. package/dist/cli/design-contract-schema.js.map +1 -0
  99. package/dist/cli/design-handoff-builder.d.ts +15 -0
  100. package/dist/cli/design-handoff-builder.d.ts.map +1 -0
  101. package/dist/cli/design-handoff-builder.js +345 -0
  102. package/dist/cli/design-handoff-builder.js.map +1 -0
  103. package/dist/cli/design-scope-resolver.d.ts +8 -0
  104. package/dist/cli/design-scope-resolver.d.ts.map +1 -0
  105. package/dist/cli/design-scope-resolver.js +760 -0
  106. package/dist/cli/design-scope-resolver.js.map +1 -0
  107. package/dist/cli/design-verification-builder.d.ts +8 -0
  108. package/dist/cli/design-verification-builder.d.ts.map +1 -0
  109. package/dist/cli/design-verification-builder.js +369 -0
  110. package/dist/cli/design-verification-builder.js.map +1 -0
  111. package/dist/cli/index.js +20 -6
  112. package/dist/cli/index.js.map +1 -1
  113. package/dist/cli/paths.d.ts.map +1 -1
  114. package/dist/cli/paths.js +30 -7
  115. package/dist/cli/paths.js.map +1 -1
  116. package/dist/cli-new/commands/server.d.ts +13 -0
  117. package/dist/cli-new/commands/server.d.ts.map +1 -0
  118. package/dist/cli-new/commands/server.js +90 -0
  119. package/dist/cli-new/commands/server.js.map +1 -0
  120. package/dist/core/analyzer.d.ts.map +1 -1
  121. package/dist/core/analyzer.js +16 -0
  122. package/dist/core/analyzer.js.map +1 -1
  123. package/dist/domain/entities/CodeGraph.d.ts +5 -1
  124. package/dist/domain/entities/CodeGraph.d.ts.map +1 -1
  125. package/dist/domain/entities/CodeGraph.js +29 -12
  126. package/dist/domain/entities/CodeGraph.js.map +1 -1
  127. package/dist/domain/entities/Dependency.d.ts +8 -1
  128. package/dist/domain/entities/Dependency.d.ts.map +1 -1
  129. package/dist/domain/entities/Dependency.js +19 -4
  130. package/dist/domain/entities/Dependency.js.map +1 -1
  131. package/dist/domain/entities/Symbol.d.ts +2 -1
  132. package/dist/domain/entities/Symbol.d.ts.map +1 -1
  133. package/dist/domain/entities/Symbol.js +6 -3
  134. package/dist/domain/entities/Symbol.js.map +1 -1
  135. package/dist/generator/ai-overview.d.ts +51 -0
  136. package/dist/generator/ai-overview.d.ts.map +1 -0
  137. package/dist/generator/ai-overview.js +160 -0
  138. package/dist/generator/ai-overview.js.map +1 -0
  139. package/dist/infrastructure/storage/StorageFactory.d.ts +13 -5
  140. package/dist/infrastructure/storage/StorageFactory.d.ts.map +1 -1
  141. package/dist/infrastructure/storage/StorageFactory.js +62 -16
  142. package/dist/infrastructure/storage/StorageFactory.js.map +1 -1
  143. package/dist/infrastructure/storage/adapters/FileSystemStorage.d.ts +3 -1
  144. package/dist/infrastructure/storage/adapters/FileSystemStorage.d.ts.map +1 -1
  145. package/dist/infrastructure/storage/adapters/FileSystemStorage.js +10 -2
  146. package/dist/infrastructure/storage/adapters/FileSystemStorage.js.map +1 -1
  147. package/dist/infrastructure/storage/adapters/KuzuDBStorage.d.ts +3 -1
  148. package/dist/infrastructure/storage/adapters/KuzuDBStorage.d.ts.map +1 -1
  149. package/dist/infrastructure/storage/adapters/KuzuDBStorage.js +9 -1
  150. package/dist/infrastructure/storage/adapters/KuzuDBStorage.js.map +1 -1
  151. package/dist/infrastructure/storage/adapters/MemoryStorage.d.ts +3 -1
  152. package/dist/infrastructure/storage/adapters/MemoryStorage.d.ts.map +1 -1
  153. package/dist/infrastructure/storage/adapters/MemoryStorage.js +9 -1
  154. package/dist/infrastructure/storage/adapters/MemoryStorage.js.map +1 -1
  155. package/dist/infrastructure/storage/adapters/Neo4jStorage.d.ts +41 -0
  156. package/dist/infrastructure/storage/adapters/Neo4jStorage.d.ts.map +1 -0
  157. package/dist/infrastructure/storage/adapters/Neo4jStorage.js +162 -0
  158. package/dist/infrastructure/storage/adapters/Neo4jStorage.js.map +1 -0
  159. package/dist/infrastructure/storage/adapters/SQLiteStorage.d.ts +53 -0
  160. package/dist/infrastructure/storage/adapters/SQLiteStorage.d.ts.map +1 -0
  161. package/dist/infrastructure/storage/adapters/SQLiteStorage.js +879 -0
  162. package/dist/infrastructure/storage/adapters/SQLiteStorage.js.map +1 -0
  163. package/dist/infrastructure/storage/graph-helpers.d.ts +3 -1
  164. package/dist/infrastructure/storage/graph-helpers.d.ts.map +1 -1
  165. package/dist/infrastructure/storage/graph-helpers.js +90 -0
  166. package/dist/infrastructure/storage/graph-helpers.js.map +1 -1
  167. package/dist/infrastructure/storage/index.d.ts +1 -1
  168. package/dist/infrastructure/storage/index.d.ts.map +1 -1
  169. package/dist/infrastructure/storage/interfaces/StorageBase.d.ts +3 -1
  170. package/dist/infrastructure/storage/interfaces/StorageBase.d.ts.map +1 -1
  171. package/dist/infrastructure/storage/interfaces/StorageBase.js.map +1 -1
  172. package/dist/infrastructure/storage/sqlite/GovernanceGraphCache.d.ts +27 -0
  173. package/dist/infrastructure/storage/sqlite/GovernanceGraphCache.d.ts.map +1 -0
  174. package/dist/infrastructure/storage/sqlite/GovernanceGraphCache.js +246 -0
  175. package/dist/infrastructure/storage/sqlite/GovernanceGraphCache.js.map +1 -0
  176. package/dist/infrastructure/storage/sqlite/perf-thresholds.d.ts +25 -0
  177. package/dist/infrastructure/storage/sqlite/perf-thresholds.d.ts.map +1 -0
  178. package/dist/infrastructure/storage/sqlite/perf-thresholds.js +25 -0
  179. package/dist/infrastructure/storage/sqlite/perf-thresholds.js.map +1 -0
  180. package/dist/infrastructure/storage/sqlite/schema.d.ts +4 -0
  181. package/dist/infrastructure/storage/sqlite/schema.d.ts.map +1 -0
  182. package/dist/infrastructure/storage/sqlite/schema.js +111 -0
  183. package/dist/infrastructure/storage/sqlite/schema.js.map +1 -0
  184. package/dist/interface/types/design-check.d.ts +73 -0
  185. package/dist/interface/types/design-check.d.ts.map +1 -0
  186. package/dist/interface/types/design-check.js +4 -0
  187. package/dist/interface/types/design-check.js.map +1 -0
  188. package/dist/interface/types/design-contract.d.ts +123 -0
  189. package/dist/interface/types/design-contract.d.ts.map +1 -0
  190. package/dist/interface/types/design-contract.js +7 -0
  191. package/dist/interface/types/design-contract.js.map +1 -0
  192. package/dist/interface/types/design-handoff.d.ts +68 -0
  193. package/dist/interface/types/design-handoff.d.ts.map +1 -0
  194. package/dist/interface/types/design-handoff.js +4 -0
  195. package/dist/interface/types/design-handoff.js.map +1 -0
  196. package/dist/interface/types/design-mapping.d.ts +51 -0
  197. package/dist/interface/types/design-mapping.d.ts.map +1 -0
  198. package/dist/interface/types/design-mapping.js +4 -0
  199. package/dist/interface/types/design-mapping.js.map +1 -0
  200. package/dist/interface/types/design-verification.d.ts +49 -0
  201. package/dist/interface/types/design-verification.d.ts.map +1 -0
  202. package/dist/interface/types/design-verification.js +4 -0
  203. package/dist/interface/types/design-verification.js.map +1 -0
  204. package/dist/interface/types/history-risk.d.ts +90 -0
  205. package/dist/interface/types/history-risk.d.ts.map +1 -0
  206. package/dist/interface/types/history-risk.js +4 -0
  207. package/dist/interface/types/history-risk.js.map +1 -0
  208. package/dist/interface/types/index.d.ts +20 -1
  209. package/dist/interface/types/index.d.ts.map +1 -1
  210. package/dist/interface/types/storage.d.ts +28 -1
  211. package/dist/interface/types/storage.d.ts.map +1 -1
  212. package/dist/orchestrator/adapters/ast-grep-adapter.d.ts +10 -0
  213. package/dist/orchestrator/adapters/ast-grep-adapter.d.ts.map +1 -1
  214. package/dist/orchestrator/adapters/ast-grep-adapter.js +46 -17
  215. package/dist/orchestrator/adapters/ast-grep-adapter.js.map +1 -1
  216. package/dist/orchestrator/adapters/codemap-adapter.d.ts.map +1 -1
  217. package/dist/orchestrator/adapters/codemap-adapter.js +2 -22
  218. package/dist/orchestrator/adapters/codemap-adapter.js.map +1 -1
  219. package/dist/orchestrator/ai-feed-generator.d.ts +210 -0
  220. package/dist/orchestrator/ai-feed-generator.d.ts.map +1 -0
  221. package/dist/orchestrator/ai-feed-generator.js +377 -0
  222. package/dist/orchestrator/ai-feed-generator.js.map +1 -0
  223. package/dist/orchestrator/history-risk-service.d.ts +55 -0
  224. package/dist/orchestrator/history-risk-service.d.ts.map +1 -0
  225. package/dist/orchestrator/history-risk-service.js +680 -0
  226. package/dist/orchestrator/history-risk-service.js.map +1 -0
  227. package/dist/orchestrator/types.d.ts +19 -1
  228. package/dist/orchestrator/types.d.ts.map +1 -1
  229. package/dist/orchestrator/types.js +19 -0
  230. package/dist/orchestrator/types.js.map +1 -1
  231. package/dist/server/mcp/index.d.ts +4 -0
  232. package/dist/server/mcp/index.d.ts.map +1 -0
  233. package/dist/server/mcp/index.js +5 -0
  234. package/dist/server/mcp/index.js.map +1 -0
  235. package/dist/server/mcp/server.d.ts +17 -0
  236. package/dist/server/mcp/server.d.ts.map +1 -0
  237. package/dist/server/mcp/server.js +84 -0
  238. package/dist/server/mcp/server.js.map +1 -0
  239. package/dist/server/mcp/service.d.ts +22 -0
  240. package/dist/server/mcp/service.d.ts.map +1 -0
  241. package/dist/server/mcp/service.js +177 -0
  242. package/dist/server/mcp/service.js.map +1 -0
  243. package/dist/server/mcp/types.d.ts +56 -0
  244. package/dist/server/mcp/types.d.ts.map +1 -0
  245. package/dist/server/mcp/types.js +4 -0
  246. package/dist/server/mcp/types.js.map +1 -0
  247. package/docs/AI_ASSISTANT_SETUP.md +1 -1
  248. package/docs/SETUP_GUIDE.md +6 -6
  249. package/docs/ai-guide/COMMANDS.md +171 -4
  250. package/docs/ai-guide/INTEGRATION.md +137 -433
  251. package/docs/ai-guide/OUTPUT.md +890 -5
  252. package/docs/ai-guide/PATTERNS.md +54 -14
  253. package/docs/ai-guide/PROMPTS.md +17 -6
  254. package/docs/archive/test-report-symbol-search.md +384 -0
  255. package/docs/archive/test-scenario-4-complexity-analysis.md +460 -0
  256. package/docs/archive/test_report_scenario5.md +615 -0
  257. package/docs/archive/test_scenario_3_impact_analysis_report.md +520 -0
  258. package/docs/backlog.md +177 -0
  259. package/docs/eatdogfood-reports/2026-04-17-eatdogfood-agent-experience.md +231 -0
  260. package/docs/exec-plans/completed/2026-04-17-eatdogfood-codemap-cli.md +103 -0
  261. package/docs/ideation/2026-04-15-executable-architecture-constitution-ideation.md +102 -0
  262. package/docs/product-specs/DESIGN_CONTRACT_TEMPLATE.md +126 -0
  263. package/docs/product-specs/MVP3-ARCHITECTURE-COMPARISON.md +11 -10
  264. package/docs/product-specs/MVP3-ARCHITECTURE-REDESIGN-PRD.md +10 -10
  265. package/docs/product-specs/MVP3-ARCHITECTURE-REDESIGN-TECH-PRD.md +17 -12
  266. package/docs/product-specs/README.md +2 -1
  267. package/docs/rules/README.md +16 -11
  268. package/docs/rules/architecture-guardrails.md +24 -336
  269. package/docs/rules/code-quality-redlines.md +25 -311
  270. package/docs/rules/engineering-with-codex-openai.md +20 -3
  271. package/docs/rules/validation.md +90 -37
  272. package/mycodemap.config.schema.json +3 -3
  273. package/package.json +7 -2
  274. package/scripts/benchmark-governance-graph.mjs +132 -0
  275. package/scripts/calibrate-contract-gate.mjs +221 -0
  276. package/scripts/capability-report.py +255 -0
  277. package/scripts/experiments/arcadedb-http-smoke.mjs +90 -0
  278. package/scripts/qa-rule-control.sh +254 -0
  279. package/scripts/report-high-risk-files.mjs +395 -0
  280. package/scripts/rule-context.mjs +155 -0
  281. package/scripts/smoke-sqlite-impact.mjs +85 -0
  282. package/scripts/sync-analyze-docs.js +1 -0
  283. package/scripts/tests/test_capability_report.py +89 -0
  284. package/scripts/tests/test_rule_control_workflow.py +51 -0
  285. package/scripts/tests/test_validate_rules.py +81 -0
  286. package/scripts/validate-ai-docs.js +283 -1
  287. package/scripts/validate-docs.js +479 -25
  288. package/scripts/validate-rules.py +254 -0
@@ -18,6 +18,8 @@ import { CodemapAdapter } from '../../orchestrator/adapters/codemap-adapter.js';
18
18
  import { AstGrepAdapter } from '../../orchestrator/adapters/ast-grep-adapter.js';
19
19
  import { IntentRouter } from '../../orchestrator/intent-router.js';
20
20
  import { resolveDataPath, resolveOutputDir } from '../paths.js';
21
+ import { discoverProjectFiles } from '../../core/file-discovery.js';
22
+ import { loadCodemapConfig } from '../config-loader.js';
21
23
  /**
22
24
  * 错误码定义
23
25
  */
@@ -132,11 +134,26 @@ export class AnalyzeCommand {
132
134
  */
133
135
  async executeFindWithFallback(intentObj, topK) {
134
136
  try {
135
- return this.withCompatibility(await this.executeWithOrchestrator(intentObj, topK), intentObj.compatibility);
137
+ const orchestratedOutput = await this.executeWithOrchestrator(intentObj, topK);
138
+ if (orchestratedOutput.results.length > 0) {
139
+ return this.withCompatibility(this.withDiagnostics(orchestratedOutput, this.createSuccessDiagnostics()), intentObj.compatibility);
140
+ }
141
+ try {
142
+ await this.executeFind(intentObj, topK, { failOnScanError: true });
143
+ }
144
+ catch (scanError) {
145
+ return this.withCompatibility(await this.executeConfigAwareTextFallback(intentObj, topK, scanError, undefined), intentObj.compatibility);
146
+ }
147
+ return this.withCompatibility(this.withDiagnostics(orchestratedOutput, this.createSuccessDiagnostics()), intentObj.compatibility);
136
148
  }
137
- catch {
149
+ catch (orchestratorError) {
138
150
  console.warn('[Analyze] Orchestrator not available, falling back to AstGrep search');
139
- return this.executeFind(intentObj, topK);
151
+ try {
152
+ return await this.executeFind(intentObj, topK, { failOnScanError: true });
153
+ }
154
+ catch (scanError) {
155
+ return this.withCompatibility(await this.executeConfigAwareTextFallback(intentObj, topK, scanError, orchestratorError), intentObj.compatibility);
156
+ }
140
157
  }
141
158
  }
142
159
  /**
@@ -146,7 +163,7 @@ export class AnalyzeCommand {
146
163
  const orchestrator = new ToolOrchestrator();
147
164
  // 注册适配器
148
165
  const codemapAdapter = new CodemapAdapter({ codemapPath: resolveOutputDir().outputDir });
149
- const astGrepAdapter = new AstGrepAdapter();
166
+ const astGrepAdapter = new AstGrepAdapter({ includeTests: this.args.includeTests ?? true });
150
167
  orchestrator.registerAdapter(codemapAdapter);
151
168
  orchestrator.registerAdapter(astGrepAdapter);
152
169
  const fusion = new ResultFusion();
@@ -230,9 +247,12 @@ export class AnalyzeCommand {
230
247
  /**
231
248
  * find fallback
232
249
  */
233
- async executeFind(intentObj, topK) {
250
+ async executeFind(intentObj, topK, options = {}) {
234
251
  const searchTerms = intentObj.keywords.length > 0 ? intentObj.keywords : intentObj.targets;
235
- const adapter = new AstGrepAdapter({ includeTests: this.args.includeTests ?? true });
252
+ const adapter = new AstGrepAdapter({
253
+ includeTests: this.args.includeTests ?? true,
254
+ failOnScanError: options.failOnScanError ?? false
255
+ });
236
256
  const rawResults = await adapter.execute(searchTerms, {
237
257
  topK,
238
258
  includeTests: this.args.includeTests,
@@ -246,6 +266,7 @@ export class AnalyzeCommand {
246
266
  tool: 'ast-grep-find',
247
267
  confidence,
248
268
  results,
269
+ diagnostics: this.createSuccessDiagnostics(),
249
270
  metadata: {
250
271
  total: results.length,
251
272
  resultCount: results.length,
@@ -253,6 +274,218 @@ export class AnalyzeCommand {
253
274
  }
254
275
  }, intentObj.compatibility);
255
276
  }
277
+ async executeConfigAwareTextFallback(intentObj, topK, scanError, orchestratorError) {
278
+ try {
279
+ const results = await this.runConfigAwareTextFallback(intentObj, topK);
280
+ const diagnostics = this.createPartialFailureDiagnostics(scanError, orchestratorError);
281
+ return {
282
+ schemaVersion: 'v1.0.0',
283
+ intent: 'find',
284
+ tool: 'codemap-find-fallback',
285
+ confidence: this.buildConfidence(results.length > 0 ? 0.65 : 0),
286
+ results,
287
+ diagnostics,
288
+ metadata: {
289
+ total: results.length,
290
+ resultCount: results.length,
291
+ scope: intentObj.scope
292
+ }
293
+ };
294
+ }
295
+ catch (fallbackError) {
296
+ if (this.isMachineOutputMode()) {
297
+ process.exitCode = 1;
298
+ }
299
+ return {
300
+ schemaVersion: 'v1.0.0',
301
+ intent: 'find',
302
+ tool: 'codemap-find-fallback',
303
+ confidence: this.buildConfidence(0),
304
+ results: [],
305
+ diagnostics: this.createFailureDiagnostics(scanError, fallbackError, orchestratorError),
306
+ metadata: {
307
+ total: 0,
308
+ resultCount: 0,
309
+ scope: intentObj.scope
310
+ }
311
+ };
312
+ }
313
+ }
314
+ async runConfigAwareTextFallback(intentObj, topK) {
315
+ const { config } = await loadCodemapConfig(process.cwd());
316
+ const discoveredFiles = await discoverProjectFiles({
317
+ rootDir: process.cwd(),
318
+ include: config.include,
319
+ exclude: config.exclude,
320
+ absolute: true,
321
+ gitignore: true
322
+ });
323
+ const { files, searchTerms, explicitPathMode } = this.resolveFallbackSearchScope(discoveredFiles, intentObj);
324
+ const results = [];
325
+ for (const file of files) {
326
+ const fileResults = await this.searchFileWithFallback(file, searchTerms, topK - results.length);
327
+ results.push(...fileResults);
328
+ if (results.length >= topK) {
329
+ return results.slice(0, topK);
330
+ }
331
+ }
332
+ if (explicitPathMode && intentObj.keywords.length === 0 && results.length === 0) {
333
+ const anchoredResults = await this.createExplicitPathFallbackResults(files, searchTerms, topK);
334
+ results.push(...anchoredResults);
335
+ }
336
+ return results.slice(0, topK);
337
+ }
338
+ resolveFallbackSearchScope(discoveredFiles, intentObj) {
339
+ const explicitPathTargets = intentObj.targets.filter(target => this.isPathLikeTarget(target));
340
+ const matchedTargetFiles = this.matchDiscoveredTargetFiles(discoveredFiles, explicitPathTargets);
341
+ if (matchedTargetFiles.length > 0) {
342
+ const pathTerms = explicitPathTargets.flatMap(target => {
343
+ const basename = path.basename(target);
344
+ return [basename, this.stripModuleExtension(basename)];
345
+ });
346
+ return {
347
+ files: matchedTargetFiles,
348
+ searchTerms: this.uniqueNonEmptyStrings(intentObj.keywords.length > 0 ? intentObj.keywords : pathTerms),
349
+ explicitPathMode: true
350
+ };
351
+ }
352
+ return {
353
+ files: discoveredFiles,
354
+ searchTerms: this.uniqueNonEmptyStrings(intentObj.keywords.length > 0 ? intentObj.keywords : intentObj.targets),
355
+ explicitPathMode: false
356
+ };
357
+ }
358
+ async searchFileWithFallback(file, searchTerms, remainingSlots) {
359
+ if (remainingSlots <= 0 || searchTerms.length === 0) {
360
+ return [];
361
+ }
362
+ const content = await readFile(file, 'utf-8');
363
+ const lines = content.split(/\r?\n/);
364
+ const results = [];
365
+ for (const [index, line] of lines.entries()) {
366
+ const matchedTerms = searchTerms.filter(term => line.includes(term));
367
+ if (matchedTerms.length === 0) {
368
+ continue;
369
+ }
370
+ const relativeFile = this.toProjectRelativePath(file);
371
+ const lineNumber = index + 1;
372
+ results.push(this.createFallbackResult(relativeFile, lineNumber, line, matchedTerms));
373
+ if (results.length >= remainingSlots) {
374
+ break;
375
+ }
376
+ }
377
+ return results;
378
+ }
379
+ async createExplicitPathFallbackResults(files, searchTerms, topK) {
380
+ const results = [];
381
+ for (const file of files) {
382
+ const content = await readFile(file, 'utf-8');
383
+ const firstLine = content.split(/\r?\n/, 1)[0] ?? '';
384
+ const relativeFile = this.toProjectRelativePath(file);
385
+ results.push(this.createFallbackResult(relativeFile, 1, firstLine || `Matched file path ${relativeFile}`, searchTerms));
386
+ if (results.length >= topK) {
387
+ break;
388
+ }
389
+ }
390
+ return results;
391
+ }
392
+ createFallbackResult(relativeFile, lineNumber, content, keywords) {
393
+ return {
394
+ id: `codemap-fallback:${relativeFile}:${lineNumber}`,
395
+ source: 'codemap-fallback',
396
+ toolScore: 0.65,
397
+ type: 'code',
398
+ file: relativeFile,
399
+ line: lineNumber,
400
+ location: {
401
+ file: relativeFile,
402
+ line: lineNumber,
403
+ column: 1
404
+ },
405
+ content: content.substring(0, 200),
406
+ relevance: 0.65,
407
+ keywords,
408
+ metadata: {
409
+ stability: true,
410
+ riskLevel: 'low'
411
+ }
412
+ };
413
+ }
414
+ matchDiscoveredTargetFiles(discoveredFiles, targets) {
415
+ const normalizedTargets = new Set(targets.flatMap(target => {
416
+ const absoluteTarget = path.resolve(process.cwd(), target);
417
+ return [
418
+ this.toPosixPath(absoluteTarget),
419
+ this.toPosixPath(path.relative(process.cwd(), absoluteTarget)),
420
+ this.toPosixPath(target)
421
+ ];
422
+ }));
423
+ return discoveredFiles.filter(file => {
424
+ const absoluteFile = path.resolve(file);
425
+ const relativeFile = path.relative(process.cwd(), absoluteFile);
426
+ return normalizedTargets.has(this.toPosixPath(absoluteFile))
427
+ || normalizedTargets.has(this.toPosixPath(relativeFile));
428
+ });
429
+ }
430
+ isPathLikeTarget(target) {
431
+ return target.includes('/') || target.includes('\\') || /\.[cm]?[jt]sx?$/i.test(target);
432
+ }
433
+ uniqueNonEmptyStrings(values) {
434
+ return Array.from(new Set(values.map(value => value.trim()).filter(Boolean)));
435
+ }
436
+ toProjectRelativePath(file) {
437
+ return this.toPosixPath(path.relative(process.cwd(), path.resolve(file)));
438
+ }
439
+ toPosixPath(filePath) {
440
+ return filePath.replace(/\\/g, '/');
441
+ }
442
+ withDiagnostics(output, diagnostics) {
443
+ return {
444
+ ...output,
445
+ diagnostics
446
+ };
447
+ }
448
+ createSuccessDiagnostics() {
449
+ return {
450
+ status: 'success',
451
+ items: []
452
+ };
453
+ }
454
+ createPartialFailureDiagnostics(scanError, orchestratorError) {
455
+ return {
456
+ status: 'partialFailure',
457
+ items: [
458
+ this.createDiagnostic('find-scanner-degraded', 'warning', `find 主扫描退化,已使用配置感知文本 fallback: ${this.errorMessage(scanError)}`, 'ast-grep', true, { orchestratorError: this.errorMessage(orchestratorError) })
459
+ ],
460
+ degradedTools: ['ast-grep']
461
+ };
462
+ }
463
+ createFailureDiagnostics(scanError, fallbackError, orchestratorError) {
464
+ return {
465
+ status: 'failure',
466
+ items: [
467
+ this.createDiagnostic('find-scanner-failed', 'error', `find 主扫描失败: ${this.errorMessage(scanError)}`, 'ast-grep', false, { orchestratorError: this.errorMessage(orchestratorError) }),
468
+ this.createDiagnostic('find-fallback-failed', 'error', `配置感知文本 fallback 失败: ${this.errorMessage(fallbackError)}`, 'codemap-find-fallback', false)
469
+ ],
470
+ failedTools: ['ast-grep', 'codemap-find-fallback']
471
+ };
472
+ }
473
+ createDiagnostic(code, severity, message, source, recoverable, details) {
474
+ return {
475
+ code,
476
+ severity,
477
+ message,
478
+ source,
479
+ recoverable,
480
+ ...(details ? { details } : {})
481
+ };
482
+ }
483
+ errorMessage(error) {
484
+ return error instanceof Error ? error.message : String(error);
485
+ }
486
+ isMachineOutputMode() {
487
+ return this.args.json === true || this.args.structured === true || this.args.outputMode === 'machine';
488
+ }
256
489
  /**
257
490
  * 执行 read 聚合
258
491
  */
@@ -1 +1 @@
1
- {"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../../src/cli/commands/analyze.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../../src/cli/commands/analyze.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * [META] since:2026-04-15 | owner:cli-team | stable:false
3
+ * [WHY] Expose the contract enforcement surface as a top-level CLI command with canonical JSON truth
4
+ */
5
+ import { Command } from 'commander';
6
+ import type { ContractCheckResult } from '../../interface/types/index.js';
7
+ export type CheckAnnotationFormat = 'github' | 'gitlab';
8
+ export interface CheckCommandOptions {
9
+ contract: string;
10
+ against: string;
11
+ human?: boolean;
12
+ base?: string;
13
+ changedFiles?: string[];
14
+ annotationFormat?: CheckAnnotationFormat;
15
+ annotationFile?: string;
16
+ }
17
+ export declare function renderContractCheckResult(result: ContractCheckResult): string;
18
+ export declare function renderGitHubAnnotations(result: ContractCheckResult): string;
19
+ export declare function renderGitLabAnnotations(result: ContractCheckResult): string;
20
+ export declare function createCheckCommand(): Command;
21
+ export declare const checkCommand: Command;
22
+ //# sourceMappingURL=check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/check.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAI1E,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAExD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CA8C7E;AAqCD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAG3E;AAMD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAwB3E;AAqDD,wBAAgB,kBAAkB,IAAI,OAAO,CAW5C;AAED,eAAO,MAAM,YAAY,SAAuB,CAAC"}
@@ -0,0 +1,168 @@
1
+ /**
2
+ * [META] since:2026-04-15 | owner:cli-team | stable:false
3
+ * [WHY] Expose the contract enforcement surface as a top-level CLI command with canonical JSON truth
4
+ */
5
+ import { createHash } from 'node:crypto';
6
+ import { mkdirSync, writeFileSync } from 'node:fs';
7
+ import path from 'node:path';
8
+ import { Command } from 'commander';
9
+ import { hasBlockingContractViolations, runContractCheck } from '../contract-checker.js';
10
+ import { resolveContractDiffScope } from '../contract-diff-scope.js';
11
+ export function renderContractCheckResult(result) {
12
+ const lines = [
13
+ result.passed ? '✅ Contract check passed' : '❌ Contract check failed',
14
+ `Contract: ${result.contract_path}`,
15
+ `Against: ${result.against_path}`,
16
+ `Scan Mode: ${result.scan_mode}`,
17
+ `Scanned Files: ${result.summary.scanned_file_count}`,
18
+ `Violations: ${result.summary.total_violations} (error=${result.summary.error_count}, warn=${result.summary.warn_count})`,
19
+ ];
20
+ if (result.history) {
21
+ lines.push(`History Risk: status=${result.history.status}, confidence=${result.history.confidence}, freshness=${result.history.freshness}, enriched=${result.history.enriched_file_count}, unavailable=${result.history.unavailable_count}`);
22
+ }
23
+ if (result.changed_files.length > 0) {
24
+ lines.push(`Changed Files: ${result.changed_files.join(', ')}`);
25
+ }
26
+ lines.push('Warnings:');
27
+ if (result.warnings.length === 0) {
28
+ lines.push('- none');
29
+ }
30
+ else {
31
+ for (const warning of result.warnings) {
32
+ lines.push(`- [${warning.code}] ${warning.message}`);
33
+ }
34
+ }
35
+ lines.push('Violations:');
36
+ if (result.violations.length === 0) {
37
+ lines.push('- none');
38
+ }
39
+ else {
40
+ for (const violation of result.violations) {
41
+ lines.push(`- [${violation.severity}] ${violation.rule_type} ${violation.rule}: ${violation.message}`);
42
+ if (violation.risk) {
43
+ lines.push(` risk=${violation.risk.level} confidence=${violation.risk.confidence} freshness=${violation.risk.freshness} factors=${violation.risk.factors.join(', ') || 'none'}`);
44
+ }
45
+ }
46
+ }
47
+ return lines.join('\n');
48
+ }
49
+ function isCheckAnnotationFormat(value) {
50
+ return value === 'github' || value === 'gitlab';
51
+ }
52
+ function escapeGitHubAnnotationValue(value) {
53
+ return value
54
+ .replace(/%/gu, '%25')
55
+ .replace(/,/gu, '%2C')
56
+ .replace(/:/gu, '%3A')
57
+ .replace(/\r/gu, '%0D')
58
+ .replace(/\n/gu, '%0A');
59
+ }
60
+ function renderGitHubAnnotationLine(violation) {
61
+ const diagnostic = violation.diagnostic;
62
+ const file = diagnostic?.file ?? violation.location;
63
+ const properties = [
64
+ file ? `file=${escapeGitHubAnnotationValue(file)}` : undefined,
65
+ diagnostic?.line ? `line=${diagnostic.line}` : undefined,
66
+ diagnostic?.column ? `col=${diagnostic.column}` : undefined,
67
+ diagnostic?.endLine ? `endLine=${diagnostic.endLine}` : undefined,
68
+ diagnostic?.endColumn ? `endColumn=${diagnostic.endColumn}` : undefined,
69
+ `title=${escapeGitHubAnnotationValue(`${violation.rule_type}: ${violation.rule}`)}`,
70
+ ].filter((entry) => Boolean(entry));
71
+ const level = violation.severity === 'error' ? 'error' : 'warning';
72
+ const degradation = diagnostic?.degraded
73
+ ? ` [diagnostic:${diagnostic.scope}]`
74
+ : '';
75
+ const history = violation.risk
76
+ ? ` [risk:${violation.risk.level}]`
77
+ : '';
78
+ return `::${level} ${properties.join(',')}::${escapeGitHubAnnotationValue(`${violation.message}${degradation}${history}`)}`;
79
+ }
80
+ export function renderGitHubAnnotations(result) {
81
+ const lines = result.violations.map((violation) => renderGitHubAnnotationLine(violation));
82
+ return lines.join('\n');
83
+ }
84
+ function mapGitLabSeverity(severity) {
85
+ return severity === 'error' ? 'major' : 'minor';
86
+ }
87
+ export function renderGitLabAnnotations(result) {
88
+ const issues = result.violations.flatMap((violation) => {
89
+ const diagnostic = violation.diagnostic;
90
+ if (!diagnostic?.file || diagnostic.scope !== 'line' || !diagnostic.line) {
91
+ return [];
92
+ }
93
+ return [{
94
+ description: violation.message,
95
+ check_name: `${violation.rule_type}:${violation.rule}`,
96
+ fingerprint: createHash('sha256')
97
+ .update(`${violation.rule}|${diagnostic.file}|${diagnostic.line}|${violation.message}`)
98
+ .digest('hex'),
99
+ severity: mapGitLabSeverity(violation.severity),
100
+ location: {
101
+ path: diagnostic.file,
102
+ lines: {
103
+ begin: diagnostic.line,
104
+ },
105
+ },
106
+ }];
107
+ });
108
+ return JSON.stringify(issues, null, 2);
109
+ }
110
+ function writeAnnotationOutput(output, outputFile) {
111
+ mkdirSync(path.dirname(outputFile), { recursive: true });
112
+ writeFileSync(outputFile, output);
113
+ }
114
+ function renderAnnotationOutput(result, format) {
115
+ return format === 'github'
116
+ ? renderGitHubAnnotations(result)
117
+ : renderGitLabAnnotations(result);
118
+ }
119
+ async function handleCheckCommand(options) {
120
+ const diffScope = await resolveContractDiffScope({
121
+ againstPath: options.against,
122
+ base: options.base,
123
+ changedFiles: options.changedFiles,
124
+ });
125
+ const result = await runContractCheck({
126
+ contractPath: options.contract,
127
+ againstPath: options.against,
128
+ scanMode: diffScope.scanMode,
129
+ changedFiles: diffScope.changedFiles,
130
+ warnings: diffScope.warnings,
131
+ });
132
+ if (options.annotationFormat) {
133
+ if (!isCheckAnnotationFormat(options.annotationFormat)) {
134
+ throw new Error(`不支持的 annotation format: ${options.annotationFormat}`);
135
+ }
136
+ const output = renderAnnotationOutput(result, options.annotationFormat);
137
+ if (options.annotationFile) {
138
+ writeAnnotationOutput(output, options.annotationFile);
139
+ console.log(`Annotation output written to ${options.annotationFile}`);
140
+ }
141
+ else {
142
+ console.log(output);
143
+ }
144
+ }
145
+ else if (options.human) {
146
+ console.log(renderContractCheckResult(result));
147
+ }
148
+ else {
149
+ console.log(JSON.stringify(result, null, 2));
150
+ }
151
+ if (hasBlockingContractViolations(result)) {
152
+ process.exitCode = 1;
153
+ }
154
+ }
155
+ export function createCheckCommand() {
156
+ return new Command('check')
157
+ .description('执行 design contract 规则校验')
158
+ .requiredOption('--contract <file>', 'Design contract 文件路径')
159
+ .requiredOption('--against <path>', '要扫描的代码目录或项目根')
160
+ .option('--human', '使用人类可读输出(默认 JSON)')
161
+ .option('--base <git-ref>', '显式指定 diff base')
162
+ .option('--changed-files <paths...>', '显式指定 changed files')
163
+ .option('--annotation-format <format>', 'annotation render mode (github|gitlab)')
164
+ .option('--annotation-file <file>', '将 annotation 输出写入文件')
165
+ .action(handleCheckCommand);
166
+ }
167
+ export const checkCommand = createCheckCommand();
168
+ //# sourceMappingURL=check.js.map