agent-working-memory 0.7.8 → 0.7.10
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 +15 -1
- package/dist/api/routes.js +1 -1
- package/dist/api/routes.js.map +1 -1
- package/dist/cli.js +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/engine/activation.d.ts.map +1 -1
- package/dist/engine/activation.js +89 -61
- package/dist/engine/activation.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp.js +2 -2
- package/dist/mcp.js.map +1 -1
- package/dist/storage/sqlite.d.ts +40 -0
- package/dist/storage/sqlite.d.ts.map +1 -1
- package/dist/storage/sqlite.js +174 -0
- package/dist/storage/sqlite.js.map +1 -1
- package/package.json +1 -1
- package/src/api/routes.ts +1 -1
- package/src/cli.ts +1 -1
- package/src/engine/activation.ts +87 -65
- package/src/index.ts +1 -1
- package/src/mcp.ts +2 -2
- package/src/storage/sqlite.ts +201 -0
package/dist/storage/sqlite.js
CHANGED
|
@@ -22,6 +22,13 @@ const DEFAULT_SALIENCE_FEATURES = {
|
|
|
22
22
|
export class EngramStore {
|
|
23
23
|
db;
|
|
24
24
|
walTimer = null;
|
|
25
|
+
// Slim cache for the activation pipeline pre-filter. Populated lazily on
|
|
26
|
+
// first call to getEngramsByAgentSlim(). Mutations to engrams keep this in
|
|
27
|
+
// sync via private cache* helpers. Disable via AWM_DISABLE_SLIM_CACHE=1
|
|
28
|
+
// (for A/B testing or if a regression appears).
|
|
29
|
+
slimCache = new Map();
|
|
30
|
+
slimCachePopulated = false;
|
|
31
|
+
slimCacheEnabled = process.env.AWM_DISABLE_SLIM_CACHE !== '1';
|
|
25
32
|
constructor(dbPath = 'memory.db') {
|
|
26
33
|
this.db = new Database(dbPath);
|
|
27
34
|
this.db.pragma('journal_mode = WAL');
|
|
@@ -32,6 +39,61 @@ export class EngramStore {
|
|
|
32
39
|
this.init();
|
|
33
40
|
this.startWalCheckpointTimer();
|
|
34
41
|
}
|
|
42
|
+
// --- Slim cache management ---
|
|
43
|
+
/** Lazy-populate the slim cache from the engrams table. Called on first slim fetch. */
|
|
44
|
+
ensureSlimCachePopulated() {
|
|
45
|
+
if (this.slimCachePopulated || !this.slimCacheEnabled)
|
|
46
|
+
return;
|
|
47
|
+
const rows = this.db.prepare('SELECT id, agent_id, concept, embedding, stage, retracted FROM engrams').all();
|
|
48
|
+
for (const r of rows) {
|
|
49
|
+
this.slimCache.set(r.id, {
|
|
50
|
+
id: r.id,
|
|
51
|
+
agentId: r.agent_id,
|
|
52
|
+
concept: r.concept,
|
|
53
|
+
embedding: r.embedding ? Array.from(bufferToFloat32Array(r.embedding)) : null,
|
|
54
|
+
stage: r.stage,
|
|
55
|
+
retracted: !!r.retracted,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
this.slimCachePopulated = true;
|
|
59
|
+
}
|
|
60
|
+
/** Add a new engram to the slim cache. Called from createEngram. */
|
|
61
|
+
cacheAdd(entry) {
|
|
62
|
+
if (!this.slimCacheEnabled)
|
|
63
|
+
return;
|
|
64
|
+
this.slimCache.set(entry.id, entry);
|
|
65
|
+
}
|
|
66
|
+
cacheUpdateStage(id, stage) {
|
|
67
|
+
if (!this.slimCacheEnabled)
|
|
68
|
+
return;
|
|
69
|
+
const e = this.slimCache.get(id);
|
|
70
|
+
if (e)
|
|
71
|
+
e.stage = stage;
|
|
72
|
+
}
|
|
73
|
+
cacheUpdateEmbedding(id, embedding) {
|
|
74
|
+
if (!this.slimCacheEnabled)
|
|
75
|
+
return;
|
|
76
|
+
const e = this.slimCache.get(id);
|
|
77
|
+
if (e)
|
|
78
|
+
e.embedding = embedding;
|
|
79
|
+
}
|
|
80
|
+
cacheRetract(id) {
|
|
81
|
+
if (!this.slimCacheEnabled)
|
|
82
|
+
return;
|
|
83
|
+
const e = this.slimCache.get(id);
|
|
84
|
+
if (e)
|
|
85
|
+
e.retracted = true;
|
|
86
|
+
}
|
|
87
|
+
cacheRemove(id) {
|
|
88
|
+
if (!this.slimCacheEnabled)
|
|
89
|
+
return;
|
|
90
|
+
this.slimCache.delete(id);
|
|
91
|
+
}
|
|
92
|
+
/** Reset cache (used by tests + after timeWarp/bulk operations). */
|
|
93
|
+
resetSlimCache() {
|
|
94
|
+
this.slimCache.clear();
|
|
95
|
+
this.slimCachePopulated = false;
|
|
96
|
+
}
|
|
35
97
|
/** Expose the raw database handle for the coordination module. */
|
|
36
98
|
getDb() {
|
|
37
99
|
return this.db;
|
|
@@ -270,6 +332,17 @@ export class EngramStore {
|
|
|
270
332
|
ttl, memory_class, supersedes, task_status, task_priority, blocked_by, memory_type)
|
|
271
333
|
VALUES (?, ?, ?, ?, ?, ?, ?, 0, ?, ?, ?, ?, 'active', ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
272
334
|
`).run(id, input.agentId, input.concept, input.content, embeddingBlob, input.confidence ?? 0.5, input.salience ?? 0.5, now, now, JSON.stringify(input.salienceFeatures ?? DEFAULT_SALIENCE_FEATURES), JSON.stringify(input.reasonCodes ?? []), JSON.stringify(input.tags ?? []), input.episodeId ?? null, input.ttl ?? null, input.memoryClass ?? 'working', input.supersedes ?? null, input.taskStatus ?? null, input.taskPriority ?? null, input.blockedBy ?? null, input.memoryType ?? 'unclassified');
|
|
335
|
+
// Add to slim cache (skip if not yet populated — first slim fetch will load it)
|
|
336
|
+
if (this.slimCachePopulated) {
|
|
337
|
+
this.cacheAdd({
|
|
338
|
+
id,
|
|
339
|
+
agentId: input.agentId,
|
|
340
|
+
concept: input.concept,
|
|
341
|
+
embedding: input.embedding ?? null,
|
|
342
|
+
stage: 'active',
|
|
343
|
+
retracted: false,
|
|
344
|
+
});
|
|
345
|
+
}
|
|
273
346
|
return this.getEngram(id);
|
|
274
347
|
}
|
|
275
348
|
getEngram(id) {
|
|
@@ -288,6 +361,103 @@ export class EngramStore {
|
|
|
288
361
|
}
|
|
289
362
|
return this.db.prepare(query).all(...params).map(r => this.rowToEngram(r));
|
|
290
363
|
}
|
|
364
|
+
/**
|
|
365
|
+
* Slim variant that returns only (id, concept, embedding) — the minimum needed
|
|
366
|
+
* for the activation pipeline's pre-filter pass (cosine sim + concept-jaccard
|
|
367
|
+
* survival check). Avoids materializing the content blob, tag JSON, salience
|
|
368
|
+
* features JSON, etc. for ~10K rows when only ~200 will be deep-scored.
|
|
369
|
+
*
|
|
370
|
+
* Why: phase-breakdown spike (2026-05-08) showed the full SELECT * over 10K
|
|
371
|
+
* engrams costs 440ms on a 17K-engram corpus — 40% of recall latency. Most
|
|
372
|
+
* of that is row materialization of fields we don't read in the filter pass.
|
|
373
|
+
*/
|
|
374
|
+
getEngramsByAgentSlim(agentId, stage, includeRetracted = false) {
|
|
375
|
+
if (this.slimCacheEnabled) {
|
|
376
|
+
this.ensureSlimCachePopulated();
|
|
377
|
+
const result = [];
|
|
378
|
+
for (const entry of this.slimCache.values()) {
|
|
379
|
+
if (entry.agentId !== agentId)
|
|
380
|
+
continue;
|
|
381
|
+
if (stage && entry.stage !== stage)
|
|
382
|
+
continue;
|
|
383
|
+
if (!includeRetracted && entry.retracted)
|
|
384
|
+
continue;
|
|
385
|
+
result.push({ id: entry.id, concept: entry.concept, embedding: entry.embedding });
|
|
386
|
+
}
|
|
387
|
+
return result;
|
|
388
|
+
}
|
|
389
|
+
// Cache disabled — fall back to direct SQL
|
|
390
|
+
let query = 'SELECT id, concept, embedding FROM engrams WHERE agent_id = ?';
|
|
391
|
+
const params = [agentId];
|
|
392
|
+
if (stage) {
|
|
393
|
+
query += ' AND stage = ?';
|
|
394
|
+
params.push(stage);
|
|
395
|
+
}
|
|
396
|
+
if (!includeRetracted) {
|
|
397
|
+
query += ' AND retracted = 0';
|
|
398
|
+
}
|
|
399
|
+
return this.db.prepare(query).all(...params).map(r => ({
|
|
400
|
+
id: r.id,
|
|
401
|
+
concept: r.concept,
|
|
402
|
+
embedding: r.embedding ? Array.from(bufferToFloat32Array(r.embedding)) : null,
|
|
403
|
+
}));
|
|
404
|
+
}
|
|
405
|
+
/** Slim variant for multi-agent (workspace-scoped) pre-filter. */
|
|
406
|
+
getEngramsByAgentsSlim(agentIds, stage, includeRetracted = false) {
|
|
407
|
+
if (agentIds.length === 0)
|
|
408
|
+
return [];
|
|
409
|
+
if (agentIds.length === 1)
|
|
410
|
+
return this.getEngramsByAgentSlim(agentIds[0], stage, includeRetracted);
|
|
411
|
+
if (this.slimCacheEnabled) {
|
|
412
|
+
this.ensureSlimCachePopulated();
|
|
413
|
+
const agentSet = new Set(agentIds);
|
|
414
|
+
const result = [];
|
|
415
|
+
for (const entry of this.slimCache.values()) {
|
|
416
|
+
if (!agentSet.has(entry.agentId))
|
|
417
|
+
continue;
|
|
418
|
+
if (stage && entry.stage !== stage)
|
|
419
|
+
continue;
|
|
420
|
+
if (!includeRetracted && entry.retracted)
|
|
421
|
+
continue;
|
|
422
|
+
result.push({ id: entry.id, concept: entry.concept, embedding: entry.embedding });
|
|
423
|
+
}
|
|
424
|
+
return result;
|
|
425
|
+
}
|
|
426
|
+
const placeholders = agentIds.map(() => '?').join(',');
|
|
427
|
+
let query = `SELECT id, concept, embedding FROM engrams WHERE agent_id IN (${placeholders})`;
|
|
428
|
+
const params = [...agentIds];
|
|
429
|
+
if (stage) {
|
|
430
|
+
query += ' AND stage = ?';
|
|
431
|
+
params.push(stage);
|
|
432
|
+
}
|
|
433
|
+
if (!includeRetracted) {
|
|
434
|
+
query += ' AND retracted = 0';
|
|
435
|
+
}
|
|
436
|
+
return this.db.prepare(query).all(...params).map(r => ({
|
|
437
|
+
id: r.id,
|
|
438
|
+
concept: r.concept,
|
|
439
|
+
embedding: r.embedding ? Array.from(bufferToFloat32Array(r.embedding)) : null,
|
|
440
|
+
}));
|
|
441
|
+
}
|
|
442
|
+
/**
|
|
443
|
+
* Fetch full Engram rows for a list of IDs. Used after the pre-filter to hydrate
|
|
444
|
+
* only the survivors that need deep scoring. Chunks IN-clause queries to stay
|
|
445
|
+
* under SQLITE_LIMIT_VARIABLE_NUMBER (default 999).
|
|
446
|
+
*/
|
|
447
|
+
getEngramsByIds(ids) {
|
|
448
|
+
if (ids.length === 0)
|
|
449
|
+
return [];
|
|
450
|
+
const CHUNK = 800;
|
|
451
|
+
const result = [];
|
|
452
|
+
for (let i = 0; i < ids.length; i += CHUNK) {
|
|
453
|
+
const chunk = ids.slice(i, i + CHUNK);
|
|
454
|
+
const placeholders = chunk.map(() => '?').join(',');
|
|
455
|
+
const rows = this.db.prepare(`SELECT * FROM engrams WHERE id IN (${placeholders})`).all(...chunk);
|
|
456
|
+
for (const r of rows)
|
|
457
|
+
result.push(this.rowToEngram(r));
|
|
458
|
+
}
|
|
459
|
+
return result;
|
|
460
|
+
}
|
|
291
461
|
/**
|
|
292
462
|
* Get engrams across multiple agents (workspace-scoped recall).
|
|
293
463
|
* Used when workspace mode is enabled for hive memory sharing.
|
|
@@ -386,6 +556,7 @@ export class EngramStore {
|
|
|
386
556
|
}
|
|
387
557
|
updateStage(id, stage) {
|
|
388
558
|
this.db.prepare('UPDATE engrams SET stage = ? WHERE id = ?').run(stage, id);
|
|
559
|
+
this.cacheUpdateStage(id, stage);
|
|
389
560
|
}
|
|
390
561
|
updateConfidence(id, confidence) {
|
|
391
562
|
this.db.prepare('UPDATE engrams SET confidence = ? WHERE id = ?').run(Math.max(0, Math.min(1, confidence)), id);
|
|
@@ -398,14 +569,17 @@ export class EngramStore {
|
|
|
398
569
|
else {
|
|
399
570
|
this.db.prepare('UPDATE engrams SET embedding = ? WHERE id = ?').run(blob, id);
|
|
400
571
|
}
|
|
572
|
+
this.cacheUpdateEmbedding(id, embedding);
|
|
401
573
|
}
|
|
402
574
|
retractEngram(id, retractedBy) {
|
|
403
575
|
this.db.prepare(`
|
|
404
576
|
UPDATE engrams SET retracted = 1, retracted_by = ?, retracted_at = ? WHERE id = ?
|
|
405
577
|
`).run(retractedBy, new Date().toISOString(), id);
|
|
578
|
+
this.cacheRetract(id);
|
|
406
579
|
}
|
|
407
580
|
deleteEngram(id) {
|
|
408
581
|
this.db.prepare('DELETE FROM engrams WHERE id = ?').run(id);
|
|
582
|
+
this.cacheRemove(id);
|
|
409
583
|
}
|
|
410
584
|
/**
|
|
411
585
|
* Time warp — shift all timestamps backward by ms milliseconds.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,sCAAsC;AACtC;;;;;GAKG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAQzC,sFAAsF;AACtF,SAAS,oBAAoB,CAAC,GAAyB;IACrD,IAAI,GAAG,YAAY,WAAW;QAAE,OAAO,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC;IAC7D,8EAA8E;IAC9E,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;IAC7E,OAAO,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,yBAAyB,GAAqB;IAClD,QAAQ,EAAE,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,SAAS,EAAE,aAAa;CAChG,CAAC;AAiBF,MAAM,OAAO,WAAW;IACd,EAAE,CAAoB;IACtB,QAAQ,GAA0C,IAAI,CAAC;IAE/D,yEAAyE;IACzE,2EAA2E;IAC3E,wEAAwE;IACxE,gDAAgD;IACxC,SAAS,GAAgC,IAAI,GAAG,EAAE,CAAC;IACnD,kBAAkB,GAAY,KAAK,CAAC;IACpC,gBAAgB,GAAY,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,GAAG,CAAC;IAE/E,YAAY,SAAiB,WAAW;QACtC,IAAI,CAAC,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACrC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACpC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACtC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACvC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACjC,CAAC;IAED,gCAAgC;IAEhC,uFAAuF;IAC/E,wBAAwB;QAC9B,IAAI,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,OAAO;QAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAC1B,wEAAwE,CACzE,CAAC,GAAG,EAAW,CAAC;QACjB,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAY,EAAE;gBACjC,EAAE,EAAE,CAAC,CAAC,EAAY;gBAClB,OAAO,EAAE,CAAC,CAAC,QAAkB;gBAC7B,OAAO,EAAE,CAAC,CAAC,OAAiB;gBAC5B,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;gBAC7E,KAAK,EAAE,CAAC,CAAC,KAAoB;gBAC7B,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;aACzB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;IACjC,CAAC;IAED,oEAAoE;IAC5D,QAAQ,CAAC,KAAqB;QACpC,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,OAAO;QACnC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAEO,gBAAgB,CAAC,EAAU,EAAE,KAAkB;QACrD,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,OAAO;QACnC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC;YAAE,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;IACzB,CAAC;IAEO,oBAAoB,CAAC,EAAU,EAAE,SAAmB;QAC1D,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,OAAO;QACnC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC;YAAE,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC;IACjC,CAAC;IAEO,YAAY,CAAC,EAAU;QAC7B,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,OAAO;QACnC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC;YAAE,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC;IAC5B,CAAC;IAEO,WAAW,CAAC,EAAU;QAC5B,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,OAAO;QACnC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,oEAAoE;IACpE,cAAc;QACZ,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;IAClC,CAAC;IAED,kEAAkE;IAClE,KAAK;QACH,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IAED,+DAA+D;IAC/D,cAAc;QACZ,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,CAAmC,CAAC;YAC7E,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,IAAI,SAAS,CAAC;YACjD,OAAO,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,EAAE,MAAM,EAAE,CAAC;QACzC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC;QACvD,CAAC;IACH,CAAC;IAED,mEAAmE;IACnE,MAAM,CAAC,QAAgB;QACrB,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC;IAED,uCAAuC;IACvC,aAAa;QACX,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACP,oEAAoE;QACtE,CAAC;IACH,CAAC;IAED,qFAAqF;IAC7E,uBAAuB;QAC7B,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAClB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAED,yDAAyD;IACzD,sBAAsB;QACpB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IAEO,IAAI;QACV,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiHZ,CAAC,CAAC;QAEH,8CAA8C;QAC9C,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC,GAAG,EAAE,CAAC;QAClE,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QACjE,CAAC;QAED,oDAAoD;QACpD,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC,GAAG,EAAE,CAAC;QACnE,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;OAIZ,CAAC,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,+EAA+E,CAAC,CAAC;QAChG,CAAC;QAED,kEAAkE;QAClE,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC,GAAG,EAAE,CAAC;QACpE,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;OAIZ,CAAC,CAAC;QACL,CAAC;QAED,uFAAuF;QACvF,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC,GAAG,EAAE,CAAC;QACvE,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QACtE,CAAC;QAED,yDAAyD;QACzD,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;KAgBZ,CAAC,CAAC;QAEH,qEAAqE;QACrE,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,6FAA6F,CAAC,CAAC;QAC9G,CAAC;QAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;QAEvC,+CAA+C;QAC/C,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC,GAAG,EAAE,CAAC;QACnE,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAC;QAClG,CAAC;IACH,CAAC;IAED,sBAAsB;IAEtB,YAAY,CAAC,KAAmB;QAC9B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;QACxB,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS;YACnC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;YACvD,CAAC,CAAC,IAAI,CAAC;QAET,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;KAKf,CAAC,CAAC,GAAG,CACJ,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,aAAa,EAC9D,KAAK,CAAC,UAAU,IAAI,GAAG,EACvB,KAAK,CAAC,QAAQ,IAAI,GAAG,EACrB,GAAG,EAAE,GAAG,EACR,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,IAAI,yBAAyB,CAAC,EACnE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,EACvC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,EAChC,KAAK,CAAC,SAAS,IAAI,IAAI,EACvB,KAAK,CAAC,GAAG,IAAI,IAAI,EACjB,KAAK,CAAC,WAAW,IAAI,SAAS,EAC9B,KAAK,CAAC,UAAU,IAAI,IAAI,EACxB,KAAK,CAAC,UAAU,IAAI,IAAI,EACxB,KAAK,CAAC,YAAY,IAAI,IAAI,EAC1B,KAAK,CAAC,SAAS,IAAI,IAAI,EACvB,KAAK,CAAC,UAAU,IAAI,cAAc,CACnC,CAAC;QAEF,gFAAgF;QAChF,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,IAAI,CAAC,QAAQ,CAAC;gBACZ,EAAE;gBACF,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;gBAClC,KAAK,EAAE,QAAQ;gBACf,SAAS,EAAE,KAAK;aACjB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAE,CAAC;IAC7B,CAAC;IAED,SAAS,CAAC,EAAU;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAQ,CAAC;QACjF,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5C,CAAC;IAED,iBAAiB,CAAC,OAAe,EAAE,KAAmB,EAAE,mBAA4B,KAAK;QACvF,IAAI,KAAK,GAAG,0CAA0C,CAAC;QACvD,MAAM,MAAM,GAAU,CAAC,OAAO,CAAC,CAAC;QAEhC,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,IAAI,gBAAgB,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,KAAK,IAAI,oBAAoB,CAAC;QAChC,CAAC;QAED,OAAQ,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACxF,CAAC;IAED;;;;;;;;;OASG;IACH,qBAAqB,CACnB,OAAe,EACf,KAAmB,EACnB,mBAA4B,KAAK;QAEjC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAChC,MAAM,MAAM,GAAuE,EAAE,CAAC;YACtF,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC5C,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO;oBAAE,SAAS;gBACxC,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK;oBAAE,SAAS;gBAC7C,IAAI,CAAC,gBAAgB,IAAI,KAAK,CAAC,SAAS;oBAAE,SAAS;gBACnD,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;YACpF,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,2CAA2C;QAC3C,IAAI,KAAK,GAAG,+DAA+D,CAAC;QAC5E,MAAM,MAAM,GAAU,CAAC,OAAO,CAAC,CAAC;QAEhC,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,IAAI,gBAAgB,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,KAAK,IAAI,oBAAoB,CAAC;QAChC,CAAC;QAED,OAAQ,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAChE,EAAE,EAAE,CAAC,CAAC,EAAY;YAClB,OAAO,EAAE,CAAC,CAAC,OAAiB;YAC5B,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;SAC9E,CAAC,CAAC,CAAC;IACN,CAAC;IAED,kEAAkE;IAClE,sBAAsB,CACpB,QAAkB,EAClB,KAAmB,EACnB,mBAA4B,KAAK;QAEjC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACrC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;QAEnG,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;YACnC,MAAM,MAAM,GAAuE,EAAE,CAAC;YACtF,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC5C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;oBAAE,SAAS;gBAC3C,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK;oBAAE,SAAS;gBAC7C,IAAI,CAAC,gBAAgB,IAAI,KAAK,CAAC,SAAS;oBAAE,SAAS;gBACnD,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;YACpF,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvD,IAAI,KAAK,GAAG,iEAAiE,YAAY,GAAG,CAAC;QAC7F,MAAM,MAAM,GAAU,CAAC,GAAG,QAAQ,CAAC,CAAC;QAEpC,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,IAAI,gBAAgB,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,KAAK,IAAI,oBAAoB,CAAC;QAChC,CAAC;QAED,OAAQ,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAChE,EAAE,EAAE,CAAC,CAAC,EAAY;YAClB,OAAO,EAAE,CAAC,CAAC,OAAiB;YAC5B,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;SAC9E,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,GAAa;QAC3B,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,GAAG,CAAC;QAClB,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;YACtC,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpD,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAC1B,sCAAsC,YAAY,GAAG,CACtD,CAAC,GAAG,CAAC,GAAG,KAAK,CAAU,CAAC;YACzB,KAAK,MAAM,CAAC,IAAI,IAAI;gBAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,kBAAkB,CAAC,QAAkB,EAAE,KAAmB,EAAE,mBAA4B,KAAK;QAC3F,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACrC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;QAE/F,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvD,IAAI,KAAK,GAAG,4CAA4C,YAAY,GAAG,CAAC;QACxE,MAAM,MAAM,GAAU,CAAC,GAAG,QAAQ,CAAC,CAAC;QAEpC,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,IAAI,gBAAgB,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,KAAK,IAAI,oBAAoB,CAAC;QAChC,CAAC;QAED,OAAQ,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACxF,CAAC;IAED;;OAEG;IACH,4BAA4B,CAAC,QAAkB,EAAE,KAAa,EAAE,QAAgB,EAAE;QAChF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACrC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAErF,MAAM,SAAS,GAAG,KAAK;aACpB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;aACvB,KAAK,CAAC,KAAK,CAAC;aACZ,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;aACzB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;aAClB,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhB,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,CAAC;QAE1B,gFAAgF;QAChF,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;+BAMJ,YAAY;;;OAGpC,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,QAAQ,EAAE,KAAK,CAAU,CAAC;YAE3D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACpB,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;gBAC3B,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;aAC/D,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,oBAAoB,CAAC,OAAe,EAAE,SAAiB;QACrD,IAAI,CAAC;YACH,sEAAsE;YACtE,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAC1B,iFAAiF,CAClF,CAAC,GAAG,CAAC,SAAS,CAA4B,CAAC;YAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACpC,+CAA+C;YAC/C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClD,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,MAAM,CAAC;YACP,qDAAqD;YACrD,OAAO,CAAC,OAAO,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,WAAW,CAAC,EAAU;QACpB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;KAMf,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,WAAW,CAAC,EAAU,EAAE,KAAkB;QACxC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,gBAAgB,CAAC,EAAU,EAAE,UAAkB;QAC7C,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC,GAAG,CACnE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,EAAE,CACzC,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,EAAU,EAAE,SAAmB,EAAE,OAAgB;QAC/D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,oEAAoE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QAC/G,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,+CAA+C,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,IAAI,CAAC,oBAAoB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED,aAAa,CAAC,EAAU,EAAE,WAA0B;QAClD,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;KAEf,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC;IAED,YAAY,CAAC,EAAU;QACrB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,OAAe,EAAE,EAAU;QAClC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;QACvC,0BAA0B;QAC1B,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;8CAEe,QAAQ;oDACF,QAAQ;;KAEvD,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChB,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC;QACpB,+BAA+B;QAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;8CAEe,QAAQ;sDACA,QAAQ;;;KAGzD,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACzB,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,kCAAkC;IAElC,UAAU,CAAC,OAAe,EAAE,KAAa,EAAE,QAAgB,EAAE;QAC3D,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC3E,CAAC;IAED;;;;OAIG;IACH,kBAAkB,CAAC,OAAe,EAAE,KAAa,EAAE,QAAgB,EAAE;QACnE,iFAAiF;QACjF,MAAM,SAAS,GAAG,KAAK;aACpB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;aACvB,KAAK,CAAC,KAAK,CAAC;aACZ,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;aACzB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;aAClB,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhB,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,CAAC;QAE1B,mEAAmE;QACnE,EAAE;QACF,2FAA2F;QAC3F,+EAA+E;QAC/E,4EAA4E;QAC5E,+EAA+E;QAC/E,mCAAmC;QACnC,EAAE;QACF,gFAAgF;QAChF,uEAAuE;QACvE,EAAE;QACF,4EAA4E;QAC5E,+EAA+E;QAC/E,4EAA4E;QAC5E,iCAAiC;QACjC,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;;OAS5B,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,CAAU,CAAC;YAEvD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACpB,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;gBAC3B,6DAA6D;gBAC7D,yDAAyD;gBACzD,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;aAC/D,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,2DAA2D;IAE3D,MAAM,CAAC,KAAkB;QACvB,IAAI,GAAG,GAAG,0CAA0C,CAAC;QACrD,MAAM,MAAM,GAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEtC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,GAAG,IAAI,yCAAyC,CAAC;YACjD,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,EAAE,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,GAAG,IAAI,kBAAkB,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,GAAG,IAAI,gBAAgB,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAClC,GAAG,IAAI,oBAAoB,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC7B,GAAG,IAAI,kBAAkB,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,GAAG,IAAI,8BAA8B,CAAC;QACtC,GAAG,IAAI,mBAAmB,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;QAElD,OAAQ,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACtF,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,OAAe,EAAE,SAAkB;QACjD,IAAI,GAAG,GAAG,4DAA4D,CAAC;QACvE,MAAM,MAAM,GAAU,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,SAAS,EAAE,CAAC;YACd,GAAG,IAAI,cAAc,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC;QACD,GAAG,IAAI,mCAAmC,CAAC;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAQ,CAAC;QACvD,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5C,CAAC;IAED,0BAA0B;IAE1B,gBAAgB,CAAC,EAAU,EAAE,MAAkB;QAC7C,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,kBAAkB,CAAC,EAAU,EAAE,QAAsB;QACnD,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,mDAAmD,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,eAAe,CAAC,EAAU,EAAE,SAAwB;QAClD,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,iEAAiE,CAAC;aAC/E,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACxD,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,OAAe,EAAE,MAAmB;QAC3C,IAAI,GAAG,GAAG,wFAAwF,CAAC;QACnG,MAAM,MAAM,GAAU,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,MAAM,EAAE,CAAC;YACX,GAAG,IAAI,sBAAsB,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;QACD,GAAG,IAAI;;;;;;;;sBAQW,CAAC;QACnB,OAAQ,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACtF,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,OAAe;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;;;KAc3B,CAAC,CAAC,GAAG,CAAC,OAAO,CAAQ,CAAC;QACvB,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5C,CAAC;IAED,uBAAuB;IAEvB;;;OAGG;IACH,eAAe,CAAC,KAAa,EAAE,KAAa;QAC1C,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,mDAAmD,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACvF,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACtF,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,EAAU;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC,GAAG,CAAC,EAAE,CAAQ,CAAC;QAC7F,OAAO,GAAG,EAAE,aAAa,IAAI,IAAI,CAAC;IACpC,CAAC;IAED,iBAAiB,CAAC,EAAU,EAAE,WAAwB;QACpD,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED,UAAU,CAAC,EAAU,EAAE,IAAc;QACnC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED,uBAAuB;IAEvB,iBAAiB,CACf,MAAc,EAAE,IAAY,EAAE,MAAc,EAC5C,OAAwB,SAAS,EAAE,aAAqB,GAAG;QAE3D,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;QAExB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;KAKf,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;QAEtF,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAE,CAAC;IAC5C,CAAC;IAED,cAAc,CAAC,MAAc,EAAE,IAAY;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CACzB,0EAA0E,CAC3E,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAQ,CAAC;QAC3B,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjD,CAAC;IAED,kBAAkB,CAAC,QAAgB;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAC1B,yEAAyE,CAC1E,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC1B,OAAQ,IAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED;;;;;;;OAOG;IACH,uBAAuB,CAAC,SAAmB;QACzC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;QAChD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,MAAM,CAAC;QAE1C,oFAAoF;QACpF,4EAA4E;QAC5E,MAAM,KAAK,GAAG,GAAG,CAAC;QAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;YACjD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;YAC5C,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpD,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAC1B;oCAC4B,YAAY,yBAAyB,YAAY,GAAG,CACjF,CAAC,GAAG,CAAC,GAAG,KAAK,EAAE,GAAG,KAAK,CAAU,CAAC;YACnC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrB,MAAM,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;gBACnC,kFAAkF;gBAClF,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;gBAClD,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACjB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;gBACrC,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,YAAY,EAAE,CAAC;oBACpC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;oBAC9C,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACf,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;QACH,CAAC;QACD,wEAAwE;QACxE,gCAAgC;QAChC,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,uBAAuB,CAAC,QAAgB;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAC1B,qDAAqD,CACtD,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChB,OAAQ,IAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,oBAAoB,CAAC,QAAgB;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CACzB,qEAAqE,CACtE,CAAC,GAAG,CAAC,QAAQ,CAAQ,CAAC;QACvB,OAAO,GAAG,CAAC,KAAK,CAAC;IACnB,CAAC;IAED,qBAAqB,CAAC,QAAgB;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CACzB,iFAAiF,CAClF,CAAC,GAAG,CAAC,QAAQ,CAAQ,CAAC;QACvB,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjD,CAAC;IAED,iBAAiB,CAAC,EAAU;QAC1B,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,kBAAkB,CAAC,OAAe;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;KAI5B,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChB,OAAQ,IAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,mBAAmB;IAEnB,qBAAqB,CAAC,OAAe,EAAE,KAAa;QAClD,6EAA6E;QAC7E,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;KAM5B,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAU,CAAC;QAChC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,cAAc,CAAC,OAAe;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CACzB,+EAA+E,CAChF,CAAC,GAAG,CAAC,OAAO,CAAQ,CAAC;QACtB,OAAO,GAAG,CAAC,KAAK,CAAC;IACnB,CAAC;IAED,eAAe,CAAC,OAAe;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CACzB,gFAAgF,CACjF,CAAC,GAAG,CAAC,OAAO,CAAQ,CAAC;QACtB,OAAO,GAAG,CAAC,KAAK,CAAC;IACnB,CAAC;IAED,yBAAyB;IAEzB,iBAAiB;QACf,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;KAE5B,CAAC,CAAC,GAAG,EAAW,CAAC;QAElB,OAAO,IAAI;aACR,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;aAC7B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;IACjE,CAAC;IAED,6BAA6B;IAE7B,kBAAkB,CAAC,KAAsB;QACvC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;KAGf,CAAC,CAAC,GAAG,CACJ,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,EACtD,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,QAAQ,EACpD,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CACjD,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,KAAmB;QACjC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;KAGf,CAAC,CAAC,GAAG,CACJ,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAC3C,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,KAAK,CACjE,CAAC;IACJ,CAAC;IAED,oBAAoB,CAAC,iBAAgC,EAAE,QAAgB,EAAE,MAAe,EAAE,OAAe;QACvG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;KAGf,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IACvG,CAAC;IAED,+BAA+B;IAE/B,qBAAqB,CAAC,OAAe,EAAE,cAAsB,EAAE;QAC7D,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,GAAG,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1E,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;KAQ3B,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAQ,CAAC;QAE9B,OAAO,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,iBAAiB,CAAC,OAAe;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;KAM3B,CAAC,CAAC,GAAG,CAAC,OAAO,CAAQ,CAAC;QACvB,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;IACpF,CAAC;IAED,kBAAkB,CAAC,OAAe,EAAE,cAAsB,EAAE;QAG1D,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,GAAG,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;KAI5B,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAA6B,CAAC;QAEnD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;QAE7E,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC3E,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,YAAY,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM;YACjC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,UAAU;SACxC,CAAC;IACJ,CAAC;IAED,oBAAoB,CAAC,OAAe;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CACzB,mFAAmF,CACpF,CAAC,GAAG,CAAC,OAAO,CAAQ,CAAC;QACtB,OAAO,GAAG,CAAC,GAAG,CAAC;IACjB,CAAC;IAED,kBAAkB;IAEV,WAAW,CAAC,GAAQ;QAC1B,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,OAAO,EAAE,GAAG,CAAC,QAAQ;YACrB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,SAAS,EAAE,GAAG,CAAC,SAAS;gBACtB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACjD,CAAC,CAAC,IAAI;YACR,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,WAAW,EAAE,GAAG,CAAC,YAAY;YAC7B,YAAY,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC;YACzC,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;YACnC,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,IAAI,IAAI,CAAC;YAC3D,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC;YACjD,KAAK,EAAE,GAAG,CAAC,KAAoB;YAC/B,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS;YAC1B,WAAW,EAAE,GAAG,CAAC,YAAY;YAC7B,WAAW,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI;YACjE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;YAC1B,SAAS,EAAE,GAAG,CAAC,UAAU,IAAI,IAAI;YACjC,WAAW,EAAE,CAAC,GAAG,CAAC,YAAY,IAAI,SAAS,CAAgB;YAC3D,UAAU,EAAE,CAAC,GAAG,CAAC,WAAW,IAAI,cAAc,CAAe;YAC7D,YAAY,EAAE,GAAG,CAAC,aAAa,IAAI,IAAI;YACvC,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,IAAI;YAClC,UAAU,EAAE,GAAG,CAAC,WAAW,IAAI,IAAI;YACnC,YAAY,EAAE,GAAG,CAAC,aAAa,IAAI,IAAI;YACvC,SAAS,EAAE,GAAG,CAAC,UAAU,IAAI,IAAI;SAClC,CAAC;IACJ,CAAC;IAEO,gBAAgB,CAAC,GAAQ;QAC/B,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,YAAY,EAAE,GAAG,CAAC,cAAc;YAChC,UAAU,EAAE,GAAG,CAAC,YAAY;YAC5B,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,GAAG;YACjC,IAAI,EAAE,GAAG,CAAC,IAAuB;YACjC,eAAe,EAAE,GAAG,CAAC,gBAAgB,IAAI,CAAC;YAC1C,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;YACnC,aAAa,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC;SAC5C,CAAC;IACJ,CAAC;IAED,mBAAmB;IAEnB,aAAa,CAAC,KAA+D;QAC3E,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;QACxB,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS;YACnC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;YACvD,CAAC,CAAC,IAAI,CAAC;QAET,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;KAGf,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAErE,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,CAAE,CAAC;IAC9B,CAAC;IAED,UAAU,CAAC,EAAU;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAQ,CAAC;QAClF,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7C,CAAC;IAED,kBAAkB,CAAC,OAAe;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAC1B,kEAAkE,CACnE,CAAC,GAAG,CAAC,OAAO,CAAU,CAAC;QACxB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,gBAAgB,CAAC,OAAe,EAAE,WAAmB,QAAQ;QAC3D,6DAA6D;QAC7D,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;KAG3B,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAQ,CAAC;QAC/B,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7C,CAAC;IAED,kBAAkB,CAAC,QAAgB,EAAE,SAAiB;QACpD,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC3F,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;KAKf,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC,CAAC;IAC9C,CAAC;IAED,mBAAmB,CAAC,SAAiB;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAC1B,sFAAsF,CACvF,CAAC,GAAG,CAAC,SAAS,CAAU,CAAC;QAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,sBAAsB,CAAC,EAAU,EAAE,SAAmB;QACpD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,eAAe,CAAC,OAAe;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CACzB,yDAAyD,CAC1D,CAAC,GAAG,CAAC,OAAO,CAAQ,CAAC;QACtB,OAAO,GAAG,CAAC,GAAG,CAAC;IACjB,CAAC;IAEO,YAAY,CAAC,GAAQ;QAC3B,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,OAAO,EAAE,GAAG,CAAC,QAAQ;YACrB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,SAAS,EAAE,GAAG,CAAC,SAAS;gBACtB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACjD,CAAC,CAAC,IAAI;YACR,WAAW,EAAE,GAAG,CAAC,YAAY;YAC7B,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;YACnC,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;YAC/B,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;SACpC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,iBAAiB,CAAC,OAAe,EAAE,IAAc,EAAE,UAAwB;QACzE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEjC,uCAAuC;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAU,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAE9D,IAAI,GAAG,GAAG,mEAAmE,UAAU,GAAG,CAAC;QAC3F,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAU,CAAC;QAE1D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,wBAAwB;IAExB,yBAAyB,CAAC,OAAe,EAAE,QAAgB;QACzD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;KAQf,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;IAED,0BAA0B,CAAC,OAAe,EAAE,OAAe,EAAE,SAAmB;QAC9E,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;;KASf,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;IAED,aAAa,CAAC,OAAe;QAC3B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;KAMf,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,cAAc,CAAC,OAAe,EAAE,KAAqB;QACnD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;KAQf,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACxD,CAAC;IAED,aAAa,CAAC,OAAe;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAC,GAAG,CAAC,OAAO,CAAQ,CAAC;QACpG,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QAEtB,OAAO;YACL,OAAO,EAAE,GAAG,CAAC,QAAQ;YACrB,IAAI,EAAE;gBACJ,WAAW,EAAE,GAAG,CAAC,aAAa,IAAI,IAAI;gBACtC,iBAAiB,EAAE,GAAG,CAAC,mBAAmB,IAAI,IAAI;gBAClD,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC;gBACtD,cAAc,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC;gBAC9C,4BAA4B,EAAE,GAAG,CAAC,+BAA+B;gBACjE,6BAA6B,EAAE,GAAG,CAAC,gCAAgC;aACpE;YACD,cAAc,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI;YAC5E,YAAY,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI;YACpE,mBAAmB,EAAE,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAI;YAC3F,uBAAuB,EAAE,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,IAAI;YACzG,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;SACpC,CAAC;IACJ,CAAC;IAED,iBAAiB,CAAC,OAAe,EAAE,IAAa;QAC9C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;OAEf,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;;OASf,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,eAAe;QACb,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,GAAG,EAAW,CAAC;QAC7E,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtB,OAAO,EAAE,GAAG,CAAC,QAAQ;YACrB,cAAc,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC;YAC9C,UAAU,EAAE,GAAG,CAAC,+BAA+B;YAC/C,WAAW,EAAE,GAAG,CAAC,gCAAgC;YACjD,mBAAmB,EAAE,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAI;SAC5F,CAAC,CAAC,CAAC;IACN,CAAC;IAED,0BAA0B,CAAC,OAAe;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CACzB,0EAA0E,CAC3E,CAAC,GAAG,CAAC,OAAO,CAAsD,CAAC;QACpE,OAAO,GAAG,EAAE,yBAAyB,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK;QACH,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;CACF"}
|
package/package.json
CHANGED
package/src/api/routes.ts
CHANGED
|
@@ -705,7 +705,7 @@ export function registerRoutes(app: FastifyInstance, deps: MemoryDeps): void {
|
|
|
705
705
|
const base: Record<string, unknown> = {
|
|
706
706
|
status: 'ok',
|
|
707
707
|
timestamp: new Date().toISOString(),
|
|
708
|
-
version: '0.7.
|
|
708
|
+
version: '0.7.10',
|
|
709
709
|
coordination: coordEnabled,
|
|
710
710
|
};
|
|
711
711
|
if (coordEnabled) {
|
package/src/cli.ts
CHANGED
|
@@ -334,7 +334,7 @@ async function exportMemories() {
|
|
|
334
334
|
const agents = [...new Set(memories.map((m: any) => m.agent_id))];
|
|
335
335
|
|
|
336
336
|
const exportData = {
|
|
337
|
-
version: '0.7.
|
|
337
|
+
version: '0.7.10',
|
|
338
338
|
exported_at: new Date().toISOString(),
|
|
339
339
|
source_db: dbPath,
|
|
340
340
|
agent_filter: agentFilter,
|
package/src/engine/activation.ts
CHANGED
|
@@ -252,34 +252,31 @@ export class ActivationEngine {
|
|
|
252
252
|
engram, bm25Score: bm25ScoreMap.get(id) ?? 0,
|
|
253
253
|
}));
|
|
254
254
|
|
|
255
|
-
|
|
255
|
+
// Phase 3 — Two-pass fetch (0.7.9+):
|
|
256
|
+
// Pass 1: slim fetch (id, concept, embedding only) for ALL active engrams.
|
|
257
|
+
// Used for cosine sim + adaptive z-score stats + cheap pool filter.
|
|
258
|
+
// Pass 2: full fetch ONLY on the survivors that pass the filter.
|
|
259
|
+
//
|
|
260
|
+
// Why: phase-breakdown spike (2026-05-08, post-0.7.7) showed `SELECT * FROM
|
|
261
|
+
// engrams WHERE agent_id = ?` over 10K rows costs 440ms (40% of recall) due
|
|
262
|
+
// to row materialization of content/tags/JSON-blob columns the filter pass
|
|
263
|
+
// doesn't read. Slim fetch trims the per-row payload to the three fields
|
|
264
|
+
// the filter actually uses.
|
|
265
|
+
const slimActive = this.store.getEngramsByAgentsSlim(
|
|
256
266
|
agentIds,
|
|
257
267
|
query.includeStaging ? undefined : 'active',
|
|
258
268
|
query.includeRetracted ?? false
|
|
259
269
|
);
|
|
260
270
|
|
|
261
|
-
//
|
|
262
|
-
const candidateMap = new Map<string, Engram>();
|
|
263
|
-
for (const r of bm25Ranked) candidateMap.set(r.engram.id, r.engram);
|
|
264
|
-
for (const e of allActive) candidateMap.set(e.id, e);
|
|
265
|
-
let candidates = Array.from(candidateMap.values());
|
|
266
|
-
|
|
267
|
-
// Filter by memory type if specified
|
|
268
|
-
if (query.memoryType) {
|
|
269
|
-
candidates = candidates.filter(e => e.memoryType === query.memoryType);
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
if (candidates.length === 0) return [];
|
|
273
|
-
|
|
274
|
-
// Tokenize query once
|
|
271
|
+
// Tokenize query once (used by filter + scoring)
|
|
275
272
|
const queryTokens = tokenize(query.context);
|
|
276
273
|
|
|
277
|
-
// Phase 3a: Compute raw cosine similarities for adaptive normalization
|
|
274
|
+
// Phase 3a: Compute raw cosine similarities on slim pool for adaptive normalization
|
|
278
275
|
const rawCosineSims = new Map<string, number>();
|
|
279
276
|
if (queryEmbedding) {
|
|
280
|
-
for (const
|
|
281
|
-
if (
|
|
282
|
-
rawCosineSims.set(
|
|
277
|
+
for (const e of slimActive) {
|
|
278
|
+
if (e.embedding) {
|
|
279
|
+
rawCosineSims.set(e.id, cosineSimilarity(queryEmbedding, e.embedding));
|
|
283
280
|
}
|
|
284
281
|
}
|
|
285
282
|
}
|
|
@@ -293,60 +290,59 @@ export class ActivationEngine {
|
|
|
293
290
|
// Floor stddev at 0.10 to prevent z-score inflation with small candidate pools
|
|
294
291
|
const simStdDev = Math.max(rawStdDev, 0.10);
|
|
295
292
|
|
|
296
|
-
//
|
|
297
|
-
//
|
|
298
|
-
//
|
|
299
|
-
// relevance gate (textMatch > 0.1) anyway and produce a near-zero composite.
|
|
300
|
-
//
|
|
301
|
-
// Why: phase-breakdown spike (2026-05-08) showed assocBatch over 10K candidates
|
|
302
|
-
// costs 1500ms and represents 68% of recall latency. Most candidates have zero
|
|
303
|
-
// BM25 hit, low cosine similarity, and no concept-jaccard match — so fetching
|
|
304
|
-
// their associations and tokenizing their full content is wasted work.
|
|
305
|
-
//
|
|
306
|
-
// Survival criteria (any one):
|
|
307
|
-
// 1. BM25 hit (bm25Score > 0)
|
|
308
|
-
// 2. Cosine z-score above the gate (would produce non-zero vectorMatch)
|
|
309
|
-
// 3. Concept-token overlap with query (cheap to compute — concept is short)
|
|
310
|
-
//
|
|
311
|
-
// Graph walk preserves correctness: it only boosts neighbors whose own textMatch
|
|
312
|
-
// already passes the relevance floor (0.05-0.1), and any candidate meeting that
|
|
313
|
-
// floor would also pass this filter (they'd have either BM25, cosine, or concept
|
|
314
|
-
// jaccard match). So no graph-walkable target is lost.
|
|
315
|
-
//
|
|
316
|
-
// Disable via AWM_DISABLE_POOL_FILTER=1 (for A/B testing or if a regression appears)
|
|
293
|
+
// Determine survivor IDs from the slim pool using the same survival criteria
|
|
294
|
+
// (BM25 hit / cosine z-score / concept-jaccard) plus all BM25-ranked candidates
|
|
295
|
+
// (which already came in fully-hydrated and may not be in slimActive's stage filter).
|
|
317
296
|
const poolFilterEnabled = process.env.AWM_DISABLE_POOL_FILTER !== '1';
|
|
318
|
-
|
|
297
|
+
const survivorIds = new Set<string>();
|
|
298
|
+
// Always include BM25-ranked engrams (they came pre-hydrated)
|
|
299
|
+
for (const r of bm25Ranked) survivorIds.add(r.engram.id);
|
|
300
|
+
|
|
319
301
|
if (poolFilterEnabled) {
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
const bm25 = bm25ScoreMap.get(
|
|
323
|
-
if (bm25 > 0) {
|
|
324
|
-
|
|
325
|
-
continue;
|
|
326
|
-
}
|
|
327
|
-
const sim = rawCosineSims.get(engram.id);
|
|
302
|
+
for (const e of slimActive) {
|
|
303
|
+
if (survivorIds.has(e.id)) continue;
|
|
304
|
+
const bm25 = bm25ScoreMap.get(e.id) ?? 0;
|
|
305
|
+
if (bm25 > 0) { survivorIds.add(e.id); continue; }
|
|
306
|
+
const sim = rawCosineSims.get(e.id);
|
|
328
307
|
if (sim !== undefined) {
|
|
329
308
|
const z = (sim - simMean) / simStdDev;
|
|
330
|
-
if (z > adaptive.zScoreGate) {
|
|
331
|
-
filteredCandidates.push(engram);
|
|
332
|
-
continue;
|
|
333
|
-
}
|
|
309
|
+
if (z > adaptive.zScoreGate) { survivorIds.add(e.id); continue; }
|
|
334
310
|
}
|
|
335
|
-
// Cheap concept jaccard
|
|
336
|
-
const
|
|
337
|
-
if (
|
|
338
|
-
let
|
|
339
|
-
for (const w of
|
|
340
|
-
if (
|
|
311
|
+
// Cheap concept jaccard
|
|
312
|
+
const ct = tokenize(e.concept);
|
|
313
|
+
if (ct.size === 0) continue;
|
|
314
|
+
let overlap = 0;
|
|
315
|
+
for (const w of ct) if (queryTokens.has(w)) overlap++;
|
|
316
|
+
if (overlap > 0) survivorIds.add(e.id);
|
|
341
317
|
}
|
|
342
318
|
} else {
|
|
343
|
-
|
|
319
|
+
// Filter disabled — include all slim active engrams
|
|
320
|
+
for (const e of slimActive) survivorIds.add(e.id);
|
|
344
321
|
}
|
|
345
322
|
|
|
346
|
-
//
|
|
347
|
-
|
|
348
|
-
const
|
|
349
|
-
const
|
|
323
|
+
// Pass 2: hydrate full Engram rows ONLY for survivors that aren't already loaded
|
|
324
|
+
const candidateMap = new Map<string, Engram>();
|
|
325
|
+
for (const r of bm25Ranked) candidateMap.set(r.engram.id, r.engram);
|
|
326
|
+
const idsToHydrate = Array.from(survivorIds).filter(id => !candidateMap.has(id));
|
|
327
|
+
if (idsToHydrate.length > 0) {
|
|
328
|
+
for (const e of this.store.getEngramsByIds(idsToHydrate)) {
|
|
329
|
+
candidateMap.set(e.id, e);
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
let candidates = Array.from(candidateMap.values());
|
|
333
|
+
|
|
334
|
+
// Filter by memory type if specified
|
|
335
|
+
if (query.memoryType) {
|
|
336
|
+
candidates = candidates.filter(e => e.memoryType === query.memoryType);
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
if (candidates.length === 0) return [];
|
|
340
|
+
|
|
341
|
+
// Phase 3b: Score each candidate with per-phase breakdown
|
|
342
|
+
// Candidates are already filtered (the slim-pool filter ran before hydration).
|
|
343
|
+
// Batch-fetch associations only for hydrated survivors (typically 100-300, not 10K).
|
|
344
|
+
const associationsByEngram = this.store.getAssociationsForBatch(candidates.map(e => e.id));
|
|
345
|
+
const scored = candidates.map(engram => {
|
|
350
346
|
const ageDays = (Date.now() - engram.createdAt.getTime()) / (1000 * 60 * 60 * 24);
|
|
351
347
|
const associations = associationsByEngram.get(engram.id) ?? [];
|
|
352
348
|
|
|
@@ -581,7 +577,33 @@ export class ActivationEngine {
|
|
|
581
577
|
// Widens the pool to find relevant results that keyword matching missed
|
|
582
578
|
const rerankPool = pool.slice(0, Math.max(limit * 3, 30));
|
|
583
579
|
|
|
584
|
-
|
|
580
|
+
// Reranker skip heuristic (0.7.10+): if BM25 already has a clear winner with
|
|
581
|
+
// strong absolute score AND a meaningful gap to the runner-up, the cross-encoder
|
|
582
|
+
// is unlikely to change the top result. Skipping saves ~300ms of wall-clock per
|
|
583
|
+
// recall on simple queries (40% of post-0.7.9 floor was reranker).
|
|
584
|
+
//
|
|
585
|
+
// Conservative gate (only skip when very confident):
|
|
586
|
+
// - top-1 textMatch >= 0.8 (high BM25 + jaccard agreement)
|
|
587
|
+
// - top-1 score is at least 1.5× top-2 score (clear separation)
|
|
588
|
+
// - rerankPool size <= limit*2 (small pool — reranker has less to do)
|
|
589
|
+
//
|
|
590
|
+
// Ambiguous queries (close BM25 scores, weak top-1, large pool) still go through
|
|
591
|
+
// the reranker. Disable this heuristic via AWM_DISABLE_RERANK_SKIP=1.
|
|
592
|
+
let rerankSkipped = false;
|
|
593
|
+
if (useReranker && rerankPool.length >= 2 && process.env.AWM_DISABLE_RERANK_SKIP !== '1') {
|
|
594
|
+
const top1 = rerankPool[0];
|
|
595
|
+
const top2 = rerankPool[1];
|
|
596
|
+
const t1Text = top1.phaseScores.textMatch;
|
|
597
|
+
const t1Score = top1.score;
|
|
598
|
+
const t2Score = top2.score;
|
|
599
|
+
const cleanWinner = t1Text >= 0.8 && t1Score >= 1.5 * Math.max(t2Score, 0.01);
|
|
600
|
+
const smallPool = rerankPool.length <= Math.max(limit * 2, 20);
|
|
601
|
+
if (cleanWinner && smallPool) {
|
|
602
|
+
rerankSkipped = true;
|
|
603
|
+
}
|
|
604
|
+
}
|
|
605
|
+
|
|
606
|
+
if (useReranker && !rerankSkipped && rerankPool.length > 0) {
|
|
585
607
|
try {
|
|
586
608
|
const passages = rerankPool.map(r =>
|
|
587
609
|
`${r.engram.concept}: ${r.engram.content}`
|
package/src/index.ts
CHANGED
|
@@ -177,7 +177,7 @@ async function main() {
|
|
|
177
177
|
|
|
178
178
|
// Start server
|
|
179
179
|
await app.listen({ port: PORT, host: '0.0.0.0' });
|
|
180
|
-
console.log(`AgentWorkingMemory v0.7.
|
|
180
|
+
console.log(`AgentWorkingMemory v0.7.10 listening on port ${PORT}`);
|
|
181
181
|
|
|
182
182
|
// Graceful shutdown
|
|
183
183
|
const shutdown = async () => {
|
package/src/mcp.ts
CHANGED
|
@@ -78,7 +78,7 @@ const INCOGNITO = process.env.AWM_INCOGNITO === '1' || process.env.AWM_INCOGNITO
|
|
|
78
78
|
|
|
79
79
|
if (INCOGNITO) {
|
|
80
80
|
console.error('AWM: incognito mode — all memory tools disabled, nothing will be recorded');
|
|
81
|
-
const server = new McpServer({ name: 'agent-working-memory', version: '0.7.
|
|
81
|
+
const server = new McpServer({ name: 'agent-working-memory', version: '0.7.10' });
|
|
82
82
|
const transport = new StdioServerTransport();
|
|
83
83
|
server.connect(transport).catch(err => {
|
|
84
84
|
console.error('MCP server failed:', err);
|
|
@@ -115,7 +115,7 @@ let coordDb: import('better-sqlite3').Database | null = null;
|
|
|
115
115
|
|
|
116
116
|
const server = new McpServer({
|
|
117
117
|
name: 'agent-working-memory',
|
|
118
|
-
version: '0.7.
|
|
118
|
+
version: '0.7.10',
|
|
119
119
|
});
|
|
120
120
|
|
|
121
121
|
server.registerResource(
|