@cogitator-ai/memory 0.6.22 → 0.8.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.
- package/README.md +58 -5
- package/dist/adapters/base.d.ts +6 -0
- package/dist/adapters/base.d.ts.map +1 -1
- package/dist/adapters/base.js +19 -0
- package/dist/adapters/base.js.map +1 -1
- package/dist/adapters/memory-embedding.d.ts.map +1 -1
- package/dist/adapters/memory-embedding.js +16 -2
- package/dist/adapters/memory-embedding.js.map +1 -1
- package/dist/adapters/memory.js +10 -11
- package/dist/adapters/memory.js.map +1 -1
- package/dist/adapters/mongodb.d.ts.map +1 -1
- package/dist/adapters/mongodb.js +12 -20
- package/dist/adapters/mongodb.js.map +1 -1
- package/dist/adapters/postgres.d.ts +5 -0
- package/dist/adapters/postgres.d.ts.map +1 -1
- package/dist/adapters/postgres.js +42 -12
- package/dist/adapters/postgres.js.map +1 -1
- package/dist/adapters/qdrant.js +2 -2
- package/dist/adapters/qdrant.js.map +1 -1
- package/dist/adapters/redis.d.ts +7 -0
- package/dist/adapters/redis.d.ts.map +1 -1
- package/dist/adapters/redis.js +132 -107
- package/dist/adapters/redis.js.map +1 -1
- package/dist/adapters/sqlite.d.ts.map +1 -1
- package/dist/adapters/sqlite.js +9 -4
- package/dist/adapters/sqlite.js.map +1 -1
- package/dist/compaction.d.ts +5 -1
- package/dist/compaction.d.ts.map +1 -1
- package/dist/compaction.js +29 -4
- package/dist/compaction.js.map +1 -1
- package/dist/context-builder.d.ts +10 -0
- package/dist/context-builder.d.ts.map +1 -1
- package/dist/context-builder.js +96 -42
- package/dist/context-builder.js.map +1 -1
- package/dist/core-facts.d.ts.map +1 -1
- package/dist/core-facts.js +18 -5
- package/dist/core-facts.js.map +1 -1
- package/dist/embedding/retry.d.ts +4 -0
- package/dist/embedding/retry.d.ts.map +1 -1
- package/dist/embedding/retry.js +40 -7
- package/dist/embedding/retry.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/knowledge-graph/graph-adapter.js +2 -2
- package/dist/knowledge-graph/graph-adapter.js.map +1 -1
- package/dist/knowledge-graph/sqlite-graph-adapter.d.ts.map +1 -1
- package/dist/knowledge-graph/sqlite-graph-adapter.js +1 -1
- package/dist/knowledge-graph/sqlite-graph-adapter.js.map +1 -1
- package/dist/session-manager.d.ts +22 -2
- package/dist/session-manager.d.ts.map +1 -1
- package/dist/session-manager.js +69 -27
- package/dist/session-manager.js.map +1 -1
- package/package.json +23 -21
package/dist/compaction.js
CHANGED
|
@@ -7,7 +7,10 @@ export class CompactionService {
|
|
|
7
7
|
this.summarize = config.summarize;
|
|
8
8
|
}
|
|
9
9
|
async compact(sessionId, config) {
|
|
10
|
-
const entriesResult = await this.adapter.getEntries({
|
|
10
|
+
const entriesResult = await this.adapter.getEntries({
|
|
11
|
+
threadId: sessionId,
|
|
12
|
+
includeToolCalls: true,
|
|
13
|
+
});
|
|
11
14
|
if (!entriesResult.success) {
|
|
12
15
|
throw new Error(`Failed to load entries: ${entriesResult.error}`);
|
|
13
16
|
}
|
|
@@ -33,18 +36,39 @@ export class CompactionService {
|
|
|
33
36
|
const strategy = strategies[config.strategy];
|
|
34
37
|
return strategy(this, sessionId, sorted, config);
|
|
35
38
|
}
|
|
36
|
-
|
|
39
|
+
/**
|
|
40
|
+
* Replace `entriesToRemove` with a summary entry placed before `entriesToKeep`: kept entries
|
|
41
|
+
* are re-appended after the summary so the conversation order stays summary → recent messages.
|
|
42
|
+
*/
|
|
43
|
+
async applySummary(sessionId, entriesToRemove, summary, entriesToKeep = []) {
|
|
37
44
|
const summaryMessage = {
|
|
38
45
|
role: 'system',
|
|
39
46
|
content: `[Conversation summary]\n${summary}`,
|
|
40
47
|
};
|
|
41
48
|
const summaryTokens = countMessagesTokens([summaryMessage]);
|
|
42
|
-
await this.adapter.addEntry({
|
|
49
|
+
const added = await this.adapter.addEntry({
|
|
43
50
|
threadId: sessionId,
|
|
44
51
|
message: summaryMessage,
|
|
45
52
|
tokenCount: summaryTokens,
|
|
46
53
|
metadata: { compactionSummary: true, compactedAt: new Date().toISOString() },
|
|
47
54
|
});
|
|
55
|
+
if (!added.success) {
|
|
56
|
+
throw new Error(`Failed to store compaction summary: ${added.error}`);
|
|
57
|
+
}
|
|
58
|
+
for (const entry of entriesToKeep) {
|
|
59
|
+
const readded = await this.adapter.addEntry({
|
|
60
|
+
threadId: entry.threadId,
|
|
61
|
+
message: entry.message,
|
|
62
|
+
toolCalls: entry.toolCalls,
|
|
63
|
+
toolResults: entry.toolResults,
|
|
64
|
+
tokenCount: entry.tokenCount,
|
|
65
|
+
metadata: entry.metadata,
|
|
66
|
+
});
|
|
67
|
+
if (!readded.success) {
|
|
68
|
+
throw new Error(`Failed to reorder entries after compaction: ${readded.error}`);
|
|
69
|
+
}
|
|
70
|
+
await this.adapter.deleteEntry(entry.id);
|
|
71
|
+
}
|
|
48
72
|
for (const entry of entriesToRemove) {
|
|
49
73
|
await this.adapter.deleteEntry(entry.id);
|
|
50
74
|
}
|
|
@@ -60,9 +84,10 @@ export class CompactionService {
|
|
|
60
84
|
const summaryStrategy = async (service, sessionId, entries, config) => {
|
|
61
85
|
const splitAt = entries.length - config.keepRecent;
|
|
62
86
|
const oldEntries = entries.slice(0, splitAt);
|
|
87
|
+
const recentEntries = entries.slice(splitAt);
|
|
63
88
|
const oldMessages = oldEntries.map((e) => e.message);
|
|
64
89
|
const summary = await service.getSummarizeFn()(oldMessages);
|
|
65
|
-
const summaryTokens = await service.applySummary(sessionId, oldEntries, summary);
|
|
90
|
+
const summaryTokens = await service.applySummary(sessionId, oldEntries, summary, recentEntries);
|
|
66
91
|
return {
|
|
67
92
|
sessionId,
|
|
68
93
|
originalMessages: entries.length,
|
package/dist/compaction.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compaction.js","sourceRoot":"","sources":["../src/compaction.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAStD,MAAM,OAAO,iBAAiB;IACX,OAAO,CAAgB;IACvB,SAAS,CAAc;IAExC,YAAY,MAA+B;QACzC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,SAAiB,EAAE,MAAwB;QACvD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"compaction.js","sourceRoot":"","sources":["../src/compaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,16 @@ export declare class ContextBuilder {
|
|
|
24
24
|
constructor(config: ContextBuilderConfig, deps: ContextBuilderDeps);
|
|
25
25
|
build(options: BuildContextOptions): Promise<BuiltContext>;
|
|
26
26
|
private selectRecentEntries;
|
|
27
|
+
/**
|
|
28
|
+
* Entries most similar to the current input that fit the budget, in conversation order.
|
|
29
|
+
* Falls back to the most recent entries when there is no input or embedding service.
|
|
30
|
+
*/
|
|
31
|
+
private selectRelevantEntries;
|
|
32
|
+
/**
|
|
33
|
+
* Similarity of user/assistant text entries to the input, best first. Returns null when
|
|
34
|
+
* embedding fails.
|
|
35
|
+
*/
|
|
36
|
+
private scoreEntries;
|
|
27
37
|
private selectHybridEntries;
|
|
28
38
|
private cosineSimilarity;
|
|
29
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-builder.d.ts","sourceRoot":"","sources":["../src/context-builder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAMV,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"context-builder.d.ts","sourceRoot":"","sources":["../src/context-builder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAMV,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAcnF,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,IAAI,CAAqB;gBAErB,MAAM,EAAE,oBAAoB,EAAE,IAAI,EAAE,kBAAkB;IAe5D,KAAK,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,YAAY,CAAC;IA+NhE,OAAO,CAAC,mBAAmB;IAiB3B;;;OAGG;YACW,qBAAqB;IA0BnC;;;OAGG;YACW,YAAY;YAoCZ,mBAAmB;IAkCjC,OAAO,CAAC,gBAAgB;CAgBzB"}
|
package/dist/context-builder.js
CHANGED
|
@@ -4,6 +4,15 @@
|
|
|
4
4
|
* Builds conversation context from memory while respecting token limits.
|
|
5
5
|
*/
|
|
6
6
|
import { countMessageTokens, countTokens } from './token-counter.js';
|
|
7
|
+
const SEMANTIC_RESULTS = 5;
|
|
8
|
+
/**
|
|
9
|
+
* Embeddings scoped to another agent (`metadata.agentId`) are never injected; unscoped
|
|
10
|
+
* embeddings (shared documents) are visible to every agent.
|
|
11
|
+
*/
|
|
12
|
+
function isVisibleToAgent(embedding, agentId) {
|
|
13
|
+
const owner = embedding.metadata?.agentId;
|
|
14
|
+
return owner === undefined || owner === null || owner === agentId;
|
|
15
|
+
}
|
|
7
16
|
export class ContextBuilder {
|
|
8
17
|
config;
|
|
9
18
|
deps;
|
|
@@ -75,11 +84,19 @@ export class ContextBuilder {
|
|
|
75
84
|
this.deps.embeddingService &&
|
|
76
85
|
options.currentInput) {
|
|
77
86
|
const vector = await this.deps.embeddingService.embed(options.currentInput);
|
|
78
|
-
const
|
|
87
|
+
const rawResult = await this.deps.embeddingAdapter.search({
|
|
79
88
|
vector,
|
|
80
|
-
limit:
|
|
89
|
+
limit: SEMANTIC_RESULTS * 4,
|
|
81
90
|
threshold: 0.7,
|
|
82
91
|
});
|
|
92
|
+
const searchResult = rawResult.success
|
|
93
|
+
? {
|
|
94
|
+
...rawResult,
|
|
95
|
+
data: rawResult.data
|
|
96
|
+
.filter((r) => isVisibleToAgent(r, options.agentId))
|
|
97
|
+
.slice(0, SEMANTIC_RESULTS),
|
|
98
|
+
}
|
|
99
|
+
: rawResult;
|
|
83
100
|
if (searchResult.success) {
|
|
84
101
|
const semanticTokenBudget = Math.floor(availableTokens * 0.1);
|
|
85
102
|
let semanticTokens = 0;
|
|
@@ -166,7 +183,12 @@ export class ContextBuilder {
|
|
|
166
183
|
}
|
|
167
184
|
}
|
|
168
185
|
else if (this.config.strategy === 'relevant') {
|
|
169
|
-
|
|
186
|
+
const selectedEntries = await this.selectRelevantEntries(entries, availableTokens - usedTokens, options.currentInput);
|
|
187
|
+
truncated = selectedEntries.length < entries.length;
|
|
188
|
+
for (const entry of selectedEntries) {
|
|
189
|
+
messages.push(entry.message);
|
|
190
|
+
usedTokens += entry.tokenCount;
|
|
191
|
+
}
|
|
170
192
|
}
|
|
171
193
|
else if (this.config.strategy === 'hybrid') {
|
|
172
194
|
const selectedEntries = await this.selectHybridEntries(entries, availableTokens - usedTokens, options.currentInput);
|
|
@@ -209,51 +231,83 @@ export class ContextBuilder {
|
|
|
209
231
|
}
|
|
210
232
|
return selected;
|
|
211
233
|
}
|
|
234
|
+
/**
|
|
235
|
+
* Entries most similar to the current input that fit the budget, in conversation order.
|
|
236
|
+
* Falls back to the most recent entries when there is no input or embedding service.
|
|
237
|
+
*/
|
|
238
|
+
async selectRelevantEntries(entries, availableTokens, currentInput) {
|
|
239
|
+
if (!currentInput || !this.deps.embeddingService) {
|
|
240
|
+
return this.selectRecentEntries(entries, availableTokens);
|
|
241
|
+
}
|
|
242
|
+
const scored = await this.scoreEntries(entries, currentInput, 0);
|
|
243
|
+
if (scored === null) {
|
|
244
|
+
return this.selectRecentEntries(entries, availableTokens);
|
|
245
|
+
}
|
|
246
|
+
const selectedIds = new Set();
|
|
247
|
+
let usedTokens = 0;
|
|
248
|
+
for (const { entry } of scored) {
|
|
249
|
+
if (usedTokens + entry.tokenCount <= availableTokens) {
|
|
250
|
+
selectedIds.add(entry.id);
|
|
251
|
+
usedTokens += entry.tokenCount;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
return entries.filter((e) => selectedIds.has(e.id));
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Similarity of user/assistant text entries to the input, best first. Returns null when
|
|
258
|
+
* embedding fails.
|
|
259
|
+
*/
|
|
260
|
+
async scoreEntries(entries, input, minScore) {
|
|
261
|
+
const embeddingService = this.deps.embeddingService;
|
|
262
|
+
if (!embeddingService)
|
|
263
|
+
return null;
|
|
264
|
+
const embeddable = [];
|
|
265
|
+
for (const entry of entries) {
|
|
266
|
+
if (entry.message.role !== 'user' && entry.message.role !== 'assistant')
|
|
267
|
+
continue;
|
|
268
|
+
const content = entry.message.content;
|
|
269
|
+
if (typeof content === 'string' && content.trim().length > 0) {
|
|
270
|
+
embeddable.push({ entry, text: content });
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
if (embeddable.length === 0)
|
|
274
|
+
return [];
|
|
275
|
+
try {
|
|
276
|
+
const [inputVector, vectors] = await Promise.all([
|
|
277
|
+
embeddingService.embed(input),
|
|
278
|
+
embeddingService.embedBatch(embeddable.map((e) => e.text)),
|
|
279
|
+
]);
|
|
280
|
+
return embeddable
|
|
281
|
+
.map(({ entry }, i) => ({ entry, score: this.cosineSimilarity(inputVector, vectors[i]) }))
|
|
282
|
+
.filter((s) => s.score > minScore)
|
|
283
|
+
.sort((a, b) => b.score - a.score);
|
|
284
|
+
}
|
|
285
|
+
catch (err) {
|
|
286
|
+
console.warn('Embedding failed for context entries', err instanceof Error ? err.message : err);
|
|
287
|
+
return null;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
212
290
|
async selectHybridEntries(entries, availableTokens, currentInput) {
|
|
291
|
+
if (!currentInput || !this.deps.embeddingService || entries.length <= 10) {
|
|
292
|
+
return this.selectRecentEntries(entries, availableTokens);
|
|
293
|
+
}
|
|
213
294
|
const semanticBudget = Math.floor(availableTokens * 0.3);
|
|
214
|
-
const recentBudget = availableTokens - semanticBudget;
|
|
215
|
-
const selected = [];
|
|
216
295
|
const usedIds = new Set();
|
|
217
296
|
let usedTokens = 0;
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
if (typeof content === 'string' && content.length > 20) {
|
|
227
|
-
embeddable.push({ entry, text: content });
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
if (embeddable.length > 0) {
|
|
232
|
-
try {
|
|
233
|
-
const vectors = await this.deps.embeddingService.embedBatch(embeddable.map((e) => e.text));
|
|
234
|
-
for (let i = 0; i < embeddable.length; i++) {
|
|
235
|
-
const score = this.cosineSimilarity(inputVector, vectors[i]);
|
|
236
|
-
if (score > 0.6) {
|
|
237
|
-
scoredEntries.push({ entry: embeddable[i].entry, score });
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
catch (err) {
|
|
242
|
-
console.warn('Embedding failed for context entry', err instanceof Error ? err.message : err);
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
scoredEntries.sort((a, b) => b.score - a.score);
|
|
246
|
-
for (const { entry } of scoredEntries) {
|
|
247
|
-
if (usedTokens + entry.tokenCount <= semanticBudget) {
|
|
248
|
-
selected.push(entry);
|
|
249
|
-
usedIds.add(entry.id);
|
|
250
|
-
usedTokens += entry.tokenCount;
|
|
251
|
-
}
|
|
297
|
+
const olderEntries = entries
|
|
298
|
+
.slice(0, -10)
|
|
299
|
+
.filter((e) => typeof e.message.content !== 'string' || e.message.content.length > 20);
|
|
300
|
+
const scoredEntries = (await this.scoreEntries(olderEntries, currentInput, 0.6)) ?? [];
|
|
301
|
+
for (const { entry } of scoredEntries) {
|
|
302
|
+
if (usedTokens + entry.tokenCount <= semanticBudget) {
|
|
303
|
+
usedIds.add(entry.id);
|
|
304
|
+
usedTokens += entry.tokenCount;
|
|
252
305
|
}
|
|
253
306
|
}
|
|
254
|
-
const recentEntries = this.selectRecentEntries(entries.filter((e) => !usedIds.has(e.id)),
|
|
255
|
-
const
|
|
256
|
-
|
|
307
|
+
const recentEntries = this.selectRecentEntries(entries.filter((e) => !usedIds.has(e.id)), availableTokens - usedTokens);
|
|
308
|
+
for (const entry of recentEntries)
|
|
309
|
+
usedIds.add(entry.id);
|
|
310
|
+
return entries.filter((e) => usedIds.has(e.id));
|
|
257
311
|
}
|
|
258
312
|
cosineSimilarity(a, b) {
|
|
259
313
|
if (a.length !== b.length)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-builder.js","sourceRoot":"","sources":["../src/context-builder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"context-builder.js","sourceRoot":"","sources":["../src/context-builder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAgBH,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAElE,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAE3B;;;GAGG;AACH,SAAS,gBAAgB,CAAC,SAAoB,EAAE,OAAe;IAC7D,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC1C,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,OAAO,CAAC;AACpE,CAAC;AAiBD,MAAM,OAAO,cAAc;IACjB,MAAM,CAAiC;IACvC,IAAI,CAAqB;IAEjC,YAAY,MAA4B,EAAE,IAAwB;QAChE,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC,MAAM,GAAG;YACZ,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,cAAc;YACrD,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,IAAI,IAAI;YACvD,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,KAAK;YAC1C,sBAAsB,EAAE,MAAM,CAAC,sBAAsB,IAAI,KAAK;YAC9D,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,IAAI,KAAK;YACxD,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,IAAI,EAAE;SACtD,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAA4B;QACtC,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;QAC1E,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,sBAAsB,GAAG,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAc,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAW,EAAE,CAAC;QACzB,MAAM,eAAe,GAAsC,EAAE,CAAC;QAC9D,IAAI,YAAsC,CAAC;QAE3C,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YAC5D,MAAM,SAAS,GAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;YAC7E,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAC7C,IAAI,UAAU,GAAG,MAAM,IAAI,eAAe,EAAE,CAAC;gBAC3C,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACzB,UAAU,IAAI,MAAM,CAAC;gBACrB,sBAAsB,EAAE,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC1E,IAAI,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvD,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC;gBAC1D,IAAI,UAAU,GAAG,CAAC,CAAC;gBAEnB,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;oBACpC,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;oBAChD,IAAI,UAAU,GAAG,MAAM,IAAI,eAAe,EAAE,CAAC;wBAC3C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACjB,UAAU,IAAI,MAAM,CAAC;oBACvB,CAAC;gBACH,CAAC;gBAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrB,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC/D,MAAM,cAAc,GAAG,iBAAiB,QAAQ,EAAE,CAAC;oBACnD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBACzD,QAAQ,CAAC,CAAC,CAAC,GAAG;4BACZ,GAAG,QAAQ,CAAC,CAAC,CAAC;4BACd,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,OAAO,cAAc,EAAE;yBACvD,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,QAAQ,CAAC,OAAO,CAAC;4BACf,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,cAAc;yBACxB,CAAC,CAAC;wBACH,sBAAsB,EAAE,CAAC;oBAC3B,CAAC;oBACD,UAAU,IAAI,WAAW,CAAC,cAAc,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC;QAED,IACE,IAAI,CAAC,MAAM,CAAC,sBAAsB;YAClC,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAC1B,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAC1B,OAAO,CAAC,YAAY,EACpB,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC5E,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;gBACxD,MAAM;gBACN,KAAK,EAAE,gBAAgB,GAAG,CAAC;gBAC3B,SAAS,EAAE,GAAG;aACf,CAAC,CAAC;YACH,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO;gBACpC,CAAC,CAAC;oBACE,GAAG,SAAS;oBACZ,IAAI,EAAE,SAAS,CAAC,IAAI;yBACjB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;yBACnD,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC;iBAC9B;gBACH,CAAC,CAAC,SAAS,CAAC;YAEd,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;gBACzB,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC;gBAC9D,IAAI,cAAc,GAAG,CAAC,CAAC;gBAEvB,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC;oBACvC,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAC3C,IAAI,cAAc,GAAG,MAAM,IAAI,mBAAmB,EAAE,CAAC;wBACnD,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC7B,cAAc,IAAI,MAAM,CAAC;oBAC3B,CAAC;gBACH,CAAC;gBAED,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/B,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC3E,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBACzD,QAAQ,CAAC,CAAC,CAAC,GAAG;4BACZ,GAAG,QAAQ,CAAC,CAAC,CAAC;4BACd,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,0BAA0B,UAAU,EAAE;yBACtE,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,QAAQ,CAAC,OAAO,CAAC;4BACf,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,sBAAsB,UAAU,EAAE;yBAC5C,CAAC,CAAC;wBACH,sBAAsB,EAAE,CAAC;oBAC3B,CAAC;oBACD,UAAU,IAAI,cAAc,CAAC;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YAC7F,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,YAAY,CACzD,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,YAAY,EACpB,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAChC,CAAC;YAEF,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;gBAC5D,IAAI,EAAE,CAAC,UAAU,IAAI,gBAAgB,EAAE,CAAC;oBACtC,YAAY,GAAG,EAAE,CAAC;gBACpB,CAAC;qBAAM,CAAC;oBACN,MAAM,KAAK,GAAG,gBAAgB,GAAG,EAAE,CAAC,UAAU,CAAC;oBAC/C,MAAM,YAAY,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACzF,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC9D,MAAM,YAAY,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAClC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAChF,CAAC;oBACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAC9D,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,YAAY,EACpB;wBACE,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB;wBAClC,QAAQ,EAAE,YAAY,CAAC,MAAM;wBAC7B,QAAQ,EAAE,YAAY,CAAC,MAAM;qBAC9B,CACF,CAAC;oBACF,IAAI,OAAO,CAAC,UAAU,IAAI,gBAAgB,EAAE,CAAC;wBAC3C,YAAY,GAAG,OAAO,CAAC;oBACzB,CAAC;gBACH,CAAC;gBAED,IAAI,YAAY,EAAE,gBAAgB,EAAE,CAAC;oBACnC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBACzD,QAAQ,CAAC,CAAC,CAAC,GAAG;4BACZ,GAAG,QAAQ,CAAC,CAAC,CAAC;4BACd,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,OAAO,YAAY,CAAC,gBAAgB,EAAE;yBACtE,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,QAAQ,CAAC,OAAO,CAAC;4BACf,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,YAAY,CAAC,gBAAgB;yBACvC,CAAC,CAAC;wBACH,sBAAsB,EAAE,CAAC;oBAC3B,CAAC;oBACD,UAAU,IAAI,YAAY,CAAC,UAAU,CAAC;gBACxC,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC;YAC7D,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;QAEH,IAAI,oBAAoB,GAAG,CAAC,CAAC;QAC7B,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC;YACnC,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;YAEtC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACtC,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,eAAe,GAAG,UAAU,CAAC,CAAC;gBAExF,SAAS,GAAG,eAAe,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;gBAEpD,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;oBACpC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAC7B,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC;gBACjC,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;gBAC/C,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,qBAAqB,CACtD,OAAO,EACP,eAAe,GAAG,UAAU,EAC5B,OAAO,CAAC,YAAY,CACrB,CAAC;gBAEF,SAAS,GAAG,eAAe,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;gBAEpD,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;oBACpC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAC7B,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC;gBACjC,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC7C,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,mBAAmB,CACpD,OAAO,EACP,eAAe,GAAG,UAAU,EAC5B,OAAO,CAAC,YAAY,CACrB,CAAC;gBAEF,SAAS,GAAG,eAAe,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;gBAEpD,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;oBACpC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAC7B,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC;gBACjC,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,QAAQ;YACR,KAAK;YACL,eAAe;YACf,YAAY;YACZ,UAAU,EAAE,UAAU;YACtB,SAAS;YACT,QAAQ,EAAE;gBACR,oBAAoB;gBACpB,oBAAoB,EAAE,QAAQ,CAAC,MAAM,GAAG,sBAAsB;gBAC9D,aAAa,EAAE,KAAK,CAAC,MAAM;gBAC3B,uBAAuB,EAAE,eAAe,CAAC,MAAM;gBAC/C,kBAAkB,EAAE,YAAY,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC;gBACnD,kBAAkB,EAAE,YAAY,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC;aACpD;SACF,CAAC;IACJ,CAAC;IAEO,mBAAmB,CAAC,OAAsB,EAAE,eAAuB;QACzE,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAkB,EAAE,CAAC;QACnC,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,IAAI,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,eAAe,EAAE,CAAC;gBACrD,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACxB,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,SAAS;YACX,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,qBAAqB,CACjC,OAAsB,EACtB,eAAuB,EACvB,YAAqB;QAErB,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;QACjE,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QACtC,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,KAAK,MAAM,EAAE,KAAK,EAAE,IAAI,MAAM,EAAE,CAAC;YAC/B,IAAI,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,eAAe,EAAE,CAAC;gBACrD,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC1B,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC;YACjC,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,YAAY,CACxB,OAAsB,EACtB,KAAa,EACb,QAAgB;QAEhB,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;QACpD,IAAI,CAAC,gBAAgB;YAAE,OAAO,IAAI,CAAC;QAEnC,MAAM,UAAU,GAA2C,EAAE,CAAC;QAC9D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW;gBAAE,SAAS;YAClF,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YACtC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7D,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEvC,IAAI,CAAC;YACH,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC/C,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC;gBAC7B,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aAC3D,CAAC,CAAC;YACH,OAAO,UAAU;iBACd,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACzF,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC;iBACjC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CACV,sCAAsC,EACtC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CACzC,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,OAAsB,EACtB,eAAuB,EACvB,YAAqB;QAErB,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,OAAO,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;YACzE,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,MAAM,YAAY,GAAG,OAAO;aACzB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;aACb,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QACzF,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAEvF,KAAK,MAAM,EAAE,KAAK,EAAE,IAAI,aAAa,EAAE,CAAC;YACtC,IAAI,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,cAAc,EAAE,CAAC;gBACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACtB,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC;YACjC,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAC5C,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EACzC,eAAe,GAAG,UAAU,CAC7B,CAAC;QACF,KAAK,MAAM,KAAK,IAAI,aAAa;YAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAEzD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClD,CAAC;IAEO,gBAAgB,CAAC,CAAW,EAAE,CAAW;QAC/C,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;YAAE,OAAO,CAAC,CAAC;QAEpC,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1B,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACrB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtD,OAAO,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,SAAS,CAAC;IACtD,CAAC;CACF"}
|
package/dist/core-facts.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-facts.d.ts","sourceRoot":"","sources":["../src/core-facts.ts"],"names":[],"mappings":"AAAA,UAAU,QAAQ;IAChB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,IAAI,IAAI,CAAC;IACd,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;CACjC;AAED,UAAU,SAAS;IACjB,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACjF,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IACnC,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;CACtC;AAeD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,IAAI,CAAC;CACb;AAED,MAAM,MAAM,oBAAoB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,KAAK,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,QAAQ,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAEjG,qBAAa,cAAc;IACzB,OAAO,CAAC,EAAE,CAAyB;IACnC,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,IAAI,CAAgB;IAC5B,OAAO,CAAC,WAAW,CAAS;gBAEhB,MAAM,EAAE,oBAAoB;IAWlC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"core-facts.d.ts","sourceRoot":"","sources":["../src/core-facts.ts"],"names":[],"mappings":"AAAA,UAAU,QAAQ;IAChB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,IAAI,IAAI,CAAC;IACd,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;CACjC;AAED,UAAU,SAAS;IACjB,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACjF,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IACnC,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;CACtC;AAeD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,IAAI,CAAC;CACb;AAED,MAAM,MAAM,oBAAoB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,KAAK,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,QAAQ,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAEjG,qBAAa,cAAc;IACzB,OAAO,CAAC,EAAE,CAAyB;IACnC,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,IAAI,CAAgB;IAC5B,OAAO,CAAC,WAAW,CAAS;gBAEhB,MAAM,EAAE,oBAAoB;IAWlC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAoC3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B,OAAO,CAAC,QAAQ;IAKV,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB9C,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAOxC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAUzC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAWpD,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;CAMzC"}
|
package/dist/core-facts.js
CHANGED
|
@@ -21,8 +21,13 @@ export class CoreFactsStore {
|
|
|
21
21
|
if (!this.path)
|
|
22
22
|
throw new Error('No database path configured');
|
|
23
23
|
let DatabaseCtor;
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
try {
|
|
25
|
+
const betterSqlite = await import('better-sqlite3');
|
|
26
|
+
DatabaseCtor = betterSqlite.default;
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
throw new Error('better-sqlite3 not installed. Run: pnpm add better-sqlite3');
|
|
30
|
+
}
|
|
26
31
|
this.db = new DatabaseCtor(this.path);
|
|
27
32
|
if (this.path !== ':memory:') {
|
|
28
33
|
this.db.pragma('journal_mode = WAL');
|
|
@@ -58,9 +63,17 @@ export class CoreFactsStore {
|
|
|
58
63
|
async set(key, value) {
|
|
59
64
|
const db = this.ensureDb();
|
|
60
65
|
const now = new Date().toISOString();
|
|
61
|
-
db.
|
|
62
|
-
|
|
63
|
-
|
|
66
|
+
db.exec('BEGIN');
|
|
67
|
+
try {
|
|
68
|
+
db.prepare(`INSERT INTO core_facts (key, value, updated_at) VALUES (?, ?, ?)
|
|
69
|
+
ON CONFLICT(key) DO UPDATE SET value = excluded.value, updated_at = excluded.updated_at`).run(key, value, now);
|
|
70
|
+
db.prepare(`INSERT INTO core_facts_history (key, value, set_at) VALUES (?, ?, ?)`).run(key, value, now);
|
|
71
|
+
db.exec('COMMIT');
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
db.exec('ROLLBACK');
|
|
75
|
+
throw error;
|
|
76
|
+
}
|
|
64
77
|
}
|
|
65
78
|
async get(key) {
|
|
66
79
|
const db = this.ensureDb();
|
package/dist/core-facts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-facts.js","sourceRoot":"","sources":["../src/core-facts.ts"],"names":[],"mappings":"AAiCA,MAAM,OAAO,cAAc;IACjB,EAAE,GAAoB,IAAI,CAAC;IAC3B,MAAM,CAAU;IAChB,IAAI,CAAgB;IACpB,WAAW,GAAG,KAAK,CAAC;IAE5B,YAAY,MAA4B;QACtC,IAAI,IAAI,IAAI,MAAM,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;YAChC,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAE7B,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAC/D,IAAI,YAA4C,CAAC;YACjD,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"core-facts.js","sourceRoot":"","sources":["../src/core-facts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fetch with a per-attempt timeout, retrying transient HTTP statuses and network/timeout
|
|
3
|
+
* errors with exponential backoff (honouring `Retry-After`).
|
|
4
|
+
*/
|
|
1
5
|
export declare function fetchWithRetry(input: string, init?: RequestInit): Promise<Response>;
|
|
2
6
|
//# sourceMappingURL=retry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/embedding/retry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/embedding/retry.ts"],"names":[],"mappings":"AAuBA;;;GAGG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,CA+B7F"}
|
package/dist/embedding/retry.js
CHANGED
|
@@ -1,22 +1,55 @@
|
|
|
1
|
-
const RETRYABLE_STATUSES = new Set([429, 500, 502, 503]);
|
|
1
|
+
const RETRYABLE_STATUSES = new Set([408, 429, 500, 502, 503, 504]);
|
|
2
2
|
const MAX_RETRIES = 3;
|
|
3
3
|
const BASE_DELAY_MS = 1000;
|
|
4
|
+
const MAX_RETRY_AFTER_MS = 30_000;
|
|
4
5
|
const TIMEOUT_MS = 30_000;
|
|
5
6
|
function sleep(ms) {
|
|
6
7
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
7
8
|
}
|
|
9
|
+
/**
|
|
10
|
+
* Delay requested by a `Retry-After` header (seconds or HTTP date), capped.
|
|
11
|
+
*/
|
|
12
|
+
function retryAfterMs(response) {
|
|
13
|
+
const header = response.headers.get('retry-after');
|
|
14
|
+
if (!header)
|
|
15
|
+
return undefined;
|
|
16
|
+
const seconds = Number(header);
|
|
17
|
+
const ms = Number.isFinite(seconds) ? seconds * 1000 : Date.parse(header) - Date.now();
|
|
18
|
+
if (!Number.isFinite(ms) || ms < 0)
|
|
19
|
+
return undefined;
|
|
20
|
+
return Math.min(ms, MAX_RETRY_AFTER_MS);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Fetch with a per-attempt timeout, retrying transient HTTP statuses and network/timeout
|
|
24
|
+
* errors with exponential backoff (honouring `Retry-After`).
|
|
25
|
+
*/
|
|
8
26
|
export async function fetchWithRetry(input, init = {}) {
|
|
27
|
+
let lastError;
|
|
9
28
|
for (let attempt = 0; attempt <= MAX_RETRIES; attempt++) {
|
|
10
|
-
const response = await fetch(input, {
|
|
11
|
-
...init,
|
|
12
|
-
signal: AbortSignal.timeout(TIMEOUT_MS),
|
|
13
|
-
});
|
|
14
29
|
const isLastAttempt = attempt === MAX_RETRIES;
|
|
30
|
+
const backoff = BASE_DELAY_MS * 2 ** attempt;
|
|
31
|
+
let response;
|
|
32
|
+
try {
|
|
33
|
+
response = await fetch(input, {
|
|
34
|
+
...init,
|
|
35
|
+
signal: AbortSignal.timeout(TIMEOUT_MS),
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
lastError = error;
|
|
40
|
+
if (isLastAttempt)
|
|
41
|
+
break;
|
|
42
|
+
await sleep(backoff);
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
15
45
|
if (!RETRYABLE_STATUSES.has(response.status) || isLastAttempt) {
|
|
16
46
|
return response;
|
|
17
47
|
}
|
|
18
|
-
await sleep(
|
|
48
|
+
await sleep(retryAfterMs(response) ?? backoff);
|
|
19
49
|
}
|
|
20
|
-
|
|
50
|
+
const reason = lastError instanceof Error ? lastError.message : String(lastError);
|
|
51
|
+
throw new Error(`Embedding request failed after ${MAX_RETRIES + 1} attempts: ${reason}`, {
|
|
52
|
+
cause: lastError,
|
|
53
|
+
});
|
|
21
54
|
}
|
|
22
55
|
//# sourceMappingURL=retry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/embedding/retry.ts"],"names":[],"mappings":"AAAA,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/embedding/retry.ts"],"names":[],"mappings":"AAAA,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AACnE,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,aAAa,GAAG,IAAI,CAAC;AAC3B,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAClC,MAAM,UAAU,GAAG,MAAM,CAAC;AAE1B,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,QAAkB;IACtC,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACnD,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAE9B,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/B,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACrD,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC;AAC1C,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,KAAa,EAAE,OAAoB,EAAE;IACxE,IAAI,SAAkB,CAAC;IAEvB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;QACxD,MAAM,aAAa,GAAG,OAAO,KAAK,WAAW,CAAC;QAC9C,MAAM,OAAO,GAAG,aAAa,GAAG,CAAC,IAAI,OAAO,CAAC;QAE7C,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE;gBAC5B,GAAG,IAAI;gBACP,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC;aACxC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,GAAG,KAAK,CAAC;YAClB,IAAI,aAAa;gBAAE,MAAM;YACzB,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;YACrB,SAAS;QACX,CAAC;QAED,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;YAC9D,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAClF,MAAM,IAAI,KAAK,CAAC,kCAAkC,WAAW,GAAG,CAAC,cAAc,MAAM,EAAE,EAAE;QACvF,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;AACL,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export { countTokens, countMessageTokens, countMessagesTokens, truncateToTokens,
|
|
|
16
16
|
export { OpenAIEmbeddingService, OllamaEmbeddingService, GoogleEmbeddingService, createEmbeddingService, } from './embedding/index.js';
|
|
17
17
|
export { CoreFactsStore } from './core-facts.js';
|
|
18
18
|
export type { CoreFactsStoreConfig, FactHistoryEntry } from './core-facts.js';
|
|
19
|
-
export { SessionManager } from './session-manager.js';
|
|
19
|
+
export { SessionManager, type SessionManagerOptions } from './session-manager.js';
|
|
20
20
|
export { CompactionService, type SummarizeFn, type CompactionServiceConfig } from './compaction.js';
|
|
21
21
|
export { MemoryProviderSchema, InMemoryConfigSchema, RedisConfigSchema, PostgresConfigSchema, SQLiteConfigSchema, MongoDBConfigSchema, QdrantConfigSchema, MemoryAdapterConfigSchema, ContextStrategySchema, ContextBuilderConfigSchema, EmbeddingProviderSchema, OpenAIEmbeddingConfigSchema, OllamaEmbeddingConfigSchema, GoogleEmbeddingConfigSchema, EmbeddingServiceConfigSchema, } from './schema.js';
|
|
22
22
|
export { PostgresGraphAdapter, SQLiteGraphAdapter, LLMEntityExtractor, GraphInferenceEngine, GraphContextBuilder, EntityTypeSchema, RelationTypeSchema, NodeSourceSchema, GraphNodeSchema, GraphEdgeSchema, ExtractedEntitySchema, ExtractedRelationSchema, ExtractionResultSchema, NodeQuerySchema, EdgeQuerySchema, TraversalDirectionSchema, TraversalOptionsSchema, GraphSemanticSearchOptionsSchema, InferencePatternSchema, InferenceConclusionSchema, InferenceRuleSchema, KnowledgeGraphExtractionConfigSchema, KnowledgeGraphInferenceConfigSchema, KnowledgeGraphContextConfigSchema, KnowledgeGraphConfigSchema, } from './knowledge-graph/index.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,2BAA2B,GACjC,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAEvE,OAAO,EACL,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,oBAAoB,EACpB,QAAQ,EACR,gBAAgB,EAChB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,eAAe,GACrB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,cAAc,EACd,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,GACzB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,YAAY,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAE3E,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,sBAAsB,GAGvB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAEvE,OAAO,EACL,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,oBAAoB,EACpB,QAAQ,EACR,gBAAgB,GAMjB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,cAAc,GAGf,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9C,OAAO,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,sBAAsB,GAGvB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAEvE,OAAO,EACL,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,oBAAoB,EACpB,QAAQ,EACR,gBAAgB,GAMjB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,cAAc,GAGf,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9C,OAAO,EAAE,cAAc,EAA8B,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAkD,MAAM,cAAc,CAAC;AAEjG,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,yBAAyB,EACzB,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EACvB,2BAA2B,EAC3B,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,wBAAwB,EACxB,sBAAsB,EACtB,gCAAgC,EAChC,sBAAsB,EACtB,yBAAyB,EACzB,mBAAmB,EACnB,oCAAoC,EACpC,mCAAmC,EACnC,iCAAiC,EACjC,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC"}
|
|
@@ -226,7 +226,7 @@ export class PostgresGraphAdapter {
|
|
|
226
226
|
}
|
|
227
227
|
sql += ' ORDER BY access_count DESC, updated_at DESC';
|
|
228
228
|
if (query.limit) {
|
|
229
|
-
sql += ` LIMIT $${paramIndex
|
|
229
|
+
sql += ` LIMIT $${paramIndex}`;
|
|
230
230
|
params.push(query.limit);
|
|
231
231
|
}
|
|
232
232
|
const result = await this.pool.query(sql, params);
|
|
@@ -380,7 +380,7 @@ export class PostgresGraphAdapter {
|
|
|
380
380
|
}
|
|
381
381
|
sql += ' ORDER BY weight DESC, confidence DESC';
|
|
382
382
|
if (query.limit) {
|
|
383
|
-
sql += ` LIMIT $${paramIndex
|
|
383
|
+
sql += ` LIMIT $${paramIndex}`;
|
|
384
384
|
params.push(query.limit);
|
|
385
385
|
}
|
|
386
386
|
const result = await this.pool.query(sql, params);
|