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.
Files changed (42) hide show
  1. package/dashboard/.next/standalone/dashboard/.next/BUILD_ID +1 -1
  2. package/dashboard/.next/standalone/dashboard/.next/build-manifest.json +2 -2
  3. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.html +2 -2
  4. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.rsc +1 -1
  5. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  6. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  7. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  8. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  9. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  10. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  11. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.html +1 -1
  12. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.rsc +3 -2
  13. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_full.segment.rsc +3 -2
  14. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  15. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_index.segment.rsc +3 -2
  16. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  17. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  18. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_tree.segment.rsc +3 -2
  19. package/dashboard/.next/standalone/dashboard/.next/server/app/index.html +1 -1
  20. package/dashboard/.next/standalone/dashboard/.next/server/app/index.rsc +4 -3
  21. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  22. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_full.segment.rsc +4 -3
  23. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_head.segment.rsc +1 -1
  24. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_index.segment.rsc +3 -2
  25. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_tree.segment.rsc +3 -2
  26. package/dashboard/.next/standalone/dashboard/.next/server/app/page_client-reference-manifest.js +1 -1
  27. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_3051539d._.js +1 -1
  28. package/dashboard/.next/standalone/dashboard/.next/server/pages/404.html +1 -1
  29. package/dashboard/.next/standalone/dashboard/.next/server/pages/500.html +2 -2
  30. package/dashboard/.next/standalone/dashboard/.next/static/chunks/2473c16c0c2f6b5f.css +2 -0
  31. package/dashboard/.next/standalone/dashboard/.next/static/chunks/2613246b017827b8.css +1 -0
  32. package/dashboard/.next/standalone/dashboard/.next/static/chunks/9bc4db4dcf74f840.js +9 -0
  33. package/dist/api/routes/memories.js +10 -5
  34. package/dist/memory/consolidate.js +2 -2
  35. package/dist/memory/contradiction.js +3 -1
  36. package/dist/memory/store.js +8 -0
  37. package/package.json +1 -1
  38. package/dashboard/.next/standalone/dashboard/.next/static/chunks/6fb35de00da9b448.js +0 -9
  39. package/dashboard/.next/standalone/dashboard/.next/static/chunks/d1a51ed13ed3d5d9.css +0 -3
  40. /package/dashboard/.next/standalone/dashboard/.next/static/{uiyXVE418p8MtLu_mVA4X → _Z4gVdVvlIETStCraWvNe}/_buildManifest.js +0 -0
  41. /package/dashboard/.next/standalone/dashboard/.next/static/{uiyXVE418p8MtLu_mVA4X → _Z4gVdVvlIETStCraWvNe}/_clientMiddlewareManifest.json +0 -0
  42. /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 decayed_score < 0.3 ${projectFilter}
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 access_count = 0 ${projectFilter}
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 trust_score < 0.7 ${projectFilter}
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 (capture_method = 'auto' OR tags LIKE '%auto-extracted%') ${projectFilter}
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 (project IS NULL OR project = '') AND scope != 'global'
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 WHERE 1=1`;
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 = ?';
@@ -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.14",
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",