@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
@@ -0,0 +1,274 @@
1
+ /**
2
+ * [META] since:2026-03-25 | owner:cli-team | stable:false
3
+ * [WHY] Provide a dedicated CLI surface for validating human-authored design contracts
4
+ */
5
+ import { mkdir, writeFile } from 'node:fs/promises';
6
+ import { Command } from 'commander';
7
+ import { hasBlockingDesignContractDiagnostics, loadDesignContract, } from '../design-contract-loader.js';
8
+ import { buildDesignHandoff, renderDesignHandoffMarkdown, } from '../design-handoff-builder.js';
9
+ import { DEFAULT_DESIGN_CONTRACT_PATH } from '../design-contract-schema.js';
10
+ import { resolveDesignScope } from '../design-scope-resolver.js';
11
+ import { buildDesignVerification } from '../design-verification-builder.js';
12
+ function toJsonOutput(result) {
13
+ return {
14
+ ok: result.ok,
15
+ exists: result.exists,
16
+ filePath: result.filePath,
17
+ title: result.contract.metadata.title,
18
+ missingRequiredSections: [...result.contract.missingRequiredSections],
19
+ diagnostics: result.diagnostics,
20
+ rules: result.contract.rules.map((rule) => ({
21
+ name: rule.name,
22
+ type: rule.type,
23
+ severity: rule.severity,
24
+ })),
25
+ sections: result.contract.orderedSections.map((section) => ({
26
+ id: section.id,
27
+ title: section.title,
28
+ line: section.line,
29
+ itemCount: section.content.length,
30
+ })),
31
+ };
32
+ }
33
+ export function renderDesignValidationResult(result) {
34
+ const lines = [
35
+ result.ok ? '✅ Design contract valid' : '❌ Design contract invalid',
36
+ `File: ${result.filePath}`,
37
+ ];
38
+ if (result.contract.metadata.title) {
39
+ lines.push(`Title: ${result.contract.metadata.title}`);
40
+ }
41
+ lines.push(`Sections: ${result.contract.orderedSections.length}`);
42
+ lines.push(`Rules: ${result.contract.rules.length}`);
43
+ if (result.diagnostics.length === 0) {
44
+ lines.push('Diagnostics: none');
45
+ return lines.join('\n');
46
+ }
47
+ lines.push('Diagnostics:');
48
+ for (const diagnostic of result.diagnostics) {
49
+ const location = diagnostic.line ? ` (line ${diagnostic.line})` : '';
50
+ const heading = diagnostic.heading ? ` [${diagnostic.heading}]` : '';
51
+ lines.push(`- [${diagnostic.severity}] ${diagnostic.code}${location}${heading}: ${diagnostic.message}`);
52
+ }
53
+ return lines.join('\n');
54
+ }
55
+ function renderCandidate(candidate) {
56
+ const lines = [`- [${candidate.kind}] ${candidate.path}`];
57
+ if (candidate.moduleName) {
58
+ lines.push(` Module: ${candidate.moduleName}`);
59
+ }
60
+ if (candidate.symbolName) {
61
+ lines.push(` Symbol: ${candidate.symbolName}`);
62
+ }
63
+ lines.push(' Reasons:');
64
+ for (const reason of candidate.reasons) {
65
+ lines.push(` - [${reason.section}] ${reason.matchedText} (${reason.evidenceType})`);
66
+ }
67
+ lines.push(` Risk: ${candidate.risk}`);
68
+ lines.push(` Confidence: ${candidate.confidence.level} (${candidate.confidence.score})`);
69
+ lines.push(` Dependencies: ${candidate.dependencies.length > 0 ? candidate.dependencies.join(', ') : 'none'}`);
70
+ lines.push(` Test Impact: ${candidate.testImpact.length > 0 ? candidate.testImpact.join(', ') : 'none'}`);
71
+ return lines;
72
+ }
73
+ export function renderDesignMappingResult(result) {
74
+ const lines = [
75
+ result.ok ? '✅ Design mapping ready' : '❌ Design mapping blocked',
76
+ `File: ${result.filePath}`,
77
+ `Summary: ${result.summary.candidateCount} candidates, ${result.summary.unknownCount} unknowns`,
78
+ 'Candidates:',
79
+ ];
80
+ if (result.candidates.length === 0) {
81
+ lines.push('- none');
82
+ }
83
+ else {
84
+ for (const candidate of result.candidates) {
85
+ lines.push(...renderCandidate(candidate));
86
+ }
87
+ }
88
+ lines.push('Unknowns:');
89
+ const unknownLines = result.candidates.flatMap((candidate) => candidate.unknowns.map((unknown) => `- ${candidate.path}: ${unknown}`));
90
+ lines.push(...(unknownLines.length > 0 ? unknownLines : ['- none']));
91
+ lines.push('Diagnostics:');
92
+ if (result.diagnostics.length === 0) {
93
+ lines.push('- none');
94
+ }
95
+ else {
96
+ for (const diagnostic of result.diagnostics) {
97
+ const candidateInfo = diagnostic.candidatePaths?.length
98
+ ? ` [${diagnostic.candidatePaths.join(', ')}]`
99
+ : '';
100
+ lines.push(`- [${diagnostic.severity}] ${diagnostic.code}${candidateInfo}: ${diagnostic.message}`);
101
+ }
102
+ }
103
+ return lines.join('\n');
104
+ }
105
+ export function renderDesignHandoffResult(result) {
106
+ const statusLine = result.ok
107
+ ? result.readyForExecution
108
+ ? '✅ Design handoff ready for execution'
109
+ : '🟡 Design handoff needs human review'
110
+ : '❌ Design handoff blocked';
111
+ const lines = [
112
+ statusLine,
113
+ `File: ${result.filePath}`,
114
+ `Candidates: ${result.summary.candidateCount}`,
115
+ `Approvals: ${result.summary.approvalCount}`,
116
+ `Assumptions: ${result.summary.assumptionCount}`,
117
+ `Open Questions: ${result.summary.openQuestionCount}`,
118
+ ];
119
+ if (result.ok) {
120
+ lines.push(`Artifacts: ${result.artifacts.markdownPath}, ${result.artifacts.jsonPath}`);
121
+ }
122
+ if (result.diagnostics.length > 0) {
123
+ lines.push('Diagnostics:');
124
+ for (const diagnostic of result.diagnostics) {
125
+ lines.push(`- [${diagnostic.severity}] ${diagnostic.code}: ${diagnostic.message}`);
126
+ }
127
+ }
128
+ return lines.join('\n');
129
+ }
130
+ export function renderDesignVerificationResult(result) {
131
+ const statusLine = result.ok
132
+ ? result.readyForExecution
133
+ ? '✅ Design verification ready for execution'
134
+ : '🟡 Design verification needs review'
135
+ : '❌ Design verification blocked';
136
+ const lines = [
137
+ statusLine,
138
+ `File: ${result.filePath}`,
139
+ `Checklist: ${result.summary.satisfiedCount}/${result.summary.checklistCount} satisfied`,
140
+ `Drift: ${result.summary.driftCount}`,
141
+ `Diagnostics: ${result.summary.diagnosticCount}`,
142
+ ];
143
+ lines.push('Checklist Items:');
144
+ if (result.checklist.length === 0) {
145
+ lines.push('- none');
146
+ }
147
+ else {
148
+ for (const item of result.checklist) {
149
+ lines.push(`- [${item.status}] ${item.text}`);
150
+ }
151
+ }
152
+ lines.push('Drift Items:');
153
+ if (result.drift.length === 0) {
154
+ lines.push('- none');
155
+ }
156
+ else {
157
+ for (const item of result.drift) {
158
+ lines.push(`- [${item.severity}] ${item.kind}: ${item.message}`);
159
+ }
160
+ }
161
+ if (!result.ok) {
162
+ lines.push('Next Step: fix blocker diagnostics in design or handoff truth before running verify again.');
163
+ }
164
+ else if (!result.readyForExecution) {
165
+ lines.push('Next Step: resolve review-needed checklist/drift items or persist a reviewed handoff artifact before execution.');
166
+ }
167
+ else {
168
+ lines.push('Next Step: proceed with execution against the reviewed handoff boundary.');
169
+ }
170
+ return lines.join('\n');
171
+ }
172
+ export async function runDesignValidate(filePath, options = {}) {
173
+ const result = await loadDesignContract({ filePath });
174
+ if (options.json) {
175
+ return toJsonOutput(result);
176
+ }
177
+ return result;
178
+ }
179
+ export async function runDesignMap(filePath, _options = {}) {
180
+ return resolveDesignScope({ filePath });
181
+ }
182
+ export async function runDesignHandoff(filePath, options = {}) {
183
+ return buildDesignHandoff({
184
+ filePath,
185
+ outputDir: options.output,
186
+ });
187
+ }
188
+ export async function runDesignVerify(filePath, _options = {}) {
189
+ return buildDesignVerification({ filePath });
190
+ }
191
+ async function handleDesignValidate(filePath, options) {
192
+ const result = await loadDesignContract({ filePath });
193
+ if (options.json) {
194
+ console.log(JSON.stringify(toJsonOutput(result), null, 2));
195
+ }
196
+ else {
197
+ console.log(renderDesignValidationResult(result));
198
+ }
199
+ if (hasBlockingDesignContractDiagnostics(result.diagnostics)) {
200
+ process.exitCode = 1;
201
+ }
202
+ }
203
+ async function handleDesignMap(filePath, options) {
204
+ const result = await resolveDesignScope({ filePath });
205
+ if (options.json) {
206
+ console.log(JSON.stringify(result, null, 2));
207
+ }
208
+ else {
209
+ console.log(renderDesignMappingResult(result));
210
+ }
211
+ if (result.diagnostics.some((diagnostic) => diagnostic.blocker)) {
212
+ process.exitCode = 1;
213
+ }
214
+ }
215
+ async function writeDesignHandoffArtifacts(result) {
216
+ await mkdir(result.artifacts.outputDir, { recursive: true });
217
+ await writeFile(result.artifacts.markdownPath, `${renderDesignHandoffMarkdown(result)}\n`, 'utf8');
218
+ await writeFile(result.artifacts.jsonPath, `${JSON.stringify(result, null, 2)}\n`, 'utf8');
219
+ }
220
+ async function handleDesignHandoff(filePath, options) {
221
+ const result = await runDesignHandoff(filePath, options);
222
+ if (options.json) {
223
+ console.log(JSON.stringify(result, null, 2));
224
+ }
225
+ else {
226
+ if (result.ok) {
227
+ await writeDesignHandoffArtifacts(result);
228
+ }
229
+ console.log(renderDesignHandoffResult(result));
230
+ }
231
+ if (!result.ok || result.diagnostics.some((diagnostic) => diagnostic.blocker)) {
232
+ process.exitCode = 1;
233
+ }
234
+ }
235
+ async function handleDesignVerify(filePath, options) {
236
+ const result = await runDesignVerify(filePath, options);
237
+ if (options.json) {
238
+ console.log(JSON.stringify(result, null, 2));
239
+ }
240
+ else {
241
+ console.log(renderDesignVerificationResult(result));
242
+ }
243
+ if (!result.ok || result.diagnostics.some((diagnostic) => diagnostic.blocker)) {
244
+ process.exitCode = 1;
245
+ }
246
+ }
247
+ export const designCommand = new Command('design');
248
+ designCommand.description('Design contract utilities');
249
+ designCommand
250
+ .command('validate')
251
+ .description(`Validate a design contract file (default: ${DEFAULT_DESIGN_CONTRACT_PATH})`)
252
+ .argument('[file]', 'Design contract path')
253
+ .option('-j, --json', 'JSON 格式输出')
254
+ .action(handleDesignValidate);
255
+ designCommand
256
+ .command('map')
257
+ .description(`Resolve design contract into candidate code scope (default: ${DEFAULT_DESIGN_CONTRACT_PATH})`)
258
+ .argument('[file]', 'Design contract path')
259
+ .option('-j, --json', 'JSON 格式输出')
260
+ .action(handleDesignMap);
261
+ designCommand
262
+ .command('handoff')
263
+ .description(`Generate a design handoff package (default: ${DEFAULT_DESIGN_CONTRACT_PATH})`)
264
+ .argument('[file]', 'Design contract path')
265
+ .option('-j, --json', 'JSON 格式输出')
266
+ .option('-o, --output <dir>', '指定 handoff output 目录')
267
+ .action(handleDesignHandoff);
268
+ designCommand
269
+ .command('verify')
270
+ .description(`Verify design contract against reviewed handoff truth (default: ${DEFAULT_DESIGN_CONTRACT_PATH})`)
271
+ .argument('[file]', 'Design contract path')
272
+ .option('-j, --json', 'JSON 格式输出')
273
+ .action(handleDesignVerify);
274
+ //# sourceMappingURL=design.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"design.js","sourceRoot":"","sources":["../../../src/cli/commands/design.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ export interface GenerateCommandOptions {
8
8
  watch?: boolean;
9
9
  ai?: boolean;
10
10
  'ai-context'?: boolean;
11
+ symbolLevel?: boolean;
11
12
  __optionSources?: GenerateCommandOptionSources;
12
13
  }
13
14
  export declare function generateCommand(options: GenerateCommandOptions): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,4BAA4B;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,4BAA4B,CAAC;CAChD;AA4ED,wBAAsB,eAAe,CAAC,OAAO,EAAE,sBAAsB,iBA6IpE"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,4BAA4B;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,4BAA4B,CAAC;CAChD;AA8LD,wBAAsB,eAAe,CAAC,OAAO,EAAE,sBAAsB,iBAuJpE"}
@@ -72,6 +72,77 @@ async function writePluginGeneratedFiles(files, outputDir) {
72
72
  }
73
73
  return { writtenFiles, diagnostics };
74
74
  }
75
+ function createGeneratedId(prefix) {
76
+ return `${prefix}_${randomUUID().replace(/-/g, '').slice(0, 16)}`;
77
+ }
78
+ function normalizeFileKey(rootDir, filePath) {
79
+ const absolutePath = path.isAbsolute(filePath)
80
+ ? filePath
81
+ : path.resolve(rootDir, filePath);
82
+ return path.relative(rootDir, absolutePath).replace(/\\/g, '/');
83
+ }
84
+ function normalizeSymbolLocation(modulePath, location) {
85
+ const shouldUseModulePath = !location.file
86
+ || location.file === path.basename(modulePath)
87
+ || !location.file.includes('/');
88
+ return {
89
+ ...location,
90
+ file: shouldUseModulePath ? modulePath : location.file,
91
+ };
92
+ }
93
+ function formatSymbolSignature(symbol) {
94
+ if (!symbol.signature) {
95
+ return undefined;
96
+ }
97
+ const parameters = symbol.signature.parameters
98
+ .map((parameter) => `${parameter.name}${parameter.optional ? '?' : ''}: ${parameter.type}`)
99
+ .join(', ');
100
+ const genericParams = symbol.signature.genericParams?.length
101
+ ? `<${symbol.signature.genericParams.join(', ')}>`
102
+ : '';
103
+ const asyncPrefix = symbol.signature.async ? 'async ' : '';
104
+ return `${asyncPrefix}${symbol.name}${genericParams}(${parameters}) => ${symbol.signature.returnType}`;
105
+ }
106
+ function getRegistryKey(fileKey, name) {
107
+ return `${fileKey}::${name}`;
108
+ }
109
+ function registerSymbolEntry(registryByFileAndName, registryByName, registryByFileAndLine, entry) {
110
+ const fileAndNameKey = getRegistryKey(entry.fileKey, entry.name);
111
+ const fileAndLineKey = `${entry.fileKey}:${entry.line}`;
112
+ registryByFileAndName.set(fileAndNameKey, [
113
+ ...(registryByFileAndName.get(fileAndNameKey) ?? []),
114
+ entry,
115
+ ]);
116
+ registryByName.set(entry.name, [
117
+ ...(registryByName.get(entry.name) ?? []),
118
+ entry,
119
+ ]);
120
+ registryByFileAndLine.set(fileAndLineKey, [
121
+ ...(registryByFileAndLine.get(fileAndLineKey) ?? []),
122
+ entry,
123
+ ]);
124
+ }
125
+ function resolveCallTarget(moduleInfo, call, rootDir, registryByFileAndName, registryByName, registryByFileAndLine) {
126
+ const currentFileKey = normalizeFileKey(rootDir, moduleInfo.path);
127
+ const localCandidates = registryByFileAndName.get(getRegistryKey(currentFileKey, call.callee)) ?? [];
128
+ if (localCandidates.length === 1) {
129
+ return localCandidates[0];
130
+ }
131
+ const crossFileMatches = moduleInfo.callGraph?.crossFileCalls?.filter((candidate) => candidate.resolved && candidate.callee === call.callee) ?? [];
132
+ const crossFileCandidates = crossFileMatches.flatMap((candidate) => {
133
+ const fileKey = normalizeFileKey(rootDir, candidate.calleeLocation.file);
134
+ const byLine = registryByFileAndLine.get(`${fileKey}:${candidate.calleeLocation.line}`) ?? [];
135
+ if (byLine.length > 0) {
136
+ return byLine;
137
+ }
138
+ return registryByFileAndName.get(getRegistryKey(fileKey, call.callee)) ?? [];
139
+ });
140
+ if (crossFileCandidates.length === 1) {
141
+ return crossFileCandidates[0];
142
+ }
143
+ const globalCandidates = registryByName.get(call.callee) ?? [];
144
+ return globalCandidates.length === 1 ? globalCandidates[0] : null;
145
+ }
75
146
  export async function generateCommand(options) {
76
147
  const spinner = ora('扫描项目文件...').start();
77
148
  try {
@@ -157,7 +228,7 @@ export async function generateCommand(options) {
157
228
  await generateContext(codeMap, outputDir);
158
229
  // 保存到 MVP3 storage
159
230
  spinner.text = '保存到代码图存储...';
160
- const storageSaveResult = await saveToCodeGraphStorage(codeMap, loadedConfig.config.storage);
231
+ const storageSaveResult = await saveToCodeGraphStorage(codeMap, loadedConfig.config.storage, options.symbolLevel === true);
161
232
  spinner.succeed(chalk.green('✅ 代码地图生成完成!'));
162
233
  // 显示摘要
163
234
  console.log(chalk.gray('\n📊 项目统计:'));
@@ -165,6 +236,10 @@ export async function generateCommand(options) {
165
236
  console.log(chalk.gray(` 代码行数: ${codeMap.summary.totalLines}`));
166
237
  console.log(chalk.gray(` 模块数量: ${codeMap.summary.totalModules}`));
167
238
  console.log(chalk.gray(` 导出符号: ${codeMap.summary.totalExports}`));
239
+ console.log(chalk.gray(` 图状态: ${codeMap.graphStatus ?? 'complete'}`
240
+ + (codeMap.failedFileCount && codeMap.failedFileCount > 0
241
+ ? ` (${codeMap.failedFileCount} 个文件失败)`
242
+ : '')));
168
243
  // 显示实际使用的模式(Hybrid 模式下)
169
244
  if (codeMap.actualMode) {
170
245
  console.log(chalk.gray(` 解析模式: ${codeMap.actualMode} (自动选择)`));
@@ -197,10 +272,10 @@ export async function generateCommand(options) {
197
272
  /**
198
273
  * 将旧版 CodeMap 转换为 MVP3 CodeGraph 并保存到 storage
199
274
  */
200
- async function saveToCodeGraphStorage(codeMap, storageConfig) {
275
+ async function saveToCodeGraphStorage(codeMap, storageConfig, symbolLevel) {
201
276
  const storage = await storageFactory.createForProject(process.cwd(), storageConfig);
202
277
  try {
203
- const codeGraph = convertToCodeGraph(codeMap);
278
+ const codeGraph = convertToCodeGraph(codeMap, { symbolLevel });
204
279
  const repository = new CodeGraphRepositoryImpl(storage);
205
280
  await repository.save(codeGraph);
206
281
  return {
@@ -214,14 +289,20 @@ async function saveToCodeGraphStorage(codeMap, storageConfig) {
214
289
  /**
215
290
  * 转换旧版 ModuleInfo 为 MVP3 CodeGraph
216
291
  */
217
- function convertToCodeGraph(codeMap) {
292
+ function convertToCodeGraph(codeMap, options) {
218
293
  // 创建项目
219
- const project = new Project(`proj_${randomUUID().replace(/-/g, '').slice(0, 16)}`, codeMap.project.name, codeMap.project.rootDir);
294
+ const project = new Project(createGeneratedId('proj'), codeMap.project.name, codeMap.project.rootDir);
220
295
  const codeGraph = new CodeGraph(project);
296
+ codeGraph.graphStatus = codeMap.graphStatus ?? 'complete';
297
+ codeGraph.failedFileCount = codeMap.failedFileCount ?? 0;
298
+ codeGraph.parseFailureFiles = [...(codeMap.parseFailureFiles ?? [])];
221
299
  const moduleIdMap = new Map(); // path -> id
300
+ const symbolRegistryByFileAndName = new Map();
301
+ const symbolRegistryByName = new Map();
302
+ const symbolRegistryByFileAndLine = new Map();
222
303
  // 第一遍:创建模块
223
304
  for (const mod of codeMap.modules) {
224
- const moduleId = `mod_${randomUUID().replace(/-/g, '').slice(0, 16)}`;
305
+ const moduleId = createGeneratedId('mod');
225
306
  moduleIdMap.set(mod.path, moduleId);
226
307
  const module = new Module(moduleId, project.id, mod.path, detectLanguage(mod.path), {
227
308
  lines: mod.stats.lines,
@@ -237,8 +318,16 @@ function convertToCodeGraph(codeMap) {
237
318
  if (!moduleId)
238
319
  continue;
239
320
  for (const symbol of mod.symbols) {
240
- const symbolEntity = new SymbolEntity(`sym_${randomUUID().replace(/-/g, '').slice(0, 16)}`, moduleId, symbol.name, symbol.kind, symbol.location, symbol.visibility);
321
+ const normalizedLocation = normalizeSymbolLocation(mod.path, symbol.location);
322
+ const symbolEntity = new SymbolEntity(createGeneratedId('sym'), moduleId, symbol.name, symbol.kind, normalizedLocation, symbol.visibility, formatSymbolSignature(symbol));
241
323
  codeGraph.addSymbol(symbolEntity);
324
+ const registryEntry = {
325
+ id: symbolEntity.id,
326
+ name: symbolEntity.name,
327
+ fileKey: normalizeFileKey(codeMap.project.rootDir, normalizedLocation.file),
328
+ line: normalizedLocation.line,
329
+ };
330
+ registerSymbolEntry(symbolRegistryByFileAndName, symbolRegistryByName, symbolRegistryByFileAndLine, registryEntry);
242
331
  }
243
332
  }
244
333
  // 第三遍:创建依赖关系
@@ -250,7 +339,7 @@ function convertToCodeGraph(codeMap) {
250
339
  const targetId = moduleIdMap.get(depPath);
251
340
  if (!targetId)
252
341
  continue; // 外部依赖,跳过
253
- const dependency = new Dependency(`dep_${randomUUID().replace(/-/g, '').slice(0, 16)}`, sourceId, targetId, 'import');
342
+ const dependency = new Dependency(createGeneratedId('dep'), sourceId, targetId, 'import');
254
343
  try {
255
344
  codeGraph.addDependency(dependency);
256
345
  }
@@ -259,6 +348,30 @@ function convertToCodeGraph(codeMap) {
259
348
  }
260
349
  }
261
350
  }
351
+ if (options.symbolLevel) {
352
+ for (const mod of codeMap.modules) {
353
+ const currentFileKey = normalizeFileKey(codeMap.project.rootDir, mod.path);
354
+ for (const symbol of mod.symbols) {
355
+ const sourceCandidates = symbolRegistryByFileAndName.get(getRegistryKey(currentFileKey, symbol.name)) ?? [];
356
+ if (sourceCandidates.length !== 1 || !symbol.signature?.calls) {
357
+ continue;
358
+ }
359
+ const sourceEntry = sourceCandidates[0];
360
+ for (const call of symbol.signature.calls) {
361
+ const targetEntry = resolveCallTarget(mod, call, codeMap.project.rootDir, symbolRegistryByFileAndName, symbolRegistryByName, symbolRegistryByFileAndLine);
362
+ if (!targetEntry || targetEntry.id === sourceEntry.id) {
363
+ continue;
364
+ }
365
+ try {
366
+ codeGraph.addDependency(new Dependency(createGeneratedId('dep'), sourceEntry.id, targetEntry.id, 'call', 'symbol', 'symbol', 'high', mod.path, call.line));
367
+ }
368
+ catch {
369
+ // 跳过重复或无法验证的调用边
370
+ }
371
+ }
372
+ }
373
+ }
374
+ }
262
375
  return codeGraph;
263
376
  }
264
377
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * [META] since:2026-04-15 | owner:cli-team | stable:false
3
+ * [WHY] Expose symbol-first git history as a public machine-first CLI command backed by the canonical history risk service
4
+ */
5
+ import { Command } from 'commander';
6
+ import type { SymbolHistoryResult } from '../../interface/types/history-risk.js';
7
+ export interface HistoryCommandOptions {
8
+ symbol: string;
9
+ human?: boolean;
10
+ }
11
+ export interface HistoryCommandResult {
12
+ query: string;
13
+ status: SymbolHistoryResult['diagnostics']['status'];
14
+ symbol: SymbolHistoryResult['symbol'];
15
+ candidates: SymbolHistoryResult['candidates'];
16
+ files: string[];
17
+ timeline: SymbolHistoryResult['timeline'];
18
+ risk: SymbolHistoryResult['risk'];
19
+ warnings: string[];
20
+ diagnostics: SymbolHistoryResult['diagnostics'];
21
+ }
22
+ export declare function renderHistoryResult(result: HistoryCommandResult): string;
23
+ export declare function executeHistoryCommand(options: HistoryCommandOptions): Promise<HistoryCommandResult>;
24
+ export declare function createHistoryCommand(): Command;
25
+ export declare const historyCommand: Command;
26
+ //# sourceMappingURL=history.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/history.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAIjF,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACtC,UAAU,EAAE,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAC9C,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC1C,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAClC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAC;CACjD;AAgBD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CA6CxE;AAED,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,oBAAoB,CAAC,CAa/B;AAYD,wBAAgB,oBAAoB,IAAI,OAAO,CAM9C;AAED,eAAO,MAAM,cAAc,SAAyB,CAAC"}