agentic-qe 3.6.19 → 3.7.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/.claude/skills/skills-manifest.json +1 -1
- package/README.md +29 -1
- package/package.json +2 -1
- package/scripts/rvf-baseline-benchmark.ts +843 -0
- package/v3/CHANGELOG.md +30 -0
- package/v3/dist/audit/witness-chain.d.ts +148 -0
- package/v3/dist/audit/witness-chain.d.ts.map +1 -0
- package/v3/dist/audit/witness-chain.js +269 -0
- package/v3/dist/audit/witness-chain.js.map +1 -0
- package/v3/dist/cli/brain-commands.d.ts +39 -0
- package/v3/dist/cli/brain-commands.d.ts.map +1 -0
- package/v3/dist/cli/brain-commands.js +60 -0
- package/v3/dist/cli/brain-commands.js.map +1 -0
- package/v3/dist/cli/bundle.js +4509 -2452
- package/v3/dist/cli/command-registry.d.ts.map +1 -1
- package/v3/dist/cli/command-registry.js +3 -1
- package/v3/dist/cli/command-registry.js.map +1 -1
- package/v3/dist/cli/handlers/brain-handler.d.ts +22 -0
- package/v3/dist/cli/handlers/brain-handler.d.ts.map +1 -0
- package/v3/dist/cli/handlers/brain-handler.js +148 -0
- package/v3/dist/cli/handlers/brain-handler.js.map +1 -0
- package/v3/dist/cli/handlers/index.d.ts +1 -0
- package/v3/dist/cli/handlers/index.d.ts.map +1 -1
- package/v3/dist/cli/handlers/index.js +1 -0
- package/v3/dist/cli/handlers/index.js.map +1 -1
- package/v3/dist/domains/coverage-analysis/services/hnsw-index.d.ts +31 -44
- package/v3/dist/domains/coverage-analysis/services/hnsw-index.d.ts.map +1 -1
- package/v3/dist/domains/coverage-analysis/services/hnsw-index.js +73 -178
- package/v3/dist/domains/coverage-analysis/services/hnsw-index.js.map +1 -1
- package/v3/dist/domains/quality-assessment/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/quality-assessment/coordinator.js +8 -0
- package/v3/dist/domains/quality-assessment/coordinator.js.map +1 -1
- package/v3/dist/domains/test-execution/coordinator.d.ts +14 -0
- package/v3/dist/domains/test-execution/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/test-execution/coordinator.js +18 -0
- package/v3/dist/domains/test-execution/coordinator.js.map +1 -1
- package/v3/dist/domains/test-execution/services/index.d.ts +1 -0
- package/v3/dist/domains/test-execution/services/index.d.ts.map +1 -1
- package/v3/dist/domains/test-execution/services/index.js +1 -0
- package/v3/dist/domains/test-execution/services/index.js.map +1 -1
- package/v3/dist/domains/test-execution/services/mincut-test-optimizer.d.ts +118 -0
- package/v3/dist/domains/test-execution/services/mincut-test-optimizer.d.ts.map +1 -0
- package/v3/dist/domains/test-execution/services/mincut-test-optimizer.js +358 -0
- package/v3/dist/domains/test-execution/services/mincut-test-optimizer.js.map +1 -0
- package/v3/dist/integrations/ruvector/brain-exporter.d.ts +66 -0
- package/v3/dist/integrations/ruvector/brain-exporter.d.ts.map +1 -0
- package/v3/dist/integrations/ruvector/brain-exporter.js +537 -0
- package/v3/dist/integrations/ruvector/brain-exporter.js.map +1 -0
- package/v3/dist/integrations/ruvector/index.d.ts +4 -0
- package/v3/dist/integrations/ruvector/index.d.ts.map +1 -1
- package/v3/dist/integrations/ruvector/index.js +5 -0
- package/v3/dist/integrations/ruvector/index.js.map +1 -1
- package/v3/dist/integrations/ruvector/mincut-wrapper.d.ts +204 -0
- package/v3/dist/integrations/ruvector/mincut-wrapper.d.ts.map +1 -0
- package/v3/dist/integrations/ruvector/mincut-wrapper.js +310 -0
- package/v3/dist/integrations/ruvector/mincut-wrapper.js.map +1 -0
- package/v3/dist/integrations/ruvector/rvf-dual-writer.d.ts +141 -0
- package/v3/dist/integrations/ruvector/rvf-dual-writer.d.ts.map +1 -0
- package/v3/dist/integrations/ruvector/rvf-dual-writer.js +367 -0
- package/v3/dist/integrations/ruvector/rvf-dual-writer.js.map +1 -0
- package/v3/dist/integrations/ruvector/rvf-native-adapter.d.ts +60 -0
- package/v3/dist/integrations/ruvector/rvf-native-adapter.d.ts.map +1 -0
- package/v3/dist/integrations/ruvector/rvf-native-adapter.js +240 -0
- package/v3/dist/integrations/ruvector/rvf-native-adapter.js.map +1 -0
- package/v3/dist/kernel/hnsw-adapter.d.ts +99 -0
- package/v3/dist/kernel/hnsw-adapter.d.ts.map +1 -0
- package/v3/dist/kernel/hnsw-adapter.js +218 -0
- package/v3/dist/kernel/hnsw-adapter.js.map +1 -0
- package/v3/dist/kernel/hnsw-index-provider.d.ts +90 -0
- package/v3/dist/kernel/hnsw-index-provider.d.ts.map +1 -0
- package/v3/dist/kernel/hnsw-index-provider.js +23 -0
- package/v3/dist/kernel/hnsw-index-provider.js.map +1 -0
- package/v3/dist/kernel/progressive-hnsw-backend.d.ts +67 -0
- package/v3/dist/kernel/progressive-hnsw-backend.d.ts.map +1 -0
- package/v3/dist/kernel/progressive-hnsw-backend.js +266 -0
- package/v3/dist/kernel/progressive-hnsw-backend.js.map +1 -0
- package/v3/dist/kernel/unified-memory-hnsw.d.ts +71 -0
- package/v3/dist/kernel/unified-memory-hnsw.d.ts.map +1 -1
- package/v3/dist/kernel/unified-memory-hnsw.js +87 -0
- package/v3/dist/kernel/unified-memory-hnsw.js.map +1 -1
- package/v3/dist/kernel/unified-memory-schemas.d.ts +1 -0
- package/v3/dist/kernel/unified-memory-schemas.d.ts.map +1 -1
- package/v3/dist/kernel/unified-memory-schemas.js +16 -0
- package/v3/dist/kernel/unified-memory-schemas.js.map +1 -1
- package/v3/dist/learning/dream/dream-engine.d.ts +16 -0
- package/v3/dist/learning/dream/dream-engine.d.ts.map +1 -1
- package/v3/dist/learning/dream/dream-engine.js +70 -0
- package/v3/dist/learning/dream/dream-engine.js.map +1 -1
- package/v3/dist/learning/dream/index.d.ts +2 -0
- package/v3/dist/learning/dream/index.d.ts.map +1 -1
- package/v3/dist/learning/dream/index.js +8 -0
- package/v3/dist/learning/dream/index.js.map +1 -1
- package/v3/dist/learning/dream/rvcow-branch-manager.d.ts +170 -0
- package/v3/dist/learning/dream/rvcow-branch-manager.d.ts.map +1 -0
- package/v3/dist/learning/dream/rvcow-branch-manager.js +263 -0
- package/v3/dist/learning/dream/rvcow-branch-manager.js.map +1 -0
- package/v3/dist/learning/dream/speculative-dreamer.d.ts +129 -0
- package/v3/dist/learning/dream/speculative-dreamer.d.ts.map +1 -0
- package/v3/dist/learning/dream/speculative-dreamer.js +214 -0
- package/v3/dist/learning/dream/speculative-dreamer.js.map +1 -0
- package/v3/dist/learning/qe-reasoning-bank.d.ts +9 -0
- package/v3/dist/learning/qe-reasoning-bank.d.ts.map +1 -1
- package/v3/dist/learning/qe-reasoning-bank.js +50 -1
- package/v3/dist/learning/qe-reasoning-bank.js.map +1 -1
- package/v3/dist/mcp/bundle.js +8900 -7163
- package/v3/dist/mcp/services/mincut-routing-service.d.ts +148 -0
- package/v3/dist/mcp/services/mincut-routing-service.d.ts.map +1 -0
- package/v3/dist/mcp/services/mincut-routing-service.js +198 -0
- package/v3/dist/mcp/services/mincut-routing-service.js.map +1 -0
- package/v3/dist/mcp/services/task-router.d.ts +4 -0
- package/v3/dist/mcp/services/task-router.d.ts.map +1 -1
- package/v3/dist/mcp/services/task-router.js +57 -15
- package/v3/dist/mcp/services/task-router.js.map +1 -1
- package/v3/dist/monitoring/structural-health.d.ts +142 -0
- package/v3/dist/monitoring/structural-health.d.ts.map +1 -0
- package/v3/dist/monitoring/structural-health.js +201 -0
- package/v3/dist/monitoring/structural-health.js.map +1 -0
- package/v3/package.json +1 -1
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Progressive HNSW Backend
|
|
3
|
+
*
|
|
4
|
+
* Unified HNSW backend implementing IHnswIndexProvider. Uses @ruvector/gnn's
|
|
5
|
+
* differentiableSearch as the primary search engine with brute-force cosine
|
|
6
|
+
* similarity fallback when @ruvector/gnn is unavailable.
|
|
7
|
+
*
|
|
8
|
+
* Progressive loading:
|
|
9
|
+
* - Construction: instant (no vectors loaded)
|
|
10
|
+
* - First add: vectors stored in flat arrays
|
|
11
|
+
* - Search: uses @ruvector/gnn differentiableSearch for ranking, then
|
|
12
|
+
* computes exact cosine similarity for scores
|
|
13
|
+
*
|
|
14
|
+
* Handles dimension mismatch by auto-resizing vectors (384<->768).
|
|
15
|
+
*
|
|
16
|
+
* @see ADR-071: HNSW Implementation Unification
|
|
17
|
+
* @module kernel/progressive-hnsw-backend
|
|
18
|
+
*/
|
|
19
|
+
import { DEFAULT_HNSW_CONFIG } from './hnsw-index-provider.js';
|
|
20
|
+
// ============================================================================
|
|
21
|
+
// @ruvector/gnn lazy loading
|
|
22
|
+
// ============================================================================
|
|
23
|
+
let ruvectorDifferentiableSearch = null;
|
|
24
|
+
let ruvectorInit = null;
|
|
25
|
+
let ruvectorInitialized = false;
|
|
26
|
+
function ensureRuvectorLoaded() {
|
|
27
|
+
if (ruvectorInitialized)
|
|
28
|
+
return ruvectorDifferentiableSearch !== null;
|
|
29
|
+
try {
|
|
30
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
31
|
+
const gnn = require('@ruvector/gnn');
|
|
32
|
+
ruvectorDifferentiableSearch = gnn.differentiableSearch;
|
|
33
|
+
ruvectorInit = gnn.init;
|
|
34
|
+
if (ruvectorInit) {
|
|
35
|
+
try {
|
|
36
|
+
ruvectorInit();
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
// Already initialized
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
ruvectorInitialized = true;
|
|
43
|
+
return true;
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
ruvectorInitialized = true;
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
// ============================================================================
|
|
51
|
+
// Vector math helpers
|
|
52
|
+
// ============================================================================
|
|
53
|
+
function computeNorm(v) {
|
|
54
|
+
let sum = 0;
|
|
55
|
+
for (let i = 0; i < v.length; i++)
|
|
56
|
+
sum += v[i] * v[i];
|
|
57
|
+
return Math.sqrt(sum);
|
|
58
|
+
}
|
|
59
|
+
function fastCosineSimilarity(a, b, normA, normB) {
|
|
60
|
+
const denom = normA * normB;
|
|
61
|
+
if (denom === 0)
|
|
62
|
+
return 0;
|
|
63
|
+
let dot = 0;
|
|
64
|
+
const len = Math.min(a.length, b.length);
|
|
65
|
+
for (let i = 0; i < len; i++)
|
|
66
|
+
dot += a[i] * b[i];
|
|
67
|
+
return dot / denom;
|
|
68
|
+
}
|
|
69
|
+
function euclideanDistance(a, b) {
|
|
70
|
+
let sum = 0;
|
|
71
|
+
const len = Math.min(a.length, b.length);
|
|
72
|
+
for (let i = 0; i < len; i++) {
|
|
73
|
+
const diff = a[i] - b[i];
|
|
74
|
+
sum += diff * diff;
|
|
75
|
+
}
|
|
76
|
+
return Math.sqrt(sum);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Resize a vector to the target dimensions.
|
|
80
|
+
* Shrink: average adjacent values. Grow: zero-pad.
|
|
81
|
+
*/
|
|
82
|
+
function resizeVector(vector, targetDim) {
|
|
83
|
+
if (vector.length === targetDim)
|
|
84
|
+
return vector;
|
|
85
|
+
const result = new Float32Array(targetDim);
|
|
86
|
+
if (vector.length > targetDim) {
|
|
87
|
+
// Shrink by averaging adjacent values
|
|
88
|
+
const ratio = vector.length / targetDim;
|
|
89
|
+
for (let i = 0; i < targetDim; i++) {
|
|
90
|
+
const start = Math.floor(i * ratio);
|
|
91
|
+
const end = Math.floor((i + 1) * ratio);
|
|
92
|
+
let sum = 0;
|
|
93
|
+
for (let j = start; j < end; j++) {
|
|
94
|
+
sum += vector[j];
|
|
95
|
+
}
|
|
96
|
+
result[i] = sum / (end - start);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
// Grow by zero-padding
|
|
101
|
+
for (let i = 0; i < vector.length; i++) {
|
|
102
|
+
result[i] = vector[i];
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return result;
|
|
106
|
+
}
|
|
107
|
+
// ============================================================================
|
|
108
|
+
// ProgressiveHnswBackend
|
|
109
|
+
// ============================================================================
|
|
110
|
+
/**
|
|
111
|
+
* Progressive HNSW backend using @ruvector/gnn differentiableSearch.
|
|
112
|
+
*
|
|
113
|
+
* Provides a unified vector search implementation that:
|
|
114
|
+
* - Uses @ruvector/gnn for fast native search when available
|
|
115
|
+
* - Falls back to brute-force cosine similarity when unavailable
|
|
116
|
+
* - Auto-resizes dimension mismatches (384 <-> 768)
|
|
117
|
+
* - Returns 1.0 recall for brute-force, estimated recall for HNSW
|
|
118
|
+
*/
|
|
119
|
+
export class ProgressiveHnswBackend {
|
|
120
|
+
config;
|
|
121
|
+
entries = [];
|
|
122
|
+
idToIndex = new Map();
|
|
123
|
+
hasRuvector = false;
|
|
124
|
+
loaded = false;
|
|
125
|
+
constructor(config) {
|
|
126
|
+
this.config = { ...DEFAULT_HNSW_CONFIG, ...config };
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Lazily load the @ruvector/gnn backend on first operation.
|
|
130
|
+
*/
|
|
131
|
+
ensureLoaded() {
|
|
132
|
+
if (this.loaded)
|
|
133
|
+
return;
|
|
134
|
+
this.hasRuvector = ensureRuvectorLoaded();
|
|
135
|
+
this.loaded = true;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Normalize a vector to the configured dimensions, resizing if needed.
|
|
139
|
+
*/
|
|
140
|
+
normalizeVector(vector) {
|
|
141
|
+
if (vector.length === this.config.dimensions)
|
|
142
|
+
return vector;
|
|
143
|
+
return resizeVector(vector, this.config.dimensions);
|
|
144
|
+
}
|
|
145
|
+
add(id, vector, metadata) {
|
|
146
|
+
this.ensureLoaded();
|
|
147
|
+
const normalized = this.normalizeVector(vector);
|
|
148
|
+
const norm = computeNorm(normalized);
|
|
149
|
+
// Handle duplicate: overwrite existing entry
|
|
150
|
+
if (this.idToIndex.has(id)) {
|
|
151
|
+
const idx = this.idToIndex.get(id);
|
|
152
|
+
this.entries[idx] = { id, vector: normalized, norm, metadata };
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
const idx = this.entries.length;
|
|
156
|
+
this.entries.push({ id, vector: normalized, norm, metadata });
|
|
157
|
+
this.idToIndex.set(id, idx);
|
|
158
|
+
}
|
|
159
|
+
search(query, k) {
|
|
160
|
+
this.ensureLoaded();
|
|
161
|
+
if (this.entries.length === 0)
|
|
162
|
+
return [];
|
|
163
|
+
const normalizedQuery = this.normalizeVector(query);
|
|
164
|
+
const queryNorm = computeNorm(normalizedQuery);
|
|
165
|
+
const actualK = Math.min(k, this.entries.length);
|
|
166
|
+
// Determine if dimensions match for native search
|
|
167
|
+
const storedDim = this.entries.length > 0 ? this.entries[0].vector.length : 0;
|
|
168
|
+
const dimensionsMatch = normalizedQuery.length === storedDim;
|
|
169
|
+
// Try @ruvector/gnn differentiableSearch first
|
|
170
|
+
if (this.hasRuvector && dimensionsMatch && ruvectorDifferentiableSearch) {
|
|
171
|
+
try {
|
|
172
|
+
const candidateVectors = this.entries.map((e) => e.vector);
|
|
173
|
+
const result = ruvectorDifferentiableSearch(normalizedQuery, candidateVectors, actualK, 1.0);
|
|
174
|
+
return result.indices.map((idx) => {
|
|
175
|
+
const entry = this.entries[idx];
|
|
176
|
+
// Compute actual cosine similarity for the score
|
|
177
|
+
const score = this.config.metric === 'cosine'
|
|
178
|
+
? fastCosineSimilarity(normalizedQuery, entry.vector, queryNorm, entry.norm)
|
|
179
|
+
: -euclideanDistance(normalizedQuery, entry.vector);
|
|
180
|
+
return {
|
|
181
|
+
id: entry.id,
|
|
182
|
+
score,
|
|
183
|
+
metadata: entry.metadata,
|
|
184
|
+
};
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
catch {
|
|
188
|
+
// Fall through to brute-force
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
// Brute-force fallback
|
|
192
|
+
return this.bruteForcSearch(normalizedQuery, queryNorm, actualK);
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Brute-force cosine similarity search as fallback.
|
|
196
|
+
*/
|
|
197
|
+
bruteForcSearch(query, queryNorm, k) {
|
|
198
|
+
const scored = [];
|
|
199
|
+
for (const entry of this.entries) {
|
|
200
|
+
let score;
|
|
201
|
+
if (this.config.metric === 'cosine') {
|
|
202
|
+
score = fastCosineSimilarity(query, entry.vector, queryNorm, entry.norm);
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
score = -euclideanDistance(query, entry.vector);
|
|
206
|
+
}
|
|
207
|
+
scored.push({
|
|
208
|
+
id: entry.id,
|
|
209
|
+
score,
|
|
210
|
+
metadata: entry.metadata,
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
scored.sort((a, b) => b.score - a.score);
|
|
214
|
+
return scored.slice(0, k);
|
|
215
|
+
}
|
|
216
|
+
remove(id) {
|
|
217
|
+
const idx = this.idToIndex.get(id);
|
|
218
|
+
if (idx === undefined)
|
|
219
|
+
return false;
|
|
220
|
+
// Swap with last element for O(1) removal
|
|
221
|
+
const lastIdx = this.entries.length - 1;
|
|
222
|
+
if (idx !== lastIdx) {
|
|
223
|
+
const lastEntry = this.entries[lastIdx];
|
|
224
|
+
this.entries[idx] = lastEntry;
|
|
225
|
+
this.idToIndex.set(lastEntry.id, idx);
|
|
226
|
+
}
|
|
227
|
+
this.entries.pop();
|
|
228
|
+
this.idToIndex.delete(id);
|
|
229
|
+
return true;
|
|
230
|
+
}
|
|
231
|
+
size() {
|
|
232
|
+
return this.entries.length;
|
|
233
|
+
}
|
|
234
|
+
dimensions() {
|
|
235
|
+
return this.config.dimensions;
|
|
236
|
+
}
|
|
237
|
+
recall() {
|
|
238
|
+
// Brute-force = exact search = 1.0 recall
|
|
239
|
+
// @ruvector/gnn differentiableSearch is also brute-force-based (flat index)
|
|
240
|
+
// so recall is 1.0 in both cases
|
|
241
|
+
if (!this.hasRuvector)
|
|
242
|
+
return 1.0;
|
|
243
|
+
return 1.0;
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Check whether @ruvector/gnn is available as the search backend.
|
|
247
|
+
*/
|
|
248
|
+
isRuvectorAvailable() {
|
|
249
|
+
this.ensureLoaded();
|
|
250
|
+
return this.hasRuvector;
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Get the current configuration.
|
|
254
|
+
*/
|
|
255
|
+
getConfig() {
|
|
256
|
+
return { ...this.config };
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Clear all vectors from the index.
|
|
260
|
+
*/
|
|
261
|
+
clear() {
|
|
262
|
+
this.entries = [];
|
|
263
|
+
this.idToIndex.clear();
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
//# sourceMappingURL=progressive-hnsw-backend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progressive-hnsw-backend.js","sourceRoot":"","sources":["../../src/kernel/progressive-hnsw-backend.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,10 +4,16 @@
|
|
|
4
4
|
* Provides O(log n) approximate nearest neighbor search via a multi-layer
|
|
5
5
|
* navigable small-world graph. Extracted from unified-memory.ts.
|
|
6
6
|
*
|
|
7
|
+
* NOTE: InMemoryHNSWIndex and RuvectorFlatIndex are deprecated.
|
|
8
|
+
* Use UnifiedHnswIndex / createHnswIndex() from this module instead.
|
|
9
|
+
* See ADR-071 for the unification plan.
|
|
10
|
+
*
|
|
7
11
|
* Algorithm reference: Malkov & Yashunin, "Efficient and robust approximate
|
|
8
12
|
* nearest neighbor search using Hierarchical Navigable Small World graphs",
|
|
9
13
|
* IEEE TPAMI 2018.
|
|
10
14
|
*/
|
|
15
|
+
import { HnswAdapter } from './hnsw-adapter.js';
|
|
16
|
+
import type { HnswConfig } from './hnsw-index-provider.js';
|
|
11
17
|
/**
|
|
12
18
|
* Binary min/max heap for O(log n) insertion and extraction.
|
|
13
19
|
* Replaces sorted arrays with O(n) splice in HNSW beam search.
|
|
@@ -27,6 +33,9 @@ export declare class BinaryHeap<T> {
|
|
|
27
33
|
* In-memory HNSW (Hierarchical Navigable Small World) index built from
|
|
28
34
|
* SQLite vectors on startup. Provides O(log n) approximate nearest
|
|
29
35
|
* neighbor search via a multi-layer navigable small-world graph.
|
|
36
|
+
*
|
|
37
|
+
* @deprecated Use UnifiedHnswIndex or createHnswIndex() instead.
|
|
38
|
+
* This class will be removed in Phase B of ADR-071.
|
|
30
39
|
*/
|
|
31
40
|
export declare class InMemoryHNSWIndex {
|
|
32
41
|
private nodes;
|
|
@@ -109,6 +118,9 @@ export declare class InMemoryHNSWIndex {
|
|
|
109
118
|
* - 100% recall vs ~70% for HNSW approximate search.
|
|
110
119
|
*
|
|
111
120
|
* Same interface as InMemoryHNSWIndex: add/search/remove/clear/size.
|
|
121
|
+
*
|
|
122
|
+
* @deprecated Use UnifiedHnswIndex or createHnswIndex() instead.
|
|
123
|
+
* This class will be removed in Phase B of ADR-071.
|
|
112
124
|
*/
|
|
113
125
|
export declare class RuvectorFlatIndex {
|
|
114
126
|
private ids;
|
|
@@ -127,4 +139,63 @@ export declare class RuvectorFlatIndex {
|
|
|
127
139
|
clear(): void;
|
|
128
140
|
size(): number;
|
|
129
141
|
}
|
|
142
|
+
/**
|
|
143
|
+
* Unified HNSW index backed by ProgressiveHnswBackend via HnswAdapter.
|
|
144
|
+
*
|
|
145
|
+
* This is the replacement for both InMemoryHNSWIndex and RuvectorFlatIndex.
|
|
146
|
+
* Use createHnswIndex() factory function for convenient construction.
|
|
147
|
+
*
|
|
148
|
+
* @see ADR-071: HNSW Implementation Unification
|
|
149
|
+
*/
|
|
150
|
+
export declare class UnifiedHnswIndex {
|
|
151
|
+
private readonly adapter;
|
|
152
|
+
constructor(name: string, config?: Partial<HnswConfig>);
|
|
153
|
+
/**
|
|
154
|
+
* Add a vector using a string ID (same interface as old implementations).
|
|
155
|
+
*/
|
|
156
|
+
add(id: string, embedding: number[]): void;
|
|
157
|
+
/**
|
|
158
|
+
* Search for k nearest neighbors (same interface as old implementations).
|
|
159
|
+
*/
|
|
160
|
+
search(query: number[], k: number): Array<{
|
|
161
|
+
id: string;
|
|
162
|
+
score: number;
|
|
163
|
+
}>;
|
|
164
|
+
/**
|
|
165
|
+
* Remove a vector by string ID.
|
|
166
|
+
*/
|
|
167
|
+
remove(id: string): boolean;
|
|
168
|
+
/**
|
|
169
|
+
* Clear all vectors.
|
|
170
|
+
*/
|
|
171
|
+
clear(): void;
|
|
172
|
+
/**
|
|
173
|
+
* Get the number of vectors in the index.
|
|
174
|
+
*/
|
|
175
|
+
size(): number;
|
|
176
|
+
/**
|
|
177
|
+
* Get estimated recall (0-1).
|
|
178
|
+
*/
|
|
179
|
+
recall(): number;
|
|
180
|
+
/**
|
|
181
|
+
* Get the underlying IHnswIndexProvider adapter.
|
|
182
|
+
*/
|
|
183
|
+
getProvider(): HnswAdapter;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Factory function to create a unified HNSW index.
|
|
187
|
+
*
|
|
188
|
+
* @param config - Configuration with optional name field
|
|
189
|
+
* @returns A new UnifiedHnswIndex instance
|
|
190
|
+
*
|
|
191
|
+
* @example
|
|
192
|
+
* ```typescript
|
|
193
|
+
* const index = createHnswIndex({ name: 'patterns', dimensions: 384 });
|
|
194
|
+
* index.add('vec-1', embedding);
|
|
195
|
+
* const results = index.search(query, 10);
|
|
196
|
+
* ```
|
|
197
|
+
*/
|
|
198
|
+
export declare function createHnswIndex(config?: Partial<HnswConfig> & {
|
|
199
|
+
name?: string;
|
|
200
|
+
}): UnifiedHnswIndex;
|
|
130
201
|
//# sourceMappingURL=unified-memory-hnsw.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unified-memory-hnsw.d.ts","sourceRoot":"","sources":["../../src/kernel/unified-memory-hnsw.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"unified-memory-hnsw.d.ts","sourceRoot":"","sources":["../../src/kernel/unified-memory-hnsw.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAqB3D;;;GAGG;AACH,qBAAa,UAAU,CAAC,CAAC;IACvB,OAAO,CAAC,IAAI,CAAW;IACvB,OAAO,CAAC,SAAS,CAAyB;gBAE9B,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM;IAI7C,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI;IAKnB,GAAG,IAAI,CAAC,GAAG,SAAS;IAWpB,IAAI,IAAI,CAAC,GAAG,SAAS;IAIrB,IAAI,IAAI,MAAM;IAId,OAAO,CAAC,QAAQ;IAYhB,OAAO,CAAC,QAAQ;CAoBjB;AAgBD;;;;;;;GAOG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,KAAK,CAAoC;IACjD,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAwC;IAC1D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA4C;IAClE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA0C;IACzE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoC;IAC7D,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAsD;IACzE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IAEvC,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,eAAe,CAAc;IAErC;;;OAGG;IACH,OAAO,CAAC,WAAW;IAOnB;;OAEG;IACH,OAAO,CAAC,UAAU;IAMlB;;;;OAIG;IACH,OAAO,CAAC,WAAW;IA6BnB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAsEvB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAWvB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;;OAGG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAoF1C;;;OAGG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IA+E3B;;;OAGG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IA0BxE;;OAEG;IACH,IAAI,IAAI,MAAM;IAId;;OAEG;IACH,KAAK,IAAI,IAAI;CAKd;AAsBD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,GAAG,CAAgB;IAC3B,OAAO,CAAC,OAAO,CAAsB;IACrC,+EAA+E;IAC/E,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,WAAW,CAAS;;IAc5B,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAkB1C,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAwDxE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAoB3B,KAAK,IAAI,IAAI;IAOb,IAAI,IAAI,MAAM;CAGf;AAMD;;;;;;;GAOG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;gBAE1B,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC;IAItD;;OAEG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAI1C;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAIxE;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAI3B;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,IAAI,IAAI,MAAM;IAId;;OAEG;IACH,MAAM,IAAI,MAAM;IAIhB;;OAEG;IACH,WAAW,IAAI,WAAW;CAG3B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAC7B,MAAM,GAAE,OAAO,CAAC,UAAU,CAAC,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GACnD,gBAAgB,CAGlB"}
|
|
@@ -4,12 +4,17 @@
|
|
|
4
4
|
* Provides O(log n) approximate nearest neighbor search via a multi-layer
|
|
5
5
|
* navigable small-world graph. Extracted from unified-memory.ts.
|
|
6
6
|
*
|
|
7
|
+
* NOTE: InMemoryHNSWIndex and RuvectorFlatIndex are deprecated.
|
|
8
|
+
* Use UnifiedHnswIndex / createHnswIndex() from this module instead.
|
|
9
|
+
* See ADR-071 for the unification plan.
|
|
10
|
+
*
|
|
7
11
|
* Algorithm reference: Malkov & Yashunin, "Efficient and robust approximate
|
|
8
12
|
* nearest neighbor search using Hierarchical Navigable Small World graphs",
|
|
9
13
|
* IEEE TPAMI 2018.
|
|
10
14
|
*/
|
|
11
15
|
import { cosineSimilarity } from '../shared/utils/vector-math.js';
|
|
12
16
|
import { HNSW_CONSTANTS } from './constants.js';
|
|
17
|
+
import { HnswAdapter } from './hnsw-adapter.js';
|
|
13
18
|
// Try to load @ruvector/gnn for native Rust-powered search
|
|
14
19
|
let ruvectorDifferentiableSearch = null;
|
|
15
20
|
let ruvectorInit = null;
|
|
@@ -97,6 +102,9 @@ export class BinaryHeap {
|
|
|
97
102
|
* In-memory HNSW (Hierarchical Navigable Small World) index built from
|
|
98
103
|
* SQLite vectors on startup. Provides O(log n) approximate nearest
|
|
99
104
|
* neighbor search via a multi-layer navigable small-world graph.
|
|
105
|
+
*
|
|
106
|
+
* @deprecated Use UnifiedHnswIndex or createHnswIndex() instead.
|
|
107
|
+
* This class will be removed in Phase B of ADR-071.
|
|
100
108
|
*/
|
|
101
109
|
export class InMemoryHNSWIndex {
|
|
102
110
|
nodes = new Map();
|
|
@@ -451,6 +459,9 @@ function fastCosine(a, b, normA, normB) {
|
|
|
451
459
|
* - 100% recall vs ~70% for HNSW approximate search.
|
|
452
460
|
*
|
|
453
461
|
* Same interface as InMemoryHNSWIndex: add/search/remove/clear/size.
|
|
462
|
+
*
|
|
463
|
+
* @deprecated Use UnifiedHnswIndex or createHnswIndex() instead.
|
|
464
|
+
* This class will be removed in Phase B of ADR-071.
|
|
454
465
|
*/
|
|
455
466
|
export class RuvectorFlatIndex {
|
|
456
467
|
ids = [];
|
|
@@ -563,4 +574,80 @@ export class RuvectorFlatIndex {
|
|
|
563
574
|
return this.ids.length;
|
|
564
575
|
}
|
|
565
576
|
}
|
|
577
|
+
// ============================================================================
|
|
578
|
+
// Unified HNSW Index (ADR-071)
|
|
579
|
+
// ============================================================================
|
|
580
|
+
/**
|
|
581
|
+
* Unified HNSW index backed by ProgressiveHnswBackend via HnswAdapter.
|
|
582
|
+
*
|
|
583
|
+
* This is the replacement for both InMemoryHNSWIndex and RuvectorFlatIndex.
|
|
584
|
+
* Use createHnswIndex() factory function for convenient construction.
|
|
585
|
+
*
|
|
586
|
+
* @see ADR-071: HNSW Implementation Unification
|
|
587
|
+
*/
|
|
588
|
+
export class UnifiedHnswIndex {
|
|
589
|
+
adapter;
|
|
590
|
+
constructor(name, config) {
|
|
591
|
+
this.adapter = HnswAdapter.create(name, config);
|
|
592
|
+
}
|
|
593
|
+
/**
|
|
594
|
+
* Add a vector using a string ID (same interface as old implementations).
|
|
595
|
+
*/
|
|
596
|
+
add(id, embedding) {
|
|
597
|
+
this.adapter.addByStringId(id, embedding);
|
|
598
|
+
}
|
|
599
|
+
/**
|
|
600
|
+
* Search for k nearest neighbors (same interface as old implementations).
|
|
601
|
+
*/
|
|
602
|
+
search(query, k) {
|
|
603
|
+
return this.adapter.searchByArray(query, k);
|
|
604
|
+
}
|
|
605
|
+
/**
|
|
606
|
+
* Remove a vector by string ID.
|
|
607
|
+
*/
|
|
608
|
+
remove(id) {
|
|
609
|
+
return this.adapter.removeByStringId(id);
|
|
610
|
+
}
|
|
611
|
+
/**
|
|
612
|
+
* Clear all vectors.
|
|
613
|
+
*/
|
|
614
|
+
clear() {
|
|
615
|
+
this.adapter.clear();
|
|
616
|
+
}
|
|
617
|
+
/**
|
|
618
|
+
* Get the number of vectors in the index.
|
|
619
|
+
*/
|
|
620
|
+
size() {
|
|
621
|
+
return this.adapter.size();
|
|
622
|
+
}
|
|
623
|
+
/**
|
|
624
|
+
* Get estimated recall (0-1).
|
|
625
|
+
*/
|
|
626
|
+
recall() {
|
|
627
|
+
return this.adapter.recall();
|
|
628
|
+
}
|
|
629
|
+
/**
|
|
630
|
+
* Get the underlying IHnswIndexProvider adapter.
|
|
631
|
+
*/
|
|
632
|
+
getProvider() {
|
|
633
|
+
return this.adapter;
|
|
634
|
+
}
|
|
635
|
+
}
|
|
636
|
+
/**
|
|
637
|
+
* Factory function to create a unified HNSW index.
|
|
638
|
+
*
|
|
639
|
+
* @param config - Configuration with optional name field
|
|
640
|
+
* @returns A new UnifiedHnswIndex instance
|
|
641
|
+
*
|
|
642
|
+
* @example
|
|
643
|
+
* ```typescript
|
|
644
|
+
* const index = createHnswIndex({ name: 'patterns', dimensions: 384 });
|
|
645
|
+
* index.add('vec-1', embedding);
|
|
646
|
+
* const results = index.search(query, 10);
|
|
647
|
+
* ```
|
|
648
|
+
*/
|
|
649
|
+
export function createHnswIndex(config = {}) {
|
|
650
|
+
const { name = 'default', ...hnswConfig } = config;
|
|
651
|
+
return new UnifiedHnswIndex(name, hnswConfig);
|
|
652
|
+
}
|
|
566
653
|
//# sourceMappingURL=unified-memory-hnsw.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unified-memory-hnsw.js","sourceRoot":"","sources":["../../src/kernel/unified-memory-hnsw.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"unified-memory-hnsw.js","sourceRoot":"","sources":["../../src/kernel/unified-memory-hnsw.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,7 @@ export declare const DREAM_SCHEMA = "\n -- Concept Graph Nodes (Dream Engine)\n
|
|
|
16
16
|
export declare const QE_PATTERNS_SCHEMA = "\n -- QE Patterns table (unified from sqlite-persistence.ts)\n CREATE TABLE IF NOT EXISTS qe_patterns (\n id TEXT PRIMARY KEY,\n pattern_type TEXT NOT NULL,\n qe_domain TEXT NOT NULL,\n domain TEXT NOT NULL,\n name TEXT NOT NULL,\n description TEXT,\n confidence REAL DEFAULT 0.5,\n usage_count INTEGER DEFAULT 0,\n success_rate REAL DEFAULT 0.0,\n quality_score REAL DEFAULT 0.0,\n tier TEXT DEFAULT 'short-term',\n template_json TEXT,\n context_json TEXT,\n created_at TEXT DEFAULT (datetime('now')),\n updated_at TEXT DEFAULT (datetime('now')),\n last_used_at TEXT,\n successful_uses INTEGER DEFAULT 0,\n tokens_used INTEGER,\n input_tokens INTEGER,\n output_tokens INTEGER,\n latency_ms REAL,\n reusable INTEGER DEFAULT 0,\n reuse_count INTEGER DEFAULT 0,\n average_token_savings REAL DEFAULT 0,\n total_tokens_saved INTEGER\n );\n\n -- Pattern embeddings table (BLOB storage for vectors)\n CREATE TABLE IF NOT EXISTS qe_pattern_embeddings (\n pattern_id TEXT PRIMARY KEY,\n embedding BLOB NOT NULL,\n dimension INTEGER NOT NULL,\n model TEXT DEFAULT 'all-MiniLM-L6-v2',\n created_at TEXT DEFAULT (datetime('now')),\n FOREIGN KEY (pattern_id) REFERENCES qe_patterns(id) ON DELETE CASCADE\n );\n\n -- Pattern usage history (no FK -- used as analytics log by hooks with synthetic IDs)\n CREATE TABLE IF NOT EXISTS qe_pattern_usage (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n pattern_id TEXT NOT NULL,\n success INTEGER NOT NULL,\n metrics_json TEXT,\n feedback TEXT,\n created_at TEXT DEFAULT (datetime('now'))\n );\n\n -- Learning trajectories\n CREATE TABLE IF NOT EXISTS qe_trajectories (\n id TEXT PRIMARY KEY,\n task TEXT NOT NULL,\n agent TEXT,\n domain TEXT,\n started_at TEXT DEFAULT (datetime('now')),\n ended_at TEXT,\n success INTEGER,\n steps_json TEXT,\n metadata_json TEXT\n );\n\n -- Embeddings table (unified from EmbeddingCache.ts)\n -- Renamed from 'embedding_cache' to 'embeddings' to match existing code\n CREATE TABLE IF NOT EXISTS embeddings (\n key TEXT NOT NULL,\n namespace TEXT NOT NULL,\n vector BLOB NOT NULL,\n dimension INTEGER NOT NULL,\n text TEXT NOT NULL,\n timestamp INTEGER NOT NULL,\n quantization TEXT NOT NULL,\n metadata TEXT,\n access_count INTEGER DEFAULT 1,\n last_access INTEGER NOT NULL,\n PRIMARY KEY (key, namespace)\n );\n\n -- Execution results table (unified from plan-executor.ts)\n CREATE TABLE IF NOT EXISTS execution_results (\n id TEXT PRIMARY KEY,\n plan_id TEXT NOT NULL,\n status TEXT NOT NULL,\n steps_completed INTEGER DEFAULT 0,\n steps_failed INTEGER DEFAULT 0,\n total_duration_ms INTEGER DEFAULT 0,\n final_world_state TEXT,\n error_message TEXT,\n created_at TEXT DEFAULT (datetime('now'))\n );\n\n -- Executed steps table (unified from plan-executor.ts)\n CREATE TABLE IF NOT EXISTS executed_steps (\n id TEXT PRIMARY KEY,\n execution_id TEXT NOT NULL,\n plan_id TEXT NOT NULL,\n action_id TEXT NOT NULL,\n step_order INTEGER NOT NULL,\n status TEXT NOT NULL,\n retries INTEGER DEFAULT 0,\n started_at TEXT NOT NULL,\n completed_at TEXT,\n duration_ms INTEGER,\n agent_id TEXT,\n agent_output TEXT,\n world_state_before TEXT,\n world_state_after TEXT,\n error_message TEXT,\n FOREIGN KEY (execution_id) REFERENCES execution_results(id)\n );\n\n -- QE Patterns indexes\n CREATE INDEX IF NOT EXISTS idx_qe_patterns_domain ON qe_patterns(qe_domain);\n CREATE INDEX IF NOT EXISTS idx_qe_patterns_type ON qe_patterns(pattern_type);\n CREATE INDEX IF NOT EXISTS idx_qe_patterns_tier ON qe_patterns(tier);\n CREATE INDEX IF NOT EXISTS idx_qe_patterns_quality ON qe_patterns(quality_score DESC);\n CREATE INDEX IF NOT EXISTS idx_qe_usage_pattern ON qe_pattern_usage(pattern_id);\n CREATE INDEX IF NOT EXISTS idx_qe_trajectories_domain ON qe_trajectories(domain);\n CREATE INDEX IF NOT EXISTS idx_embeddings_namespace ON embeddings(namespace);\n CREATE INDEX IF NOT EXISTS idx_embeddings_timestamp ON embeddings(timestamp);\n CREATE INDEX IF NOT EXISTS idx_execution_results_plan ON execution_results(plan_id);\n CREATE INDEX IF NOT EXISTS idx_execution_results_status ON execution_results(status);\n CREATE INDEX IF NOT EXISTS idx_executed_steps_execution ON executed_steps(execution_id);\n CREATE INDEX IF NOT EXISTS idx_executed_steps_action ON executed_steps(action_id);\n";
|
|
17
17
|
export declare const MINCUT_SCHEMA = "\n -- MinCut Graph Snapshots (ADR-047)\n CREATE TABLE IF NOT EXISTS mincut_snapshots (\n id TEXT PRIMARY KEY,\n timestamp TEXT NOT NULL DEFAULT (datetime('now')),\n vertex_count INTEGER NOT NULL,\n edge_count INTEGER NOT NULL,\n total_weight REAL NOT NULL DEFAULT 0.0,\n is_connected INTEGER NOT NULL DEFAULT 1,\n component_count INTEGER NOT NULL DEFAULT 1,\n vertices_json TEXT NOT NULL,\n edges_json TEXT NOT NULL,\n created_at TEXT DEFAULT (datetime('now'))\n );\n\n -- MinCut History (time-series MinCut values)\n CREATE TABLE IF NOT EXISTS mincut_history (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n timestamp TEXT NOT NULL DEFAULT (datetime('now')),\n mincut_value REAL NOT NULL,\n vertex_count INTEGER NOT NULL,\n edge_count INTEGER NOT NULL,\n algorithm TEXT NOT NULL DEFAULT 'weighted-degree',\n duration_ms INTEGER,\n snapshot_id TEXT,\n created_at TEXT DEFAULT (datetime('now')),\n FOREIGN KEY (snapshot_id) REFERENCES mincut_snapshots(id) ON DELETE SET NULL\n );\n\n -- MinCut Weak Vertices (detected bottlenecks)\n CREATE TABLE IF NOT EXISTS mincut_weak_vertices (\n id TEXT PRIMARY KEY,\n vertex_id TEXT NOT NULL,\n weighted_degree REAL NOT NULL,\n risk_score REAL NOT NULL,\n reason TEXT NOT NULL,\n domain TEXT,\n vertex_type TEXT NOT NULL,\n suggestions_json TEXT,\n detected_at TEXT NOT NULL DEFAULT (datetime('now')),\n resolved_at TEXT,\n snapshot_id TEXT,\n created_at TEXT DEFAULT (datetime('now')),\n FOREIGN KEY (snapshot_id) REFERENCES mincut_snapshots(id) ON DELETE SET NULL\n );\n\n -- MinCut Alerts\n CREATE TABLE IF NOT EXISTS mincut_alerts (\n id TEXT PRIMARY KEY,\n severity TEXT NOT NULL,\n message TEXT NOT NULL,\n mincut_value REAL NOT NULL,\n threshold REAL NOT NULL,\n affected_vertices_json TEXT,\n remediations_json TEXT,\n acknowledged INTEGER DEFAULT 0,\n acknowledged_at TEXT,\n acknowledged_by TEXT,\n timestamp TEXT NOT NULL DEFAULT (datetime('now')),\n created_at TEXT DEFAULT (datetime('now'))\n );\n\n -- MinCut Healing Actions (self-healing history)\n CREATE TABLE IF NOT EXISTS mincut_healing_actions (\n id TEXT PRIMARY KEY,\n action_type TEXT NOT NULL,\n action_params_json TEXT NOT NULL,\n success INTEGER NOT NULL,\n mincut_before REAL NOT NULL,\n mincut_after REAL NOT NULL,\n improvement REAL NOT NULL DEFAULT 0.0,\n error_message TEXT,\n duration_ms INTEGER NOT NULL,\n triggered_by TEXT,\n snapshot_before_id TEXT,\n snapshot_after_id TEXT,\n created_at TEXT DEFAULT (datetime('now')),\n FOREIGN KEY (snapshot_before_id) REFERENCES mincut_snapshots(id) ON DELETE SET NULL,\n FOREIGN KEY (snapshot_after_id) REFERENCES mincut_snapshots(id) ON DELETE SET NULL\n );\n\n -- MinCut Strange Loop Observations (P1: self-organizing)\n CREATE TABLE IF NOT EXISTS mincut_observations (\n id TEXT PRIMARY KEY,\n iteration INTEGER NOT NULL,\n mincut_value REAL NOT NULL,\n weak_vertex_count INTEGER NOT NULL DEFAULT 0,\n weak_vertices_json TEXT,\n snapshot_id TEXT,\n prediction_json TEXT,\n actual_vs_predicted_diff REAL,\n timestamp TEXT NOT NULL DEFAULT (datetime('now')),\n FOREIGN KEY (snapshot_id) REFERENCES mincut_snapshots(id) ON DELETE SET NULL\n );\n\n -- MinCut Indexes\n CREATE INDEX IF NOT EXISTS idx_mincut_history_timestamp ON mincut_history(timestamp DESC);\n CREATE INDEX IF NOT EXISTS idx_mincut_history_value ON mincut_history(mincut_value);\n CREATE INDEX IF NOT EXISTS idx_mincut_weak_vertex ON mincut_weak_vertices(vertex_id);\n CREATE INDEX IF NOT EXISTS idx_mincut_weak_risk ON mincut_weak_vertices(risk_score DESC);\n CREATE INDEX IF NOT EXISTS idx_mincut_weak_resolved ON mincut_weak_vertices(resolved_at);\n CREATE INDEX IF NOT EXISTS idx_mincut_alerts_severity ON mincut_alerts(severity);\n CREATE INDEX IF NOT EXISTS idx_mincut_alerts_ack ON mincut_alerts(acknowledged);\n CREATE INDEX IF NOT EXISTS idx_mincut_healing_type ON mincut_healing_actions(action_type);\n CREATE INDEX IF NOT EXISTS idx_mincut_healing_success ON mincut_healing_actions(success);\n CREATE INDEX IF NOT EXISTS idx_mincut_observations_iter ON mincut_observations(iteration);\n";
|
|
18
18
|
export declare const SONA_PATTERNS_SCHEMA = "\n -- SONA Patterns table (ADR-046: Pattern Persistence for Neural Backbone)\n CREATE TABLE IF NOT EXISTS sona_patterns (\n id TEXT PRIMARY KEY,\n type TEXT NOT NULL,\n domain TEXT NOT NULL,\n state_embedding BLOB,\n action_embedding BLOB,\n action_type TEXT NOT NULL,\n action_value TEXT,\n outcome_reward REAL NOT NULL DEFAULT 0.0,\n outcome_success INTEGER NOT NULL DEFAULT 0,\n outcome_quality REAL NOT NULL DEFAULT 0.0,\n confidence REAL DEFAULT 0.5,\n usage_count INTEGER DEFAULT 0,\n success_count INTEGER DEFAULT 0,\n failure_count INTEGER DEFAULT 0,\n metadata TEXT,\n created_at TEXT DEFAULT (datetime('now')),\n updated_at TEXT DEFAULT (datetime('now')),\n last_used_at TEXT\n );\n CREATE INDEX IF NOT EXISTS idx_sona_patterns_type ON sona_patterns(type);\n CREATE INDEX IF NOT EXISTS idx_sona_patterns_domain ON sona_patterns(domain);\n CREATE INDEX IF NOT EXISTS idx_sona_patterns_confidence ON sona_patterns(confidence DESC);\n CREATE INDEX IF NOT EXISTS idx_sona_patterns_updated ON sona_patterns(updated_at DESC);\n";
|
|
19
|
+
export declare const WITNESS_CHAIN_SCHEMA = "\n -- Witness Chain (ADR-070: Cryptographic audit trail for QE decisions)\n CREATE TABLE IF NOT EXISTS witness_chain (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n prev_hash TEXT NOT NULL,\n action_hash TEXT NOT NULL,\n action_type TEXT NOT NULL,\n action_data TEXT,\n timestamp TEXT NOT NULL,\n actor TEXT NOT NULL\n );\n CREATE INDEX IF NOT EXISTS idx_witness_action_type ON witness_chain(action_type);\n CREATE INDEX IF NOT EXISTS idx_witness_timestamp ON witness_chain(timestamp);\n";
|
|
19
20
|
export declare const FEEDBACK_SCHEMA = "\n -- Test outcomes (ADR-023: Quality Feedback Loop)\n CREATE TABLE IF NOT EXISTS test_outcomes (\n id TEXT PRIMARY KEY,\n test_id TEXT NOT NULL,\n test_name TEXT NOT NULL,\n generated_by TEXT NOT NULL,\n pattern_id TEXT,\n framework TEXT NOT NULL,\n language TEXT NOT NULL,\n domain TEXT NOT NULL,\n passed INTEGER NOT NULL,\n error_message TEXT,\n coverage_lines REAL DEFAULT 0,\n coverage_branches REAL DEFAULT 0,\n coverage_functions REAL DEFAULT 0,\n mutation_score REAL,\n execution_time_ms REAL NOT NULL,\n flaky INTEGER DEFAULT 0,\n flakiness_score REAL,\n maintainability_score REAL NOT NULL,\n complexity REAL,\n lines_of_code INTEGER,\n assertion_count INTEGER,\n file_path TEXT,\n source_file_path TEXT,\n metadata_json TEXT,\n created_at TEXT DEFAULT (datetime('now'))\n );\n CREATE INDEX IF NOT EXISTS idx_test_outcomes_pattern ON test_outcomes(pattern_id);\n CREATE INDEX IF NOT EXISTS idx_test_outcomes_agent ON test_outcomes(generated_by);\n CREATE INDEX IF NOT EXISTS idx_test_outcomes_domain ON test_outcomes(domain);\n CREATE INDEX IF NOT EXISTS idx_test_outcomes_created ON test_outcomes(created_at);\n\n -- Routing outcomes (ADR-022: Adaptive QE Agent Routing)\n CREATE TABLE IF NOT EXISTS routing_outcomes (\n id TEXT PRIMARY KEY,\n task_json TEXT NOT NULL,\n decision_json TEXT NOT NULL,\n used_agent TEXT NOT NULL,\n followed_recommendation INTEGER NOT NULL,\n success INTEGER NOT NULL,\n quality_score REAL NOT NULL,\n duration_ms REAL NOT NULL,\n error TEXT,\n created_at TEXT DEFAULT (datetime('now'))\n );\n CREATE INDEX IF NOT EXISTS idx_routing_outcomes_agent ON routing_outcomes(used_agent);\n CREATE INDEX IF NOT EXISTS idx_routing_outcomes_created ON routing_outcomes(created_at);\n\n -- Coverage sessions (ADR-023: Coverage Learning)\n CREATE TABLE IF NOT EXISTS coverage_sessions (\n id TEXT PRIMARY KEY,\n target_path TEXT NOT NULL,\n agent_id TEXT NOT NULL,\n technique TEXT NOT NULL,\n before_lines REAL DEFAULT 0,\n before_branches REAL DEFAULT 0,\n before_functions REAL DEFAULT 0,\n after_lines REAL DEFAULT 0,\n after_branches REAL DEFAULT 0,\n after_functions REAL DEFAULT 0,\n tests_generated INTEGER DEFAULT 0,\n tests_passed INTEGER DEFAULT 0,\n gaps_json TEXT,\n duration_ms REAL NOT NULL,\n started_at TEXT NOT NULL,\n completed_at TEXT NOT NULL,\n context_json TEXT,\n created_at TEXT DEFAULT (datetime('now'))\n );\n CREATE INDEX IF NOT EXISTS idx_coverage_sessions_technique ON coverage_sessions(technique);\n CREATE INDEX IF NOT EXISTS idx_coverage_sessions_agent ON coverage_sessions(agent_id);\n CREATE INDEX IF NOT EXISTS idx_coverage_sessions_created ON coverage_sessions(created_at);\n";
|
|
20
21
|
export declare const STATS_TABLES: string[];
|
|
21
22
|
//# sourceMappingURL=unified-memory-schemas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unified-memory-schemas.d.ts","sourceRoot":"","sources":["../../src/kernel/unified-memory-schemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,iDAAiD,CAAC;AAGpF,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAM7B,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC,eAAO,MAAM,oBAAoB,uLAMhC,CAAC;AAMF,eAAO,MAAM,eAAe,gfAY3B,CAAC;AAEF,eAAO,MAAM,cAAc,2gBAa1B,CAAC;AAEF,eAAO,MAAM,iBAAiB,44BAqB7B,CAAC;AAEF,eAAO,MAAM,WAAW,0hEAkEvB,CAAC;AAEF,eAAO,MAAM,YAAY,+9EAqExB,CAAC;AAEF,eAAO,MAAM,kBAAkB,y6IA6H9B,CAAC;AAEF,eAAO,MAAM,aAAa,2qIA0GzB,CAAC;AAEF,eAAO,MAAM,oBAAoB,ykCA0BhC,CAAC;AAEF,eAAO,MAAM,eAAe,ywFA0E3B,CAAC;AAMF,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"unified-memory-schemas.d.ts","sourceRoot":"","sources":["../../src/kernel/unified-memory-schemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,iDAAiD,CAAC;AAGpF,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAM7B,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC,eAAO,MAAM,oBAAoB,uLAMhC,CAAC;AAMF,eAAO,MAAM,eAAe,gfAY3B,CAAC;AAEF,eAAO,MAAM,cAAc,2gBAa1B,CAAC;AAEF,eAAO,MAAM,iBAAiB,44BAqB7B,CAAC;AAEF,eAAO,MAAM,WAAW,0hEAkEvB,CAAC;AAEF,eAAO,MAAM,YAAY,+9EAqExB,CAAC;AAEF,eAAO,MAAM,kBAAkB,y6IA6H9B,CAAC;AAEF,eAAO,MAAM,aAAa,2qIA0GzB,CAAC;AAEF,eAAO,MAAM,oBAAoB,ykCA0BhC,CAAC;AAEF,eAAO,MAAM,oBAAoB,kgBAahC,CAAC;AAEF,eAAO,MAAM,eAAe,ywFA0E3B,CAAC;AAMF,eAAO,MAAM,YAAY,UAkCxB,CAAC"}
|