@mycodemap/mycodemap 0.1.1 → 0.2.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.
- package/CHANGELOG.md +78 -0
- package/README.md +241 -67
- package/dist/cli/commands/ci.d.ts +7 -1
- package/dist/cli/commands/ci.d.ts.map +1 -1
- package/dist/cli/commands/ci.js +38 -0
- package/dist/cli/commands/ci.js.map +1 -1
- package/dist/cli/commands/export.d.ts +6 -0
- package/dist/cli/commands/export.d.ts.map +1 -0
- package/dist/cli/commands/export.js +108 -0
- package/dist/cli/commands/export.js.map +1 -0
- package/dist/cli/commands/generate.d.ts.map +1 -1
- package/dist/cli/commands/generate.js +96 -0
- package/dist/cli/commands/generate.js.map +1 -1
- package/dist/cli/commands/server.d.ts +9 -0
- package/dist/cli/commands/server.d.ts.map +1 -0
- package/dist/cli/commands/server.js +68 -0
- package/dist/cli/commands/server.js.map +1 -0
- package/dist/cli/index.js +22 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli-new/commands/export.d.ts +15 -0
- package/dist/cli-new/commands/export.d.ts.map +1 -0
- package/dist/cli-new/commands/export.js +107 -0
- package/dist/cli-new/commands/export.js.map +1 -0
- package/dist/cli-new/commands/query.d.ts +14 -0
- package/dist/cli-new/commands/query.d.ts.map +1 -0
- package/dist/cli-new/commands/query.js +120 -0
- package/dist/cli-new/commands/query.js.map +1 -0
- package/dist/cli-new/commands/server.d.ts +13 -0
- package/dist/cli-new/commands/server.d.ts.map +1 -0
- package/dist/cli-new/commands/server.js +94 -0
- package/dist/cli-new/commands/server.js.map +1 -0
- package/dist/cli-new/index.d.ts +11 -0
- package/dist/cli-new/index.d.ts.map +1 -0
- package/dist/cli-new/index.js +63 -0
- package/dist/cli-new/index.js.map +1 -0
- package/dist/cli-new/types/index.d.ts +88 -0
- package/dist/cli-new/types/index.d.ts.map +1 -0
- package/dist/cli-new/types/index.js +7 -0
- package/dist/cli-new/types/index.js.map +1 -0
- package/dist/domain/entities/CodeGraph.d.ts +134 -0
- package/dist/domain/entities/CodeGraph.d.ts.map +1 -0
- package/dist/domain/entities/CodeGraph.js +316 -0
- package/dist/domain/entities/CodeGraph.js.map +1 -0
- package/dist/domain/entities/Dependency.d.ts +78 -0
- package/dist/domain/entities/Dependency.d.ts.map +1 -0
- package/dist/domain/entities/Dependency.js +132 -0
- package/dist/domain/entities/Dependency.js.map +1 -0
- package/dist/domain/entities/Module.d.ts +75 -0
- package/dist/domain/entities/Module.d.ts.map +1 -0
- package/dist/domain/entities/Module.js +151 -0
- package/dist/domain/entities/Module.js.map +1 -0
- package/dist/domain/entities/Project.d.ts +50 -0
- package/dist/domain/entities/Project.d.ts.map +1 -0
- package/dist/domain/entities/Project.js +99 -0
- package/dist/domain/entities/Project.js.map +1 -0
- package/dist/domain/entities/Symbol.d.ts +75 -0
- package/dist/domain/entities/Symbol.d.ts.map +1 -0
- package/dist/domain/entities/Symbol.js +130 -0
- package/dist/domain/entities/Symbol.js.map +1 -0
- package/dist/domain/events/DomainEvent.d.ts +76 -0
- package/dist/domain/events/DomainEvent.d.ts.map +1 -0
- package/dist/domain/events/DomainEvent.js +153 -0
- package/dist/domain/events/DomainEvent.js.map +1 -0
- package/dist/domain/index.d.ts +10 -0
- package/dist/domain/index.d.ts.map +1 -0
- package/dist/domain/index.js +18 -0
- package/dist/domain/index.js.map +1 -0
- package/dist/domain/repositories/CodeGraphRepository.d.ts +58 -0
- package/dist/domain/repositories/CodeGraphRepository.d.ts.map +1 -0
- package/dist/domain/repositories/CodeGraphRepository.js +37 -0
- package/dist/domain/repositories/CodeGraphRepository.js.map +1 -0
- package/dist/domain/services/CodeGraphBuilder.d.ts +50 -0
- package/dist/domain/services/CodeGraphBuilder.d.ts.map +1 -0
- package/dist/domain/services/CodeGraphBuilder.js +121 -0
- package/dist/domain/services/CodeGraphBuilder.js.map +1 -0
- package/dist/infrastructure/parser/implementations/GoParser.d.ts +25 -0
- package/dist/infrastructure/parser/implementations/GoParser.d.ts.map +1 -0
- package/dist/infrastructure/parser/implementations/GoParser.js +158 -0
- package/dist/infrastructure/parser/implementations/GoParser.js.map +1 -0
- package/dist/infrastructure/parser/implementations/PythonParser.d.ts +30 -0
- package/dist/infrastructure/parser/implementations/PythonParser.d.ts.map +1 -0
- package/dist/infrastructure/parser/implementations/PythonParser.js +201 -0
- package/dist/infrastructure/parser/implementations/PythonParser.js.map +1 -0
- package/dist/infrastructure/parser/implementations/TypeScriptParser.d.ts +63 -0
- package/dist/infrastructure/parser/implementations/TypeScriptParser.d.ts.map +1 -0
- package/dist/infrastructure/parser/implementations/TypeScriptParser.js +420 -0
- package/dist/infrastructure/parser/implementations/TypeScriptParser.js.map +1 -0
- package/dist/infrastructure/parser/index.d.ts +13 -0
- package/dist/infrastructure/parser/index.d.ts.map +1 -0
- package/dist/infrastructure/parser/index.js +32 -0
- package/dist/infrastructure/parser/index.js.map +1 -0
- package/dist/infrastructure/parser/interfaces/ParserBase.d.ts +124 -0
- package/dist/infrastructure/parser/interfaces/ParserBase.d.ts.map +1 -0
- package/dist/infrastructure/parser/interfaces/ParserBase.js +200 -0
- package/dist/infrastructure/parser/interfaces/ParserBase.js.map +1 -0
- package/dist/infrastructure/parser/registry/ParserRegistry.d.ts +68 -0
- package/dist/infrastructure/parser/registry/ParserRegistry.d.ts.map +1 -0
- package/dist/infrastructure/parser/registry/ParserRegistry.js +116 -0
- package/dist/infrastructure/parser/registry/ParserRegistry.js.map +1 -0
- package/dist/infrastructure/repositories/CodeGraphRepositoryImpl.d.ts +44 -0
- package/dist/infrastructure/repositories/CodeGraphRepositoryImpl.d.ts.map +1 -0
- package/dist/infrastructure/repositories/CodeGraphRepositoryImpl.js +129 -0
- package/dist/infrastructure/repositories/CodeGraphRepositoryImpl.js.map +1 -0
- package/dist/infrastructure/repositories/index.d.ts +3 -0
- package/dist/infrastructure/repositories/index.d.ts.map +1 -0
- package/dist/infrastructure/repositories/index.js +7 -0
- package/dist/infrastructure/repositories/index.js.map +1 -0
- package/dist/infrastructure/storage/StorageFactory.d.ts +53 -0
- package/dist/infrastructure/storage/StorageFactory.d.ts.map +1 -0
- package/dist/infrastructure/storage/StorageFactory.js +150 -0
- package/dist/infrastructure/storage/StorageFactory.js.map +1 -0
- package/dist/infrastructure/storage/adapters/FileSystemStorage.d.ts +52 -0
- package/dist/infrastructure/storage/adapters/FileSystemStorage.d.ts.map +1 -0
- package/dist/infrastructure/storage/adapters/FileSystemStorage.js +315 -0
- package/dist/infrastructure/storage/adapters/FileSystemStorage.js.map +1 -0
- package/dist/infrastructure/storage/adapters/KuzuDBStorage.d.ts +52 -0
- package/dist/infrastructure/storage/adapters/KuzuDBStorage.d.ts.map +1 -0
- package/dist/infrastructure/storage/adapters/KuzuDBStorage.js +235 -0
- package/dist/infrastructure/storage/adapters/KuzuDBStorage.js.map +1 -0
- package/dist/infrastructure/storage/adapters/MemoryStorage.d.ts +37 -0
- package/dist/infrastructure/storage/adapters/MemoryStorage.d.ts.map +1 -0
- package/dist/infrastructure/storage/adapters/MemoryStorage.js +229 -0
- package/dist/infrastructure/storage/adapters/MemoryStorage.js.map +1 -0
- package/dist/infrastructure/storage/adapters/Neo4jStorage.d.ts +49 -0
- package/dist/infrastructure/storage/adapters/Neo4jStorage.d.ts.map +1 -0
- package/dist/infrastructure/storage/adapters/Neo4jStorage.js +222 -0
- package/dist/infrastructure/storage/adapters/Neo4jStorage.js.map +1 -0
- package/dist/infrastructure/storage/index.d.ts +6 -0
- package/dist/infrastructure/storage/index.d.ts.map +1 -0
- package/dist/infrastructure/storage/index.js +13 -0
- package/dist/infrastructure/storage/index.js.map +1 -0
- package/dist/infrastructure/storage/interfaces/StorageBase.d.ts +76 -0
- package/dist/infrastructure/storage/interfaces/StorageBase.d.ts.map +1 -0
- package/dist/infrastructure/storage/interfaces/StorageBase.js +116 -0
- package/dist/infrastructure/storage/interfaces/StorageBase.js.map +1 -0
- package/dist/interface/config/index.d.ts +102 -0
- package/dist/interface/config/index.d.ts.map +1 -0
- package/dist/interface/config/index.js +7 -0
- package/dist/interface/config/index.js.map +1 -0
- package/dist/interface/types/index.d.ts +425 -0
- package/dist/interface/types/index.d.ts.map +1 -0
- package/dist/interface/types/index.js +8 -0
- package/dist/interface/types/index.js.map +1 -0
- package/dist/interface/types/parser.d.ts +103 -0
- package/dist/interface/types/parser.d.ts.map +1 -0
- package/dist/interface/types/parser.js +7 -0
- package/dist/interface/types/parser.js.map +1 -0
- package/dist/interface/types/storage.d.ts +98 -0
- package/dist/interface/types/storage.d.ts.map +1 -0
- package/dist/interface/types/storage.js +7 -0
- package/dist/interface/types/storage.js.map +1 -0
- package/dist/orchestrator/test-linker.js +1 -1
- package/dist/orchestrator/test-linker.js.map +1 -1
- package/dist/server/CodeMapServer.d.ts +51 -0
- package/dist/server/CodeMapServer.d.ts.map +1 -0
- package/dist/server/CodeMapServer.js +146 -0
- package/dist/server/CodeMapServer.js.map +1 -0
- package/dist/server/handlers/AnalysisHandler.d.ts +82 -0
- package/dist/server/handlers/AnalysisHandler.d.ts.map +1 -0
- package/dist/server/handlers/AnalysisHandler.js +196 -0
- package/dist/server/handlers/AnalysisHandler.js.map +1 -0
- package/dist/server/handlers/QueryHandler.d.ts +57 -0
- package/dist/server/handlers/QueryHandler.d.ts.map +1 -0
- package/dist/server/handlers/QueryHandler.js +260 -0
- package/dist/server/handlers/QueryHandler.js.map +1 -0
- package/dist/server/index.d.ts +7 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +13 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/routes/api.d.ts +8 -0
- package/dist/server/routes/api.d.ts.map +1 -0
- package/dist/server/routes/api.js +372 -0
- package/dist/server/routes/api.js.map +1 -0
- package/dist/server/types/index.d.ts +171 -0
- package/dist/server/types/index.d.ts.map +1 -0
- package/dist/server/types/index.js +7 -0
- package/dist/server/types/index.js.map +1 -0
- package/dist/types/index.d.ts +6 -372
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +9 -3
- package/dist/types/index.js.map +1 -1
- package/docs/AI_ASSISTANT_SETUP.md +68 -0
- package/docs/PUBLISHING.md +162 -0
- package/docs/README.md +37 -0
- package/docs/SETUP_GUIDE.md +91 -5
- package/docs/ai-guide/COMMANDS.md +369 -0
- package/docs/ai-guide/INTEGRATION.md +513 -0
- package/docs/ai-guide/OUTPUT.md +465 -0
- package/docs/ai-guide/PATTERNS.md +409 -0
- package/docs/ai-guide/PROMPTS.md +414 -0
- package/docs/ai-guide/QUICKSTART.md +114 -0
- package/docs/ai-guide/README.md +66 -0
- package/docs/archive/AI_INTEGRATION_GUIDE_ARCHIVED.md +7 -1
- package/docs/archive/ARCHIVE.md +39 -0
- package/docs/archive/MYCLAUDE_GUIDE.md +305 -0
- package/docs/archive/PUBLISH_NPM_DESIGN_V1.md +6 -0
- package/docs/archive/PUBLISH_NPM_DESIGN_V2.md +6 -0
- package/docs/archive/README.md +29 -0
- package/docs/archive/TASK_DESIGN_COVERAGE_REPORT.md +6 -0
- package/docs/archive/TEST_SUMMARY.md +140 -0
- package/docs/archive/comprehensive_test_report.md +337 -0
- package/docs/{CI_GATEWAY_DESIGN.md → archive/design-docs/CI_GATEWAY_DESIGN.md} +6 -0
- package/docs/{PUBLISH_NPM_DESIGN_FINAL.md → archive/design-docs/PUBLISH_NPM_DESIGN_FINAL.md} +7 -1
- package/docs/{REFACTOR_ARCHITECTURE_OVERVIEW.md → archive/design-docs/REFACTOR_ARCHITECTURE_OVERVIEW.md} +8 -2
- package/docs/{REFACTOR_CONFIDENCE_DESIGN.md → archive/design-docs/REFACTOR_CONFIDENCE_DESIGN.md} +6 -0
- package/docs/{REFACTOR_GIT_ANALYZER_DESIGN.md → archive/design-docs/REFACTOR_GIT_ANALYZER_DESIGN.md} +8 -2
- package/docs/{REFACTOR_ORCHESTRATOR_DESIGN.md → archive/design-docs/REFACTOR_ORCHESTRATOR_DESIGN.md} +6 -0
- package/docs/{REFACTOR_RESULT_FUSION_DESIGN.md → archive/design-docs/REFACTOR_RESULT_FUSION_DESIGN.md} +6 -0
- package/docs/{REFACTOR_TEST_LINKER_DESIGN.md → archive/design-docs/REFACTOR_TEST_LINKER_DESIGN.md} +6 -0
- package/docs/archive/myclaude.md +1084 -0
- package/docs/archive/plans/2026-03-14-go-language-support-design.md +92 -0
- package/docs/{REFACTOR_REQUIREMENTS.md → archive/product-specs/REFACTOR_REQUIREMENTS.md} +11 -5
- package/docs/archive/scenario-2-deps-analysis.md +353 -0
- package/docs/archive/test-report-symbol-search.md +384 -0
- package/docs/archive/test-scenario-4-complexity-analysis.md +460 -0
- package/docs/archive/test_report_scenario5.md +615 -0
- package/docs/archive/test_scenario_3_impact_analysis_report.md +520 -0
- package/docs/design-docs/README.md +26 -0
- package/docs/exec-plans/MVP3-IMPLEMENTATION-ROADMAP.md +524 -0
- package/docs/exec-plans/README.md +29 -0
- package/docs/exec-plans/active/.gitkeep +0 -0
- package/docs/exec-plans/completed/.gitkeep +0 -0
- package/docs/{plans/POST_TASK_PLAN.md → exec-plans/completed/2026-03-03-post-task-plan.md} +9 -3
- package/docs/exec-plans/completed/harness-engineering-rollout.md +184 -0
- package/docs/exec-plans/tech-debt/.gitkeep +0 -0
- package/docs/exec-plans/tech-debt/2026-03-15-lint-guardrail-gap.md +30 -0
- package/docs/generated/README.md +19 -0
- package/docs/product-specs/MVP3-ARCHITECTURE-COMPARISON.md +504 -0
- package/docs/product-specs/MVP3-ARCHITECTURE-REDESIGN-PRD.md +322 -0
- package/docs/product-specs/MVP3-ARCHITECTURE-REDESIGN-TECH-PRD.md +1374 -0
- package/docs/product-specs/README.md +22 -0
- package/docs/references/README.md +15 -0
- package/docs/references/tmp.md +527 -0
- package/docs/rules/README.md +16 -0
- package/docs/rules/architecture-guardrails.md +349 -0
- package/docs/rules/code-quality-redlines.md +321 -0
- package/docs/rules/deployment.md +23 -0
- package/docs/rules/engineering-with-codex-openai.md +202 -0
- package/docs/rules/testing.md +73 -0
- package/docs/rules/validation.md +39 -0
- package/package.json +19 -6
- package/docs/OMC_TEAM_DEBUG_REPORT.md +0 -285
- /package/docs/{plans/archive → exec-plans/completed}/2026-03-03-deps-path-extension-fix.md +0 -0
|
@@ -0,0 +1,425 @@
|
|
|
1
|
+
export type SymbolKind = 'function' | 'class' | 'interface' | 'type' | 'enum' | 'variable' | 'constant' | 'namespace' | 'decorator' | 'method' | 'property' | 'parameter';
|
|
2
|
+
export interface SourceLocation {
|
|
3
|
+
file: string;
|
|
4
|
+
line: number;
|
|
5
|
+
column: number;
|
|
6
|
+
endLine?: number;
|
|
7
|
+
endColumn?: number;
|
|
8
|
+
}
|
|
9
|
+
export interface DecoratorInfo {
|
|
10
|
+
name: string;
|
|
11
|
+
params?: unknown;
|
|
12
|
+
target: 'class' | 'method' | 'property' | 'parameter';
|
|
13
|
+
}
|
|
14
|
+
export interface ParameterInfo {
|
|
15
|
+
name: string;
|
|
16
|
+
type: string;
|
|
17
|
+
optional: boolean;
|
|
18
|
+
defaultValue?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface CallInfo {
|
|
21
|
+
callee: string;
|
|
22
|
+
line: number;
|
|
23
|
+
column?: number;
|
|
24
|
+
}
|
|
25
|
+
export type CodeSnippetType = 'if' | 'loop' | 'try' | 'switch' | 'early-return' | 'guard';
|
|
26
|
+
export interface CodeSnippet {
|
|
27
|
+
type: CodeSnippetType;
|
|
28
|
+
lines: string;
|
|
29
|
+
lineStart: number;
|
|
30
|
+
lineEnd: number;
|
|
31
|
+
description?: string;
|
|
32
|
+
}
|
|
33
|
+
export interface FunctionSignature {
|
|
34
|
+
parameters: ParameterInfo[];
|
|
35
|
+
returnType: string;
|
|
36
|
+
genericParams?: string[];
|
|
37
|
+
async: boolean;
|
|
38
|
+
calls?: CallInfo[];
|
|
39
|
+
bodySnippets?: CodeSnippet[];
|
|
40
|
+
}
|
|
41
|
+
/** 复杂度指标 */
|
|
42
|
+
export interface ComplexityMetrics {
|
|
43
|
+
/** 圈复杂度 */
|
|
44
|
+
cyclomatic: number;
|
|
45
|
+
/** 认知复杂度 */
|
|
46
|
+
cognitive: number;
|
|
47
|
+
/** 可维护性指数 */
|
|
48
|
+
maintainability: number;
|
|
49
|
+
/** 圈复杂度详情 */
|
|
50
|
+
details: {
|
|
51
|
+
functions: Array<{
|
|
52
|
+
name: string;
|
|
53
|
+
cyclomatic: number;
|
|
54
|
+
cognitive: number;
|
|
55
|
+
lines: number;
|
|
56
|
+
}>;
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
export interface MemberInfo {
|
|
60
|
+
name: string;
|
|
61
|
+
kind: 'property' | 'method' | 'getter' | 'setter';
|
|
62
|
+
type: string;
|
|
63
|
+
visibility: 'public' | 'private' | 'protected' | 'internal';
|
|
64
|
+
optional: boolean;
|
|
65
|
+
static?: boolean;
|
|
66
|
+
abstract?: boolean;
|
|
67
|
+
readonly?: boolean;
|
|
68
|
+
signature?: FunctionSignature;
|
|
69
|
+
}
|
|
70
|
+
export interface JSDocTag {
|
|
71
|
+
name: string;
|
|
72
|
+
text?: string;
|
|
73
|
+
}
|
|
74
|
+
export interface JSDocComment {
|
|
75
|
+
description: string;
|
|
76
|
+
tags: JSDocTag[];
|
|
77
|
+
params: Array<{
|
|
78
|
+
name: string;
|
|
79
|
+
description?: string;
|
|
80
|
+
type?: string;
|
|
81
|
+
}>;
|
|
82
|
+
returns?: {
|
|
83
|
+
description?: string;
|
|
84
|
+
type?: string;
|
|
85
|
+
};
|
|
86
|
+
examples: string[];
|
|
87
|
+
deprecated?: string;
|
|
88
|
+
since?: string;
|
|
89
|
+
see: string[];
|
|
90
|
+
}
|
|
91
|
+
export interface ModuleSymbol {
|
|
92
|
+
id: string;
|
|
93
|
+
name: string;
|
|
94
|
+
kind: SymbolKind;
|
|
95
|
+
location: SourceLocation;
|
|
96
|
+
visibility: 'public' | 'private' | 'protected' | 'internal';
|
|
97
|
+
documentation?: string;
|
|
98
|
+
jsdoc?: JSDocComment;
|
|
99
|
+
relatedSymbols: string[];
|
|
100
|
+
decorators?: DecoratorInfo[];
|
|
101
|
+
signature?: FunctionSignature;
|
|
102
|
+
members?: MemberInfo[];
|
|
103
|
+
type?: string;
|
|
104
|
+
extends?: string[];
|
|
105
|
+
implements?: string[];
|
|
106
|
+
}
|
|
107
|
+
export interface ImportInfo {
|
|
108
|
+
source: string;
|
|
109
|
+
sourceType: 'relative' | 'absolute' | 'node_module' | 'alias';
|
|
110
|
+
specifiers: ImportSpecifier[];
|
|
111
|
+
isTypeOnly: boolean;
|
|
112
|
+
isReExport?: boolean;
|
|
113
|
+
}
|
|
114
|
+
export interface ImportSpecifier {
|
|
115
|
+
name: string;
|
|
116
|
+
alias?: string;
|
|
117
|
+
isTypeOnly: boolean;
|
|
118
|
+
}
|
|
119
|
+
export interface ExportInfo {
|
|
120
|
+
name: string;
|
|
121
|
+
kind: SymbolKind;
|
|
122
|
+
isDefault: boolean;
|
|
123
|
+
isTypeOnly: boolean;
|
|
124
|
+
origin?: string;
|
|
125
|
+
}
|
|
126
|
+
export interface ModuleInfo {
|
|
127
|
+
id: string;
|
|
128
|
+
path: string;
|
|
129
|
+
absolutePath: string;
|
|
130
|
+
type: 'source' | 'test' | 'config' | 'type';
|
|
131
|
+
stats: {
|
|
132
|
+
lines: number;
|
|
133
|
+
codeLines: number;
|
|
134
|
+
commentLines: number;
|
|
135
|
+
blankLines: number;
|
|
136
|
+
};
|
|
137
|
+
exports: ExportInfo[];
|
|
138
|
+
imports: ImportInfo[];
|
|
139
|
+
overview?: string;
|
|
140
|
+
symbols: ModuleSymbol[];
|
|
141
|
+
dependencies: string[];
|
|
142
|
+
dependents: string[];
|
|
143
|
+
/** 复杂度指标 */
|
|
144
|
+
complexity?: {
|
|
145
|
+
cyclomatic: number;
|
|
146
|
+
cognitive: number;
|
|
147
|
+
maintainability: number;
|
|
148
|
+
details?: {
|
|
149
|
+
functions: Array<{
|
|
150
|
+
name: string;
|
|
151
|
+
cyclomatic: number;
|
|
152
|
+
cognitive: number;
|
|
153
|
+
lines: number;
|
|
154
|
+
}>;
|
|
155
|
+
};
|
|
156
|
+
};
|
|
157
|
+
/** 调用图 */
|
|
158
|
+
callGraph?: {
|
|
159
|
+
calls: Array<{
|
|
160
|
+
caller: string;
|
|
161
|
+
callee: string;
|
|
162
|
+
line: number;
|
|
163
|
+
}>;
|
|
164
|
+
recursive: string[];
|
|
165
|
+
callCounts: Record<string, number>;
|
|
166
|
+
crossFileCalls?: CrossFileCall[];
|
|
167
|
+
};
|
|
168
|
+
/** 完整类型信息 */
|
|
169
|
+
typeInfo?: {
|
|
170
|
+
typeDefinitions: Array<{
|
|
171
|
+
name: string;
|
|
172
|
+
kind: 'interface' | 'type' | 'enum' | 'class' | 'alias';
|
|
173
|
+
members: Array<{
|
|
174
|
+
name: string;
|
|
175
|
+
type: string;
|
|
176
|
+
optional: boolean;
|
|
177
|
+
}>;
|
|
178
|
+
}>;
|
|
179
|
+
genericParams: Array<{
|
|
180
|
+
name: string;
|
|
181
|
+
extends?: string;
|
|
182
|
+
default?: string;
|
|
183
|
+
}>;
|
|
184
|
+
crossFileRefs: Array<{
|
|
185
|
+
symbol: string;
|
|
186
|
+
file: string;
|
|
187
|
+
line: number;
|
|
188
|
+
}>;
|
|
189
|
+
unionTypes: string[];
|
|
190
|
+
intersectionTypes: string[];
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
export interface ProjectSummary {
|
|
194
|
+
totalFiles: number;
|
|
195
|
+
totalLines: number;
|
|
196
|
+
totalModules: number;
|
|
197
|
+
totalExports: number;
|
|
198
|
+
totalTypes: number;
|
|
199
|
+
}
|
|
200
|
+
export interface ProjectInfo {
|
|
201
|
+
name: string;
|
|
202
|
+
rootDir: string;
|
|
203
|
+
tsconfigPath?: string;
|
|
204
|
+
packageManager: 'npm' | 'yarn' | 'pnpm' | 'bun';
|
|
205
|
+
}
|
|
206
|
+
export interface DependencyNode {
|
|
207
|
+
id: string;
|
|
208
|
+
path: string;
|
|
209
|
+
category: 'core' | 'feature' | 'utility' | 'external';
|
|
210
|
+
}
|
|
211
|
+
export interface DependencyEdge {
|
|
212
|
+
from: string;
|
|
213
|
+
to: string;
|
|
214
|
+
type: 'import' | 'inherit' | 'implement' | 'call' | 'type-ref';
|
|
215
|
+
weight: number;
|
|
216
|
+
}
|
|
217
|
+
export interface DependencyGraph {
|
|
218
|
+
nodes: DependencyNode[];
|
|
219
|
+
edges: DependencyEdge[];
|
|
220
|
+
}
|
|
221
|
+
export interface CodeMap {
|
|
222
|
+
version: string;
|
|
223
|
+
generatedAt: string;
|
|
224
|
+
project: ProjectInfo;
|
|
225
|
+
summary: ProjectSummary;
|
|
226
|
+
modules: ModuleInfo[];
|
|
227
|
+
dependencies: DependencyGraph;
|
|
228
|
+
actualMode?: 'fast' | 'smart';
|
|
229
|
+
}
|
|
230
|
+
export interface AnalysisOptions {
|
|
231
|
+
mode: 'fast' | 'smart' | 'hybrid';
|
|
232
|
+
rootDir: string;
|
|
233
|
+
include?: string[];
|
|
234
|
+
exclude?: string[];
|
|
235
|
+
output?: string;
|
|
236
|
+
watch?: boolean;
|
|
237
|
+
actualMode?: 'fast' | 'smart';
|
|
238
|
+
}
|
|
239
|
+
export interface FileChange {
|
|
240
|
+
path: string;
|
|
241
|
+
type: 'added' | 'modified' | 'deleted' | 'renamed';
|
|
242
|
+
oldHash?: string;
|
|
243
|
+
newHash?: string;
|
|
244
|
+
}
|
|
245
|
+
export interface GlobalSymbolInfo {
|
|
246
|
+
name: string;
|
|
247
|
+
kind: SymbolKind;
|
|
248
|
+
filePath: string;
|
|
249
|
+
line: number;
|
|
250
|
+
column: number;
|
|
251
|
+
isExported: boolean;
|
|
252
|
+
isDefault?: boolean;
|
|
253
|
+
}
|
|
254
|
+
export interface CrossFileCall {
|
|
255
|
+
callee: string;
|
|
256
|
+
calleeLocation: SourceLocation;
|
|
257
|
+
callerLocation: SourceLocation;
|
|
258
|
+
importPath?: string;
|
|
259
|
+
resolved: boolean;
|
|
260
|
+
}
|
|
261
|
+
export interface GlobalSymbolIndex {
|
|
262
|
+
symbols: Map<string, GlobalSymbolInfo[]>;
|
|
263
|
+
files: Map<string, FileSymbolIndex>;
|
|
264
|
+
}
|
|
265
|
+
export interface FileSymbolIndex {
|
|
266
|
+
filePath: string;
|
|
267
|
+
imports: Map<string, ImportInfo>;
|
|
268
|
+
exports: Map<string, GlobalSymbolInfo>;
|
|
269
|
+
localSymbols: Map<string, GlobalSymbolInfo>;
|
|
270
|
+
crossFileCalls: CrossFileCall[];
|
|
271
|
+
}
|
|
272
|
+
export interface CallChain {
|
|
273
|
+
entries: CallChainEntry[];
|
|
274
|
+
depth: number;
|
|
275
|
+
}
|
|
276
|
+
export interface CallChainEntry {
|
|
277
|
+
file: string;
|
|
278
|
+
symbol: string;
|
|
279
|
+
line: number;
|
|
280
|
+
column: number;
|
|
281
|
+
callType: 'local' | 'cross-file' | 'external';
|
|
282
|
+
}
|
|
283
|
+
export interface TypeMember {
|
|
284
|
+
name: string;
|
|
285
|
+
type: string;
|
|
286
|
+
optional: boolean;
|
|
287
|
+
visibility: 'public' | 'private' | 'protected';
|
|
288
|
+
isReadonly?: boolean;
|
|
289
|
+
}
|
|
290
|
+
export interface TypeDefinition {
|
|
291
|
+
name: string;
|
|
292
|
+
kind: 'interface' | 'type' | 'enum' | 'class' | 'alias';
|
|
293
|
+
members: TypeMember[];
|
|
294
|
+
extends?: string[];
|
|
295
|
+
implements?: string[];
|
|
296
|
+
genericParams?: GenericParam[];
|
|
297
|
+
description?: string;
|
|
298
|
+
}
|
|
299
|
+
export interface GenericParam {
|
|
300
|
+
name: string;
|
|
301
|
+
extends?: string;
|
|
302
|
+
default?: string;
|
|
303
|
+
constraint?: string;
|
|
304
|
+
variance?: 'in' | 'out' | 'inout';
|
|
305
|
+
}
|
|
306
|
+
export interface ConditionalTypeInfo {
|
|
307
|
+
checkType: string;
|
|
308
|
+
extendsType: string;
|
|
309
|
+
trueType: string;
|
|
310
|
+
falseType: string;
|
|
311
|
+
}
|
|
312
|
+
export interface MappedTypeInfo {
|
|
313
|
+
typeParameter: string;
|
|
314
|
+
constraint: string;
|
|
315
|
+
valueType: string;
|
|
316
|
+
asType?: string;
|
|
317
|
+
modifiers?: ('readonly' | 'optional' | 'nullable')[];
|
|
318
|
+
readonly?: 'add' | 'remove';
|
|
319
|
+
optional?: 'add' | 'remove';
|
|
320
|
+
}
|
|
321
|
+
export interface TemplateLiteralTypeInfo {
|
|
322
|
+
head: string;
|
|
323
|
+
spans: Array<{
|
|
324
|
+
type: string;
|
|
325
|
+
literal: string;
|
|
326
|
+
}>;
|
|
327
|
+
}
|
|
328
|
+
export interface AdvancedTypeInfo {
|
|
329
|
+
conditionalTypes?: ConditionalTypeInfo[];
|
|
330
|
+
mappedTypes?: MappedTypeInfo[];
|
|
331
|
+
templateLiteralTypes?: TemplateLiteralTypeInfo[];
|
|
332
|
+
indexedAccessTypes?: string[];
|
|
333
|
+
inferredTypes?: string[];
|
|
334
|
+
}
|
|
335
|
+
export interface CrossFileRef {
|
|
336
|
+
symbol: string;
|
|
337
|
+
file: string;
|
|
338
|
+
line: number;
|
|
339
|
+
column?: number;
|
|
340
|
+
exportName?: string;
|
|
341
|
+
}
|
|
342
|
+
export interface FullTypeInfo {
|
|
343
|
+
typeDefinitions: TypeDefinition[];
|
|
344
|
+
genericParams: GenericParam[];
|
|
345
|
+
crossFileRefs: CrossFileRef[];
|
|
346
|
+
unionTypes: string[];
|
|
347
|
+
intersectionTypes: string[];
|
|
348
|
+
typeAliases: Array<{
|
|
349
|
+
name: string;
|
|
350
|
+
type: string;
|
|
351
|
+
genericParams?: GenericParam[];
|
|
352
|
+
}>;
|
|
353
|
+
}
|
|
354
|
+
export interface VisualizationNode {
|
|
355
|
+
id: string;
|
|
356
|
+
label: string;
|
|
357
|
+
path: string;
|
|
358
|
+
category: 'core' | 'feature' | 'utility' | 'external' | 'entry';
|
|
359
|
+
type: 'source' | 'test' | 'config' | 'type';
|
|
360
|
+
exportCount: number;
|
|
361
|
+
dependencyCount: number;
|
|
362
|
+
}
|
|
363
|
+
export interface VisualizationEdge {
|
|
364
|
+
from: string;
|
|
365
|
+
to: string;
|
|
366
|
+
type: 'import' | 'inherit' | 'implement' | 'call' | 'type-ref';
|
|
367
|
+
label?: string;
|
|
368
|
+
}
|
|
369
|
+
export interface MermaidConfig {
|
|
370
|
+
graphType: 'graph' | 'flowchart' | 'mindmap';
|
|
371
|
+
direction: 'TB' | 'BT' | 'LR' | 'RL';
|
|
372
|
+
nodeShape: 'box' | 'round' | 'stadium' | 'cylinder';
|
|
373
|
+
showLabels: boolean;
|
|
374
|
+
maxNodes: number;
|
|
375
|
+
maxEdges: number;
|
|
376
|
+
}
|
|
377
|
+
export interface VisualizationConfig {
|
|
378
|
+
mermaid: MermaidConfig;
|
|
379
|
+
includeTestFiles: boolean;
|
|
380
|
+
includeExternalDeps: boolean;
|
|
381
|
+
showComplexity: boolean;
|
|
382
|
+
outputFormat: 'markdown' | 'html' | 'json';
|
|
383
|
+
}
|
|
384
|
+
export interface Project {
|
|
385
|
+
id: string;
|
|
386
|
+
name: string;
|
|
387
|
+
rootPath: string;
|
|
388
|
+
createdAt: Date;
|
|
389
|
+
updatedAt: Date;
|
|
390
|
+
}
|
|
391
|
+
export interface Module {
|
|
392
|
+
id: string;
|
|
393
|
+
projectId: string;
|
|
394
|
+
path: string;
|
|
395
|
+
language: string;
|
|
396
|
+
stats: {
|
|
397
|
+
lines: number;
|
|
398
|
+
codeLines: number;
|
|
399
|
+
commentLines: number;
|
|
400
|
+
blankLines: number;
|
|
401
|
+
};
|
|
402
|
+
}
|
|
403
|
+
export interface Symbol {
|
|
404
|
+
id: string;
|
|
405
|
+
moduleId: string;
|
|
406
|
+
name: string;
|
|
407
|
+
kind: SymbolKind;
|
|
408
|
+
location: SourceLocation;
|
|
409
|
+
visibility: 'public' | 'private' | 'protected' | 'internal';
|
|
410
|
+
}
|
|
411
|
+
export interface Dependency {
|
|
412
|
+
id: string;
|
|
413
|
+
sourceId: string;
|
|
414
|
+
targetId: string;
|
|
415
|
+
type: 'import' | 'inherit' | 'implement' | 'call' | 'type-ref';
|
|
416
|
+
}
|
|
417
|
+
export interface CodeGraph {
|
|
418
|
+
project: Project;
|
|
419
|
+
modules: Module[];
|
|
420
|
+
symbols: Symbol[];
|
|
421
|
+
dependencies: Dependency[];
|
|
422
|
+
}
|
|
423
|
+
export type { LanguageId, ParseOptions, CallGraphInfo, ParseError as ParserParseError, ParseResult, LanguageFeature, ILanguageParser, IParserRegistry, } from './parser.js';
|
|
424
|
+
export type { StorageType, StorageConfig, SearchOptions, SearchResult, Cycle, ImpactResult, ProjectStatistics, IStorage, IStorageFactory, } from './storage.js';
|
|
425
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/interface/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// [META] since:2026-03 | owner:architecture-team | stable:true
|
|
2
|
+
// [WHY] Interface Layer - Core type definitions for CodeMap
|
|
3
|
+
// This is the source of truth for all types in the system
|
|
4
|
+
// ============================================
|
|
5
|
+
// CodeMap 核心类型定义 - Interface Layer
|
|
6
|
+
// ============================================
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/interface/types/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,4DAA4D;AAC5D,0DAA0D;AAC1D,+CAA+C;AAC/C,mCAAmC;AACnC,+CAA+C"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import type { Module, ModuleSymbol, ImportInfo, ExportInfo, Dependency, ComplexityMetrics } from './index.js';
|
|
2
|
+
/** 支持的语言 */
|
|
3
|
+
export type LanguageId = 'typescript' | 'javascript' | 'go' | 'python' | 'java' | 'rust' | 'cpp' | 'csharp' | 'ruby' | 'php' | 'swift' | 'kotlin' | 'dart' | 'perl';
|
|
4
|
+
/** 解析选项 */
|
|
5
|
+
export interface ParseOptions {
|
|
6
|
+
/** 包含调用图 */
|
|
7
|
+
includeCallGraph?: boolean;
|
|
8
|
+
/** 包含复杂度指标 */
|
|
9
|
+
includeComplexity?: boolean;
|
|
10
|
+
/** 包含类型信息 */
|
|
11
|
+
includeTypeInfo?: boolean;
|
|
12
|
+
}
|
|
13
|
+
/** 调用图信息 */
|
|
14
|
+
export interface CallGraphInfo {
|
|
15
|
+
calls: Array<{
|
|
16
|
+
caller: string;
|
|
17
|
+
callee: string;
|
|
18
|
+
line: number;
|
|
19
|
+
}>;
|
|
20
|
+
recursive: string[];
|
|
21
|
+
}
|
|
22
|
+
/** 解析错误 */
|
|
23
|
+
export interface ParseError {
|
|
24
|
+
line: number;
|
|
25
|
+
column: number;
|
|
26
|
+
message: string;
|
|
27
|
+
severity: 'error' | 'warning';
|
|
28
|
+
}
|
|
29
|
+
/** 解析结果 */
|
|
30
|
+
export interface ParseResult {
|
|
31
|
+
/** 文件路径 */
|
|
32
|
+
filePath: string;
|
|
33
|
+
/** 语言 */
|
|
34
|
+
language: LanguageId;
|
|
35
|
+
/** 模块信息 */
|
|
36
|
+
module: Module;
|
|
37
|
+
/** 符号列表 */
|
|
38
|
+
symbols: ModuleSymbol[];
|
|
39
|
+
/** 导入列表 */
|
|
40
|
+
imports: ImportInfo[];
|
|
41
|
+
/** 导出列表 */
|
|
42
|
+
exports: ExportInfo[];
|
|
43
|
+
/** 依赖列表 */
|
|
44
|
+
dependencies: Dependency[];
|
|
45
|
+
/** 调用图 */
|
|
46
|
+
callGraph?: CallGraphInfo;
|
|
47
|
+
/** 复杂度指标 */
|
|
48
|
+
complexity?: ComplexityMetrics;
|
|
49
|
+
/** 解析耗时 (ms) */
|
|
50
|
+
parseTime: number;
|
|
51
|
+
/** 错误信息 */
|
|
52
|
+
errors?: ParseError[];
|
|
53
|
+
}
|
|
54
|
+
/** 语言特性 */
|
|
55
|
+
export type LanguageFeature = 'type-inference' | 'generic-types' | 'decorators' | 'call-graph' | 'cross-file-analysis' | 'complexity-metrics';
|
|
56
|
+
/**
|
|
57
|
+
* 语言解析器接口
|
|
58
|
+
* 所有语言解析器必须实现此接口
|
|
59
|
+
*/
|
|
60
|
+
export interface ILanguageParser {
|
|
61
|
+
/** 支持的语言标识 */
|
|
62
|
+
readonly languageId: LanguageId;
|
|
63
|
+
/** 支持的文件扩展名 */
|
|
64
|
+
readonly fileExtensions: string[];
|
|
65
|
+
/** 解析器名称 */
|
|
66
|
+
readonly name: string;
|
|
67
|
+
/** 初始化解析器 */
|
|
68
|
+
initialize(): Promise<void>;
|
|
69
|
+
/** 释放解析器资源 */
|
|
70
|
+
dispose(): Promise<void>;
|
|
71
|
+
/** 解析单个文件 */
|
|
72
|
+
parseFile(filePath: string, content: string, options?: ParseOptions): Promise<ParseResult>;
|
|
73
|
+
/** 批量解析文件 */
|
|
74
|
+
parseFiles(files: Array<{
|
|
75
|
+
path: string;
|
|
76
|
+
content: string;
|
|
77
|
+
}>, options?: ParseOptions): Promise<ParseResult[]>;
|
|
78
|
+
/** 提取导入信息 */
|
|
79
|
+
extractImports(content: string): Promise<ImportInfo[]>;
|
|
80
|
+
/** 提取导出信息 */
|
|
81
|
+
extractExports(content: string): Promise<ExportInfo[]>;
|
|
82
|
+
/** 提取符号信息 */
|
|
83
|
+
extractSymbols(content: string): Promise<ModuleSymbol[]>;
|
|
84
|
+
/** 构建调用图 */
|
|
85
|
+
buildCallGraph(content: string): Promise<CallGraphInfo>;
|
|
86
|
+
/** 计算复杂度 */
|
|
87
|
+
calculateComplexity(content: string): Promise<ComplexityMetrics>;
|
|
88
|
+
/** 检测语言特性支持 */
|
|
89
|
+
supportsFeature(feature: LanguageFeature): boolean;
|
|
90
|
+
}
|
|
91
|
+
/** 解析器注册表 */
|
|
92
|
+
export interface IParserRegistry {
|
|
93
|
+
/** 注册解析器 */
|
|
94
|
+
register(parser: ILanguageParser): void;
|
|
95
|
+
/** 获取解析器 */
|
|
96
|
+
getParser(language: LanguageId): ILanguageParser | undefined;
|
|
97
|
+
getParserByFile(filePath: string): ILanguageParser | undefined;
|
|
98
|
+
/** 获取所有支持的扩展名 */
|
|
99
|
+
getSupportedExtensions(): string[];
|
|
100
|
+
/** 获取所有支持的语言 */
|
|
101
|
+
getSupportedLanguages(): LanguageId[];
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/interface/types/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// [META] since:2026-03 | owner:architecture-team | stable:true
|
|
2
|
+
// [WHY] Parser abstraction layer type definitions
|
|
3
|
+
// ============================================
|
|
4
|
+
// 解析器抽象层类型定义
|
|
5
|
+
// ============================================
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/interface/types/parser.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,kDAAkD;AAClD,+CAA+C;AAC/C,aAAa;AACb,+CAA+C"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import type { CodeGraph, Module, Symbol, Dependency } from './index.js';
|
|
2
|
+
/** 存储后端类型 */
|
|
3
|
+
export type StorageType = 'filesystem' | 'kuzudb' | 'neo4j' | 'memory';
|
|
4
|
+
/** 搜索选项 */
|
|
5
|
+
export interface SearchOptions {
|
|
6
|
+
type?: 'symbol' | 'module' | 'file';
|
|
7
|
+
language?: string;
|
|
8
|
+
limit?: number;
|
|
9
|
+
offset?: number;
|
|
10
|
+
}
|
|
11
|
+
/** 搜索结果 */
|
|
12
|
+
export interface SearchResult {
|
|
13
|
+
id: string;
|
|
14
|
+
name: string;
|
|
15
|
+
type: 'symbol' | 'module' | 'file';
|
|
16
|
+
path?: string;
|
|
17
|
+
score: number;
|
|
18
|
+
}
|
|
19
|
+
/** 循环依赖 */
|
|
20
|
+
export interface Cycle {
|
|
21
|
+
modules: string[];
|
|
22
|
+
length: number;
|
|
23
|
+
}
|
|
24
|
+
/** 影响分析结果 */
|
|
25
|
+
export interface ImpactResult {
|
|
26
|
+
rootModule: string;
|
|
27
|
+
affectedModules: Module[];
|
|
28
|
+
depth: number;
|
|
29
|
+
}
|
|
30
|
+
/** 项目统计 */
|
|
31
|
+
export interface ProjectStatistics {
|
|
32
|
+
totalModules: number;
|
|
33
|
+
totalSymbols: number;
|
|
34
|
+
totalDependencies: number;
|
|
35
|
+
totalLines: number;
|
|
36
|
+
averageComplexity: number;
|
|
37
|
+
}
|
|
38
|
+
/** 存储配置 */
|
|
39
|
+
export interface StorageConfig {
|
|
40
|
+
type: StorageType | 'auto';
|
|
41
|
+
outputPath?: string;
|
|
42
|
+
databasePath?: string;
|
|
43
|
+
uri?: string;
|
|
44
|
+
username?: string;
|
|
45
|
+
password?: string;
|
|
46
|
+
autoThresholds?: {
|
|
47
|
+
useGraphDBWhenFileCount: number;
|
|
48
|
+
useGraphDBWhenNodeCount: number;
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* 存储抽象接口
|
|
53
|
+
* 定义所有存储后端必须实现的能力
|
|
54
|
+
*/
|
|
55
|
+
export interface IStorage {
|
|
56
|
+
/** 存储类型标识 */
|
|
57
|
+
readonly type: StorageType;
|
|
58
|
+
/** 初始化存储 */
|
|
59
|
+
initialize(projectPath: string): Promise<void>;
|
|
60
|
+
/** 关闭存储连接 */
|
|
61
|
+
close(): Promise<void>;
|
|
62
|
+
/** 保存完整代码图 */
|
|
63
|
+
saveCodeGraph(graph: CodeGraph): Promise<void>;
|
|
64
|
+
/** 加载完整代码图 */
|
|
65
|
+
loadCodeGraph(): Promise<CodeGraph>;
|
|
66
|
+
/** 删除项目数据 */
|
|
67
|
+
deleteProject(): Promise<void>;
|
|
68
|
+
/** 更新单个模块 */
|
|
69
|
+
updateModule(module: Module): Promise<void>;
|
|
70
|
+
/** 删除模块 */
|
|
71
|
+
deleteModule(moduleId: string): Promise<void>;
|
|
72
|
+
/** 查询模块 */
|
|
73
|
+
findModuleById(id: string): Promise<Module | null>;
|
|
74
|
+
findModulesByPath(path: string): Promise<Module[]>;
|
|
75
|
+
/** 查询符号 */
|
|
76
|
+
findSymbolByName(name: string): Promise<Symbol[]>;
|
|
77
|
+
findSymbolById(id: string): Promise<Symbol | null>;
|
|
78
|
+
/** 查询依赖 */
|
|
79
|
+
findDependencies(moduleId: string): Promise<Dependency[]>;
|
|
80
|
+
findDependents(moduleId: string): Promise<Dependency[]>;
|
|
81
|
+
/** 查询调用关系 */
|
|
82
|
+
findCallers(functionId: string): Promise<Symbol[]>;
|
|
83
|
+
findCallees(functionId: string): Promise<Symbol[]>;
|
|
84
|
+
/** 模糊搜索 */
|
|
85
|
+
search(query: string, options: SearchOptions): Promise<SearchResult[]>;
|
|
86
|
+
/** 检测循环依赖 */
|
|
87
|
+
detectCycles(): Promise<Cycle[]>;
|
|
88
|
+
/** 计算影响范围 */
|
|
89
|
+
calculateImpact(moduleId: string, depth: number): Promise<ImpactResult>;
|
|
90
|
+
/** 获取项目统计 */
|
|
91
|
+
getStatistics(): Promise<ProjectStatistics>;
|
|
92
|
+
}
|
|
93
|
+
/** 存储工厂 */
|
|
94
|
+
export interface IStorageFactory {
|
|
95
|
+
create(config: StorageConfig): Promise<IStorage>;
|
|
96
|
+
createForProject(projectPath: string, config: StorageConfig): Promise<IStorage>;
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=storage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/interface/types/storage.ts"],"names":[],"mappings":"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"}
|