universal-agent-memory 1.0.24 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/generate.js +119 -14
- package/dist/cli/generate.js.map +1 -1
- package/dist/generators/claude-md.js +19 -4
- package/dist/generators/claude-md.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/memory/adaptive-context.d.ts +4 -1
- package/dist/memory/adaptive-context.d.ts.map +1 -1
- package/dist/memory/adaptive-context.js +103 -47
- package/dist/memory/adaptive-context.js.map +1 -1
- package/dist/memory/context-compressor.d.ts +3 -1
- package/dist/memory/context-compressor.d.ts.map +1 -1
- package/dist/memory/context-compressor.js +22 -13
- package/dist/memory/context-compressor.js.map +1 -1
- package/dist/memory/dynamic-retrieval.d.ts +3 -0
- package/dist/memory/dynamic-retrieval.d.ts.map +1 -1
- package/dist/memory/dynamic-retrieval.js +95 -47
- package/dist/memory/dynamic-retrieval.js.map +1 -1
- package/dist/memory/hierarchical-memory.d.ts +15 -2
- package/dist/memory/hierarchical-memory.d.ts.map +1 -1
- package/dist/memory/hierarchical-memory.js +118 -8
- package/dist/memory/hierarchical-memory.js.map +1 -1
- package/dist/memory/model-router.d.ts +85 -0
- package/dist/memory/model-router.d.ts.map +1 -0
- package/dist/memory/model-router.js +237 -0
- package/dist/memory/model-router.js.map +1 -0
- package/dist/memory/semantic-compression.d.ts.map +1 -1
- package/dist/memory/semantic-compression.js +2 -10
- package/dist/memory/semantic-compression.js.map +1 -1
- package/dist/memory/short-term/schema.d.ts.map +1 -1
- package/dist/memory/short-term/schema.js +36 -0
- package/dist/memory/short-term/schema.js.map +1 -1
- package/dist/memory/short-term/sqlite.d.ts +2 -0
- package/dist/memory/short-term/sqlite.d.ts.map +1 -1
- package/dist/memory/short-term/sqlite.js +77 -1
- package/dist/memory/short-term/sqlite.js.map +1 -1
- package/dist/memory/terminal-bench-knowledge.d.ts +34 -0
- package/dist/memory/terminal-bench-knowledge.d.ts.map +1 -0
- package/dist/memory/terminal-bench-knowledge.js +204 -0
- package/dist/memory/terminal-bench-knowledge.js.map +1 -0
- package/dist/utils/string-similarity.d.ts +37 -0
- package/dist/utils/string-similarity.d.ts.map +1 -0
- package/dist/utils/string-similarity.js +114 -0
- package/dist/utils/string-similarity.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Model Routing Intelligence for UAM
|
|
3
|
+
*
|
|
4
|
+
* Routes tasks to the optimal model based on:
|
|
5
|
+
* - Task classification and difficulty
|
|
6
|
+
* - Model capability fingerprints (benchmarked data)
|
|
7
|
+
* - Latency/accuracy/cost tradeoffs
|
|
8
|
+
* - Fallback chains for resilience
|
|
9
|
+
*
|
|
10
|
+
* Based on BENCHMARK_ANALYSIS.md and MODEL_BENCHMARK_RESULTS.md data.
|
|
11
|
+
*/
|
|
12
|
+
export type ModelId = 'glm-4.7' | 'gpt-5.2' | 'claude-opus-4.5' | 'gpt-5.2-codex';
|
|
13
|
+
export interface ModelFingerprint {
|
|
14
|
+
id: ModelId;
|
|
15
|
+
strengths: string[];
|
|
16
|
+
weaknesses: string[];
|
|
17
|
+
avgLatencyMs: number;
|
|
18
|
+
successRate: number;
|
|
19
|
+
costPerTask: number;
|
|
20
|
+
maxComplexity: 'easy' | 'medium' | 'hard';
|
|
21
|
+
bestCategories: string[];
|
|
22
|
+
}
|
|
23
|
+
export interface RoutingDecision {
|
|
24
|
+
primary: ModelId;
|
|
25
|
+
fallback: ModelId[];
|
|
26
|
+
reason: string;
|
|
27
|
+
estimatedLatencyMs: number;
|
|
28
|
+
estimatedSuccessRate: number;
|
|
29
|
+
estimatedCost: number;
|
|
30
|
+
}
|
|
31
|
+
export interface RoutingConfig {
|
|
32
|
+
preferLatency: boolean;
|
|
33
|
+
preferAccuracy: boolean;
|
|
34
|
+
maxCostPerTask: number;
|
|
35
|
+
maxLatencyMs: number;
|
|
36
|
+
availableModels: ModelId[];
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Failure handlers for model-specific known issues
|
|
40
|
+
*/
|
|
41
|
+
declare const FAILURE_HANDLERS: Record<string, {
|
|
42
|
+
action: 'add_context' | 'reduce_context' | 'switch_model';
|
|
43
|
+
context?: string;
|
|
44
|
+
fallbackModel?: ModelId;
|
|
45
|
+
}>;
|
|
46
|
+
/**
|
|
47
|
+
* Route a task to the best model
|
|
48
|
+
*/
|
|
49
|
+
export declare function routeTask(instruction: string, difficulty?: 'easy' | 'medium' | 'hard', config?: Partial<RoutingConfig>): RoutingDecision;
|
|
50
|
+
/**
|
|
51
|
+
* Get failure handler for a model-specific error
|
|
52
|
+
*/
|
|
53
|
+
export declare function getFailureHandler(modelId: ModelId, errorType: string): typeof FAILURE_HANDLERS[string] | null;
|
|
54
|
+
/**
|
|
55
|
+
* Get model fingerprint
|
|
56
|
+
*/
|
|
57
|
+
export declare function getModelFingerprint(modelId: ModelId): ModelFingerprint | null;
|
|
58
|
+
/**
|
|
59
|
+
* Get all model fingerprints
|
|
60
|
+
*/
|
|
61
|
+
export declare function getAllModelFingerprints(): Record<ModelId, ModelFingerprint>;
|
|
62
|
+
/**
|
|
63
|
+
* Update model fingerprint with new benchmark data
|
|
64
|
+
*/
|
|
65
|
+
export declare function updateModelFingerprint(modelId: ModelId, updates: Partial<Pick<ModelFingerprint, 'avgLatencyMs' | 'successRate' | 'costPerTask'>>): void;
|
|
66
|
+
/**
|
|
67
|
+
* Record task outcome to update model fingerprints (feedback loop)
|
|
68
|
+
* Call this after each task completes to improve future routing decisions
|
|
69
|
+
*/
|
|
70
|
+
export declare function recordTaskOutcome(modelId: ModelId, success: boolean, latencyMs: number, _taskCategory?: string): void;
|
|
71
|
+
/**
|
|
72
|
+
* Get routing recommendation with explanation
|
|
73
|
+
*/
|
|
74
|
+
export declare function explainRouting(instruction: string, difficulty?: 'easy' | 'medium' | 'hard'): string;
|
|
75
|
+
export declare const ModelRouter: {
|
|
76
|
+
routeTask: typeof routeTask;
|
|
77
|
+
getFailureHandler: typeof getFailureHandler;
|
|
78
|
+
getModelFingerprint: typeof getModelFingerprint;
|
|
79
|
+
getAllModelFingerprints: typeof getAllModelFingerprints;
|
|
80
|
+
updateModelFingerprint: typeof updateModelFingerprint;
|
|
81
|
+
recordTaskOutcome: typeof recordTaskOutcome;
|
|
82
|
+
explainRouting: typeof explainRouting;
|
|
83
|
+
};
|
|
84
|
+
export default ModelRouter;
|
|
85
|
+
//# sourceMappingURL=model-router.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-router.d.ts","sourceRoot":"","sources":["../../src/memory/model-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,iBAAiB,GAAG,eAAe,CAAC;AAElF,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,OAAO,CAAC;IACZ,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC1C,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,OAAO,EAAE,CAAC;CAC5B;AAuDD;;GAEG;AACH,QAAA,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE;IACrC,MAAM,EAAE,aAAa,GAAG,gBAAgB,GAAG,cAAc,CAAC;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAcA,CAAC;AA4DF;;GAEG;AACH,wBAAgB,SAAS,CACvB,WAAW,EAAE,MAAM,EACnB,UAAU,GAAE,MAAM,GAAG,QAAQ,GAAG,MAAiB,EACjD,MAAM,GAAE,OAAO,CAAC,aAAa,CAAM,GAClC,eAAe,CAoCjB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,gBAAgB,CAAC,MAAM,CAAC,GAAG,IAAI,CAE7G;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB,GAAG,IAAI,CAE7E;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAE3E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,cAAc,GAAG,aAAa,GAAG,aAAa,CAAC,CAAC,GACvF,IAAI,CAcN;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,MAAM,GACrB,IAAI,CAUN;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,GAAG,QAAQ,GAAG,MAAiB,GAAG,MAAM,CAc7G;AAED,eAAO,MAAM,WAAW;;;;;;;;CAQvB,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Model Routing Intelligence for UAM
|
|
3
|
+
*
|
|
4
|
+
* Routes tasks to the optimal model based on:
|
|
5
|
+
* - Task classification and difficulty
|
|
6
|
+
* - Model capability fingerprints (benchmarked data)
|
|
7
|
+
* - Latency/accuracy/cost tradeoffs
|
|
8
|
+
* - Fallback chains for resilience
|
|
9
|
+
*
|
|
10
|
+
* Based on BENCHMARK_ANALYSIS.md and MODEL_BENCHMARK_RESULTS.md data.
|
|
11
|
+
*/
|
|
12
|
+
import { classifyTask } from './task-classifier.js';
|
|
13
|
+
const DEFAULT_CONFIG = {
|
|
14
|
+
preferLatency: false,
|
|
15
|
+
preferAccuracy: true,
|
|
16
|
+
maxCostPerTask: 0.05,
|
|
17
|
+
maxLatencyMs: 120000,
|
|
18
|
+
availableModels: ['glm-4.7', 'gpt-5.2', 'claude-opus-4.5', 'gpt-5.2-codex'],
|
|
19
|
+
};
|
|
20
|
+
const MODEL_FINGERPRINTS = {
|
|
21
|
+
'glm-4.7': {
|
|
22
|
+
id: 'glm-4.7',
|
|
23
|
+
strengths: ['speed', 'simple-code', 'patterns', 'typescript', 'bug-detection'],
|
|
24
|
+
weaknesses: ['complex-algorithms', 'long-context', 'multi-step-code', 'context-awareness'],
|
|
25
|
+
avgLatencyMs: 11373,
|
|
26
|
+
successRate: 0.625,
|
|
27
|
+
costPerTask: 0.001,
|
|
28
|
+
maxComplexity: 'medium',
|
|
29
|
+
bestCategories: ['coding', 'testing', 'debugging'],
|
|
30
|
+
},
|
|
31
|
+
'gpt-5.2': {
|
|
32
|
+
id: 'gpt-5.2',
|
|
33
|
+
strengths: ['balance', 'consistency', 'general-purpose', 'algorithm', 'multi-step'],
|
|
34
|
+
weaknesses: ['refactoring', 'latency-sensitive'],
|
|
35
|
+
avgLatencyMs: 21286,
|
|
36
|
+
successRate: 0.875,
|
|
37
|
+
costPerTask: 0.005,
|
|
38
|
+
maxComplexity: 'hard',
|
|
39
|
+
bestCategories: ['coding', 'security', 'file-ops', 'debugging'],
|
|
40
|
+
},
|
|
41
|
+
'claude-opus-4.5': {
|
|
42
|
+
id: 'claude-opus-4.5',
|
|
43
|
+
strengths: ['accuracy', 'complex-reasoning', 'edge-cases', 'error-handling', 'refactoring'],
|
|
44
|
+
weaknesses: ['latency', 'cost'],
|
|
45
|
+
avgLatencyMs: 26359,
|
|
46
|
+
successRate: 0.875,
|
|
47
|
+
costPerTask: 0.02,
|
|
48
|
+
maxComplexity: 'hard',
|
|
49
|
+
bestCategories: ['security', 'coding', 'sysadmin', 'debugging'],
|
|
50
|
+
},
|
|
51
|
+
'gpt-5.2-codex': {
|
|
52
|
+
id: 'gpt-5.2-codex',
|
|
53
|
+
strengths: ['code-specific', 'syntax-accuracy', 'context-awareness', 'all-difficulties'],
|
|
54
|
+
weaknesses: ['latency', 'cost', 'non-code-tasks'],
|
|
55
|
+
avgLatencyMs: 102399,
|
|
56
|
+
successRate: 1.0,
|
|
57
|
+
costPerTask: 0.01,
|
|
58
|
+
maxComplexity: 'hard',
|
|
59
|
+
bestCategories: ['coding', 'testing'],
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
const COMPLEXITY_RANK = { easy: 1, medium: 2, hard: 3 };
|
|
63
|
+
/**
|
|
64
|
+
* Failure handlers for model-specific known issues
|
|
65
|
+
*/
|
|
66
|
+
const FAILURE_HANDLERS = {
|
|
67
|
+
'gpt-5.2-codex:permission_denied': {
|
|
68
|
+
action: 'add_context',
|
|
69
|
+
context: 'Do not attempt file operations. Return code only.',
|
|
70
|
+
fallbackModel: 'gpt-5.2',
|
|
71
|
+
},
|
|
72
|
+
'glm-4.7:timeout': {
|
|
73
|
+
action: 'reduce_context',
|
|
74
|
+
fallbackModel: 'gpt-5.2',
|
|
75
|
+
},
|
|
76
|
+
'glm-4.7:context_overflow': {
|
|
77
|
+
action: 'reduce_context',
|
|
78
|
+
fallbackModel: 'gpt-5.2',
|
|
79
|
+
},
|
|
80
|
+
};
|
|
81
|
+
/**
|
|
82
|
+
* Score a model for a given task
|
|
83
|
+
*/
|
|
84
|
+
function scoreModel(model, classification, difficulty, config) {
|
|
85
|
+
let score = 0;
|
|
86
|
+
// Category match bonus
|
|
87
|
+
if (model.bestCategories.includes(classification.category)) {
|
|
88
|
+
score += 30;
|
|
89
|
+
}
|
|
90
|
+
// Complexity match
|
|
91
|
+
if (COMPLEXITY_RANK[model.maxComplexity] >= COMPLEXITY_RANK[difficulty]) {
|
|
92
|
+
score += 20;
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
score -= 50; // Penalty for difficulty exceeding capability
|
|
96
|
+
}
|
|
97
|
+
// Success rate (0-25 points)
|
|
98
|
+
score += model.successRate * 25;
|
|
99
|
+
// Latency preference (0-15 points)
|
|
100
|
+
if (config.preferLatency) {
|
|
101
|
+
const latencyScore = Math.max(0, 1 - (model.avgLatencyMs / 120000));
|
|
102
|
+
score += latencyScore * 15;
|
|
103
|
+
}
|
|
104
|
+
// Accuracy preference bonus
|
|
105
|
+
if (config.preferAccuracy) {
|
|
106
|
+
score += model.successRate * 10;
|
|
107
|
+
}
|
|
108
|
+
// Cost constraint
|
|
109
|
+
if (model.costPerTask > config.maxCostPerTask) {
|
|
110
|
+
score -= 20;
|
|
111
|
+
}
|
|
112
|
+
// Latency constraint
|
|
113
|
+
if (model.avgLatencyMs > config.maxLatencyMs) {
|
|
114
|
+
score -= 30;
|
|
115
|
+
}
|
|
116
|
+
// Keyword match with model strengths
|
|
117
|
+
const taskKeywords = classification.keywords.map(k => k.toLowerCase());
|
|
118
|
+
for (const strength of model.strengths) {
|
|
119
|
+
if (taskKeywords.some(kw => strength.includes(kw) || kw.includes(strength))) {
|
|
120
|
+
score += 5;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return score;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Route a task to the best model
|
|
127
|
+
*/
|
|
128
|
+
export function routeTask(instruction, difficulty = 'medium', config = {}) {
|
|
129
|
+
const cfg = { ...DEFAULT_CONFIG, ...config };
|
|
130
|
+
const classification = classifyTask(instruction);
|
|
131
|
+
// Score all available models
|
|
132
|
+
const scored = cfg.availableModels
|
|
133
|
+
.filter(id => MODEL_FINGERPRINTS[id])
|
|
134
|
+
.map(id => ({
|
|
135
|
+
id,
|
|
136
|
+
fingerprint: MODEL_FINGERPRINTS[id],
|
|
137
|
+
score: scoreModel(MODEL_FINGERPRINTS[id], classification, difficulty, cfg),
|
|
138
|
+
}))
|
|
139
|
+
.sort((a, b) => b.score - a.score);
|
|
140
|
+
if (scored.length === 0) {
|
|
141
|
+
return {
|
|
142
|
+
primary: 'gpt-5.2',
|
|
143
|
+
fallback: ['claude-opus-4.5'],
|
|
144
|
+
reason: 'No available models matched, defaulting to GPT 5.2',
|
|
145
|
+
estimatedLatencyMs: 21286,
|
|
146
|
+
estimatedSuccessRate: 0.875,
|
|
147
|
+
estimatedCost: 0.005,
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
const primary = scored[0];
|
|
151
|
+
const fallbacks = scored.slice(1).map(s => s.id);
|
|
152
|
+
return {
|
|
153
|
+
primary: primary.id,
|
|
154
|
+
fallback: fallbacks,
|
|
155
|
+
reason: `${primary.id} selected for ${classification.category}/${difficulty} task (score: ${primary.score.toFixed(0)})`,
|
|
156
|
+
estimatedLatencyMs: primary.fingerprint.avgLatencyMs,
|
|
157
|
+
estimatedSuccessRate: primary.fingerprint.successRate,
|
|
158
|
+
estimatedCost: primary.fingerprint.costPerTask,
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Get failure handler for a model-specific error
|
|
163
|
+
*/
|
|
164
|
+
export function getFailureHandler(modelId, errorType) {
|
|
165
|
+
return FAILURE_HANDLERS[`${modelId}:${errorType}`] || null;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Get model fingerprint
|
|
169
|
+
*/
|
|
170
|
+
export function getModelFingerprint(modelId) {
|
|
171
|
+
return MODEL_FINGERPRINTS[modelId] || null;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Get all model fingerprints
|
|
175
|
+
*/
|
|
176
|
+
export function getAllModelFingerprints() {
|
|
177
|
+
return { ...MODEL_FINGERPRINTS };
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Update model fingerprint with new benchmark data
|
|
181
|
+
*/
|
|
182
|
+
export function updateModelFingerprint(modelId, updates) {
|
|
183
|
+
const fp = MODEL_FINGERPRINTS[modelId];
|
|
184
|
+
if (!fp)
|
|
185
|
+
return;
|
|
186
|
+
if (updates.avgLatencyMs !== undefined) {
|
|
187
|
+
// Exponential moving average
|
|
188
|
+
fp.avgLatencyMs = fp.avgLatencyMs * 0.7 + updates.avgLatencyMs * 0.3;
|
|
189
|
+
}
|
|
190
|
+
if (updates.successRate !== undefined) {
|
|
191
|
+
fp.successRate = fp.successRate * 0.7 + updates.successRate * 0.3;
|
|
192
|
+
}
|
|
193
|
+
if (updates.costPerTask !== undefined) {
|
|
194
|
+
fp.costPerTask = updates.costPerTask;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Record task outcome to update model fingerprints (feedback loop)
|
|
199
|
+
* Call this after each task completes to improve future routing decisions
|
|
200
|
+
*/
|
|
201
|
+
export function recordTaskOutcome(modelId, success, latencyMs, _taskCategory) {
|
|
202
|
+
const fp = MODEL_FINGERPRINTS[modelId];
|
|
203
|
+
if (!fp)
|
|
204
|
+
return;
|
|
205
|
+
// Update success rate using exponential moving average
|
|
206
|
+
const newSuccessRate = success ? 1.0 : 0.0;
|
|
207
|
+
fp.successRate = fp.successRate * 0.9 + newSuccessRate * 0.1;
|
|
208
|
+
// Update latency using exponential moving average
|
|
209
|
+
fp.avgLatencyMs = fp.avgLatencyMs * 0.8 + latencyMs * 0.2;
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Get routing recommendation with explanation
|
|
213
|
+
*/
|
|
214
|
+
export function explainRouting(instruction, difficulty = 'medium') {
|
|
215
|
+
const decision = routeTask(instruction, difficulty);
|
|
216
|
+
const fingerprint = MODEL_FINGERPRINTS[decision.primary];
|
|
217
|
+
const lines = [
|
|
218
|
+
`Primary Model: ${decision.primary}`,
|
|
219
|
+
`Reason: ${decision.reason}`,
|
|
220
|
+
`Expected Latency: ${(decision.estimatedLatencyMs / 1000).toFixed(1)}s`,
|
|
221
|
+
`Expected Success: ${(decision.estimatedSuccessRate * 100).toFixed(0)}%`,
|
|
222
|
+
`Strengths: ${fingerprint?.strengths.slice(0, 3).join(', ') || 'N/A'}`,
|
|
223
|
+
`Fallbacks: ${decision.fallback.join(' -> ') || 'None'}`,
|
|
224
|
+
];
|
|
225
|
+
return lines.join('\n');
|
|
226
|
+
}
|
|
227
|
+
export const ModelRouter = {
|
|
228
|
+
routeTask,
|
|
229
|
+
getFailureHandler,
|
|
230
|
+
getModelFingerprint,
|
|
231
|
+
getAllModelFingerprints,
|
|
232
|
+
updateModelFingerprint,
|
|
233
|
+
recordTaskOutcome,
|
|
234
|
+
explainRouting,
|
|
235
|
+
};
|
|
236
|
+
export default ModelRouter;
|
|
237
|
+
//# sourceMappingURL=model-router.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-router.js","sourceRoot":"","sources":["../../src/memory/model-router.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic-compression.d.ts","sourceRoot":"","sources":["../../src/memory/semantic-compression.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"semantic-compression.d.ts","sourceRoot":"","sources":["../../src/memory/semantic-compression.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;IACxD,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;CAC7D;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,yBAAyB;IACxC,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAUD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAsBrD;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAShE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,GAAE,MAAY,GAAG,UAAU,EAAE,CAqD1F;AAyHD;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EACzD,MAAM,GAAE,OAAO,CAAC,yBAAyB,CAAM,GAC9C,YAAY,CAqDd;AA2BD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CA+BhE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EAC3F,MAAM,GAAE,OAAO,CAAC,yBAAyB,CAAM,GAC9C;IACD,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB,CAkCA"}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
* Based on SimpleMem research (2026): 30x token reduction while maintaining F1 scores
|
|
10
10
|
*/
|
|
11
11
|
import { estimateTokens } from './context-compressor.js';
|
|
12
|
+
import { jaccardSimilarity } from '../utils/string-similarity.js';
|
|
12
13
|
const DEFAULT_CONFIG = {
|
|
13
14
|
maxFactsPerUnit: 10,
|
|
14
15
|
minActionability: 0.3,
|
|
@@ -266,16 +267,7 @@ function deduplicateFacts(facts, threshold) {
|
|
|
266
267
|
}
|
|
267
268
|
return unique;
|
|
268
269
|
}
|
|
269
|
-
|
|
270
|
-
* Jaccard similarity between two strings
|
|
271
|
-
*/
|
|
272
|
-
function jaccardSimilarity(a, b) {
|
|
273
|
-
const setA = new Set(a.split(/\s+/));
|
|
274
|
-
const setB = new Set(b.split(/\s+/));
|
|
275
|
-
const intersection = new Set([...setA].filter(x => setB.has(x)));
|
|
276
|
-
const union = new Set([...setA, ...setB]);
|
|
277
|
-
return intersection.size / (union.size || 1);
|
|
278
|
-
}
|
|
270
|
+
// jaccardSimilarity imported from ../utils/string-similarity.js
|
|
279
271
|
/**
|
|
280
272
|
* Serialize semantic unit for storage/display
|
|
281
273
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic-compression.js","sourceRoot":"","sources":["../../src/memory/semantic-compression.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"semantic-compression.js","sourceRoot":"","sources":["../../src/memory/semantic-compression.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/memory/short-term/schema.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAItC,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/memory/short-term/schema.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAItC,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAwCjE;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CA0B/D;AAED,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CA0BjE;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAW7D"}
|
|
@@ -12,7 +12,32 @@ export function ensureShortTermSchema(db) {
|
|
|
12
12
|
);
|
|
13
13
|
CREATE INDEX IF NOT EXISTS idx_memories_project_id ON memories(project_id);
|
|
14
14
|
CREATE INDEX IF NOT EXISTS idx_memories_timestamp ON memories(timestamp);
|
|
15
|
+
CREATE INDEX IF NOT EXISTS idx_memories_type ON memories(type);
|
|
16
|
+
CREATE INDEX IF NOT EXISTS idx_memories_project_type ON memories(project_id, type);
|
|
15
17
|
`);
|
|
18
|
+
// Enable WAL mode for concurrent reads and better write performance
|
|
19
|
+
db.pragma('journal_mode = WAL');
|
|
20
|
+
db.pragma('synchronous = NORMAL');
|
|
21
|
+
db.pragma('mmap_size = 268435456');
|
|
22
|
+
db.pragma('cache_size = -64000');
|
|
23
|
+
// Create FTS5 virtual table for full-text search
|
|
24
|
+
db.exec(`
|
|
25
|
+
CREATE VIRTUAL TABLE IF NOT EXISTS memories_fts USING fts5(
|
|
26
|
+
content,
|
|
27
|
+
type,
|
|
28
|
+
content_rowid=id,
|
|
29
|
+
tokenize='porter unicode61'
|
|
30
|
+
);
|
|
31
|
+
`);
|
|
32
|
+
// Populate FTS if empty but memories exist
|
|
33
|
+
const ftsCount = db.prepare('SELECT COUNT(*) as c FROM memories_fts').get().c;
|
|
34
|
+
const memCount = db.prepare('SELECT COUNT(*) as c FROM memories').get().c;
|
|
35
|
+
if (ftsCount === 0 && memCount > 0) {
|
|
36
|
+
db.exec(`
|
|
37
|
+
INSERT INTO memories_fts(rowid, content, type)
|
|
38
|
+
SELECT id, content, type FROM memories;
|
|
39
|
+
`);
|
|
40
|
+
}
|
|
16
41
|
}
|
|
17
42
|
export function ensureSessionSchema(db) {
|
|
18
43
|
db.exec(`
|
|
@@ -27,6 +52,17 @@ export function ensureSessionSchema(db) {
|
|
|
27
52
|
CREATE UNIQUE INDEX IF NOT EXISTS idx_session_unique ON session_memories(session_id, content);
|
|
28
53
|
CREATE INDEX IF NOT EXISTS idx_session_id ON session_memories(session_id);
|
|
29
54
|
CREATE INDEX IF NOT EXISTS idx_session_timestamp ON session_memories(timestamp);
|
|
55
|
+
CREATE INDEX IF NOT EXISTS idx_session_importance ON session_memories(importance DESC);
|
|
56
|
+
CREATE INDEX IF NOT EXISTS idx_session_id_importance ON session_memories(session_id, importance DESC);
|
|
57
|
+
`);
|
|
58
|
+
// Create FTS5 for session memories
|
|
59
|
+
db.exec(`
|
|
60
|
+
CREATE VIRTUAL TABLE IF NOT EXISTS session_memories_fts USING fts5(
|
|
61
|
+
content,
|
|
62
|
+
type,
|
|
63
|
+
content_rowid=id,
|
|
64
|
+
tokenize='porter unicode61'
|
|
65
|
+
);
|
|
30
66
|
`);
|
|
31
67
|
}
|
|
32
68
|
export function ensureKnowledgeSchema(db) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/memory/short-term/schema.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,MAAM,UAAU,qBAAqB,CAAC,EAAqB;IACzD,EAAE,CAAC,IAAI,CAAC
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/memory/short-term/schema.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,MAAM,UAAU,qBAAqB,CAAC,EAAqB;IACzD,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;GAYP,CAAC,CAAC;IAEH,oEAAoE;IACpE,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAChC,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAClC,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;IACnC,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAEjC,iDAAiD;IACjD,EAAE,CAAC,IAAI,CAAC;;;;;;;GAOP,CAAC,CAAC;IAEH,2CAA2C;IAC3C,MAAM,QAAQ,GAAI,EAAE,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC,GAAG,EAAoB,CAAC,CAAC,CAAC;IACjG,MAAM,QAAQ,GAAI,EAAE,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC,GAAG,EAAoB,CAAC,CAAC,CAAC;IAC7F,IAAI,QAAQ,KAAK,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QACnC,EAAE,CAAC,IAAI,CAAC;;;KAGP,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,EAAqB;IACvD,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;GAcP,CAAC,CAAC;IAEH,mCAAmC;IACnC,EAAE,CAAC,IAAI,CAAC;;;;;;;GAOP,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,EAAqB;IACzD,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;GAwBP,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAAc;IACrD,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChC,qBAAqB,CAAC,EAAE,CAAC,CAAC;IAC1B,mBAAmB,CAAC,EAAE,CAAC,CAAC;IACxB,qBAAqB,CAAC,EAAE,CAAC,CAAC;IAC1B,EAAE,CAAC,KAAK,EAAE,CAAC;AACb,CAAC"}
|
|
@@ -10,6 +10,7 @@ export declare class SQLiteShortTermMemory implements ShortTermMemoryBackend {
|
|
|
10
10
|
private db;
|
|
11
11
|
private projectId;
|
|
12
12
|
private maxEntries;
|
|
13
|
+
private cache;
|
|
13
14
|
constructor(config: {
|
|
14
15
|
dbPath: string;
|
|
15
16
|
projectId?: string;
|
|
@@ -24,6 +25,7 @@ export declare class SQLiteShortTermMemory implements ShortTermMemoryBackend {
|
|
|
24
25
|
}>): Promise<void>;
|
|
25
26
|
getRecent(limit?: number): Promise<ShortTermMemory[]>;
|
|
26
27
|
query(searchTerm: string, limit?: number): Promise<ShortTermMemory[]>;
|
|
28
|
+
private queryWithoutCache;
|
|
27
29
|
getByType(type: ShortTermMemory['type'], limit?: number): Promise<ShortTermMemory[]>;
|
|
28
30
|
count(): Promise<number>;
|
|
29
31
|
private prune;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../../src/memory/short-term/sqlite.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../../src/memory/short-term/sqlite.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE3D,UAAU,eAAe;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,QAAQ,GAAG,aAAa,GAAG,SAAS,GAAG,MAAM,CAAC;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,qBAAsB,YAAW,sBAAsB;IAClE,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,KAAK,CAAgF;gBAEjF,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;IAe/E,OAAO,CAAC,UAAU;IAIZ,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBpE,UAAU,CACd,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GACrF,OAAO,CAAC,IAAI,CAAC;IAsBV,SAAS,CAAC,KAAK,SAAK,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAWjD,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;YAoDzD,iBAAiB;IA0BzB,SAAS,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAWhF,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;YAUhB,KAAK;IAiBb,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,SAAS,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAWvC,SAAS,CACb,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GACtF,OAAO,CAAC,MAAM,CAAC;CAInB"}
|
|
@@ -2,10 +2,12 @@ import Database from 'better-sqlite3';
|
|
|
2
2
|
import { existsSync, mkdirSync } from 'fs';
|
|
3
3
|
import { dirname } from 'path';
|
|
4
4
|
import { ensureShortTermSchema } from './schema.js';
|
|
5
|
+
import { getSpeculativeCache } from '../speculative-cache.js';
|
|
5
6
|
export class SQLiteShortTermMemory {
|
|
6
7
|
db;
|
|
7
8
|
projectId;
|
|
8
9
|
maxEntries;
|
|
10
|
+
cache = getSpeculativeCache({ maxEntries: 50, ttlMs: 120000, preWarmEnabled: true });
|
|
9
11
|
constructor(config) {
|
|
10
12
|
// Ensure directory exists
|
|
11
13
|
const dir = dirname(config.dbPath);
|
|
@@ -22,11 +24,23 @@ export class SQLiteShortTermMemory {
|
|
|
22
24
|
ensureShortTermSchema(this.db);
|
|
23
25
|
}
|
|
24
26
|
async store(type, content) {
|
|
27
|
+
const timestamp = new Date().toISOString();
|
|
25
28
|
const stmt = this.db.prepare(`
|
|
26
29
|
INSERT INTO memories (timestamp, type, content, project_id)
|
|
27
30
|
VALUES (?, ?, ?, ?)
|
|
28
31
|
`);
|
|
29
|
-
stmt.run(
|
|
32
|
+
const result = stmt.run(timestamp, type, content, this.projectId);
|
|
33
|
+
// Update FTS5 index
|
|
34
|
+
try {
|
|
35
|
+
const ftsStmt = this.db.prepare(`
|
|
36
|
+
INSERT INTO memories_fts(rowid, content, type)
|
|
37
|
+
VALUES (?, ?, ?)
|
|
38
|
+
`);
|
|
39
|
+
ftsStmt.run(result.lastInsertRowid, content, type);
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
// FTS5 not available, ignore
|
|
43
|
+
}
|
|
30
44
|
// Auto-prune if exceeds maxEntries
|
|
31
45
|
await this.prune();
|
|
32
46
|
}
|
|
@@ -54,6 +68,68 @@ export class SQLiteShortTermMemory {
|
|
|
54
68
|
return stmt.all(this.projectId, limit);
|
|
55
69
|
}
|
|
56
70
|
async query(searchTerm, limit = 10) {
|
|
71
|
+
// Check speculative cache first
|
|
72
|
+
const cacheKey = `${this.projectId}:${searchTerm}:${limit}`;
|
|
73
|
+
const cached = this.cache.get(cacheKey);
|
|
74
|
+
if (cached) {
|
|
75
|
+
return cached.result;
|
|
76
|
+
}
|
|
77
|
+
let results = [];
|
|
78
|
+
// Try FTS5 first for faster full-text search
|
|
79
|
+
try {
|
|
80
|
+
const ftsStmt = this.db.prepare(`
|
|
81
|
+
SELECT m.id, m.timestamp, m.type, m.content, m.project_id as projectId
|
|
82
|
+
FROM memories_fts fts
|
|
83
|
+
JOIN memories m ON fts.rowid = m.id
|
|
84
|
+
WHERE memories_fts MATCH ? AND m.project_id = ?
|
|
85
|
+
ORDER BY rank
|
|
86
|
+
LIMIT ?
|
|
87
|
+
`);
|
|
88
|
+
results = ftsStmt.all(searchTerm, this.projectId, limit);
|
|
89
|
+
}
|
|
90
|
+
catch {
|
|
91
|
+
// FTS5 not available or query syntax error, fall through to LIKE
|
|
92
|
+
}
|
|
93
|
+
// Fallback to LIKE search if FTS5 returned nothing
|
|
94
|
+
if (results.length === 0) {
|
|
95
|
+
const stmt = this.db.prepare(`
|
|
96
|
+
SELECT id, timestamp, type, content, project_id as projectId
|
|
97
|
+
FROM memories
|
|
98
|
+
WHERE project_id = ? AND content LIKE ?
|
|
99
|
+
ORDER BY id DESC
|
|
100
|
+
LIMIT ?
|
|
101
|
+
`);
|
|
102
|
+
results = stmt.all(this.projectId, `%${searchTerm}%`, limit);
|
|
103
|
+
}
|
|
104
|
+
// Store in cache
|
|
105
|
+
this.cache.set(cacheKey, results);
|
|
106
|
+
// Pre-warm cache for predicted next queries
|
|
107
|
+
this.cache.preWarm(searchTerm, async (q) => {
|
|
108
|
+
const predictedKey = `${this.projectId}:${q}:${limit}`;
|
|
109
|
+
if (!this.cache.get(predictedKey)) {
|
|
110
|
+
return this.queryWithoutCache(q, limit);
|
|
111
|
+
}
|
|
112
|
+
return [];
|
|
113
|
+
}).catch(() => { });
|
|
114
|
+
return results;
|
|
115
|
+
}
|
|
116
|
+
async queryWithoutCache(searchTerm, limit) {
|
|
117
|
+
try {
|
|
118
|
+
const ftsStmt = this.db.prepare(`
|
|
119
|
+
SELECT m.id, m.timestamp, m.type, m.content, m.project_id as projectId
|
|
120
|
+
FROM memories_fts fts
|
|
121
|
+
JOIN memories m ON fts.rowid = m.id
|
|
122
|
+
WHERE memories_fts MATCH ? AND m.project_id = ?
|
|
123
|
+
ORDER BY rank
|
|
124
|
+
LIMIT ?
|
|
125
|
+
`);
|
|
126
|
+
const results = ftsStmt.all(searchTerm, this.projectId, limit);
|
|
127
|
+
if (results.length > 0)
|
|
128
|
+
return results;
|
|
129
|
+
}
|
|
130
|
+
catch {
|
|
131
|
+
// FTS5 not available
|
|
132
|
+
}
|
|
57
133
|
const stmt = this.db.prepare(`
|
|
58
134
|
SELECT id, timestamp, type, content, project_id as projectId
|
|
59
135
|
FROM memories
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../../src/memory/short-term/sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../../src/memory/short-term/sqlite.ts"],"names":[],"mappings":"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"}
|