shieldcortex 3.4.14 → 3.4.16
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/dashboard/.next/standalone/dashboard/.next/BUILD_ID +1 -1
- package/dashboard/.next/standalone/dashboard/.next/build-manifest.json +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.html +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.rsc +3 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_full.segment.rsc +3 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_index.segment.rsc +3 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_tree.segment.rsc +3 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/index.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/index.rsc +4 -3
- package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_full.segment.rsc +4 -3
- package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_index.segment.rsc +3 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_tree.segment.rsc +3 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_3051539d._.js +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/pages/404.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/pages/500.html +2 -2
- package/dashboard/.next/standalone/dashboard/.next/static/chunks/2473c16c0c2f6b5f.css +2 -0
- package/dashboard/.next/standalone/dashboard/.next/static/chunks/2613246b017827b8.css +1 -0
- package/dashboard/.next/standalone/dashboard/.next/static/chunks/9bc4db4dcf74f840.js +9 -0
- package/dist/api/routes/memories.js +10 -5
- package/dist/memory/consolidate.js +2 -2
- package/dist/memory/contradiction.js +3 -1
- package/dist/memory/store.js +8 -0
- package/package.json +1 -1
- package/dashboard/.next/standalone/dashboard/.next/static/chunks/6fb35de00da9b448.js +0 -9
- package/dashboard/.next/standalone/dashboard/.next/static/chunks/d1a51ed13ed3d5d9.css +0 -3
- /package/dashboard/.next/standalone/dashboard/.next/static/{uiyXVE418p8MtLu_mVA4X → _Z4gVdVvlIETStCraWvNe}/_buildManifest.js +0 -0
- /package/dashboard/.next/standalone/dashboard/.next/static/{uiyXVE418p8MtLu_mVA4X → _Z4gVdVvlIETStCraWvNe}/_clientMiddlewareManifest.json +0 -0
- /package/dashboard/.next/standalone/dashboard/.next/static/{uiyXVE418p8MtLu_mVA4X → _Z4gVdVvlIETStCraWvNe}/_ssgManifest.js +0 -0
|
@@ -343,29 +343,34 @@ export function registerMemoryRoutes(app, deps) {
|
|
|
343
343
|
const params = project ? [project] : [];
|
|
344
344
|
const stale = db.prepare(`
|
|
345
345
|
SELECT * FROM memories
|
|
346
|
-
WHERE
|
|
346
|
+
WHERE COALESCE(status, 'active') NOT IN ('archived', 'suppressed')
|
|
347
|
+
AND decayed_score < 0.3 ${projectFilter}
|
|
347
348
|
AND last_accessed < datetime('now', '-30 days')
|
|
348
349
|
ORDER BY decayed_score ASC LIMIT ?
|
|
349
350
|
`).all(...params, limit);
|
|
350
351
|
const neverUsed = db.prepare(`
|
|
351
352
|
SELECT * FROM memories
|
|
352
|
-
WHERE
|
|
353
|
+
WHERE COALESCE(status, 'active') NOT IN ('archived', 'suppressed')
|
|
354
|
+
AND access_count = 0 ${projectFilter}
|
|
353
355
|
AND created_at < datetime('now', '-1 day')
|
|
354
356
|
ORDER BY created_at DESC LIMIT ?
|
|
355
357
|
`).all(...params, limit);
|
|
356
358
|
const lowTrust = db.prepare(`
|
|
357
359
|
SELECT * FROM memories
|
|
358
|
-
WHERE
|
|
360
|
+
WHERE COALESCE(status, 'active') NOT IN ('archived', 'suppressed')
|
|
361
|
+
AND trust_score < 0.7 ${projectFilter}
|
|
359
362
|
ORDER BY trust_score ASC, updated_at DESC LIMIT ?
|
|
360
363
|
`).all(...params, limit);
|
|
361
364
|
const noisyAutoExtracted = db.prepare(`
|
|
362
365
|
SELECT * FROM memories
|
|
363
|
-
WHERE (
|
|
366
|
+
WHERE COALESCE(status, 'active') NOT IN ('archived', 'suppressed')
|
|
367
|
+
AND (capture_method = 'auto' OR tags LIKE '%auto-extracted%') ${projectFilter}
|
|
364
368
|
ORDER BY updated_at DESC LIMIT ?
|
|
365
369
|
`).all(...params, limit);
|
|
366
370
|
const projectless = db.prepare(`
|
|
367
371
|
SELECT * FROM memories
|
|
368
|
-
WHERE (
|
|
372
|
+
WHERE COALESCE(status, 'active') NOT IN ('archived', 'suppressed')
|
|
373
|
+
AND (project IS NULL OR project = '') AND scope != 'global'
|
|
369
374
|
ORDER BY updated_at DESC LIMIT ?
|
|
370
375
|
`).all(limit);
|
|
371
376
|
const openClawSummary = db.prepare(`
|
|
@@ -195,8 +195,8 @@ export function findDuplicateMemoryPairs(options) {
|
|
|
195
195
|
const db = getDatabase();
|
|
196
196
|
const limit = options?.limit ?? 20;
|
|
197
197
|
const rows = options?.project
|
|
198
|
-
? db.prepare("SELECT * FROM memories WHERE type = 'long_term' AND project = ? ORDER BY created_at ASC").all(options.project)
|
|
199
|
-
: db.prepare("SELECT * FROM memories WHERE type = 'long_term' ORDER BY created_at ASC").all();
|
|
198
|
+
? db.prepare("SELECT * FROM memories WHERE type = 'long_term' AND project = ? AND COALESCE(status, 'active') NOT IN ('archived', 'suppressed') ORDER BY created_at ASC").all(options.project)
|
|
199
|
+
: db.prepare("SELECT * FROM memories WHERE type = 'long_term' AND COALESCE(status, 'active') NOT IN ('archived', 'suppressed') ORDER BY created_at ASC").all();
|
|
200
200
|
const groups = new Map();
|
|
201
201
|
for (const mem of rows) {
|
|
202
202
|
const cat = mem.category || 'note';
|
|
@@ -204,7 +204,9 @@ export function detectContradictions(options = {}) {
|
|
|
204
204
|
SUBSTR(content, 1, 500) as content,
|
|
205
205
|
project, tags, salience, access_count, last_accessed,
|
|
206
206
|
created_at, decayed_score, metadata, scope, transferable
|
|
207
|
-
FROM memories
|
|
207
|
+
FROM memories
|
|
208
|
+
WHERE 1=1
|
|
209
|
+
AND COALESCE(status, 'active') NOT IN ('archived', 'suppressed')`;
|
|
208
210
|
const params = [];
|
|
209
211
|
if (project) {
|
|
210
212
|
sql += ' AND project = ?';
|
package/dist/memory/store.js
CHANGED
|
@@ -578,6 +578,14 @@ export function updateMemory(id, updates) {
|
|
|
578
578
|
fields.push('project = ?');
|
|
579
579
|
values.push(updates.project);
|
|
580
580
|
}
|
|
581
|
+
if (updates.scope !== undefined) {
|
|
582
|
+
fields.push('scope = ?');
|
|
583
|
+
values.push(updates.scope);
|
|
584
|
+
}
|
|
585
|
+
if (updates.transferable !== undefined) {
|
|
586
|
+
fields.push('transferable = ?');
|
|
587
|
+
values.push(updates.transferable ? 1 : 0);
|
|
588
|
+
}
|
|
581
589
|
if (updates.tags !== undefined) {
|
|
582
590
|
fields.push('tags = ?');
|
|
583
591
|
values.push(JSON.stringify(updates.tags));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "shieldcortex",
|
|
3
|
-
"version": "3.4.
|
|
3
|
+
"version": "3.4.16",
|
|
4
4
|
"description": "Trustworthy memory and security for AI agents. Recall debugging, review queue, OpenClaw session capture, and memory poisoning defence for Claude Code, Codex, OpenClaw, LangChain, and MCP agents.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|