claude-ex 1.0.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.
@@ -0,0 +1,407 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.getLanguage = getLanguage;
37
+ exports.isSupportedFile = isSupportedFile;
38
+ exports.hashFile = hashFile;
39
+ exports.parseFile = parseFile;
40
+ const crypto = __importStar(require("crypto"));
41
+ const path = __importStar(require("path"));
42
+ // Tree-sitter imports — loaded lazily
43
+ let Parser;
44
+ const grammars = new Map();
45
+ let treeSitterLoaded = false;
46
+ function loadTreeSitter() {
47
+ if (treeSitterLoaded)
48
+ return true;
49
+ try {
50
+ Parser = require('tree-sitter');
51
+ treeSitterLoaded = true;
52
+ return true;
53
+ }
54
+ catch {
55
+ return false;
56
+ }
57
+ }
58
+ const EXTENSION_MAP = {
59
+ '.ts': { grammar: 'typescript', module: 'tree-sitter-typescript/typescript' },
60
+ '.tsx': { grammar: 'tsx', module: 'tree-sitter-typescript/tsx' },
61
+ '.js': { grammar: 'javascript', module: 'tree-sitter-javascript' },
62
+ '.jsx': { grammar: 'javascript', module: 'tree-sitter-javascript' },
63
+ '.mjs': { grammar: 'javascript', module: 'tree-sitter-javascript' },
64
+ '.py': { grammar: 'python', module: 'tree-sitter-python' },
65
+ '.rs': { grammar: 'rust', module: 'tree-sitter-rust' },
66
+ '.go': { grammar: 'go', module: 'tree-sitter-go' },
67
+ '.sh': { grammar: 'bash', module: 'tree-sitter-bash' },
68
+ '.bash': { grammar: 'bash', module: 'tree-sitter-bash' },
69
+ '.c': { grammar: 'c', module: 'tree-sitter-c' },
70
+ '.h': { grammar: 'c', module: 'tree-sitter-c' },
71
+ '.cpp': { grammar: 'cpp', module: 'tree-sitter-cpp' },
72
+ '.cc': { grammar: 'cpp', module: 'tree-sitter-cpp' },
73
+ '.hpp': { grammar: 'cpp', module: 'tree-sitter-cpp' },
74
+ '.json': { grammar: 'json', module: 'tree-sitter-json' },
75
+ '.css': { grammar: 'css', module: 'tree-sitter-css' },
76
+ '.html': { grammar: 'html', module: 'tree-sitter-html' },
77
+ '.htm': { grammar: 'html', module: 'tree-sitter-html' },
78
+ };
79
+ function getParser(language) {
80
+ if (!loadTreeSitter())
81
+ return null;
82
+ if (grammars.has(language))
83
+ return grammars.get(language);
84
+ const entry = Object.values(EXTENSION_MAP).find(e => e.grammar === language);
85
+ if (!entry)
86
+ return null;
87
+ try {
88
+ const lang = require(entry.module);
89
+ const parser = new Parser();
90
+ parser.setLanguage(lang);
91
+ grammars.set(language, parser);
92
+ return parser;
93
+ }
94
+ catch {
95
+ grammars.set(language, null);
96
+ return null;
97
+ }
98
+ }
99
+ function getLanguage(filePath) {
100
+ const ext = path.extname(filePath).toLowerCase();
101
+ return EXTENSION_MAP[ext]?.grammar || null;
102
+ }
103
+ function isSupportedFile(filePath) {
104
+ return getLanguage(filePath) !== null;
105
+ }
106
+ function hashFile(content) {
107
+ return crypto.createHash('sha256').update(content).digest('hex').slice(0, 16);
108
+ }
109
+ const SKIP_CALLS = new Set(['console.log', 'console.error', 'console.warn', 'console.info', 'console.debug', 'print', 'require']);
110
+ function parseFile(filePath, content) {
111
+ const language = getLanguage(filePath);
112
+ if (!language)
113
+ return { symbols: [], imports: [], calls: [], language: null };
114
+ // Skip parsing for JSON/CSS/HTML — no meaningful symbols
115
+ if (['json', 'css', 'html'].includes(language)) {
116
+ return { symbols: [], imports: [], calls: [], language };
117
+ }
118
+ const parser = getParser(language);
119
+ if (!parser)
120
+ return { symbols: [], imports: [], calls: [], language };
121
+ let tree;
122
+ try {
123
+ tree = parser.parse(content);
124
+ }
125
+ catch {
126
+ return { symbols: [], imports: [], calls: [], language };
127
+ }
128
+ const lines = content.split('\n');
129
+ const symbols = [];
130
+ const imports = [];
131
+ const calls = [];
132
+ function getDocstring(node) {
133
+ const prev = node.previousNamedSibling;
134
+ if (prev && prev.type === 'comment') {
135
+ return prev.text.slice(0, 500);
136
+ }
137
+ return undefined;
138
+ }
139
+ function getSignature(node) {
140
+ const startRow = node.startPosition.row;
141
+ return lines[startRow]?.trim().slice(0, 200) || '';
142
+ }
143
+ function getContent(node, maxLen) {
144
+ return node.text.slice(0, maxLen);
145
+ }
146
+ function isExported(node) {
147
+ const parent = node.parent;
148
+ if (!parent)
149
+ return false;
150
+ if (parent.type === 'export_statement' || parent.type === 'export_declaration')
151
+ return true;
152
+ if (parent.type === 'decorated_definition') {
153
+ const pp = parent.parent;
154
+ if (pp && (pp.type === 'export_statement' || pp.type === 'export_declaration'))
155
+ return true;
156
+ }
157
+ // Python: top-level definitions without underscore prefix
158
+ if (['python'].includes(language)) {
159
+ if (parent.type === 'module') {
160
+ const nameNode = node.childForFieldName('name');
161
+ if (nameNode && !nameNode.text.startsWith('_'))
162
+ return true;
163
+ }
164
+ }
165
+ return false;
166
+ }
167
+ function findEnclosingSymbol(node) {
168
+ let cur = node.parent;
169
+ while (cur) {
170
+ if (['function_declaration', 'function_definition', 'method_definition',
171
+ 'arrow_function', 'class_declaration', 'class_definition'].includes(cur.type)) {
172
+ const nameNode = cur.childForFieldName('name');
173
+ if (nameNode)
174
+ return nameNode.text;
175
+ }
176
+ // Handle variable declarations with arrow functions
177
+ if (cur.type === 'variable_declarator' || cur.type === 'lexical_declaration') {
178
+ const nameNode = cur.childForFieldName('name') ||
179
+ (cur.type === 'lexical_declaration' ? cur.firstNamedChild?.childForFieldName('name') : null);
180
+ if (nameNode)
181
+ return nameNode.text;
182
+ }
183
+ cur = cur.parent;
184
+ }
185
+ return null;
186
+ }
187
+ function walkNode(node, className) {
188
+ const type = node.type;
189
+ // Symbols
190
+ if (['function_declaration', 'function_definition'].includes(type)) {
191
+ const nameNode = node.childForFieldName('name');
192
+ if (nameNode) {
193
+ symbols.push({
194
+ name: nameNode.text,
195
+ qualifiedName: className ? `${className}.${nameNode.text}` : undefined,
196
+ kind: 'function',
197
+ lineStart: node.startPosition.row + 1,
198
+ lineEnd: node.endPosition.row + 1,
199
+ signature: getSignature(node),
200
+ docstring: getDocstring(node),
201
+ content: getContent(node, 2048),
202
+ exported: isExported(node),
203
+ });
204
+ }
205
+ }
206
+ else if (type === 'method_definition') {
207
+ const nameNode = node.childForFieldName('name');
208
+ if (nameNode) {
209
+ symbols.push({
210
+ name: nameNode.text,
211
+ qualifiedName: className ? `${className}.${nameNode.text}` : undefined,
212
+ kind: 'method',
213
+ lineStart: node.startPosition.row + 1,
214
+ lineEnd: node.endPosition.row + 1,
215
+ signature: getSignature(node),
216
+ docstring: getDocstring(node),
217
+ content: getContent(node, 2048),
218
+ exported: isExported(node),
219
+ });
220
+ }
221
+ }
222
+ else if (['class_declaration', 'class_definition'].includes(type)) {
223
+ const nameNode = node.childForFieldName('name');
224
+ if (nameNode) {
225
+ const name = nameNode.text;
226
+ symbols.push({
227
+ name,
228
+ kind: 'class',
229
+ lineStart: node.startPosition.row + 1,
230
+ lineEnd: node.endPosition.row + 1,
231
+ signature: getSignature(node),
232
+ docstring: getDocstring(node),
233
+ content: getContent(node, 3072),
234
+ exported: isExported(node),
235
+ });
236
+ // Walk children with class context
237
+ for (let i = 0; i < node.childCount; i++) {
238
+ walkNode(node.child(i), name);
239
+ }
240
+ return; // Don't double-walk children
241
+ }
242
+ }
243
+ else if (type === 'interface_declaration') {
244
+ const nameNode = node.childForFieldName('name');
245
+ if (nameNode) {
246
+ symbols.push({
247
+ name: nameNode.text,
248
+ kind: 'interface',
249
+ lineStart: node.startPosition.row + 1,
250
+ lineEnd: node.endPosition.row + 1,
251
+ signature: getSignature(node),
252
+ docstring: getDocstring(node),
253
+ content: getContent(node, 3072),
254
+ exported: isExported(node),
255
+ });
256
+ }
257
+ }
258
+ else if (type === 'type_alias_declaration') {
259
+ const nameNode = node.childForFieldName('name');
260
+ if (nameNode) {
261
+ symbols.push({
262
+ name: nameNode.text,
263
+ kind: 'type',
264
+ lineStart: node.startPosition.row + 1,
265
+ lineEnd: node.endPosition.row + 1,
266
+ signature: getSignature(node),
267
+ content: getContent(node, 2048),
268
+ exported: isExported(node),
269
+ });
270
+ }
271
+ }
272
+ else if (type === 'enum_declaration') {
273
+ const nameNode = node.childForFieldName('name');
274
+ if (nameNode) {
275
+ symbols.push({
276
+ name: nameNode.text,
277
+ kind: 'enum',
278
+ lineStart: node.startPosition.row + 1,
279
+ lineEnd: node.endPosition.row + 1,
280
+ signature: getSignature(node),
281
+ content: getContent(node, 2048),
282
+ exported: isExported(node),
283
+ });
284
+ }
285
+ }
286
+ else if (type === 'lexical_declaration' || type === 'variable_declaration') {
287
+ if (isExported(node)) {
288
+ for (let i = 0; i < node.namedChildCount; i++) {
289
+ const decl = node.namedChild(i);
290
+ if (decl && decl.type === 'variable_declarator') {
291
+ const nameNode = decl.childForFieldName('name');
292
+ const value = decl.childForFieldName('value');
293
+ if (nameNode) {
294
+ // Check if it's an arrow function
295
+ if (value && value.type === 'arrow_function') {
296
+ symbols.push({
297
+ name: nameNode.text,
298
+ kind: 'function',
299
+ lineStart: node.startPosition.row + 1,
300
+ lineEnd: node.endPosition.row + 1,
301
+ signature: getSignature(node),
302
+ docstring: getDocstring(node),
303
+ content: getContent(node, 2048),
304
+ exported: true,
305
+ });
306
+ }
307
+ else {
308
+ symbols.push({
309
+ name: nameNode.text,
310
+ kind: 'variable',
311
+ lineStart: node.startPosition.row + 1,
312
+ lineEnd: node.endPosition.row + 1,
313
+ signature: getSignature(node),
314
+ content: getContent(node, 1024),
315
+ exported: true,
316
+ });
317
+ }
318
+ }
319
+ }
320
+ }
321
+ }
322
+ }
323
+ // Imports
324
+ if (type === 'import_statement' || type === 'import_declaration') {
325
+ extractImport(node);
326
+ }
327
+ // Calls
328
+ if (type === 'call_expression') {
329
+ const funcNode = node.childForFieldName('function');
330
+ if (funcNode) {
331
+ let calledName = funcNode.text;
332
+ // Simplify member expressions to last two parts
333
+ if (calledName.includes('.')) {
334
+ const parts = calledName.split('.');
335
+ calledName = parts.slice(-2).join('.');
336
+ }
337
+ if (!SKIP_CALLS.has(calledName) && calledName.length < 100) {
338
+ const enclosing = findEnclosingSymbol(node);
339
+ if (enclosing) {
340
+ calls.push({
341
+ callerSymbol: enclosing,
342
+ calledName,
343
+ line: node.startPosition.row + 1,
344
+ });
345
+ }
346
+ }
347
+ }
348
+ }
349
+ // Recurse
350
+ for (let i = 0; i < node.childCount; i++) {
351
+ walkNode(node.child(i), className);
352
+ }
353
+ }
354
+ function extractImport(node) {
355
+ const sourceNode = node.childForFieldName('source') ||
356
+ node.children?.find((c) => c.type === 'string' || c.type === 'string_literal');
357
+ if (!sourceNode) {
358
+ // Python: import X
359
+ if (language === 'python') {
360
+ const moduleNode = node.childForFieldName('name') ||
361
+ node.children?.find((c) => c.type === 'dotted_name' || c.type === 'aliased_import');
362
+ if (moduleNode) {
363
+ imports.push({
364
+ source: moduleNode.text,
365
+ names: [],
366
+ isDefault: true,
367
+ });
368
+ }
369
+ }
370
+ return;
371
+ }
372
+ const source = sourceNode.text.replace(/['"]/g, '');
373
+ const names = [];
374
+ let isDefault = false;
375
+ // Look for named imports
376
+ for (let i = 0; i < node.childCount; i++) {
377
+ const child = node.child(i);
378
+ if (child.type === 'import_clause' || child.type === 'named_imports' || child.type === 'import_specifier') {
379
+ walkImportNames(child, names);
380
+ if (child.type === 'import_clause') {
381
+ const firstNamed = child.firstNamedChild;
382
+ if (firstNamed && firstNamed.type === 'identifier') {
383
+ isDefault = true;
384
+ names.push(firstNamed.text);
385
+ }
386
+ }
387
+ }
388
+ }
389
+ if (names.length === 0)
390
+ isDefault = true;
391
+ imports.push({ source, names, isDefault });
392
+ }
393
+ function walkImportNames(node, names) {
394
+ if (node.type === 'import_specifier') {
395
+ const nameNode = node.childForFieldName('name');
396
+ if (nameNode)
397
+ names.push(nameNode.text);
398
+ return;
399
+ }
400
+ for (let i = 0; i < node.childCount; i++) {
401
+ walkImportNames(node.child(i), names);
402
+ }
403
+ }
404
+ walkNode(tree.rootNode);
405
+ return { symbols, imports, calls, language };
406
+ }
407
+ //# sourceMappingURL=parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/indexer/parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ import Database from 'better-sqlite3';
2
+ export interface SearchResult {
3
+ name: string;
4
+ qualifiedName: string | null;
5
+ kind: string;
6
+ file: string;
7
+ lineStart: number;
8
+ lineEnd: number;
9
+ signature: string | null;
10
+ pagerank: number;
11
+ snippet?: string;
12
+ }
13
+ export interface ContextResult {
14
+ symbol: {
15
+ name: string;
16
+ qualifiedName: string | null;
17
+ kind: string;
18
+ file: string;
19
+ lineStart: number;
20
+ lineEnd: number;
21
+ signature: string | null;
22
+ docstring: string | null;
23
+ code: string | null;
24
+ };
25
+ dependencies: SearchResult[];
26
+ dependents: SearchResult[];
27
+ sameFileSymbols: SearchResult[];
28
+ }
29
+ export interface ImpactResult {
30
+ file: string;
31
+ depth: number;
32
+ symbolCount: number;
33
+ }
34
+ export interface ModuleResult {
35
+ name: string;
36
+ fileCount: number;
37
+ symbolCount: number;
38
+ importsFrom: string[];
39
+ }
40
+ export interface Stats {
41
+ files: number;
42
+ symbols: number;
43
+ edges: number;
44
+ fileDeps: number;
45
+ }
46
+ export declare function search(db: Database.Database, query: string, limit?: number): SearchResult[];
47
+ export declare function getCallers(db: Database.Database, symbolName: string): SearchResult[];
48
+ export declare function getContext(db: Database.Database, symbolName: string): ContextResult | null;
49
+ export declare function getImpact(db: Database.Database, filePath: string, maxDepth?: number): ImpactResult[];
50
+ export declare function getDeps(db: Database.Database, symbolName: string): SearchResult[];
51
+ export declare function getRank(db: Database.Database, top?: number): SearchResult[];
52
+ export declare function getModules(db: Database.Database): ModuleResult[];
53
+ export declare function getStats(db: Database.Database): Stats;
54
+ export declare function brief(db: Database.Database): string;
55
+ export declare function preEditContext(db: Database.Database, filePath: string): string;
56
+ export declare function searchFromRoot(rootDir: string, query: string, limit?: number): SearchResult[];
57
+ export declare function getCallersFromRoot(rootDir: string, name: string): SearchResult[];
58
+ export declare function getContextFromRoot(rootDir: string, name: string): ContextResult | null;
59
+ export declare function getImpactFromRoot(rootDir: string, file: string, maxDepth?: number): ImpactResult[];
60
+ export declare function getDepsFromRoot(rootDir: string, name: string): SearchResult[];
61
+ export declare function getRankFromRoot(rootDir: string, top?: number): SearchResult[];
62
+ export declare function getModulesFromRoot(rootDir: string): ModuleResult[];
63
+ export declare function getStatsFromRoot(rootDir: string): Stats;
64
+ export declare function briefFromRoot(rootDir: string): string;
65
+ export declare function preEditContextFromRoot(rootDir: string, filePath: string): string;