@aman_asmuei/amem 0.19.0 → 0.21.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.
Files changed (89) hide show
  1. package/README.md +33 -4
  2. package/dist/cli.js +64 -16
  3. package/dist/cli.js.map +1 -1
  4. package/dist/dashboard.d.ts +1 -1
  5. package/dist/dashboard.js +45 -1
  6. package/dist/dashboard.js.map +1 -1
  7. package/dist/hooks.d.ts +33 -0
  8. package/dist/hooks.js +143 -0
  9. package/dist/hooks.js.map +1 -1
  10. package/dist/index.js +3 -7
  11. package/dist/index.js.map +1 -1
  12. package/dist/tools/advanced.d.ts +1 -1
  13. package/dist/tools/advanced.js +1 -5
  14. package/dist/tools/advanced.js.map +1 -1
  15. package/dist/tools/graph.d.ts +1 -1
  16. package/dist/tools/graph.js +1 -2
  17. package/dist/tools/graph.js.map +1 -1
  18. package/dist/tools/index.d.ts +2 -2
  19. package/dist/tools/index.js +2 -2
  20. package/dist/tools/index.js.map +1 -1
  21. package/dist/tools/log.d.ts +1 -1
  22. package/dist/tools/log.js +1 -2
  23. package/dist/tools/log.js.map +1 -1
  24. package/dist/tools/memory.d.ts +1 -2
  25. package/dist/tools/memory.js +16 -22
  26. package/dist/tools/memory.js.map +1 -1
  27. package/dist/tools/reminders.d.ts +1 -1
  28. package/dist/tools/reminders.js +4 -5
  29. package/dist/tools/reminders.js.map +1 -1
  30. package/dist/tools/versions.d.ts +1 -1
  31. package/dist/tools/versions.js +3 -4
  32. package/dist/tools/versions.js.map +1 -1
  33. package/dist/tools.test.js +1 -2
  34. package/dist/tools.test.js.map +1 -1
  35. package/package.json +3 -9
  36. package/dist/ann.d.ts +0 -26
  37. package/dist/ann.js +0 -155
  38. package/dist/ann.js.map +0 -1
  39. package/dist/auto-relate.d.ts +0 -14
  40. package/dist/auto-relate.js +0 -47
  41. package/dist/auto-relate.js.map +0 -1
  42. package/dist/config.d.ts +0 -51
  43. package/dist/config.js +0 -130
  44. package/dist/config.js.map +0 -1
  45. package/dist/database.d.ts +0 -165
  46. package/dist/database.js +0 -831
  47. package/dist/database.js.map +0 -1
  48. package/dist/database.test.d.ts +0 -1
  49. package/dist/database.test.js +0 -275
  50. package/dist/database.test.js.map +0 -1
  51. package/dist/doctor.d.ts +0 -23
  52. package/dist/doctor.js +0 -107
  53. package/dist/doctor.js.map +0 -1
  54. package/dist/embeddings.d.ts +0 -38
  55. package/dist/embeddings.js +0 -251
  56. package/dist/embeddings.js.map +0 -1
  57. package/dist/embeddings.test.d.ts +0 -1
  58. package/dist/embeddings.test.js +0 -106
  59. package/dist/embeddings.test.js.map +0 -1
  60. package/dist/extractor.d.ts +0 -13
  61. package/dist/extractor.js +0 -89
  62. package/dist/extractor.js.map +0 -1
  63. package/dist/memory.d.ts +0 -134
  64. package/dist/memory.js +0 -432
  65. package/dist/memory.js.map +0 -1
  66. package/dist/memory.test.d.ts +0 -1
  67. package/dist/memory.test.js +0 -172
  68. package/dist/memory.test.js.map +0 -1
  69. package/dist/query-expand.d.ts +0 -9
  70. package/dist/query-expand.js +0 -71
  71. package/dist/query-expand.js.map +0 -1
  72. package/dist/reflection.d.ts +0 -82
  73. package/dist/reflection.js +0 -414
  74. package/dist/reflection.js.map +0 -1
  75. package/dist/reflection.test.d.ts +0 -1
  76. package/dist/reflection.test.js +0 -453
  77. package/dist/reflection.test.js.map +0 -1
  78. package/dist/repair.d.ts +0 -8
  79. package/dist/repair.js +0 -90
  80. package/dist/repair.js.map +0 -1
  81. package/dist/schemas.d.ts +0 -1075
  82. package/dist/schemas.js +0 -311
  83. package/dist/schemas.js.map +0 -1
  84. package/dist/sync.d.ts +0 -85
  85. package/dist/sync.js +0 -304
  86. package/dist/sync.js.map +0 -1
  87. package/dist/tools/helpers.d.ts +0 -7
  88. package/dist/tools/helpers.js +0 -23
  89. package/dist/tools/helpers.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,275 +0,0 @@
1
- import { describe, it, expect, beforeEach, afterEach } from "vitest";
2
- import { createDatabase } from "./database.js";
3
- let db;
4
- beforeEach(() => {
5
- db = createDatabase(":memory:");
6
- });
7
- afterEach(() => {
8
- db.close();
9
- });
10
- describe("schema creation", () => {
11
- it("creates all expected tables", () => {
12
- const tables = db.listTables();
13
- expect(tables).toContain("memories");
14
- expect(tables).toContain("conversation_log");
15
- expect(tables).toContain("memory_versions");
16
- expect(tables).toContain("memory_relations");
17
- expect(tables).toContain("reminders");
18
- });
19
- });
20
- describe("insertMemory / getById", () => {
21
- it("stores a memory and retrieves it by ID", () => {
22
- const id = db.insertMemory({
23
- content: "Use pnpm not npm",
24
- type: "preference",
25
- tags: ["tooling"],
26
- confidence: 0.9,
27
- source: "conversation",
28
- embedding: null,
29
- scope: "global",
30
- });
31
- expect(id).toBeTruthy();
32
- const mem = db.getById(id);
33
- expect(mem).not.toBeNull();
34
- expect(mem.content).toBe("Use pnpm not npm");
35
- expect(mem.type).toBe("preference");
36
- expect(mem.tags).toEqual(["tooling"]);
37
- expect(mem.confidence).toBe(0.9);
38
- expect(mem.source).toBe("conversation");
39
- expect(mem.scope).toBe("global");
40
- expect(mem.accessCount).toBe(0);
41
- expect(mem.embedding).toBeNull();
42
- });
43
- it("stores and retrieves an embedding", () => {
44
- const embedding = new Float32Array([0.1, 0.2, 0.3]);
45
- const id = db.insertMemory({
46
- content: "test embedding",
47
- type: "fact",
48
- tags: [],
49
- confidence: 0.5,
50
- source: "test",
51
- embedding,
52
- scope: "global",
53
- });
54
- const mem = db.getById(id);
55
- expect(mem.embedding).toBeInstanceOf(Float32Array);
56
- expect(mem.embedding.length).toBe(3);
57
- expect(mem.embedding[0]).toBeCloseTo(0.1);
58
- expect(mem.embedding[1]).toBeCloseTo(0.2);
59
- expect(mem.embedding[2]).toBeCloseTo(0.3);
60
- });
61
- it("returns null for nonexistent ID", () => {
62
- expect(db.getById("nonexistent")).toBeNull();
63
- });
64
- });
65
- describe("searchByType", () => {
66
- it("filters memories by type", () => {
67
- db.insertMemory({ content: "c1", type: "correction", tags: [], confidence: 1, source: "t", embedding: null, scope: "global" });
68
- db.insertMemory({ content: "d1", type: "decision", tags: [], confidence: 0.9, source: "t", embedding: null, scope: "global" });
69
- db.insertMemory({ content: "c2", type: "correction", tags: [], confidence: 1, source: "t", embedding: null, scope: "global" });
70
- const corrections = db.searchByType("correction");
71
- expect(corrections).toHaveLength(2);
72
- expect(corrections.every(m => m.type === "correction")).toBe(true);
73
- });
74
- });
75
- describe("searchByTag", () => {
76
- it("filters memories by tag", () => {
77
- db.insertMemory({ content: "a", type: "fact", tags: ["typescript", "testing"], confidence: 0.5, source: "t", embedding: null, scope: "global" });
78
- db.insertMemory({ content: "b", type: "fact", tags: ["rust"], confidence: 0.5, source: "t", embedding: null, scope: "global" });
79
- const results = db.searchByTag("typescript");
80
- expect(results).toHaveLength(1);
81
- expect(results[0].content).toBe("a");
82
- });
83
- });
84
- describe("fullTextSearch", () => {
85
- it("finds memories by content keywords", () => {
86
- db.insertMemory({ content: "Always use Tailwind for styling", type: "preference", tags: [], confidence: 0.8, source: "t", embedding: null, scope: "global" });
87
- db.insertMemory({ content: "Database schema uses SQLite", type: "fact", tags: [], confidence: 0.6, source: "t", embedding: null, scope: "global" });
88
- const results = db.fullTextSearch("Tailwind");
89
- expect(results.length).toBeGreaterThanOrEqual(1);
90
- expect(results[0].content).toContain("Tailwind");
91
- });
92
- it("scoped search filters by project", () => {
93
- db.insertMemory({ content: "Global memory", type: "fact", tags: [], confidence: 0.6, source: "t", embedding: null, scope: "global" });
94
- db.insertMemory({ content: "Project specific memory", type: "fact", tags: [], confidence: 0.6, source: "t", embedding: null, scope: "project:foo" });
95
- const results = db.fullTextSearch("memory", 20, "project:foo");
96
- // Should include both global and project:foo
97
- const scopes = results.map(r => r.scope);
98
- for (const s of scopes) {
99
- expect(["global", "project:foo"]).toContain(s);
100
- }
101
- });
102
- });
103
- describe("updateConfidence", () => {
104
- it("updates confidence and increments access count", () => {
105
- const id = db.insertMemory({ content: "x", type: "fact", tags: [], confidence: 0.5, source: "t", embedding: null, scope: "global" });
106
- db.updateConfidence(id, 0.9);
107
- const mem = db.getById(id);
108
- expect(mem.confidence).toBe(0.9);
109
- expect(mem.accessCount).toBe(1);
110
- });
111
- });
112
- describe("deleteMemory", () => {
113
- it("removes a memory", () => {
114
- const id = db.insertMemory({ content: "to delete", type: "fact", tags: [], confidence: 0.5, source: "t", embedding: null, scope: "global" });
115
- expect(db.getById(id)).not.toBeNull();
116
- db.deleteMemory(id);
117
- expect(db.getById(id)).toBeNull();
118
- });
119
- });
120
- describe("getStats", () => {
121
- it("returns correct totals and type breakdown", () => {
122
- db.insertMemory({ content: "c", type: "correction", tags: [], confidence: 1, source: "t", embedding: null, scope: "global" });
123
- db.insertMemory({ content: "d", type: "decision", tags: [], confidence: 0.9, source: "t", embedding: null, scope: "global" });
124
- db.insertMemory({ content: "d2", type: "decision", tags: [], confidence: 0.85, source: "t", embedding: null, scope: "global" });
125
- const stats = db.getStats();
126
- expect(stats.total).toBe(3);
127
- expect(stats.byType["correction"]).toBe(1);
128
- expect(stats.byType["decision"]).toBe(2);
129
- });
130
- });
131
- describe("version history", () => {
132
- it("snapshots and retrieves versions", () => {
133
- const id = db.insertMemory({ content: "original content", type: "fact", tags: [], confidence: 0.8, source: "t", embedding: null, scope: "global" });
134
- db.snapshotVersion(id, "initial snapshot");
135
- const versions = db.getVersionHistory(id);
136
- expect(versions).toHaveLength(1);
137
- expect(versions[0].content).toBe("original content");
138
- expect(versions[0].confidence).toBe(0.8);
139
- expect(versions[0].reason).toBe("initial snapshot");
140
- expect(versions[0].memoryId).toBe(id);
141
- });
142
- it("patchMemory creates a version snapshot before patching", () => {
143
- const id = db.insertMemory({ content: "old content", type: "fact", tags: ["a"], confidence: 0.7, source: "t", embedding: null, scope: "global" });
144
- const success = db.patchMemory(id, { field: "content", value: "new content", reason: "updated info" });
145
- expect(success).toBe(true);
146
- const mem = db.getById(id);
147
- expect(mem.content).toBe("new content");
148
- const versions = db.getVersionHistory(id);
149
- expect(versions).toHaveLength(1);
150
- expect(versions[0].content).toBe("old content");
151
- expect(versions[0].reason).toContain("before patch: updated info");
152
- });
153
- it("patchMemory updates confidence", () => {
154
- const id = db.insertMemory({ content: "x", type: "fact", tags: [], confidence: 0.5, source: "t", embedding: null, scope: "global" });
155
- db.patchMemory(id, { field: "confidence", value: 0.95, reason: "validated" });
156
- const mem = db.getById(id);
157
- expect(mem.confidence).toBe(0.95);
158
- });
159
- it("patchMemory updates tags", () => {
160
- const id = db.insertMemory({ content: "x", type: "fact", tags: ["old"], confidence: 0.5, source: "t", embedding: null, scope: "global" });
161
- db.patchMemory(id, { field: "tags", value: ["new", "tags"], reason: "retagged" });
162
- const mem = db.getById(id);
163
- expect(mem.tags).toEqual(["new", "tags"]);
164
- });
165
- it("patchMemory updates type", () => {
166
- const id = db.insertMemory({ content: "x", type: "fact", tags: [], confidence: 0.5, source: "t", embedding: null, scope: "global" });
167
- db.patchMemory(id, { field: "type", value: "decision", reason: "reclassified" });
168
- const mem = db.getById(id);
169
- expect(mem.type).toBe("decision");
170
- });
171
- it("patchMemory returns false for nonexistent ID", () => {
172
- const success = db.patchMemory("nonexistent-id", { field: "content", value: "x", reason: "test" });
173
- expect(success).toBe(false);
174
- });
175
- });
176
- describe("relations (knowledge graph)", () => {
177
- it("creates and queries relations", () => {
178
- const id1 = db.insertMemory({ content: "memory A", type: "decision", tags: [], confidence: 0.9, source: "t", embedding: null, scope: "global" });
179
- const id2 = db.insertMemory({ content: "memory B", type: "pattern", tags: [], confidence: 0.7, source: "t", embedding: null, scope: "global" });
180
- const relId = db.addRelation(id1, id2, "supports", 0.9);
181
- expect(relId).toBeTruthy();
182
- const relations = db.getRelations(id1);
183
- expect(relations).toHaveLength(1);
184
- expect(relations[0].fromId).toBe(id1);
185
- expect(relations[0].toId).toBe(id2);
186
- expect(relations[0].relationshipType).toBe("supports");
187
- expect(relations[0].strength).toBe(0.9);
188
- });
189
- it("getRelations returns both directions", () => {
190
- const id1 = db.insertMemory({ content: "A", type: "fact", tags: [], confidence: 0.5, source: "t", embedding: null, scope: "global" });
191
- const id2 = db.insertMemory({ content: "B", type: "fact", tags: [], confidence: 0.5, source: "t", embedding: null, scope: "global" });
192
- const id3 = db.insertMemory({ content: "C", type: "fact", tags: [], confidence: 0.5, source: "t", embedding: null, scope: "global" });
193
- db.addRelation(id1, id2, "relates");
194
- db.addRelation(id3, id1, "depends_on");
195
- const relations = db.getRelations(id1);
196
- expect(relations).toHaveLength(2);
197
- });
198
- it("getRelatedMemories returns the related Memory objects", () => {
199
- const id1 = db.insertMemory({ content: "A", type: "fact", tags: [], confidence: 0.5, source: "t", embedding: null, scope: "global" });
200
- const id2 = db.insertMemory({ content: "B", type: "fact", tags: [], confidence: 0.5, source: "t", embedding: null, scope: "global" });
201
- db.addRelation(id1, id2, "supports");
202
- const related = db.getRelatedMemories(id1);
203
- expect(related).toHaveLength(1);
204
- expect(related[0].content).toBe("B");
205
- });
206
- it("removeRelation deletes a relation", () => {
207
- const id1 = db.insertMemory({ content: "A", type: "fact", tags: [], confidence: 0.5, source: "t", embedding: null, scope: "global" });
208
- const id2 = db.insertMemory({ content: "B", type: "fact", tags: [], confidence: 0.5, source: "t", embedding: null, scope: "global" });
209
- const relId = db.addRelation(id1, id2, "supports");
210
- db.removeRelation(relId);
211
- expect(db.getRelations(id1)).toHaveLength(0);
212
- });
213
- });
214
- describe("temporal queries", () => {
215
- it("getMemoriesSince returns memories after timestamp", () => {
216
- const before = Date.now() - 1000;
217
- db.insertMemory({ content: "recent", type: "fact", tags: [], confidence: 0.5, source: "t", embedding: null, scope: "global" });
218
- const results = db.getMemoriesSince(before);
219
- expect(results.length).toBeGreaterThanOrEqual(1);
220
- expect(results[0].content).toBe("recent");
221
- });
222
- it("getMemoriesByDateRange returns memories within range", () => {
223
- const now = Date.now();
224
- db.insertMemory({ content: "in range", type: "fact", tags: [], confidence: 0.5, source: "t", embedding: null, scope: "global" });
225
- const results = db.getMemoriesByDateRange(now - 1000, now + 1000);
226
- expect(results.length).toBeGreaterThanOrEqual(1);
227
- });
228
- });
229
- describe("conversation log", () => {
230
- it("appends and retrieves log entries", () => {
231
- const id = db.appendLog({
232
- sessionId: "session-1",
233
- role: "user",
234
- content: "Hello world",
235
- project: "test-project",
236
- });
237
- expect(id).toBeTruthy();
238
- const entries = db.getLogBySession("session-1");
239
- expect(entries).toHaveLength(1);
240
- expect(entries[0].content).toBe("Hello world");
241
- expect(entries[0].role).toBe("user");
242
- expect(entries[0].project).toBe("test-project");
243
- });
244
- it("getRecentLog returns entries in descending order", () => {
245
- db.appendLog({ sessionId: "s1", role: "user", content: "first", project: "p" });
246
- db.appendLog({ sessionId: "s1", role: "assistant", content: "second", project: "p" });
247
- const recent = db.getRecentLog(10);
248
- expect(recent).toHaveLength(2);
249
- // Most recent first
250
- expect(recent[0].content).toBe("second");
251
- });
252
- });
253
- describe("reminders", () => {
254
- it("inserts and lists reminders", () => {
255
- const id = db.insertReminder("Review PR", Date.now() + 86400000, "global");
256
- expect(id).toBeTruthy();
257
- const reminders = db.listReminders();
258
- expect(reminders).toHaveLength(1);
259
- expect(reminders[0].content).toBe("Review PR");
260
- expect(reminders[0].completed).toBe(false);
261
- });
262
- it("completes a reminder", () => {
263
- const id = db.insertReminder("Do thing", null, "global");
264
- const success = db.completeReminder(id);
265
- expect(success).toBe(true);
266
- // Completed reminders excluded by default
267
- const reminders = db.listReminders();
268
- expect(reminders).toHaveLength(0);
269
- // But included when requested
270
- const all = db.listReminders(true);
271
- expect(all).toHaveLength(1);
272
- expect(all[0].completed).toBe(true);
273
- });
274
- });
275
- //# sourceMappingURL=database.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"database.test.js","sourceRoot":"","sources":["../src/database.test.ts"],"names":[],"mappings":"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"}
package/dist/doctor.d.ts DELETED
@@ -1,23 +0,0 @@
1
- import type { AmemDatabase } from "./database.js";
2
- export interface DiagnosticIssue {
3
- type: string;
4
- severity: "info" | "warning" | "critical";
5
- message: string;
6
- suggestion: string;
7
- }
8
- export interface DiagnosticReport {
9
- status: "healthy" | "warning" | "critical";
10
- stats: {
11
- totalMemories: number;
12
- embeddingCoverage: number;
13
- coreTierTokens: number;
14
- coreTierBudget: number;
15
- staleCount: number;
16
- orphanedGraphNodes: number;
17
- byType: Record<string, number>;
18
- graphEdges: number;
19
- remindersOverdue: number;
20
- };
21
- issues: DiagnosticIssue[];
22
- }
23
- export declare function runDiagnostics(db: AmemDatabase): DiagnosticReport;
package/dist/doctor.js DELETED
@@ -1,107 +0,0 @@
1
- import { loadConfig } from "./config.js";
2
- export function runDiagnostics(db) {
3
- const config = loadConfig();
4
- const issues = [];
5
- // Basic stats
6
- const stats = db.getStats();
7
- const totalMemories = stats.total;
8
- const byType = stats.byType;
9
- // Embedding coverage
10
- const embeddingCount = db.getEmbeddingCount();
11
- const embeddingCoverage = totalMemories > 0
12
- ? Math.round((embeddingCount / totalMemories) * 100)
13
- : 100; // empty DB is fine
14
- // Core tier token analysis
15
- const coreTierBudget = config.tiers.coreMaxTokens;
16
- const coreMemories = db.getByTier("core");
17
- const coreTierTokens = coreMemories.reduce((sum, m) => sum + Math.ceil(m.content.length / 4), 0);
18
- // Stale memories: 60+ days old, <0.5 confidence, not corrections
19
- const now = Date.now();
20
- const staleCutoff = now - 60 * 24 * 60 * 60 * 1000;
21
- const allMemories = db.getAll();
22
- const staleMemories = allMemories.filter((m) => m.createdAt < staleCutoff &&
23
- m.confidence < 0.5 &&
24
- m.type !== "correction");
25
- const staleCount = staleMemories.length;
26
- // Graph analysis
27
- const allRelations = db.getAllRelations();
28
- const graphEdges = allRelations.length;
29
- const memoryIds = new Set(allMemories.map((m) => m.id));
30
- const orphanedGraphNodes = allRelations.filter((r) => !memoryIds.has(r.fromId) || !memoryIds.has(r.toId)).length;
31
- // Overdue reminders
32
- const reminders = db.checkReminders();
33
- const remindersOverdue = reminders.filter((r) => r.status === "overdue").length;
34
- // ── Issue detection ──────────────────────────────────────
35
- if (totalMemories > 0 && embeddingCoverage < 50) {
36
- issues.push({
37
- type: "low_embedding_coverage",
38
- severity: "warning",
39
- message: `Only ${embeddingCoverage}% of memories have embeddings`,
40
- suggestion: "Semantic search quality is reduced. Use the MCP server to auto-generate embeddings on access.",
41
- });
42
- }
43
- if (coreTierTokens > coreTierBudget * 0.9 && coreTierBudget > 0) {
44
- issues.push({
45
- type: "core_tier_near_budget",
46
- severity: coreTierTokens > coreTierBudget ? "critical" : "warning",
47
- message: `Core tier uses ${coreTierTokens}/${coreTierBudget} tokens (${Math.round((coreTierTokens / coreTierBudget) * 100)}%)`,
48
- suggestion: "Review core memories with 'amem list --type correction' and consolidate or demote less important ones.",
49
- });
50
- }
51
- if (staleCount > 10) {
52
- issues.push({
53
- type: "stale_memories",
54
- severity: "warning",
55
- message: `${staleCount} stale memories (60+ days old, low confidence)`,
56
- suggestion: "Run 'amem list' to review and 'amem forget <id>' to clean up outdated entries.",
57
- });
58
- }
59
- if (orphanedGraphNodes > 0) {
60
- issues.push({
61
- type: "orphaned_graph_nodes",
62
- severity: "warning",
63
- message: `${orphanedGraphNodes} graph edge(s) reference deleted memories`,
64
- suggestion: "These orphaned relations can be cleaned up by consolidating the knowledge graph.",
65
- });
66
- }
67
- if (remindersOverdue > 0) {
68
- issues.push({
69
- type: "overdue_reminders",
70
- severity: "info",
71
- message: `${remindersOverdue} overdue reminder(s)`,
72
- suggestion: "Check reminders via the MCP 'reminder_check' tool or address them in your next session.",
73
- });
74
- }
75
- if (totalMemories >= 100 && (byType["correction"] ?? 0) === 0) {
76
- issues.push({
77
- type: "no_corrections",
78
- severity: "info",
79
- message: "100+ memories but no corrections stored",
80
- suggestion: "Corrections are the highest-priority memory type. Store them when the AI makes mistakes.",
81
- });
82
- }
83
- // ── Determine overall status ────────────────────────────
84
- let status = "healthy";
85
- if (issues.some((i) => i.severity === "critical")) {
86
- status = "critical";
87
- }
88
- else if (issues.some((i) => i.severity === "warning")) {
89
- status = "warning";
90
- }
91
- return {
92
- status,
93
- stats: {
94
- totalMemories,
95
- embeddingCoverage,
96
- coreTierTokens,
97
- coreTierBudget,
98
- staleCount,
99
- orphanedGraphNodes,
100
- byType,
101
- graphEdges,
102
- remindersOverdue,
103
- },
104
- issues,
105
- };
106
- }
107
- //# sourceMappingURL=doctor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAyBzC,MAAM,UAAU,cAAc,CAAC,EAAgB;IAC7C,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAsB,EAAE,CAAC;IAErC,cAAc;IACd,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC5B,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC;IAClC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAE5B,qBAAqB;IACrB,MAAM,cAAc,GAAG,EAAE,CAAC,iBAAiB,EAAE,CAAC;IAC9C,MAAM,iBAAiB,GAAG,aAAa,GAAG,CAAC;QACzC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,aAAa,CAAC,GAAG,GAAG,CAAC;QACpD,CAAC,CAAC,GAAG,CAAC,CAAC,mBAAmB;IAE5B,2BAA2B;IAC3B,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC;IAClD,MAAM,YAAY,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,CACxC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,EACjD,CAAC,CACF,CAAC;IAEF,iEAAiE;IACjE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,WAAW,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACnD,MAAM,WAAW,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC;IAChC,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CACtC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,SAAS,GAAG,WAAW;QACzB,CAAC,CAAC,UAAU,GAAG,GAAG;QAClB,CAAC,CAAC,IAAI,KAAK,YAAY,CAC1B,CAAC;IACF,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC;IAExC,iBAAiB;IACjB,MAAM,YAAY,GAAG,EAAE,CAAC,eAAe,EAAE,CAAC;IAC1C,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC;IACvC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxD,MAAM,kBAAkB,GAAG,YAAY,CAAC,MAAM,CAC5C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAC1D,CAAC,MAAM,CAAC;IAET,oBAAoB;IACpB,MAAM,SAAS,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC;IACtC,MAAM,gBAAgB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IAEhF,4DAA4D;IAE5D,IAAI,aAAa,GAAG,CAAC,IAAI,iBAAiB,GAAG,EAAE,EAAE,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,wBAAwB;YAC9B,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,QAAQ,iBAAiB,+BAA+B;YACjE,UAAU,EACR,+FAA+F;SAClG,CAAC,CAAC;IACL,CAAC;IAED,IAAI,cAAc,GAAG,cAAc,GAAG,GAAG,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,uBAAuB;YAC7B,QAAQ,EAAE,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YAClE,OAAO,EAAE,kBAAkB,cAAc,IAAI,cAAc,YAAY,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC,IAAI;YAC9H,UAAU,EACR,wGAAwG;SAC3G,CAAC,CAAC;IACL,CAAC;IAED,IAAI,UAAU,GAAG,EAAE,EAAE,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,gBAAgB;YACtB,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,GAAG,UAAU,gDAAgD;YACtE,UAAU,EACR,gFAAgF;SACnF,CAAC,CAAC;IACL,CAAC;IAED,IAAI,kBAAkB,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,sBAAsB;YAC5B,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,GAAG,kBAAkB,2CAA2C;YACzE,UAAU,EACR,kFAAkF;SACrF,CAAC,CAAC;IACL,CAAC;IAED,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,mBAAmB;YACzB,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,GAAG,gBAAgB,sBAAsB;YAClD,UAAU,EACR,yFAAyF;SAC5F,CAAC,CAAC;IACL,CAAC;IAED,IAAI,aAAa,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9D,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,gBAAgB;YACtB,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,yCAAyC;YAClD,UAAU,EACR,0FAA0F;SAC7F,CAAC,CAAC;IACL,CAAC;IAED,2DAA2D;IAE3D,IAAI,MAAM,GAA+B,SAAS,CAAC;IACnD,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,EAAE,CAAC;QAClD,MAAM,GAAG,UAAU,CAAC;IACtB,CAAC;SAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,EAAE,CAAC;QACxD,MAAM,GAAG,SAAS,CAAC;IACrB,CAAC;IAED,OAAO;QACL,MAAM;QACN,KAAK,EAAE;YACL,aAAa;YACb,iBAAiB;YACjB,cAAc;YACd,cAAc;YACd,UAAU;YACV,kBAAkB;YAClB,MAAM;YACN,UAAU;YACV,gBAAgB;SACjB;QACD,MAAM;KACP,CAAC;AACJ,CAAC"}
@@ -1,38 +0,0 @@
1
- export declare function cosineSimilarity(a: Float32Array, b: Float32Array): number;
2
- export interface EmbeddingCandidate<T> {
3
- id: string;
4
- embedding: Float32Array;
5
- data: T;
6
- }
7
- export interface SimilarityResult<T> {
8
- id: string;
9
- similarity: number;
10
- data: T;
11
- }
12
- export declare function findTopK<T>(query: Float32Array, candidates: EmbeddingCandidate<T>[], k: number): SimilarityResult<T>[];
13
- export declare function disableEmbeddings(): void;
14
- /**
15
- * Pre-warm the embedding pipeline in the background.
16
- * Call this at startup so the model is ready when the first query arrives.
17
- */
18
- export declare function preloadEmbeddings(): void;
19
- export declare function generateEmbedding(text: string): Promise<Float32Array | null>;
20
- export declare function isEmbeddingAvailable(): Promise<boolean>;
21
- export interface RerankCandidate {
22
- id: string;
23
- content: string;
24
- score: number;
25
- }
26
- /**
27
- * Cross-encoder reranking: takes a query and a list of candidates,
28
- * scores each (query, candidate) pair with a cross-encoder model,
29
- * and returns candidates re-sorted by cross-encoder score.
30
- *
31
- * This is the final pass in the retrieval pipeline — after semantic + FTS + graph
32
- * have produced candidates, the cross-encoder provides the most accurate scoring
33
- * by attending to the full (query, document) pair jointly.
34
- *
35
- * Falls back to original scores if the cross-encoder model isn't available.
36
- */
37
- export declare function rerankWithCrossEncoder(query: string, candidates: RerankCandidate[], topK: number): Promise<RerankCandidate[]>;
38
- export declare function isRerankerAvailable(): Promise<boolean>;