sqlew 1.0.0 → 1.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/CHANGELOG.md +49 -0
- package/README.md +98 -10
- package/assets/schema.sql +104 -108
- package/dist/constants.d.ts +8 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +11 -0
- package/dist/constants.js.map +1 -1
- package/dist/database.d.ts +41 -0
- package/dist/database.d.ts.map +1 -1
- package/dist/database.js +140 -18
- package/dist/database.js.map +1 -1
- package/dist/index.js +112 -3
- package/dist/index.js.map +1 -1
- package/dist/migrations/add-table-prefixes.d.ts +29 -0
- package/dist/migrations/add-table-prefixes.d.ts.map +1 -0
- package/dist/migrations/add-table-prefixes.js +134 -0
- package/dist/migrations/add-table-prefixes.js.map +1 -0
- package/dist/schema.d.ts +1 -1
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +19 -14
- package/dist/schema.js.map +1 -1
- package/dist/tools/config.d.ts +35 -0
- package/dist/tools/config.d.ts.map +1 -0
- package/dist/tools/config.js +61 -0
- package/dist/tools/config.js.map +1 -0
- package/dist/tools/constraints.d.ts +3 -3
- package/dist/tools/constraints.js +15 -15
- package/dist/tools/constraints.js.map +1 -1
- package/dist/tools/context.d.ts +7 -7
- package/dist/tools/context.js +41 -41
- package/dist/tools/context.js.map +1 -1
- package/dist/tools/files.d.ts.map +1 -1
- package/dist/tools/files.js +13 -10
- package/dist/tools/files.js.map +1 -1
- package/dist/tools/messaging.d.ts.map +1 -1
- package/dist/tools/messaging.js +8 -5
- package/dist/tools/messaging.js.map +1 -1
- package/dist/tools/utils.d.ts +5 -2
- package/dist/tools/utils.d.ts.map +1 -1
- package/dist/tools/utils.js +48 -35
- package/dist/tools/utils.js.map +1 -1
- package/dist/utils/cleanup.d.ts +45 -0
- package/dist/utils/cleanup.d.ts.map +1 -0
- package/dist/utils/cleanup.js +63 -0
- package/dist/utils/cleanup.js.map +1 -0
- package/dist/utils/retention.d.ts +47 -0
- package/dist/utils/retention.d.ts.map +1 -0
- package/dist/utils/retention.js +125 -0
- package/dist/utils/retention.js.map +1 -0
- package/package.json +2 -2
package/dist/tools/context.js
CHANGED
|
@@ -52,7 +52,7 @@ export function setDecision(params) {
|
|
|
52
52
|
if (isNumeric) {
|
|
53
53
|
// Numeric decision
|
|
54
54
|
const stmt = db.prepare(`
|
|
55
|
-
INSERT INTO
|
|
55
|
+
INSERT INTO t_decisions_numeric (key_id, value, agent_id, layer_id, version, status, ts)
|
|
56
56
|
VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
57
57
|
ON CONFLICT(key_id) DO UPDATE SET
|
|
58
58
|
value = excluded.value,
|
|
@@ -67,7 +67,7 @@ export function setDecision(params) {
|
|
|
67
67
|
else {
|
|
68
68
|
// String decision
|
|
69
69
|
const stmt = db.prepare(`
|
|
70
|
-
INSERT INTO
|
|
70
|
+
INSERT INTO t_decisions (key_id, value, agent_id, layer_id, version, status, ts)
|
|
71
71
|
VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
72
72
|
ON CONFLICT(key_id) DO UPDATE SET
|
|
73
73
|
value = excluded.value,
|
|
@@ -79,23 +79,23 @@ export function setDecision(params) {
|
|
|
79
79
|
`);
|
|
80
80
|
stmt.run(keyId, String(value), agentId, layerId, version, status, ts);
|
|
81
81
|
}
|
|
82
|
-
// Handle
|
|
82
|
+
// Handle m_tags (many-to-many)
|
|
83
83
|
if (params.tags && params.tags.length > 0) {
|
|
84
84
|
// Clear existing tags
|
|
85
|
-
db.prepare('DELETE FROM
|
|
85
|
+
db.prepare('DELETE FROM t_decision_tags WHERE decision_key_id = ?').run(keyId);
|
|
86
86
|
// Insert new tags
|
|
87
|
-
const tagStmt = db.prepare('INSERT INTO
|
|
87
|
+
const tagStmt = db.prepare('INSERT INTO t_decision_tags (decision_key_id, tag_id) VALUES (?, ?)');
|
|
88
88
|
for (const tagName of params.tags) {
|
|
89
89
|
const tagId = getOrCreateTag(db, tagName);
|
|
90
90
|
tagStmt.run(keyId, tagId);
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
|
-
// Handle
|
|
93
|
+
// Handle m_scopes (many-to-many)
|
|
94
94
|
if (params.scopes && params.scopes.length > 0) {
|
|
95
95
|
// Clear existing scopes
|
|
96
|
-
db.prepare('DELETE FROM
|
|
96
|
+
db.prepare('DELETE FROM t_decision_scopes WHERE decision_key_id = ?').run(keyId);
|
|
97
97
|
// Insert new scopes
|
|
98
|
-
const scopeStmt = db.prepare('INSERT INTO
|
|
98
|
+
const scopeStmt = db.prepare('INSERT INTO t_decision_scopes (decision_key_id, scope_id) VALUES (?, ?)');
|
|
99
99
|
for (const scopeName of params.scopes) {
|
|
100
100
|
const scopeId = getOrCreateScope(db, scopeName);
|
|
101
101
|
scopeStmt.run(keyId, scopeId);
|
|
@@ -116,18 +116,18 @@ export function setDecision(params) {
|
|
|
116
116
|
}
|
|
117
117
|
}
|
|
118
118
|
/**
|
|
119
|
-
* Get context
|
|
120
|
-
* Uses
|
|
119
|
+
* Get context t_decisions with advanced filtering
|
|
120
|
+
* Uses v_tagged_decisions view for token efficiency
|
|
121
121
|
* Supports filtering by status, layer, tags, and scope
|
|
122
122
|
*
|
|
123
123
|
* @param params - Filter parameters
|
|
124
|
-
* @returns Array of
|
|
124
|
+
* @returns Array of t_decisions with metadata
|
|
125
125
|
*/
|
|
126
126
|
export function getContext(params = {}) {
|
|
127
127
|
const db = getDatabase();
|
|
128
128
|
try {
|
|
129
129
|
// Build query dynamically based on filters
|
|
130
|
-
let query = 'SELECT * FROM
|
|
130
|
+
let query = 'SELECT * FROM v_tagged_decisions WHERE 1=1';
|
|
131
131
|
const queryParams = [];
|
|
132
132
|
// Filter by status
|
|
133
133
|
if (params.status) {
|
|
@@ -145,22 +145,22 @@ export function getContext(params = {}) {
|
|
|
145
145
|
// Filter by scope
|
|
146
146
|
if (params.scope) {
|
|
147
147
|
// Use LIKE for comma-separated scopes
|
|
148
|
-
query += ' AND (scopes LIKE ? OR
|
|
148
|
+
query += ' AND (scopes LIKE ? OR m_scopes = ?)';
|
|
149
149
|
queryParams.push(`%${params.scope}%`, params.scope);
|
|
150
150
|
}
|
|
151
151
|
// Filter by tags
|
|
152
152
|
if (params.tags && params.tags.length > 0) {
|
|
153
153
|
const tagMatch = params.tag_match || 'OR';
|
|
154
154
|
if (tagMatch === 'AND') {
|
|
155
|
-
// All
|
|
155
|
+
// All m_tags must be present
|
|
156
156
|
for (const tag of params.tags) {
|
|
157
|
-
query += ' AND (tags LIKE ? OR
|
|
157
|
+
query += ' AND (tags LIKE ? OR m_tags = ?)';
|
|
158
158
|
queryParams.push(`%${tag}%`, tag);
|
|
159
159
|
}
|
|
160
160
|
}
|
|
161
161
|
else {
|
|
162
162
|
// Any tag must be present (OR)
|
|
163
|
-
const tagConditions = params.tags.map(() => '(tags LIKE ? OR
|
|
163
|
+
const tagConditions = params.tags.map(() => '(tags LIKE ? OR m_tags = ?)').join(' OR ');
|
|
164
164
|
query += ` AND (${tagConditions})`;
|
|
165
165
|
for (const tag of params.tags) {
|
|
166
166
|
queryParams.push(`%${tag}%`, tag);
|
|
@@ -196,8 +196,8 @@ export function getDecision(params) {
|
|
|
196
196
|
throw new Error('Parameter "key" is required and cannot be empty');
|
|
197
197
|
}
|
|
198
198
|
try {
|
|
199
|
-
// Query
|
|
200
|
-
const stmt = db.prepare('SELECT * FROM
|
|
199
|
+
// Query v_tagged_decisions view
|
|
200
|
+
const stmt = db.prepare('SELECT * FROM v_tagged_decisions WHERE key = ?');
|
|
201
201
|
const row = stmt.get(params.key);
|
|
202
202
|
if (!row) {
|
|
203
203
|
return {
|
|
@@ -215,11 +215,11 @@ export function getDecision(params) {
|
|
|
215
215
|
}
|
|
216
216
|
}
|
|
217
217
|
/**
|
|
218
|
-
* Search for
|
|
218
|
+
* Search for t_decisions by m_tags with AND/OR logic
|
|
219
219
|
* Provides flexible tag-based filtering with status and layer support
|
|
220
220
|
*
|
|
221
221
|
* @param params - Search parameters (tags, match_mode, status, layer)
|
|
222
|
-
* @returns Array of
|
|
222
|
+
* @returns Array of t_decisions matching tag criteria
|
|
223
223
|
*/
|
|
224
224
|
export function searchByTags(params) {
|
|
225
225
|
const db = getDatabase();
|
|
@@ -229,19 +229,19 @@ export function searchByTags(params) {
|
|
|
229
229
|
}
|
|
230
230
|
try {
|
|
231
231
|
const matchMode = params.match_mode || 'OR';
|
|
232
|
-
let query = 'SELECT * FROM
|
|
232
|
+
let query = 'SELECT * FROM v_tagged_decisions WHERE 1=1';
|
|
233
233
|
const queryParams = [];
|
|
234
234
|
// Apply tag filtering based on match mode
|
|
235
235
|
if (matchMode === 'AND') {
|
|
236
|
-
// All
|
|
236
|
+
// All m_tags must be present
|
|
237
237
|
for (const tag of params.tags) {
|
|
238
|
-
query += ' AND (tags LIKE ? OR
|
|
238
|
+
query += ' AND (tags LIKE ? OR m_tags = ?)';
|
|
239
239
|
queryParams.push(`%${tag}%`, tag);
|
|
240
240
|
}
|
|
241
241
|
}
|
|
242
242
|
else if (matchMode === 'OR') {
|
|
243
243
|
// Any tag must be present
|
|
244
|
-
const tagConditions = params.tags.map(() => '(tags LIKE ? OR
|
|
244
|
+
const tagConditions = params.tags.map(() => '(tags LIKE ? OR m_tags = ?)').join(' OR ');
|
|
245
245
|
query += ` AND (${tagConditions})`;
|
|
246
246
|
for (const tag of params.tags) {
|
|
247
247
|
queryParams.push(`%${tag}%`, tag);
|
|
@@ -298,7 +298,7 @@ export function getVersions(params) {
|
|
|
298
298
|
}
|
|
299
299
|
try {
|
|
300
300
|
// Get key_id for the decision
|
|
301
|
-
const keyResult = db.prepare('SELECT id FROM
|
|
301
|
+
const keyResult = db.prepare('SELECT id FROM m_context_keys WHERE key = ?').get(params.key);
|
|
302
302
|
if (!keyResult) {
|
|
303
303
|
// Key doesn't exist, return empty history
|
|
304
304
|
return {
|
|
@@ -308,15 +308,15 @@ export function getVersions(params) {
|
|
|
308
308
|
};
|
|
309
309
|
}
|
|
310
310
|
const keyId = keyResult.id;
|
|
311
|
-
// Query
|
|
311
|
+
// Query t_decision_history with agent join
|
|
312
312
|
const stmt = db.prepare(`
|
|
313
313
|
SELECT
|
|
314
314
|
dh.version,
|
|
315
315
|
dh.value,
|
|
316
316
|
a.name as agent_name,
|
|
317
317
|
datetime(dh.ts, 'unixepoch') as timestamp
|
|
318
|
-
FROM
|
|
319
|
-
LEFT JOIN
|
|
318
|
+
FROM t_decision_history dh
|
|
319
|
+
LEFT JOIN m_agents a ON dh.agent_id = a.id
|
|
320
320
|
WHERE dh.key_id = ?
|
|
321
321
|
ORDER BY dh.ts DESC
|
|
322
322
|
`);
|
|
@@ -340,11 +340,11 @@ export function getVersions(params) {
|
|
|
340
340
|
}
|
|
341
341
|
}
|
|
342
342
|
/**
|
|
343
|
-
* Search for
|
|
343
|
+
* Search for t_decisions within a specific architecture layer
|
|
344
344
|
* Supports status filtering and optional tag inclusion
|
|
345
345
|
*
|
|
346
346
|
* @param params - Layer name, optional status and include_tags
|
|
347
|
-
* @returns Array of
|
|
347
|
+
* @returns Array of t_decisions in the specified layer
|
|
348
348
|
*/
|
|
349
349
|
export function searchByLayer(params) {
|
|
350
350
|
const db = getDatabase();
|
|
@@ -368,15 +368,15 @@ export function searchByLayer(params) {
|
|
|
368
368
|
let query;
|
|
369
369
|
const queryParams = [params.layer, statusValue];
|
|
370
370
|
if (includeTagsValue) {
|
|
371
|
-
// Use
|
|
371
|
+
// Use v_tagged_decisions view for full metadata
|
|
372
372
|
query = `
|
|
373
|
-
SELECT * FROM
|
|
373
|
+
SELECT * FROM v_tagged_decisions
|
|
374
374
|
WHERE layer = ? AND status = ?
|
|
375
375
|
ORDER BY updated DESC
|
|
376
376
|
`;
|
|
377
377
|
}
|
|
378
378
|
else {
|
|
379
|
-
// Use base
|
|
379
|
+
// Use base t_decisions table with minimal joins
|
|
380
380
|
query = `
|
|
381
381
|
SELECT
|
|
382
382
|
ck.key,
|
|
@@ -392,10 +392,10 @@ export function searchByLayer(params) {
|
|
|
392
392
|
NULL as scopes,
|
|
393
393
|
a.name as decided_by,
|
|
394
394
|
datetime(d.ts, 'unixepoch') as updated
|
|
395
|
-
FROM
|
|
396
|
-
INNER JOIN
|
|
397
|
-
LEFT JOIN
|
|
398
|
-
LEFT JOIN
|
|
395
|
+
FROM t_decisions d
|
|
396
|
+
INNER JOIN m_context_keys ck ON d.key_id = ck.id
|
|
397
|
+
LEFT JOIN m_layers l ON d.layer_id = l.id
|
|
398
|
+
LEFT JOIN m_agents a ON d.agent_id = a.id
|
|
399
399
|
WHERE l.name = ? AND d.status = ?
|
|
400
400
|
|
|
401
401
|
UNION ALL
|
|
@@ -414,10 +414,10 @@ export function searchByLayer(params) {
|
|
|
414
414
|
NULL as scopes,
|
|
415
415
|
a.name as decided_by,
|
|
416
416
|
datetime(dn.ts, 'unixepoch') as updated
|
|
417
|
-
FROM
|
|
418
|
-
INNER JOIN
|
|
419
|
-
LEFT JOIN
|
|
420
|
-
LEFT JOIN
|
|
417
|
+
FROM t_decisions_numeric dn
|
|
418
|
+
INNER JOIN m_context_keys ck ON dn.key_id = ck.id
|
|
419
|
+
LEFT JOIN m_layers l ON dn.layer_id = l.id
|
|
420
|
+
LEFT JOIN m_agents a ON dn.agent_id = a.id
|
|
421
421
|
WHERE l.name = ? AND dn.status = ?
|
|
422
422
|
|
|
423
423
|
ORDER BY updated DESC
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/tools/context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACjJ,OAAO,EAAE,gBAAgB,EAAoB,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAmBtG;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,MAAyB;IACnD,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IAEzB,+BAA+B;IAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAED,gCAAgC;IAChC,MAAM,SAAS,GAAG,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC;IACnD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAE3B,eAAe;IACf,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,eAAe,CAAC;IAClD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;IAChF,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC;IAE3C,kBAAkB;IAClB,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,CAAC,MAAM,8CAA8C,CAAC,CAAC;IAClG,CAAC;IAED,6BAA6B;IAC7B,IAAI,OAAO,GAAkB,IAAI,CAAC;IAClC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,GAAG,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,kBAAkB,MAAM,CAAC,KAAK,+EAA+E,CAAC,CAAC;QACjI,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,gCAAgC;QAChC,OAAO,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE;YAC1B,+BAA+B;YAC/B,MAAM,OAAO,GAAG,gBAAgB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;YAChD,MAAM,KAAK,GAAG,qBAAqB,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;YAEpD,oBAAoB;YACpB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;YAEzC,gDAAgD;YAChD,IAAI,SAAS,EAAE,CAAC;gBACd,mBAAmB;gBACnB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;SAUvB,CAAC,CAAC;gBACH,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACN,kBAAkB;gBAClB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;SAUvB,CAAC,CAAC;gBACH,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;YACxE,CAAC;YAED,6BAA6B;YAC7B,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1C,sBAAsB;gBACtB,EAAE,CAAC,OAAO,CAAC,qDAAqD,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAE7E,kBAAkB;gBAClB,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,mEAAmE,CAAC,CAAC;gBAChG,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBAClC,MAAM,KAAK,GAAG,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;oBAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;YAED,+BAA+B;YAC/B,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9C,wBAAwB;gBACxB,EAAE,CAAC,OAAO,CAAC,uDAAuD,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAE/E,oBAAoB;gBACpB,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC,uEAAuE,CAAC,CAAC;gBACtG,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBACtC,MAAM,OAAO,GAAG,gBAAgB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;oBAChD,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,aAAa,MAAM,CAAC,GAAG,oBAAoB;aACrD,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,EAAE,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CAAC,SAA2B,EAAE;IACtD,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IAEzB,IAAI,CAAC;QACH,2CAA2C;QAC3C,IAAI,KAAK,GAAG,0CAA0C,CAAC;QACvD,MAAM,WAAW,GAAU,EAAE,CAAC;QAE9B,mBAAmB;QACnB,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YACtD,CAAC;YACD,KAAK,IAAI,iBAAiB,CAAC;YAC3B,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;QAED,kBAAkB;QAClB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,KAAK,IAAI,gBAAgB,CAAC;YAC1B,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QAED,kBAAkB;QAClB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,sCAAsC;YACtC,KAAK,IAAI,oCAAoC,CAAC;YAC9C,WAAW,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACtD,CAAC;QAED,iBAAiB;QACjB,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC;YAE1C,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;gBACvB,2BAA2B;gBAC3B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC9B,KAAK,IAAI,gCAAgC,CAAC;oBAC1C,WAAW,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,+BAA+B;gBAC/B,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,2BAA2B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtF,KAAK,IAAI,SAAS,aAAa,GAAG,CAAC;gBACnC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC9B,WAAW,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,KAAK,IAAI,wBAAwB,CAAC;QAElC,gBAAgB;QAChB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAqB,CAAC;QAE1D,OAAO;YACL,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,MAAM;SACnB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,0BAA0B,OAAO,EAAE,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,MAAyB;IACnD,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IAEzB,qBAAqB;IACrB,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,CAAC;QACH,8BAA8B;QAC9B,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC;QACxE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAA+B,CAAC;QAE/D,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO;gBACL,KAAK,EAAE,KAAK;aACb,CAAC;QACJ,CAAC;QAED,OAAO;YACL,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,GAAG;SACd,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,EAAE,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,MAA0B;IACrD,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IAEzB,+BAA+B;IAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACpF,CAAC;IAED,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC;QAC5C,IAAI,KAAK,GAAG,0CAA0C,CAAC;QACvD,MAAM,WAAW,GAAU,EAAE,CAAC;QAE9B,0CAA0C;QAC1C,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;YACxB,2BAA2B;YAC3B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC9B,KAAK,IAAI,gCAAgC,CAAC;gBAC1C,WAAW,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;aAAM,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YAC9B,0BAA0B;YAC1B,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,2BAA2B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtF,KAAK,IAAI,SAAS,aAAa,GAAG,CAAC;YACnC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC9B,WAAW,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,uBAAuB,SAAS,yBAAyB,CAAC,CAAC;QAC7E,CAAC;QAED,yBAAyB;QACzB,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,CAAC,MAAM,8CAA8C,CAAC,CAAC;YAClG,CAAC;YACD,KAAK,IAAI,iBAAiB,CAAC;YAC3B,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;QAED,wBAAwB;QACxB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,wBAAwB;YACxB,MAAM,OAAO,GAAG,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,kBAAkB,MAAM,CAAC,KAAK,+EAA+E,CAAC,CAAC;YACjI,CAAC;YACD,KAAK,IAAI,gBAAgB,CAAC;YAC1B,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QAED,uBAAuB;QACvB,KAAK,IAAI,wBAAwB,CAAC;QAElC,gBAAgB;QAChB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAqB,CAAC;QAE1D,OAAO;YACL,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,MAAM;SACnB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,6BAA6B,OAAO,EAAE,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,MAAyB;IACnD,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IAEzB,8BAA8B;IAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,CAAC;QACH,8BAA8B;QAC9B,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAA+B,CAAC;QAExH,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,0CAA0C;YAC1C,OAAO;gBACL,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,OAAO,EAAE,EAAE;gBACX,KAAK,EAAE,CAAC;aACT,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,SAAS,CAAC,EAAE,CAAC;QAE3B,yCAAyC;QACzC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;KAUvB,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAKzB,CAAC;QAEH,+BAA+B;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/B,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,KAAK,EAAE,GAAG,CAAC,UAAU;YACrB,SAAS,EAAE,GAAG,CAAC,SAAS;SACzB,CAAC,CAAC,CAAC;QAEJ,OAAO;YACL,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,OAAO,CAAC,MAAM;SACtB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,EAAE,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,MAA2B;IACvD,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IAEzB,8BAA8B;IAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,CAAC;QACH,wBAAwB;QACxB,MAAM,OAAO,GAAG,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,kBAAkB,MAAM,CAAC,KAAK,+EAA+E,CAAC,CAAC;QACjI,CAAC;QAED,oCAAoC;QACpC,MAAM,gBAAgB,GAAG,MAAM,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;QACxF,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC;QAE9C,kBAAkB;QAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,mBAAmB,WAAW,8CAA8C,CAAC,CAAC;QAChG,CAAC;QAED,IAAI,KAAa,CAAC;QAClB,MAAM,WAAW,GAAU,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAEvD,IAAI,gBAAgB,EAAE,CAAC;YACrB,8CAA8C;YAC9C,KAAK,GAAG;;;;OAIP,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,8CAA8C;YAC9C,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4CP,CAAC;YACF,iDAAiD;YACjD,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC9C,CAAC;QAED,gBAAgB;QAChB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAqB,CAAC;QAE1D,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,MAAM;SACnB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,8BAA8B,OAAO,EAAE,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/tools/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/tools/files.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,OAAO,KAAK,EACV,sBAAsB,EACtB,wBAAwB,EACxB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EAEtB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/tools/files.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,OAAO,KAAK,EACV,sBAAsB,EACtB,wBAAwB,EACxB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EAEtB,MAAM,aAAa,CAAC;AAGrB;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,GAAG,wBAAwB,CA2DzF;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,oBAAoB,GAAG,sBAAsB,CAiGnF;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,qBAAqB,CAsDhF"}
|
package/dist/tools/files.js
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { getDatabase, getOrCreateFile, getOrCreateAgent, getLayerId } from '../database.js';
|
|
6
6
|
import { STRING_TO_CHANGE_TYPE, CHANGE_TYPE_TO_STRING, STANDARD_LAYERS, DEFAULT_QUERY_LIMIT } from '../constants.js';
|
|
7
|
+
import { performAutoCleanup } from '../utils/cleanup.js';
|
|
7
8
|
/**
|
|
8
9
|
* Record a file change with optional layer assignment and description.
|
|
9
10
|
* Auto-registers the file and agent if they don't exist.
|
|
@@ -13,6 +14,8 @@ import { STRING_TO_CHANGE_TYPE, CHANGE_TYPE_TO_STRING, STANDARD_LAYERS, DEFAULT_
|
|
|
13
14
|
*/
|
|
14
15
|
export function recordFileChange(params) {
|
|
15
16
|
const db = getDatabase();
|
|
17
|
+
// Cleanup old file changes before inserting new one
|
|
18
|
+
performAutoCleanup(db);
|
|
16
19
|
try {
|
|
17
20
|
// Validate change_type
|
|
18
21
|
const changeTypeInt = STRING_TO_CHANGE_TYPE[params.change_type];
|
|
@@ -35,12 +38,12 @@ export function recordFileChange(params) {
|
|
|
35
38
|
const agentId = getOrCreateAgent(db, params.agent_name);
|
|
36
39
|
// Insert file change record
|
|
37
40
|
const stmt = db.prepare(`
|
|
38
|
-
INSERT INTO
|
|
41
|
+
INSERT INTO t_file_changes (file_id, agent_id, layer_id, change_type, description)
|
|
39
42
|
VALUES (?, ?, ?, ?, ?)
|
|
40
43
|
`);
|
|
41
44
|
const result = stmt.run(fileId, agentId, layerId, changeTypeInt, params.description || null);
|
|
42
45
|
// Get timestamp
|
|
43
|
-
const tsResult = db.prepare('SELECT ts FROM
|
|
46
|
+
const tsResult = db.prepare('SELECT ts FROM t_file_changes WHERE id = ?')
|
|
44
47
|
.get(result.lastInsertRowid);
|
|
45
48
|
return {
|
|
46
49
|
success: true,
|
|
@@ -100,7 +103,7 @@ export function getFileChanges(params) {
|
|
|
100
103
|
// Use view if no specific filters (token efficient)
|
|
101
104
|
if (conditions.length === 0) {
|
|
102
105
|
const stmt = db.prepare(`
|
|
103
|
-
SELECT * FROM
|
|
106
|
+
SELECT * FROM v_recent_file_changes
|
|
104
107
|
LIMIT ?
|
|
105
108
|
`);
|
|
106
109
|
const rows = stmt.all(limit);
|
|
@@ -123,10 +126,10 @@ export function getFileChanges(params) {
|
|
|
123
126
|
END as change_type,
|
|
124
127
|
fc.description,
|
|
125
128
|
datetime(fc.ts, 'unixepoch') as changed_at
|
|
126
|
-
FROM
|
|
127
|
-
JOIN
|
|
128
|
-
JOIN
|
|
129
|
-
LEFT JOIN
|
|
129
|
+
FROM t_file_changes fc
|
|
130
|
+
JOIN m_files f ON fc.file_id = f.id
|
|
131
|
+
JOIN m_agents a ON fc.agent_id = a.id
|
|
132
|
+
LEFT JOIN m_layers l ON fc.layer_id = l.id
|
|
130
133
|
${whereClause}
|
|
131
134
|
ORDER BY fc.ts DESC
|
|
132
135
|
LIMIT ?
|
|
@@ -162,9 +165,9 @@ export function checkFileLock(params) {
|
|
|
162
165
|
a.name as agent,
|
|
163
166
|
fc.change_type,
|
|
164
167
|
fc.ts
|
|
165
|
-
FROM
|
|
166
|
-
JOIN
|
|
167
|
-
JOIN
|
|
168
|
+
FROM t_file_changes fc
|
|
169
|
+
JOIN m_files f ON fc.file_id = f.id
|
|
170
|
+
JOIN m_agents a ON fc.agent_id = a.id
|
|
168
171
|
WHERE f.path = ?
|
|
169
172
|
ORDER BY fc.ts DESC
|
|
170
173
|
LIMIT 1
|
package/dist/tools/files.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/tools/files.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACpB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/tools/files.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messaging.d.ts","sourceRoot":"","sources":["../../src/tools/messaging.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,OAAO,KAAK,EAIV,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"messaging.d.ts","sourceRoot":"","sources":["../../src/tools/messaging.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,OAAO,KAAK,EAIV,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAGrB;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACpC,QAAQ,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IAClD,OAAO,CAAC,EAAE,GAAG,CAAC;CACf,GAAG,mBAAmB,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CA+C9C;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IACzD,eAAe,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,mBAAmB,CAkFtB;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE;IAC/B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,gBAAgB,GAAG;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,CA6B9C"}
|
package/dist/tools/messaging.js
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { getDatabase, getOrCreateAgent } from '../database.js';
|
|
6
6
|
import { STRING_TO_MESSAGE_TYPE, STRING_TO_PRIORITY, MESSAGE_TYPE_TO_STRING, PRIORITY_TO_STRING, } from '../constants.js';
|
|
7
|
+
import { performAutoCleanup } from '../utils/cleanup.js';
|
|
7
8
|
/**
|
|
8
9
|
* Send a message from one agent to another (or broadcast)
|
|
9
10
|
* Supports priority levels and optional JSON payload
|
|
@@ -13,6 +14,8 @@ import { STRING_TO_MESSAGE_TYPE, STRING_TO_PRIORITY, MESSAGE_TYPE_TO_STRING, PRI
|
|
|
13
14
|
*/
|
|
14
15
|
export function sendMessage(params) {
|
|
15
16
|
const db = getDatabase();
|
|
17
|
+
// Cleanup old messages before inserting new one
|
|
18
|
+
performAutoCleanup(db);
|
|
16
19
|
// Validate msg_type
|
|
17
20
|
if (!STRING_TO_MESSAGE_TYPE[params.msg_type]) {
|
|
18
21
|
throw new Error(`Invalid msg_type: ${params.msg_type}. Must be one of: decision, warning, request, info`);
|
|
@@ -33,12 +36,12 @@ export function sendMessage(params) {
|
|
|
33
36
|
const payloadStr = params.payload ? JSON.stringify(params.payload) : null;
|
|
34
37
|
// Insert message
|
|
35
38
|
const stmt = db.prepare(`
|
|
36
|
-
INSERT INTO
|
|
39
|
+
INSERT INTO t_agent_messages (from_agent_id, to_agent_id, msg_type, priority, payload, read)
|
|
37
40
|
VALUES (?, ?, ?, ?, ?, 0)
|
|
38
41
|
`);
|
|
39
42
|
const result = stmt.run(fromAgentId, toAgentId, msgTypeInt, priorityInt, payloadStr);
|
|
40
43
|
// Get timestamp
|
|
41
|
-
const tsResult = db.prepare('SELECT ts FROM
|
|
44
|
+
const tsResult = db.prepare('SELECT ts FROM t_agent_messages WHERE id = ?').get(result.lastInsertRowid);
|
|
42
45
|
const timestamp = new Date(tsResult.ts * 1000).toISOString();
|
|
43
46
|
return {
|
|
44
47
|
success: true,
|
|
@@ -67,8 +70,8 @@ export function getMessages(params) {
|
|
|
67
70
|
m.payload,
|
|
68
71
|
m.ts,
|
|
69
72
|
m.read
|
|
70
|
-
FROM
|
|
71
|
-
JOIN
|
|
73
|
+
FROM t_agent_messages m
|
|
74
|
+
JOIN m_agents a ON m.from_agent_id = a.id
|
|
72
75
|
WHERE (m.to_agent_id = ? OR m.to_agent_id IS NULL)
|
|
73
76
|
`;
|
|
74
77
|
const queryParams = [agentId];
|
|
@@ -137,7 +140,7 @@ export function markRead(params) {
|
|
|
137
140
|
// Update only messages addressed to this agent (security check)
|
|
138
141
|
// Also allow broadcast messages (to_agent_id IS NULL)
|
|
139
142
|
const stmt = db.prepare(`
|
|
140
|
-
UPDATE
|
|
143
|
+
UPDATE t_agent_messages
|
|
141
144
|
SET read = 1
|
|
142
145
|
WHERE id IN (${placeholders})
|
|
143
146
|
AND (to_agent_id = ? OR to_agent_id IS NULL)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messaging.js","sourceRoot":"","sources":["../../src/tools/messaging.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,GAEnB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"messaging.js","sourceRoot":"","sources":["../../src/tools/messaging.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/utils.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import type { GetLayerSummaryResponse, ClearOldDataParams, ClearOldDataResponse, GetStatsResponse } from '../types.js';
|
|
6
6
|
/**
|
|
7
7
|
* Get summary statistics for all architecture layers
|
|
8
|
-
* Uses the
|
|
8
|
+
* Uses the v_layer_summary view for token efficiency
|
|
9
9
|
*
|
|
10
10
|
* @returns Layer summaries for all 5 standard layers
|
|
11
11
|
*/
|
|
@@ -15,7 +15,10 @@ export declare function getLayerSummary(): GetLayerSummaryResponse;
|
|
|
15
15
|
* Deletes messages and file changes older than specified thresholds
|
|
16
16
|
* Preserves decision_history, constraints, and core decisions
|
|
17
17
|
*
|
|
18
|
-
*
|
|
18
|
+
* If parameters are not provided, uses config-based weekend-aware retention.
|
|
19
|
+
* If parameters are provided, they override m_config settings (no weekend-awareness).
|
|
20
|
+
*
|
|
21
|
+
* @param params - Optional parameters for cleanup thresholds (overrides config)
|
|
19
22
|
* @returns Counts of deleted records
|
|
20
23
|
*/
|
|
21
24
|
export declare function clearOldData(params?: ClearOldDataParams): ClearOldDataResponse;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/tools/utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAGjB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/tools/utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAGjB,MAAM,aAAa,CAAC;AAIrB;;;;;GAKG;AACH,wBAAgB,eAAe,IAAI,uBAAuB,CAwBzD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,oBAAoB,CAyD9E;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,IAAI,gBAAgB,CAuD3C"}
|
package/dist/tools/utils.js
CHANGED
|
@@ -3,23 +3,25 @@
|
|
|
3
3
|
* Database statistics, layer summaries, and manual cleanup
|
|
4
4
|
*/
|
|
5
5
|
import { getDatabase, transaction } from '../database.js';
|
|
6
|
+
import { calculateMessageCutoff, calculateFileChangeCutoff } from '../utils/retention.js';
|
|
7
|
+
import { cleanupWithCustomRetention } from '../utils/cleanup.js';
|
|
6
8
|
/**
|
|
7
9
|
* Get summary statistics for all architecture layers
|
|
8
|
-
* Uses the
|
|
10
|
+
* Uses the v_layer_summary view for token efficiency
|
|
9
11
|
*
|
|
10
12
|
* @returns Layer summaries for all 5 standard layers
|
|
11
13
|
*/
|
|
12
14
|
export function getLayerSummary() {
|
|
13
15
|
const db = getDatabase();
|
|
14
16
|
try {
|
|
15
|
-
// Query the
|
|
17
|
+
// Query the v_layer_summary view for all layers
|
|
16
18
|
const stmt = db.prepare(`
|
|
17
19
|
SELECT
|
|
18
20
|
layer,
|
|
19
21
|
decisions_count,
|
|
20
22
|
file_changes_count,
|
|
21
23
|
constraints_count
|
|
22
|
-
FROM
|
|
24
|
+
FROM v_layer_summary
|
|
23
25
|
ORDER BY layer
|
|
24
26
|
`);
|
|
25
27
|
const summary = stmt.all();
|
|
@@ -37,34 +39,45 @@ export function getLayerSummary() {
|
|
|
37
39
|
* Deletes messages and file changes older than specified thresholds
|
|
38
40
|
* Preserves decision_history, constraints, and core decisions
|
|
39
41
|
*
|
|
40
|
-
*
|
|
42
|
+
* If parameters are not provided, uses config-based weekend-aware retention.
|
|
43
|
+
* If parameters are provided, they override m_config settings (no weekend-awareness).
|
|
44
|
+
*
|
|
45
|
+
* @param params - Optional parameters for cleanup thresholds (overrides config)
|
|
41
46
|
* @returns Counts of deleted records
|
|
42
47
|
*/
|
|
43
48
|
export function clearOldData(params) {
|
|
44
49
|
const db = getDatabase();
|
|
45
|
-
// Default thresholds
|
|
46
|
-
const messagesHours = params?.messages_older_than_hours ?? 24;
|
|
47
|
-
const fileChangesDays = params?.file_changes_older_than_days ?? 7;
|
|
48
|
-
// Calculate Unix epoch thresholds
|
|
49
|
-
const now = Math.floor(Date.now() / 1000);
|
|
50
|
-
const messagesThreshold = now - (messagesHours * 3600);
|
|
51
|
-
const fileChangesThreshold = now - (fileChangesDays * 86400);
|
|
52
50
|
try {
|
|
53
51
|
return transaction(db, () => {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
52
|
+
let messagesThreshold;
|
|
53
|
+
let fileChangesThreshold;
|
|
54
|
+
let messagesDeleted = 0;
|
|
55
|
+
let fileChangesDeleted = 0;
|
|
56
|
+
if (params?.messages_older_than_hours !== undefined || params?.file_changes_older_than_days !== undefined) {
|
|
57
|
+
// Parameters provided: use custom retention (no weekend-awareness)
|
|
58
|
+
const result = cleanupWithCustomRetention(db, params.messages_older_than_hours, params.file_changes_older_than_days);
|
|
59
|
+
messagesDeleted = result.messagesDeleted;
|
|
60
|
+
fileChangesDeleted = result.fileChangesDeleted;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
// No parameters: use config-based weekend-aware retention
|
|
64
|
+
messagesThreshold = calculateMessageCutoff(db);
|
|
65
|
+
fileChangesThreshold = calculateFileChangeCutoff(db);
|
|
66
|
+
// Count and delete messages
|
|
67
|
+
const messagesCount = db.prepare('SELECT COUNT(*) as count FROM t_agent_messages WHERE ts < ?').get(messagesThreshold);
|
|
68
|
+
const deleteMessages = db.prepare('DELETE FROM t_agent_messages WHERE ts < ?');
|
|
69
|
+
deleteMessages.run(messagesThreshold);
|
|
70
|
+
messagesDeleted = messagesCount.count;
|
|
71
|
+
// Count and delete file changes
|
|
72
|
+
const fileChangesCount = db.prepare('SELECT COUNT(*) as count FROM t_file_changes WHERE ts < ?').get(fileChangesThreshold);
|
|
73
|
+
const deleteFileChanges = db.prepare('DELETE FROM t_file_changes WHERE ts < ?');
|
|
74
|
+
deleteFileChanges.run(fileChangesThreshold);
|
|
75
|
+
fileChangesDeleted = fileChangesCount.count;
|
|
76
|
+
}
|
|
64
77
|
return {
|
|
65
78
|
success: true,
|
|
66
|
-
messages_deleted:
|
|
67
|
-
file_changes_deleted:
|
|
79
|
+
messages_deleted: messagesDeleted,
|
|
80
|
+
file_changes_deleted: fileChangesDeleted,
|
|
68
81
|
};
|
|
69
82
|
});
|
|
70
83
|
}
|
|
@@ -91,23 +104,23 @@ export function getStats() {
|
|
|
91
104
|
return result.count;
|
|
92
105
|
};
|
|
93
106
|
// Get all statistics
|
|
94
|
-
const agents = getCount('
|
|
95
|
-
const files = getCount('
|
|
96
|
-
const context_keys = getCount('
|
|
107
|
+
const agents = getCount('m_agents');
|
|
108
|
+
const files = getCount('m_files');
|
|
109
|
+
const context_keys = getCount('m_context_keys');
|
|
97
110
|
// Decisions (active vs total)
|
|
98
|
-
const active_decisions = getCount('
|
|
99
|
-
const total_decisions = getCount('
|
|
111
|
+
const active_decisions = getCount('t_decisions', 'status = 1');
|
|
112
|
+
const total_decisions = getCount('t_decisions');
|
|
100
113
|
// Messages
|
|
101
|
-
const messages = getCount('
|
|
114
|
+
const messages = getCount('t_agent_messages');
|
|
102
115
|
// File changes
|
|
103
|
-
const file_changes = getCount('
|
|
116
|
+
const file_changes = getCount('t_file_changes');
|
|
104
117
|
// Constraints (active vs total)
|
|
105
|
-
const active_constraints = getCount('
|
|
106
|
-
const total_constraints = getCount('
|
|
118
|
+
const active_constraints = getCount('t_constraints', 'active = 1');
|
|
119
|
+
const total_constraints = getCount('t_constraints');
|
|
107
120
|
// Metadata
|
|
108
|
-
const tags = getCount('
|
|
109
|
-
const scopes = getCount('
|
|
110
|
-
const layers = getCount('
|
|
121
|
+
const tags = getCount('m_tags');
|
|
122
|
+
const scopes = getCount('m_scopes');
|
|
123
|
+
const layers = getCount('m_layers');
|
|
111
124
|
return {
|
|
112
125
|
agents,
|
|
113
126
|
files,
|