@colbymchenry/codegraph 0.3.1 → 0.4.8

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.

Potentially problematic release.


This version of @colbymchenry/codegraph might be problematic. Click here for more details.

Files changed (113) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +647 -641
  3. package/dist/bin/codegraph.d.ts +7 -2
  4. package/dist/bin/codegraph.d.ts.map +1 -1
  5. package/dist/bin/codegraph.js +360 -140
  6. package/dist/bin/codegraph.js.map +1 -1
  7. package/dist/config.d.ts.map +1 -1
  8. package/dist/config.js +8 -1
  9. package/dist/config.js.map +1 -1
  10. package/dist/context/index.d.ts +17 -4
  11. package/dist/context/index.d.ts.map +1 -1
  12. package/dist/context/index.js +182 -15
  13. package/dist/context/index.js.map +1 -1
  14. package/dist/db/index.d.ts.map +1 -1
  15. package/dist/db/index.js +16 -0
  16. package/dist/db/index.js.map +1 -1
  17. package/dist/db/migrations.d.ts +1 -1
  18. package/dist/db/migrations.d.ts.map +1 -1
  19. package/dist/db/migrations.js +11 -12
  20. package/dist/db/migrations.js.map +1 -1
  21. package/dist/db/queries.d.ts +19 -0
  22. package/dist/db/queries.d.ts.map +1 -1
  23. package/dist/db/queries.js +221 -107
  24. package/dist/db/queries.js.map +1 -1
  25. package/dist/db/schema.sql +154 -149
  26. package/dist/directory.d.ts +13 -1
  27. package/dist/directory.d.ts.map +1 -1
  28. package/dist/directory.js +62 -19
  29. package/dist/directory.js.map +1 -1
  30. package/dist/errors.d.ts +1 -1
  31. package/dist/errors.d.ts.map +1 -1
  32. package/dist/errors.js +7 -1
  33. package/dist/errors.js.map +1 -1
  34. package/dist/extraction/grammars.d.ts +9 -4
  35. package/dist/extraction/grammars.d.ts.map +1 -1
  36. package/dist/extraction/grammars.js +133 -65
  37. package/dist/extraction/grammars.js.map +1 -1
  38. package/dist/extraction/index.d.ts.map +1 -1
  39. package/dist/extraction/index.js +119 -7
  40. package/dist/extraction/index.js.map +1 -1
  41. package/dist/extraction/tree-sitter.d.ts +62 -0
  42. package/dist/extraction/tree-sitter.d.ts.map +1 -1
  43. package/dist/extraction/tree-sitter.js +937 -34
  44. package/dist/extraction/tree-sitter.js.map +1 -1
  45. package/dist/graph/traversal.d.ts.map +1 -1
  46. package/dist/graph/traversal.js +6 -2
  47. package/dist/graph/traversal.js.map +1 -1
  48. package/dist/index.d.ts +6 -38
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +85 -73
  51. package/dist/index.js.map +1 -1
  52. package/dist/installer/banner.js +7 -7
  53. package/dist/installer/claude-md-template.js +32 -32
  54. package/dist/installer/config-writer.d.ts +9 -0
  55. package/dist/installer/config-writer.d.ts.map +1 -1
  56. package/dist/installer/config-writer.js +78 -0
  57. package/dist/installer/config-writer.js.map +1 -1
  58. package/dist/installer/index.d.ts.map +1 -1
  59. package/dist/installer/index.js +11 -9
  60. package/dist/installer/index.js.map +1 -1
  61. package/dist/mcp/index.d.ts +14 -3
  62. package/dist/mcp/index.d.ts.map +1 -1
  63. package/dist/mcp/index.js +109 -29
  64. package/dist/mcp/index.js.map +1 -1
  65. package/dist/mcp/tools.d.ts +62 -1
  66. package/dist/mcp/tools.d.ts.map +1 -1
  67. package/dist/mcp/tools.js +414 -43
  68. package/dist/mcp/tools.js.map +1 -1
  69. package/dist/mcp/transport.d.ts.map +1 -1
  70. package/dist/mcp/transport.js +2 -0
  71. package/dist/mcp/transport.js.map +1 -1
  72. package/dist/resolution/frameworks/index.d.ts +1 -0
  73. package/dist/resolution/frameworks/index.d.ts.map +1 -1
  74. package/dist/resolution/frameworks/index.js +5 -1
  75. package/dist/resolution/frameworks/index.js.map +1 -1
  76. package/dist/resolution/frameworks/svelte.d.ts +9 -0
  77. package/dist/resolution/frameworks/svelte.d.ts.map +1 -0
  78. package/dist/resolution/frameworks/svelte.js +268 -0
  79. package/dist/resolution/frameworks/svelte.js.map +1 -0
  80. package/dist/resolution/index.d.ts +11 -2
  81. package/dist/resolution/index.d.ts.map +1 -1
  82. package/dist/resolution/index.js +94 -13
  83. package/dist/resolution/index.js.map +1 -1
  84. package/dist/sentry.d.ts +22 -0
  85. package/dist/sentry.d.ts.map +1 -0
  86. package/dist/sentry.js +159 -0
  87. package/dist/sentry.js.map +1 -0
  88. package/dist/sync/index.d.ts +4 -2
  89. package/dist/sync/index.d.ts.map +1 -1
  90. package/dist/sync/index.js +3 -5
  91. package/dist/sync/index.js.map +1 -1
  92. package/dist/types.d.ts +5 -1
  93. package/dist/types.d.ts.map +1 -1
  94. package/dist/types.js +11 -0
  95. package/dist/types.js.map +1 -1
  96. package/dist/utils.d.ts +45 -2
  97. package/dist/utils.d.ts.map +1 -1
  98. package/dist/utils.js +114 -3
  99. package/dist/utils.js.map +1 -1
  100. package/dist/vectors/embedder.d.ts +1 -1
  101. package/dist/vectors/embedder.d.ts.map +1 -1
  102. package/dist/vectors/embedder.js +2 -2
  103. package/dist/vectors/embedder.js.map +1 -1
  104. package/dist/vectors/search.d.ts.map +1 -1
  105. package/dist/vectors/search.js +33 -32
  106. package/dist/vectors/search.js.map +1 -1
  107. package/package.json +72 -67
  108. package/scripts/patch-tree-sitter-dart.js +112 -0
  109. package/scripts/postinstall.js +71 -68
  110. package/dist/sync/git-hooks.d.ts +0 -66
  111. package/dist/sync/git-hooks.d.ts.map +0 -1
  112. package/dist/sync/git-hooks.js +0 -281
  113. package/dist/sync/git-hooks.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * Grammar Loading and Caching
3
3
  *
4
- * Manages tree-sitter language grammars.
4
+ * Uses lazy per-language loading so one missing native grammar does not
5
+ * break extraction for all other languages.
5
6
  */
6
7
  import Parser from 'tree-sitter';
7
8
  import { Language } from '../types';
@@ -18,17 +19,21 @@ export declare function getParser(language: Language): Parser | null;
18
19
  */
19
20
  export declare function detectLanguage(filePath: string): Language;
20
21
  /**
21
- * Check if a language is supported
22
+ * Check if a language is supported by currently available parsers.
22
23
  */
23
24
  export declare function isLanguageSupported(language: Language): boolean;
24
25
  /**
25
- * Get all supported languages
26
+ * Get all currently supported languages.
26
27
  */
27
28
  export declare function getSupportedLanguages(): Language[];
28
29
  /**
29
- * Clear the parser cache (useful for testing)
30
+ * Clear parser/grammar caches (useful for testing)
30
31
  */
31
32
  export declare function clearParserCache(): void;
33
+ /**
34
+ * Report grammars that failed to load.
35
+ */
36
+ export declare function getUnavailableGrammarErrors(): Partial<Record<Language, string>>;
32
37
  /**
33
38
  * Get language display name
34
39
  */
@@ -1 +1 @@
1
- {"version":3,"file":"grammars.d.ts","sourceRoot":"","sources":["../../src/extraction/grammars.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAwDpC;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CA2BlD,CAAC;AAOF;;GAEG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAkB3D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAGzD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAI/D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,QAAQ,EAAE,CAKlD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAqBjE"}
1
+ {"version":3,"file":"grammars.d.ts","sourceRoot":"","sources":["../../src/extraction/grammars.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AA8EpC;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CA6BlD,CAAC;AAwCF;;GAEG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAc3D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAGzD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAK/D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,QAAQ,EAAE,CAIlD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAIvC;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAM/E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAuBjE"}
@@ -2,7 +2,8 @@
2
2
  /**
3
3
  * Grammar Loading and Caching
4
4
  *
5
- * Manages tree-sitter language grammars.
5
+ * Uses lazy per-language loading so one missing native grammar does not
6
+ * break extraction for all other languages.
6
7
  */
7
8
  var __importDefault = (this && this.__importDefault) || function (mod) {
8
9
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -14,59 +15,80 @@ exports.detectLanguage = detectLanguage;
14
15
  exports.isLanguageSupported = isLanguageSupported;
15
16
  exports.getSupportedLanguages = getSupportedLanguages;
16
17
  exports.clearParserCache = clearParserCache;
18
+ exports.getUnavailableGrammarErrors = getUnavailableGrammarErrors;
17
19
  exports.getLanguageDisplayName = getLanguageDisplayName;
18
20
  const tree_sitter_1 = __importDefault(require("tree-sitter"));
19
- // Grammar module imports
20
- // eslint-disable-next-line @typescript-eslint/no-require-imports
21
- const TypeScript = require('tree-sitter-typescript').typescript;
22
- // eslint-disable-next-line @typescript-eslint/no-require-imports
23
- const TSX = require('tree-sitter-typescript').tsx;
24
- // eslint-disable-next-line @typescript-eslint/no-require-imports
25
- const JavaScript = require('tree-sitter-javascript');
26
- // eslint-disable-next-line @typescript-eslint/no-require-imports
27
- const Python = require('tree-sitter-python');
28
- // eslint-disable-next-line @typescript-eslint/no-require-imports
29
- const Go = require('tree-sitter-go');
30
- // eslint-disable-next-line @typescript-eslint/no-require-imports
31
- const Rust = require('tree-sitter-rust');
32
- // eslint-disable-next-line @typescript-eslint/no-require-imports
33
- const Java = require('tree-sitter-java');
34
- // eslint-disable-next-line @typescript-eslint/no-require-imports
35
- const C = require('tree-sitter-c');
36
- // eslint-disable-next-line @typescript-eslint/no-require-imports
37
- const Cpp = require('tree-sitter-cpp');
38
- // eslint-disable-next-line @typescript-eslint/no-require-imports
39
- const CSharp = require('tree-sitter-c-sharp');
40
- // eslint-disable-next-line @typescript-eslint/no-require-imports
41
- const PHP = require('tree-sitter-php').php;
42
- // eslint-disable-next-line @typescript-eslint/no-require-imports
43
- const Ruby = require('tree-sitter-ruby');
44
- // eslint-disable-next-line @typescript-eslint/no-require-imports
45
- const Swift = require('tree-sitter-swift');
46
- // eslint-disable-next-line @typescript-eslint/no-require-imports
47
- const Kotlin = require('tree-sitter-kotlin');
48
- // Note: tree-sitter-liquid has ABI compatibility issues with tree-sitter 0.22+
49
- // Liquid extraction is handled separately via regex in tree-sitter.ts
50
21
  /**
51
- * Mapping of Language to tree-sitter grammar
22
+ * Lazy grammar loaders each language's native binding is only loaded
23
+ * on first use, so a failure in one grammar doesn't affect others.
52
24
  */
53
- const GRAMMAR_MAP = {
54
- typescript: TypeScript,
55
- tsx: TSX,
56
- javascript: JavaScript,
57
- jsx: JavaScript, // JSX uses the JavaScript grammar
58
- python: Python,
59
- go: Go,
60
- rust: Rust,
61
- java: Java,
62
- c: C,
63
- cpp: Cpp,
64
- csharp: CSharp,
65
- php: PHP,
66
- ruby: Ruby,
67
- swift: Swift,
68
- kotlin: Kotlin,
69
- // liquid: uses custom regex-based extraction, not tree-sitter
25
+ const grammarLoaders = {
26
+ typescript: () => {
27
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
28
+ return require('tree-sitter-typescript').typescript;
29
+ },
30
+ tsx: () => {
31
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
32
+ return require('tree-sitter-typescript').tsx;
33
+ },
34
+ javascript: () => {
35
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
36
+ return require('tree-sitter-javascript');
37
+ },
38
+ jsx: () => {
39
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
40
+ return require('tree-sitter-javascript');
41
+ },
42
+ python: () => {
43
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
44
+ return require('tree-sitter-python');
45
+ },
46
+ go: () => {
47
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
48
+ return require('tree-sitter-go');
49
+ },
50
+ rust: () => {
51
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
52
+ return require('tree-sitter-rust');
53
+ },
54
+ java: () => {
55
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
56
+ return require('tree-sitter-java');
57
+ },
58
+ c: () => {
59
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
60
+ return require('tree-sitter-c');
61
+ },
62
+ cpp: () => {
63
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
64
+ return require('tree-sitter-cpp');
65
+ },
66
+ csharp: () => {
67
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
68
+ return require('tree-sitter-c-sharp');
69
+ },
70
+ php: () => {
71
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
72
+ return require('tree-sitter-php').php;
73
+ },
74
+ ruby: () => {
75
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
76
+ return require('tree-sitter-ruby');
77
+ },
78
+ swift: () => {
79
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
80
+ return require('tree-sitter-swift');
81
+ },
82
+ kotlin: () => {
83
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
84
+ return require('tree-sitter-kotlin');
85
+ },
86
+ dart: () => {
87
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
88
+ return require('@sengac/tree-sitter-dart');
89
+ },
90
+ // Note: tree-sitter-liquid has ABI compatibility issues with tree-sitter 0.22+
91
+ // Liquid extraction is handled separately via regex in tree-sitter.ts
70
92
  };
71
93
  /**
72
94
  * File extension to Language mapping
@@ -97,26 +119,56 @@ exports.EXTENSION_MAP = {
97
119
  '.swift': 'swift',
98
120
  '.kt': 'kotlin',
99
121
  '.kts': 'kotlin',
122
+ '.dart': 'dart',
100
123
  '.liquid': 'liquid',
124
+ '.svelte': 'svelte',
101
125
  };
102
126
  /**
103
- * Cache for initialized parsers
127
+ * Caches for loaded grammars and parsers
104
128
  */
105
129
  const parserCache = new Map();
130
+ const grammarCache = new Map();
131
+ const unavailableGrammarErrors = new Map();
132
+ /**
133
+ * Load a grammar on demand, caching the result.
134
+ * Returns null if the grammar is not available on this platform.
135
+ */
136
+ function loadGrammar(language) {
137
+ if (grammarCache.has(language)) {
138
+ return grammarCache.get(language) ?? null;
139
+ }
140
+ const loader = grammarLoaders[language];
141
+ if (!loader) {
142
+ grammarCache.set(language, null);
143
+ return null;
144
+ }
145
+ try {
146
+ const grammar = loader();
147
+ if (!grammar) {
148
+ throw new Error(`Grammar loader returned empty value for ${language}`);
149
+ }
150
+ grammarCache.set(language, grammar);
151
+ return grammar;
152
+ }
153
+ catch (error) {
154
+ const message = error instanceof Error ? error.message : String(error);
155
+ console.warn(`[CodeGraph] Failed to load ${language} grammar — parsing will be unavailable: ${message}`);
156
+ unavailableGrammarErrors.set(language, message);
157
+ grammarCache.set(language, null);
158
+ return null;
159
+ }
160
+ }
106
161
  /**
107
162
  * Get a parser for the specified language
108
163
  */
109
164
  function getParser(language) {
110
- // Check cache first
111
165
  if (parserCache.has(language)) {
112
166
  return parserCache.get(language);
113
167
  }
114
- // Get grammar for language
115
- const grammar = GRAMMAR_MAP[language];
168
+ const grammar = loadGrammar(language);
116
169
  if (!grammar) {
117
170
  return null;
118
171
  }
119
- // Create and cache parser
120
172
  const parser = new tree_sitter_1.default();
121
173
  parser.setLanguage(grammar);
122
174
  parserCache.set(language, parser);
@@ -130,28 +182,42 @@ function detectLanguage(filePath) {
130
182
  return exports.EXTENSION_MAP[ext] || 'unknown';
131
183
  }
132
184
  /**
133
- * Check if a language is supported
185
+ * Check if a language is supported by currently available parsers.
134
186
  */
135
187
  function isLanguageSupported(language) {
136
- // Liquid uses custom regex-based extraction, not tree-sitter
188
+ if (language === 'svelte')
189
+ return true; // custom extractor (script block delegation)
137
190
  if (language === 'liquid')
138
- return true;
139
- return language !== 'unknown' && language in GRAMMAR_MAP;
191
+ return true; // custom regex extractor
192
+ if (language === 'unknown')
193
+ return false;
194
+ return loadGrammar(language) !== null;
140
195
  }
141
196
  /**
142
- * Get all supported languages
197
+ * Get all currently supported languages.
143
198
  */
144
199
  function getSupportedLanguages() {
145
- const languages = Object.keys(GRAMMAR_MAP);
146
- // Add Liquid which uses custom extraction
147
- languages.push('liquid');
148
- return languages;
200
+ const available = Object.keys(grammarLoaders)
201
+ .filter((language) => loadGrammar(language) !== null);
202
+ return [...available, 'svelte', 'liquid'];
149
203
  }
150
204
  /**
151
- * Clear the parser cache (useful for testing)
205
+ * Clear parser/grammar caches (useful for testing)
152
206
  */
153
207
  function clearParserCache() {
154
208
  parserCache.clear();
209
+ grammarCache.clear();
210
+ unavailableGrammarErrors.clear();
211
+ }
212
+ /**
213
+ * Report grammars that failed to load.
214
+ */
215
+ function getUnavailableGrammarErrors() {
216
+ const out = {};
217
+ for (const [language, message] of unavailableGrammarErrors.entries()) {
218
+ out[language] = message;
219
+ }
220
+ return out;
155
221
  }
156
222
  /**
157
223
  * Get language display name
@@ -173,6 +239,8 @@ function getLanguageDisplayName(language) {
173
239
  ruby: 'Ruby',
174
240
  swift: 'Swift',
175
241
  kotlin: 'Kotlin',
242
+ dart: 'Dart',
243
+ svelte: 'Svelte',
176
244
  liquid: 'Liquid',
177
245
  unknown: 'Unknown',
178
246
  };
@@ -1 +1 @@
1
- {"version":3,"file":"grammars.js","sourceRoot":"","sources":["../../src/extraction/grammars.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grammars.js","sourceRoot":"","sources":["../../src/extraction/grammars.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/extraction/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAGL,gBAAgB,EAChB,eAAe,EACf,eAAe,EAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAK7C;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEnD;AA4BD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,eAAe,GACtB,OAAO,CAgBT;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,eAAe,EACvB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GACnD,MAAM,EAAE,CA4CV;AAED;;GAEG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,OAAO,CAAe;gBAElB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY;IAM3E;;OAEG;IACG,QAAQ,CACZ,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,EAC9C,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,WAAW,CAAC;IA+FvB;;OAEG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;IAmC3D;;OAEG;IACG,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA+DhE;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiD7B;;OAEG;IACG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;IAiF/E;;OAEG;IACH,eAAe,IAAI;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE;CAsC9E;AAGD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/extraction/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,EAGL,gBAAgB,EAChB,eAAe,EACf,eAAe,EAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAO7C;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEnD;AA+BD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,eAAe,GACtB,OAAO,CAgBT;AAgCD;;GAEG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,eAAe,EACvB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GACnD,MAAM,EAAE,CA4GV;AAED;;GAEG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,OAAO,CAAe;gBAElB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY;IAM3E;;OAEG;IACG,QAAQ,CACZ,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,EAC9C,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,WAAW,CAAC;IA+FvB;;OAEG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;IAmC3D;;OAEG;IACG,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA0EhE;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAsD7B;;OAEG;IACG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;IAkF/E;;OAEG;IACH,eAAe,IAAI;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE;CAuC9E;AAGD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC"}
@@ -43,11 +43,15 @@ exports.hashContent = hashContent;
43
43
  exports.shouldIncludeFile = shouldIncludeFile;
44
44
  exports.scanDirectory = scanDirectory;
45
45
  const fs = __importStar(require("fs"));
46
+ const fsp = __importStar(require("fs/promises"));
46
47
  const path = __importStar(require("path"));
47
48
  const crypto = __importStar(require("crypto"));
49
+ const child_process_1 = require("child_process");
48
50
  const tree_sitter_1 = require("./tree-sitter");
49
51
  const grammars_1 = require("./grammars");
50
52
  const errors_1 = require("../errors");
53
+ const sentry_1 = require("../sentry");
54
+ const utils_1 = require("../utils");
51
55
  /**
52
56
  * Calculate SHA256 hash of file contents
53
57
  */
@@ -58,6 +62,8 @@ function hashContent(content) {
58
62
  * Check if a path matches any glob pattern (simplified)
59
63
  */
60
64
  function matchesGlob(filePath, pattern) {
65
+ // Normalize to forward slashes so Windows backslash paths match glob patterns
66
+ filePath = (0, utils_1.normalizePath)(filePath);
61
67
  // Convert glob to regex using placeholders to avoid conflicts
62
68
  let regexStr = pattern;
63
69
  // Replace glob patterns with placeholders first
@@ -93,25 +99,114 @@ function shouldIncludeFile(filePath, config) {
93
99
  }
94
100
  return false;
95
101
  }
102
+ /**
103
+ * Get directories ignored by .gitignore using git ls-files.
104
+ * Returns a Set of normalized relative directory paths (forward slashes, no trailing slash).
105
+ * Gracefully returns empty Set on any failure.
106
+ */
107
+ function getGitIgnoredDirectories(rootDir) {
108
+ try {
109
+ const output = (0, child_process_1.execFileSync)('git', ['ls-files', '-oi', '--exclude-standard', '--directory'], { cwd: rootDir, encoding: 'utf-8', timeout: 10000, stdio: ['pipe', 'pipe', 'pipe'] });
110
+ const dirs = new Set();
111
+ for (const line of output.split('\n')) {
112
+ const trimmed = line.trim();
113
+ if (trimmed.endsWith('/')) {
114
+ dirs.add((0, utils_1.normalizePath)(trimmed.slice(0, -1)));
115
+ }
116
+ }
117
+ return dirs;
118
+ }
119
+ catch {
120
+ return new Set();
121
+ }
122
+ }
123
+ /**
124
+ * Marker file name that indicates a directory (and all children) should be skipped
125
+ */
126
+ const CODEGRAPH_IGNORE_MARKER = '.codegraphignore';
96
127
  /**
97
128
  * Recursively scan directory for source files
98
129
  */
99
130
  function scanDirectory(rootDir, config, onProgress) {
100
131
  const files = [];
101
132
  let count = 0;
133
+ const visitedRealPaths = new Set(); // Symlink cycle detection
134
+ const gitIgnoredDirs = getGitIgnoredDirectories(rootDir);
102
135
  function walk(dir) {
136
+ // Symlink cycle detection: resolve real path and skip if already visited
137
+ try {
138
+ const realDir = fs.realpathSync(dir);
139
+ if (visitedRealPaths.has(realDir)) {
140
+ (0, errors_1.logDebug)('Skipping directory to prevent symlink cycle', { dir, realDir });
141
+ return;
142
+ }
143
+ visitedRealPaths.add(realDir);
144
+ }
145
+ catch {
146
+ // If realpath fails, skip this directory
147
+ return;
148
+ }
149
+ // Check for .codegraphignore marker file - skip entire directory tree if present
150
+ const ignoreMarker = path.join(dir, CODEGRAPH_IGNORE_MARKER);
151
+ if (fs.existsSync(ignoreMarker)) {
152
+ (0, errors_1.logDebug)('Skipping directory due to .codegraphignore marker', { dir });
153
+ return;
154
+ }
103
155
  let entries;
104
156
  try {
105
157
  entries = fs.readdirSync(dir, { withFileTypes: true });
106
158
  }
107
159
  catch (error) {
160
+ (0, sentry_1.captureException)(error, { operation: 'walk-directory', dir });
108
161
  (0, errors_1.logDebug)('Skipping unreadable directory', { dir, error: String(error) });
109
162
  return;
110
163
  }
111
164
  for (const entry of entries) {
112
165
  const fullPath = path.join(dir, entry.name);
113
- const relativePath = path.relative(rootDir, fullPath);
166
+ const relativePath = (0, utils_1.normalizePath)(path.relative(rootDir, fullPath));
167
+ // Follow symlinked directories, but skip symlinked files to non-project targets
168
+ if (entry.isSymbolicLink()) {
169
+ try {
170
+ const realTarget = fs.realpathSync(fullPath);
171
+ const stat = fs.statSync(realTarget);
172
+ if (stat.isDirectory()) {
173
+ // Check gitignore first (fast O(1) lookup)
174
+ if (gitIgnoredDirs.has(relativePath)) {
175
+ continue;
176
+ }
177
+ // Check exclusion, then recurse (cycle detection handles the rest)
178
+ const dirPattern = relativePath + '/';
179
+ let excluded = false;
180
+ for (const pattern of config.exclude) {
181
+ if (matchesGlob(dirPattern, pattern) || matchesGlob(relativePath, pattern)) {
182
+ excluded = true;
183
+ break;
184
+ }
185
+ }
186
+ if (!excluded) {
187
+ walk(fullPath);
188
+ }
189
+ }
190
+ else if (stat.isFile()) {
191
+ if (shouldIncludeFile(relativePath, config)) {
192
+ files.push(relativePath);
193
+ count++;
194
+ if (onProgress) {
195
+ onProgress(count, relativePath);
196
+ }
197
+ }
198
+ }
199
+ }
200
+ catch {
201
+ (0, errors_1.logDebug)('Skipping broken symlink', { path: fullPath });
202
+ }
203
+ continue;
204
+ }
114
205
  if (entry.isDirectory()) {
206
+ // Check gitignore first (fast O(1) lookup)
207
+ if (gitIgnoredDirs.has(relativePath)) {
208
+ continue;
209
+ }
115
210
  // Check if directory should be excluded
116
211
  const dirPattern = relativePath + '/';
117
212
  let excluded = false;
@@ -275,15 +370,25 @@ class ExtractionOrchestrator {
275
370
  * Index a single file
276
371
  */
277
372
  async indexFile(relativePath) {
278
- const fullPath = path.join(this.rootDir, relativePath);
373
+ const fullPath = (0, utils_1.validatePathWithinRoot)(this.rootDir, relativePath);
374
+ if (!fullPath) {
375
+ return {
376
+ nodes: [],
377
+ edges: [],
378
+ unresolvedReferences: [],
379
+ errors: [{ message: `Path traversal blocked: ${relativePath}`, severity: 'error' }],
380
+ durationMs: 0,
381
+ };
382
+ }
279
383
  // Check file exists and is readable
280
384
  let content;
281
385
  let stats;
282
386
  try {
283
- stats = fs.statSync(fullPath);
284
- content = fs.readFileSync(fullPath, 'utf-8');
387
+ stats = await fsp.stat(fullPath);
388
+ content = await fsp.readFile(fullPath, 'utf-8');
285
389
  }
286
390
  catch (error) {
391
+ (0, sentry_1.captureException)(error, { operation: 'extract-file', filePath: fullPath });
287
392
  return {
288
393
  nodes: [],
289
394
  edges: [],
@@ -353,9 +458,14 @@ class ExtractionOrchestrator {
353
458
  if (result.edges.length > 0) {
354
459
  this.queries.insertEdges(result.edges);
355
460
  }
356
- // Insert unresolved references
357
- for (const ref of result.unresolvedReferences) {
358
- this.queries.insertUnresolvedRef(ref);
461
+ // Insert unresolved references in batch with denormalized filePath/language
462
+ if (result.unresolvedReferences.length > 0) {
463
+ const refsWithContext = result.unresolvedReferences.map((ref) => ({
464
+ ...ref,
465
+ filePath: ref.filePath ?? filePath,
466
+ language: ref.language ?? language,
467
+ }));
468
+ this.queries.insertUnresolvedRefsBatch(refsWithContext);
359
469
  }
360
470
  // Insert file record
361
471
  const fileRecord = {
@@ -406,6 +516,7 @@ class ExtractionOrchestrator {
406
516
  content = fs.readFileSync(fullPath, 'utf-8');
407
517
  }
408
518
  catch (error) {
519
+ (0, sentry_1.captureException)(error, { operation: 'sync-read-file', filePath });
409
520
  (0, errors_1.logDebug)('Skipping unreadable file during sync', { filePath, error: String(error) });
410
521
  continue;
411
522
  }
@@ -467,6 +578,7 @@ class ExtractionOrchestrator {
467
578
  content = fs.readFileSync(fullPath, 'utf-8');
468
579
  }
469
580
  catch (error) {
581
+ (0, sentry_1.captureException)(error, { operation: 'detect-changes-read-file', filePath });
470
582
  (0, errors_1.logDebug)('Skipping unreadable file while detecting changes', { filePath, error: String(error) });
471
583
  continue;
472
584
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/extraction/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/extraction/index.ts"],"names":[],"mappings":"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"}