milens 0.6.2 → 0.6.3
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 +157 -14
- package/dist/analyzer/engine.d.ts +1 -0
- package/dist/analyzer/engine.d.ts.map +1 -1
- package/dist/analyzer/engine.js +27 -8
- package/dist/analyzer/engine.js.map +1 -1
- package/dist/analyzer/review.d.ts +23 -0
- package/dist/analyzer/review.d.ts.map +1 -0
- package/dist/analyzer/review.js +143 -0
- package/dist/analyzer/review.js.map +1 -0
- package/dist/analyzer/testplan.d.ts +59 -0
- package/dist/analyzer/testplan.d.ts.map +1 -0
- package/dist/analyzer/testplan.js +218 -0
- package/dist/analyzer/testplan.js.map +1 -0
- package/dist/cli.js +2 -0
- package/dist/cli.js.map +1 -1
- package/dist/gateway/analyzer.d.ts +6 -0
- package/dist/gateway/analyzer.d.ts.map +1 -0
- package/dist/gateway/analyzer.js +218 -0
- package/dist/gateway/analyzer.js.map +1 -0
- package/dist/gateway/cache.d.ts +35 -0
- package/dist/gateway/cache.d.ts.map +1 -0
- package/dist/gateway/cache.js +175 -0
- package/dist/gateway/cache.js.map +1 -0
- package/dist/gateway/config.d.ts +10 -0
- package/dist/gateway/config.d.ts.map +1 -0
- package/dist/gateway/config.js +167 -0
- package/dist/gateway/config.js.map +1 -0
- package/dist/gateway/context-memory.d.ts +68 -0
- package/dist/gateway/context-memory.d.ts.map +1 -0
- package/dist/gateway/context-memory.js +157 -0
- package/dist/gateway/context-memory.js.map +1 -0
- package/dist/gateway/observability.d.ts +83 -0
- package/dist/gateway/observability.d.ts.map +1 -0
- package/dist/gateway/observability.js +152 -0
- package/dist/gateway/observability.js.map +1 -0
- package/dist/gateway/privacy.d.ts +27 -0
- package/dist/gateway/privacy.d.ts.map +1 -0
- package/dist/gateway/privacy.js +139 -0
- package/dist/gateway/privacy.js.map +1 -0
- package/dist/gateway/providers.d.ts +66 -0
- package/dist/gateway/providers.d.ts.map +1 -0
- package/dist/gateway/providers.js +377 -0
- package/dist/gateway/providers.js.map +1 -0
- package/dist/gateway/router.d.ts +18 -0
- package/dist/gateway/router.d.ts.map +1 -0
- package/dist/gateway/router.js +102 -0
- package/dist/gateway/router.js.map +1 -0
- package/dist/gateway/server.d.ts +20 -0
- package/dist/gateway/server.d.ts.map +1 -0
- package/dist/gateway/server.js +387 -0
- package/dist/gateway/server.js.map +1 -0
- package/dist/gateway/translator.d.ts +19 -0
- package/dist/gateway/translator.d.ts.map +1 -0
- package/dist/gateway/translator.js +340 -0
- package/dist/gateway/translator.js.map +1 -0
- package/dist/gateway/types.d.ts +215 -0
- package/dist/gateway/types.d.ts.map +1 -0
- package/dist/gateway/types.js +3 -0
- package/dist/gateway/types.js.map +1 -0
- package/dist/parser/extract.d.ts +1 -0
- package/dist/parser/extract.d.ts.map +1 -1
- package/dist/parser/extract.js +8 -0
- package/dist/parser/extract.js.map +1 -1
- package/dist/parser/lang-go.d.ts.map +1 -1
- package/dist/parser/lang-go.js +41 -5
- package/dist/parser/lang-go.js.map +1 -1
- package/dist/parser/lang-java.d.ts.map +1 -1
- package/dist/parser/lang-java.js +1 -0
- package/dist/parser/lang-java.js.map +1 -1
- package/dist/parser/lang-py.d.ts.map +1 -1
- package/dist/parser/lang-py.js +22 -0
- package/dist/parser/lang-py.js.map +1 -1
- package/dist/parser/lang-ruby.d.ts.map +1 -1
- package/dist/parser/lang-ruby.js +1 -0
- package/dist/parser/lang-ruby.js.map +1 -1
- package/dist/server/mcp.d.ts.map +1 -1
- package/dist/server/mcp.js +615 -106
- package/dist/server/mcp.js.map +1 -1
- package/dist/skills.js +32 -0
- package/dist/skills.js.map +1 -1
- package/dist/store/db.d.ts +44 -0
- package/dist/store/db.d.ts.map +1 -1
- package/dist/store/db.js +142 -25
- package/dist/store/db.js.map +1 -1
- package/dist/store/gateway-schema.sql +53 -0
- package/dist/store/schema.sql +33 -0
- package/dist/store/vectors.d.ts +65 -0
- package/dist/store/vectors.d.ts.map +1 -0
- package/dist/store/vectors.js +212 -0
- package/dist/store/vectors.js.map +1 -0
- package/dist/utils.d.ts +3 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +9 -0
- package/dist/utils.js.map +1 -0
- package/docs/diagram2.svg +1 -1
- package/package.json +2 -1
package/dist/store/db.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/store/db.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/store/db.ts"],"names":[],"mappings":"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"}
|
package/dist/store/db.js
CHANGED
|
@@ -61,7 +61,7 @@ export class Database {
|
|
|
61
61
|
countSymbols: this.db.prepare('SELECT COUNT(*) as c FROM symbols'),
|
|
62
62
|
countLinks: this.db.prepare('SELECT COUNT(*) as c FROM links'),
|
|
63
63
|
countFiles: this.db.prepare('SELECT COUNT(*) as c FROM file_hashes'),
|
|
64
|
-
deleteFileLinks: this.db.prepare('DELETE FROM links WHERE from_id IN (SELECT id FROM symbols WHERE file_path = ?)'),
|
|
64
|
+
deleteFileLinks: this.db.prepare('DELETE FROM links WHERE from_id IN (SELECT id FROM symbols WHERE file_path = ?) OR to_id IN (SELECT id FROM symbols WHERE file_path = ?)'),
|
|
65
65
|
deleteFileSymbols: this.db.prepare('DELETE FROM symbols WHERE file_path = ?'),
|
|
66
66
|
};
|
|
67
67
|
}
|
|
@@ -153,6 +153,35 @@ export class Database {
|
|
|
153
153
|
const rows = this.stmts.linksOut.all(symbolId);
|
|
154
154
|
return rows.map(rowToLink);
|
|
155
155
|
}
|
|
156
|
+
/** Batch link counts for multiple symbol IDs (avoids N+1 queries) */
|
|
157
|
+
getLinkCountsForSymbols(symbolIds) {
|
|
158
|
+
if (symbolIds.length === 0)
|
|
159
|
+
return new Map();
|
|
160
|
+
const placeholders = symbolIds.map(() => '?').join(',');
|
|
161
|
+
const inRows = this.db.prepare(`SELECT to_id as id, COUNT(*) as c FROM links WHERE to_id IN (${placeholders}) AND type != 'contains' GROUP BY to_id`).all(...symbolIds);
|
|
162
|
+
const outRows = this.db.prepare(`SELECT from_id as id, COUNT(*) as c FROM links WHERE from_id IN (${placeholders}) AND type != 'contains' GROUP BY from_id`).all(...symbolIds);
|
|
163
|
+
const result = new Map();
|
|
164
|
+
for (const id of symbolIds)
|
|
165
|
+
result.set(id, { incoming: 0, outgoing: 0 });
|
|
166
|
+
for (const r of inRows)
|
|
167
|
+
result.get(r.id).incoming = r.c;
|
|
168
|
+
for (const r of outRows)
|
|
169
|
+
result.get(r.id).outgoing = r.c;
|
|
170
|
+
return result;
|
|
171
|
+
}
|
|
172
|
+
/** Batch: get symbol IDs that have at least one incoming link from a test file. */
|
|
173
|
+
getTestedSymbolIds(symbolIds, isTestFile) {
|
|
174
|
+
if (symbolIds.length === 0)
|
|
175
|
+
return new Set();
|
|
176
|
+
const placeholders = symbolIds.map(() => '?').join(',');
|
|
177
|
+
const rows = this.db.prepare(`SELECT DISTINCT l.to_id, s.file_path FROM links l JOIN symbols s ON s.id = l.from_id WHERE l.to_id IN (${placeholders})`).all(...symbolIds);
|
|
178
|
+
const tested = new Set();
|
|
179
|
+
for (const r of rows) {
|
|
180
|
+
if (isTestFile(r.file_path))
|
|
181
|
+
tested.add(r.to_id);
|
|
182
|
+
}
|
|
183
|
+
return tested;
|
|
184
|
+
}
|
|
156
185
|
findUpstream(symbolId, maxDepth = 3) {
|
|
157
186
|
const rows = this.stmts.upstream.all(symbolId, maxDepth);
|
|
158
187
|
return rows.map(r => ({ symbol: rowToSymbol(r), depth: r.depth, via: r.via }));
|
|
@@ -171,6 +200,10 @@ export class Database {
|
|
|
171
200
|
const rows = this.db.prepare('SELECT * FROM symbols').all();
|
|
172
201
|
return rows.map(rowToSymbol);
|
|
173
202
|
}
|
|
203
|
+
getTopSymbolsByHeat(limit = 10) {
|
|
204
|
+
const rows = this.db.prepare(`SELECT * FROM symbols WHERE heat > 0 AND kind != 'section' ORDER BY heat DESC LIMIT ?`).all(limit);
|
|
205
|
+
return rows.map(rowToSymbol);
|
|
206
|
+
}
|
|
174
207
|
getAllLinks() {
|
|
175
208
|
const rows = this.db.prepare('SELECT * FROM links').all();
|
|
176
209
|
return rows.map(rowToLink);
|
|
@@ -247,27 +280,40 @@ export class Database {
|
|
|
247
280
|
return null;
|
|
248
281
|
const fromId = fromSyms[0].id;
|
|
249
282
|
const toIds = new Set(toSyms.map(s => s.id));
|
|
250
|
-
// BFS
|
|
283
|
+
// BFS with parent tracking to reconstruct shortest path
|
|
251
284
|
const rows = this.db.prepare(`
|
|
252
|
-
WITH RECURSIVE path(id, depth, via) AS (
|
|
253
|
-
SELECT to_id, 1, type FROM links WHERE from_id = ? AND type != 'contains'
|
|
285
|
+
WITH RECURSIVE path(id, depth, via, parent_id) AS (
|
|
286
|
+
SELECT to_id, 1, type, from_id FROM links WHERE from_id = ? AND type != 'contains'
|
|
254
287
|
UNION
|
|
255
|
-
SELECT l.to_id, p.depth + 1, l.type
|
|
288
|
+
SELECT l.to_id, p.depth + 1, l.type, l.from_id
|
|
256
289
|
FROM links l JOIN path p ON l.from_id = p.id
|
|
257
290
|
WHERE l.type != 'contains' AND p.depth < ?
|
|
258
291
|
)
|
|
259
|
-
SELECT
|
|
292
|
+
SELECT s.*, p.depth, p.via, p.parent_id FROM path p JOIN symbols s ON s.id = p.id ORDER BY p.depth
|
|
260
293
|
`).all(fromId, maxDepth);
|
|
261
|
-
|
|
294
|
+
// Find first row matching target
|
|
295
|
+
const targetRow = rows.find(r => toIds.has(r.id));
|
|
296
|
+
if (!targetRow)
|
|
297
|
+
return null;
|
|
298
|
+
// Build lookup: id → { row, parent_id }
|
|
299
|
+
const byId = new Map();
|
|
262
300
|
for (const r of rows) {
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
301
|
+
if (!byId.has(r.id)) {
|
|
302
|
+
byId.set(r.id, { row: r, parentId: r.parent_id });
|
|
303
|
+
}
|
|
266
304
|
}
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
305
|
+
// Walk backwards from target to source to reconstruct the actual path
|
|
306
|
+
const chain = [];
|
|
307
|
+
const visited = new Set();
|
|
308
|
+
let cur = targetRow;
|
|
309
|
+
while (cur && cur.id !== fromId && !visited.has(cur.id)) {
|
|
310
|
+
visited.add(cur.id);
|
|
311
|
+
chain.push({ symbol: rowToSymbol(cur), depth: cur.depth, via: cur.via });
|
|
312
|
+
const parent = byId.get(cur.parent_id);
|
|
313
|
+
cur = parent ? parent.row : null;
|
|
314
|
+
}
|
|
315
|
+
chain.reverse();
|
|
316
|
+
return chain;
|
|
271
317
|
}
|
|
272
318
|
getChangedFiles() {
|
|
273
319
|
const rows = this.db.prepare('SELECT DISTINCT file_path FROM symbols').all();
|
|
@@ -275,7 +321,7 @@ export class Database {
|
|
|
275
321
|
}
|
|
276
322
|
// ── Maintenance ──
|
|
277
323
|
deleteFileData(filePath) {
|
|
278
|
-
this.stmts.deleteFileLinks.run(filePath);
|
|
324
|
+
this.stmts.deleteFileLinks.run(filePath, filePath);
|
|
279
325
|
this.stmts.deleteFileSymbols.run(filePath);
|
|
280
326
|
}
|
|
281
327
|
rebuildSearch() {
|
|
@@ -330,6 +376,14 @@ export class Database {
|
|
|
330
376
|
// Walk upstream following only 'calls' links to find paths from entrypoints
|
|
331
377
|
const paths = [];
|
|
332
378
|
const visited = new Set();
|
|
379
|
+
const symCache = new Map();
|
|
380
|
+
const cachedFindSymbol = (id) => {
|
|
381
|
+
if (symCache.has(id))
|
|
382
|
+
return symCache.get(id);
|
|
383
|
+
const sym = this.findSymbolById(id);
|
|
384
|
+
symCache.set(id, sym);
|
|
385
|
+
return sym;
|
|
386
|
+
};
|
|
333
387
|
const dfs = (currentId, currentPath, depth) => {
|
|
334
388
|
if (depth > maxDepth)
|
|
335
389
|
return;
|
|
@@ -337,7 +391,7 @@ export class Database {
|
|
|
337
391
|
return;
|
|
338
392
|
visited.add(currentId);
|
|
339
393
|
const incoming = this.getIncomingLinks(currentId).filter(l => l.type === 'calls' || l.type === 'imports');
|
|
340
|
-
const sym =
|
|
394
|
+
const sym = cachedFindSymbol(currentId);
|
|
341
395
|
if (incoming.length === 0 && sym?.exported) {
|
|
342
396
|
// Reached an entrypoint — save this path
|
|
343
397
|
paths.push({ path: [...currentPath] });
|
|
@@ -345,17 +399,10 @@ export class Database {
|
|
|
345
399
|
return;
|
|
346
400
|
}
|
|
347
401
|
for (const link of incoming) {
|
|
348
|
-
const fromSym =
|
|
402
|
+
const fromSym = cachedFindSymbol(link.fromId);
|
|
349
403
|
if (!fromSym)
|
|
350
404
|
continue;
|
|
351
|
-
|
|
352
|
-
if (fromSym.name === '_top' && fromSym.kind === 'module') {
|
|
353
|
-
// Recurse from the _top module's incoming callers
|
|
354
|
-
dfs(link.fromId, [{ symbol: fromSym, via: link.type }, ...currentPath], depth + 1);
|
|
355
|
-
}
|
|
356
|
-
else {
|
|
357
|
-
dfs(link.fromId, [{ symbol: fromSym, via: link.type }, ...currentPath], depth + 1);
|
|
358
|
-
}
|
|
405
|
+
dfs(link.fromId, [{ symbol: fromSym, via: link.type }, ...currentPath], depth + 1);
|
|
359
406
|
}
|
|
360
407
|
visited.delete(currentId);
|
|
361
408
|
};
|
|
@@ -468,6 +515,76 @@ export class Database {
|
|
|
468
515
|
})),
|
|
469
516
|
};
|
|
470
517
|
}
|
|
518
|
+
// ── Annotations (agent code memory) ──
|
|
519
|
+
addAnnotation(symbolId, key, value, agent, sessionId, ttlHours) {
|
|
520
|
+
const expiresAt = ttlHours
|
|
521
|
+
? new Date(Date.now() + ttlHours * 3600_000).toISOString().replace('T', ' ').slice(0, 19)
|
|
522
|
+
: null;
|
|
523
|
+
const result = this.db.prepare(`INSERT INTO annotations (symbol_id, key, value, agent, session_id, expires_at)
|
|
524
|
+
VALUES (?, ?, ?, ?, ?, ?)`).run(symbolId, key, value, agent ?? null, sessionId ?? null, expiresAt);
|
|
525
|
+
return result.lastInsertRowid;
|
|
526
|
+
}
|
|
527
|
+
getAnnotations(filters) {
|
|
528
|
+
const clauses = ["(expires_at IS NULL OR expires_at > datetime('now'))"];
|
|
529
|
+
const params = [];
|
|
530
|
+
if (filters.symbolId) {
|
|
531
|
+
clauses.push('symbol_id = ?');
|
|
532
|
+
params.push(filters.symbolId);
|
|
533
|
+
}
|
|
534
|
+
if (filters.key) {
|
|
535
|
+
clauses.push('key = ?');
|
|
536
|
+
params.push(filters.key);
|
|
537
|
+
}
|
|
538
|
+
if (filters.agent) {
|
|
539
|
+
clauses.push('agent = ?');
|
|
540
|
+
params.push(filters.agent);
|
|
541
|
+
}
|
|
542
|
+
if (filters.sessionId) {
|
|
543
|
+
clauses.push('session_id = ?');
|
|
544
|
+
params.push(filters.sessionId);
|
|
545
|
+
}
|
|
546
|
+
const where = `WHERE ${clauses.join(' AND ')}`;
|
|
547
|
+
const limit = filters.limit ?? 50;
|
|
548
|
+
const rows = this.db.prepare(`SELECT id, symbol_id, key, value, agent, session_id, created_at
|
|
549
|
+
FROM annotations ${where}
|
|
550
|
+
ORDER BY created_at DESC LIMIT ?`).all(...params, limit);
|
|
551
|
+
return rows.map(r => ({
|
|
552
|
+
id: r.id,
|
|
553
|
+
symbolId: r.symbol_id,
|
|
554
|
+
key: r.key,
|
|
555
|
+
value: r.value,
|
|
556
|
+
agent: r.agent,
|
|
557
|
+
sessionId: r.session_id,
|
|
558
|
+
createdAt: r.created_at,
|
|
559
|
+
}));
|
|
560
|
+
}
|
|
561
|
+
getAnnotationsForSymbol(symbolId) {
|
|
562
|
+
const rows = this.db.prepare(`SELECT key, value, agent, created_at FROM annotations
|
|
563
|
+
WHERE symbol_id = ? AND (expires_at IS NULL OR expires_at > datetime('now'))
|
|
564
|
+
ORDER BY created_at DESC`).all(symbolId);
|
|
565
|
+
return rows.map(r => ({ key: r.key, value: r.value, agent: r.agent, createdAt: r.created_at }));
|
|
566
|
+
}
|
|
567
|
+
cleanupExpiredAnnotations() {
|
|
568
|
+
const result = this.db.prepare(`DELETE FROM annotations WHERE expires_at IS NOT NULL AND expires_at <= datetime('now')`).run();
|
|
569
|
+
return result.changes;
|
|
570
|
+
}
|
|
571
|
+
// ── Agent sessions ──
|
|
572
|
+
startSession(id, agent, context) {
|
|
573
|
+
this.db.prepare(`INSERT INTO agent_sessions (id, agent, context_json, status) VALUES (?, ?, ?, 'active')`).run(id, agent, context ?? null);
|
|
574
|
+
}
|
|
575
|
+
getSession(id) {
|
|
576
|
+
const row = this.db.prepare('SELECT * FROM agent_sessions WHERE id = ?').get(id);
|
|
577
|
+
if (!row)
|
|
578
|
+
return null;
|
|
579
|
+
return { id: row.id, agent: row.agent, startedAt: row.started_at, endedAt: row.ended_at, context: row.context_json, status: row.status };
|
|
580
|
+
}
|
|
581
|
+
endSession(id, status = 'completed') {
|
|
582
|
+
this.db.prepare(`UPDATE agent_sessions SET ended_at = datetime('now'), status = ? WHERE id = ?`).run(status, id);
|
|
583
|
+
}
|
|
584
|
+
/** Expose raw handle for subsystems (e.g. EmbeddingStore) that need direct access. */
|
|
585
|
+
getRawDb() {
|
|
586
|
+
return this.db;
|
|
587
|
+
}
|
|
471
588
|
transaction(fn) {
|
|
472
589
|
return this.db.transaction(fn)();
|
|
473
590
|
}
|
package/dist/store/db.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/store/db.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/store/db.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
-- milens gateway schema — cache + observability + privacy tables
|
|
2
|
+
-- Applied alongside main schema.sql in the same SQLite database
|
|
3
|
+
|
|
4
|
+
CREATE TABLE IF NOT EXISTS gateway_cache (
|
|
5
|
+
id TEXT PRIMARY KEY,
|
|
6
|
+
ast_hash TEXT NOT NULL,
|
|
7
|
+
request_hash TEXT NOT NULL,
|
|
8
|
+
response TEXT NOT NULL,
|
|
9
|
+
model TEXT,
|
|
10
|
+
provider TEXT,
|
|
11
|
+
tokens_in INTEGER DEFAULT 0,
|
|
12
|
+
tokens_out INTEGER DEFAULT 0,
|
|
13
|
+
cost_estimate REAL DEFAULT 0,
|
|
14
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
15
|
+
hit_count INTEGER DEFAULT 0,
|
|
16
|
+
last_hit_at TEXT,
|
|
17
|
+
ttl_hours INTEGER DEFAULT 24
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
CREATE INDEX IF NOT EXISTS idx_gcache_ast ON gateway_cache(ast_hash);
|
|
21
|
+
CREATE INDEX IF NOT EXISTS idx_gcache_req ON gateway_cache(request_hash);
|
|
22
|
+
CREATE INDEX IF NOT EXISTS idx_gcache_created ON gateway_cache(created_at);
|
|
23
|
+
|
|
24
|
+
CREATE TABLE IF NOT EXISTS gateway_cost_log (
|
|
25
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
26
|
+
request_id TEXT NOT NULL,
|
|
27
|
+
timestamp TEXT NOT NULL DEFAULT (datetime('now')),
|
|
28
|
+
provider TEXT NOT NULL,
|
|
29
|
+
model TEXT NOT NULL,
|
|
30
|
+
tokens_in INTEGER DEFAULT 0,
|
|
31
|
+
tokens_out INTEGER DEFAULT 0,
|
|
32
|
+
cost_estimate REAL DEFAULT 0,
|
|
33
|
+
duration_ms INTEGER DEFAULT 0,
|
|
34
|
+
symbol_ids TEXT,
|
|
35
|
+
file_paths TEXT,
|
|
36
|
+
intent TEXT,
|
|
37
|
+
complexity_score REAL DEFAULT 0,
|
|
38
|
+
tier TEXT,
|
|
39
|
+
cache_hit INTEGER DEFAULT 0
|
|
40
|
+
);
|
|
41
|
+
|
|
42
|
+
CREATE INDEX IF NOT EXISTS idx_gcost_ts ON gateway_cost_log(timestamp);
|
|
43
|
+
CREATE INDEX IF NOT EXISTS idx_gcost_provider ON gateway_cost_log(provider);
|
|
44
|
+
CREATE INDEX IF NOT EXISTS idx_gcost_tier ON gateway_cost_log(tier);
|
|
45
|
+
CREATE INDEX IF NOT EXISTS idx_gcost_intent ON gateway_cost_log(intent);
|
|
46
|
+
|
|
47
|
+
CREATE TABLE IF NOT EXISTS gateway_privacy_rules (
|
|
48
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
49
|
+
path_pattern TEXT NOT NULL,
|
|
50
|
+
action TEXT NOT NULL CHECK(action IN ('block', 'mask', 'local-only')),
|
|
51
|
+
reason TEXT,
|
|
52
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
53
|
+
);
|
package/dist/store/schema.sql
CHANGED
|
@@ -79,5 +79,38 @@ CREATE TABLE IF NOT EXISTS tool_usage (
|
|
|
79
79
|
repo TEXT
|
|
80
80
|
);
|
|
81
81
|
|
|
82
|
+
-- Agent annotations: observations about symbols stored by agents
|
|
83
|
+
CREATE TABLE IF NOT EXISTS annotations (
|
|
84
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
85
|
+
symbol_id TEXT NOT NULL,
|
|
86
|
+
key TEXT NOT NULL,
|
|
87
|
+
value TEXT NOT NULL,
|
|
88
|
+
agent TEXT,
|
|
89
|
+
session_id TEXT,
|
|
90
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
91
|
+
expires_at TEXT
|
|
92
|
+
);
|
|
93
|
+
|
|
94
|
+
CREATE INDEX IF NOT EXISTS idx_annotations_symbol ON annotations(symbol_id, key);
|
|
95
|
+
CREATE INDEX IF NOT EXISTS idx_annotations_session ON annotations(session_id);
|
|
96
|
+
|
|
97
|
+
-- Agent sessions: multi-agent session management
|
|
98
|
+
CREATE TABLE IF NOT EXISTS agent_sessions (
|
|
99
|
+
id TEXT PRIMARY KEY,
|
|
100
|
+
agent TEXT NOT NULL,
|
|
101
|
+
started_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
102
|
+
ended_at TEXT,
|
|
103
|
+
context_json TEXT,
|
|
104
|
+
status TEXT NOT NULL DEFAULT 'active'
|
|
105
|
+
);
|
|
106
|
+
|
|
107
|
+
-- Vector embeddings for semantic code search
|
|
108
|
+
CREATE TABLE IF NOT EXISTS symbol_embeddings (
|
|
109
|
+
symbol_id TEXT PRIMARY KEY,
|
|
110
|
+
embedding BLOB NOT NULL,
|
|
111
|
+
model TEXT NOT NULL,
|
|
112
|
+
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
113
|
+
);
|
|
114
|
+
|
|
82
115
|
CREATE INDEX IF NOT EXISTS idx_tool_usage_tool ON tool_usage(tool);
|
|
83
116
|
CREATE INDEX IF NOT EXISTS idx_tool_usage_at ON tool_usage(called_at);
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vector embeddings for semantic code search.
|
|
3
|
+
*
|
|
4
|
+
* Two providers:
|
|
5
|
+
* - Built-in TF-IDF: zero-dependency, fast, no model download. Good baseline.
|
|
6
|
+
* - Neural (optional): requires `@xenova/transformers` peer dep for real semantic embeddings.
|
|
7
|
+
*
|
|
8
|
+
* Architecture: embeddings stored as BLOBs in SQLite, cosine similarity search.
|
|
9
|
+
*/
|
|
10
|
+
import type { Database as BetterSqlite3Database } from 'better-sqlite3';
|
|
11
|
+
export interface EmbeddingProvider {
|
|
12
|
+
readonly name: string;
|
|
13
|
+
readonly dimensions: number;
|
|
14
|
+
init(): Promise<void>;
|
|
15
|
+
embed(text: string): Promise<Float32Array>;
|
|
16
|
+
embedBatch(texts: string[]): Promise<Float32Array[]>;
|
|
17
|
+
}
|
|
18
|
+
export interface SimilarResult {
|
|
19
|
+
symbolId: string;
|
|
20
|
+
score: number;
|
|
21
|
+
}
|
|
22
|
+
/** Simple bag-of-words with IDF weighting. Fixed 256-dimension hash-based. */
|
|
23
|
+
export declare class TfIdfProvider implements EmbeddingProvider {
|
|
24
|
+
readonly name = "tfidf-256";
|
|
25
|
+
readonly dimensions = 256;
|
|
26
|
+
private docCount;
|
|
27
|
+
private termDocFreq;
|
|
28
|
+
init(): Promise<void>;
|
|
29
|
+
/** Feed corpus to build IDF weights (call before embed for best results) */
|
|
30
|
+
trainIdf(documents: string[]): void;
|
|
31
|
+
embed(text: string): Promise<Float32Array>;
|
|
32
|
+
embedBatch(texts: string[]): Promise<Float32Array[]>;
|
|
33
|
+
private tokenize;
|
|
34
|
+
private hash;
|
|
35
|
+
}
|
|
36
|
+
export declare class NeuralProvider implements EmbeddingProvider {
|
|
37
|
+
private modelId;
|
|
38
|
+
readonly name: string;
|
|
39
|
+
readonly dimensions: number;
|
|
40
|
+
private pipeline;
|
|
41
|
+
constructor(modelId?: string, dims?: number);
|
|
42
|
+
init(): Promise<void>;
|
|
43
|
+
embed(text: string): Promise<Float32Array>;
|
|
44
|
+
embedBatch(texts: string[]): Promise<Float32Array[]>;
|
|
45
|
+
}
|
|
46
|
+
export declare class EmbeddingStore {
|
|
47
|
+
private db;
|
|
48
|
+
private dimensions;
|
|
49
|
+
private stmts;
|
|
50
|
+
constructor(db: BetterSqlite3Database, dimensions: number);
|
|
51
|
+
store(symbolId: string, embedding: Float32Array, model: string): void;
|
|
52
|
+
get(symbolId: string): Float32Array | null;
|
|
53
|
+
count(): number;
|
|
54
|
+
/** Brute-force cosine search across all stored embeddings.
|
|
55
|
+
* Uses iterate() to avoid loading all rows into a JS array at once,
|
|
56
|
+
* and maintains a bounded top-K result set during scanning. */
|
|
57
|
+
searchSimilar(queryVec: Float32Array, limit: number, excludeId?: string): SimilarResult[];
|
|
58
|
+
}
|
|
59
|
+
export declare function buildEmbeddingText(sym: {
|
|
60
|
+
name: string;
|
|
61
|
+
kind: string;
|
|
62
|
+
filePath: string;
|
|
63
|
+
signature?: string;
|
|
64
|
+
}): string;
|
|
65
|
+
//# sourceMappingURL=vectors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vectors.d.ts","sourceRoot":"","sources":["../../src/store/vectors.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,QAAQ,IAAI,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAIxE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3C,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;CACtD;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAiBD,8EAA8E;AAC9E,qBAAa,aAAc,YAAW,iBAAiB;IACrD,QAAQ,CAAC,IAAI,eAAe;IAC5B,QAAQ,CAAC,UAAU,OAAO;IAG1B,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,WAAW,CAA6B;IAE1C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAE3B,4EAA4E;IAC5E,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAW7B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA8B1C,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAI1D,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,IAAI;CAQb;AAID,qBAAa,cAAe,YAAW,iBAAiB;IAMpD,OAAO,CAAC,OAAO;IALjB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,QAAQ,CAAa;gBAGnB,OAAO,SAA4B,EAC3C,IAAI,SAAM;IAMN,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAcrB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAM1C,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CAW3D;AAID,qBAAa,cAAc;IASb,OAAO,CAAC,EAAE;IAAyB,OAAO,CAAC,UAAU;IARjE,OAAO,CAAC,KAAK,CAMX;gBAEkB,EAAE,EAAE,qBAAqB,EAAU,UAAU,EAAE,MAAM;IAczE,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAKrE,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAW1C,KAAK,IAAI,MAAM;IAIf;;oEAEgE;IAChE,aAAa,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,aAAa,EAAE;CA8B1F;AAID,wBAAgB,kBAAkB,CAAC,GAAG,EAAE;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,MAAM,CAKT"}
|