agent-working-memory 0.7.17 → 0.8.5
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 +156 -15
- package/dist/adapters/common.js +202 -202
- package/dist/adapters/http.js +22 -22
- package/dist/api/routes.d.ts +1 -1
- package/dist/api/routes.d.ts.map +1 -1
- package/dist/api/routes.js +258 -79
- package/dist/api/routes.js.map +1 -1
- package/dist/cli/migrate.d.ts +42 -0
- package/dist/cli/migrate.d.ts.map +1 -0
- package/dist/cli/migrate.js +268 -0
- package/dist/cli/migrate.js.map +1 -0
- package/dist/cli.js +147 -103
- package/dist/cli.js.map +1 -1
- package/dist/coordination/circuit-breaker.d.ts +24 -0
- package/dist/coordination/circuit-breaker.d.ts.map +1 -0
- package/dist/coordination/circuit-breaker.js +70 -0
- package/dist/coordination/circuit-breaker.js.map +1 -0
- package/dist/coordination/failure-modes.d.ts +21 -0
- package/dist/coordination/failure-modes.d.ts.map +1 -0
- package/dist/coordination/failure-modes.js +49 -0
- package/dist/coordination/failure-modes.js.map +1 -0
- package/dist/coordination/peer-decisions.js +7 -7
- package/dist/coordination/routes.d.ts.map +1 -1
- package/dist/coordination/routes.js +44 -1
- package/dist/coordination/routes.js.map +1 -1
- package/dist/coordination/schema.d.ts.map +1 -1
- package/dist/coordination/schema.js +18 -0
- package/dist/coordination/schema.js.map +1 -1
- package/dist/coordination/schemas.d.ts +9 -9
- package/dist/coordination/stale.d.ts +9 -1
- package/dist/coordination/stale.d.ts.map +1 -1
- package/dist/coordination/stale.js +53 -9
- package/dist/coordination/stale.js.map +1 -1
- package/dist/core/embeddings.d.ts +16 -10
- package/dist/core/embeddings.d.ts.map +1 -1
- package/dist/core/embeddings.js +54 -38
- package/dist/core/embeddings.js.map +1 -1
- package/dist/core/ml-worker-entry.d.ts +17 -0
- package/dist/core/ml-worker-entry.d.ts.map +1 -0
- package/dist/core/ml-worker-entry.js +193 -0
- package/dist/core/ml-worker-entry.js.map +1 -0
- package/dist/core/ml-worker.d.ts +59 -0
- package/dist/core/ml-worker.d.ts.map +1 -0
- package/dist/core/ml-worker.js +253 -0
- package/dist/core/ml-worker.js.map +1 -0
- package/dist/core/query-expander.d.ts +13 -15
- package/dist/core/query-expander.d.ts.map +1 -1
- package/dist/core/query-expander.js +48 -54
- package/dist/core/query-expander.js.map +1 -1
- package/dist/core/reranker.d.ts +9 -19
- package/dist/core/reranker.d.ts.map +1 -1
- package/dist/core/reranker.js +33 -35
- package/dist/core/reranker.js.map +1 -1
- package/dist/core/salience.d.ts +32 -5
- package/dist/core/salience.d.ts.map +1 -1
- package/dist/core/salience.js +201 -28
- package/dist/core/salience.js.map +1 -1
- package/dist/core/write-pipeline.d.ts +10 -2
- package/dist/core/write-pipeline.d.ts.map +1 -1
- package/dist/core/write-pipeline.js +218 -49
- package/dist/core/write-pipeline.js.map +1 -1
- package/dist/engine/activation.d.ts +2 -2
- package/dist/engine/activation.d.ts.map +1 -1
- package/dist/engine/activation.js +238 -115
- package/dist/engine/activation.js.map +1 -1
- package/dist/engine/confidence.d.ts +62 -0
- package/dist/engine/confidence.d.ts.map +1 -0
- package/dist/engine/confidence.js +100 -0
- package/dist/engine/confidence.js.map +1 -0
- package/dist/engine/connections.d.ts +47 -8
- package/dist/engine/connections.d.ts.map +1 -1
- package/dist/engine/connections.js +83 -22
- package/dist/engine/connections.js.map +1 -1
- package/dist/engine/consolidation-scheduler.d.ts +46 -10
- package/dist/engine/consolidation-scheduler.d.ts.map +1 -1
- package/dist/engine/consolidation-scheduler.js +170 -50
- package/dist/engine/consolidation-scheduler.js.map +1 -1
- package/dist/engine/consolidation.d.ts +16 -2
- package/dist/engine/consolidation.d.ts.map +1 -1
- package/dist/engine/consolidation.js +143 -44
- package/dist/engine/consolidation.js.map +1 -1
- package/dist/engine/eval.d.ts +2 -2
- package/dist/engine/eval.d.ts.map +1 -1
- package/dist/engine/eval.js +9 -9
- package/dist/engine/eval.js.map +1 -1
- package/dist/engine/eviction.d.ts +4 -4
- package/dist/engine/eviction.d.ts.map +1 -1
- package/dist/engine/eviction.js +15 -15
- package/dist/engine/eviction.js.map +1 -1
- package/dist/engine/retraction.d.ts +93 -5
- package/dist/engine/retraction.d.ts.map +1 -1
- package/dist/engine/retraction.js +238 -19
- package/dist/engine/retraction.js.map +1 -1
- package/dist/engine/staging.d.ts +1 -1
- package/dist/engine/staging.d.ts.map +1 -1
- package/dist/engine/staging.js +3 -3
- package/dist/engine/staging.js.map +1 -1
- package/dist/hooks/sidecar.d.ts +1 -1
- package/dist/hooks/sidecar.d.ts.map +1 -1
- package/dist/hooks/sidecar.js +4 -4
- package/dist/hooks/sidecar.js.map +1 -1
- package/dist/index.js +48 -31
- package/dist/index.js.map +1 -1
- package/dist/mcp.js +167 -141
- package/dist/mcp.js.map +1 -1
- package/dist/storage/factory.d.ts +55 -0
- package/dist/storage/factory.d.ts.map +1 -0
- package/dist/storage/factory.js +135 -0
- package/dist/storage/factory.js.map +1 -0
- package/dist/storage/pglite-schema.d.ts +20 -0
- package/dist/storage/pglite-schema.d.ts.map +1 -0
- package/dist/storage/pglite-schema.js +165 -0
- package/dist/storage/pglite-schema.js.map +1 -0
- package/dist/storage/pglite.d.ts +187 -0
- package/dist/storage/pglite.d.ts.map +1 -0
- package/dist/storage/pglite.js +1114 -0
- package/dist/storage/pglite.js.map +1 -0
- package/dist/storage/sqlite.d.ts +117 -0
- package/dist/storage/sqlite.d.ts.map +1 -1
- package/dist/storage/sqlite.js +357 -8
- package/dist/storage/sqlite.js.map +1 -1
- package/dist/storage/store.d.ts +63 -0
- package/dist/storage/store.d.ts.map +1 -0
- package/dist/storage/store.js +27 -0
- package/dist/storage/store.js.map +1 -0
- package/dist/types/engram.d.ts +92 -2
- package/dist/types/engram.d.ts.map +1 -1
- package/dist/types/engram.js.map +1 -1
- package/package.json +3 -1
- package/src/adapters/claude-code.ts +218 -218
- package/src/adapters/codex.ts +252 -252
- package/src/adapters/common.ts +411 -411
- package/src/adapters/cursor.ts +135 -135
- package/src/adapters/http.ts +93 -93
- package/src/adapters/index.ts +31 -31
- package/src/adapters/types.ts +75 -75
- package/src/api/index.ts +3 -3
- package/src/api/routes.ts +970 -714
- package/src/cli/migrate.ts +307 -0
- package/src/cli.ts +755 -719
- package/src/coordination/circuit-breaker.ts +83 -0
- package/src/coordination/events.ts +90 -90
- package/src/coordination/failure-modes.ts +50 -0
- package/src/coordination/peer-decisions.ts +105 -105
- package/src/coordination/plugin-loader.ts +60 -60
- package/src/coordination/plugin.ts +44 -44
- package/src/coordination/routes.ts +56 -1
- package/src/coordination/schema.ts +13 -0
- package/src/coordination/stale.ts +80 -11
- package/src/coordination/types.ts +311 -311
- package/src/coordination/write-mutex.ts +69 -69
- package/src/core/auto-tagger.ts +168 -168
- package/src/core/decay.ts +63 -63
- package/src/core/embeddings.ts +110 -93
- package/src/core/index.ts +5 -5
- package/src/core/logger.ts +36 -36
- package/src/core/ml-worker-entry.ts +194 -0
- package/src/core/ml-worker.ts +281 -0
- package/src/core/query-expander.ts +122 -128
- package/src/core/reranker.ts +119 -125
- package/src/core/salience.ts +200 -33
- package/src/core/write-pipeline.ts +521 -343
- package/src/engine/activation.ts +235 -109
- package/src/engine/confidence.ts +120 -0
- package/src/engine/connections.ts +162 -103
- package/src/engine/consolidation-scheduler.ts +242 -125
- package/src/engine/consolidation.ts +138 -45
- package/src/engine/eval.ts +102 -102
- package/src/engine/eviction.ts +101 -101
- package/src/engine/index.ts +8 -8
- package/src/engine/retraction.ts +366 -116
- package/src/engine/staging.ts +74 -74
- package/src/hooks/sidecar.ts +5 -5
- package/src/index.ts +226 -212
- package/src/mcp.ts +1145 -1121
- package/src/storage/factory.ts +147 -0
- package/src/storage/index.ts +3 -3
- package/src/storage/pglite-schema.ts +166 -0
- package/src/storage/pglite.ts +1363 -0
- package/src/storage/sqlite.ts +402 -7
- package/src/storage/store.ts +80 -0
- package/src/types/agent.ts +67 -67
- package/src/types/checkpoint.ts +46 -46
- package/src/types/engram.ts +101 -3
- package/src/types/eval.ts +100 -100
- package/src/types/index.ts +6 -6
|
@@ -60,6 +60,35 @@ const REDUNDANCY_THRESHOLD = 0.75;
|
|
|
60
60
|
const MAX_REDUNDANCY_PRUNE_PER_CYCLE = 25;
|
|
61
61
|
/** Max confidence drift per consolidation cycle (prevents runaway) */
|
|
62
62
|
const CONFIDENCE_DRIFT_CAP = 0.03;
|
|
63
|
+
/**
|
|
64
|
+
* Content fade — Paper 1 (PLOS Comp Biology, storage degradation).
|
|
65
|
+
* Memories whose content has not been recalled in a long time get coarsened:
|
|
66
|
+
* the content string is trimmed to FADE_KEEP_CHARS with a "[faded]" marker,
|
|
67
|
+
* while concept, tags, and embedding are preserved.
|
|
68
|
+
*
|
|
69
|
+
* Rationale: human memory degrades the detailed surface but retains the gist
|
|
70
|
+
* and the cue-association pathway. The faded engram still surfaces by tag/concept
|
|
71
|
+
* BM25 and by vector similarity (embedding preserved), but the full content body
|
|
72
|
+
* is gone — which is the correct behavior for a memory that has not been useful
|
|
73
|
+
* enough to rehearse in a long time.
|
|
74
|
+
*
|
|
75
|
+
* Fade comes BEFORE archive in the lifecycle (active → fading → archived → deleted),
|
|
76
|
+
* applied only to engrams that have been accessed at least once. Engrams that have
|
|
77
|
+
* never been accessed go straight to archive via the standard forgetting path —
|
|
78
|
+
* they have no surface worth preserving.
|
|
79
|
+
*
|
|
80
|
+
* Env: AWM_FADE_DAYS_SINCE_ACCESS (default 45),
|
|
81
|
+
* AWM_FADE_KEEP_CHARS (default 150),
|
|
82
|
+
* AWM_FADE_MIN_CONTENT_LEN (default 250),
|
|
83
|
+
* AWM_FADE_MAX_PER_CYCLE (default 25).
|
|
84
|
+
*/
|
|
85
|
+
const FADE_DAYS_SINCE_ACCESS = Number(process.env.AWM_FADE_DAYS_SINCE_ACCESS ?? 45);
|
|
86
|
+
const FADE_KEEP_CHARS = Number(process.env.AWM_FADE_KEEP_CHARS ?? 150);
|
|
87
|
+
const FADE_MIN_CONTENT_LEN = Number(process.env.AWM_FADE_MIN_CONTENT_LEN ?? 250);
|
|
88
|
+
const FADE_MAX_PER_CYCLE = Number(process.env.AWM_FADE_MAX_PER_CYCLE ?? 25);
|
|
89
|
+
const FADE_PROTECTED_ACCESS_COUNT = 10;
|
|
90
|
+
const FADE_MARKER = '… [faded]';
|
|
91
|
+
const FADE_PROTECTED_CLASSES = new Set(['canonical', 'structural']);
|
|
63
92
|
/** Days without recall before confidence starts drifting down */
|
|
64
93
|
const CONFIDENCE_NEGLECT_DAYS = 30;
|
|
65
94
|
const MAX_SYNTHESES_PER_CYCLE = 5;
|
|
@@ -72,22 +101,46 @@ const SYNTH_STOPWORDS = new Set(['the', 'is', 'a', 'an', 'and', 'or', 'of', 'to'
|
|
|
72
101
|
'here', 'there', 'some', 'more', 'very', 'been', 'have', 'what', 'when', 'how', 'they']);
|
|
73
102
|
export class ConsolidationEngine {
|
|
74
103
|
store;
|
|
75
|
-
|
|
104
|
+
connectionEngine;
|
|
105
|
+
/**
|
|
106
|
+
* Optional `connectionEngine` is drained at the start of each
|
|
107
|
+
* consolidation pass (v0.8.2). Connection discovery is no longer
|
|
108
|
+
* triggered per write — the work batches into the existing sleep cycle
|
|
109
|
+
* so writes return in ~50 ms instead of being pegged by an inline
|
|
110
|
+
* embed + rerank cycle (~200-500 ms/write under load).
|
|
111
|
+
*/
|
|
112
|
+
constructor(store, connectionEngine) {
|
|
76
113
|
this.store = store;
|
|
114
|
+
this.connectionEngine = connectionEngine ?? null;
|
|
77
115
|
}
|
|
78
116
|
/**
|
|
79
117
|
* Run a full sleep cycle for an agent.
|
|
80
118
|
*
|
|
119
|
+
* Phase 0: Connection drain — discover associations for engrams enqueued
|
|
120
|
+
* by writes since the last consolidation (v0.8.2)
|
|
81
121
|
* Phase 1: Replay — find clusters of semantically similar memories
|
|
82
122
|
* Phase 2: Strengthen — reinforce edges within clusters (access-weighted)
|
|
83
123
|
* Phase 3: Bridge — create cross-cluster shortcuts
|
|
84
124
|
* Phase 4: Decay — weaken unused edges, prune dead ones
|
|
85
125
|
* Phase 5: Homeostasis — normalize outgoing edge weights per node
|
|
126
|
+
* Phase 5.5: Content fade — coarsen un-recalled engrams (Paper 1)
|
|
86
127
|
* Phase 6: Forget — archive/delete memories never retrieved (age-gated)
|
|
128
|
+
* Phase 6.5: Redundancy prune
|
|
87
129
|
* Phase 6.7: Confidence drift — adjust confidence based on structural signals
|
|
88
130
|
* Phase 7: Sweep — check staging buffer for resonance
|
|
89
131
|
*/
|
|
90
132
|
async consolidate(agentId) {
|
|
133
|
+
// --- Phase 0: Connection drain ---
|
|
134
|
+
// Discover associations for engrams enqueued by writes since the last
|
|
135
|
+
// consolidation. Per-write inline discovery was removed in v0.8.2
|
|
136
|
+
// because each findConnections() call runs a full activation cycle
|
|
137
|
+
// (embed + rerank, ~200-500 ms event-loop block per write).
|
|
138
|
+
if (this.connectionEngine) {
|
|
139
|
+
try {
|
|
140
|
+
await this.connectionEngine.processQueue();
|
|
141
|
+
}
|
|
142
|
+
catch { /* best-effort */ }
|
|
143
|
+
}
|
|
91
144
|
const result = {
|
|
92
145
|
clustersFound: 0,
|
|
93
146
|
edgesStrengthened: 0,
|
|
@@ -98,6 +151,7 @@ export class ConsolidationEngine {
|
|
|
98
151
|
edgesNormalized: 0,
|
|
99
152
|
memoriesForgotten: 0,
|
|
100
153
|
memoriesArchived: 0,
|
|
154
|
+
memoriesFaded: 0,
|
|
101
155
|
redundancyPruned: 0,
|
|
102
156
|
confidenceAdjusted: 0,
|
|
103
157
|
stagingPromoted: 0,
|
|
@@ -107,7 +161,7 @@ export class ConsolidationEngine {
|
|
|
107
161
|
};
|
|
108
162
|
// --- Phase 1: Replay ---
|
|
109
163
|
// Get all active engrams, backfill missing embeddings
|
|
110
|
-
const allActive = this.store.getEngramsByAgent(agentId, 'active');
|
|
164
|
+
const allActive = await this.store.getEngramsByAgent(agentId, 'active');
|
|
111
165
|
const needsEmbedding = allActive.filter(e => !e.embedding || e.embedding.length === 0);
|
|
112
166
|
if (needsEmbedding.length > 0) {
|
|
113
167
|
try {
|
|
@@ -120,7 +174,7 @@ export class ConsolidationEngine {
|
|
|
120
174
|
const texts = batch.map(e => `${e.concept} ${e.content}`);
|
|
121
175
|
const vecs = await embedBatch(texts);
|
|
122
176
|
for (let j = 0; j < batch.length; j++) {
|
|
123
|
-
this.store.updateEmbedding(batch[j].id, vecs[j], modelId);
|
|
177
|
+
await this.store.updateEmbedding(batch[j].id, vecs[j], modelId);
|
|
124
178
|
batch[j].embedding = vecs[j];
|
|
125
179
|
}
|
|
126
180
|
}
|
|
@@ -134,10 +188,10 @@ export class ConsolidationEngine {
|
|
|
134
188
|
}
|
|
135
189
|
const engrams = allActive.filter(e => e.embedding && e.embedding.length > 0);
|
|
136
190
|
result.engramsProcessed = engrams.length;
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
//
|
|
140
|
-
const clusters = this.findClusters(engrams);
|
|
191
|
+
// Clustering requires at least two engrams to form pairs. Per-engram phases
|
|
192
|
+
// (fade, forget, confidence drift, staging sweep) still run for singletons —
|
|
193
|
+
// they don't need a graph.
|
|
194
|
+
const clusters = engrams.length >= 2 ? this.findClusters(engrams) : [];
|
|
141
195
|
result.clustersFound = clusters.length;
|
|
142
196
|
// --- Phase 2: Strengthen (access-weighted) ---
|
|
143
197
|
// Memories that are retrieved more often get stronger consolidation.
|
|
@@ -150,14 +204,14 @@ export class ConsolidationEngine {
|
|
|
150
204
|
const b = cluster[j];
|
|
151
205
|
// Access-weighted signal: more retrieved = stronger consolidation
|
|
152
206
|
const accessFactor = Math.min(1.0, 0.3 + 0.7 * Math.log1p(a.accessCount + b.accessCount) / Math.log1p(20));
|
|
153
|
-
const existing = this.store.getAssociation(a.id, b.id);
|
|
207
|
+
const existing = await this.store.getAssociation(a.id, b.id);
|
|
154
208
|
if (existing) {
|
|
155
209
|
const newWeight = strengthenAssociation(existing.weight, CONSOLIDATION_SIGNAL * accessFactor, 0.25);
|
|
156
|
-
this.store.upsertAssociation(a.id, b.id, newWeight, existing.type, existing.confidence);
|
|
210
|
+
await this.store.upsertAssociation(a.id, b.id, newWeight, existing.type, existing.confidence);
|
|
157
211
|
result.edgesStrengthened++;
|
|
158
212
|
}
|
|
159
213
|
else if (newEdges < MAX_NEW_EDGES_PER_CYCLE) {
|
|
160
|
-
this.store.upsertAssociation(a.id, b.id, INITIAL_EDGE_WEIGHT * accessFactor, 'connection');
|
|
214
|
+
await this.store.upsertAssociation(a.id, b.id, INITIAL_EDGE_WEIGHT * accessFactor, 'connection');
|
|
161
215
|
newEdges++;
|
|
162
216
|
result.edgesCreated++;
|
|
163
217
|
}
|
|
@@ -221,7 +275,7 @@ export class ConsolidationEngine {
|
|
|
221
275
|
`Key topics: ${keyTerms.slice(0, 8).join(', ')}.`,
|
|
222
276
|
`Discussed: ${keyTerms.slice(8).join(', ')}.`,
|
|
223
277
|
].join(' ');
|
|
224
|
-
const synthEngram = this.store.createEngram({
|
|
278
|
+
const synthEngram = await this.store.createEngram({
|
|
225
279
|
agentId,
|
|
226
280
|
concept: `session: ${tag} (${keyTerms.slice(0, 3).join(', ')})`,
|
|
227
281
|
content: synthContent,
|
|
@@ -233,11 +287,11 @@ export class ConsolidationEngine {
|
|
|
233
287
|
// Set embedding to group centroid
|
|
234
288
|
const centroid = this.computeCentroid(group);
|
|
235
289
|
if (centroid.length > 0) {
|
|
236
|
-
this.store.updateEmbedding(synthEngram.id, centroid);
|
|
290
|
+
await this.store.updateEmbedding(synthEngram.id, centroid);
|
|
237
291
|
}
|
|
238
292
|
// Link to sources
|
|
239
293
|
for (const source of group.slice(0, 10)) { // Cap links to prevent explosion
|
|
240
|
-
this.store.upsertAssociation(synthEngram.id, source.id, 0.4, 'causal');
|
|
294
|
+
await this.store.upsertAssociation(synthEngram.id, source.id, 0.4, 'causal');
|
|
241
295
|
}
|
|
242
296
|
synthCount++;
|
|
243
297
|
result.synthesesCreated++;
|
|
@@ -279,7 +333,7 @@ export class ConsolidationEngine {
|
|
|
279
333
|
`Pattern across ${sessionTags.size} sessions (${cluster.length} memories).`,
|
|
280
334
|
`Common themes: ${keyTerms.join(', ')}.`,
|
|
281
335
|
].join(' ');
|
|
282
|
-
const synthEngram = this.store.createEngram({
|
|
336
|
+
const synthEngram = await this.store.createEngram({
|
|
283
337
|
agentId,
|
|
284
338
|
concept: `pattern: ${keyTerms.slice(0, 3).join(', ')}`,
|
|
285
339
|
content: synthContent,
|
|
@@ -290,10 +344,10 @@ export class ConsolidationEngine {
|
|
|
290
344
|
});
|
|
291
345
|
const centroid = this.computeCentroid(cluster);
|
|
292
346
|
if (centroid.length > 0) {
|
|
293
|
-
this.store.updateEmbedding(synthEngram.id, centroid);
|
|
347
|
+
await this.store.updateEmbedding(synthEngram.id, centroid);
|
|
294
348
|
}
|
|
295
349
|
for (const source of cluster.slice(0, 8)) {
|
|
296
|
-
this.store.upsertAssociation(synthEngram.id, source.id, 0.3, 'bridge');
|
|
350
|
+
await this.store.upsertAssociation(synthEngram.id, source.id, 0.3, 'bridge');
|
|
297
351
|
}
|
|
298
352
|
synthCount++;
|
|
299
353
|
result.synthesesCreated++;
|
|
@@ -323,10 +377,10 @@ export class ConsolidationEngine {
|
|
|
323
377
|
}
|
|
324
378
|
}
|
|
325
379
|
if (bestA && bestB && bestSim > MIN_BRIDGE_SIM) {
|
|
326
|
-
const existing = this.store.getAssociation(bestA.id, bestB.id);
|
|
380
|
+
const existing = await this.store.getAssociation(bestA.id, bestB.id);
|
|
327
381
|
if (!existing) {
|
|
328
|
-
this.store.upsertAssociation(bestA.id, bestB.id, bestSim, 'bridge');
|
|
329
|
-
this.store.upsertAssociation(bestB.id, bestA.id, bestSim, 'bridge');
|
|
382
|
+
await this.store.upsertAssociation(bestA.id, bestB.id, bestSim, 'bridge');
|
|
383
|
+
await this.store.upsertAssociation(bestB.id, bestA.id, bestSim, 'bridge');
|
|
330
384
|
bridges++;
|
|
331
385
|
result.bridgesCreated++;
|
|
332
386
|
}
|
|
@@ -340,7 +394,7 @@ export class ConsolidationEngine {
|
|
|
340
394
|
// practiced memories are more resistant to forgetting in the brain.
|
|
341
395
|
// Base half-life: 7 days. High-confidence (0.8+) gets up to 30 days.
|
|
342
396
|
const engramMap = new Map(engrams.map(e => [e.id, e]));
|
|
343
|
-
const associations = this.store.getAllAssociations(agentId);
|
|
397
|
+
const associations = await this.store.getAllAssociations(agentId);
|
|
344
398
|
for (const assoc of associations) {
|
|
345
399
|
const daysSince = (Date.now() - assoc.lastActivated.getTime()) / (1000 * 60 * 60 * 24);
|
|
346
400
|
if (daysSince < 0.5)
|
|
@@ -356,11 +410,11 @@ export class ConsolidationEngine {
|
|
|
356
410
|
);
|
|
357
411
|
const newWeight = decayAssociation(assoc.weight, daysSince, halfLifeDays);
|
|
358
412
|
if (newWeight < PRUNE_THRESHOLD) {
|
|
359
|
-
this.store.deleteAssociation(assoc.id);
|
|
413
|
+
await this.store.deleteAssociation(assoc.id);
|
|
360
414
|
result.edgesPruned++;
|
|
361
415
|
}
|
|
362
416
|
else if (Math.abs(newWeight - assoc.weight) > 0.001) {
|
|
363
|
-
this.store.upsertAssociation(assoc.fromEngramId, assoc.toEngramId, newWeight, assoc.type, assoc.confidence);
|
|
417
|
+
await this.store.upsertAssociation(assoc.fromEngramId, assoc.toEngramId, newWeight, assoc.type, assoc.confidence);
|
|
364
418
|
result.edgesDecayed++;
|
|
365
419
|
}
|
|
366
420
|
}
|
|
@@ -369,23 +423,60 @@ export class ConsolidationEngine {
|
|
|
369
423
|
// Nodes with many strong edges get scaled down so relative weights stay meaningful.
|
|
370
424
|
const engramIds = new Set(engrams.map(e => e.id));
|
|
371
425
|
for (const id of engramIds) {
|
|
372
|
-
const outgoing = this.store.getOutgoingAssociations(id);
|
|
426
|
+
const outgoing = await this.store.getOutgoingAssociations(id);
|
|
373
427
|
const totalWeight = outgoing.reduce((sum, a) => sum + a.weight, 0);
|
|
374
428
|
if (totalWeight > HOMEOSTASIS_TARGET) {
|
|
375
429
|
const scale = HOMEOSTASIS_TARGET / totalWeight;
|
|
376
430
|
for (const edge of outgoing) {
|
|
377
431
|
const newWeight = edge.weight * scale;
|
|
378
432
|
if (newWeight < PRUNE_THRESHOLD) {
|
|
379
|
-
this.store.deleteAssociation(edge.id);
|
|
433
|
+
await this.store.deleteAssociation(edge.id);
|
|
380
434
|
result.edgesPruned++;
|
|
381
435
|
}
|
|
382
436
|
else {
|
|
383
|
-
this.store.upsertAssociation(edge.fromEngramId, edge.toEngramId, newWeight, edge.type, edge.confidence);
|
|
437
|
+
await this.store.upsertAssociation(edge.fromEngramId, edge.toEngramId, newWeight, edge.type, edge.confidence);
|
|
384
438
|
}
|
|
385
439
|
}
|
|
386
440
|
result.edgesNormalized++;
|
|
387
441
|
}
|
|
388
442
|
}
|
|
443
|
+
// --- Phase 5.5: Content fade (Paper 1: storage degradation) ---
|
|
444
|
+
// Coarsens engrams that have been accessed before but have gone stale.
|
|
445
|
+
// Trims content surface area while preserving concept, tags, and embedding so
|
|
446
|
+
// the engram still participates in BM25 + vector recall — just with less
|
|
447
|
+
// body to score against. This models how human memory loses surface detail
|
|
448
|
+
// while retaining cue-association pathways.
|
|
449
|
+
//
|
|
450
|
+
// Fade applies only to accessed engrams (the never-accessed ones go straight
|
|
451
|
+
// to archive via Phase 6). Heavily-used (accessCount >= FADE_PROTECTED_ACCESS_COUNT),
|
|
452
|
+
// canonical, structural, and short-content engrams are excluded.
|
|
453
|
+
let fadeCount = 0;
|
|
454
|
+
for (const engram of engrams) {
|
|
455
|
+
if (fadeCount >= FADE_MAX_PER_CYCLE)
|
|
456
|
+
break;
|
|
457
|
+
if (engram.accessCount === 0)
|
|
458
|
+
continue;
|
|
459
|
+
if (engram.accessCount >= FADE_PROTECTED_ACCESS_COUNT)
|
|
460
|
+
continue;
|
|
461
|
+
if (FADE_PROTECTED_CLASSES.has(engram.memoryClass))
|
|
462
|
+
continue;
|
|
463
|
+
if (engram.retracted)
|
|
464
|
+
continue;
|
|
465
|
+
if (engram.content.length < FADE_MIN_CONTENT_LEN)
|
|
466
|
+
continue;
|
|
467
|
+
if (engram.content.endsWith(FADE_MARKER))
|
|
468
|
+
continue; // Already faded
|
|
469
|
+
const daysSinceAccess = (Date.now() - engram.lastAccessed.getTime()) / (1000 * 60 * 60 * 24);
|
|
470
|
+
if (daysSinceAccess < FADE_DAYS_SINCE_ACCESS)
|
|
471
|
+
continue;
|
|
472
|
+
const trimmed = engram.content.slice(0, FADE_KEEP_CHARS).trimEnd() + FADE_MARKER;
|
|
473
|
+
await this.store.updateContent(engram.id, trimmed);
|
|
474
|
+
await this.store.updateStage(engram.id, 'fading');
|
|
475
|
+
engram.content = trimmed;
|
|
476
|
+
engram.stage = 'fading';
|
|
477
|
+
result.memoriesFaded++;
|
|
478
|
+
fadeCount++;
|
|
479
|
+
}
|
|
389
480
|
// --- Phase 6: Forgetting (age-gated) ---
|
|
390
481
|
// Models how human memory actually works:
|
|
391
482
|
// - New memories get a grace period (too new to judge)
|
|
@@ -400,17 +491,25 @@ export class ConsolidationEngine {
|
|
|
400
491
|
// Compute edge count percentile for relative protection threshold.
|
|
401
492
|
// With avg 12 edges/node, an absolute threshold of 3 protects everything.
|
|
402
493
|
// Use 25th percentile so "weakly connected" is relative to actual graph density.
|
|
403
|
-
const edgeCounts = engrams.map(e => this.store.countAssociationsFor(e.id));
|
|
494
|
+
const edgeCounts = await Promise.all(engrams.map(async (e) => await this.store.countAssociationsFor(e.id)));
|
|
404
495
|
edgeCounts.sort((a, b) => a - b);
|
|
405
496
|
const percentileIdx = Math.floor(edgeCounts.length * EDGE_PROTECTION_PERCENTILE);
|
|
406
497
|
const baseEdgeThreshold = edgeCounts.length > 0 ? edgeCounts[percentileIdx] : 3;
|
|
407
498
|
// Get consolidation cycle count for cycle-based archiving
|
|
408
|
-
const cycleCount = this.store.getConsolidationCycleCount(agentId);
|
|
499
|
+
const cycleCount = await this.store.getConsolidationCycleCount(agentId);
|
|
409
500
|
for (const engram of engrams) {
|
|
501
|
+
// Skip engrams that just transitioned to 'fading' in Phase 5.5 this cycle.
|
|
502
|
+
// Fade is intended as an intermediate stage between active and archived —
|
|
503
|
+
// the engram should live in 'fading' for at least one more recall window
|
|
504
|
+
// before being eligible for archival. Without this guard, a same-cycle
|
|
505
|
+
// fade-then-archive sequence collapses the active pool to zero (observed
|
|
506
|
+
// in the stress test scale phase around cycle 90).
|
|
507
|
+
if (engram.stage !== 'active')
|
|
508
|
+
continue;
|
|
410
509
|
const ageDays = (Date.now() - engram.createdAt.getTime()) / (1000 * 60 * 60 * 24);
|
|
411
510
|
if (ageDays < FORGET_GRACE_DAYS)
|
|
412
511
|
continue; // Grace period — too new to judge
|
|
413
|
-
const edgeCount = this.store.countAssociationsFor(engram.id);
|
|
512
|
+
const edgeCount = await this.store.countAssociationsFor(engram.id);
|
|
414
513
|
// Use relative threshold (percentile-based) instead of absolute.
|
|
415
514
|
// High-confidence memories need fewer edges to survive.
|
|
416
515
|
const confReduction = engram.confidence > 0.7
|
|
@@ -422,7 +521,7 @@ export class ConsolidationEngine {
|
|
|
422
521
|
// Cycle-based archive: 0-access memories archived after N cycles
|
|
423
522
|
// regardless of age. Handles small pools where time thresholds are too generous.
|
|
424
523
|
if (engram.accessCount === 0 && cycleCount >= FORGET_CYCLE_THRESHOLD) {
|
|
425
|
-
this.store.updateStage(engram.id, 'archived');
|
|
524
|
+
await this.store.updateStage(engram.id, 'archived');
|
|
426
525
|
result.memoriesArchived++;
|
|
427
526
|
continue;
|
|
428
527
|
}
|
|
@@ -439,23 +538,23 @@ export class ConsolidationEngine {
|
|
|
439
538
|
const daysSinceAccess = (Date.now() - engram.lastAccessed.getTime()) / (1000 * 60 * 60 * 24);
|
|
440
539
|
if (engram.accessCount === 0 && ageDays > FORGET_ARCHIVE_DAYS) {
|
|
441
540
|
// Never retrieved, old, weakly connected → archive
|
|
442
|
-
this.store.updateStage(engram.id, 'archived');
|
|
541
|
+
await this.store.updateStage(engram.id, 'archived');
|
|
443
542
|
result.memoriesArchived++;
|
|
444
543
|
}
|
|
445
544
|
else if (engram.accessCount > 0 && daysSinceAccess > effectiveArchiveDays) {
|
|
446
545
|
// Accessed before but not recently enough given its strength — archive
|
|
447
|
-
this.store.updateStage(engram.id, 'archived');
|
|
546
|
+
await this.store.updateStage(engram.id, 'archived');
|
|
448
547
|
result.memoriesArchived++;
|
|
449
548
|
}
|
|
450
549
|
}
|
|
451
550
|
// Check archived memories for deletion — only truly orphaned ancient ones
|
|
452
|
-
const archived = this.store.getEngramsByAgent(agentId, 'archived');
|
|
551
|
+
const archived = await this.store.getEngramsByAgent(agentId, 'archived');
|
|
453
552
|
for (const engram of archived) {
|
|
454
553
|
const ageDays = (Date.now() - engram.createdAt.getTime()) / (1000 * 60 * 60 * 24);
|
|
455
|
-
const edgeCount = this.store.countAssociationsFor(engram.id);
|
|
554
|
+
const edgeCount = await this.store.countAssociationsFor(engram.id);
|
|
456
555
|
if (engram.accessCount === 0 && ageDays > FORGET_DELETE_DAYS && edgeCount === 0) {
|
|
457
556
|
// Very old, never accessed, completely isolated → truly forgotten
|
|
458
|
-
this.store.deleteEngram(engram.id);
|
|
557
|
+
await this.store.deleteEngram(engram.id);
|
|
459
558
|
result.memoriesForgotten++;
|
|
460
559
|
}
|
|
461
560
|
// Otherwise: stay archived — still searchable, just not in active recall
|
|
@@ -489,22 +588,22 @@ export class ConsolidationEngine {
|
|
|
489
588
|
const survivorId = sortedLow[i].id;
|
|
490
589
|
const prunedId = sortedLow[j].id;
|
|
491
590
|
// Transfer associations from pruned memory to survivor
|
|
492
|
-
const prunedEdges = this.store.getAssociationsFor(prunedId);
|
|
591
|
+
const prunedEdges = await this.store.getAssociationsFor(prunedId);
|
|
493
592
|
for (const edge of prunedEdges) {
|
|
494
593
|
const peerId = edge.fromEngramId === prunedId ? edge.toEngramId : edge.fromEngramId;
|
|
495
594
|
if (peerId === survivorId)
|
|
496
595
|
continue; // Skip self-loops
|
|
497
|
-
this.store.upsertAssociation(survivorId, peerId, edge.weight, edge.type, edge.confidence);
|
|
596
|
+
await this.store.upsertAssociation(survivorId, peerId, edge.weight, edge.type, edge.confidence);
|
|
498
597
|
}
|
|
499
598
|
// Merge tags from pruned to survivor
|
|
500
599
|
const survivor = sortedLow[i];
|
|
501
600
|
const prunedMem = sortedLow[j];
|
|
502
601
|
const mergedTags = [...new Set([...survivor.tags, ...prunedMem.tags])];
|
|
503
602
|
if (mergedTags.length > survivor.tags.length) {
|
|
504
|
-
this.store.updateTags(survivorId, mergedTags);
|
|
603
|
+
await this.store.updateTags(survivorId, mergedTags);
|
|
505
604
|
}
|
|
506
605
|
// Archive the lower-quality duplicate
|
|
507
|
-
this.store.updateStage(prunedId, 'archived');
|
|
606
|
+
await this.store.updateStage(prunedId, 'archived');
|
|
508
607
|
pruned.add(prunedId);
|
|
509
608
|
redundancyCount++;
|
|
510
609
|
}
|
|
@@ -533,7 +632,7 @@ export class ConsolidationEngine {
|
|
|
533
632
|
}
|
|
534
633
|
for (const engram of engrams) {
|
|
535
634
|
let drift = 0;
|
|
536
|
-
const edgeCount = this.store.countAssociationsFor(engram.id);
|
|
635
|
+
const edgeCount = await this.store.countAssociationsFor(engram.id);
|
|
537
636
|
const daysSinceAccess = (Date.now() - engram.lastAccessed.getTime()) / (1000 * 60 * 60 * 24);
|
|
538
637
|
// Signal 1: Cluster membership → small boost
|
|
539
638
|
if (clusteredIds.has(engram.id)) {
|
|
@@ -552,13 +651,13 @@ export class ConsolidationEngine {
|
|
|
552
651
|
drift = Math.max(-CONFIDENCE_DRIFT_CAP, Math.min(CONFIDENCE_DRIFT_CAP, drift));
|
|
553
652
|
const newConf = Math.max(0.15, Math.min(0.85, engram.confidence + drift));
|
|
554
653
|
if (Math.abs(newConf - engram.confidence) > 0.001) {
|
|
555
|
-
this.store.updateConfidence(engram.id, newConf);
|
|
654
|
+
await this.store.updateConfidence(engram.id, newConf);
|
|
556
655
|
result.confidenceAdjusted++;
|
|
557
656
|
}
|
|
558
657
|
}
|
|
559
658
|
}
|
|
560
659
|
// --- Phase 7: Sweep staging ---
|
|
561
|
-
const staging = this.store.getEngramsByAgent(agentId, 'staging')
|
|
660
|
+
const staging = (await this.store.getEngramsByAgent(agentId, 'staging'))
|
|
562
661
|
.filter(e => e.embedding && e.embedding.length > 0);
|
|
563
662
|
for (const staged of staging) {
|
|
564
663
|
const ageMs = Date.now() - staged.createdAt.getTime();
|
|
@@ -573,13 +672,13 @@ export class ConsolidationEngine {
|
|
|
573
672
|
}
|
|
574
673
|
if (maxSim >= 0.6) {
|
|
575
674
|
// Resonates — promote to active with low confidence (barely made it)
|
|
576
|
-
this.store.updateStage(staged.id, 'active');
|
|
577
|
-
this.store.updateConfidence(staged.id, 0.40);
|
|
675
|
+
await this.store.updateStage(staged.id, 'active');
|
|
676
|
+
await this.store.updateConfidence(staged.id, 0.40);
|
|
578
677
|
result.stagingPromoted++;
|
|
579
678
|
}
|
|
580
679
|
else if (ageMs > 24 * 60 * 60 * 1000) {
|
|
581
680
|
// Over 24h and no resonance — discard
|
|
582
|
-
this.store.deleteEngram(staged.id);
|
|
681
|
+
await this.store.deleteEngram(staged.id);
|
|
583
682
|
result.stagingDiscarded++;
|
|
584
683
|
}
|
|
585
684
|
// Otherwise: leave in staging, maybe next cycle
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consolidation.js","sourceRoot":"","sources":["../../src/engine/consolidation.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,sCAAsC;AACtC;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAI7E,iFAAiF;AACjF,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAElC;iFACiF;AACjF,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAE9B,qDAAqD;AACrD,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAE9B,iEAAiE;AACjE,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC,4EAA4E;AAC5E,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAEjC,wEAAwE;AACxE,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAEnC,2DAA2D;AAC3D,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAEtC,oDAAoD;AACpD,MAAM,eAAe,GAAG,IAAI,CAAC;AAE7B,+DAA+D;AAC/D,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEhC,yDAAyD;AACzD,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B,iEAAiE;AACjE,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAEjC,iFAAiF;AACjF,MAAM,0BAA0B,GAAG,IAAI,CAAC;AAExC,gEAAgE;AAChE,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAE/B,sFAAsF;AACtF,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAE9B;;sFAEsF;AACtF,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAElC;;yEAEyE;AACzE,MAAM,8BAA8B,GAAG,EAAE,CAAC;AAE1C,sEAAsE;AACtE,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAElC,iEAAiE;AACjE,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAoBnC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAClC,MAAM,8BAA8B,GAAG,CAAC,CAAC;AAEzC,wDAAwD;AACxD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK;IAC3F,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM;IAC1F,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM;IAC1F,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;IACxF,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAE3F,MAAM,OAAO,mBAAmB;IACtB,KAAK,CAAc;IAE3B,YAAY,KAAkB;QAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,WAAW,CAAC,OAAe;QAC/B,MAAM,MAAM,GAAwB;YAClC,aAAa,EAAE,CAAC;YAChB,iBAAiB,EAAE,CAAC;YACpB,YAAY,EAAE,CAAC;YACf,cAAc,EAAE,CAAC;YACjB,YAAY,EAAE,CAAC;YACf,WAAW,EAAE,CAAC;YACd,eAAe,EAAE,CAAC;YAClB,iBAAiB,EAAE,CAAC;YACpB,gBAAgB,EAAE,CAAC;YACnB,gBAAgB,EAAE,CAAC;YACnB,kBAAkB,EAAE,CAAC;YACrB,eAAe,EAAE,CAAC;YAClB,gBAAgB,EAAE,CAAC;YACnB,gBAAgB,EAAE,CAAC;YACnB,gBAAgB,EAAE,CAAC;SACpB,CAAC;QAEF,0BAA0B;QAC1B,sDAAsD;QACtD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAClE,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QACvF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;gBACzE,MAAM,UAAU,GAAG,EAAE,CAAC;gBACtB,MAAM,OAAO,GAAG,UAAU,EAAE,EAAE,IAAI,SAAS,CAAC;gBAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC;oBAC3D,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC;oBACtD,IAAI,CAAC;wBACH,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;wBAC1D,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC;wBACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;4BACtC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;4BAC1D,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBAC/B,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC,CAAC,oCAAoC,CAAC,CAAC;gBAClD,CAAC;gBACD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9B,OAAO,CAAC,GAAG,CAAC,8BAA8B,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,MAAM,IAAI,cAAc,CAAC,MAAM,uBAAuB,OAAO,GAAG,CAAC,CAAC;gBAC9J,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAC,mCAAmC,CAAC,CAAC;QACjD,CAAC;QACD,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE7E,MAAM,CAAC,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC;QACzC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,MAAM,CAAC;QAEtC,oCAAoC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,CAAC,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC;QAEvC,gDAAgD;QAChD,qEAAqE;QACrE,6EAA6E;QAC7E,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5C,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;oBACrB,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;oBAErB,kEAAkE;oBAClE,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAC3B,GAAG,EACH,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CACvE,CAAC;oBAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;oBACvD,IAAI,QAAQ,EAAE,CAAC;wBACb,MAAM,SAAS,GAAG,qBAAqB,CACrC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,GAAG,YAAY,EAAE,IAAI,CAC3D,CAAC;wBACF,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAC1B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAC1D,CAAC;wBACF,MAAM,CAAC,iBAAiB,EAAE,CAAC;oBAC7B,CAAC;yBAAM,IAAI,QAAQ,GAAG,uBAAuB,EAAE,CAAC;wBAC9C,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAC1B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,mBAAmB,GAAG,YAAY,EAAE,YAAY,CAC7D,CAAC;wBACF,QAAQ,EAAE,CAAC;wBACX,MAAM,CAAC,YAAY,EAAE,CAAC;oBACxB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,4CAA4C;QAC5C,EAAE;QACF,6CAA6C;QAC7C,0DAA0D;QAC1D,gEAAgE;QAChE,6DAA6D;QAC7D,EAAE;QACF,2CAA2C;QAC3C,kDAAkD;QAClD,uDAAuD;QACvD,6EAA6E;QAC7E,qEAAqE;QAErE,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,yDAAyD;QACzD,sEAAsE;QACtE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC9C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAAE,SAAS,CAAC,0BAA0B;YACvE,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBACzB,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAClF,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;oBACvC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACd,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,SAAS,EAAE,CAAC;YACrC,IAAI,KAAK,CAAC,MAAM,GAAG,8BAA8B;gBAAE,SAAS;YAC5D,IAAI,UAAU,IAAI,uBAAuB;gBAAE,MAAM;YAEjD,mDAAmD;YACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAChC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CACtD,CAAC;YACF,IAAI,QAAQ;gBAAE,SAAS;YAEvB,oCAAoC;YACpC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;YAC7C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACtB,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC3E,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;oBACtB,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC5C,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAClD,CAAC;gBACH,CAAC;YACH,CAAC;YACD,MAAM,QAAQ,GAAG,CAAC,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;iBACvC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC3B,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;iBACZ,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;YAEzB,yCAAyC;YACzC,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAEzD,MAAM,YAAY,GAAG;gBACnB,oBAAoB,GAAG,KAAK,KAAK,CAAC,MAAM,UAAU;gBAClD,eAAe,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBACjD,cAAc,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;aAC9C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEZ,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;gBAC1C,OAAO;gBACP,OAAO,EAAE,YAAY,GAAG,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBAC/D,OAAO,EAAE,YAAY;gBACrB,IAAI,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,oBAAoB,CAAC;gBAC/C,QAAQ,EAAE,GAAG;gBACb,UAAU,EAAE,IAAI;gBAChB,UAAU,EAAE,UAAU;aACvB,CAAC,CAAC;YAEH,kCAAkC;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YACvD,CAAC;YAED,kBAAkB;YAClB,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,iCAAiC;gBAC1E,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;YACzE,CAAC;YAED,UAAU,EAAE,CAAC;YACb,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5B,CAAC;QAED,8EAA8E;QAC9E,sFAAsF;QACtF,uFAAuF;QACvF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,OAAO,CAAC,MAAM,GAAG,8BAA8B;gBAAE,SAAS;YAC9D,IAAI,UAAU,IAAI,uBAAuB;gBAAE,MAAM;YACjD,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAAE,SAAS;YAE/D,mEAAmE;YACnE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;YACtC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;oBACzB,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;wBAAE,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC9E,CAAC;YACH,CAAC;YACD,IAAI,WAAW,CAAC,IAAI,GAAG,CAAC;gBAAE,SAAS,CAAC,0CAA0C;YAE9E,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;YAC7C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC3E,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;oBACtB,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC5C,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAClD,CAAC;gBACH,CAAC;YACH,CAAC;YACD,MAAM,QAAQ,GAAG,CAAC,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;iBACvC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC3B,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;iBACZ,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;YAEzB,MAAM,YAAY,GAAG;gBACnB,kBAAkB,WAAW,CAAC,IAAI,cAAc,OAAO,CAAC,MAAM,aAAa;gBAC3E,kBAAkB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;aACzC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEZ,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;gBAC1C,OAAO;gBACP,OAAO,EAAE,YAAY,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACtD,OAAO,EAAE,YAAY;gBACrB,IAAI,EAAE,CAAC,GAAG,WAAW,EAAE,YAAY,EAAE,oBAAoB,CAAC;gBAC1D,QAAQ,EAAE,GAAG,EAAQ,sBAAsB;gBAC3C,UAAU,EAAE,GAAG,EAAM,yCAAyC;gBAC9D,UAAU,EAAE,UAAU;aACvB,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAC/C,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YACvD,CAAC;YAED,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;YACzE,CAAC;YAED,UAAU,EAAE,CAAC;YACb,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5B,CAAC;QAED,iDAAiD;QACjD,+EAA+E;QAC/E,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,cAAc,GAAG,IAAI,CAAC;YAC5B,IAAI,OAAO,GAAG,CAAC,CAAC;YAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,IAAI,OAAO,GAAG,0BAA0B,EAAE,CAAC,EAAE,EAAE,CAAC;gBACjF,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,IAAI,OAAO,GAAG,0BAA0B,EAAE,CAAC,EAAE,EAAE,CAAC;oBACrF,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC;oBACjB,IAAI,KAAK,GAAkB,IAAI,CAAC;oBAChC,IAAI,KAAK,GAAkB,IAAI,CAAC;oBAChC,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC5B,IAAI,CAAC,CAAC,CAAC,SAAS;4BAAE,SAAS;wBAC3B,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;4BAC5B,IAAI,CAAC,CAAC,CAAC,SAAS;gCAAE,SAAS;4BAC3B,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;4BACrD,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC;gCAAC,OAAO,GAAG,CAAC,CAAC;gCAAC,KAAK,GAAG,CAAC,CAAC;gCAAC,KAAK,GAAG,CAAC,CAAC;4BAAC,CAAC;wBACzD,CAAC;oBACH,CAAC;oBACD,IAAI,KAAK,IAAI,KAAK,IAAI,OAAO,GAAG,cAAc,EAAE,CAAC;wBAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;wBAC/D,IAAI,CAAC,QAAQ,EAAE,CAAC;4BACd,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;4BACpE,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;4BACpE,OAAO,EAAE,CAAC;4BACV,MAAM,CAAC,cAAc,EAAE,CAAC;wBAC1B,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,gDAAgD;QAChD,wEAAwE;QACxE,mEAAmE;QACnE,oEAAoE;QACpE,qEAAqE;QACrE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC5D,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;YACjC,MAAM,SAAS,GACb,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YACvE,IAAI,SAAS,GAAG,GAAG;gBAAE,SAAS;YAE9B,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACjD,MAAM,QAAQ,GAAG,UAAU,EAAE,UAAU,IAAI,GAAG,CAAC;YAC/C,MAAM,MAAM,GAAG,QAAQ,EAAE,UAAU,IAAI,GAAG,CAAC;YAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,IAAI,CAAC,EAAE,QAAQ,EAAE,WAAW,IAAI,CAAC,CAAC,CAAC;YACrF,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YACrE,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAC3B,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,WAAW,EAC9D,EAAE,CAAC,wBAAwB;aAC5B,CAAC;YAEF,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;YAC1E,IAAI,SAAS,GAAG,eAAe,EAAE,CAAC;gBAChC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACvC,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,CAAC;iBAAM,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC;gBACtD,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAC1B,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,EACpC,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CACxC,CAAC;gBACF,MAAM,CAAC,YAAY,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;QAED,wCAAwC;QACxC,0EAA0E;QAC1E,oFAAoF;QACpF,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClD,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;YACxD,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACnE,IAAI,WAAW,GAAG,kBAAkB,EAAE,CAAC;gBACrC,MAAM,KAAK,GAAG,kBAAkB,GAAG,WAAW,CAAC;gBAC/C,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;oBAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;oBACtC,IAAI,SAAS,GAAG,eAAe,EAAE,CAAC;wBAChC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBACtC,MAAM,CAAC,WAAW,EAAE,CAAC;oBACvB,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAC1B,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAClC,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CACtC,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,MAAM,CAAC,eAAe,EAAE,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,0CAA0C;QAC1C,0CAA0C;QAC1C,uDAAuD;QACvD,8DAA8D;QAC9D,yEAAyE;QACzE,sEAAsE;QACtE,6DAA6D;QAC7D,sDAAsD;QACtD,EAAE;QACF,yEAAyE;QACzE,qDAAqD;QACrD,mEAAmE;QACnE,0EAA0E;QAC1E,iFAAiF;QACjF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3E,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACjC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,0BAA0B,CAAC,CAAC;QACjF,MAAM,iBAAiB,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhF,0DAA0D;QAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;QAElE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YAClF,IAAI,OAAO,GAAG,iBAAiB;gBAAE,SAAS,CAAC,kCAAkC;YAE7E,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAE7D,iEAAiE;YACjE,wDAAwD;YACxD,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,GAAG,GAAG;gBAC3C,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC9C,CAAC,CAAC,CAAC,CAAC;YACN,MAAM,uBAAuB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YACjG,IAAI,SAAS,GAAG,uBAAuB;gBAAE,SAAS;YAElD,iEAAiE;YACjE,iFAAiF;YACjF,IAAI,MAAM,CAAC,WAAW,KAAK,CAAC,IAAI,UAAU,IAAI,sBAAsB,EAAE,CAAC;gBACrE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;gBAC9C,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,SAAS;YACX,CAAC;YAED,2EAA2E;YAC3E,6EAA6E;YAC7E,oFAAoF;YACpF,wCAAwC;YACxC,oEAAoE;YACpE,uEAAuE;YACvE,gFAAgF;YAChF,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC;YAC9D,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;YACxE,MAAM,oBAAoB,GAAG,IAAI,CAAC,GAAG,CACnC,mBAAmB,GAAG,YAAY,GAAG,UAAU,EAC/C,mBAAmB,GAAG,EAAE,CACzB,CAAC;YAEF,MAAM,eAAe,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YAE7F,IAAI,MAAM,CAAC,WAAW,KAAK,CAAC,IAAI,OAAO,GAAG,mBAAmB,EAAE,CAAC;gBAC9D,mDAAmD;gBACnD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;gBAC9C,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC5B,CAAC;iBAAM,IAAI,MAAM,CAAC,WAAW,GAAG,CAAC,IAAI,eAAe,GAAG,oBAAoB,EAAE,CAAC;gBAC5E,uEAAuE;gBACvE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;gBAC9C,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACnE,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YAClF,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAE7D,IAAI,MAAM,CAAC,WAAW,KAAK,CAAC,IAAI,OAAO,GAAG,kBAAkB,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;gBAChF,kEAAkE;gBAClE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACnC,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC7B,CAAC;YACD,yEAAyE;QAC3E,CAAC;QAED,wCAAwC;QACxC,yEAAyE;QACzE,2EAA2E;QAC3E,2EAA2E;QAC3E,0EAA0E;QAC1E,mEAAmE;QACnE,wEAAwE;QACxE,8DAA8D;QAC9D,2EAA2E;QAC3E,6EAA6E;QAC7E,4EAA4E;QAC5E,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACxC,CAAC,CAAC,UAAU,GAAG,GAAG,IAAI,CAAC,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;QACjC,IAAI,eAAe,GAAG,CAAC,CAAC;QAExB,sEAAsE;QACtE,MAAM,SAAS,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAClD,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,UAAU,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC;QAE7E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,IAAI,eAAe,GAAG,8BAA8B,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9F,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAAE,SAAS;YAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,IAAI,eAAe,GAAG,8BAA8B,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClG,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAAE,SAAS;gBAC1C,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;oBAAE,SAAS;gBAEjE,MAAM,GAAG,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAU,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAU,CAAC,CAAC;gBAC/E,IAAI,GAAG,IAAI,oBAAoB,EAAE,CAAC;oBAChC,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnC,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAEjC,uDAAuD;oBACvD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;oBAC5D,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;wBAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;wBACpF,IAAI,MAAM,KAAK,UAAU;4BAAE,SAAS,CAAC,kBAAkB;wBACvD,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;oBAC5F,CAAC;oBAED,qCAAqC;oBACrC,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;oBAC9B,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;oBAC/B,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACvE,IAAI,UAAU,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;wBAC7C,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;oBAChD,CAAC;oBAED,sCAAsC;oBACtC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;oBAC7C,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACrB,eAAe,EAAE,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,CAAC,gBAAgB,GAAG,eAAe,CAAC;QAE1C,sCAAsC;QACtC,4EAA4E;QAC5E,0EAA0E;QAC1E,EAAE;QACF,iBAAiB;QACjB,2EAA2E;QAC3E,uEAAuE;QACvE,2EAA2E;QAC3E,mDAAmD;QACnD,sEAAsE;QACtE,yEAAyE;QACzE,EAAE;QACF,oEAAoE;QACpE,6EAA6E;QAC7E,wEAAwE;QACxE,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;QACvC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,KAAK,MAAM,CAAC,IAAI,OAAO;gBAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC7D,MAAM,eAAe,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YAE7F,6CAA6C;YAC7C,IAAI,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;gBAChC,KAAK,IAAI,IAAI,CAAC;YAChB,CAAC;YAED,uCAAuC;YACvC,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;gBACpB,KAAK,IAAI,IAAI,CAAC;YAChB,CAAC;YAED,4CAA4C;YAC5C,IAAI,eAAe,GAAG,uBAAuB,IAAI,MAAM,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;gBACzE,KAAK,IAAI,IAAI,CAAC;YAChB,CAAC;YAED,iBAAiB;YACjB,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC;gBAC5B,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,oBAAoB,EAAE,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC/E,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC;gBAC1E,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,KAAK,EAAE,CAAC;oBAClD,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;oBAChD,MAAM,CAAC,kBAAkB,EAAE,CAAC;gBAC9B,CAAC;YACH,CAAC;QACH,CAAC;QAED,iCAAiC;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC;aAC7D,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEtD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YAEtD,gEAAgE;YAChE,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS;oBAAE,SAAS;gBACrD,MAAM,GAAG,GAAG,gBAAgB,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;gBACjE,IAAI,GAAG,GAAG,MAAM;oBAAE,MAAM,GAAG,GAAG,CAAC;YACjC,CAAC;YAED,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;gBAClB,qEAAqE;gBACrE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;gBAC5C,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBAC7C,MAAM,CAAC,eAAe,EAAE,CAAC;YAC3B,CAAC;iBAAM,IAAI,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;gBACvC,sCAAsC;gBACtC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACnC,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC5B,CAAC;YACD,gDAAgD;QAClD,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH;;;;;OAKG;IACK,YAAY,CAAC,OAAiB;QACpC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,EAAE,CAAC;QAErB,oCAAoC;QACpC,MAAM,GAAG,GAAe,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACd,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;oBAAE,SAAS;gBAC7D,MAAM,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAU,CAAC,CAAC;gBACzE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACd,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAChB,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,GAAG,CAAS,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAAe,EAAE,CAAC;QAEhC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;aACtD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAEnE,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE,CAAC;YACjC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC;gBAAE,SAAS;YACvC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAE3B,MAAM,WAAW,GAAa,CAAC,OAAO,CAAC,CAAC;YACxC,IAAI,KAAK,GAAG,IAAI,CAAC;YAEjB,OAAO,KAAK,EAAE,CAAC;gBACb,KAAK,GAAG,KAAK,CAAC;gBACd,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC7C,IAAI,KAAK,GAAG,KAAK,CAAC;oBAClB,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;wBAC5B,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,oBAAoB,EAAE,CAAC;4BAAC,KAAK,GAAG,IAAI,CAAC;4BAAC,MAAM;wBAAC,CAAC;oBACvE,CAAC;oBACD,IAAI,CAAC,KAAK;wBAAE,SAAS;oBAErB,IAAI,SAAS,GAAG,IAAI,CAAC;oBACrB,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;wBAC5B,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,EAAE,CAAC;4BAAC,SAAS,GAAG,KAAK,CAAC;4BAAC,MAAM;wBAAC,CAAC;oBACvE,CAAC;oBACD,IAAI,CAAC,SAAS;wBAAE,SAAS;oBAEzB,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC1B,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAC3B,KAAK,GAAG,IAAI,CAAC;gBACf,CAAC;YACH,CAAC;YAED,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAC5B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,OAAiB;QACvC,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7E,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEtC,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAU,CAAC,MAAM,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAS,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChD,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7B,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAU,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,QAAQ,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC;QAClC,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"consolidation.js","sourceRoot":"","sources":["../../src/engine/consolidation.ts"],"names":[],"mappings":"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"}
|
package/dist/engine/eval.d.ts
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
*
|
|
10
10
|
* Task impact (with/without memory) is measured externally via TaskTrial records.
|
|
11
11
|
*/
|
|
12
|
-
import type { EngramStore } from '../storage/
|
|
12
|
+
import type { IEngramStore as EngramStore } from '../storage/store.js';
|
|
13
13
|
import type { EvalMetrics } from '../types/index.js';
|
|
14
14
|
export declare class EvalEngine {
|
|
15
15
|
private store;
|
|
@@ -17,6 +17,6 @@ export declare class EvalEngine {
|
|
|
17
17
|
/**
|
|
18
18
|
* Compute aggregate metrics for an agent over a time window.
|
|
19
19
|
*/
|
|
20
|
-
computeMetrics(agentId: string, windowHours?: number): EvalMetrics
|
|
20
|
+
computeMetrics(agentId: string, windowHours?: number): Promise<EvalMetrics>;
|
|
21
21
|
}
|
|
22
22
|
//# sourceMappingURL=eval.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eval.d.ts","sourceRoot":"","sources":["../../src/engine/eval.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"eval.d.ts","sourceRoot":"","sources":["../../src/engine/eval.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,YAAY,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,qBAAa,UAAU;IACrB,OAAO,CAAC,KAAK,CAAc;gBAEf,KAAK,EAAE,WAAW;IAI9B;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,GAAE,MAAW,GAAG,OAAO,CAAC,WAAW,CAAC;CA0EtF"}
|
package/dist/engine/eval.js
CHANGED
|
@@ -19,20 +19,20 @@ export class EvalEngine {
|
|
|
19
19
|
/**
|
|
20
20
|
* Compute aggregate metrics for an agent over a time window.
|
|
21
21
|
*/
|
|
22
|
-
computeMetrics(agentId, windowHours = 24) {
|
|
22
|
+
async computeMetrics(agentId, windowHours = 24) {
|
|
23
23
|
const window = windowHours <= 24 ? '24h' : `${Math.round(windowHours / 24)}d`;
|
|
24
24
|
// Retrieval quality
|
|
25
|
-
const precision = this.store.getRetrievalPrecision(agentId, windowHours);
|
|
25
|
+
const precision = await this.store.getRetrievalPrecision(agentId, windowHours);
|
|
26
26
|
// Staging accuracy
|
|
27
|
-
const stagingMetrics = this.store.getStagingMetrics(agentId);
|
|
27
|
+
const stagingMetrics = await this.store.getStagingMetrics(agentId);
|
|
28
28
|
const totalStaged = stagingMetrics.promoted + stagingMetrics.discarded + stagingMetrics.expired;
|
|
29
29
|
const promotionPrecision = totalStaged > 0 ? stagingMetrics.promoted / totalStaged : 0;
|
|
30
30
|
// Memory health
|
|
31
|
-
const activeEngrams = this.store.getEngramsByAgent(agentId, 'active');
|
|
32
|
-
const stagingEngrams = this.store.getEngramsByAgent(agentId, 'staging');
|
|
33
|
-
const retractedEngrams = this.store.getEngramsByAgent(agentId, undefined, true)
|
|
31
|
+
const activeEngrams = await this.store.getEngramsByAgent(agentId, 'active');
|
|
32
|
+
const stagingEngrams = await this.store.getEngramsByAgent(agentId, 'staging');
|
|
33
|
+
const retractedEngrams = (await this.store.getEngramsByAgent(agentId, undefined, true))
|
|
34
34
|
.filter(e => e.retracted);
|
|
35
|
-
const allAssociations = this.store.getAllAssociations(agentId);
|
|
35
|
+
const allAssociations = await this.store.getAllAssociations(agentId);
|
|
36
36
|
const avgConfidence = activeEngrams.length > 0
|
|
37
37
|
? activeEngrams.reduce((sum, e) => sum + e.confidence, 0) / activeEngrams.length
|
|
38
38
|
: 0;
|
|
@@ -47,9 +47,9 @@ export class EvalEngine {
|
|
|
47
47
|
? livingEdges.reduce((sum, a) => sum + (Date.now() - a.createdAt.getTime()) / (1000 * 60 * 60 * 24), 0) / livingEdges.length
|
|
48
48
|
: 0;
|
|
49
49
|
// Activation performance stats
|
|
50
|
-
const activationStats = this.store.getActivationStats(agentId, windowHours);
|
|
50
|
+
const activationStats = await this.store.getActivationStats(agentId, windowHours);
|
|
51
51
|
// Consolidated count
|
|
52
|
-
const consolidatedCount = this.store.getConsolidatedCount(agentId);
|
|
52
|
+
const consolidatedCount = await this.store.getConsolidatedCount(agentId);
|
|
53
53
|
return {
|
|
54
54
|
agentId,
|
|
55
55
|
timestamp: new Date(),
|
package/dist/engine/eval.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eval.js","sourceRoot":"","sources":["../../src/engine/eval.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,sCAAsC;AACtC;;;;;;;;;;GAUG;AAKH,MAAM,OAAO,UAAU;IACb,KAAK,CAAc;IAE3B,YAAY,KAAkB;QAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,OAAe,EAAE,cAAsB,EAAE;
|
|
1
|
+
{"version":3,"file":"eval.js","sourceRoot":"","sources":["../../src/engine/eval.ts"],"names":[],"mappings":"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"}
|