@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.
- package/LICENSE +21 -0
- package/README.md +641 -0
- package/dist/bin/codegraph.d.ts +20 -0
- package/dist/bin/codegraph.d.ts.map +1 -0
- package/dist/bin/codegraph.js +704 -0
- package/dist/bin/codegraph.js.map +1 -0
- package/dist/config.d.ts +51 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +291 -0
- package/dist/config.js.map +1 -0
- package/dist/context/formatter.d.ts +30 -0
- package/dist/context/formatter.d.ts.map +1 -0
- package/dist/context/formatter.js +244 -0
- package/dist/context/formatter.js.map +1 -0
- package/dist/context/index.d.ts +86 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +402 -0
- package/dist/context/index.js.map +1 -0
- package/dist/db/index.d.ts +64 -0
- package/dist/db/index.d.ts.map +1 -0
- package/dist/db/index.js +170 -0
- package/dist/db/index.js.map +1 -0
- package/dist/db/migrations.d.ts +44 -0
- package/dist/db/migrations.d.ts.map +1 -0
- package/dist/db/migrations.js +105 -0
- package/dist/db/migrations.js.map +1 -0
- package/dist/db/queries.d.ts +148 -0
- package/dist/db/queries.d.ts.map +1 -0
- package/dist/db/queries.js +669 -0
- package/dist/db/queries.js.map +1 -0
- package/dist/directory.d.ts +45 -0
- package/dist/directory.d.ts.map +1 -0
- package/dist/directory.js +191 -0
- package/dist/directory.js.map +1 -0
- package/dist/errors.d.ts +136 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +219 -0
- package/dist/errors.js.map +1 -0
- package/dist/extraction/grammars.d.ts +36 -0
- package/dist/extraction/grammars.d.ts.map +1 -0
- package/dist/extraction/grammars.js +181 -0
- package/dist/extraction/grammars.js.map +1 -0
- package/dist/extraction/index.d.ts +91 -0
- package/dist/extraction/index.d.ts.map +1 -0
- package/dist/extraction/index.js +493 -0
- package/dist/extraction/index.js.map +1 -0
- package/dist/extraction/tree-sitter.d.ts +176 -0
- package/dist/extraction/tree-sitter.d.ts.map +1 -0
- package/dist/extraction/tree-sitter.js +1798 -0
- package/dist/extraction/tree-sitter.js.map +1 -0
- package/dist/graph/index.d.ts +8 -0
- package/dist/graph/index.d.ts.map +1 -0
- package/dist/graph/index.js +13 -0
- package/dist/graph/index.js.map +1 -0
- package/dist/graph/queries.d.ts +106 -0
- package/dist/graph/queries.d.ts.map +1 -0
- package/dist/graph/queries.js +355 -0
- package/dist/graph/queries.js.map +1 -0
- package/dist/graph/traversal.d.ts +127 -0
- package/dist/graph/traversal.d.ts.map +1 -0
- package/dist/graph/traversal.js +465 -0
- package/dist/graph/traversal.js.map +1 -0
- package/dist/index.d.ts +496 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +818 -0
- package/dist/index.js.map +1 -0
- package/dist/installer/banner.d.ts +40 -0
- package/dist/installer/banner.d.ts.map +1 -0
- package/dist/installer/banner.js +162 -0
- package/dist/installer/banner.js.map +1 -0
- package/dist/installer/claude-md-template.d.ts +10 -0
- package/dist/installer/claude-md-template.d.ts.map +1 -0
- package/dist/installer/claude-md-template.js +46 -0
- package/dist/installer/claude-md-template.js.map +1 -0
- package/dist/installer/config-writer.d.ts +36 -0
- package/dist/installer/config-writer.d.ts.map +1 -0
- package/dist/installer/config-writer.js +282 -0
- package/dist/installer/config-writer.js.map +1 -0
- package/dist/installer/index.d.ts +13 -0
- package/dist/installer/index.d.ts.map +1 -0
- package/dist/installer/index.js +155 -0
- package/dist/installer/index.js.map +1 -0
- package/dist/installer/prompts.d.ts +18 -0
- package/dist/installer/prompts.d.ts.map +1 -0
- package/dist/installer/prompts.js +113 -0
- package/dist/installer/prompts.js.map +1 -0
- package/dist/mcp/index.d.ts +64 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +207 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/tools.d.ts +93 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +442 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/mcp/transport.d.ts +89 -0
- package/dist/mcp/transport.d.ts.map +1 -0
- package/dist/mcp/transport.js +170 -0
- package/dist/mcp/transport.js.map +1 -0
- package/dist/resolution/frameworks/csharp.d.ts +8 -0
- package/dist/resolution/frameworks/csharp.d.ts.map +1 -0
- package/dist/resolution/frameworks/csharp.js +274 -0
- package/dist/resolution/frameworks/csharp.js.map +1 -0
- package/dist/resolution/frameworks/express.d.ts +8 -0
- package/dist/resolution/frameworks/express.d.ts.map +1 -0
- package/dist/resolution/frameworks/express.js +208 -0
- package/dist/resolution/frameworks/express.js.map +1 -0
- package/dist/resolution/frameworks/go.d.ts +8 -0
- package/dist/resolution/frameworks/go.d.ts.map +1 -0
- package/dist/resolution/frameworks/go.js +225 -0
- package/dist/resolution/frameworks/go.js.map +1 -0
- package/dist/resolution/frameworks/index.d.ts +33 -0
- package/dist/resolution/frameworks/index.d.ts.map +1 -0
- package/dist/resolution/frameworks/index.js +113 -0
- package/dist/resolution/frameworks/index.js.map +1 -0
- package/dist/resolution/frameworks/java.d.ts +8 -0
- package/dist/resolution/frameworks/java.d.ts.map +1 -0
- package/dist/resolution/frameworks/java.js +239 -0
- package/dist/resolution/frameworks/java.js.map +1 -0
- package/dist/resolution/frameworks/laravel.d.ts +13 -0
- package/dist/resolution/frameworks/laravel.d.ts.map +1 -0
- package/dist/resolution/frameworks/laravel.js +198 -0
- package/dist/resolution/frameworks/laravel.js.map +1 -0
- package/dist/resolution/frameworks/python.d.ts +10 -0
- package/dist/resolution/frameworks/python.d.ts.map +1 -0
- package/dist/resolution/frameworks/python.js +331 -0
- package/dist/resolution/frameworks/python.js.map +1 -0
- package/dist/resolution/frameworks/react.d.ts +8 -0
- package/dist/resolution/frameworks/react.d.ts.map +1 -0
- package/dist/resolution/frameworks/react.js +294 -0
- package/dist/resolution/frameworks/react.js.map +1 -0
- package/dist/resolution/frameworks/ruby.d.ts +8 -0
- package/dist/resolution/frameworks/ruby.d.ts.map +1 -0
- package/dist/resolution/frameworks/ruby.js +262 -0
- package/dist/resolution/frameworks/ruby.js.map +1 -0
- package/dist/resolution/frameworks/rust.d.ts +8 -0
- package/dist/resolution/frameworks/rust.d.ts.map +1 -0
- package/dist/resolution/frameworks/rust.js +222 -0
- package/dist/resolution/frameworks/rust.js.map +1 -0
- package/dist/resolution/frameworks/swift.d.ts +10 -0
- package/dist/resolution/frameworks/swift.d.ts.map +1 -0
- package/dist/resolution/frameworks/swift.js +486 -0
- package/dist/resolution/frameworks/swift.js.map +1 -0
- package/dist/resolution/import-resolver.d.ts +20 -0
- package/dist/resolution/import-resolver.d.ts.map +1 -0
- package/dist/resolution/import-resolver.js +445 -0
- package/dist/resolution/import-resolver.js.map +1 -0
- package/dist/resolution/index.d.ts +72 -0
- package/dist/resolution/index.d.ts.map +1 -0
- package/dist/resolution/index.js +301 -0
- package/dist/resolution/index.js.map +1 -0
- package/dist/resolution/name-matcher.d.ts +27 -0
- package/dist/resolution/name-matcher.d.ts.map +1 -0
- package/dist/resolution/name-matcher.js +210 -0
- package/dist/resolution/name-matcher.js.map +1 -0
- package/dist/resolution/types.d.ts +108 -0
- package/dist/resolution/types.d.ts.map +1 -0
- package/dist/resolution/types.js +8 -0
- package/dist/resolution/types.js.map +1 -0
- package/dist/sync/git-hooks.d.ts +66 -0
- package/dist/sync/git-hooks.d.ts.map +1 -0
- package/dist/sync/git-hooks.js +281 -0
- package/dist/sync/git-hooks.js.map +1 -0
- package/dist/sync/index.d.ts +13 -0
- package/dist/sync/index.d.ts.map +1 -0
- package/dist/sync/index.js +18 -0
- package/dist/sync/index.js.map +1 -0
- package/dist/types.d.ts +410 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +165 -0
- package/dist/types.js.map +1 -0
- package/dist/utils.d.ts +116 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +295 -0
- package/dist/utils.js.map +1 -0
- package/dist/vectors/embedder.d.ts +140 -0
- package/dist/vectors/embedder.d.ts.map +1 -0
- package/dist/vectors/embedder.js +336 -0
- package/dist/vectors/embedder.js.map +1 -0
- package/dist/vectors/index.d.ts +9 -0
- package/dist/vectors/index.d.ts.map +1 -0
- package/dist/vectors/index.js +20 -0
- package/dist/vectors/index.js.map +1 -0
- package/dist/vectors/manager.d.ts +119 -0
- package/dist/vectors/manager.d.ts.map +1 -0
- package/dist/vectors/manager.js +274 -0
- package/dist/vectors/manager.js.map +1 -0
- package/dist/vectors/search.d.ts +134 -0
- package/dist/vectors/search.d.ts.map +1 -0
- package/dist/vectors/search.js +409 -0
- package/dist/vectors/search.js.map +1 -0
- package/package.json +67 -0
- package/scripts/postinstall.js +68 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Grammar Loading and Caching
|
|
3
|
+
*
|
|
4
|
+
* Manages tree-sitter language grammars.
|
|
5
|
+
*/
|
|
6
|
+
import Parser from 'tree-sitter';
|
|
7
|
+
import { Language } from '../types';
|
|
8
|
+
/**
|
|
9
|
+
* File extension to Language mapping
|
|
10
|
+
*/
|
|
11
|
+
export declare const EXTENSION_MAP: Record<string, Language>;
|
|
12
|
+
/**
|
|
13
|
+
* Get a parser for the specified language
|
|
14
|
+
*/
|
|
15
|
+
export declare function getParser(language: Language): Parser | null;
|
|
16
|
+
/**
|
|
17
|
+
* Detect language from file extension
|
|
18
|
+
*/
|
|
19
|
+
export declare function detectLanguage(filePath: string): Language;
|
|
20
|
+
/**
|
|
21
|
+
* Check if a language is supported
|
|
22
|
+
*/
|
|
23
|
+
export declare function isLanguageSupported(language: Language): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Get all supported languages
|
|
26
|
+
*/
|
|
27
|
+
export declare function getSupportedLanguages(): Language[];
|
|
28
|
+
/**
|
|
29
|
+
* Clear the parser cache (useful for testing)
|
|
30
|
+
*/
|
|
31
|
+
export declare function clearParserCache(): void;
|
|
32
|
+
/**
|
|
33
|
+
* Get language display name
|
|
34
|
+
*/
|
|
35
|
+
export declare function getLanguageDisplayName(language: Language): string;
|
|
36
|
+
//# sourceMappingURL=grammars.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Grammar Loading and Caching
|
|
4
|
+
*
|
|
5
|
+
* Manages tree-sitter language grammars.
|
|
6
|
+
*/
|
|
7
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
8
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
9
|
+
};
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.EXTENSION_MAP = void 0;
|
|
12
|
+
exports.getParser = getParser;
|
|
13
|
+
exports.detectLanguage = detectLanguage;
|
|
14
|
+
exports.isLanguageSupported = isLanguageSupported;
|
|
15
|
+
exports.getSupportedLanguages = getSupportedLanguages;
|
|
16
|
+
exports.clearParserCache = clearParserCache;
|
|
17
|
+
exports.getLanguageDisplayName = getLanguageDisplayName;
|
|
18
|
+
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
|
+
/**
|
|
51
|
+
* Mapping of Language to tree-sitter grammar
|
|
52
|
+
*/
|
|
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
|
|
70
|
+
};
|
|
71
|
+
/**
|
|
72
|
+
* File extension to Language mapping
|
|
73
|
+
*/
|
|
74
|
+
exports.EXTENSION_MAP = {
|
|
75
|
+
'.ts': 'typescript',
|
|
76
|
+
'.tsx': 'tsx',
|
|
77
|
+
'.js': 'javascript',
|
|
78
|
+
'.mjs': 'javascript',
|
|
79
|
+
'.cjs': 'javascript',
|
|
80
|
+
'.jsx': 'jsx',
|
|
81
|
+
'.py': 'python',
|
|
82
|
+
'.pyw': 'python',
|
|
83
|
+
'.go': 'go',
|
|
84
|
+
'.rs': 'rust',
|
|
85
|
+
'.java': 'java',
|
|
86
|
+
'.c': 'c',
|
|
87
|
+
'.h': 'c', // Could also be C++, defaulting to C
|
|
88
|
+
'.cpp': 'cpp',
|
|
89
|
+
'.cc': 'cpp',
|
|
90
|
+
'.cxx': 'cpp',
|
|
91
|
+
'.hpp': 'cpp',
|
|
92
|
+
'.hxx': 'cpp',
|
|
93
|
+
'.cs': 'csharp',
|
|
94
|
+
'.php': 'php',
|
|
95
|
+
'.rb': 'ruby',
|
|
96
|
+
'.rake': 'ruby',
|
|
97
|
+
'.swift': 'swift',
|
|
98
|
+
'.kt': 'kotlin',
|
|
99
|
+
'.kts': 'kotlin',
|
|
100
|
+
'.liquid': 'liquid',
|
|
101
|
+
};
|
|
102
|
+
/**
|
|
103
|
+
* Cache for initialized parsers
|
|
104
|
+
*/
|
|
105
|
+
const parserCache = new Map();
|
|
106
|
+
/**
|
|
107
|
+
* Get a parser for the specified language
|
|
108
|
+
*/
|
|
109
|
+
function getParser(language) {
|
|
110
|
+
// Check cache first
|
|
111
|
+
if (parserCache.has(language)) {
|
|
112
|
+
return parserCache.get(language);
|
|
113
|
+
}
|
|
114
|
+
// Get grammar for language
|
|
115
|
+
const grammar = GRAMMAR_MAP[language];
|
|
116
|
+
if (!grammar) {
|
|
117
|
+
return null;
|
|
118
|
+
}
|
|
119
|
+
// Create and cache parser
|
|
120
|
+
const parser = new tree_sitter_1.default();
|
|
121
|
+
parser.setLanguage(grammar);
|
|
122
|
+
parserCache.set(language, parser);
|
|
123
|
+
return parser;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Detect language from file extension
|
|
127
|
+
*/
|
|
128
|
+
function detectLanguage(filePath) {
|
|
129
|
+
const ext = filePath.substring(filePath.lastIndexOf('.')).toLowerCase();
|
|
130
|
+
return exports.EXTENSION_MAP[ext] || 'unknown';
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Check if a language is supported
|
|
134
|
+
*/
|
|
135
|
+
function isLanguageSupported(language) {
|
|
136
|
+
// Liquid uses custom regex-based extraction, not tree-sitter
|
|
137
|
+
if (language === 'liquid')
|
|
138
|
+
return true;
|
|
139
|
+
return language !== 'unknown' && language in GRAMMAR_MAP;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Get all supported languages
|
|
143
|
+
*/
|
|
144
|
+
function getSupportedLanguages() {
|
|
145
|
+
const languages = Object.keys(GRAMMAR_MAP);
|
|
146
|
+
// Add Liquid which uses custom extraction
|
|
147
|
+
languages.push('liquid');
|
|
148
|
+
return languages;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Clear the parser cache (useful for testing)
|
|
152
|
+
*/
|
|
153
|
+
function clearParserCache() {
|
|
154
|
+
parserCache.clear();
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Get language display name
|
|
158
|
+
*/
|
|
159
|
+
function getLanguageDisplayName(language) {
|
|
160
|
+
const names = {
|
|
161
|
+
typescript: 'TypeScript',
|
|
162
|
+
javascript: 'JavaScript',
|
|
163
|
+
tsx: 'TypeScript (TSX)',
|
|
164
|
+
jsx: 'JavaScript (JSX)',
|
|
165
|
+
python: 'Python',
|
|
166
|
+
go: 'Go',
|
|
167
|
+
rust: 'Rust',
|
|
168
|
+
java: 'Java',
|
|
169
|
+
c: 'C',
|
|
170
|
+
cpp: 'C++',
|
|
171
|
+
csharp: 'C#',
|
|
172
|
+
php: 'PHP',
|
|
173
|
+
ruby: 'Ruby',
|
|
174
|
+
swift: 'Swift',
|
|
175
|
+
kotlin: 'Kotlin',
|
|
176
|
+
liquid: 'Liquid',
|
|
177
|
+
unknown: 'Unknown',
|
|
178
|
+
};
|
|
179
|
+
return names[language] || language;
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=grammars.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grammars.js","sourceRoot":"","sources":["../../src/extraction/grammars.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extraction Orchestrator
|
|
3
|
+
*
|
|
4
|
+
* Coordinates file scanning, parsing, and database storage.
|
|
5
|
+
*/
|
|
6
|
+
import { ExtractionResult, ExtractionError, CodeGraphConfig } from '../types';
|
|
7
|
+
import { QueryBuilder } from '../db/queries';
|
|
8
|
+
/**
|
|
9
|
+
* Progress callback for indexing operations
|
|
10
|
+
*/
|
|
11
|
+
export interface IndexProgress {
|
|
12
|
+
phase: 'scanning' | 'parsing' | 'storing' | 'resolving';
|
|
13
|
+
current: number;
|
|
14
|
+
total: number;
|
|
15
|
+
currentFile?: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Result of an indexing operation
|
|
19
|
+
*/
|
|
20
|
+
export interface IndexResult {
|
|
21
|
+
success: boolean;
|
|
22
|
+
filesIndexed: number;
|
|
23
|
+
filesSkipped: number;
|
|
24
|
+
nodesCreated: number;
|
|
25
|
+
edgesCreated: number;
|
|
26
|
+
errors: ExtractionError[];
|
|
27
|
+
durationMs: number;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Result of a sync operation
|
|
31
|
+
*/
|
|
32
|
+
export interface SyncResult {
|
|
33
|
+
filesChecked: number;
|
|
34
|
+
filesAdded: number;
|
|
35
|
+
filesModified: number;
|
|
36
|
+
filesRemoved: number;
|
|
37
|
+
nodesUpdated: number;
|
|
38
|
+
durationMs: number;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Calculate SHA256 hash of file contents
|
|
42
|
+
*/
|
|
43
|
+
export declare function hashContent(content: string): string;
|
|
44
|
+
/**
|
|
45
|
+
* Check if a file should be included based on config
|
|
46
|
+
*/
|
|
47
|
+
export declare function shouldIncludeFile(filePath: string, config: CodeGraphConfig): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Recursively scan directory for source files
|
|
50
|
+
*/
|
|
51
|
+
export declare function scanDirectory(rootDir: string, config: CodeGraphConfig, onProgress?: (current: number, file: string) => void): string[];
|
|
52
|
+
/**
|
|
53
|
+
* Extraction orchestrator
|
|
54
|
+
*/
|
|
55
|
+
export declare class ExtractionOrchestrator {
|
|
56
|
+
private rootDir;
|
|
57
|
+
private config;
|
|
58
|
+
private queries;
|
|
59
|
+
constructor(rootDir: string, config: CodeGraphConfig, queries: QueryBuilder);
|
|
60
|
+
/**
|
|
61
|
+
* Index all files in the project
|
|
62
|
+
*/
|
|
63
|
+
indexAll(onProgress?: (progress: IndexProgress) => void, signal?: AbortSignal): Promise<IndexResult>;
|
|
64
|
+
/**
|
|
65
|
+
* Index specific files
|
|
66
|
+
*/
|
|
67
|
+
indexFiles(filePaths: string[]): Promise<IndexResult>;
|
|
68
|
+
/**
|
|
69
|
+
* Index a single file
|
|
70
|
+
*/
|
|
71
|
+
indexFile(relativePath: string): Promise<ExtractionResult>;
|
|
72
|
+
/**
|
|
73
|
+
* Store extraction result in database
|
|
74
|
+
*/
|
|
75
|
+
private storeExtractionResult;
|
|
76
|
+
/**
|
|
77
|
+
* Sync with current file state
|
|
78
|
+
*/
|
|
79
|
+
sync(onProgress?: (progress: IndexProgress) => void): Promise<SyncResult>;
|
|
80
|
+
/**
|
|
81
|
+
* Get files that have changed since last index
|
|
82
|
+
*/
|
|
83
|
+
getChangedFiles(): {
|
|
84
|
+
added: string[];
|
|
85
|
+
modified: string[];
|
|
86
|
+
removed: string[];
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
export { extractFromSource } from './tree-sitter';
|
|
90
|
+
export { detectLanguage, isLanguageSupported, getSupportedLanguages } from './grammars';
|
|
91
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +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"}
|