structx 1.0.0 → 2.1.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/README.md +72 -0
- package/dist/cli.js +260 -211
- package/dist/cli.js.map +1 -1
- package/dist/db/connection.js +28 -1
- package/dist/db/connection.js.map +1 -1
- package/dist/db/queries.d.ts +144 -0
- package/dist/db/queries.d.ts.map +1 -1
- package/dist/db/queries.js +282 -6
- package/dist/db/queries.js.map +1 -1
- package/dist/db/schema.sql +59 -0
- package/dist/ingest/constant-extractor.d.ts +11 -0
- package/dist/ingest/constant-extractor.d.ts.map +1 -0
- package/dist/ingest/constant-extractor.js +38 -0
- package/dist/ingest/constant-extractor.js.map +1 -0
- package/dist/ingest/file-metadata.d.ts +13 -0
- package/dist/ingest/file-metadata.d.ts.map +1 -0
- package/dist/ingest/file-metadata.js +55 -0
- package/dist/ingest/file-metadata.js.map +1 -0
- package/dist/ingest/ingester.d.ts +15 -0
- package/dist/ingest/ingester.d.ts.map +1 -0
- package/dist/ingest/ingester.js +217 -0
- package/dist/ingest/ingester.js.map +1 -0
- package/dist/ingest/parser.d.ts +12 -0
- package/dist/ingest/parser.d.ts.map +1 -1
- package/dist/ingest/parser.js +48 -0
- package/dist/ingest/parser.js.map +1 -1
- package/dist/ingest/route-extractor.d.ts +12 -0
- package/dist/ingest/route-extractor.d.ts.map +1 -0
- package/dist/ingest/route-extractor.js +64 -0
- package/dist/ingest/route-extractor.js.map +1 -0
- package/dist/ingest/type-extractor.d.ts +11 -0
- package/dist/ingest/type-extractor.d.ts.map +1 -0
- package/dist/ingest/type-extractor.js +47 -0
- package/dist/ingest/type-extractor.js.map +1 -0
- package/dist/instructions/claude.md +54 -25
- package/dist/instructions/codex.md +70 -0
- package/dist/instructions/copilot.md +57 -26
- package/dist/instructions/cursor.md +54 -25
- package/dist/instructions/generic.md +54 -25
- package/dist/query/answerer.d.ts.map +1 -1
- package/dist/query/answerer.js +6 -2
- package/dist/query/answerer.js.map +1 -1
- package/dist/query/classifier.d.ts +6 -1
- package/dist/query/classifier.d.ts.map +1 -1
- package/dist/query/classifier.js +22 -2
- package/dist/query/classifier.js.map +1 -1
- package/dist/query/context-builder.d.ts.map +1 -1
- package/dist/query/context-builder.js +152 -6
- package/dist/query/context-builder.js.map +1 -1
- package/dist/query/retriever.d.ts +44 -0
- package/dist/query/retriever.d.ts.map +1 -1
- package/dist/query/retriever.js +211 -14
- package/dist/query/retriever.js.map +1 -1
- package/dist/semantic/analyzer.d.ts +10 -0
- package/dist/semantic/analyzer.d.ts.map +1 -1
- package/dist/semantic/analyzer.js +147 -1
- package/dist/semantic/analyzer.js.map +1 -1
- package/dist/semantic/prompt.d.ts +21 -0
- package/dist/semantic/prompt.d.ts.map +1 -1
- package/dist/semantic/prompt.js +63 -0
- package/dist/semantic/prompt.js.map +1 -1
- package/package.json +1 -1
package/dist/db/queries.js
CHANGED
|
@@ -27,19 +27,46 @@ exports.getQaRuns = getQaRuns;
|
|
|
27
27
|
exports.searchFunctions = searchFunctions;
|
|
28
28
|
exports.rebuildFtsIndex = rebuildFtsIndex;
|
|
29
29
|
exports.getStats = getStats;
|
|
30
|
+
exports.resolveNullCallees = resolveNullCallees;
|
|
30
31
|
exports.getTransitiveCallers = getTransitiveCallers;
|
|
32
|
+
exports.getTransitiveCallersRobust = getTransitiveCallersRobust;
|
|
33
|
+
exports.insertType = insertType;
|
|
34
|
+
exports.getTypeByName = getTypeByName;
|
|
35
|
+
exports.getTypesByFileId = getTypesByFileId;
|
|
36
|
+
exports.deleteTypesByFileId = deleteTypesByFileId;
|
|
37
|
+
exports.searchTypes = searchTypes;
|
|
38
|
+
exports.getAllTypes = getAllTypes;
|
|
39
|
+
exports.updateTypePurpose = updateTypePurpose;
|
|
40
|
+
exports.insertRoute = insertRoute;
|
|
41
|
+
exports.getRoutesByFileId = getRoutesByFileId;
|
|
42
|
+
exports.getAllRoutes = getAllRoutes;
|
|
43
|
+
exports.deleteRoutesByFileId = deleteRoutesByFileId;
|
|
44
|
+
exports.searchRoutes = searchRoutes;
|
|
45
|
+
exports.updateRoutePurpose = updateRoutePurpose;
|
|
46
|
+
exports.insertConstant = insertConstant;
|
|
47
|
+
exports.getConstantsByFileId = getConstantsByFileId;
|
|
48
|
+
exports.deleteConstantsByFileId = deleteConstantsByFileId;
|
|
49
|
+
exports.upsertFileSummary = upsertFileSummary;
|
|
50
|
+
exports.getFileSummary = getFileSummary;
|
|
51
|
+
exports.getAllFileSummaries = getAllFileSummaries;
|
|
52
|
+
exports.updateFileSummaryPurpose = updateFileSummaryPurpose;
|
|
53
|
+
exports.searchFiles = searchFiles;
|
|
54
|
+
exports.rebuildAllFtsIndexes = rebuildAllFtsIndexes;
|
|
55
|
+
exports.getFullOverview = getFullOverview;
|
|
56
|
+
exports.getFileOverview = getFileOverview;
|
|
31
57
|
function upsertFile(db, filePath, contentHash) {
|
|
58
|
+
const existing = db.prepare('SELECT id FROM files WHERE path = ?').get(filePath);
|
|
59
|
+
if (existing) {
|
|
60
|
+
db.prepare(`
|
|
61
|
+
UPDATE files SET content_hash = ?, updated_at = CURRENT_TIMESTAMP WHERE id = ?
|
|
62
|
+
`).run(contentHash, existing.id);
|
|
63
|
+
return existing.id;
|
|
64
|
+
}
|
|
32
65
|
const stmt = db.prepare(`
|
|
33
66
|
INSERT INTO files (path, content_hash, updated_at)
|
|
34
67
|
VALUES (?, ?, CURRENT_TIMESTAMP)
|
|
35
|
-
ON CONFLICT(path) DO UPDATE SET
|
|
36
|
-
content_hash = excluded.content_hash,
|
|
37
|
-
updated_at = CURRENT_TIMESTAMP
|
|
38
68
|
`);
|
|
39
69
|
const result = stmt.run(filePath, contentHash);
|
|
40
|
-
if (result.changes === 0) {
|
|
41
|
-
return db.prepare('SELECT id FROM files WHERE path = ?').get(filePath);
|
|
42
|
-
}
|
|
43
70
|
return Number(result.lastInsertRowid);
|
|
44
71
|
}
|
|
45
72
|
function getFileByPath(db, filePath) {
|
|
@@ -147,6 +174,8 @@ function getQaRuns(db, mode) {
|
|
|
147
174
|
}
|
|
148
175
|
// ── FTS queries ──
|
|
149
176
|
function searchFunctions(db, query, limit = 10) {
|
|
177
|
+
if (!query.trim())
|
|
178
|
+
return [];
|
|
150
179
|
return db.prepare(`
|
|
151
180
|
SELECT f.* FROM functions f
|
|
152
181
|
JOIN functions_fts fts ON f.id = fts.rowid
|
|
@@ -164,6 +193,24 @@ function getStats(db) {
|
|
|
164
193
|
const analyzed = db.prepare('SELECT COUNT(*) as count FROM functions WHERE semantic_analyzed_at IS NOT NULL').get();
|
|
165
194
|
const pending = db.prepare("SELECT COUNT(*) as count FROM analysis_queue WHERE status = 'pending'").get();
|
|
166
195
|
const qaRuns = db.prepare('SELECT COUNT(*) as count FROM qa_runs').get();
|
|
196
|
+
// New entity counts — use try/catch for backward compat with old DBs
|
|
197
|
+
let typesCount = 0, routesCount = 0, constantsCount = 0, fileSummariesCount = 0;
|
|
198
|
+
try {
|
|
199
|
+
typesCount = db.prepare('SELECT COUNT(*) as count FROM types').get().count;
|
|
200
|
+
}
|
|
201
|
+
catch { }
|
|
202
|
+
try {
|
|
203
|
+
routesCount = db.prepare('SELECT COUNT(*) as count FROM routes').get().count;
|
|
204
|
+
}
|
|
205
|
+
catch { }
|
|
206
|
+
try {
|
|
207
|
+
constantsCount = db.prepare('SELECT COUNT(*) as count FROM constants').get().count;
|
|
208
|
+
}
|
|
209
|
+
catch { }
|
|
210
|
+
try {
|
|
211
|
+
fileSummariesCount = db.prepare('SELECT COUNT(*) as count FROM file_summaries').get().count;
|
|
212
|
+
}
|
|
213
|
+
catch { }
|
|
167
214
|
return {
|
|
168
215
|
totalFiles: files.count,
|
|
169
216
|
totalFunctions: functions.count,
|
|
@@ -171,8 +218,22 @@ function getStats(db) {
|
|
|
171
218
|
analyzedFunctions: analyzed.count,
|
|
172
219
|
pendingAnalysis: pending.count,
|
|
173
220
|
totalQaRuns: qaRuns.count,
|
|
221
|
+
totalTypes: typesCount,
|
|
222
|
+
totalRoutes: routesCount,
|
|
223
|
+
totalConstants: constantsCount,
|
|
224
|
+
totalFileSummaries: fileSummariesCount,
|
|
174
225
|
};
|
|
175
226
|
}
|
|
227
|
+
// ── Callee resolution ──
|
|
228
|
+
function resolveNullCallees(db) {
|
|
229
|
+
const result = db.prepare(`
|
|
230
|
+
UPDATE relationships SET callee_function_id = (
|
|
231
|
+
SELECT f.id FROM functions f WHERE f.name = relationships.callee_name LIMIT 1
|
|
232
|
+
) WHERE callee_function_id IS NULL
|
|
233
|
+
AND EXISTS (SELECT 1 FROM functions f WHERE f.name = relationships.callee_name)
|
|
234
|
+
`).run();
|
|
235
|
+
return result.changes;
|
|
236
|
+
}
|
|
176
237
|
// ── Impact analysis (recursive CTE) ──
|
|
177
238
|
function getTransitiveCallers(db, functionId) {
|
|
178
239
|
return db.prepare(`
|
|
@@ -188,4 +249,219 @@ function getTransitiveCallers(db, functionId) {
|
|
|
188
249
|
JOIN callers c ON f.id = c.id
|
|
189
250
|
`).all(functionId);
|
|
190
251
|
}
|
|
252
|
+
function getTransitiveCallersRobust(db, functionId, functionName) {
|
|
253
|
+
return db.prepare(`
|
|
254
|
+
WITH RECURSIVE callers AS (
|
|
255
|
+
SELECT caller_function_id AS id FROM relationships
|
|
256
|
+
WHERE (callee_function_id = ? OR callee_name = ?) AND relation_type = 'calls'
|
|
257
|
+
UNION
|
|
258
|
+
SELECT r.caller_function_id FROM relationships r
|
|
259
|
+
JOIN callers c ON r.callee_function_id = c.id
|
|
260
|
+
WHERE r.relation_type = 'calls'
|
|
261
|
+
)
|
|
262
|
+
SELECT DISTINCT f.* FROM functions f
|
|
263
|
+
JOIN callers c ON f.id = c.id
|
|
264
|
+
`).all(functionId, functionName);
|
|
265
|
+
}
|
|
266
|
+
function insertType(db, t) {
|
|
267
|
+
const result = db.prepare(`
|
|
268
|
+
INSERT INTO types (file_id, name, kind, full_text, is_exported, start_line, end_line)
|
|
269
|
+
VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
270
|
+
`).run(t.file_id, t.name, t.kind, t.full_text, t.is_exported ? 1 : 0, t.start_line, t.end_line);
|
|
271
|
+
return Number(result.lastInsertRowid);
|
|
272
|
+
}
|
|
273
|
+
function getTypeByName(db, name) {
|
|
274
|
+
return db.prepare('SELECT * FROM types WHERE name = ?').get(name);
|
|
275
|
+
}
|
|
276
|
+
function getTypesByFileId(db, fileId) {
|
|
277
|
+
return db.prepare('SELECT * FROM types WHERE file_id = ?').all(fileId);
|
|
278
|
+
}
|
|
279
|
+
function deleteTypesByFileId(db, fileId) {
|
|
280
|
+
db.prepare('DELETE FROM types WHERE file_id = ?').run(fileId);
|
|
281
|
+
}
|
|
282
|
+
function searchTypes(db, query, limit = 10) {
|
|
283
|
+
if (!query.trim())
|
|
284
|
+
return [];
|
|
285
|
+
return db.prepare(`
|
|
286
|
+
SELECT t.* FROM types t
|
|
287
|
+
JOIN types_fts fts ON t.id = fts.rowid
|
|
288
|
+
WHERE types_fts MATCH ?
|
|
289
|
+
LIMIT ?
|
|
290
|
+
`).all(query, limit);
|
|
291
|
+
}
|
|
292
|
+
function getAllTypes(db) {
|
|
293
|
+
return db.prepare('SELECT * FROM types').all();
|
|
294
|
+
}
|
|
295
|
+
function updateTypePurpose(db, typeId, purpose) {
|
|
296
|
+
db.prepare(`
|
|
297
|
+
UPDATE types SET purpose = ?, semantic_analyzed_at = CURRENT_TIMESTAMP WHERE id = ?
|
|
298
|
+
`).run(purpose, typeId);
|
|
299
|
+
}
|
|
300
|
+
function insertRoute(db, r) {
|
|
301
|
+
const result = db.prepare(`
|
|
302
|
+
INSERT INTO routes (file_id, method, path, handler_name, handler_body, middleware, start_line, end_line)
|
|
303
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
|
|
304
|
+
`).run(r.file_id, r.method, r.path, r.handler_name, r.handler_body, r.middleware, r.start_line, r.end_line);
|
|
305
|
+
return Number(result.lastInsertRowid);
|
|
306
|
+
}
|
|
307
|
+
function getRoutesByFileId(db, fileId) {
|
|
308
|
+
return db.prepare('SELECT * FROM routes WHERE file_id = ?').all(fileId);
|
|
309
|
+
}
|
|
310
|
+
function getAllRoutes(db) {
|
|
311
|
+
return db.prepare('SELECT * FROM routes').all();
|
|
312
|
+
}
|
|
313
|
+
function deleteRoutesByFileId(db, fileId) {
|
|
314
|
+
db.prepare('DELETE FROM routes WHERE file_id = ?').run(fileId);
|
|
315
|
+
}
|
|
316
|
+
function searchRoutes(db, query, limit = 10) {
|
|
317
|
+
if (!query.trim())
|
|
318
|
+
return [];
|
|
319
|
+
return db.prepare(`
|
|
320
|
+
SELECT r.* FROM routes r
|
|
321
|
+
JOIN routes_fts fts ON r.id = fts.rowid
|
|
322
|
+
WHERE routes_fts MATCH ?
|
|
323
|
+
LIMIT ?
|
|
324
|
+
`).all(query, limit);
|
|
325
|
+
}
|
|
326
|
+
function updateRoutePurpose(db, routeId, purpose) {
|
|
327
|
+
db.prepare(`
|
|
328
|
+
UPDATE routes SET purpose = ?, semantic_analyzed_at = CURRENT_TIMESTAMP WHERE id = ?
|
|
329
|
+
`).run(purpose, routeId);
|
|
330
|
+
}
|
|
331
|
+
function insertConstant(db, c) {
|
|
332
|
+
const result = db.prepare(`
|
|
333
|
+
INSERT INTO constants (file_id, name, value_text, type_annotation, is_exported, start_line, end_line)
|
|
334
|
+
VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
335
|
+
`).run(c.file_id, c.name, c.value_text, c.type_annotation, c.is_exported ? 1 : 0, c.start_line, c.end_line);
|
|
336
|
+
return Number(result.lastInsertRowid);
|
|
337
|
+
}
|
|
338
|
+
function getConstantsByFileId(db, fileId) {
|
|
339
|
+
return db.prepare('SELECT * FROM constants WHERE file_id = ?').all(fileId);
|
|
340
|
+
}
|
|
341
|
+
function deleteConstantsByFileId(db, fileId) {
|
|
342
|
+
db.prepare('DELETE FROM constants WHERE file_id = ?').run(fileId);
|
|
343
|
+
}
|
|
344
|
+
function upsertFileSummary(db, s) {
|
|
345
|
+
const existing = db.prepare('SELECT id FROM file_summaries WHERE file_id = ?').get(s.file_id);
|
|
346
|
+
if (existing) {
|
|
347
|
+
db.prepare(`
|
|
348
|
+
UPDATE file_summaries SET import_count = ?, export_count = ?, function_count = ?,
|
|
349
|
+
type_count = ?, route_count = ?, loc = ?, imports_json = ?, exports_json = ?
|
|
350
|
+
WHERE id = ?
|
|
351
|
+
`).run(s.import_count, s.export_count, s.function_count, s.type_count, s.route_count, s.loc, s.imports_json, s.exports_json, existing.id);
|
|
352
|
+
return existing.id;
|
|
353
|
+
}
|
|
354
|
+
const result = db.prepare(`
|
|
355
|
+
INSERT INTO file_summaries (file_id, import_count, export_count, function_count, type_count, route_count, loc, imports_json, exports_json)
|
|
356
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
357
|
+
`).run(s.file_id, s.import_count, s.export_count, s.function_count, s.type_count, s.route_count, s.loc, s.imports_json, s.exports_json);
|
|
358
|
+
return Number(result.lastInsertRowid);
|
|
359
|
+
}
|
|
360
|
+
function getFileSummary(db, fileId) {
|
|
361
|
+
return db.prepare('SELECT * FROM file_summaries WHERE file_id = ?').get(fileId);
|
|
362
|
+
}
|
|
363
|
+
function getAllFileSummaries(db) {
|
|
364
|
+
return db.prepare('SELECT * FROM file_summaries').all();
|
|
365
|
+
}
|
|
366
|
+
function updateFileSummaryPurpose(db, summaryId, purpose) {
|
|
367
|
+
db.prepare(`
|
|
368
|
+
UPDATE file_summaries SET purpose = ?, semantic_analyzed_at = CURRENT_TIMESTAMP WHERE id = ?
|
|
369
|
+
`).run(purpose, summaryId);
|
|
370
|
+
}
|
|
371
|
+
function searchFiles(db, query, limit = 10) {
|
|
372
|
+
if (!query.trim())
|
|
373
|
+
return [];
|
|
374
|
+
return db.prepare(`
|
|
375
|
+
SELECT fs.* FROM file_summaries fs
|
|
376
|
+
JOIN files_fts fts ON fs.id = fts.rowid
|
|
377
|
+
WHERE files_fts MATCH ?
|
|
378
|
+
LIMIT ?
|
|
379
|
+
`).all(query, limit);
|
|
380
|
+
}
|
|
381
|
+
// ── Rebuild all FTS indexes ──
|
|
382
|
+
function rebuildAllFtsIndexes(db) {
|
|
383
|
+
db.exec("INSERT INTO functions_fts(functions_fts) VALUES('rebuild')");
|
|
384
|
+
try {
|
|
385
|
+
db.exec("INSERT INTO types_fts(types_fts) VALUES('rebuild')");
|
|
386
|
+
}
|
|
387
|
+
catch { }
|
|
388
|
+
try {
|
|
389
|
+
db.exec("INSERT INTO routes_fts(routes_fts) VALUES('rebuild')");
|
|
390
|
+
}
|
|
391
|
+
catch { }
|
|
392
|
+
try {
|
|
393
|
+
db.exec("INSERT INTO files_fts(files_fts) VALUES('rebuild')");
|
|
394
|
+
}
|
|
395
|
+
catch { }
|
|
396
|
+
}
|
|
397
|
+
function getFullOverview(db) {
|
|
398
|
+
const stats = getStats(db);
|
|
399
|
+
const allFiles = getAllFiles(db);
|
|
400
|
+
// Build file path lookup
|
|
401
|
+
const filePathById = new Map();
|
|
402
|
+
for (const f of allFiles)
|
|
403
|
+
filePathById.set(f.id, f.path);
|
|
404
|
+
// Files with summaries
|
|
405
|
+
const filesWithSummaries = allFiles.map(f => ({
|
|
406
|
+
...f,
|
|
407
|
+
summary: getFileSummary(db, f.id),
|
|
408
|
+
}));
|
|
409
|
+
// All functions with file paths
|
|
410
|
+
const allFns = getAllFunctions(db);
|
|
411
|
+
const functionsWithPath = allFns.map(fn => ({
|
|
412
|
+
...fn,
|
|
413
|
+
filePath: filePathById.get(fn.file_id) || 'unknown',
|
|
414
|
+
}));
|
|
415
|
+
// All types with file paths
|
|
416
|
+
let allTypesArr = [];
|
|
417
|
+
try {
|
|
418
|
+
allTypesArr = getAllTypes(db);
|
|
419
|
+
}
|
|
420
|
+
catch { }
|
|
421
|
+
const typesWithPath = allTypesArr.map(t => ({
|
|
422
|
+
...t,
|
|
423
|
+
filePath: filePathById.get(t.file_id) || 'unknown',
|
|
424
|
+
}));
|
|
425
|
+
// All routes with file paths
|
|
426
|
+
let allRoutesArr = [];
|
|
427
|
+
try {
|
|
428
|
+
allRoutesArr = getAllRoutes(db);
|
|
429
|
+
}
|
|
430
|
+
catch { }
|
|
431
|
+
const routesWithPath = allRoutesArr.map(r => ({
|
|
432
|
+
...r,
|
|
433
|
+
filePath: filePathById.get(r.file_id) || 'unknown',
|
|
434
|
+
}));
|
|
435
|
+
// All constants with file paths (limit to exported ones for overview)
|
|
436
|
+
let allConstantsArr = [];
|
|
437
|
+
try {
|
|
438
|
+
allConstantsArr = db.prepare('SELECT * FROM constants WHERE is_exported = 1').all();
|
|
439
|
+
}
|
|
440
|
+
catch { }
|
|
441
|
+
const constantsWithPath = allConstantsArr.map(c => ({
|
|
442
|
+
...c,
|
|
443
|
+
filePath: filePathById.get(c.file_id) || 'unknown',
|
|
444
|
+
}));
|
|
445
|
+
return {
|
|
446
|
+
stats,
|
|
447
|
+
files: filesWithSummaries,
|
|
448
|
+
functions: functionsWithPath,
|
|
449
|
+
types: typesWithPath,
|
|
450
|
+
routes: routesWithPath,
|
|
451
|
+
constants: constantsWithPath,
|
|
452
|
+
};
|
|
453
|
+
}
|
|
454
|
+
function getFileOverview(db, fileId) {
|
|
455
|
+
const file = db.prepare('SELECT * FROM files WHERE id = ?').get(fileId);
|
|
456
|
+
if (!file)
|
|
457
|
+
return null;
|
|
458
|
+
return {
|
|
459
|
+
file,
|
|
460
|
+
summary: getFileSummary(db, fileId),
|
|
461
|
+
functions: getFunctionsByFileId(db, fileId),
|
|
462
|
+
types: getTypesByFileId(db, fileId),
|
|
463
|
+
routes: getRoutesByFileId(db, fileId),
|
|
464
|
+
constants: getConstantsByFileId(db, fileId),
|
|
465
|
+
};
|
|
466
|
+
}
|
|
191
467
|
//# sourceMappingURL=queries.js.map
|
package/dist/db/queries.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/db/queries.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/db/queries.ts"],"names":[],"mappings":"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"}
|
package/dist/db/schema.sql
CHANGED
|
@@ -75,6 +75,59 @@ CREATE TABLE IF NOT EXISTS qa_runs (
|
|
|
75
75
|
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
|
76
76
|
);
|
|
77
77
|
|
|
78
|
+
CREATE TABLE IF NOT EXISTS types (
|
|
79
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
80
|
+
file_id INTEGER NOT NULL REFERENCES files(id) ON DELETE CASCADE,
|
|
81
|
+
name TEXT NOT NULL,
|
|
82
|
+
kind TEXT NOT NULL CHECK(kind IN ('interface', 'type_alias', 'enum')),
|
|
83
|
+
full_text TEXT NOT NULL,
|
|
84
|
+
is_exported BOOLEAN DEFAULT 0,
|
|
85
|
+
start_line INTEGER NOT NULL,
|
|
86
|
+
end_line INTEGER NOT NULL,
|
|
87
|
+
purpose TEXT,
|
|
88
|
+
semantic_analyzed_at DATETIME
|
|
89
|
+
);
|
|
90
|
+
|
|
91
|
+
CREATE TABLE IF NOT EXISTS routes (
|
|
92
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
93
|
+
file_id INTEGER NOT NULL REFERENCES files(id) ON DELETE CASCADE,
|
|
94
|
+
method TEXT NOT NULL,
|
|
95
|
+
path TEXT NOT NULL,
|
|
96
|
+
handler_name TEXT,
|
|
97
|
+
handler_body TEXT NOT NULL,
|
|
98
|
+
middleware TEXT,
|
|
99
|
+
start_line INTEGER NOT NULL,
|
|
100
|
+
end_line INTEGER NOT NULL,
|
|
101
|
+
purpose TEXT,
|
|
102
|
+
semantic_analyzed_at DATETIME
|
|
103
|
+
);
|
|
104
|
+
|
|
105
|
+
CREATE TABLE IF NOT EXISTS constants (
|
|
106
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
107
|
+
file_id INTEGER NOT NULL REFERENCES files(id) ON DELETE CASCADE,
|
|
108
|
+
name TEXT NOT NULL,
|
|
109
|
+
value_text TEXT,
|
|
110
|
+
type_annotation TEXT,
|
|
111
|
+
is_exported BOOLEAN DEFAULT 0,
|
|
112
|
+
start_line INTEGER NOT NULL,
|
|
113
|
+
end_line INTEGER NOT NULL
|
|
114
|
+
);
|
|
115
|
+
|
|
116
|
+
CREATE TABLE IF NOT EXISTS file_summaries (
|
|
117
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
118
|
+
file_id INTEGER NOT NULL UNIQUE REFERENCES files(id) ON DELETE CASCADE,
|
|
119
|
+
import_count INTEGER DEFAULT 0,
|
|
120
|
+
export_count INTEGER DEFAULT 0,
|
|
121
|
+
function_count INTEGER DEFAULT 0,
|
|
122
|
+
type_count INTEGER DEFAULT 0,
|
|
123
|
+
route_count INTEGER DEFAULT 0,
|
|
124
|
+
loc INTEGER DEFAULT 0,
|
|
125
|
+
imports_json TEXT,
|
|
126
|
+
exports_json TEXT,
|
|
127
|
+
purpose TEXT,
|
|
128
|
+
semantic_analyzed_at DATETIME
|
|
129
|
+
);
|
|
130
|
+
|
|
78
131
|
-- Indexes
|
|
79
132
|
CREATE INDEX IF NOT EXISTS idx_functions_name ON functions(name);
|
|
80
133
|
CREATE INDEX IF NOT EXISTS idx_functions_domain ON functions(domain);
|
|
@@ -83,3 +136,9 @@ CREATE INDEX IF NOT EXISTS idx_relationships_caller ON relationships(caller_func
|
|
|
83
136
|
CREATE INDEX IF NOT EXISTS idx_relationships_callee ON relationships(callee_function_id);
|
|
84
137
|
CREATE INDEX IF NOT EXISTS idx_analysis_queue_status ON analysis_queue(status, priority DESC);
|
|
85
138
|
CREATE INDEX IF NOT EXISTS idx_semantic_cache_lookup ON semantic_cache(function_id, prompt_hash);
|
|
139
|
+
CREATE INDEX IF NOT EXISTS idx_types_file_id ON types(file_id);
|
|
140
|
+
CREATE INDEX IF NOT EXISTS idx_types_name ON types(name);
|
|
141
|
+
CREATE INDEX IF NOT EXISTS idx_routes_file_id ON routes(file_id);
|
|
142
|
+
CREATE INDEX IF NOT EXISTS idx_routes_path ON routes(path);
|
|
143
|
+
CREATE INDEX IF NOT EXISTS idx_constants_file_id ON constants(file_id);
|
|
144
|
+
CREATE INDEX IF NOT EXISTS idx_file_summaries_file_id ON file_summaries(file_id);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { SourceFile } from 'ts-morph';
|
|
2
|
+
export interface ExtractedConstant {
|
|
3
|
+
name: string;
|
|
4
|
+
valueText: string | null;
|
|
5
|
+
typeAnnotation: string | null;
|
|
6
|
+
isExported: boolean;
|
|
7
|
+
startLine: number;
|
|
8
|
+
endLine: number;
|
|
9
|
+
}
|
|
10
|
+
export declare function extractConstants(sourceFile: SourceFile): ExtractedConstant[];
|
|
11
|
+
//# sourceMappingURL=constant-extractor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constant-extractor.d.ts","sourceRoot":"","sources":["../../src/ingest/constant-extractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAQ,MAAM,UAAU,CAAC;AAE5C,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,iBAAiB,EAAE,CAsC5E"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.extractConstants = extractConstants;
|
|
4
|
+
const ts_morph_1 = require("ts-morph");
|
|
5
|
+
function extractConstants(sourceFile) {
|
|
6
|
+
const constants = [];
|
|
7
|
+
for (const varStmt of sourceFile.getVariableStatements()) {
|
|
8
|
+
for (const decl of varStmt.getDeclarations()) {
|
|
9
|
+
const name = decl.getName();
|
|
10
|
+
if (!name)
|
|
11
|
+
continue;
|
|
12
|
+
const initializer = decl.getInitializer();
|
|
13
|
+
// Skip arrow functions and function expressions — those are captured as functions
|
|
14
|
+
if (initializer && (ts_morph_1.Node.isArrowFunction(initializer) || ts_morph_1.Node.isFunctionExpression(initializer))) {
|
|
15
|
+
continue;
|
|
16
|
+
}
|
|
17
|
+
// Get value text, truncated
|
|
18
|
+
let valueText = null;
|
|
19
|
+
if (initializer) {
|
|
20
|
+
const text = initializer.getText();
|
|
21
|
+
valueText = text.length > 500 ? text.substring(0, 500) + '...' : text;
|
|
22
|
+
}
|
|
23
|
+
// Get type annotation
|
|
24
|
+
const typeNode = decl.getTypeNode();
|
|
25
|
+
const typeAnnotation = typeNode ? typeNode.getText() : null;
|
|
26
|
+
constants.push({
|
|
27
|
+
name,
|
|
28
|
+
valueText,
|
|
29
|
+
typeAnnotation,
|
|
30
|
+
isExported: varStmt.isExported(),
|
|
31
|
+
startLine: decl.getStartLineNumber(),
|
|
32
|
+
endLine: decl.getEndLineNumber(),
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return constants;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=constant-extractor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constant-extractor.js","sourceRoot":"","sources":["../../src/ingest/constant-extractor.ts"],"names":[],"mappings":";;AAWA,4CAsCC;AAjDD,uCAA4C;AAW5C,SAAgB,gBAAgB,CAAC,UAAsB;IACrD,MAAM,SAAS,GAAwB,EAAE,CAAC;IAE1C,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,qBAAqB,EAAE,EAAE,CAAC;QACzD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;YAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI;gBAAE,SAAS;YAEpB,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YAE1C,kFAAkF;YAClF,IAAI,WAAW,IAAI,CAAC,eAAI,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,eAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;gBACjG,SAAS;YACX,CAAC;YAED,4BAA4B;YAC5B,IAAI,SAAS,GAAkB,IAAI,CAAC;YACpC,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC;gBACnC,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YACxE,CAAC;YAED,sBAAsB;YACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACpC,MAAM,cAAc,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAE5D,SAAS,CAAC,IAAI,CAAC;gBACb,IAAI;gBACJ,SAAS;gBACT,cAAc;gBACd,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE;gBAChC,SAAS,EAAE,IAAI,CAAC,kBAAkB,EAAE;gBACpC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE;aACjC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { SourceFile } from 'ts-morph';
|
|
2
|
+
export interface ExtractedFileMetadata {
|
|
3
|
+
importCount: number;
|
|
4
|
+
exportCount: number;
|
|
5
|
+
functionCount: number;
|
|
6
|
+
typeCount: number;
|
|
7
|
+
routeCount: number;
|
|
8
|
+
loc: number;
|
|
9
|
+
imports: string[];
|
|
10
|
+
exports: string[];
|
|
11
|
+
}
|
|
12
|
+
export declare function extractFileMetadata(sourceFile: SourceFile, functionCount: number, typeCount: number, routeCount: number): ExtractedFileMetadata;
|
|
13
|
+
//# sourceMappingURL=file-metadata.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-metadata.d.ts","sourceRoot":"","sources":["../../src/ingest/file-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,qBAAqB,CAiDvB"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.extractFileMetadata = extractFileMetadata;
|
|
4
|
+
function extractFileMetadata(sourceFile, functionCount, typeCount, routeCount) {
|
|
5
|
+
const imports = [];
|
|
6
|
+
for (const importDecl of sourceFile.getImportDeclarations()) {
|
|
7
|
+
const moduleSpecifier = importDecl.getModuleSpecifierValue();
|
|
8
|
+
const namedImports = importDecl.getNamedImports().map(n => n.getName());
|
|
9
|
+
const defaultImport = importDecl.getDefaultImport()?.getText();
|
|
10
|
+
const items = defaultImport ? [defaultImport, ...namedImports] : namedImports;
|
|
11
|
+
if (items.length > 0) {
|
|
12
|
+
imports.push(`${items.join(', ')} from ${moduleSpecifier}`);
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
imports.push(moduleSpecifier);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
const exports = [];
|
|
19
|
+
for (const exportDecl of sourceFile.getExportDeclarations()) {
|
|
20
|
+
const namedExports = exportDecl.getNamedExports().map(n => n.getName());
|
|
21
|
+
exports.push(...namedExports);
|
|
22
|
+
}
|
|
23
|
+
// Also count exported declarations
|
|
24
|
+
for (const fn of sourceFile.getFunctions()) {
|
|
25
|
+
if (fn.isExported() && fn.getName())
|
|
26
|
+
exports.push(fn.getName());
|
|
27
|
+
}
|
|
28
|
+
for (const iface of sourceFile.getInterfaces()) {
|
|
29
|
+
if (iface.isExported())
|
|
30
|
+
exports.push(iface.getName());
|
|
31
|
+
}
|
|
32
|
+
for (const typeAlias of sourceFile.getTypeAliases()) {
|
|
33
|
+
if (typeAlias.isExported())
|
|
34
|
+
exports.push(typeAlias.getName());
|
|
35
|
+
}
|
|
36
|
+
for (const varStmt of sourceFile.getVariableStatements()) {
|
|
37
|
+
if (varStmt.isExported()) {
|
|
38
|
+
for (const decl of varStmt.getDeclarations()) {
|
|
39
|
+
exports.push(decl.getName());
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
const loc = sourceFile.getEndLineNumber();
|
|
44
|
+
return {
|
|
45
|
+
importCount: imports.length,
|
|
46
|
+
exportCount: exports.length,
|
|
47
|
+
functionCount,
|
|
48
|
+
typeCount,
|
|
49
|
+
routeCount,
|
|
50
|
+
loc,
|
|
51
|
+
imports,
|
|
52
|
+
exports,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=file-metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-metadata.js","sourceRoot":"","sources":["../../src/ingest/file-metadata.ts"],"names":[],"mappings":";;AAaA,kDAsDC;AAtDD,SAAgB,mBAAmB,CACjC,UAAsB,EACtB,aAAqB,EACrB,SAAiB,EACjB,UAAkB;IAElB,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,UAAU,IAAI,UAAU,CAAC,qBAAqB,EAAE,EAAE,CAAC;QAC5D,MAAM,eAAe,GAAG,UAAU,CAAC,uBAAuB,EAAE,CAAC;QAC7D,MAAM,YAAY,GAAG,UAAU,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACxE,MAAM,aAAa,GAAG,UAAU,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAC;QAC/D,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QAC9E,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,eAAe,EAAE,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,UAAU,IAAI,UAAU,CAAC,qBAAqB,EAAE,EAAE,CAAC;QAC5D,MAAM,YAAY,GAAG,UAAU,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;IAChC,CAAC;IACD,mCAAmC;IACnC,KAAK,MAAM,EAAE,IAAI,UAAU,CAAC,YAAY,EAAE,EAAE,CAAC;QAC3C,IAAI,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAG,CAAC,CAAC;IACnE,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,aAAa,EAAE,EAAE,CAAC;QAC/C,IAAI,KAAK,CAAC,UAAU,EAAE;YAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,cAAc,EAAE,EAAE,CAAC;QACpD,IAAI,SAAS,CAAC,UAAU,EAAE;YAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,qBAAqB,EAAE,EAAE,CAAC;QACzD,IAAI,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;YACzB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;gBAC7C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,GAAG,GAAG,UAAU,CAAC,gBAAgB,EAAE,CAAC;IAE1C,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,MAAM;QAC3B,WAAW,EAAE,OAAO,CAAC,MAAM;QAC3B,aAAa;QACb,SAAS;QACT,UAAU;QACV,GAAG;QACH,OAAO;QACP,OAAO;KACR,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type Database from 'better-sqlite3';
|
|
2
|
+
export interface IngestResult {
|
|
3
|
+
newFiles: number;
|
|
4
|
+
changedFiles: number;
|
|
5
|
+
unchangedFiles: number;
|
|
6
|
+
totalFunctions: number;
|
|
7
|
+
totalRelationships: number;
|
|
8
|
+
totalTypes: number;
|
|
9
|
+
totalRoutes: number;
|
|
10
|
+
totalConstants: number;
|
|
11
|
+
queued: number;
|
|
12
|
+
}
|
|
13
|
+
export declare function ingestDirectory(db: Database.Database, repoPath: string, diffThreshold: number): IngestResult;
|
|
14
|
+
export declare function printIngestResult(result: IngestResult): void;
|
|
15
|
+
//# sourceMappingURL=ingester.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ingester.d.ts","sourceRoot":"","sources":["../../src/ingest/ingester.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAiB3C,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,eAAe,CAC7B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,GACpB,YAAY,CA2Kd;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAW5D"}
|