claude-memory-layer 1.0.18 → 1.0.20

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/config/kpi-thresholds.json +7 -0
  2. package/dist/cli/index.js +532 -79
  3. package/dist/cli/index.js.map +3 -3
  4. package/dist/core/index.js +49 -4
  5. package/dist/core/index.js.map +2 -2
  6. package/dist/hooks/post-tool-use.js +140 -3
  7. package/dist/hooks/post-tool-use.js.map +2 -2
  8. package/dist/hooks/session-end.js +140 -3
  9. package/dist/hooks/session-end.js.map +2 -2
  10. package/dist/hooks/session-start.js +140 -3
  11. package/dist/hooks/session-start.js.map +2 -2
  12. package/dist/hooks/stop.js +140 -3
  13. package/dist/hooks/stop.js.map +2 -2
  14. package/dist/hooks/user-prompt-submit.js +379 -34
  15. package/dist/hooks/user-prompt-submit.js.map +3 -3
  16. package/dist/server/api/index.js +467 -34
  17. package/dist/server/api/index.js.map +3 -3
  18. package/dist/server/index.js +474 -41
  19. package/dist/server/index.js.map +3 -3
  20. package/dist/services/memory-service.js +140 -3
  21. package/dist/services/memory-service.js.map +2 -2
  22. package/dist/ui/app.js +362 -4
  23. package/dist/ui/index.html +90 -0
  24. package/dist/ui/style.css +41 -0
  25. package/memory/_index.md +3 -0
  26. package/memory/agent_response/uncategorized/2026-03-03.md +14 -0
  27. package/memory/session_summary/uncategorized/2026-03-03.md +5 -0
  28. package/memory/tool_observation/uncategorized/2026-03-03.md +21 -0
  29. package/package.json +3 -2
  30. package/scripts/delete-unknown-projects.js +154 -0
  31. package/src/cli/index.ts +23 -1
  32. package/src/core/embedder.ts +3 -2
  33. package/src/core/sqlite-event-store.ts +32 -0
  34. package/src/core/types.ts +2 -2
  35. package/src/core/vector-store.ts +20 -0
  36. package/src/hooks/user-prompt-submit.ts +225 -29
  37. package/src/server/api/events.ts +7 -0
  38. package/src/server/api/stats.ts +346 -0
  39. package/src/services/memory-service.ts +119 -2
  40. package/src/ui/app.js +362 -4
  41. package/src/ui/index.html +90 -0
  42. package/src/ui/style.css +41 -0
package/src/ui/style.css CHANGED
@@ -329,6 +329,23 @@ body {
329
329
  opacity: 0.5;
330
330
  }
331
331
 
332
+ .kpi-grid .stat-card .stat-value {
333
+ font-size: 28px;
334
+ }
335
+ .kpi-grid .stat-card .stat-label {
336
+ font-size: 12px;
337
+ }
338
+ .kpi-delta {
339
+ font-size: 11px;
340
+ margin-top: -4px;
341
+ margin-bottom: 8px;
342
+ color: var(--text-muted);
343
+ font-weight: 600;
344
+ }
345
+ .kpi-delta.good { color: var(--success); }
346
+ .kpi-delta.bad { color: var(--error); }
347
+ .kpi-delta.neutral { color: var(--text-muted); }
348
+
332
349
  .stat-value {
333
350
  font-size: 36px;
334
351
  font-weight: 700;
@@ -485,8 +502,11 @@ body {
485
502
  }
486
503
 
487
504
  .type-user { background: rgba(59, 130, 246, 0.2); color: #60A5FA; }
505
+ .type-user-prompt { background: rgba(59, 130, 246, 0.2); color: #60A5FA; }
488
506
  .type-agent { background: rgba(16, 185, 129, 0.2); color: #34D399; }
507
+ .type-agent-response { background: rgba(16, 185, 129, 0.2); color: #34D399; }
489
508
  .type-tool { background: rgba(245, 158, 11, 0.2); color: #FBBF24; }
509
+ .type-tool-observation { background: rgba(245, 158, 11, 0.2); color: #FBBF24; }
490
510
  .type-system { background: rgba(139, 92, 246, 0.2); color: #A78BFA; }
491
511
 
492
512
  .event-time {
@@ -580,6 +600,10 @@ body {
580
600
  color: var(--accent-primary);
581
601
  font-weight: 600;
582
602
  }
603
+ .sort-btn:disabled {
604
+ opacity: 0.35;
605
+ cursor: not-allowed;
606
+ }
583
607
 
584
608
  /* Access Badge */
585
609
  .access-badge {
@@ -594,6 +618,23 @@ body {
594
618
  font-weight: 600;
595
619
  }
596
620
 
621
+ .adherence-badge {
622
+ font-size: 10px;
623
+ padding: 3px 7px;
624
+ border-radius: 6px;
625
+ font-weight: 700;
626
+ text-transform: uppercase;
627
+ letter-spacing: 0.2px;
628
+ }
629
+ .adherence-checked {
630
+ background: rgba(52, 211, 153, 0.14);
631
+ color: #34D399;
632
+ }
633
+ .adherence-skipped {
634
+ background: rgba(148, 163, 184, 0.14);
635
+ color: #94A3B8;
636
+ }
637
+
597
638
  /* Section Label */
598
639
  .section-label {
599
640
  font-size: 12px;