claude-memory-layer 1.0.50 → 1.0.52
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/dist/cli/index.js +73 -9
- package/dist/cli/index.js.map +2 -2
- package/dist/core/index.js +55 -4
- package/dist/core/index.js.map +2 -2
- package/dist/hooks/post-tool-use.js +55 -4
- package/dist/hooks/post-tool-use.js.map +2 -2
- package/dist/hooks/semantic-daemon.js +55 -4
- package/dist/hooks/semantic-daemon.js.map +2 -2
- package/dist/hooks/session-end.js +55 -4
- package/dist/hooks/session-end.js.map +2 -2
- package/dist/hooks/session-start.js +55 -4
- package/dist/hooks/session-start.js.map +2 -2
- package/dist/hooks/stop.js +55 -4
- package/dist/hooks/stop.js.map +2 -2
- package/dist/hooks/user-prompt-submit.js +55 -4
- package/dist/hooks/user-prompt-submit.js.map +2 -2
- package/dist/index.js +55 -4
- package/dist/index.js.map +2 -2
- package/dist/mcp/index.js +60 -5
- package/dist/mcp/index.js.map +2 -2
- package/dist/server/api/index.js +62 -5
- package/dist/server/api/index.js.map +2 -2
- package/dist/server/index.js +62 -5
- package/dist/server/index.js.map +2 -2
- package/dist/services/memory-service.js +55 -4
- package/dist/services/memory-service.js.map +2 -2
- package/dist/ui/assets/js/overview.js +9 -3
- package/dist/ui/assets/js/views.js +1 -1
- package/package.json +3 -1
|
@@ -108,7 +108,7 @@ function updateProjectDetailUI() {
|
|
|
108
108
|
<div class="cfg-section">
|
|
109
109
|
<div class="cfg-section-title"><i class="ri-router-line"></i>Sources & outbox</div>
|
|
110
110
|
<div style="display:flex; gap:6px; flex-wrap:wrap; margin-bottom:8px;">${sourceChips}</div>
|
|
111
|
-
<div class="session-muted">${formatNumber(outbox.pending || 0)} pending · ${formatNumber(outbox.processing || 0)} processing · ${formatNumber(outbox.failed || 0)} failed · ${formatNumber(outbox.stuckProcessing || 0)} stuck</div>
|
|
111
|
+
<div class="session-muted">${formatNumber(outbox.pending || 0)} pending · ${formatNumber(outbox.processing || 0)} processing · ${formatNumber(outbox.failed || 0)} failed · ${formatNumber(outbox.retryableFailed || 0)} retryable · ${formatNumber(outbox.quarantinedFailed || 0)} quarantined · ${formatNumber(outbox.stuckProcessing || 0)} stuck</div>
|
|
112
112
|
</div>
|
|
113
113
|
</div>
|
|
114
114
|
`;
|
|
@@ -505,6 +505,8 @@ function vectorOutboxTotals(outbox) {
|
|
|
505
505
|
pending: vectorHealthCount(providedTotals?.pending ?? (vectorHealthCount(embedding.pending) + vectorHealthCount(vector.pending))),
|
|
506
506
|
processing: vectorHealthCount(providedTotals?.processing ?? (vectorHealthCount(embedding.processing) + vectorHealthCount(vector.processing))),
|
|
507
507
|
failed: vectorHealthCount(providedTotals?.failed ?? (vectorHealthCount(embedding.failed) + vectorHealthCount(vector.failed))),
|
|
508
|
+
retryableFailed: vectorHealthCount(providedTotals?.retryableFailed ?? (vectorHealthCount(embedding.retryableFailed) + vectorHealthCount(vector.retryableFailed))),
|
|
509
|
+
quarantinedFailed: vectorHealthCount(providedTotals?.quarantinedFailed ?? (vectorHealthCount(embedding.quarantinedFailed) + vectorHealthCount(vector.quarantinedFailed))),
|
|
508
510
|
stuckProcessing: vectorHealthCount(providedTotals?.stuckProcessing ?? (vectorHealthCount(embedding.stuckProcessing) + vectorHealthCount(vector.stuckProcessing))),
|
|
509
511
|
oldestProcessingAgeMs: providedTotals?.oldestProcessingAgeMs ?? maxNullableHealthAge(embedding.oldestProcessingAgeMs, vector.oldestProcessingAgeMs)
|
|
510
512
|
};
|
|
@@ -533,15 +535,17 @@ function vectorOutboxQueueRow(label, stats) {
|
|
|
533
535
|
const pending = vectorHealthCount(stats?.pending);
|
|
534
536
|
const processing = vectorHealthCount(stats?.processing);
|
|
535
537
|
const failed = vectorHealthCount(stats?.failed);
|
|
538
|
+
const retryable = vectorHealthCount(stats?.retryableFailed);
|
|
539
|
+
const quarantined = vectorHealthCount(stats?.quarantinedFailed);
|
|
536
540
|
const stuck = vectorHealthCount(stats?.stuckProcessing);
|
|
537
541
|
const total = vectorHealthCount(stats?.total);
|
|
538
542
|
const age = formatVectorHealthAge(stats?.oldestProcessingAgeMs);
|
|
539
|
-
const statusColor =
|
|
543
|
+
const statusColor = quarantined > 0 || stuck > 0 || failed > 0 ? 'var(--warning)' : 'var(--success)';
|
|
540
544
|
return `
|
|
541
545
|
<div class="shared-item">
|
|
542
546
|
<div class="shared-info" style="flex-direction:column; align-items:flex-start; gap:2px; min-width:0;">
|
|
543
547
|
<span style="font-size:12px; color:var(--text-secondary);">${escapeHtml(label)}</span>
|
|
544
|
-
<span style="font-size:10px; color:var(--text-muted);">pending ${formatNumber(pending)} · processing ${formatNumber(processing)} · failed ${formatNumber(failed)} · stuck ${formatNumber(stuck)} · oldest ${age}</span>
|
|
548
|
+
<span style="font-size:10px; color:var(--text-muted);">pending ${formatNumber(pending)} · processing ${formatNumber(processing)} · failed ${formatNumber(failed)} · retryable ${formatNumber(retryable)} · quarantined ${formatNumber(quarantined)} · stuck ${formatNumber(stuck)} · oldest ${age}</span>
|
|
545
549
|
</div>
|
|
546
550
|
<div style="display:flex; flex-direction:column; align-items:flex-end; gap:2px; min-width:48px;">
|
|
547
551
|
<span style="font-size:15px; font-weight:700; color:${statusColor};">${formatNumber(total)}</span>
|
|
@@ -612,6 +616,8 @@ function updateVectorHealthUI() {
|
|
|
612
616
|
<span><strong>${formatNumber(totals.pending)} pending</strong></span>
|
|
613
617
|
<span><strong>${formatNumber(totals.processing)} processing</strong></span>
|
|
614
618
|
<span><strong>${formatNumber(totals.failed)} failed</strong></span>
|
|
619
|
+
<span><strong>${formatNumber(totals.retryableFailed)} retryable</strong></span>
|
|
620
|
+
<span><strong>${formatNumber(totals.quarantinedFailed)} quarantined</strong></span>
|
|
615
621
|
<span><strong>${formatNumber(totals.stuckProcessing)} stuck</strong></span>
|
|
616
622
|
<span><strong>${formatVectorHealthAge(totals.oldestProcessingAgeMs)} oldest processing</strong></span>
|
|
617
623
|
</div>
|
|
@@ -930,7 +930,7 @@ function renderSetupProviderHealthCard(setupHealth) {
|
|
|
930
930
|
<div class="cfg-row"><span class="cfg-row-label">Status</span><span class="cfg-row-value">${escapeHtml(storage.status || 'unknown')}</span></div>
|
|
931
931
|
<div class="cfg-row"><span class="cfg-row-label">Events</span><span class="cfg-row-value">${formatNumber(storage.totalEvents || 0)} events</span></div>
|
|
932
932
|
<div class="cfg-row"><span class="cfg-row-label">Vectors</span><span class="cfg-row-value">${formatNumber(storage.vectorCount || 0)} vectors</span></div>
|
|
933
|
-
<div class="cfg-row"><span class="cfg-row-label">Outbox</span><span class="cfg-row-value">${formatNumber(outbox.pending || 0)} pending · ${formatNumber(outbox.failed || 0)} failed · ${formatNumber(outbox.stuckProcessing || 0)} stuck</span></div>
|
|
933
|
+
<div class="cfg-row"><span class="cfg-row-label">Outbox</span><span class="cfg-row-value">${formatNumber(outbox.pending || 0)} pending · ${formatNumber(outbox.failed || 0)} failed · ${formatNumber(outbox.retryableFailed || 0)} retryable · ${formatNumber(outbox.quarantinedFailed || 0)} quarantined · ${formatNumber(outbox.stuckProcessing || 0)} stuck</span></div>
|
|
934
934
|
</div>
|
|
935
935
|
<div class="cfg-section">
|
|
936
936
|
<div class="cfg-section-title"><i class="ri-terminal-box-line"></i>Provider Readiness</div>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-memory-layer",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.52",
|
|
4
4
|
"description": "Project-scoped memory layer for Claude Code, Codex, Hermes, MCP, and dashboards",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -93,8 +93,10 @@
|
|
|
93
93
|
"@types/better-sqlite3": "^7.6.13",
|
|
94
94
|
"@types/node": "^20.11.0",
|
|
95
95
|
"esbuild": "^0.28.0",
|
|
96
|
+
"eslint": "^9.39.4",
|
|
96
97
|
"tsx": "^4.7.0",
|
|
97
98
|
"typescript": "^5.4.0",
|
|
99
|
+
"typescript-eslint": "^8.62.0",
|
|
98
100
|
"vitest": "^4.1.8"
|
|
99
101
|
}
|
|
100
102
|
}
|