vesper-memory 0.5.4 → 0.6.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 (80) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +6 -6
  3. package/config/sqlite-schema.sql +31 -0
  4. package/dist/cli.js +6 -49
  5. package/dist/cli.js.map +1 -1
  6. package/dist/consolidation/pipeline.d.ts +25 -6
  7. package/dist/consolidation/pipeline.d.ts.map +1 -1
  8. package/dist/consolidation/pipeline.js +310 -67
  9. package/dist/consolidation/pipeline.js.map +1 -1
  10. package/dist/memory-layers/semantic-memory.d.ts +8 -3
  11. package/dist/memory-layers/semantic-memory.d.ts.map +1 -1
  12. package/dist/memory-layers/semantic-memory.js +110 -50
  13. package/dist/memory-layers/semantic-memory.js.map +1 -1
  14. package/dist/memory-layers/skill-library.d.ts +9 -9
  15. package/dist/memory-layers/skill-library.d.ts.map +1 -1
  16. package/dist/memory-layers/skill-library.js +85 -56
  17. package/dist/memory-layers/skill-library.js.map +1 -1
  18. package/dist/memory-layers/working-memory.d.ts +2 -2
  19. package/dist/memory-layers/working-memory.d.ts.map +1 -1
  20. package/dist/memory-layers/working-memory.js +57 -47
  21. package/dist/memory-layers/working-memory.js.map +1 -1
  22. package/dist/retrieval/hybrid-search.d.ts.map +1 -1
  23. package/dist/retrieval/hybrid-search.js +10 -5
  24. package/dist/retrieval/hybrid-search.js.map +1 -1
  25. package/dist/retrieval/index-outbox.d.ts +50 -0
  26. package/dist/retrieval/index-outbox.d.ts.map +1 -0
  27. package/dist/retrieval/index-outbox.js +225 -0
  28. package/dist/retrieval/index-outbox.js.map +1 -0
  29. package/dist/retrieval/memory-retriever.d.ts +123 -0
  30. package/dist/retrieval/memory-retriever.d.ts.map +1 -0
  31. package/dist/retrieval/memory-retriever.js +723 -0
  32. package/dist/retrieval/memory-retriever.js.map +1 -0
  33. package/dist/router/smart-router.js +18 -18
  34. package/dist/server-wrapper.js +0 -0
  35. package/dist/server.d.ts +9 -1
  36. package/dist/server.d.ts.map +1 -1
  37. package/dist/server.js +859 -355
  38. package/dist/server.js.map +1 -1
  39. package/dist/utils/claude-mcp-config.d.ts +3 -0
  40. package/dist/utils/claude-mcp-config.d.ts.map +1 -0
  41. package/dist/utils/claude-mcp-config.js +42 -0
  42. package/dist/utils/claude-mcp-config.js.map +1 -0
  43. package/dist/utils/monitoring.d.ts +1 -0
  44. package/dist/utils/monitoring.d.ts.map +1 -1
  45. package/dist/utils/monitoring.js +1 -0
  46. package/dist/utils/monitoring.js.map +1 -1
  47. package/dist/utils/paths.d.ts +13 -1
  48. package/dist/utils/paths.d.ts.map +1 -1
  49. package/dist/utils/paths.js +24 -0
  50. package/dist/utils/paths.js.map +1 -1
  51. package/dist/utils/validation.d.ts +14 -2
  52. package/dist/utils/validation.d.ts.map +1 -1
  53. package/dist/utils/validation.js +64 -48
  54. package/dist/utils/validation.js.map +1 -1
  55. package/docker-compose.yml +3 -3
  56. package/package.json +7 -4
  57. package/scripts/README.md +1 -1
  58. package/scripts/health-check.sh +8 -4
  59. package/scripts/init-qdrant.ts +42 -60
  60. package/scripts/test-mcp-server.sh +2 -2
  61. package/dist/config/rate-limits.d.ts +0 -76
  62. package/dist/config/rate-limits.d.ts.map +0 -1
  63. package/dist/config/rate-limits.js +0 -161
  64. package/dist/config/rate-limits.js.map +0 -1
  65. package/dist/middleware/auth.d.ts +0 -287
  66. package/dist/middleware/auth.d.ts.map +0 -1
  67. package/dist/middleware/auth.js +0 -610
  68. package/dist/middleware/auth.js.map +0 -1
  69. package/dist/monitoring/health.d.ts +0 -241
  70. package/dist/monitoring/health.d.ts.map +0 -1
  71. package/dist/monitoring/health.js +0 -649
  72. package/dist/monitoring/health.js.map +0 -1
  73. package/dist/monitoring/metrics.d.ts +0 -153
  74. package/dist/monitoring/metrics.d.ts.map +0 -1
  75. package/dist/monitoring/metrics.js +0 -349
  76. package/dist/monitoring/metrics.js.map +0 -1
  77. package/dist/security/rate-limit-middleware.d.ts +0 -119
  78. package/dist/security/rate-limit-middleware.d.ts.map +0 -1
  79. package/dist/security/rate-limit-middleware.js +0 -193
  80. package/dist/security/rate-limit-middleware.js.map +0 -1
@@ -15,34 +15,43 @@ export class WorkingMemoryLayer {
15
15
  this.redis = redis;
16
16
  this.MAX_CONVERSATIONS = maxConversations;
17
17
  }
18
- async store(memory, namespace = 'default') {
18
+ async store(memory, namespace = "default") {
19
19
  const key = `${namespace}:working:${memory.conversationId}`;
20
20
  const listKey = `${namespace}:working:recent`;
21
21
  const ttl = this.TTL_DAYS * 24 * 60 * 60;
22
- await this.redis.setex(key, ttl, JSON.stringify(memory));
23
- await this.redis.lpush(listKey, memory.conversationId);
24
- // Get IDs that will be evicted (beyond MAX_CONVERSATIONS)
25
- const allIds = await this.redis.lrange(listKey, 0, -1);
26
- const toEvict = allIds.slice(this.MAX_CONVERSATIONS);
27
- await this.redis.ltrim(listKey, 0, this.MAX_CONVERSATIONS - 1);
22
+ // Projection replays must be idempotent. This script atomically writes the
23
+ // value, removes any prior list occurrence, promotes the ID, and returns
24
+ // only entries evicted by the bounded recent-list policy.
25
+ const script = `
26
+ redis.call('SETEX', KEYS[1], ARGV[1], ARGV[2])
27
+ redis.call('LREM', KEYS[2], 0, ARGV[3])
28
+ redis.call('LPUSH', KEYS[2], ARGV[3])
29
+ local evicted = redis.call('LRANGE', KEYS[2], ARGV[4], -1)
30
+ redis.call('LTRIM', KEYS[2], 0, ARGV[4] - 1)
31
+ return evicted
32
+ `;
33
+ const toEvict = (await this.redis.eval(script, 2, key, listKey, String(ttl), JSON.stringify(memory), memory.conversationId, String(this.MAX_CONVERSATIONS)));
28
34
  // Delete evicted conversation data
29
35
  for (const id of toEvict) {
30
- await this.redis.del(`${namespace}:working:${id}`);
36
+ if (id !== memory.conversationId) {
37
+ await this.redis.del(`${namespace}:working:${id}`);
38
+ }
31
39
  }
32
40
  }
33
- async search(query, limit = 3, namespace = 'default') {
41
+ async search(query, limit = 3, namespace = "default") {
34
42
  const listKey = `${namespace}:working:recent`;
35
43
  const recentIds = await this.redis.lrange(listKey, 0, this.MAX_CONVERSATIONS - 1);
36
44
  const results = [];
37
- const queryLower = query.toLowerCase();
38
- const queryWords = queryLower.split(/\s+/);
45
+ const queryWords = query.toLowerCase().trim().split(/\s+/).filter(Boolean);
46
+ if (queryWords.length === 0)
47
+ return [];
39
48
  for (const id of recentIds) {
40
49
  const data = await this.redis.get(`${namespace}:working:${id}`);
41
50
  if (!data)
42
51
  continue;
43
52
  const memory = JSON.parse(data);
44
53
  const textLower = memory.fullText.toLowerCase();
45
- const matchCount = queryWords.filter(word => textLower.includes(word)).length;
54
+ const matchCount = queryWords.filter((word) => textLower.includes(word)).length;
46
55
  const similarity = matchCount / queryWords.length;
47
56
  if (similarity > 0.3) {
48
57
  results.push({ memory, similarity });
@@ -50,7 +59,7 @@ export class WorkingMemoryLayer {
50
59
  }
51
60
  return results.sort((a, b) => b.similarity - a.similarity).slice(0, limit);
52
61
  }
53
- async getRecent(limit = 5, namespace = 'default') {
62
+ async getRecent(limit = 5, namespace = "default") {
54
63
  const listKey = `${namespace}:working:recent`;
55
64
  const recentIds = await this.redis.lrange(listKey, 0, limit - 1);
56
65
  const memories = [];
@@ -61,18 +70,19 @@ export class WorkingMemoryLayer {
61
70
  }
62
71
  return memories;
63
72
  }
64
- async getAll(limit, namespace = 'default') {
73
+ async getAll(limit, namespace = "default") {
65
74
  return this.getRecent(limit || this.MAX_CONVERSATIONS, namespace);
66
75
  }
67
- async get(conversationId, namespace = 'default') {
76
+ async get(conversationId, namespace = "default") {
68
77
  const data = await this.redis.get(`${namespace}:working:${conversationId}`);
69
78
  return data ? JSON.parse(data) : null;
70
79
  }
71
- async delete(conversationId, namespace = 'default') {
80
+ async delete(conversationId, namespace = "default") {
72
81
  await this.redis.del(`${namespace}:working:${conversationId}`);
73
- await this.redis.lrem(`${namespace}:working:recent`, 1, conversationId);
82
+ // Remove every legacy duplicate left by pre-idempotency projection replay.
83
+ await this.redis.lrem(`${namespace}:working:recent`, 0, conversationId);
74
84
  }
75
- async searchByEntities(entities, limit = 3, namespace = 'default') {
85
+ async searchByEntities(entities, limit = 3, namespace = "default") {
76
86
  const listKey = `${namespace}:working:recent`;
77
87
  const recentIds = await this.redis.lrange(listKey, 0, this.MAX_CONVERSATIONS - 1);
78
88
  const results = [];
@@ -81,7 +91,7 @@ export class WorkingMemoryLayer {
81
91
  if (!data)
82
92
  continue;
83
93
  const memory = JSON.parse(data);
84
- const matchedEntities = entities.filter(entity => memory.keyEntities.some(ke => ke.toLowerCase() === entity.toLowerCase()));
94
+ const matchedEntities = entities.filter((entity) => memory.keyEntities.some((ke) => ke.toLowerCase() === entity.toLowerCase()));
85
95
  const similarity = matchedEntities.length / entities.length;
86
96
  if (similarity > 0) {
87
97
  results.push({ memory, similarity, matchedEntities });
@@ -89,7 +99,7 @@ export class WorkingMemoryLayer {
89
99
  }
90
100
  return results.sort((a, b) => b.similarity - a.similarity).slice(0, limit);
91
101
  }
92
- async searchByTopics(topics, limit = 3, namespace = 'default') {
102
+ async searchByTopics(topics, limit = 3, namespace = "default") {
93
103
  const listKey = `${namespace}:working:recent`;
94
104
  const recentIds = await this.redis.lrange(listKey, 0, this.MAX_CONVERSATIONS - 1);
95
105
  const results = [];
@@ -98,7 +108,7 @@ export class WorkingMemoryLayer {
98
108
  if (!data)
99
109
  continue;
100
110
  const memory = JSON.parse(data);
101
- const matchedTopics = topics.filter(topic => memory.topics.some(t => t.toLowerCase() === topic.toLowerCase()));
111
+ const matchedTopics = topics.filter((topic) => memory.topics.some((t) => t.toLowerCase() === topic.toLowerCase()));
102
112
  const similarity = matchedTopics.length / topics.length;
103
113
  if (similarity > 0) {
104
114
  results.push({ memory, similarity, matchedTopics });
@@ -106,7 +116,7 @@ export class WorkingMemoryLayer {
106
116
  }
107
117
  return results.sort((a, b) => b.similarity - a.similarity).slice(0, limit);
108
118
  }
109
- async getStats(namespace = 'default') {
119
+ async getStats(namespace = "default") {
110
120
  const listKey = `${namespace}:working:recent`;
111
121
  const recentIds = await this.redis.lrange(listKey, 0, this.MAX_CONVERSATIONS - 1);
112
122
  const memories = [];
@@ -120,16 +130,16 @@ export class WorkingMemoryLayer {
120
130
  totalConversations: 0,
121
131
  oldestConversation: null,
122
132
  newestConversation: null,
123
- totalTextSize: 0
133
+ totalTextSize: 0,
124
134
  };
125
135
  }
126
- const timestamps = memories.map(m => new Date(m.timestamp));
136
+ const timestamps = memories.map((m) => new Date(m.timestamp));
127
137
  const totalTextSize = memories.reduce((sum, m) => sum + m.fullText.length, 0);
128
138
  return {
129
139
  totalConversations: memories.length,
130
- oldestConversation: new Date(Math.min(...timestamps.map(d => d.getTime()))),
131
- newestConversation: new Date(Math.max(...timestamps.map(d => d.getTime()))),
132
- totalTextSize
140
+ oldestConversation: new Date(Math.min(...timestamps.map((d) => d.getTime()))),
141
+ newestConversation: new Date(Math.max(...timestamps.map((d) => d.getTime()))),
142
+ totalTextSize,
133
143
  };
134
144
  }
135
145
  /**
@@ -137,14 +147,14 @@ export class WorkingMemoryLayer {
137
147
  *
138
148
  * Uses SCAN instead of KEYS to avoid blocking Redis server.
139
149
  */
140
- async clear(namespace = 'default') {
141
- let cursor = '0';
150
+ async clear(namespace = "default") {
151
+ let cursor = "0";
142
152
  const keysToDelete = [];
143
153
  do {
144
- const [nextCursor, keys] = await this.redis.scan(cursor, 'MATCH', `${namespace}:working:*`, 'COUNT', 100);
154
+ const [nextCursor, keys] = await this.redis.scan(cursor, "MATCH", `${namespace}:working:*`, "COUNT", 100);
145
155
  cursor = nextCursor;
146
156
  keysToDelete.push(...keys);
147
- } while (cursor !== '0');
157
+ } while (cursor !== "0");
148
158
  const BATCH_SIZE = 100;
149
159
  for (let i = 0; i < keysToDelete.length; i += BATCH_SIZE) {
150
160
  const batch = keysToDelete.slice(i, i + BATCH_SIZE);
@@ -156,7 +166,7 @@ export class WorkingMemoryLayer {
156
166
  /**
157
167
  * Cache a loaded skill in working memory
158
168
  */
159
- async cacheSkill(skill, ttl = 3600, namespace = 'default') {
169
+ async cacheSkill(skill, ttl = 3600, namespace = "default") {
160
170
  const key = `${namespace}:skill:cache:${skill.id}`;
161
171
  const cached = {
162
172
  skill,
@@ -165,12 +175,12 @@ export class WorkingMemoryLayer {
165
175
  ttl,
166
176
  };
167
177
  await this.redis.setex(key, ttl, JSON.stringify(cached));
168
- console.debug(`[WorkingMemory] Cached skill: ${skill.name} (${skill.id}) for ${ttl}s`);
178
+ console.error(`[WorkingMemory] Cached skill: ${skill.name} (${skill.id}) for ${ttl}s`);
169
179
  }
170
180
  /**
171
181
  * Get a cached skill from working memory
172
182
  */
173
- async getCachedSkill(skillId, namespace = 'default') {
183
+ async getCachedSkill(skillId, namespace = "default") {
174
184
  const key = `${namespace}:skill:cache:${skillId}`;
175
185
  const data = await this.redis.get(key);
176
186
  if (!data) {
@@ -182,49 +192,49 @@ export class WorkingMemoryLayer {
182
192
  if (ttl > 0) {
183
193
  await this.redis.setex(key, ttl, JSON.stringify(cached));
184
194
  }
185
- console.debug(`[WorkingMemory] Skill cache hit: ${cached.skill.name} ` +
195
+ console.error(`[WorkingMemory] Skill cache hit: ${cached.skill.name} ` +
186
196
  `(access count: ${cached.access_count}, TTL: ${ttl}s)`);
187
197
  return cached;
188
198
  }
189
199
  /**
190
200
  * Invalidate a cached skill
191
201
  */
192
- async invalidateSkillCache(skillId, namespace = 'default') {
202
+ async invalidateSkillCache(skillId, namespace = "default") {
193
203
  const key = `${namespace}:skill:cache:${skillId}`;
194
204
  await this.redis.del(key);
195
- console.debug(`[WorkingMemory] Invalidated skill cache: ${skillId}`);
205
+ console.error(`[WorkingMemory] Invalidated skill cache: ${skillId}`);
196
206
  }
197
207
  /**
198
208
  * Get all cached skill IDs
199
209
  */
200
- async getCachedSkillIds(namespace = 'default') {
210
+ async getCachedSkillIds(namespace = "default") {
201
211
  const pattern = `${namespace}:skill:cache:*`;
202
- let cursor = '0';
212
+ let cursor = "0";
203
213
  const skillIds = [];
204
214
  do {
205
- const [nextCursor, keys] = await this.redis.scan(cursor, 'MATCH', pattern, 'COUNT', 100);
215
+ const [nextCursor, keys] = await this.redis.scan(cursor, "MATCH", pattern, "COUNT", 100);
206
216
  cursor = nextCursor;
207
217
  for (const key of keys) {
208
- const skillId = key.replace(`${namespace}:skill:cache:`, '');
218
+ const skillId = key.replace(`${namespace}:skill:cache:`, "");
209
219
  skillIds.push(skillId);
210
220
  }
211
- } while (cursor !== '0');
221
+ } while (cursor !== "0");
212
222
  return skillIds;
213
223
  }
214
224
  /**
215
225
  * Clear all cached skills for a namespace
216
226
  */
217
- async clearSkillCache(namespace = 'default') {
218
- let cursor = '0';
227
+ async clearSkillCache(namespace = "default") {
228
+ let cursor = "0";
219
229
  const keysToDelete = [];
220
230
  do {
221
- const [nextCursor, keys] = await this.redis.scan(cursor, 'MATCH', `${namespace}:skill:cache:*`, 'COUNT', 100);
231
+ const [nextCursor, keys] = await this.redis.scan(cursor, "MATCH", `${namespace}:skill:cache:*`, "COUNT", 100);
222
232
  cursor = nextCursor;
223
233
  keysToDelete.push(...keys);
224
- } while (cursor !== '0');
234
+ } while (cursor !== "0");
225
235
  if (keysToDelete.length > 0) {
226
236
  await this.redis.del(...keysToDelete);
227
- console.debug(`[WorkingMemory] Cleared ${keysToDelete.length} cached skills`);
237
+ console.error(`[WorkingMemory] Cleared ${keysToDelete.length} cached skills`);
228
238
  }
229
239
  }
230
240
  }
@@ -1 +1 @@
1
- {"version":3,"file":"working-memory.js","sourceRoot":"","sources":["../../src/memory-layers/working-memory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"working-memory.js","sourceRoot":"","sources":["../../src/memory-layers/working-memory.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hybrid-search.d.ts","sourceRoot":"","sources":["../../src/retrieval/hybrid-search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hybrid-search.d.ts","sourceRoot":"","sources":["../../src/retrieval/hybrid-search.ts"],"names":[],"mappings":"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"}
@@ -60,7 +60,7 @@ export class HybridSearchEngine {
60
60
  const collections = await this.client.getCollections();
61
61
  const collectionExists = collections.collections.some((c) => c.name === this.collectionName);
62
62
  if (collectionExists) {
63
- console.log(`Collection '${this.collectionName}' already exists`);
63
+ console.error(`Collection '${this.collectionName}' already exists`);
64
64
  return;
65
65
  }
66
66
  // Create new collection with dense vector index
@@ -70,7 +70,7 @@ export class HybridSearchEngine {
70
70
  distance: "Cosine",
71
71
  },
72
72
  });
73
- console.log(`Created collection '${this.collectionName}' with ${this.vectorSize}-dim vectors`);
73
+ console.error(`Created collection '${this.collectionName}' with ${this.vectorSize}-dim vectors`);
74
74
  // TODO: Phase 2 - Add sparse vector index
75
75
  // TODO: Phase 2 - Add BM25 index
76
76
  }
@@ -93,8 +93,9 @@ export class HybridSearchEngine {
93
93
  // Validate vector dimensions and values (SEC-005)
94
94
  validateVector(queryVector, this.vectorSize);
95
95
  try {
96
- const searchResults = await this.client.search(this.collectionName, {
97
- vector: queryVector,
96
+ // Qdrant client >= 1.17 removed `search`; `query` is the universal API.
97
+ const { points: searchResults } = await this.client.query(this.collectionName, {
98
+ query: queryVector,
98
99
  limit: topK,
99
100
  with_payload: true,
100
101
  with_vector: false,
@@ -160,6 +161,10 @@ export class HybridSearchEngine {
160
161
  * @returns Fused results sorted by RRF score
161
162
  */
162
163
  static rrfFusion(denseResults, sparseResults = [], bm25Results = [], k = 60) {
164
+ // A single ranked list does not need rank fusion. Preserve the dense
165
+ // similarity in the compatibility `fusedScore` field so callers receive a
166
+ // meaningful score instead of the near-constant 1 / (k + rank) values.
167
+ const denseOnly = sparseResults.length === 0 && bm25Results.length === 0;
163
168
  // Create a map to accumulate scores
164
169
  const resultMap = new Map();
165
170
  // Process dense results
@@ -168,7 +173,7 @@ export class HybridSearchEngine {
168
173
  resultMap.set(result.id, {
169
174
  id: result.id,
170
175
  denseScore: result.score,
171
- fusedScore: rrfScore,
176
+ fusedScore: denseOnly ? result.score : rrfScore,
172
177
  payload: result.payload,
173
178
  rank: 0, // Will be set after final sort
174
179
  });
@@ -1 +1 @@
1
- {"version":3,"file":"hybrid-search.js","sourceRoot":"","sources":["../../src/retrieval/hybrid-search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hybrid-search.js","sourceRoot":"","sources":["../../src/retrieval/hybrid-search.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import type { EmbeddingClient } from "../embeddings/client.js";
2
+ import type { WorkingMemoryLayer } from "../memory-layers/working-memory.js";
3
+ import type { HybridSearchEngine } from "./hybrid-search.js";
4
+ export type IndexOperation = "upsert" | "delete";
5
+ export type IndexState = "indexed" | "pending";
6
+ export interface IndexMutation {
7
+ memoryId: string;
8
+ operation: IndexOperation;
9
+ namespace: string;
10
+ content?: string;
11
+ memoryType?: string;
12
+ metadata?: Record<string, unknown>;
13
+ agentId?: string;
14
+ taskId?: string;
15
+ createdAt: number;
16
+ }
17
+ export interface IndexDrainStats {
18
+ examined: number;
19
+ completed: number;
20
+ pending: number;
21
+ errors: string[];
22
+ }
23
+ export declare function initializeIndexOutboxSchema(db: any): void;
24
+ /**
25
+ * Keeps Redis and Qdrant as rebuildable projections of canonical SQLite rows.
26
+ * Enqueue methods are synchronous so callers can include them in a SQLite
27
+ * transaction. Draining is best-effort and may be retried safely.
28
+ */
29
+ export declare class IndexOutboxProcessor {
30
+ private readonly db;
31
+ private readonly dependencies;
32
+ private activeDrain?;
33
+ private readonly desiredQdrantProjection;
34
+ private readonly desiredRedisProjection;
35
+ constructor(db: any, dependencies: {
36
+ embeddingClient?: EmbeddingClient;
37
+ hybridSearch?: HybridSearchEngine;
38
+ workingMemory?: WorkingMemoryLayer;
39
+ projectionConfig?: {
40
+ qdrant: boolean;
41
+ redis: boolean;
42
+ };
43
+ });
44
+ enqueue(mutation: IndexMutation): void;
45
+ getState(memoryId: string): IndexState;
46
+ getPendingCount(): number;
47
+ drain(limit?: number): Promise<IndexDrainStats>;
48
+ private performDrain;
49
+ }
50
+ //# sourceMappingURL=index-outbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-outbox.d.ts","sourceRoot":"","sources":["../../src/retrieval/index-outbox.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,QAAQ,CAAC;AACjD,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;AAE/C,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,cAAc,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAkBD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,wBAAgB,2BAA2B,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI,CA8BzD;AAED;;;;GAIG;AACH,qBAAa,oBAAoB;IAM7B,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAN/B,OAAO,CAAC,WAAW,CAAC,CAA2B;IAC/C,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAU;IAClD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAU;gBAG9B,EAAE,EAAE,GAAG,EACP,YAAY,EAAE;QAC7B,eAAe,CAAC,EAAE,eAAe,CAAC;QAClC,YAAY,CAAC,EAAE,kBAAkB,CAAC;QAClC,aAAa,CAAC,EAAE,kBAAkB,CAAC;QACnC,gBAAgB,CAAC,EAAE;YAAE,MAAM,EAAE,OAAO,CAAC;YAAC,KAAK,EAAE,OAAO,CAAA;SAAE,CAAC;KACxD;IASH,OAAO,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAmDtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU;IAKtC,eAAe,IAAI,MAAM;IAOzB,KAAK,CAAC,KAAK,GAAE,MAAY,GAAG,OAAO,CAAC,eAAe,CAAC;YAStC,YAAY;CAyH3B"}