agentdb 2.0.0-alpha.2 → 2.0.0-alpha.2.2
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/agentdb.min.js +4 -4
- package/dist/simulation/cli.js +0 -0
- package/dist/src/cli/agentdb-cli.d.ts.map +1 -1
- package/dist/src/cli/agentdb-cli.js +78 -0
- package/dist/src/cli/agentdb-cli.js.map +1 -1
- package/dist/src/cli/commands/init.js +3 -3
- package/dist/src/cli/commands/init.js.map +1 -1
- package/package.json +3 -3
- package/src/cli/agentdb-cli.ts +78 -0
- package/src/cli/commands/init.ts +3 -3
- package/dist/agentdb-advanced.js +0 -2110
- package/dist/agentdb-advanced.min.js +0 -1
- package/dist/backends/GraphBackend.d.ts +0 -196
- package/dist/backends/GraphBackend.d.ts.map +0 -1
- package/dist/backends/GraphBackend.js +0 -33
- package/dist/backends/GraphBackend.js.map +0 -1
- package/dist/backends/LearningBackend.d.ts +0 -148
- package/dist/backends/LearningBackend.d.ts.map +0 -1
- package/dist/backends/LearningBackend.js +0 -27
- package/dist/backends/LearningBackend.js.map +0 -1
- package/dist/backends/VectorBackend.d.ts +0 -119
- package/dist/backends/VectorBackend.d.ts.map +0 -1
- package/dist/backends/VectorBackend.js +0 -14
- package/dist/backends/VectorBackend.js.map +0 -1
- package/dist/backends/detector.d.ts +0 -81
- package/dist/backends/detector.d.ts.map +0 -1
- package/dist/backends/detector.js +0 -192
- package/dist/backends/detector.js.map +0 -1
- package/dist/backends/factory.d.ts +0 -50
- package/dist/backends/factory.d.ts.map +0 -1
- package/dist/backends/factory.js +0 -161
- package/dist/backends/factory.js.map +0 -1
- package/dist/backends/graph/GraphDatabaseAdapter.d.ts +0 -139
- package/dist/backends/graph/GraphDatabaseAdapter.d.ts.map +0 -1
- package/dist/backends/graph/GraphDatabaseAdapter.js +0 -194
- package/dist/backends/graph/GraphDatabaseAdapter.js.map +0 -1
- package/dist/backends/hnswlib/HNSWLibBackend.d.ts +0 -92
- package/dist/backends/hnswlib/HNSWLibBackend.d.ts.map +0 -1
- package/dist/backends/hnswlib/HNSWLibBackend.js +0 -316
- package/dist/backends/hnswlib/HNSWLibBackend.js.map +0 -1
- package/dist/backends/hnswlib/index.d.ts +0 -7
- package/dist/backends/hnswlib/index.d.ts.map +0 -1
- package/dist/backends/hnswlib/index.js +0 -7
- package/dist/backends/hnswlib/index.js.map +0 -1
- package/dist/backends/index.d.ts +0 -14
- package/dist/backends/index.d.ts.map +0 -1
- package/dist/backends/index.js +0 -13
- package/dist/backends/index.js.map +0 -1
- package/dist/backends/ruvector/RuVectorBackend.d.ts +0 -75
- package/dist/backends/ruvector/RuVectorBackend.d.ts.map +0 -1
- package/dist/backends/ruvector/RuVectorBackend.js +0 -198
- package/dist/backends/ruvector/RuVectorBackend.js.map +0 -1
- package/dist/backends/ruvector/RuVectorLearning.d.ts +0 -104
- package/dist/backends/ruvector/RuVectorLearning.d.ts.map +0 -1
- package/dist/backends/ruvector/RuVectorLearning.js +0 -177
- package/dist/backends/ruvector/RuVectorLearning.js.map +0 -1
- package/dist/backends/ruvector/index.d.ts +0 -9
- package/dist/backends/ruvector/index.d.ts.map +0 -1
- package/dist/backends/ruvector/index.js +0 -8
- package/dist/backends/ruvector/index.js.map +0 -1
- package/dist/benchmarks/wasm-vector-benchmark.d.ts +0 -10
- package/dist/benchmarks/wasm-vector-benchmark.d.ts.map +0 -1
- package/dist/benchmarks/wasm-vector-benchmark.js +0 -196
- package/dist/benchmarks/wasm-vector-benchmark.js.map +0 -1
- package/dist/browser/AdvancedFeatures.d.ts +0 -144
- package/dist/browser/AdvancedFeatures.d.ts.map +0 -1
- package/dist/browser/AdvancedFeatures.js +0 -430
- package/dist/browser/AdvancedFeatures.js.map +0 -1
- package/dist/browser/HNSWIndex.d.ts +0 -117
- package/dist/browser/HNSWIndex.d.ts.map +0 -1
- package/dist/browser/HNSWIndex.js +0 -402
- package/dist/browser/HNSWIndex.js.map +0 -1
- package/dist/browser/ProductQuantization.d.ts +0 -107
- package/dist/browser/ProductQuantization.d.ts.map +0 -1
- package/dist/browser/ProductQuantization.js +0 -337
- package/dist/browser/ProductQuantization.js.map +0 -1
- package/dist/browser/browser/AdvancedFeatures.d.ts +0 -144
- package/dist/browser/browser/AdvancedFeatures.d.ts.map +0 -1
- package/dist/browser/browser/AdvancedFeatures.js +0 -427
- package/dist/browser/browser/HNSWIndex.d.ts +0 -117
- package/dist/browser/browser/HNSWIndex.d.ts.map +0 -1
- package/dist/browser/browser/HNSWIndex.js +0 -402
- package/dist/browser/browser/ProductQuantization.d.ts +0 -107
- package/dist/browser/browser/ProductQuantization.d.ts.map +0 -1
- package/dist/browser/browser/ProductQuantization.js +0 -348
- package/dist/browser/browser/index.d.ts +0 -223
- package/dist/browser/browser/index.d.ts.map +0 -1
- package/dist/browser/browser/index.js +0 -233
- package/dist/browser/index.d.ts +0 -223
- package/dist/browser/index.d.ts.map +0 -1
- package/dist/browser/index.js +0 -225
- package/dist/browser/index.js.map +0 -1
- package/dist/cli/agentdb-cli.d.ts +0 -154
- package/dist/cli/agentdb-cli.d.ts.map +0 -1
- package/dist/cli/agentdb-cli.js +0 -2273
- package/dist/cli/agentdb-cli.js.map +0 -1
- package/dist/cli/agentdb.db +0 -0
- package/dist/cli/commands/init.d.ts +0 -12
- package/dist/cli/commands/init.d.ts.map +0 -1
- package/dist/cli/commands/init.js +0 -115
- package/dist/cli/commands/init.js.map +0 -1
- package/dist/cli/commands/install-embeddings.d.ts +0 -10
- package/dist/cli/commands/install-embeddings.d.ts.map +0 -1
- package/dist/cli/commands/install-embeddings.js +0 -68
- package/dist/cli/commands/install-embeddings.js.map +0 -1
- package/dist/cli/commands/migrate.d.ts +0 -15
- package/dist/cli/commands/migrate.d.ts.map +0 -1
- package/dist/cli/commands/migrate.js +0 -425
- package/dist/cli/commands/migrate.js.map +0 -1
- package/dist/cli/commands/status.d.ts +0 -10
- package/dist/cli/commands/status.d.ts.map +0 -1
- package/dist/cli/commands/status.js +0 -129
- package/dist/cli/commands/status.js.map +0 -1
- package/dist/controllers/CausalMemoryGraph.d.ts +0 -126
- package/dist/controllers/CausalMemoryGraph.d.ts.map +0 -1
- package/dist/controllers/CausalMemoryGraph.js +0 -323
- package/dist/controllers/CausalMemoryGraph.js.map +0 -1
- package/dist/controllers/CausalRecall.d.ts +0 -139
- package/dist/controllers/CausalRecall.d.ts.map +0 -1
- package/dist/controllers/CausalRecall.js +0 -356
- package/dist/controllers/CausalRecall.js.map +0 -1
- package/dist/controllers/ContextSynthesizer.d.ts +0 -65
- package/dist/controllers/ContextSynthesizer.d.ts.map +0 -1
- package/dist/controllers/ContextSynthesizer.js +0 -208
- package/dist/controllers/ContextSynthesizer.js.map +0 -1
- package/dist/controllers/EmbeddingService.d.ts +0 -37
- package/dist/controllers/EmbeddingService.d.ts.map +0 -1
- package/dist/controllers/EmbeddingService.js +0 -136
- package/dist/controllers/EmbeddingService.js.map +0 -1
- package/dist/controllers/EnhancedEmbeddingService.d.ts +0 -50
- package/dist/controllers/EnhancedEmbeddingService.d.ts.map +0 -1
- package/dist/controllers/EnhancedEmbeddingService.js +0 -119
- package/dist/controllers/EnhancedEmbeddingService.js.map +0 -1
- package/dist/controllers/ExplainableRecall.d.ts +0 -163
- package/dist/controllers/ExplainableRecall.d.ts.map +0 -1
- package/dist/controllers/ExplainableRecall.js +0 -485
- package/dist/controllers/ExplainableRecall.js.map +0 -1
- package/dist/controllers/HNSWIndex.d.ts +0 -128
- package/dist/controllers/HNSWIndex.d.ts.map +0 -1
- package/dist/controllers/HNSWIndex.js +0 -361
- package/dist/controllers/HNSWIndex.js.map +0 -1
- package/dist/controllers/LearningSystem.d.ts +0 -195
- package/dist/controllers/LearningSystem.d.ts.map +0 -1
- package/dist/controllers/LearningSystem.js +0 -929
- package/dist/controllers/LearningSystem.js.map +0 -1
- package/dist/controllers/MMRDiversityRanker.d.ts +0 -50
- package/dist/controllers/MMRDiversityRanker.d.ts.map +0 -1
- package/dist/controllers/MMRDiversityRanker.js +0 -130
- package/dist/controllers/MMRDiversityRanker.js.map +0 -1
- package/dist/controllers/MetadataFilter.d.ts +0 -70
- package/dist/controllers/MetadataFilter.d.ts.map +0 -1
- package/dist/controllers/MetadataFilter.js +0 -243
- package/dist/controllers/MetadataFilter.js.map +0 -1
- package/dist/controllers/NightlyLearner.d.ts +0 -114
- package/dist/controllers/NightlyLearner.d.ts.map +0 -1
- package/dist/controllers/NightlyLearner.js +0 -394
- package/dist/controllers/NightlyLearner.js.map +0 -1
- package/dist/controllers/QUICClient.d.ts +0 -109
- package/dist/controllers/QUICClient.d.ts.map +0 -1
- package/dist/controllers/QUICClient.js +0 -299
- package/dist/controllers/QUICClient.js.map +0 -1
- package/dist/controllers/QUICServer.d.ts +0 -121
- package/dist/controllers/QUICServer.d.ts.map +0 -1
- package/dist/controllers/QUICServer.js +0 -383
- package/dist/controllers/QUICServer.js.map +0 -1
- package/dist/controllers/ReasoningBank.d.ts +0 -196
- package/dist/controllers/ReasoningBank.d.ts.map +0 -1
- package/dist/controllers/ReasoningBank.js +0 -494
- package/dist/controllers/ReasoningBank.js.map +0 -1
- package/dist/controllers/ReflexionMemory.d.ts +0 -125
- package/dist/controllers/ReflexionMemory.d.ts.map +0 -1
- package/dist/controllers/ReflexionMemory.js +0 -521
- package/dist/controllers/ReflexionMemory.js.map +0 -1
- package/dist/controllers/SkillLibrary.d.ts +0 -149
- package/dist/controllers/SkillLibrary.d.ts.map +0 -1
- package/dist/controllers/SkillLibrary.js +0 -547
- package/dist/controllers/SkillLibrary.js.map +0 -1
- package/dist/controllers/SyncCoordinator.d.ts +0 -120
- package/dist/controllers/SyncCoordinator.d.ts.map +0 -1
- package/dist/controllers/SyncCoordinator.js +0 -441
- package/dist/controllers/SyncCoordinator.js.map +0 -1
- package/dist/controllers/WASMVectorSearch.d.ts +0 -89
- package/dist/controllers/WASMVectorSearch.d.ts.map +0 -1
- package/dist/controllers/WASMVectorSearch.js +0 -234
- package/dist/controllers/WASMVectorSearch.js.map +0 -1
- package/dist/controllers/frontier-index.d.ts +0 -14
- package/dist/controllers/frontier-index.d.ts.map +0 -1
- package/dist/controllers/frontier-index.js +0 -10
- package/dist/controllers/frontier-index.js.map +0 -1
- package/dist/controllers/index.d.ts +0 -30
- package/dist/controllers/index.d.ts.map +0 -1
- package/dist/controllers/index.js +0 -18
- package/dist/controllers/index.js.map +0 -1
- package/dist/db-fallback.d.ts +0 -26
- package/dist/db-fallback.d.ts.map +0 -1
- package/dist/db-fallback.js +0 -264
- package/dist/db-fallback.js.map +0 -1
- package/dist/db-test.d.ts +0 -13
- package/dist/db-test.d.ts.map +0 -1
- package/dist/db-test.js +0 -55
- package/dist/db-test.js.map +0 -1
- package/dist/db-unified.d.ts +0 -76
- package/dist/db-unified.d.ts.map +0 -1
- package/dist/db-unified.js +0 -278
- package/dist/db-unified.js.map +0 -1
- package/dist/examples/quic-sync-example.d.ts +0 -9
- package/dist/examples/quic-sync-example.d.ts.map +0 -1
- package/dist/examples/quic-sync-example.js +0 -169
- package/dist/examples/quic-sync-example.js.map +0 -1
- package/dist/examples/wasm-vector-usage.d.ts +0 -12
- package/dist/examples/wasm-vector-usage.d.ts.map +0 -1
- package/dist/examples/wasm-vector-usage.js +0 -190
- package/dist/examples/wasm-vector-usage.js.map +0 -1
- package/dist/index.d.ts +0 -28
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -35
- package/dist/index.js.map +0 -1
- package/dist/malp/core/ccc.d.ts +0 -99
- package/dist/malp/core/ccc.d.ts.map +0 -1
- package/dist/malp/core/ccc.js +0 -181
- package/dist/malp/core/ccc.js.map +0 -1
- package/dist/malp/core/index.d.ts +0 -9
- package/dist/malp/core/index.d.ts.map +0 -1
- package/dist/malp/core/index.js +0 -9
- package/dist/malp/core/index.js.map +0 -1
- package/dist/malp/core/linalg.d.ts +0 -101
- package/dist/malp/core/linalg.d.ts.map +0 -1
- package/dist/malp/core/linalg.js +0 -278
- package/dist/malp/core/linalg.js.map +0 -1
- package/dist/malp/core/optimizer.d.ts +0 -68
- package/dist/malp/core/optimizer.d.ts.map +0 -1
- package/dist/malp/core/optimizer.js +0 -160
- package/dist/malp/core/optimizer.js.map +0 -1
- package/dist/malp/index.d.ts +0 -33
- package/dist/malp/index.d.ts.map +0 -1
- package/dist/malp/index.js +0 -37
- package/dist/malp/index.js.map +0 -1
- package/dist/malp/metrics/agreement.d.ts +0 -106
- package/dist/malp/metrics/agreement.d.ts.map +0 -1
- package/dist/malp/metrics/agreement.js +0 -199
- package/dist/malp/metrics/agreement.js.map +0 -1
- package/dist/malp/metrics/comparison.d.ts +0 -93
- package/dist/malp/metrics/comparison.d.ts.map +0 -1
- package/dist/malp/metrics/comparison.js +0 -256
- package/dist/malp/metrics/comparison.js.map +0 -1
- package/dist/malp/metrics/index.d.ts +0 -8
- package/dist/malp/metrics/index.d.ts.map +0 -1
- package/dist/malp/metrics/index.js +0 -8
- package/dist/malp/metrics/index.js.map +0 -1
- package/dist/malp/metrics/performance.d.ts +0 -61
- package/dist/malp/metrics/performance.d.ts.map +0 -1
- package/dist/malp/metrics/performance.js +0 -190
- package/dist/malp/metrics/performance.js.map +0 -1
- package/dist/malp/models/index.d.ts +0 -7
- package/dist/malp/models/index.d.ts.map +0 -1
- package/dist/malp/models/index.js +0 -7
- package/dist/malp/models/index.js.map +0 -1
- package/dist/malp/models/malp.d.ts +0 -116
- package/dist/malp/models/malp.d.ts.map +0 -1
- package/dist/malp/models/malp.js +0 -206
- package/dist/malp/models/malp.js.map +0 -1
- package/dist/malp/models/regressor.d.ts +0 -80
- package/dist/malp/models/regressor.d.ts.map +0 -1
- package/dist/malp/models/regressor.js +0 -229
- package/dist/malp/models/regressor.js.map +0 -1
- package/dist/malp/reasoningbank_validator.d.ts +0 -187
- package/dist/malp/reasoningbank_validator.d.ts.map +0 -1
- package/dist/malp/reasoningbank_validator.js +0 -246
- package/dist/malp/reasoningbank_validator.js.map +0 -1
- package/dist/malp/wasm_bindings.d.ts +0 -344
- package/dist/malp/wasm_bindings.d.ts.map +0 -1
- package/dist/malp/wasm_bindings.js +0 -9
- package/dist/malp/wasm_bindings.js.map +0 -1
- package/dist/mcp/agentdb-mcp-server.d.ts +0 -8
- package/dist/mcp/agentdb-mcp-server.d.ts.map +0 -1
- package/dist/mcp/agentdb-mcp-server.js +0 -2116
- package/dist/mcp/agentdb-mcp-server.js.map +0 -1
- package/dist/mcp/learning-tools-handlers.d.ts +0 -16
- package/dist/mcp/learning-tools-handlers.d.ts.map +0 -1
- package/dist/mcp/learning-tools-handlers.js +0 -105
- package/dist/mcp/learning-tools-handlers.js.map +0 -1
- package/dist/optimizations/BatchOperations.d.ts +0 -109
- package/dist/optimizations/BatchOperations.d.ts.map +0 -1
- package/dist/optimizations/BatchOperations.js +0 -407
- package/dist/optimizations/BatchOperations.js.map +0 -1
- package/dist/optimizations/QueryOptimizer.d.ts +0 -83
- package/dist/optimizations/QueryOptimizer.d.ts.map +0 -1
- package/dist/optimizations/QueryOptimizer.js +0 -228
- package/dist/optimizations/QueryOptimizer.js.map +0 -1
- package/dist/optimizations/ToolCache.d.ts +0 -137
- package/dist/optimizations/ToolCache.d.ts.map +0 -1
- package/dist/optimizations/ToolCache.js +0 -281
- package/dist/optimizations/ToolCache.js.map +0 -1
- package/dist/optimizations/index.d.ts +0 -10
- package/dist/optimizations/index.d.ts.map +0 -1
- package/dist/optimizations/index.js +0 -8
- package/dist/optimizations/index.js.map +0 -1
- package/dist/security/input-validation.d.ts +0 -109
- package/dist/security/input-validation.d.ts.map +0 -1
- package/dist/security/input-validation.js +0 -398
- package/dist/security/input-validation.js.map +0 -1
- package/dist/security/limits.d.ts +0 -150
- package/dist/security/limits.d.ts.map +0 -1
- package/dist/security/limits.js +0 -288
- package/dist/security/limits.js.map +0 -1
- package/dist/security/path-security.d.ts +0 -100
- package/dist/security/path-security.d.ts.map +0 -1
- package/dist/security/path-security.js +0 -337
- package/dist/security/path-security.js.map +0 -1
- package/dist/security/validation.d.ts +0 -95
- package/dist/security/validation.d.ts.map +0 -1
- package/dist/security/validation.js +0 -315
- package/dist/security/validation.js.map +0 -1
- package/dist/types/quic.d.ts +0 -518
- package/dist/types/quic.d.ts.map +0 -1
- package/dist/types/quic.js +0 -272
- package/dist/types/quic.js.map +0 -1
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* RuVector Graph Database Adapter - Primary Database for AgentDB v2
|
|
3
|
-
*
|
|
4
|
-
* Replaces SQLite with RuVector's graph database for:
|
|
5
|
-
* - Episodes as nodes with vector embeddings
|
|
6
|
-
* - Skills as nodes with code embeddings
|
|
7
|
-
* - Causal relationships as hyperedges
|
|
8
|
-
* - Cypher queries instead of SQL
|
|
9
|
-
*
|
|
10
|
-
* Features:
|
|
11
|
-
* - 10x faster than WASM SQLite
|
|
12
|
-
* - ACID transactions with persistence
|
|
13
|
-
* - Vector similarity search integrated
|
|
14
|
-
* - Hypergraph support for complex relationships
|
|
15
|
-
* - Neo4j-compatible Cypher syntax
|
|
16
|
-
*/
|
|
17
|
-
type JsNode = {
|
|
18
|
-
id: string;
|
|
19
|
-
embedding: Float32Array;
|
|
20
|
-
labels?: Array<string>;
|
|
21
|
-
properties?: Record<string, string>;
|
|
22
|
-
};
|
|
23
|
-
type JsEdge = {
|
|
24
|
-
from: string;
|
|
25
|
-
to: string;
|
|
26
|
-
description: string;
|
|
27
|
-
embedding: Float32Array;
|
|
28
|
-
confidence?: number;
|
|
29
|
-
metadata?: Record<string, string>;
|
|
30
|
-
};
|
|
31
|
-
type JsQueryResult = {
|
|
32
|
-
nodes: Array<any>;
|
|
33
|
-
edges: Array<any>;
|
|
34
|
-
stats?: any;
|
|
35
|
-
};
|
|
36
|
-
export interface GraphDatabaseConfig {
|
|
37
|
-
storagePath: string;
|
|
38
|
-
dimensions: number;
|
|
39
|
-
distanceMetric?: 'Cosine' | 'Euclidean' | 'DotProduct' | 'Manhattan';
|
|
40
|
-
}
|
|
41
|
-
export interface EpisodeNode {
|
|
42
|
-
id: string;
|
|
43
|
-
sessionId: string;
|
|
44
|
-
task: string;
|
|
45
|
-
reward: number;
|
|
46
|
-
success: boolean;
|
|
47
|
-
input?: string;
|
|
48
|
-
output?: string;
|
|
49
|
-
critique?: string;
|
|
50
|
-
createdAt: number;
|
|
51
|
-
tokensUsed?: number;
|
|
52
|
-
latencyMs?: number;
|
|
53
|
-
}
|
|
54
|
-
export interface SkillNode {
|
|
55
|
-
id: string;
|
|
56
|
-
name: string;
|
|
57
|
-
description: string;
|
|
58
|
-
code: string;
|
|
59
|
-
usageCount: number;
|
|
60
|
-
avgReward: number;
|
|
61
|
-
createdAt: number;
|
|
62
|
-
updatedAt: number;
|
|
63
|
-
tags?: string;
|
|
64
|
-
}
|
|
65
|
-
export interface CausalEdge {
|
|
66
|
-
from: string;
|
|
67
|
-
to: string;
|
|
68
|
-
mechanism: string;
|
|
69
|
-
uplift: number;
|
|
70
|
-
confidence: number;
|
|
71
|
-
sampleSize: number;
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Graph Database Adapter for AgentDB
|
|
75
|
-
*
|
|
76
|
-
* This replaces SQL.js as the primary database, using RuVector's graph DB
|
|
77
|
-
* with Cypher queries, hyperedges, and integrated vector search.
|
|
78
|
-
*/
|
|
79
|
-
export declare class GraphDatabaseAdapter {
|
|
80
|
-
private db;
|
|
81
|
-
private config;
|
|
82
|
-
private embedder;
|
|
83
|
-
constructor(config: GraphDatabaseConfig, embedder: any);
|
|
84
|
-
/**
|
|
85
|
-
* Initialize graph database (create new or open existing)
|
|
86
|
-
*/
|
|
87
|
-
initialize(): Promise<void>;
|
|
88
|
-
/**
|
|
89
|
-
* Store an episode as a graph node
|
|
90
|
-
*/
|
|
91
|
-
storeEpisode(episode: EpisodeNode, embedding: Float32Array): Promise<string>;
|
|
92
|
-
/**
|
|
93
|
-
* Store a skill as a graph node
|
|
94
|
-
*/
|
|
95
|
-
storeSkill(skill: SkillNode, embedding: Float32Array): Promise<string>;
|
|
96
|
-
/**
|
|
97
|
-
* Create a causal relationship edge
|
|
98
|
-
*/
|
|
99
|
-
createCausalEdge(edge: CausalEdge, embedding: Float32Array): Promise<string>;
|
|
100
|
-
/**
|
|
101
|
-
* Query using Cypher syntax
|
|
102
|
-
*
|
|
103
|
-
* Examples:
|
|
104
|
-
* - MATCH (e:Episode) WHERE e.success = 'true' RETURN e
|
|
105
|
-
* - MATCH (s:Skill) RETURN s ORDER BY s.avgReward DESC LIMIT 10
|
|
106
|
-
* - MATCH (e1:Episode)-[r]->(e2:Episode) RETURN e1, r, e2
|
|
107
|
-
*/
|
|
108
|
-
query(cypher: string): Promise<JsQueryResult>;
|
|
109
|
-
/**
|
|
110
|
-
* Search for similar episodes by embedding
|
|
111
|
-
*/
|
|
112
|
-
searchSimilarEpisodes(embedding: Float32Array, k?: number): Promise<any[]>;
|
|
113
|
-
/**
|
|
114
|
-
* Get graph statistics
|
|
115
|
-
*/
|
|
116
|
-
getStats(): Promise<any>;
|
|
117
|
-
/**
|
|
118
|
-
* Begin transaction
|
|
119
|
-
*/
|
|
120
|
-
beginTransaction(): Promise<string>;
|
|
121
|
-
/**
|
|
122
|
-
* Commit transaction
|
|
123
|
-
*/
|
|
124
|
-
commitTransaction(txId: string): Promise<void>;
|
|
125
|
-
/**
|
|
126
|
-
* Rollback transaction
|
|
127
|
-
*/
|
|
128
|
-
rollbackTransaction(txId: string): Promise<void>;
|
|
129
|
-
/**
|
|
130
|
-
* Batch insert nodes and edges
|
|
131
|
-
*/
|
|
132
|
-
batchInsert(nodes: JsNode[], edges: JsEdge[]): Promise<any>;
|
|
133
|
-
/**
|
|
134
|
-
* Close database
|
|
135
|
-
*/
|
|
136
|
-
close(): void;
|
|
137
|
-
}
|
|
138
|
-
export {};
|
|
139
|
-
//# sourceMappingURL=GraphDatabaseAdapter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GraphDatabaseAdapter.d.ts","sourceRoot":"","sources":["../../../src/backends/graph/GraphDatabaseAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,194 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* RuVector Graph Database Adapter - Primary Database for AgentDB v2
|
|
3
|
-
*
|
|
4
|
-
* Replaces SQLite with RuVector's graph database for:
|
|
5
|
-
* - Episodes as nodes with vector embeddings
|
|
6
|
-
* - Skills as nodes with code embeddings
|
|
7
|
-
* - Causal relationships as hyperedges
|
|
8
|
-
* - Cypher queries instead of SQL
|
|
9
|
-
*
|
|
10
|
-
* Features:
|
|
11
|
-
* - 10x faster than WASM SQLite
|
|
12
|
-
* - ACID transactions with persistence
|
|
13
|
-
* - Vector similarity search integrated
|
|
14
|
-
* - Hypergraph support for complex relationships
|
|
15
|
-
* - Neo4j-compatible Cypher syntax
|
|
16
|
-
*/
|
|
17
|
-
/**
|
|
18
|
-
* Graph Database Adapter for AgentDB
|
|
19
|
-
*
|
|
20
|
-
* This replaces SQL.js as the primary database, using RuVector's graph DB
|
|
21
|
-
* with Cypher queries, hyperedges, and integrated vector search.
|
|
22
|
-
*/
|
|
23
|
-
export class GraphDatabaseAdapter {
|
|
24
|
-
db;
|
|
25
|
-
config;
|
|
26
|
-
embedder; // EmbeddingService
|
|
27
|
-
constructor(config, embedder) {
|
|
28
|
-
this.config = config;
|
|
29
|
-
this.embedder = embedder;
|
|
30
|
-
this.db = null; // Will be initialized
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Initialize graph database (create new or open existing)
|
|
34
|
-
*/
|
|
35
|
-
async initialize() {
|
|
36
|
-
try {
|
|
37
|
-
// Try to import graph-node package
|
|
38
|
-
const graphNodeModule = await import('@ruvector/graph-node');
|
|
39
|
-
const GraphDatabase = graphNodeModule.GraphDatabase;
|
|
40
|
-
if (!GraphDatabase) {
|
|
41
|
-
throw new Error('GraphDatabase class not found in @ruvector/graph-node');
|
|
42
|
-
}
|
|
43
|
-
// Try to open existing database first
|
|
44
|
-
try {
|
|
45
|
-
if (require('fs').existsSync(this.config.storagePath)) {
|
|
46
|
-
this.db = GraphDatabase.open(this.config.storagePath);
|
|
47
|
-
console.log('✅ Opened existing RuVector graph database');
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
catch (e) {
|
|
52
|
-
// Database doesn't exist or is corrupt, create new one
|
|
53
|
-
}
|
|
54
|
-
// Create new database
|
|
55
|
-
this.db = new GraphDatabase({
|
|
56
|
-
distanceMetric: this.config.distanceMetric || 'Cosine',
|
|
57
|
-
dimensions: this.config.dimensions,
|
|
58
|
-
storagePath: this.config.storagePath
|
|
59
|
-
});
|
|
60
|
-
console.log('✅ Created new RuVector graph database');
|
|
61
|
-
}
|
|
62
|
-
catch (error) {
|
|
63
|
-
throw new Error(`Failed to initialize RuVector Graph Database.\n` +
|
|
64
|
-
`Please install: npm install @ruvector/graph-node\n` +
|
|
65
|
-
`Error: ${error.message}`);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Store an episode as a graph node
|
|
70
|
-
*/
|
|
71
|
-
async storeEpisode(episode, embedding) {
|
|
72
|
-
const node = {
|
|
73
|
-
id: episode.id || `episode-${Date.now()}-${Math.random().toString(36).slice(2)}`,
|
|
74
|
-
embedding: embedding,
|
|
75
|
-
labels: ['Episode'],
|
|
76
|
-
properties: {
|
|
77
|
-
sessionId: episode.sessionId,
|
|
78
|
-
task: episode.task,
|
|
79
|
-
reward: episode.reward.toString(),
|
|
80
|
-
success: episode.success.toString(),
|
|
81
|
-
input: episode.input || '',
|
|
82
|
-
output: episode.output || '',
|
|
83
|
-
critique: episode.critique || '',
|
|
84
|
-
createdAt: episode.createdAt.toString(),
|
|
85
|
-
tokensUsed: episode.tokensUsed?.toString() || '0',
|
|
86
|
-
latencyMs: episode.latencyMs?.toString() || '0'
|
|
87
|
-
}
|
|
88
|
-
};
|
|
89
|
-
return await this.db.createNode(node);
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Store a skill as a graph node
|
|
93
|
-
*/
|
|
94
|
-
async storeSkill(skill, embedding) {
|
|
95
|
-
const node = {
|
|
96
|
-
id: skill.id || `skill-${Date.now()}-${Math.random().toString(36).slice(2)}`,
|
|
97
|
-
embedding: embedding,
|
|
98
|
-
labels: ['Skill'],
|
|
99
|
-
properties: {
|
|
100
|
-
name: skill.name,
|
|
101
|
-
description: skill.description,
|
|
102
|
-
code: skill.code,
|
|
103
|
-
usageCount: skill.usageCount.toString(),
|
|
104
|
-
avgReward: skill.avgReward.toString(),
|
|
105
|
-
createdAt: skill.createdAt.toString(),
|
|
106
|
-
updatedAt: skill.updatedAt.toString(),
|
|
107
|
-
tags: skill.tags || ''
|
|
108
|
-
}
|
|
109
|
-
};
|
|
110
|
-
return await this.db.createNode(node);
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* Create a causal relationship edge
|
|
114
|
-
*/
|
|
115
|
-
async createCausalEdge(edge, embedding) {
|
|
116
|
-
const graphEdge = {
|
|
117
|
-
from: edge.from,
|
|
118
|
-
to: edge.to,
|
|
119
|
-
description: edge.mechanism,
|
|
120
|
-
embedding: embedding,
|
|
121
|
-
confidence: edge.confidence,
|
|
122
|
-
metadata: {
|
|
123
|
-
uplift: edge.uplift.toString(),
|
|
124
|
-
sampleSize: edge.sampleSize.toString()
|
|
125
|
-
}
|
|
126
|
-
};
|
|
127
|
-
return await this.db.createEdge(graphEdge);
|
|
128
|
-
}
|
|
129
|
-
/**
|
|
130
|
-
* Query using Cypher syntax
|
|
131
|
-
*
|
|
132
|
-
* Examples:
|
|
133
|
-
* - MATCH (e:Episode) WHERE e.success = 'true' RETURN e
|
|
134
|
-
* - MATCH (s:Skill) RETURN s ORDER BY s.avgReward DESC LIMIT 10
|
|
135
|
-
* - MATCH (e1:Episode)-[r]->(e2:Episode) RETURN e1, r, e2
|
|
136
|
-
*/
|
|
137
|
-
async query(cypher) {
|
|
138
|
-
return await this.db.query(cypher);
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Search for similar episodes by embedding
|
|
142
|
-
*/
|
|
143
|
-
async searchSimilarEpisodes(embedding, k = 10) {
|
|
144
|
-
// Use Cypher with vector similarity
|
|
145
|
-
// Note: This is a simplified version - actual implementation would use
|
|
146
|
-
// the integrated vector search capabilities
|
|
147
|
-
const result = await this.query(`MATCH (e:Episode) RETURN e ORDER BY vector_similarity(e.embedding, $embedding) DESC LIMIT ${k}`);
|
|
148
|
-
return result.nodes.map(node => ({
|
|
149
|
-
id: node.id,
|
|
150
|
-
...node.properties,
|
|
151
|
-
reward: parseFloat(node.properties.reward),
|
|
152
|
-
success: node.properties.success === 'true',
|
|
153
|
-
createdAt: parseInt(node.properties.createdAt)
|
|
154
|
-
}));
|
|
155
|
-
}
|
|
156
|
-
/**
|
|
157
|
-
* Get graph statistics
|
|
158
|
-
*/
|
|
159
|
-
async getStats() {
|
|
160
|
-
return await this.db.stats();
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* Begin transaction
|
|
164
|
-
*/
|
|
165
|
-
async beginTransaction() {
|
|
166
|
-
return await this.db.begin();
|
|
167
|
-
}
|
|
168
|
-
/**
|
|
169
|
-
* Commit transaction
|
|
170
|
-
*/
|
|
171
|
-
async commitTransaction(txId) {
|
|
172
|
-
await this.db.commit(txId);
|
|
173
|
-
}
|
|
174
|
-
/**
|
|
175
|
-
* Rollback transaction
|
|
176
|
-
*/
|
|
177
|
-
async rollbackTransaction(txId) {
|
|
178
|
-
await this.db.rollback(txId);
|
|
179
|
-
}
|
|
180
|
-
/**
|
|
181
|
-
* Batch insert nodes and edges
|
|
182
|
-
*/
|
|
183
|
-
async batchInsert(nodes, edges) {
|
|
184
|
-
return await this.db.batchInsert({ nodes, edges });
|
|
185
|
-
}
|
|
186
|
-
/**
|
|
187
|
-
* Close database
|
|
188
|
-
*/
|
|
189
|
-
close() {
|
|
190
|
-
// Graph database handles persistence automatically
|
|
191
|
-
// No explicit close needed
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
//# sourceMappingURL=GraphDatabaseAdapter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GraphDatabaseAdapter.js","sourceRoot":"","sources":["../../../src/backends/graph/GraphDatabaseAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* HNSWLibBackend - Vector backend adapter for hnswlib-node
|
|
3
|
-
*
|
|
4
|
-
* Wraps existing HNSWIndex controller to implement VectorBackend interface.
|
|
5
|
-
* Handles string ID to numeric label mapping required by hnswlib.
|
|
6
|
-
*
|
|
7
|
-
* Features:
|
|
8
|
-
* - String ID support (maps to hnswlib numeric labels)
|
|
9
|
-
* - Metadata storage alongside vectors
|
|
10
|
-
* - Persistent save/load with mappings
|
|
11
|
-
* - Backward compatible with existing HNSWIndex usage
|
|
12
|
-
*
|
|
13
|
-
* Note: hnswlib-node doesn't support true deletion - removed IDs are
|
|
14
|
-
* tracked but vectors remain until rebuild.
|
|
15
|
-
*/
|
|
16
|
-
import type { VectorBackend, VectorConfig, SearchResult, SearchOptions, VectorStats } from '../VectorBackend.js';
|
|
17
|
-
export declare class HNSWLibBackend implements VectorBackend {
|
|
18
|
-
readonly name: "hnswlib";
|
|
19
|
-
private index;
|
|
20
|
-
private config;
|
|
21
|
-
private idToLabel;
|
|
22
|
-
private labelToId;
|
|
23
|
-
private metadata;
|
|
24
|
-
private nextLabel;
|
|
25
|
-
private deletedIds;
|
|
26
|
-
constructor(config: VectorConfig);
|
|
27
|
-
/**
|
|
28
|
-
* Initialize the HNSW index
|
|
29
|
-
* Must be called after construction
|
|
30
|
-
*/
|
|
31
|
-
initialize(): Promise<void>;
|
|
32
|
-
/**
|
|
33
|
-
* Insert a single vector with optional metadata
|
|
34
|
-
*/
|
|
35
|
-
insert(id: string, embedding: Float32Array, metadata?: Record<string, any>): void;
|
|
36
|
-
/**
|
|
37
|
-
* Insert multiple vectors in batch
|
|
38
|
-
*/
|
|
39
|
-
insertBatch(items: Array<{
|
|
40
|
-
id: string;
|
|
41
|
-
embedding: Float32Array;
|
|
42
|
-
metadata?: Record<string, any>;
|
|
43
|
-
}>): void;
|
|
44
|
-
/**
|
|
45
|
-
* Search for k-nearest neighbors
|
|
46
|
-
*/
|
|
47
|
-
search(query: Float32Array, k: number, options?: SearchOptions): SearchResult[];
|
|
48
|
-
/**
|
|
49
|
-
* Remove a vector by ID
|
|
50
|
-
* Note: hnswlib doesn't support true deletion - we mark as deleted
|
|
51
|
-
*/
|
|
52
|
-
remove(id: string): boolean;
|
|
53
|
-
/**
|
|
54
|
-
* Get backend statistics
|
|
55
|
-
*/
|
|
56
|
-
getStats(): VectorStats;
|
|
57
|
-
/**
|
|
58
|
-
* Save index to disk with mappings
|
|
59
|
-
*/
|
|
60
|
-
save(savePath: string): Promise<void>;
|
|
61
|
-
/**
|
|
62
|
-
* Load index from disk with mappings
|
|
63
|
-
*/
|
|
64
|
-
load(loadPath: string): Promise<void>;
|
|
65
|
-
/**
|
|
66
|
-
* Close and cleanup resources
|
|
67
|
-
*/
|
|
68
|
-
close(): void;
|
|
69
|
-
/**
|
|
70
|
-
* Convert distance to similarity based on metric
|
|
71
|
-
* Maps to [0, 1] range where 1 = most similar
|
|
72
|
-
*/
|
|
73
|
-
private distanceToSimilarity;
|
|
74
|
-
/**
|
|
75
|
-
* Apply metadata filters (post-filtering)
|
|
76
|
-
*/
|
|
77
|
-
private applyFilters;
|
|
78
|
-
/**
|
|
79
|
-
* Check if needs rebuilding (for backward compat with HNSWIndex)
|
|
80
|
-
* @param updateThreshold - Percentage of deletes to trigger rebuild (default: 0.1)
|
|
81
|
-
*/
|
|
82
|
-
needsRebuild(updateThreshold?: number): boolean;
|
|
83
|
-
/**
|
|
84
|
-
* Update efSearch parameter
|
|
85
|
-
*/
|
|
86
|
-
setEfSearch(ef: number): void;
|
|
87
|
-
/**
|
|
88
|
-
* Check if backend is ready
|
|
89
|
-
*/
|
|
90
|
-
isReady(): boolean;
|
|
91
|
-
}
|
|
92
|
-
//# sourceMappingURL=HNSWLibBackend.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HNSWLibBackend.d.ts","sourceRoot":"","sources":["../../../src/backends/hnswlib/HNSWLibBackend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAgB7B,qBAAa,cAAe,YAAW,aAAa;IAClD,QAAQ,CAAC,IAAI,EAAG,SAAS,CAAU;IAEnC,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,MAAM,CAAe;IAG7B,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,QAAQ,CAA+C;IAC/D,OAAO,CAAC,SAAS,CAAa;IAG9B,OAAO,CAAC,UAAU,CAA0B;gBAEhC,MAAM,EAAE,YAAY;IAUhC;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAyBjC;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IA6BjF;;OAEG;IACH,WAAW,CACT,KAAK,EAAE,KAAK,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,EAAE,YAAY,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAChC,CAAC,GACD,IAAI;IAMP;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,YAAY,EAAE;IAuD/E;;;OAGG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAgB3B;;OAEG;IACH,QAAQ,IAAI,WAAW;IAYvB;;OAEG;IACG,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqC3C;;OAEG;IACG,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyD3C;;OAEG;IACH,KAAK,IAAI,IAAI;IASb;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAmB5B;;OAEG;IACH,OAAO,CAAC,YAAY;IAcpB;;;OAGG;IACH,YAAY,CAAC,eAAe,GAAE,MAAY,GAAG,OAAO;IAOpD;;OAEG;IACH,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQ7B;;OAEG;IACH,OAAO,IAAI,OAAO;CAGnB"}
|