@mduenas/codegraph 0.4.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 (192) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +641 -0
  3. package/dist/bin/codegraph.d.ts +20 -0
  4. package/dist/bin/codegraph.d.ts.map +1 -0
  5. package/dist/bin/codegraph.js +704 -0
  6. package/dist/bin/codegraph.js.map +1 -0
  7. package/dist/config.d.ts +51 -0
  8. package/dist/config.d.ts.map +1 -0
  9. package/dist/config.js +291 -0
  10. package/dist/config.js.map +1 -0
  11. package/dist/context/formatter.d.ts +30 -0
  12. package/dist/context/formatter.d.ts.map +1 -0
  13. package/dist/context/formatter.js +244 -0
  14. package/dist/context/formatter.js.map +1 -0
  15. package/dist/context/index.d.ts +86 -0
  16. package/dist/context/index.d.ts.map +1 -0
  17. package/dist/context/index.js +402 -0
  18. package/dist/context/index.js.map +1 -0
  19. package/dist/db/index.d.ts +64 -0
  20. package/dist/db/index.d.ts.map +1 -0
  21. package/dist/db/index.js +170 -0
  22. package/dist/db/index.js.map +1 -0
  23. package/dist/db/migrations.d.ts +44 -0
  24. package/dist/db/migrations.d.ts.map +1 -0
  25. package/dist/db/migrations.js +105 -0
  26. package/dist/db/migrations.js.map +1 -0
  27. package/dist/db/queries.d.ts +148 -0
  28. package/dist/db/queries.d.ts.map +1 -0
  29. package/dist/db/queries.js +669 -0
  30. package/dist/db/queries.js.map +1 -0
  31. package/dist/directory.d.ts +45 -0
  32. package/dist/directory.d.ts.map +1 -0
  33. package/dist/directory.js +191 -0
  34. package/dist/directory.js.map +1 -0
  35. package/dist/errors.d.ts +136 -0
  36. package/dist/errors.d.ts.map +1 -0
  37. package/dist/errors.js +219 -0
  38. package/dist/errors.js.map +1 -0
  39. package/dist/extraction/grammars.d.ts +36 -0
  40. package/dist/extraction/grammars.d.ts.map +1 -0
  41. package/dist/extraction/grammars.js +181 -0
  42. package/dist/extraction/grammars.js.map +1 -0
  43. package/dist/extraction/index.d.ts +91 -0
  44. package/dist/extraction/index.d.ts.map +1 -0
  45. package/dist/extraction/index.js +493 -0
  46. package/dist/extraction/index.js.map +1 -0
  47. package/dist/extraction/tree-sitter.d.ts +176 -0
  48. package/dist/extraction/tree-sitter.d.ts.map +1 -0
  49. package/dist/extraction/tree-sitter.js +1798 -0
  50. package/dist/extraction/tree-sitter.js.map +1 -0
  51. package/dist/graph/index.d.ts +8 -0
  52. package/dist/graph/index.d.ts.map +1 -0
  53. package/dist/graph/index.js +13 -0
  54. package/dist/graph/index.js.map +1 -0
  55. package/dist/graph/queries.d.ts +106 -0
  56. package/dist/graph/queries.d.ts.map +1 -0
  57. package/dist/graph/queries.js +355 -0
  58. package/dist/graph/queries.js.map +1 -0
  59. package/dist/graph/traversal.d.ts +127 -0
  60. package/dist/graph/traversal.d.ts.map +1 -0
  61. package/dist/graph/traversal.js +465 -0
  62. package/dist/graph/traversal.js.map +1 -0
  63. package/dist/index.d.ts +496 -0
  64. package/dist/index.d.ts.map +1 -0
  65. package/dist/index.js +818 -0
  66. package/dist/index.js.map +1 -0
  67. package/dist/installer/banner.d.ts +40 -0
  68. package/dist/installer/banner.d.ts.map +1 -0
  69. package/dist/installer/banner.js +162 -0
  70. package/dist/installer/banner.js.map +1 -0
  71. package/dist/installer/claude-md-template.d.ts +10 -0
  72. package/dist/installer/claude-md-template.d.ts.map +1 -0
  73. package/dist/installer/claude-md-template.js +46 -0
  74. package/dist/installer/claude-md-template.js.map +1 -0
  75. package/dist/installer/config-writer.d.ts +36 -0
  76. package/dist/installer/config-writer.d.ts.map +1 -0
  77. package/dist/installer/config-writer.js +282 -0
  78. package/dist/installer/config-writer.js.map +1 -0
  79. package/dist/installer/index.d.ts +13 -0
  80. package/dist/installer/index.d.ts.map +1 -0
  81. package/dist/installer/index.js +155 -0
  82. package/dist/installer/index.js.map +1 -0
  83. package/dist/installer/prompts.d.ts +18 -0
  84. package/dist/installer/prompts.d.ts.map +1 -0
  85. package/dist/installer/prompts.js +113 -0
  86. package/dist/installer/prompts.js.map +1 -0
  87. package/dist/mcp/index.d.ts +64 -0
  88. package/dist/mcp/index.d.ts.map +1 -0
  89. package/dist/mcp/index.js +207 -0
  90. package/dist/mcp/index.js.map +1 -0
  91. package/dist/mcp/tools.d.ts +93 -0
  92. package/dist/mcp/tools.d.ts.map +1 -0
  93. package/dist/mcp/tools.js +442 -0
  94. package/dist/mcp/tools.js.map +1 -0
  95. package/dist/mcp/transport.d.ts +89 -0
  96. package/dist/mcp/transport.d.ts.map +1 -0
  97. package/dist/mcp/transport.js +170 -0
  98. package/dist/mcp/transport.js.map +1 -0
  99. package/dist/resolution/frameworks/csharp.d.ts +8 -0
  100. package/dist/resolution/frameworks/csharp.d.ts.map +1 -0
  101. package/dist/resolution/frameworks/csharp.js +274 -0
  102. package/dist/resolution/frameworks/csharp.js.map +1 -0
  103. package/dist/resolution/frameworks/express.d.ts +8 -0
  104. package/dist/resolution/frameworks/express.d.ts.map +1 -0
  105. package/dist/resolution/frameworks/express.js +208 -0
  106. package/dist/resolution/frameworks/express.js.map +1 -0
  107. package/dist/resolution/frameworks/go.d.ts +8 -0
  108. package/dist/resolution/frameworks/go.d.ts.map +1 -0
  109. package/dist/resolution/frameworks/go.js +225 -0
  110. package/dist/resolution/frameworks/go.js.map +1 -0
  111. package/dist/resolution/frameworks/index.d.ts +33 -0
  112. package/dist/resolution/frameworks/index.d.ts.map +1 -0
  113. package/dist/resolution/frameworks/index.js +113 -0
  114. package/dist/resolution/frameworks/index.js.map +1 -0
  115. package/dist/resolution/frameworks/java.d.ts +8 -0
  116. package/dist/resolution/frameworks/java.d.ts.map +1 -0
  117. package/dist/resolution/frameworks/java.js +239 -0
  118. package/dist/resolution/frameworks/java.js.map +1 -0
  119. package/dist/resolution/frameworks/laravel.d.ts +13 -0
  120. package/dist/resolution/frameworks/laravel.d.ts.map +1 -0
  121. package/dist/resolution/frameworks/laravel.js +198 -0
  122. package/dist/resolution/frameworks/laravel.js.map +1 -0
  123. package/dist/resolution/frameworks/python.d.ts +10 -0
  124. package/dist/resolution/frameworks/python.d.ts.map +1 -0
  125. package/dist/resolution/frameworks/python.js +331 -0
  126. package/dist/resolution/frameworks/python.js.map +1 -0
  127. package/dist/resolution/frameworks/react.d.ts +8 -0
  128. package/dist/resolution/frameworks/react.d.ts.map +1 -0
  129. package/dist/resolution/frameworks/react.js +294 -0
  130. package/dist/resolution/frameworks/react.js.map +1 -0
  131. package/dist/resolution/frameworks/ruby.d.ts +8 -0
  132. package/dist/resolution/frameworks/ruby.d.ts.map +1 -0
  133. package/dist/resolution/frameworks/ruby.js +262 -0
  134. package/dist/resolution/frameworks/ruby.js.map +1 -0
  135. package/dist/resolution/frameworks/rust.d.ts +8 -0
  136. package/dist/resolution/frameworks/rust.d.ts.map +1 -0
  137. package/dist/resolution/frameworks/rust.js +222 -0
  138. package/dist/resolution/frameworks/rust.js.map +1 -0
  139. package/dist/resolution/frameworks/swift.d.ts +10 -0
  140. package/dist/resolution/frameworks/swift.d.ts.map +1 -0
  141. package/dist/resolution/frameworks/swift.js +486 -0
  142. package/dist/resolution/frameworks/swift.js.map +1 -0
  143. package/dist/resolution/import-resolver.d.ts +20 -0
  144. package/dist/resolution/import-resolver.d.ts.map +1 -0
  145. package/dist/resolution/import-resolver.js +445 -0
  146. package/dist/resolution/import-resolver.js.map +1 -0
  147. package/dist/resolution/index.d.ts +72 -0
  148. package/dist/resolution/index.d.ts.map +1 -0
  149. package/dist/resolution/index.js +301 -0
  150. package/dist/resolution/index.js.map +1 -0
  151. package/dist/resolution/name-matcher.d.ts +27 -0
  152. package/dist/resolution/name-matcher.d.ts.map +1 -0
  153. package/dist/resolution/name-matcher.js +210 -0
  154. package/dist/resolution/name-matcher.js.map +1 -0
  155. package/dist/resolution/types.d.ts +108 -0
  156. package/dist/resolution/types.d.ts.map +1 -0
  157. package/dist/resolution/types.js +8 -0
  158. package/dist/resolution/types.js.map +1 -0
  159. package/dist/sync/git-hooks.d.ts +66 -0
  160. package/dist/sync/git-hooks.d.ts.map +1 -0
  161. package/dist/sync/git-hooks.js +281 -0
  162. package/dist/sync/git-hooks.js.map +1 -0
  163. package/dist/sync/index.d.ts +13 -0
  164. package/dist/sync/index.d.ts.map +1 -0
  165. package/dist/sync/index.js +18 -0
  166. package/dist/sync/index.js.map +1 -0
  167. package/dist/types.d.ts +410 -0
  168. package/dist/types.d.ts.map +1 -0
  169. package/dist/types.js +165 -0
  170. package/dist/types.js.map +1 -0
  171. package/dist/utils.d.ts +116 -0
  172. package/dist/utils.d.ts.map +1 -0
  173. package/dist/utils.js +295 -0
  174. package/dist/utils.js.map +1 -0
  175. package/dist/vectors/embedder.d.ts +140 -0
  176. package/dist/vectors/embedder.d.ts.map +1 -0
  177. package/dist/vectors/embedder.js +336 -0
  178. package/dist/vectors/embedder.js.map +1 -0
  179. package/dist/vectors/index.d.ts +9 -0
  180. package/dist/vectors/index.d.ts.map +1 -0
  181. package/dist/vectors/index.js +20 -0
  182. package/dist/vectors/index.js.map +1 -0
  183. package/dist/vectors/manager.d.ts +119 -0
  184. package/dist/vectors/manager.d.ts.map +1 -0
  185. package/dist/vectors/manager.js +274 -0
  186. package/dist/vectors/manager.js.map +1 -0
  187. package/dist/vectors/search.d.ts +134 -0
  188. package/dist/vectors/search.d.ts.map +1 -0
  189. package/dist/vectors/search.js +409 -0
  190. package/dist/vectors/search.js.map +1 -0
  191. package/package.json +67 -0
  192. package/scripts/postinstall.js +68 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react.js","sourceRoot":"","sources":["../../../src/resolution/frameworks/react.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Ruby Framework Resolver
3
+ *
4
+ * Handles Ruby on Rails patterns.
5
+ */
6
+ import { FrameworkResolver } from '../types';
7
+ export declare const railsResolver: FrameworkResolver;
8
+ //# sourceMappingURL=ruby.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ruby.d.ts","sourceRoot":"","sources":["../../../src/resolution/frameworks/ruby.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,iBAAiB,EAAiD,MAAM,UAAU,CAAC;AAE5F,eAAO,MAAM,aAAa,EAAE,iBAiL3B,CAAC"}
@@ -0,0 +1,262 @@
1
+ "use strict";
2
+ /**
3
+ * Ruby Framework Resolver
4
+ *
5
+ * Handles Ruby on Rails patterns.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.railsResolver = void 0;
9
+ exports.railsResolver = {
10
+ name: 'rails',
11
+ detect(context) {
12
+ // Check for Gemfile with rails
13
+ const gemfile = context.readFile('Gemfile');
14
+ if (gemfile && gemfile.includes("'rails'")) {
15
+ return true;
16
+ }
17
+ // Check for config/application.rb (Rails signature)
18
+ if (context.fileExists('config/application.rb')) {
19
+ return true;
20
+ }
21
+ // Check for typical Rails directory structure
22
+ return (context.fileExists('app/controllers/application_controller.rb') ||
23
+ context.fileExists('config/routes.rb'));
24
+ },
25
+ resolve(ref, context) {
26
+ // Pattern 1: Model references (ActiveRecord)
27
+ if (/^[A-Z][a-zA-Z]+$/.test(ref.referenceName)) {
28
+ const result = resolveModel(ref.referenceName, context);
29
+ if (result) {
30
+ return {
31
+ original: ref,
32
+ targetNodeId: result,
33
+ confidence: 0.8,
34
+ resolvedBy: 'framework',
35
+ };
36
+ }
37
+ }
38
+ // Pattern 2: Controller references
39
+ if (ref.referenceName.endsWith('Controller')) {
40
+ const result = resolveController(ref.referenceName, context);
41
+ if (result) {
42
+ return {
43
+ original: ref,
44
+ targetNodeId: result,
45
+ confidence: 0.85,
46
+ resolvedBy: 'framework',
47
+ };
48
+ }
49
+ }
50
+ // Pattern 3: Helper references
51
+ if (ref.referenceName.endsWith('Helper')) {
52
+ const result = resolveHelper(ref.referenceName, context);
53
+ if (result) {
54
+ return {
55
+ original: ref,
56
+ targetNodeId: result,
57
+ confidence: 0.8,
58
+ resolvedBy: 'framework',
59
+ };
60
+ }
61
+ }
62
+ // Pattern 4: Service/Job references
63
+ if (ref.referenceName.endsWith('Service') || ref.referenceName.endsWith('Job')) {
64
+ const result = resolveService(ref.referenceName, context);
65
+ if (result) {
66
+ return {
67
+ original: ref,
68
+ targetNodeId: result,
69
+ confidence: 0.8,
70
+ resolvedBy: 'framework',
71
+ };
72
+ }
73
+ }
74
+ return null;
75
+ },
76
+ extractNodes(filePath, content) {
77
+ const nodes = [];
78
+ const now = Date.now();
79
+ // Extract route definitions from config/routes.rb
80
+ if (filePath.includes('routes.rb')) {
81
+ // get/post/put/patch/delete 'path'
82
+ const routePatterns = [
83
+ /(get|post|put|patch|delete)\s+['"]([^'"]+)['"]/g,
84
+ /resources?\s+:(\w+)/g,
85
+ /root\s+['"]([^'"]+)['"]/g,
86
+ /root\s+to:\s*['"]([^'"]+)['"]/g,
87
+ ];
88
+ for (const pattern of routePatterns) {
89
+ let match;
90
+ while ((match = pattern.exec(content)) !== null) {
91
+ const line = content.slice(0, match.index).split('\n').length;
92
+ if (pattern.source.includes('resources')) {
93
+ const [, resourceName] = match;
94
+ nodes.push({
95
+ id: `route:${filePath}:resource:${resourceName}:${line}`,
96
+ kind: 'route',
97
+ name: `resource:${resourceName}`,
98
+ qualifiedName: `${filePath}::resource:${resourceName}`,
99
+ filePath,
100
+ startLine: line,
101
+ endLine: line,
102
+ startColumn: 0,
103
+ endColumn: match[0].length,
104
+ language: 'ruby',
105
+ updatedAt: now,
106
+ });
107
+ }
108
+ else if (pattern.source.includes('root')) {
109
+ const [, target] = match;
110
+ nodes.push({
111
+ id: `route:${filePath}:root:${line}`,
112
+ kind: 'route',
113
+ name: `/ -> ${target}`,
114
+ qualifiedName: `${filePath}::root`,
115
+ filePath,
116
+ startLine: line,
117
+ endLine: line,
118
+ startColumn: 0,
119
+ endColumn: match[0].length,
120
+ language: 'ruby',
121
+ updatedAt: now,
122
+ });
123
+ }
124
+ else {
125
+ const [, method, path] = match;
126
+ nodes.push({
127
+ id: `route:${filePath}:${method.toUpperCase()}:${path}:${line}`,
128
+ kind: 'route',
129
+ name: `${method.toUpperCase()} ${path}`,
130
+ qualifiedName: `${filePath}::${method.toUpperCase()}:${path}`,
131
+ filePath,
132
+ startLine: line,
133
+ endLine: line,
134
+ startColumn: 0,
135
+ endColumn: match[0].length,
136
+ language: 'ruby',
137
+ updatedAt: now,
138
+ });
139
+ }
140
+ }
141
+ }
142
+ }
143
+ // Extract controller actions
144
+ if (filePath.includes('controllers/') && filePath.endsWith('.rb')) {
145
+ const actionPattern = /def\s+(\w+)/g;
146
+ let match;
147
+ while ((match = actionPattern.exec(content)) !== null) {
148
+ const [, actionName] = match;
149
+ const line = content.slice(0, match.index).split('\n').length;
150
+ // Skip private methods and common Rails callbacks
151
+ const privateMethods = ['initialize', 'set_', 'before_', 'after_'];
152
+ if (!privateMethods.some((p) => actionName.startsWith(p))) {
153
+ nodes.push({
154
+ id: `action:${filePath}:${actionName}:${line}`,
155
+ kind: 'method',
156
+ name: actionName,
157
+ qualifiedName: `${filePath}::${actionName}`,
158
+ filePath,
159
+ startLine: line,
160
+ endLine: line,
161
+ startColumn: 0,
162
+ endColumn: match[0].length,
163
+ language: 'ruby',
164
+ updatedAt: now,
165
+ });
166
+ }
167
+ }
168
+ }
169
+ return nodes;
170
+ },
171
+ };
172
+ // Helper functions
173
+ function resolveModel(name, context) {
174
+ // Convert CamelCase to snake_case for file lookup
175
+ const snakeName = name.replace(/([A-Z])/g, '_$1').toLowerCase().slice(1);
176
+ const possiblePaths = [
177
+ `app/models/${snakeName}.rb`,
178
+ `app/models/concerns/${snakeName}.rb`,
179
+ ];
180
+ for (const modelPath of possiblePaths) {
181
+ if (context.fileExists(modelPath)) {
182
+ const nodes = context.getNodesInFile(modelPath);
183
+ const modelNode = nodes.find((n) => n.kind === 'class' && n.name === name);
184
+ if (modelNode) {
185
+ return modelNode.id;
186
+ }
187
+ }
188
+ }
189
+ // Search all model files
190
+ const allFiles = context.getAllFiles();
191
+ for (const file of allFiles) {
192
+ if (file.includes('app/models/') && file.endsWith('.rb')) {
193
+ const nodes = context.getNodesInFile(file);
194
+ const modelNode = nodes.find((n) => n.kind === 'class' && n.name === name);
195
+ if (modelNode) {
196
+ return modelNode.id;
197
+ }
198
+ }
199
+ }
200
+ return null;
201
+ }
202
+ function resolveController(name, context) {
203
+ // Convert CamelCase to snake_case
204
+ const snakeName = name.replace(/([A-Z])/g, '_$1').toLowerCase().slice(1);
205
+ const possiblePaths = [
206
+ `app/controllers/${snakeName}.rb`,
207
+ `app/controllers/api/${snakeName}.rb`,
208
+ `app/controllers/api/v1/${snakeName}.rb`,
209
+ ];
210
+ for (const controllerPath of possiblePaths) {
211
+ if (context.fileExists(controllerPath)) {
212
+ const nodes = context.getNodesInFile(controllerPath);
213
+ const controllerNode = nodes.find((n) => n.kind === 'class' && n.name === name);
214
+ if (controllerNode) {
215
+ return controllerNode.id;
216
+ }
217
+ }
218
+ }
219
+ // Search all controller files
220
+ const allFiles = context.getAllFiles();
221
+ for (const file of allFiles) {
222
+ if (file.includes('controllers/') && file.endsWith('.rb')) {
223
+ const nodes = context.getNodesInFile(file);
224
+ const controllerNode = nodes.find((n) => n.kind === 'class' && n.name === name);
225
+ if (controllerNode) {
226
+ return controllerNode.id;
227
+ }
228
+ }
229
+ }
230
+ return null;
231
+ }
232
+ function resolveHelper(name, context) {
233
+ const snakeName = name.replace(/([A-Z])/g, '_$1').toLowerCase().slice(1);
234
+ const helperPath = `app/helpers/${snakeName}.rb`;
235
+ if (context.fileExists(helperPath)) {
236
+ const nodes = context.getNodesInFile(helperPath);
237
+ const helperNode = nodes.find((n) => n.kind === 'module' && n.name === name);
238
+ if (helperNode) {
239
+ return helperNode.id;
240
+ }
241
+ }
242
+ return null;
243
+ }
244
+ function resolveService(name, context) {
245
+ const snakeName = name.replace(/([A-Z])/g, '_$1').toLowerCase().slice(1);
246
+ const possiblePaths = [
247
+ `app/services/${snakeName}.rb`,
248
+ `app/jobs/${snakeName}.rb`,
249
+ `app/workers/${snakeName}.rb`,
250
+ ];
251
+ for (const servicePath of possiblePaths) {
252
+ if (context.fileExists(servicePath)) {
253
+ const nodes = context.getNodesInFile(servicePath);
254
+ const serviceNode = nodes.find((n) => n.kind === 'class' && n.name === name);
255
+ if (serviceNode) {
256
+ return serviceNode.id;
257
+ }
258
+ }
259
+ }
260
+ return null;
261
+ }
262
+ //# sourceMappingURL=ruby.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ruby.js","sourceRoot":"","sources":["../../../src/resolution/frameworks/ruby.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Rust Framework Resolver
3
+ *
4
+ * Handles Actix-web, Rocket, Axum, and common Rust patterns.
5
+ */
6
+ import { FrameworkResolver } from '../types';
7
+ export declare const rustResolver: FrameworkResolver;
8
+ //# sourceMappingURL=rust.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rust.d.ts","sourceRoot":"","sources":["../../../src/resolution/frameworks/rust.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,iBAAiB,EAAiD,MAAM,UAAU,CAAC;AAE5F,eAAO,MAAM,YAAY,EAAE,iBAgJ1B,CAAC"}
@@ -0,0 +1,222 @@
1
+ "use strict";
2
+ /**
3
+ * Rust Framework Resolver
4
+ *
5
+ * Handles Actix-web, Rocket, Axum, and common Rust patterns.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.rustResolver = void 0;
9
+ exports.rustResolver = {
10
+ name: 'rust',
11
+ detect(context) {
12
+ // Check for Cargo.toml (Rust project signature)
13
+ return context.fileExists('Cargo.toml');
14
+ },
15
+ resolve(ref, context) {
16
+ // Pattern 1: Handler references
17
+ if (ref.referenceName.endsWith('_handler') || ref.referenceName.startsWith('handle_')) {
18
+ const result = resolveHandler(ref.referenceName, context);
19
+ if (result) {
20
+ return {
21
+ original: ref,
22
+ targetNodeId: result,
23
+ confidence: 0.8,
24
+ resolvedBy: 'framework',
25
+ };
26
+ }
27
+ }
28
+ // Pattern 2: Service/Repository trait implementations
29
+ if (ref.referenceName.endsWith('Service') || ref.referenceName.endsWith('Repository')) {
30
+ const result = resolveService(ref.referenceName, context);
31
+ if (result) {
32
+ return {
33
+ original: ref,
34
+ targetNodeId: result,
35
+ confidence: 0.8,
36
+ resolvedBy: 'framework',
37
+ };
38
+ }
39
+ }
40
+ // Pattern 3: Struct references (PascalCase)
41
+ if (/^[A-Z][a-zA-Z]+$/.test(ref.referenceName)) {
42
+ const result = resolveStruct(ref.referenceName, context);
43
+ if (result) {
44
+ return {
45
+ original: ref,
46
+ targetNodeId: result,
47
+ confidence: 0.7,
48
+ resolvedBy: 'framework',
49
+ };
50
+ }
51
+ }
52
+ // Pattern 4: Module references
53
+ if (/^[a-z_]+$/.test(ref.referenceName)) {
54
+ const result = resolveModule(ref.referenceName, context);
55
+ if (result) {
56
+ return {
57
+ original: ref,
58
+ targetNodeId: result,
59
+ confidence: 0.6,
60
+ resolvedBy: 'framework',
61
+ };
62
+ }
63
+ }
64
+ return null;
65
+ },
66
+ extractNodes(filePath, content) {
67
+ const nodes = [];
68
+ const now = Date.now();
69
+ // Extract Actix-web routes
70
+ // #[get("/path")], #[post("/path")], etc.
71
+ const actixRoutePattern = /#\[(get|post|put|patch|delete)\s*\(\s*["']([^"']+)["']/g;
72
+ let match;
73
+ while ((match = actixRoutePattern.exec(content)) !== null) {
74
+ const [, method, path] = match;
75
+ const line = content.slice(0, match.index).split('\n').length;
76
+ nodes.push({
77
+ id: `route:${filePath}:${method.toUpperCase()}:${path}:${line}`,
78
+ kind: 'route',
79
+ name: `${method.toUpperCase()} ${path}`,
80
+ qualifiedName: `${filePath}::${method.toUpperCase()}:${path}`,
81
+ filePath,
82
+ startLine: line,
83
+ endLine: line,
84
+ startColumn: 0,
85
+ endColumn: match[0].length,
86
+ language: 'rust',
87
+ updatedAt: now,
88
+ });
89
+ }
90
+ // Extract Rocket routes
91
+ // #[get("/path")], #[post("/path", ...)]
92
+ const rocketRoutePattern = /#\[(get|post|put|patch|delete|head|options)\s*\(\s*["']([^"']+)["']/g;
93
+ while ((match = rocketRoutePattern.exec(content)) !== null) {
94
+ const [, method, path] = match;
95
+ const line = content.slice(0, match.index).split('\n').length;
96
+ // Avoid duplicates from actix pattern
97
+ const routeId = `route:${filePath}:${method.toUpperCase()}:${path}:${line}`;
98
+ if (!nodes.some((n) => n.id === routeId)) {
99
+ nodes.push({
100
+ id: routeId,
101
+ kind: 'route',
102
+ name: `${method.toUpperCase()} ${path}`,
103
+ qualifiedName: `${filePath}::${method.toUpperCase()}:${path}`,
104
+ filePath,
105
+ startLine: line,
106
+ endLine: line,
107
+ startColumn: 0,
108
+ endColumn: match[0].length,
109
+ language: 'rust',
110
+ updatedAt: now,
111
+ });
112
+ }
113
+ }
114
+ // Extract Axum routes (method chaining style)
115
+ // .route("/path", get(handler))
116
+ const axumRoutePattern = /\.route\s*\(\s*["']([^"']+)["']\s*,\s*(get|post|put|patch|delete)/g;
117
+ while ((match = axumRoutePattern.exec(content)) !== null) {
118
+ const [, path, method] = match;
119
+ const line = content.slice(0, match.index).split('\n').length;
120
+ nodes.push({
121
+ id: `route:${filePath}:${method.toUpperCase()}:${path}:${line}`,
122
+ kind: 'route',
123
+ name: `${method.toUpperCase()} ${path}`,
124
+ qualifiedName: `${filePath}::${method.toUpperCase()}:${path}`,
125
+ filePath,
126
+ startLine: line,
127
+ endLine: line,
128
+ startColumn: 0,
129
+ endColumn: match[0].length,
130
+ language: 'rust',
131
+ updatedAt: now,
132
+ });
133
+ }
134
+ return nodes;
135
+ },
136
+ };
137
+ // Helper functions
138
+ function resolveHandler(name, context) {
139
+ const handlerDirs = ['handlers', 'handler', 'api', 'routes', 'controllers'];
140
+ const allFiles = context.getAllFiles();
141
+ for (const file of allFiles) {
142
+ if (file.endsWith('.rs') && handlerDirs.some((d) => file.includes(`/${d}/`) || file.includes(`/${d}.rs`))) {
143
+ const nodes = context.getNodesInFile(file);
144
+ const handlerNode = nodes.find((n) => n.kind === 'function' && n.name === name);
145
+ if (handlerNode) {
146
+ return handlerNode.id;
147
+ }
148
+ }
149
+ }
150
+ // Search all Rust files
151
+ for (const file of allFiles) {
152
+ if (file.endsWith('.rs')) {
153
+ const nodes = context.getNodesInFile(file);
154
+ const handlerNode = nodes.find((n) => n.kind === 'function' && n.name === name);
155
+ if (handlerNode) {
156
+ return handlerNode.id;
157
+ }
158
+ }
159
+ }
160
+ return null;
161
+ }
162
+ function resolveService(name, context) {
163
+ const serviceDirs = ['services', 'service', 'repository', 'domain'];
164
+ const allFiles = context.getAllFiles();
165
+ for (const file of allFiles) {
166
+ if (file.endsWith('.rs') && serviceDirs.some((d) => file.includes(`/${d}/`) || file.includes(`/${d}.rs`))) {
167
+ const nodes = context.getNodesInFile(file);
168
+ const serviceNode = nodes.find((n) => (n.kind === 'struct' || n.kind === 'trait') && n.name === name);
169
+ if (serviceNode) {
170
+ return serviceNode.id;
171
+ }
172
+ }
173
+ }
174
+ return null;
175
+ }
176
+ function resolveStruct(name, context) {
177
+ const modelDirs = ['models', 'model', 'entities', 'entity', 'domain', 'types'];
178
+ const allFiles = context.getAllFiles();
179
+ // Check model directories first
180
+ for (const file of allFiles) {
181
+ if (file.endsWith('.rs') && modelDirs.some((d) => file.includes(`/${d}/`) || file.includes(`/${d}.rs`))) {
182
+ const nodes = context.getNodesInFile(file);
183
+ const structNode = nodes.find((n) => n.kind === 'struct' && n.name === name);
184
+ if (structNode) {
185
+ return structNode.id;
186
+ }
187
+ }
188
+ }
189
+ // Search all Rust files
190
+ for (const file of allFiles) {
191
+ if (file.endsWith('.rs')) {
192
+ const nodes = context.getNodesInFile(file);
193
+ const structNode = nodes.find((n) => n.kind === 'struct' && n.name === name);
194
+ if (structNode) {
195
+ return structNode.id;
196
+ }
197
+ }
198
+ }
199
+ return null;
200
+ }
201
+ function resolveModule(name, context) {
202
+ // Rust modules can be either mod.rs in a directory or name.rs
203
+ const possiblePaths = [
204
+ `src/${name}.rs`,
205
+ `src/${name}/mod.rs`,
206
+ ];
207
+ for (const modPath of possiblePaths) {
208
+ if (context.fileExists(modPath)) {
209
+ const nodes = context.getNodesInFile(modPath);
210
+ const modNode = nodes.find((n) => n.kind === 'module');
211
+ if (modNode) {
212
+ return modNode.id;
213
+ }
214
+ // If no explicit module node, return the first node in the file
215
+ if (nodes.length > 0) {
216
+ return nodes[0].id;
217
+ }
218
+ }
219
+ }
220
+ return null;
221
+ }
222
+ //# sourceMappingURL=rust.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rust.js","sourceRoot":"","sources":["../../../src/resolution/frameworks/rust.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Swift Framework Resolver
3
+ *
4
+ * Handles SwiftUI, UIKit, and Vapor (server-side Swift) patterns.
5
+ */
6
+ import { FrameworkResolver } from '../types';
7
+ export declare const swiftUIResolver: FrameworkResolver;
8
+ export declare const uikitResolver: FrameworkResolver;
9
+ export declare const vaporResolver: FrameworkResolver;
10
+ //# sourceMappingURL=swift.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swift.d.ts","sourceRoot":"","sources":["../../../src/resolution/frameworks/swift.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,iBAAiB,EAAiD,MAAM,UAAU,CAAC;AAE5F,eAAO,MAAM,eAAe,EAAE,iBAwH7B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,iBAgI3B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,iBAyH3B,CAAC"}