agentdb 3.0.0-alpha.17 → 3.0.0-alpha.18

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.
@@ -0,0 +1,385 @@
1
+ -- ============================================================================
2
+ -- AgentDB Frontier Features Schema Extension
3
+ -- ============================================================================
4
+ -- Implements cutting-edge memory features:
5
+ -- 1. Causal Memory Graph - Store edges with causal strength, not just similarity
6
+ -- 2. Explainable Recall Certificates - Provenance and justification tracking
7
+ -- ============================================================================
8
+
9
+ -- ============================================================================
10
+ -- FEATURE 1: Causal Memory Graph
11
+ -- ============================================================================
12
+
13
+ -- Causal edges between memories with intervention effects
14
+ CREATE TABLE IF NOT EXISTS causal_edges (
15
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
16
+ from_memory_id INTEGER NOT NULL,
17
+ from_memory_type TEXT NOT NULL, -- 'episode', 'skill', 'note', 'fact'
18
+ to_memory_id INTEGER NOT NULL,
19
+ to_memory_type TEXT NOT NULL,
20
+
21
+ -- Traditional similarity
22
+ similarity REAL NOT NULL DEFAULT 0.0,
23
+
24
+ -- Causal metrics
25
+ uplift REAL, -- E[y|do(x)] - E[y]
26
+ confidence REAL DEFAULT 0.5, -- Confidence in causal claim
27
+ sample_size INTEGER, -- Number of observations
28
+
29
+ -- Evidence and provenance
30
+ evidence_ids TEXT, -- JSON array of proof IDs
31
+ experiment_ids TEXT, -- JSON array of A/B test IDs
32
+ confounder_score REAL, -- Likelihood of confounding
33
+
34
+ -- Metadata
35
+ mechanism TEXT, -- Hypothesized causal mechanism
36
+ created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now')),
37
+ updated_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now')),
38
+ last_validated_at INTEGER,
39
+
40
+ metadata JSON
41
+
42
+ -- Note: Foreign keys removed to allow flexible causal edges between any concepts
43
+ -- from_memory_id and to_memory_id can be 0 for abstract causal relationships
44
+ );
45
+
46
+ CREATE INDEX IF NOT EXISTS idx_causal_edges_from ON causal_edges(from_memory_id, from_memory_type);
47
+ CREATE INDEX IF NOT EXISTS idx_causal_edges_to ON causal_edges(to_memory_id, to_memory_type);
48
+ CREATE INDEX IF NOT EXISTS idx_causal_edges_uplift ON causal_edges(uplift DESC);
49
+ CREATE INDEX IF NOT EXISTS idx_causal_edges_confidence ON causal_edges(confidence DESC);
50
+
51
+ -- Causal experiments (A/B tests for uplift estimation)
52
+ CREATE TABLE IF NOT EXISTS causal_experiments (
53
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
54
+ name TEXT NOT NULL,
55
+ hypothesis TEXT NOT NULL,
56
+ treatment_id INTEGER NOT NULL, -- Memory used as treatment
57
+ treatment_type TEXT NOT NULL,
58
+ control_id INTEGER, -- Optional control memory
59
+
60
+ -- Experiment design
61
+ start_time INTEGER NOT NULL,
62
+ end_time INTEGER,
63
+ sample_size INTEGER DEFAULT 0,
64
+
65
+ -- Results
66
+ treatment_mean REAL,
67
+ control_mean REAL,
68
+ uplift REAL, -- treatment_mean - control_mean
69
+ p_value REAL,
70
+ confidence_interval_low REAL,
71
+ confidence_interval_high REAL,
72
+
73
+ -- Status
74
+ status TEXT DEFAULT 'running', -- 'running', 'completed', 'failed'
75
+
76
+ metadata JSON,
77
+ created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now'))
78
+ );
79
+
80
+ CREATE INDEX IF NOT EXISTS idx_causal_experiments_status ON causal_experiments(status);
81
+ CREATE INDEX IF NOT EXISTS idx_causal_experiments_treatment ON causal_experiments(treatment_id, treatment_type);
82
+
83
+ -- Causal observations (individual data points)
84
+ CREATE TABLE IF NOT EXISTS causal_observations (
85
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
86
+ experiment_id INTEGER NOT NULL,
87
+ episode_id INTEGER NOT NULL,
88
+
89
+ -- Treatment assignment
90
+ is_treatment BOOLEAN NOT NULL,
91
+
92
+ -- Outcome
93
+ outcome_value REAL NOT NULL,
94
+ outcome_type TEXT, -- 'reward', 'success', 'latency'
95
+
96
+ -- Context
97
+ context JSON,
98
+ observed_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now')),
99
+
100
+ FOREIGN KEY(experiment_id) REFERENCES causal_experiments(id) ON DELETE CASCADE,
101
+ FOREIGN KEY(episode_id) REFERENCES episodes(id) ON DELETE CASCADE
102
+ );
103
+
104
+ CREATE INDEX IF NOT EXISTS idx_causal_observations_experiment ON causal_observations(experiment_id);
105
+ CREATE INDEX IF NOT EXISTS idx_causal_observations_treatment ON causal_observations(is_treatment);
106
+
107
+ -- ============================================================================
108
+ -- FEATURE 2: Explainable Recall Certificates
109
+ -- ============================================================================
110
+
111
+ -- Recall certificates for provenance and justification
112
+ CREATE TABLE IF NOT EXISTS recall_certificates (
113
+ id TEXT PRIMARY KEY, -- UUID or hash
114
+ query_id TEXT NOT NULL,
115
+ query_text TEXT NOT NULL,
116
+
117
+ -- Retrieved chunks
118
+ chunk_ids TEXT NOT NULL, -- JSON array
119
+ chunk_types TEXT NOT NULL, -- JSON array matching chunk_ids
120
+
121
+ -- Minimal hitting set (justification)
122
+ minimal_why TEXT, -- JSON array of chunk IDs that justify the answer
123
+ redundancy_ratio REAL, -- len(chunk_ids) / len(minimal_why)
124
+ completeness_score REAL, -- Fraction of query requirements met
125
+
126
+ -- Provenance chain
127
+ merkle_root TEXT NOT NULL,
128
+ source_hashes TEXT, -- JSON array of source hashes
129
+ proof_chain TEXT, -- JSON Merkle proof
130
+
131
+ -- Policy compliance
132
+ policy_proof TEXT, -- Proof of policy adherence
133
+ policy_version TEXT,
134
+ access_level TEXT, -- 'public', 'internal', 'confidential', 'restricted'
135
+
136
+ -- Metadata
137
+ created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now')),
138
+ latency_ms INTEGER,
139
+
140
+ metadata JSON
141
+ );
142
+
143
+ CREATE INDEX IF NOT EXISTS idx_recall_certificates_query ON recall_certificates(query_id);
144
+ CREATE INDEX IF NOT EXISTS idx_recall_certificates_created ON recall_certificates(created_at DESC);
145
+
146
+ -- Provenance sources (for Merkle tree construction)
147
+ CREATE TABLE IF NOT EXISTS provenance_sources (
148
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
149
+ source_type TEXT NOT NULL, -- 'episode', 'skill', 'note', 'fact', 'external'
150
+ source_id INTEGER NOT NULL,
151
+
152
+ -- Content hash
153
+ content_hash TEXT NOT NULL UNIQUE,
154
+
155
+ -- Lineage
156
+ parent_hash TEXT, -- Previous version
157
+ derived_from TEXT, -- JSON array of parent hashes
158
+
159
+ -- Metadata
160
+ created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now')),
161
+ creator TEXT, -- User or system identifier
162
+
163
+ metadata JSON
164
+ );
165
+
166
+ CREATE INDEX IF NOT EXISTS idx_provenance_sources_type ON provenance_sources(source_type, source_id);
167
+ CREATE INDEX IF NOT EXISTS idx_provenance_sources_hash ON provenance_sources(content_hash);
168
+ CREATE INDEX IF NOT EXISTS idx_provenance_sources_parent ON provenance_sources(parent_hash);
169
+
170
+ -- Justification paths (why a chunk was included)
171
+ CREATE TABLE IF NOT EXISTS justification_paths (
172
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
173
+ certificate_id TEXT NOT NULL,
174
+ chunk_id TEXT NOT NULL,
175
+ chunk_type TEXT NOT NULL,
176
+
177
+ -- Justification
178
+ reason TEXT NOT NULL, -- 'semantic_match', 'causal_link', 'prerequisite', 'constraint'
179
+ necessity_score REAL NOT NULL, -- How essential is this chunk (0-1)
180
+
181
+ -- Path to query satisfaction
182
+ path_elements TEXT, -- JSON array describing reasoning path
183
+
184
+ FOREIGN KEY(certificate_id) REFERENCES recall_certificates(id) ON DELETE CASCADE
185
+ );
186
+
187
+ CREATE INDEX IF NOT EXISTS idx_justification_paths_cert ON justification_paths(certificate_id);
188
+ CREATE INDEX IF NOT EXISTS idx_justification_paths_chunk ON justification_paths(chunk_id, chunk_type);
189
+
190
+ -- ============================================================================
191
+ -- Views for Causal Analysis
192
+ -- ============================================================================
193
+
194
+ -- High-confidence causal relationships
195
+ CREATE VIEW IF NOT EXISTS strong_causal_edges AS
196
+ SELECT
197
+ ce.*,
198
+ CASE
199
+ WHEN ce.uplift > 0 THEN 'positive'
200
+ WHEN ce.uplift < 0 THEN 'negative'
201
+ ELSE 'neutral'
202
+ END as effect_direction,
203
+ ce.uplift * ce.confidence as causal_impact
204
+ FROM causal_edges ce
205
+ WHERE ce.confidence >= 0.7
206
+ AND ce.uplift IS NOT NULL
207
+ AND ABS(ce.uplift) >= 0.1
208
+ ORDER BY ABS(ce.uplift) * ce.confidence DESC;
209
+
210
+ -- Causal chains (multi-hop reasoning)
211
+ CREATE VIEW IF NOT EXISTS causal_chains AS
212
+ WITH RECURSIVE chain(from_id, to_id, depth, path, total_uplift) AS (
213
+ SELECT from_memory_id, to_memory_id, 1,
214
+ from_memory_id || '->' || to_memory_id,
215
+ uplift
216
+ FROM causal_edges
217
+ WHERE confidence >= 0.6
218
+
219
+ UNION ALL
220
+
221
+ SELECT chain.from_id, ce.to_memory_id, chain.depth + 1,
222
+ chain.path || '->' || ce.to_memory_id,
223
+ chain.total_uplift + ce.uplift
224
+ FROM chain
225
+ JOIN causal_edges ce ON chain.to_id = ce.from_memory_id
226
+ WHERE chain.depth < 5
227
+ AND ce.confidence >= 0.6
228
+ AND chain.path NOT LIKE '%' || ce.to_memory_id || '%'
229
+ )
230
+ SELECT * FROM chain
231
+ WHERE depth >= 2
232
+ ORDER BY total_uplift DESC, depth ASC;
233
+
234
+ -- ============================================================================
235
+ -- Views for Explainability
236
+ -- ============================================================================
237
+
238
+ -- Certificate quality metrics
239
+ CREATE VIEW IF NOT EXISTS certificate_quality AS
240
+ SELECT
241
+ rc.id,
242
+ rc.query_id,
243
+ rc.completeness_score,
244
+ rc.redundancy_ratio,
245
+ COUNT(jp.id) as justification_count,
246
+ AVG(jp.necessity_score) as avg_necessity,
247
+ rc.latency_ms
248
+ FROM recall_certificates rc
249
+ LEFT JOIN justification_paths jp ON rc.id = jp.certificate_id
250
+ GROUP BY rc.id;
251
+
252
+ -- Provenance lineage depth
253
+ CREATE VIEW IF NOT EXISTS provenance_depth AS
254
+ WITH RECURSIVE lineage(hash, depth) AS (
255
+ SELECT content_hash, 0
256
+ FROM provenance_sources
257
+ WHERE parent_hash IS NULL
258
+
259
+ UNION ALL
260
+
261
+ SELECT ps.content_hash, lineage.depth + 1
262
+ FROM lineage
263
+ JOIN provenance_sources ps ON lineage.hash = ps.parent_hash
264
+ )
265
+ SELECT
266
+ ps.id,
267
+ ps.source_type,
268
+ ps.source_id,
269
+ ps.content_hash,
270
+ COALESCE(l.depth, 0) as lineage_depth
271
+ FROM provenance_sources ps
272
+ LEFT JOIN lineage l ON ps.content_hash = l.hash;
273
+
274
+ -- ============================================================================
275
+ -- Triggers for Automatic Maintenance
276
+ -- ============================================================================
277
+
278
+ -- Update causal edge timestamp
279
+ CREATE TRIGGER IF NOT EXISTS update_causal_edge_timestamp
280
+ AFTER UPDATE ON causal_edges
281
+ BEGIN
282
+ UPDATE causal_edges
283
+ SET updated_at = strftime('%s', 'now')
284
+ WHERE id = NEW.id;
285
+ END;
286
+
287
+ -- Validate causal confidence bounds
288
+ CREATE TRIGGER IF NOT EXISTS validate_causal_confidence
289
+ BEFORE INSERT ON causal_edges
290
+ BEGIN
291
+ SELECT CASE
292
+ WHEN NEW.confidence < 0 OR NEW.confidence > 1 THEN
293
+ RAISE(ABORT, 'Confidence must be between 0 and 1')
294
+ END;
295
+ END;
296
+
297
+ -- ============================================================================
298
+ -- Functions for Causal Inference (as SQL helpers)
299
+ -- ============================================================================
300
+
301
+ -- These would typically be implemented in TypeScript, but we provide
302
+ -- SQL views that can assist with common causal queries
303
+
304
+ -- Instrumental variables (potential instruments for causal inference)
305
+ CREATE VIEW IF NOT EXISTS causal_instruments AS
306
+ SELECT
307
+ e1.id as instrument_id,
308
+ e1.task as instrument,
309
+ e2.id as treatment_id,
310
+ e2.task as treatment,
311
+ e3.id as outcome_id,
312
+ e3.task as outcome
313
+ FROM episodes e1
314
+ CROSS JOIN episodes e2
315
+ CROSS JOIN episodes e3
316
+ WHERE e1.id != e2.id AND e2.id != e3.id AND e1.id != e3.id
317
+ -- Instrument affects treatment
318
+ AND EXISTS (
319
+ SELECT 1 FROM causal_edges
320
+ WHERE from_memory_id = e1.id AND to_memory_id = e2.id
321
+ AND ABS(uplift) > 0.1
322
+ )
323
+ -- Treatment affects outcome
324
+ AND EXISTS (
325
+ SELECT 1 FROM causal_edges
326
+ WHERE from_memory_id = e2.id AND to_memory_id = e3.id
327
+ AND ABS(uplift) > 0.1
328
+ )
329
+ -- Instrument doesn't directly affect outcome (exclusion restriction)
330
+ AND NOT EXISTS (
331
+ SELECT 1 FROM causal_edges
332
+ WHERE from_memory_id = e1.id AND to_memory_id = e3.id
333
+ );
334
+
335
+ -- ============================================================================
336
+ -- Schema Version
337
+ -- ============================================================================
338
+ -- Version: 2.0.0 (Frontier Features)
339
+ -- Features: Causal Memory Graph, Explainable Recall Certificates
340
+ -- Compatible with: AgentDB 1.x
341
+ --
342
+ -- Performance Optimization:
343
+ -- Apply composite index migration (003_composite_indexes.sql) for:
344
+ -- - 30-50% faster causal edge queries
345
+ -- - Optimized causal chain traversal (multi-hop reasoning)
346
+ -- - Faster experiment analysis and A/B testing
347
+ -- - See: db/migrations/README.md for details
348
+ -- ============================================================================
349
+
350
+ -- ============================================================================
351
+ -- FEATURE 3: Reinforcement Learning Experiences
352
+ -- ============================================================================
353
+
354
+ -- Learning experiences for RL training
355
+ CREATE TABLE IF NOT EXISTS learning_experiences (
356
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
357
+ session_id TEXT NOT NULL,
358
+ state TEXT NOT NULL,
359
+ action TEXT NOT NULL,
360
+ reward REAL NOT NULL,
361
+ next_state TEXT,
362
+ success INTEGER NOT NULL DEFAULT 0,
363
+ timestamp INTEGER NOT NULL DEFAULT (strftime('%s', 'now')),
364
+ metadata JSON
365
+ );
366
+
367
+ CREATE INDEX IF NOT EXISTS idx_learning_experiences_session ON learning_experiences(session_id);
368
+ CREATE INDEX IF NOT EXISTS idx_learning_experiences_timestamp ON learning_experiences(timestamp DESC);
369
+ CREATE INDEX IF NOT EXISTS idx_learning_experiences_reward ON learning_experiences(reward DESC);
370
+
371
+ -- Learning sessions table for RL session management
372
+ CREATE TABLE IF NOT EXISTS learning_sessions (
373
+ id TEXT PRIMARY KEY,
374
+ user_id TEXT NOT NULL,
375
+ session_type TEXT NOT NULL,
376
+ config JSON NOT NULL,
377
+ start_time INTEGER NOT NULL DEFAULT (strftime('%s', 'now')),
378
+ end_time INTEGER,
379
+ status TEXT NOT NULL DEFAULT 'active',
380
+ metadata JSON
381
+ );
382
+
383
+ CREATE INDEX IF NOT EXISTS idx_learning_sessions_user ON learning_sessions(user_id);
384
+ CREATE INDEX IF NOT EXISTS idx_learning_sessions_status ON learning_sessions(status);
385
+ CREATE INDEX IF NOT EXISTS idx_learning_sessions_start ON learning_sessions(start_time DESC);
@@ -0,0 +1,389 @@
1
+ -- ============================================================================
2
+ -- AgentDB State-of-the-Art Memory Schema
3
+ -- ============================================================================
4
+ -- Implements 5 cutting-edge memory patterns for autonomous agents:
5
+ -- 1. Reflexion-style episodic replay
6
+ -- 2. Skill library from trajectories
7
+ -- 3. Structured mixed memory (facts + summaries)
8
+ -- 4. Episodic segmentation and consolidation
9
+ -- 5. Graph-aware recall
10
+ -- ============================================================================
11
+
12
+ -- Enable foreign keys
13
+ PRAGMA foreign_keys = ON;
14
+
15
+ -- ============================================================================
16
+ -- Pattern 1: Reflexion-Style Episodic Replay
17
+ -- ============================================================================
18
+ -- Store self-critique and outcomes after each attempt.
19
+ -- Retrieve nearest failures and fixes before the next run.
20
+
21
+ CREATE TABLE IF NOT EXISTS episodes (
22
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
23
+ ts INTEGER NOT NULL DEFAULT (strftime('%s', 'now')),
24
+ session_id TEXT NOT NULL,
25
+ task TEXT NOT NULL,
26
+ input TEXT,
27
+ output TEXT,
28
+ critique TEXT,
29
+ reward REAL DEFAULT 0.0,
30
+ success BOOLEAN DEFAULT 0,
31
+ latency_ms INTEGER,
32
+ tokens_used INTEGER,
33
+ tags TEXT, -- JSON array of tags
34
+ metadata JSON,
35
+ created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now'))
36
+ );
37
+
38
+ CREATE INDEX IF NOT EXISTS idx_episodes_ts ON episodes(ts DESC);
39
+ CREATE INDEX IF NOT EXISTS idx_episodes_session ON episodes(session_id);
40
+ CREATE INDEX IF NOT EXISTS idx_episodes_reward ON episodes(reward DESC);
41
+ CREATE INDEX IF NOT EXISTS idx_episodes_task ON episodes(task);
42
+
43
+ -- Vector embeddings for episodes (384-dim for all-MiniLM-L6-v2)
44
+ -- Will use sqlite-vec when available, fallback to JSON storage
45
+ CREATE TABLE IF NOT EXISTS episode_embeddings (
46
+ episode_id INTEGER PRIMARY KEY,
47
+ embedding BLOB NOT NULL, -- Float32Array as BLOB
48
+ embedding_model TEXT DEFAULT 'all-MiniLM-L6-v2',
49
+ FOREIGN KEY(episode_id) REFERENCES episodes(id) ON DELETE CASCADE
50
+ );
51
+
52
+ -- ============================================================================
53
+ -- Pattern 2: Skill Library from Trajectories
54
+ -- ============================================================================
55
+ -- Promote high-reward traces into reusable "skills" with typed IO.
56
+
57
+ CREATE TABLE IF NOT EXISTS skills (
58
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
59
+ name TEXT UNIQUE NOT NULL,
60
+ description TEXT,
61
+ signature JSON NOT NULL, -- {inputs: {...}, outputs: {...}}
62
+ code TEXT, -- Tool call manifest or code template
63
+ success_rate REAL DEFAULT 0.0,
64
+ uses INTEGER DEFAULT 0,
65
+ avg_reward REAL DEFAULT 0.0,
66
+ avg_latency_ms INTEGER DEFAULT 0,
67
+ created_from_episode INTEGER, -- Source episode ID
68
+ created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now')),
69
+ updated_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now')),
70
+ last_used_at INTEGER,
71
+ metadata JSON,
72
+ FOREIGN KEY(created_from_episode) REFERENCES episodes(id)
73
+ );
74
+
75
+ CREATE INDEX IF NOT EXISTS idx_skills_success ON skills(success_rate DESC);
76
+ CREATE INDEX IF NOT EXISTS idx_skills_uses ON skills(uses DESC);
77
+ CREATE INDEX IF NOT EXISTS idx_skills_name ON skills(name);
78
+
79
+ -- Skill relationships and composition
80
+ CREATE TABLE IF NOT EXISTS skill_links (
81
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
82
+ parent_skill_id INTEGER NOT NULL,
83
+ child_skill_id INTEGER NOT NULL,
84
+ relationship TEXT NOT NULL, -- 'prerequisite', 'alternative', 'refinement', 'composition'
85
+ weight REAL DEFAULT 1.0,
86
+ metadata JSON,
87
+ FOREIGN KEY(parent_skill_id) REFERENCES skills(id) ON DELETE CASCADE,
88
+ FOREIGN KEY(child_skill_id) REFERENCES skills(id) ON DELETE CASCADE,
89
+ UNIQUE(parent_skill_id, child_skill_id, relationship)
90
+ );
91
+
92
+ CREATE INDEX IF NOT EXISTS idx_skill_links_parent ON skill_links(parent_skill_id);
93
+ CREATE INDEX IF NOT EXISTS idx_skill_links_child ON skill_links(child_skill_id);
94
+
95
+ -- Skill embeddings for semantic search
96
+ CREATE TABLE IF NOT EXISTS skill_embeddings (
97
+ skill_id INTEGER PRIMARY KEY,
98
+ embedding BLOB NOT NULL,
99
+ embedding_model TEXT DEFAULT 'all-MiniLM-L6-v2',
100
+ FOREIGN KEY(skill_id) REFERENCES skills(id) ON DELETE CASCADE
101
+ );
102
+
103
+ -- ============================================================================
104
+ -- Pattern 3: Structured Mixed Memory (Facts + Summaries)
105
+ -- ============================================================================
106
+ -- Combine facts, summaries, and vectors to avoid over-embedding.
107
+
108
+ -- Atomic facts as triples (subject-predicate-object)
109
+ CREATE TABLE IF NOT EXISTS facts (
110
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
111
+ subject TEXT NOT NULL,
112
+ predicate TEXT NOT NULL,
113
+ object TEXT NOT NULL,
114
+ source_type TEXT, -- 'episode', 'skill', 'external', 'inferred'
115
+ source_id INTEGER,
116
+ confidence REAL DEFAULT 1.0,
117
+ created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now')),
118
+ expires_at INTEGER, -- TTL for temporal facts
119
+ metadata JSON
120
+ );
121
+
122
+ CREATE INDEX IF NOT EXISTS idx_facts_subject ON facts(subject);
123
+ CREATE INDEX IF NOT EXISTS idx_facts_predicate ON facts(predicate);
124
+ CREATE INDEX IF NOT EXISTS idx_facts_object ON facts(object);
125
+ CREATE INDEX IF NOT EXISTS idx_facts_source ON facts(source_type, source_id);
126
+ CREATE INDEX IF NOT EXISTS idx_facts_expires ON facts(expires_at) WHERE expires_at IS NOT NULL;
127
+
128
+ -- Notes and summaries with semantic embeddings
129
+ CREATE TABLE IF NOT EXISTS notes (
130
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
131
+ title TEXT,
132
+ text TEXT NOT NULL,
133
+ summary TEXT, -- Condensed version for context
134
+ note_type TEXT DEFAULT 'general', -- 'insight', 'constraint', 'goal', 'observation'
135
+ importance REAL DEFAULT 0.5,
136
+ access_count INTEGER DEFAULT 0,
137
+ last_accessed_at INTEGER,
138
+ created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now')),
139
+ updated_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now')),
140
+ metadata JSON
141
+ );
142
+
143
+ CREATE INDEX IF NOT EXISTS idx_notes_type ON notes(note_type);
144
+ CREATE INDEX IF NOT EXISTS idx_notes_importance ON notes(importance DESC);
145
+ CREATE INDEX IF NOT EXISTS idx_notes_accessed ON notes(last_accessed_at DESC);
146
+
147
+ -- Note embeddings (only for summaries to reduce storage)
148
+ CREATE TABLE IF NOT EXISTS note_embeddings (
149
+ note_id INTEGER PRIMARY KEY,
150
+ embedding BLOB NOT NULL,
151
+ embedding_model TEXT DEFAULT 'all-MiniLM-L6-v2',
152
+ FOREIGN KEY(note_id) REFERENCES notes(id) ON DELETE CASCADE
153
+ );
154
+
155
+ -- ============================================================================
156
+ -- Pattern 4: Episodic Segmentation and Consolidation
157
+ -- ============================================================================
158
+ -- Segment long tasks into events and consolidate into compact memories.
159
+
160
+ CREATE TABLE IF NOT EXISTS events (
161
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
162
+ session_id TEXT NOT NULL,
163
+ episode_id INTEGER, -- Link to parent episode
164
+ step INTEGER NOT NULL,
165
+ phase TEXT, -- 'planning', 'execution', 'reflection', 'learning'
166
+ role TEXT, -- 'user', 'assistant', 'system', 'tool'
167
+ content TEXT NOT NULL,
168
+ features JSON, -- Extracted features for learning
169
+ tool_calls JSON, -- Tool invocations in this event
170
+ created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now')),
171
+ FOREIGN KEY(episode_id) REFERENCES episodes(id) ON DELETE CASCADE
172
+ );
173
+
174
+ CREATE INDEX IF NOT EXISTS idx_events_session ON events(session_id, step);
175
+ CREATE INDEX IF NOT EXISTS idx_events_phase ON events(phase);
176
+ CREATE INDEX IF NOT EXISTS idx_events_episode ON events(episode_id);
177
+
178
+ -- Consolidated memories from event windows
179
+ CREATE TABLE IF NOT EXISTS consolidated_memories (
180
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
181
+ session_id TEXT NOT NULL,
182
+ start_event_id INTEGER NOT NULL,
183
+ end_event_id INTEGER NOT NULL,
184
+ phase TEXT,
185
+ summary TEXT NOT NULL,
186
+ key_insights JSON, -- Extracted learnings
187
+ success_patterns JSON, -- What worked
188
+ failure_patterns JSON, -- What didn't work
189
+ quality_score REAL DEFAULT 0.5,
190
+ created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now')),
191
+ FOREIGN KEY(start_event_id) REFERENCES events(id),
192
+ FOREIGN KEY(end_event_id) REFERENCES events(id)
193
+ );
194
+
195
+ CREATE INDEX IF NOT EXISTS idx_consolidated_session ON consolidated_memories(session_id);
196
+ CREATE INDEX IF NOT EXISTS idx_consolidated_quality ON consolidated_memories(quality_score DESC);
197
+
198
+ -- ============================================================================
199
+ -- Pattern 5: Graph-Aware Recall (Lightweight GraphRAG)
200
+ -- ============================================================================
201
+ -- Build a lightweight GraphRAG overlay for experiences.
202
+
203
+ CREATE TABLE IF NOT EXISTS exp_nodes (
204
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
205
+ kind TEXT NOT NULL, -- 'task', 'skill', 'concept', 'tool', 'outcome'
206
+ label TEXT NOT NULL,
207
+ payload JSON,
208
+ centrality REAL DEFAULT 0.0, -- Graph importance metric
209
+ created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now')),
210
+ updated_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now'))
211
+ );
212
+
213
+ CREATE INDEX IF NOT EXISTS idx_exp_nodes_kind ON exp_nodes(kind);
214
+ CREATE INDEX IF NOT EXISTS idx_exp_nodes_label ON exp_nodes(label);
215
+ CREATE INDEX IF NOT EXISTS idx_exp_nodes_centrality ON exp_nodes(centrality DESC);
216
+
217
+ CREATE TABLE IF NOT EXISTS exp_edges (
218
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
219
+ src_node_id INTEGER NOT NULL,
220
+ dst_node_id INTEGER NOT NULL,
221
+ relationship TEXT NOT NULL, -- 'requires', 'produces', 'similar_to', 'refines', 'part_of'
222
+ weight REAL DEFAULT 1.0,
223
+ metadata JSON,
224
+ created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now')),
225
+ FOREIGN KEY(src_node_id) REFERENCES exp_nodes(id) ON DELETE CASCADE,
226
+ FOREIGN KEY(dst_node_id) REFERENCES exp_nodes(id) ON DELETE CASCADE,
227
+ UNIQUE(src_node_id, dst_node_id, relationship)
228
+ );
229
+
230
+ CREATE INDEX IF NOT EXISTS idx_exp_edges_src ON exp_edges(src_node_id);
231
+ CREATE INDEX IF NOT EXISTS idx_exp_edges_dst ON exp_edges(dst_node_id);
232
+ CREATE INDEX IF NOT EXISTS idx_exp_edges_rel ON exp_edges(relationship);
233
+
234
+ -- Node embeddings for graph-augmented retrieval
235
+ CREATE TABLE IF NOT EXISTS exp_node_embeddings (
236
+ node_id INTEGER PRIMARY KEY,
237
+ embedding BLOB NOT NULL,
238
+ embedding_model TEXT DEFAULT 'all-MiniLM-L6-v2',
239
+ FOREIGN KEY(node_id) REFERENCES exp_nodes(id) ON DELETE CASCADE
240
+ );
241
+
242
+ -- ============================================================================
243
+ -- Memory Management and Scoring
244
+ -- ============================================================================
245
+
246
+ -- Track memory quality scores and usage statistics
247
+ CREATE TABLE IF NOT EXISTS memory_scores (
248
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
249
+ memory_type TEXT NOT NULL, -- 'episode', 'skill', 'note', 'consolidated'
250
+ memory_id INTEGER NOT NULL,
251
+ quality_score REAL NOT NULL,
252
+ novelty_score REAL,
253
+ relevance_score REAL,
254
+ utility_score REAL,
255
+ computed_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now')),
256
+ metadata JSON
257
+ );
258
+
259
+ CREATE INDEX IF NOT EXISTS idx_memory_scores_type ON memory_scores(memory_type, memory_id);
260
+ CREATE INDEX IF NOT EXISTS idx_memory_scores_quality ON memory_scores(quality_score DESC);
261
+
262
+ -- Memory access patterns for adaptive retrieval
263
+ CREATE TABLE IF NOT EXISTS memory_access_log (
264
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
265
+ memory_type TEXT NOT NULL,
266
+ memory_id INTEGER NOT NULL,
267
+ query TEXT,
268
+ relevance_score REAL,
269
+ was_useful BOOLEAN,
270
+ feedback JSON,
271
+ accessed_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now'))
272
+ );
273
+
274
+ CREATE INDEX IF NOT EXISTS idx_access_log_type ON memory_access_log(memory_type, memory_id);
275
+ CREATE INDEX IF NOT EXISTS idx_access_log_time ON memory_access_log(accessed_at DESC);
276
+
277
+ -- ============================================================================
278
+ -- Consolidation and Maintenance
279
+ -- ============================================================================
280
+
281
+ -- Track consolidation jobs and their results
282
+ CREATE TABLE IF NOT EXISTS consolidation_runs (
283
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
284
+ job_type TEXT NOT NULL, -- 'episode_to_skill', 'event_to_memory', 'deduplication', 'pruning'
285
+ records_processed INTEGER DEFAULT 0,
286
+ records_created INTEGER DEFAULT 0,
287
+ records_deleted INTEGER DEFAULT 0,
288
+ duration_ms INTEGER,
289
+ status TEXT DEFAULT 'pending', -- 'pending', 'running', 'completed', 'failed'
290
+ error TEXT,
291
+ started_at INTEGER,
292
+ completed_at INTEGER,
293
+ metadata JSON
294
+ );
295
+
296
+ CREATE INDEX IF NOT EXISTS idx_consolidation_status ON consolidation_runs(status);
297
+ CREATE INDEX IF NOT EXISTS idx_consolidation_type ON consolidation_runs(job_type);
298
+
299
+ -- ============================================================================
300
+ -- Views for Common Queries
301
+ -- ============================================================================
302
+
303
+ -- High-value episodes for skill creation
304
+ CREATE VIEW IF NOT EXISTS skill_candidates AS
305
+ SELECT
306
+ task,
307
+ COUNT(*) as attempt_count,
308
+ AVG(reward) as avg_reward,
309
+ AVG(success) as success_rate,
310
+ MAX(id) as latest_episode_id,
311
+ GROUP_CONCAT(id) as episode_ids
312
+ FROM episodes
313
+ WHERE ts > strftime('%s', 'now') - 86400 * 7 -- Last 7 days
314
+ GROUP BY task
315
+ HAVING attempt_count >= 3 AND avg_reward >= 0.7;
316
+
317
+ -- Top performing skills
318
+ CREATE VIEW IF NOT EXISTS top_skills AS
319
+ SELECT
320
+ s.*,
321
+ COALESCE(s.success_rate, 0) * 0.4 +
322
+ COALESCE(s.uses, 0) * 0.0001 +
323
+ COALESCE(s.avg_reward, 0) * 0.6 as composite_score
324
+ FROM skills s
325
+ ORDER BY composite_score DESC;
326
+
327
+ -- Recent high-quality memories
328
+ CREATE VIEW IF NOT EXISTS recent_quality_memories AS
329
+ SELECT
330
+ 'episode' as type, id, task as title, critique as content, reward as score, created_at
331
+ FROM episodes
332
+ WHERE reward >= 0.7 AND ts > strftime('%s', 'now') - 86400 * 3
333
+ UNION ALL
334
+ SELECT
335
+ 'note' as type, id, title, summary as content, importance as score, created_at
336
+ FROM notes
337
+ WHERE importance >= 0.7 AND created_at > strftime('%s', 'now') - 86400 * 3
338
+ UNION ALL
339
+ SELECT
340
+ 'consolidated' as type, id, session_id as title, summary as content, quality_score as score, created_at
341
+ FROM consolidated_memories
342
+ WHERE quality_score >= 0.7 AND created_at > strftime('%s', 'now') - 86400 * 3
343
+ ORDER BY created_at DESC;
344
+
345
+ -- ============================================================================
346
+ -- Triggers for Auto-Maintenance
347
+ -- ============================================================================
348
+
349
+ -- Update skill usage statistics
350
+ CREATE TRIGGER IF NOT EXISTS update_skill_last_used
351
+ AFTER UPDATE OF uses ON skills
352
+ BEGIN
353
+ UPDATE skills SET last_used_at = strftime('%s', 'now') WHERE id = NEW.id;
354
+ END;
355
+
356
+ -- Update note access tracking
357
+ CREATE TRIGGER IF NOT EXISTS update_note_access
358
+ AFTER UPDATE OF access_count ON notes
359
+ BEGIN
360
+ UPDATE notes SET last_accessed_at = strftime('%s', 'now') WHERE id = NEW.id;
361
+ END;
362
+
363
+ -- Auto-update timestamps
364
+ CREATE TRIGGER IF NOT EXISTS update_skill_timestamp
365
+ AFTER UPDATE ON skills
366
+ BEGIN
367
+ UPDATE skills SET updated_at = strftime('%s', 'now') WHERE id = NEW.id;
368
+ END;
369
+
370
+ CREATE TRIGGER IF NOT EXISTS update_note_timestamp
371
+ AFTER UPDATE ON notes
372
+ BEGIN
373
+ UPDATE notes SET updated_at = strftime('%s', 'now') WHERE id = NEW.id;
374
+ END;
375
+
376
+ -- ============================================================================
377
+ -- Initialization Complete
378
+ -- ============================================================================
379
+ -- Schema version: 1.0.0
380
+ -- Compatible with: SQLite 3.35+, sqlite-vec (optional), sqlite-vss (optional)
381
+ -- WASM compatible: Yes (via SQLite-WASM + OPFS)
382
+ --
383
+ -- Performance Optimization:
384
+ -- For production deployments, apply composite index migration for 30-50% query speedup:
385
+ -- - Migration file: db/migrations/003_composite_indexes.sql
386
+ -- - Adds 40+ composite indexes for common query patterns
387
+ -- - Trade-off: 2x slower writes, +15-20% storage (acceptable for read-heavy workloads)
388
+ -- - See: db/migrations/README.md for details
389
+ -- ============================================================================
@@ -43,6 +43,16 @@ export interface SearchOptions {
43
43
  efSearch?: number;
44
44
  /** Metadata filters (post-filtering) */
45
45
  filter?: Record<string, unknown>;
46
+ /**
47
+ * Caller-owned opaque correlation key for later feedback (issue #14).
48
+ *
49
+ * Backends that support async feedback (e.g. `SelfLearningRvfBackend`)
50
+ * use this — instead of an internal id the caller has no way to obtain —
51
+ * to correlate a later `recordFeedback(feedbackId, quality)` call back to
52
+ * this search. Must be unique among currently-outstanding searches; reusing
53
+ * an id that hasn't been resolved via `recordFeedback` yet throws.
54
+ */
55
+ feedbackId?: string;
46
56
  }
47
57
  export interface VectorStats {
48
58
  /** Number of vectors in index */
@@ -1 +1 @@
1
- {"version":3,"file":"VectorBackend.d.ts","sourceRoot":"","sources":["../../../src/backends/VectorBackend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,WAAW,YAAY;IAC3B,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,wEAAwE;IACxE,MAAM,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC;IAE/B,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,6DAA6D;IAC7D,CAAC,CAAC,EAAE,MAAM,CAAC;IAEX,yDAAyD;IACzD,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,8BAA8B;IAC9B,EAAE,EAAE,MAAM,CAAC;IAEX,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IAEjB,0DAA0D;IAC1D,UAAU,EAAE,MAAM,CAAC;IAEnB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,aAAa;IAC5B,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,WAAW;IAC1B,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IAEd,uBAAuB;IACvB,SAAS,EAAE,MAAM,CAAC;IAElB,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;IAEf,mBAAmB;IACnB,OAAO,EAAE,UAAU,GAAG,SAAS,GAAG,KAAK,CAAC;IAExC,iDAAiD;IACjD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa;IAC5B,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,KAAK,CAAC;IAE9C;;;;;OAKG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAEtF;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC;QACvB,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,EAAE,YAAY,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,CAAC,GAAG,IAAI,CAAC;IAEV;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,YAAY,EAAE,CAAC;IAEhF;;;;OAIG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAE5B;;;OAGG;IACH,QAAQ,IAAI,WAAW,CAAC;IAExB;;;OAGG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElC;;;OAGG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElC;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;;;;;GAMG;AACH,MAAM,WAAW,kBAAmB,SAAQ,aAAa;IACvD,iCAAiC;IACjC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpG,6CAA6C;IAC7C,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC;QAC5B,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,EAAE,YAAY,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnB,mDAAmD;IACnD,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAE9F,yBAAyB;IACzB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE1C,yCAAyC;IACzC,aAAa,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IAEtC,oEAAoE;IACpE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB"}
1
+ {"version":3,"file":"VectorBackend.d.ts","sourceRoot":"","sources":["../../../src/backends/VectorBackend.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SelfLearningRvfBackend.d.ts","sourceRoot":"","sources":["../../../../src/backends/rvf/SelfLearningRvfBackend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SelfLearningRvfBackend.d.ts","sourceRoot":"","sources":["../../../../src/backends/rvf/SelfLearningRvfBackend.ts"],"names":[],"mappings":"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"}
@@ -93,6 +93,10 @@ export class SelfLearningRvfBackend {
93
93
  }
94
94
  async searchAsync(query, k, options) {
95
95
  this.ensureAlive();
96
+ if (options?.feedbackId !== undefined && this.activeTrajectories.has(options.feedbackId)) {
97
+ throw new Error(`searchAsync: feedbackId "${options.feedbackId}" is already outstanding — ` +
98
+ `call recordFeedback() for it before reusing, or pick a unique id`);
99
+ }
96
100
  const start = performance.now();
97
101
  let enhanced = query, route, trajId, ef = options?.efSearch;
98
102
  if (this.learningEnabled) {
@@ -126,6 +130,20 @@ export class SelfLearningRvfBackend {
126
130
  }
127
131
  catch { /* skip */ }
128
132
  }
133
+ // Fixes #14 (3/3): apply the trained contrastive projection to
134
+ // retrieval — previously trainBatch() updated `weights`/`bias` but
135
+ // nothing in the search path ever called trainer.project(), so
136
+ // trained weights had zero effect on ranking. Only apply once at
137
+ // least one batch has trained (an untrained projection is
138
+ // identity + small noise, which would just add noise to cold-start
139
+ // queries).
140
+ if (this.trainer) {
141
+ try {
142
+ if (this.trainer.getStats().totalBatches > 0)
143
+ enhanced = this.trainer.project(enhanced);
144
+ }
145
+ catch { /* skip */ }
146
+ }
129
147
  }
130
148
  const results = await this.backend.searchAsync(enhanced, k, ef ? { ...options, efSearch: ef } : options);
131
149
  this.healthMonitor.recordSearch(performance.now() - start);
@@ -136,7 +154,6 @@ export class SelfLearningRvfBackend {
136
154
  this.accessFrequency.set(r.id, Math.min(1, (this.accessFrequency.get(r.id) ?? 0) + 0.01));
137
155
  if (this.recentSearches.length >= RECENT_CAP)
138
156
  this.recentSearches.shift();
139
- this.recentSearches.push({ query: qCopy, results: rCopy });
140
157
  if (trajId !== undefined && this.sona && rCopy.length > 0) {
141
158
  try {
142
159
  if (this._simBuf.length < rCopy.length)
@@ -148,11 +165,26 @@ export class SelfLearningRvfBackend {
148
165
  catch { /* skip */ }
149
166
  }
150
167
  if (trajId !== undefined) {
151
- const qid = `q_${this.trajectoryCounter++}`;
168
+ // Fixes #14 (1/3): searchAsync previously generated this key
169
+ // internally and never surfaced it, so recordFeedback() was
170
+ // unreachable except by guessing the internal "q_N" format. Use the
171
+ // caller-supplied feedbackId when given so recordFeedback() actually
172
+ // works; keep the internal counter as a fallback for callers that
173
+ // don't need feedback correlation (matches prior behavior).
174
+ const qid = options?.feedbackId ?? `q_${this.trajectoryCounter++}`;
152
175
  this.activeTrajectories.set(qid, { id: trajId, queryEmbedding: qCopy, results: rCopy, route, startedAt: Date.now() });
176
+ // Fixes #14 (2/3): tag the recentSearches entry with the same key so
177
+ // recordFeedback() can find and update its `quality` — previously
178
+ // `quality` was never written anywhere, so createSamples()'s search
179
+ // for low-quality negatives (`r.quality < negativeThreshold`) always
180
+ // matched zero entries and no contrastive sample was ever created.
181
+ this.recentSearches.push({ query: qCopy, results: rCopy, key: qid });
153
182
  if (this.activeTrajectories.size > 500)
154
183
  this.expireTrajectories();
155
184
  }
185
+ else {
186
+ this.recentSearches.push({ query: qCopy, results: rCopy });
187
+ }
156
188
  }
157
189
  return results;
158
190
  }
@@ -214,6 +246,17 @@ export class SelfLearningRvfBackend {
214
246
  catch { /* skip */ }
215
247
  this.activeTrajectories.delete(queryId);
216
248
  this._trajectoriesRecorded++;
249
+ // Fixes #14 (2/3): propagate the feedback quality onto the matching
250
+ // recentSearches entry (searched from most-recent, since a key can only
251
+ // be pushed once per outstanding trajectory) so createSamples() can find
252
+ // it later as a negative example when a *different* trajectory reports
253
+ // high-quality feedback.
254
+ for (let i = this.recentSearches.length - 1; i >= 0; i--) {
255
+ if (this.recentSearches[i].key === queryId) {
256
+ this.recentSearches[i].quality = q;
257
+ break;
258
+ }
259
+ }
217
260
  if (this.trainer && traj.results.length > 0)
218
261
  this.createSamples(traj, q);
219
262
  for (const h of this.activeSessions.values())
@@ -1 +1 @@
1
- {"version":3,"file":"SelfLearningRvfBackend.js","sourceRoot":"","sources":["../../../../src/backends/rvf/SelfLearningRvfBackend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SelfLearningRvfBackend.js","sourceRoot":"","sources":["../../../../src/backends/rvf/SelfLearningRvfBackend.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAK7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAoD7D,MAAM,OAAO,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACpC,MAAM,UAAU,GAAG,GAAG,CAAC;AACvB,MAAM,UAAU,GAAG,GAAG,CAAC;AACvB,MAAM,WAAW,GAAG,IAAI,CAAC;AACzB,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAC/B,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAEnC,MAAM,OAAO,sBAAsB;IACxB,IAAI,GAAG,KAAc,CAAC;IACvB,OAAO,CAAa;IACpB,IAAI,GAA+B,IAAI,CAAC;IACxC,MAAM,GAA+B,IAAI,CAAC;IAC1C,UAAU,GAA8B,IAAI,CAAC;IAC7C,aAAa,GAAG,IAAI,kBAAkB,EAAE,CAAC;IACzC,OAAO,GAA8B,IAAI,CAAC;IAC1C,SAAS,GAAmC,IAAI,CAAC;IACjD,MAAM,GAAyB,IAAI,CAAC;IACpC,WAAW,GAA6B,IAAI,CAAC;IAC7C,MAAM,CAAqB;IAC3B,GAAG,CAAS;IACZ,eAAe,CAAU;IACzB,aAAa,GAAG,IAAI,CAAC;IACrB,kBAAkB,GAAG,IAAI,GAAG,EAA4B,CAAC;IACzD,iBAAiB,GAAG,CAAC,CAAC;IACtB,YAAY,GAAwB,EAAE,CAAC;IACvC,cAAc,GAA4F,EAAE,CAAC;IAC7G,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,aAAa,GAAG,CAAC,CAAC;IAClB,cAAc,GAAG,IAAI,GAAG,EAAyB,CAAC;IAClD,SAAS,GAAG,KAAK,CAAC;IAClB,UAAU,GAAG,CAAC,CAAC;IACf,iBAAiB,GAAG,CAAC,CAAC;IACtB,qBAAqB,GAAG,CAAC,CAAC;IAC1B,mBAAmB,GAAG,CAAC,CAAC;IACxB,mBAAmB,GAAG,CAAC,CAAC;IACxB,iBAAiB,GAAG,CAAC,CAAC;IACtB,UAAU,GAAG,KAAK,CAAC;IACnB,OAAO,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;IAC9B,aAAa,GAAoC,IAAI,CAAC;IACtD,aAAa,GAAG,GAAG,CAAC;IAE5B,YAAoB,OAAmB,EAAE,MAA0B;QACjE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,IAAI,GAAG,CAAC;QACxD,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,QAAQ,KAAK,KAAK,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAA0B;QAC5C,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,IAAI,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7D,IAAI,QAAQ,CAAC,eAAe;YAAE,MAAM,QAAQ,CAAC,cAAc,EAAE,CAAC;QAC9D,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,mCAAmC;IAEnC,wFAAwF;IACxF,qBAAqB,CAAC,SAAiB;QACrC,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,sDAAsD;QACtD,0DAA0D;QAC1D,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7F,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5F,CAAC;QAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAAU,EAAE,SAAuB,EAAE,QAAkC;QACvF,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QACxD,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC3C,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAClC,IAAI,IAAI,CAAC,UAAU;gBAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,KAAyF;QAC9G,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;gBACvC,IAAI,IAAI,CAAC,UAAU;oBAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAmB,EAAE,CAAS,EAAE,OAAuB;QACvE,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,OAAO,EAAE,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACzF,MAAM,IAAI,KAAK,CACb,4BAA4B,OAAO,CAAC,UAAU,6BAA6B;gBAC3E,kEAAkE,CACnE,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAChC,IAAI,QAAQ,GAAG,KAAK,EAAE,KAAyB,EAAE,MAA0B,EAAE,EAAE,GAAG,OAAO,EAAE,QAAQ,CAAC;QAEpG,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAC5C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBAAC,IAAI,CAAC,EAAE;wBAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAAC,CAAC;YAC9F,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,IAAI,CAAC;oBAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC;oBAAC,QAAQ,GAAG,KAAK,CAAC;gBAAC,CAAC;gBAClG,IAAI,CAAC;oBACH,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;oBAC7C,IAAI,KAAK;wBAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;oBAC7C,2DAA2D;oBAC3D,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;wBAC3B,SAAS,EAAE,KAAK,IAAI,SAAS;wBAC7B,MAAM,EAAE,KAAK;wBACb,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;wBACrB,OAAO,EAAE,CAAC;qBACX,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAsB,CAAC,CAAC,CAAC;gBACzC,CAAC;gBAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;YACxB,CAAC;YACD,+DAA+D;YAC/D,mEAAmE;YACnE,+DAA+D;YAC/D,iEAAiE;YACjE,0DAA0D;YAC1D,mEAAmE;YACnE,YAAY;YACZ,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC;oBACH,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,YAAY,GAAG,CAAC;wBAAE,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAC1F,CAAC;gBAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACzG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;QAE3D,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,4BAA4B;YACzF,KAAK,MAAM,CAAC,IAAI,KAAK;gBAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YACjH,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,UAAU;gBAAE,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;YAE1E,IAAI,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1D,IAAI,CAAC;oBACH,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM;wBAAE,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBACtF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;wBAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBAC7E,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;gBACzF,CAAC;gBAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;YACxB,CAAC;YACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,6DAA6D;gBAC7D,4DAA4D;gBAC5D,oEAAoE;gBACpE,qEAAqE;gBACrE,kEAAkE;gBAClE,4DAA4D;gBAC5D,MAAM,GAAG,GAAG,OAAO,EAAE,UAAU,IAAI,KAAK,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;gBACnE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACtH,qEAAqE;gBACrE,kEAAkE;gBAClE,oEAAoE;gBACpE,qEAAqE;gBACrE,mEAAmE;gBACnE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;gBACrE,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,GAAG,GAAG;oBAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACpE,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAAU;QAC1B,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC9C,IAAI,EAAE,EAAE,CAAC;YACP,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAC3C,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAChC,IAAI,IAAI,CAAC,UAAU;gBAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,aAAa,KAA2B,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IACpF,KAAK,CAAC,KAAK,KAAoB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAE7D,0CAA0C;IAE1C,MAAM,CAAC,EAAU,EAAE,SAAuB,EAAE,QAAkC;QAC5E,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC7C,IAAI,IAAI,CAAC,eAAe;YAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC9D,CAAC;IACD,WAAW,CAAC,KAAyF,IAAU,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjJ,MAAM,CAAC,KAAmB,EAAE,CAAS,EAAE,OAAuB,IAAoB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAClI,MAAM,CAAC,EAAU,IAAa,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/D,QAAQ,KAAkB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC3D,KAAK,CAAC,IAAI,CAAC,IAAY,IAAmB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3E,KAAK,CAAC,IAAI,CAAC,IAAY,IAAmB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3E,KAAK,KAAW,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAEjC,sCAAsC;IAEtC,KAAK,CAAC,YAAY,CAAC,OAAe;QAChC,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,OAAO,CAAC;QACpC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7E,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAe,EAAE,OAAe;QAC/C,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,CAAC,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG;YAAE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IAC3G,CAAC;IAED,6BAA6B;IAE7B,cAAc,CAAC,OAAe,EAAE,OAAe;QAC7C,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,IAAI,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC;gBAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;QAChF,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,oEAAoE;QACpE,wEAAwE;QACxE,yEAAyE;QACzE,uEAAuE;QACvE,yBAAyB;QACzB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACzD,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;gBAC3C,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;gBACnC,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACzE,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;YAAE,IAAI,CAAC;gBAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;IACpI,CAAC;IAED,qCAAqC;IAErC,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QACpD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,IAAI;gBAAE,IAAI,CAAC;oBAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;YAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAC;YACtD,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;gBAC1D,IAAI,CAAC;oBAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;oBAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;YAC3H,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,IAAI,CAAC;oBAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,CAAC,EAAE,CAAC,CAAC;oBAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;YACpO,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;gBAC9C,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;oBAC9C,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;oBACtB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;oBAChC,IAAI,CAAC;wBAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;gBACtE,CAAC;YACH,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,GAAG,mBAAmB,KAAK,CAAC,EAAE,CAAC;gBACvE,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;oBAAC,IAAI,CAAC,GAAG,oBAAoB;wBAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAAC,CAAC;YAChH,CAAC;YACD,IAAI,CAAC;gBAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;YAClF,IAAI,IAAI,CAAC,SAAS;gBAAE,IAAI,CAAC;oBAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;YAC9E,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,uBAAuB,IAAI,GAAG,CAAC;YAC5D,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,GAAG,QAAQ,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC;gBAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxG,CAAC;gBAAS,CAAC;YAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC;gBAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;QACnE,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAAC,IAAI,CAAC;gBAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;QAAC,CAAC;QACpK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAAC,IAAI,CAAC;gBAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,EAAE,EAAE,CAAC,CAAC;gBAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;QAAC,CAAC;IAC/I,CAAC;IAED,qBAAqB;IAErB,eAAe,KAA+B,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC;QAAC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC,CAAC,CAAC;IAC1I,aAAa,CAAC,OAAiC,IAAqC,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC;QAAC,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC,CAAC,CAAC;IAC3L,eAAe,KAAwB,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC;QAAC,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC,CAAC,CAAC;IAEzI;;;OAGG;IACH,kBAAkB;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACrC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACxE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,KAAK,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC;IAC3G,CAAC;IAED,2CAA2C;IAC3C,cAAc,KAA+B,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAEvE,sCAAsC;IACtC,mBAAmB,KAA8B,OAAO,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;IAE/F,4BAA4B;IAE5B,gBAAgB;QACd,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC;QAC5C,MAAM,SAAS,GAAG,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,OAAO;YACL,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,IAAI,CAAC,qBAAqB;YAC1F,kBAAkB,EAAE,IAAI,CAAC,mBAAmB,EAAE,kBAAkB,EAAE,IAAI,CAAC,mBAAmB;YAC1F,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa;YACvG,kBAAkB,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,kBAAkB,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC;YAC5F,0BAA0B;YAC1B,aAAa,EAAE,SAAS,EAAE,aAAa,IAAI,CAAC;YAC5C,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC;YACzE,iBAAiB,EAAE,SAAS,EAAE,eAAe,IAAI,CAAC;YAClD,kBAAkB,EAAE,SAAS,EAAE,kBAAkB,IAAI,CAAC;SACvD,CAAC;IACJ,CAAC;IAED,UAAU,KAAiB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACjD,IAAI,iBAAiB,KAAc,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IACjE,IAAI,YAAY,KAAc,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IAC1D,IAAI,WAAW,KAAc,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAEtD;;OAEG;IACH,KAAK,CAAC,aAAa;QACjB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC;gBAAC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO;QAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,+EAA+E;QAC/E,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAsB,CAAC,CAAC,CAAC;QAAC,CAAC;QAC/E,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAAC,IAAI,CAAC;gBAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;YAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC;QACpH,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAAC,IAAI,IAAI,CAAC,IAAI;gBAAE,IAAI,CAAC;oBAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;QAAC,CAAC;QAChI,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAsC,EAAE,CAAC;YAC1I,IAAI,CAAC;gBAAE,IAAI,CAAC;oBAAC,CAAC,CAAC,OAAO,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,kBAAkB;IAEV,KAAK,CAAC,cAAc;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,IAAI,CAAC;YAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;YAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC;YAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;QACtK,IAAI,CAAC;YAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;YAAC,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE;gBAAE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,GAAG,EAAE,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;QACrN,IAAI,CAAC;YAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;YAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;QAC/M,IAAI,CAAC;YAAC,MAAM,EAAE,kBAAkB,EAAE,CAAC,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;YAAC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;QAC3I,IAAI,CAAC;YAAC,MAAM,EAAE,kBAAkB,EAAE,CAAC,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;YAAC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;QAC1J,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAAC,IAAI,CAAC;gBAAC,MAAM,EAAE,uBAAuB,EAAE,CAAC,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;gBAAC,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE;oBAAE,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;QAAC,CAAC;QAChO,IAAI,CAAC;YAAC,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;YAAC,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE;gBAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;IACtJ,CAAC;IAEO,QAAQ,CAAC,OAAqB;QACpC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACtC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACpC,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC1F,MAAM,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;oBACnC,IAAI,EAAE,EAAE,CAAC;wBACP,IAAI,IAAI,GAAG,UAAU,EAAE,KAAK,GAAG,CAAC,QAAQ,CAAC;wBACzC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;4BACxC,IAAI,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;gCAAC,MAAM,EAAE,GAAG,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;gCAAC,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC;oCAAC,KAAK,GAAG,EAAE,CAAC;oCAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC;gCAAC,CAAC;4BAAC,CAAC;wBACvJ,CAAC;wBACD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBAC9B,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAC,wBAAwB,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC3B,IAAI,CAAC,GAAG,GAAG;gBAAE,OAAO,EAAE,CAAC;YAAC,IAAI,CAAC,GAAG,GAAG;gBAAE,OAAO,GAAG,CAAC;YAAC,IAAI,CAAC,GAAG,GAAG;gBAAE,OAAO,GAAG,CAAC;YAAC,OAAO,GAAG,CAAC;QACvF,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,SAAS,CAAC,CAAS;QACzB,IAAI,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;gBAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAAC,EAAE,GAAG,CAAC,CAAC;YAAC,CAAC;QAAC,CAAC;QAC3H,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,aAAa,CAAC,IAAsB,EAAE,OAAe;QAC3D,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,WAAW;YAAE,OAAO;QACnI,MAAM,IAAI,GAAmB,EAAE,CAAC;QAChC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACpC,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1G,IAAI,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;gBACrC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;oBAAE,MAAM;YAC9B,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YACzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE;gBAAE,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;YACpG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACxF,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;IAEO,kBAAkB;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC7C,IAAI,GAAG,GAAG,CAAC,CAAC,SAAS,GAAG,MAAM,EAAE,CAAC;gBAC/B,IAAI,IAAI,CAAC,IAAI;oBAAE,IAAI,CAAC;wBAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;gBAC/E,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;IACH,CAAC;IAEO,kBAAkB;QACxB,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,qBAAqB,IAAI,EAAE,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7H,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;YAEvB,0DAA0D;YAC1D,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;gBAC9B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC7B,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;gBAC1B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC7B,CAAC;YACD,IAAI,KAAK,CAAC,kBAAkB,GAAG,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,CAAC;YAC/D,CAAC;YACD,IAAI,KAAK,CAAC,kBAAkB,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;gBACnD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,CAAC;YAC/D,CAAC;YACD,6EAA6E;YAC7E,IAAI,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,kBAAkB,IAAI,KAAK,CAAC,kBAAkB,KAAK,CAAC,EAAE,CAAC;gBACpH,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC;YACnF,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;IACxB,CAAC;IAEO,WAAW,KAAW,IAAI,IAAI,CAAC,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC,CAAC,CAAC;CACpH"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentdb",
3
- "version": "3.0.0-alpha.17",
3
+ "version": "3.0.0-alpha.18",
4
4
  "description": "Self-learning vector memory for AI agents — single-file .rvf cognitive container with HNSW search, episodic Reflexion memory, causal graph + Cypher, 9 RL algorithms, Thompson Sampling bandit, 41 MCP tools, hybrid (BM25 + dense) retrieval, GNN attention. 150x faster than SQLite. Up to +36% search quality from feedback. Runs in Node, browsers (WASM), edge, offline. Backs the agentic-flow / ruflo / Claude Code memory layer.",
5
5
  "type": "module",
6
6
  "main": "dist/src/index.js",
@@ -199,7 +199,7 @@
199
199
  "@ruvector/graph-node": "^2.0.2",
200
200
  "@ruvector/router": "^0.1.15",
201
201
  "@ruvector/ruvllm": "^2.5.1",
202
- "@ruvector/rvf": "^0.1.9",
202
+ "@ruvector/rvf": "^0.2.3",
203
203
  "@ruvector/rvf-node": "^0.1.7",
204
204
  "@ruvector/rvf-solver": "^0.1.7",
205
205
  "@ruvector/rvf-wasm": "^0.1.6",