@stackguide/mcp-server 3.1.0 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/README.md +59 -2
  2. package/dist/config/types.d.ts +1 -0
  3. package/dist/config/types.d.ts.map +1 -1
  4. package/dist/config/types.js.map +1 -1
  5. package/dist/handlers/analyze.d.ts +11 -0
  6. package/dist/handlers/analyze.d.ts.map +1 -0
  7. package/dist/handlers/analyze.js +274 -0
  8. package/dist/handlers/analyze.js.map +1 -0
  9. package/dist/handlers/index.d.ts +1 -0
  10. package/dist/handlers/index.d.ts.map +1 -1
  11. package/dist/handlers/index.js +1 -0
  12. package/dist/handlers/index.js.map +1 -1
  13. package/dist/handlers/setup.d.ts +1 -0
  14. package/dist/handlers/setup.d.ts.map +1 -1
  15. package/dist/handlers/setup.js +42 -0
  16. package/dist/handlers/setup.js.map +1 -1
  17. package/dist/index.js +4 -2
  18. package/dist/index.js.map +1 -1
  19. package/dist/services/codeAnalyzer.d.ts +5 -1
  20. package/dist/services/codeAnalyzer.d.ts.map +1 -1
  21. package/dist/services/codeAnalyzer.js +39 -2
  22. package/dist/services/codeAnalyzer.js.map +1 -1
  23. package/dist/services/intelligence/configGenerator.d.ts +28 -0
  24. package/dist/services/intelligence/configGenerator.d.ts.map +1 -0
  25. package/dist/services/intelligence/configGenerator.js +404 -0
  26. package/dist/services/intelligence/configGenerator.js.map +1 -0
  27. package/dist/services/intelligence/dependencyAdvisor.d.ts +24 -0
  28. package/dist/services/intelligence/dependencyAdvisor.d.ts.map +1 -0
  29. package/dist/services/intelligence/dependencyAdvisor.js +404 -0
  30. package/dist/services/intelligence/dependencyAdvisor.js.map +1 -0
  31. package/dist/services/intelligence/index.d.ts +12 -0
  32. package/dist/services/intelligence/index.d.ts.map +1 -0
  33. package/dist/services/intelligence/index.js +16 -0
  34. package/dist/services/intelligence/index.js.map +1 -0
  35. package/dist/services/intelligence/projectIntelligence.d.ts +26 -0
  36. package/dist/services/intelligence/projectIntelligence.d.ts.map +1 -0
  37. package/dist/services/intelligence/projectIntelligence.js +344 -0
  38. package/dist/services/intelligence/projectIntelligence.js.map +1 -0
  39. package/dist/services/intelligence/structureAnalyzer.d.ts +27 -0
  40. package/dist/services/intelligence/structureAnalyzer.d.ts.map +1 -0
  41. package/dist/services/intelligence/structureAnalyzer.js +286 -0
  42. package/dist/services/intelligence/structureAnalyzer.js.map +1 -0
  43. package/dist/services/intelligence/templates.d.ts +22 -0
  44. package/dist/services/intelligence/templates.d.ts.map +1 -0
  45. package/dist/services/intelligence/templates.js +521 -0
  46. package/dist/services/intelligence/templates.js.map +1 -0
  47. package/dist/services/intelligence/types.d.ts +222 -0
  48. package/dist/services/intelligence/types.d.ts.map +1 -0
  49. package/dist/services/intelligence/types.js +7 -0
  50. package/dist/services/intelligence/types.js.map +1 -0
  51. package/dist/services/parsers/baseParser.d.ts +44 -0
  52. package/dist/services/parsers/baseParser.d.ts.map +1 -0
  53. package/dist/services/parsers/baseParser.js +177 -0
  54. package/dist/services/parsers/baseParser.js.map +1 -0
  55. package/dist/services/parsers/goParser.d.ts +28 -0
  56. package/dist/services/parsers/goParser.d.ts.map +1 -0
  57. package/dist/services/parsers/goParser.js +590 -0
  58. package/dist/services/parsers/goParser.js.map +1 -0
  59. package/dist/services/parsers/index.d.ts +62 -0
  60. package/dist/services/parsers/index.d.ts.map +1 -0
  61. package/dist/services/parsers/index.js +121 -0
  62. package/dist/services/parsers/index.js.map +1 -0
  63. package/dist/services/parsers/pythonParser.d.ts +28 -0
  64. package/dist/services/parsers/pythonParser.d.ts.map +1 -0
  65. package/dist/services/parsers/pythonParser.js +663 -0
  66. package/dist/services/parsers/pythonParser.js.map +1 -0
  67. package/dist/services/parsers/rustParser.d.ts +28 -0
  68. package/dist/services/parsers/rustParser.d.ts.map +1 -0
  69. package/dist/services/parsers/rustParser.js +654 -0
  70. package/dist/services/parsers/rustParser.js.map +1 -0
  71. package/dist/services/parsers/types.d.ts +241 -0
  72. package/dist/services/parsers/types.d.ts.map +1 -0
  73. package/dist/services/parsers/types.js +47 -0
  74. package/dist/services/parsers/types.js.map +1 -0
  75. package/dist/tools/definitions.d.ts +87 -0
  76. package/dist/tools/definitions.d.ts.map +1 -1
  77. package/dist/tools/definitions.js +34 -0
  78. package/dist/tools/definitions.js.map +1 -1
  79. package/dist/utils/validation.d.ts +2 -2
  80. package/package.json +1 -1
@@ -0,0 +1,222 @@
1
+ /**
2
+ * Types for Project Intelligence System
3
+ * Auto-Configuration Intelligence - Phase 4
4
+ * @version 3.3.0
5
+ */
6
+ /**
7
+ * Project structure analysis result
8
+ */
9
+ export interface StructureAnalysis {
10
+ /** Root directory of the project */
11
+ rootPath: string;
12
+ /** Detected project type */
13
+ projectType: string;
14
+ /** Overall structure health score (0-100) */
15
+ structureScore: number;
16
+ /** Existing directories */
17
+ existingDirs: string[];
18
+ /** Missing recommended directories */
19
+ missingDirs: DirectorySuggestion[];
20
+ /** Existing key files */
21
+ existingFiles: string[];
22
+ /** Missing recommended files */
23
+ missingFiles: FileSuggestion[];
24
+ /** Structure improvements */
25
+ improvements: StructureImprovement[];
26
+ }
27
+ export interface DirectorySuggestion {
28
+ path: string;
29
+ purpose: string;
30
+ priority: 'high' | 'medium' | 'low';
31
+ template?: string;
32
+ }
33
+ export interface FileSuggestion {
34
+ path: string;
35
+ purpose: string;
36
+ priority: 'high' | 'medium' | 'low';
37
+ template?: string;
38
+ content?: string;
39
+ }
40
+ export interface StructureImprovement {
41
+ type: 'reorganize' | 'create' | 'rename' | 'move';
42
+ description: string;
43
+ priority: 'high' | 'medium' | 'low';
44
+ from?: string;
45
+ to?: string;
46
+ }
47
+ /**
48
+ * Configuration analysis and generation
49
+ */
50
+ export interface ConfigAnalysis {
51
+ /** Existing configuration files */
52
+ existingConfigs: ConfigFile[];
53
+ /** Recommended configurations */
54
+ recommendedConfigs: ConfigRecommendation[];
55
+ /** Configuration issues found */
56
+ issues: ConfigIssue[];
57
+ /** Overall config health score */
58
+ configScore: number;
59
+ }
60
+ export interface ConfigFile {
61
+ path: string;
62
+ type: ConfigType;
63
+ isValid: boolean;
64
+ settings: Record<string, unknown>;
65
+ issues?: string[];
66
+ }
67
+ export type ConfigType = 'eslint' | 'prettier' | 'tsconfig' | 'jest' | 'vitest' | 'babel' | 'webpack' | 'vite' | 'rollup' | 'docker' | 'github-actions' | 'editorconfig' | 'gitignore' | 'env' | 'package-json' | 'pyproject' | 'cargo' | 'go-mod' | 'other';
68
+ export interface ConfigRecommendation {
69
+ type: ConfigType;
70
+ filename: string;
71
+ description: string;
72
+ priority: 'critical' | 'high' | 'medium' | 'low';
73
+ suggestedContent: string;
74
+ reason: string;
75
+ }
76
+ export interface ConfigIssue {
77
+ file: string;
78
+ type: ConfigType;
79
+ severity: 'error' | 'warning' | 'info';
80
+ message: string;
81
+ suggestion: string;
82
+ autoFixable: boolean;
83
+ fix?: ConfigFix;
84
+ }
85
+ export interface ConfigFix {
86
+ type: 'add' | 'remove' | 'modify';
87
+ path: string;
88
+ key?: string;
89
+ value?: unknown;
90
+ description: string;
91
+ }
92
+ /**
93
+ * Dependency analysis
94
+ */
95
+ export interface DependencyAnalysis {
96
+ /** Package manager detected */
97
+ packageManager: 'npm' | 'yarn' | 'pnpm' | 'pip' | 'poetry' | 'cargo' | 'go' | 'bundler' | 'composer' | 'unknown';
98
+ /** Total dependencies count */
99
+ totalDependencies: number;
100
+ /** Direct dependencies */
101
+ directDependencies: DependencyInfo[];
102
+ /** Dev dependencies */
103
+ devDependencies: DependencyInfo[];
104
+ /** Outdated packages */
105
+ outdatedPackages: OutdatedPackage[];
106
+ /** Security vulnerabilities (if detectable) */
107
+ vulnerabilities: VulnerabilityInfo[];
108
+ /** Missing recommended dependencies */
109
+ recommendedAdditions: DependencyRecommendation[];
110
+ /** Unnecessary dependencies */
111
+ unnecessaryDependencies: string[];
112
+ /** Dependency health score */
113
+ dependencyScore: number;
114
+ }
115
+ export interface DependencyInfo {
116
+ name: string;
117
+ version: string;
118
+ type: 'production' | 'dev' | 'peer' | 'optional';
119
+ isLocal?: boolean;
120
+ }
121
+ export interface OutdatedPackage {
122
+ name: string;
123
+ currentVersion: string;
124
+ latestVersion: string;
125
+ type: 'major' | 'minor' | 'patch';
126
+ breaking: boolean;
127
+ }
128
+ export interface VulnerabilityInfo {
129
+ package: string;
130
+ severity: 'critical' | 'high' | 'medium' | 'low';
131
+ title: string;
132
+ fixedIn?: string;
133
+ url?: string;
134
+ }
135
+ export interface DependencyRecommendation {
136
+ name: string;
137
+ version?: string;
138
+ reason: string;
139
+ category: 'linting' | 'testing' | 'security' | 'performance' | 'dx' | 'types';
140
+ priority: 'high' | 'medium' | 'low';
141
+ }
142
+ /**
143
+ * Full project intelligence report
144
+ */
145
+ export interface IntelligenceReport {
146
+ /** Analysis timestamp */
147
+ timestamp: string;
148
+ /** Project path */
149
+ projectPath: string;
150
+ /** Detected project type */
151
+ projectType: string;
152
+ /** Detection confidence */
153
+ confidence: 'high' | 'medium' | 'low';
154
+ /** Overall intelligence score (0-100) */
155
+ overallScore: number;
156
+ /** Grade based on score */
157
+ grade: 'A' | 'B' | 'C' | 'D' | 'F';
158
+ /** Structure analysis */
159
+ structure: StructureAnalysis;
160
+ /** Configuration analysis */
161
+ configuration: ConfigAnalysis;
162
+ /** Dependency analysis */
163
+ dependencies: DependencyAnalysis;
164
+ /** Top priority actions */
165
+ priorityActions: PriorityAction[];
166
+ /** Suggested workflow */
167
+ suggestedWorkflow: WorkflowStep[];
168
+ /** Estimated effort to achieve optimal state */
169
+ estimatedEffort: 'minimal' | 'moderate' | 'significant';
170
+ }
171
+ export interface PriorityAction {
172
+ id: string;
173
+ category: 'structure' | 'config' | 'dependencies' | 'security';
174
+ priority: 'critical' | 'high' | 'medium' | 'low';
175
+ title: string;
176
+ description: string;
177
+ command?: string;
178
+ autoApplicable: boolean;
179
+ }
180
+ export interface WorkflowStep {
181
+ order: number;
182
+ title: string;
183
+ description: string;
184
+ command?: string;
185
+ estimatedTime: string;
186
+ optional: boolean;
187
+ }
188
+ /**
189
+ * Smart configuration templates
190
+ */
191
+ export interface SmartConfig {
192
+ type: ConfigType;
193
+ filename: string;
194
+ content: string;
195
+ description: string;
196
+ customizations: ConfigCustomization[];
197
+ }
198
+ export interface ConfigCustomization {
199
+ key: string;
200
+ description: string;
201
+ options: ConfigOption[];
202
+ default: string | boolean | number;
203
+ }
204
+ export interface ConfigOption {
205
+ value: string | boolean | number;
206
+ label: string;
207
+ description: string;
208
+ }
209
+ /**
210
+ * Framework-specific template definitions
211
+ */
212
+ export interface FrameworkTemplate {
213
+ projectType: string;
214
+ name: string;
215
+ requiredDirs: string[];
216
+ optionalDirs: string[];
217
+ requiredFiles: string[];
218
+ optionalFiles: string[];
219
+ recommendedDependencies: DependencyRecommendation[];
220
+ configTemplates: SmartConfig[];
221
+ }
222
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/intelligence/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Types for Project Intelligence System
3
+ * Auto-Configuration Intelligence - Phase 4
4
+ * @version 3.3.0
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/services/intelligence/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Base Language Parser
3
+ * Abstract base class for language-specific parsers
4
+ * @version 3.2.0
5
+ */
6
+ import type { CodeIssue } from '../../config/types.js';
7
+ import type { LanguageParser, LanguageRule, ParseResult, ParseContext, CommentInfo, SupportedLanguage } from './types.js';
8
+ /**
9
+ * Abstract base class for language parsers
10
+ */
11
+ export declare abstract class BaseLanguageParser implements LanguageParser {
12
+ abstract readonly language: SupportedLanguage;
13
+ abstract readonly extensions: string[];
14
+ protected rules: LanguageRule[];
15
+ /**
16
+ * Parse source code into structured data
17
+ */
18
+ abstract parse(code: string, filePath: string): ParseResult;
19
+ /**
20
+ * Get language-specific rules
21
+ */
22
+ getRules(): LanguageRule[];
23
+ /**
24
+ * Check if parser can handle this file
25
+ */
26
+ canHandle(filePath: string): boolean;
27
+ /**
28
+ * Analyze code using language-specific rules
29
+ */
30
+ analyze(code: string, filePath: string): CodeIssue[];
31
+ /**
32
+ * Create parse context for rules
33
+ */
34
+ protected createContext(code: string, filePath: string, parseResult: ParseResult): ParseContext;
35
+ /**
36
+ * Helper: Extract comments from code
37
+ */
38
+ protected extractComments(code: string, lineCommentPrefix: string, blockStart?: string, blockEnd?: string): CommentInfo[];
39
+ /**
40
+ * Helper: Count complexity (basic cyclomatic)
41
+ */
42
+ protected calculateComplexity(code: string): number;
43
+ }
44
+ //# sourceMappingURL=baseParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseParser.d.ts","sourceRoot":"","sources":["../../../src/services/parsers/baseParser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,WAAW,EACX,YAAY,EAMZ,WAAW,EAEX,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAGpB;;GAEG;AACH,8BAAsB,kBAAmB,YAAW,cAAc;IAChE,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IAC9C,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAEvC,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,CAAM;IAErC;;OAEG;IACH,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW;IAE3D;;OAEG;IACH,QAAQ,IAAI,YAAY,EAAE;IAI1B;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAKpC;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE;IA0CpD;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAG,YAAY;IA4C/F;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW,EAAE;IAiDzH;;OAEG;IACH,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAyBpD"}
@@ -0,0 +1,177 @@
1
+ /**
2
+ * Base Language Parser
3
+ * Abstract base class for language-specific parsers
4
+ * @version 3.2.0
5
+ */
6
+ import { logger } from '../../utils/logger.js';
7
+ /**
8
+ * Abstract base class for language parsers
9
+ */
10
+ export class BaseLanguageParser {
11
+ rules = [];
12
+ /**
13
+ * Get language-specific rules
14
+ */
15
+ getRules() {
16
+ return this.rules.filter(r => r.enabled);
17
+ }
18
+ /**
19
+ * Check if parser can handle this file
20
+ */
21
+ canHandle(filePath) {
22
+ const ext = filePath.substring(filePath.lastIndexOf('.')).toLowerCase();
23
+ return this.extensions.includes(ext);
24
+ }
25
+ /**
26
+ * Analyze code using language-specific rules
27
+ */
28
+ analyze(code, filePath) {
29
+ const startTime = Date.now();
30
+ const issues = [];
31
+ try {
32
+ const parseResult = this.parse(code, filePath);
33
+ const context = this.createContext(code, filePath, parseResult);
34
+ for (const rule of this.getRules()) {
35
+ try {
36
+ const result = rule.check(context);
37
+ if (result?.hasIssue) {
38
+ issues.push({
39
+ severity: rule.severity,
40
+ rule: rule.id,
41
+ category: rule.category,
42
+ message: result.message,
43
+ line: result.line,
44
+ column: result.column,
45
+ source: 'builtin',
46
+ suggestion: result.suggestion,
47
+ details: result.details
48
+ });
49
+ }
50
+ }
51
+ catch (error) {
52
+ logger.warn(`Rule ${rule.id} failed`, { error, filePath });
53
+ }
54
+ }
55
+ logger.debug(`${this.language} analysis complete`, {
56
+ filePath,
57
+ issues: issues.length,
58
+ duration: Date.now() - startTime
59
+ });
60
+ }
61
+ catch (error) {
62
+ logger.error(`${this.language} parsing failed`, { error, filePath });
63
+ }
64
+ return issues;
65
+ }
66
+ /**
67
+ * Create parse context for rules
68
+ */
69
+ createContext(code, filePath, parseResult) {
70
+ const lines = code.split('\n');
71
+ return {
72
+ code,
73
+ filePath,
74
+ language: this.language,
75
+ symbols: parseResult.symbols,
76
+ imports: parseResult.imports,
77
+ functions: parseResult.functions,
78
+ classes: parseResult.classes,
79
+ variables: parseResult.variables,
80
+ comments: parseResult.comments,
81
+ getLine: (lineNumber) => lines[lineNumber - 1] || '',
82
+ getLines: (start, end) => lines.slice(start - 1, end),
83
+ containsPattern: (pattern) => pattern.test(code),
84
+ findPatternMatches: (pattern) => {
85
+ const matches = [];
86
+ const globalPattern = new RegExp(pattern.source, 'gm');
87
+ let match;
88
+ while ((match = globalPattern.exec(code)) !== null) {
89
+ const beforeMatch = code.substring(0, match.index);
90
+ const lineNumber = beforeMatch.split('\n').length;
91
+ const lastNewline = beforeMatch.lastIndexOf('\n');
92
+ const column = match.index - lastNewline;
93
+ matches.push({
94
+ match: match[0],
95
+ line: lineNumber,
96
+ column,
97
+ groups: match.groups
98
+ });
99
+ }
100
+ return matches;
101
+ }
102
+ };
103
+ }
104
+ /**
105
+ * Helper: Extract comments from code
106
+ */
107
+ extractComments(code, lineCommentPrefix, blockStart, blockEnd) {
108
+ const comments = [];
109
+ const lines = code.split('\n');
110
+ // Line comments
111
+ const lineCommentRegex = new RegExp(`${escapeRegex(lineCommentPrefix)}(.*)$`, 'gm');
112
+ let match;
113
+ while ((match = lineCommentRegex.exec(code)) !== null) {
114
+ const beforeMatch = code.substring(0, match.index);
115
+ const lineNumber = beforeMatch.split('\n').length;
116
+ const text = match[1].trim();
117
+ comments.push({
118
+ text,
119
+ line: lineNumber,
120
+ type: 'line',
121
+ isTodo: /\bTODO\b/i.test(text),
122
+ isFixme: /\bFIXME\b/i.test(text)
123
+ });
124
+ }
125
+ // Block comments
126
+ if (blockStart && blockEnd) {
127
+ const blockRegex = new RegExp(`${escapeRegex(blockStart)}([\\s\\S]*?)${escapeRegex(blockEnd)}`, 'gm');
128
+ while ((match = blockRegex.exec(code)) !== null) {
129
+ const beforeMatch = code.substring(0, match.index);
130
+ const startLine = beforeMatch.split('\n').length;
131
+ const endLine = startLine + match[0].split('\n').length - 1;
132
+ const text = match[1].trim();
133
+ comments.push({
134
+ text,
135
+ line: startLine,
136
+ endLine,
137
+ type: text.startsWith('*') ? 'doc' : 'block',
138
+ isTodo: /\bTODO\b/i.test(text),
139
+ isFixme: /\bFIXME\b/i.test(text)
140
+ });
141
+ }
142
+ }
143
+ return comments;
144
+ }
145
+ /**
146
+ * Helper: Count complexity (basic cyclomatic)
147
+ */
148
+ calculateComplexity(code) {
149
+ // Count decision points
150
+ const decisionPatterns = [
151
+ /\bif\b/g,
152
+ /\belse\s+if\b/g,
153
+ /\bwhile\b/g,
154
+ /\bfor\b/g,
155
+ /\bcase\b/g,
156
+ /\bcatch\b/g,
157
+ /\b\?\s*:/g, // ternary
158
+ /\&\&/g,
159
+ /\|\|/g
160
+ ];
161
+ let complexity = 1; // Base complexity
162
+ for (const pattern of decisionPatterns) {
163
+ const matches = code.match(pattern);
164
+ if (matches) {
165
+ complexity += matches.length;
166
+ }
167
+ }
168
+ return complexity;
169
+ }
170
+ }
171
+ /**
172
+ * Escape special regex characters
173
+ */
174
+ function escapeRegex(str) {
175
+ return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
176
+ }
177
+ //# sourceMappingURL=baseParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseParser.js","sourceRoot":"","sources":["../../../src/services/parsers/baseParser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Go Language Parser
3
+ * Semantic analysis for Go code
4
+ * @version 3.2.0
5
+ */
6
+ import { BaseLanguageParser } from './baseParser.js';
7
+ import type { ParseResult, LanguageRule } from './types.js';
8
+ /**
9
+ * Go-specific parser with semantic rules
10
+ */
11
+ export declare class GoParser extends BaseLanguageParser {
12
+ readonly language: "go";
13
+ readonly extensions: string[];
14
+ constructor();
15
+ parse(code: string, filePath: string): ParseResult;
16
+ private extractImports;
17
+ private extractFunctions;
18
+ private parseGoParams;
19
+ private splitGoParams;
20
+ private extractStructs;
21
+ private extractVariables;
22
+ }
23
+ /**
24
+ * Go-specific semantic rules
25
+ */
26
+ declare const GO_RULES: LanguageRule[];
27
+ export { GO_RULES };
28
+ //# sourceMappingURL=goParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"goParser.d.ts","sourceRoot":"","sources":["../../../src/services/parsers/goParser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EACV,WAAW,EASX,YAAY,EAEb,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,qBAAa,QAAS,SAAQ,kBAAkB;IAC9C,QAAQ,CAAC,QAAQ,EAAG,IAAI,CAAU;IAClC,QAAQ,CAAC,UAAU,WAAW;;IAO9B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW;IAwElD,OAAO,CAAC,cAAc;IA6CtB,OAAO,CAAC,gBAAgB;IAuDxB,OAAO,CAAC,aAAa;IAiCrB,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,cAAc;IAkDtB,OAAO,CAAC,gBAAgB;CAyBzB;AAED;;GAEG;AACH,QAAA,MAAM,QAAQ,EAAE,YAAY,EA2T3B,CAAC;AAEF,OAAO,EAAE,QAAQ,EAAE,CAAC"}