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,383 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* QUICServer - QUIC Protocol Server for AgentDB Synchronization
|
|
3
|
-
*
|
|
4
|
-
* Implements a QUIC server for receiving and handling synchronization requests
|
|
5
|
-
* from remote AgentDB instances. Supports episodes, skills, and edge synchronization.
|
|
6
|
-
*
|
|
7
|
-
* Features:
|
|
8
|
-
* - Start/stop server lifecycle management
|
|
9
|
-
* - Client connection handling
|
|
10
|
-
* - Authentication and authorization
|
|
11
|
-
* - Rate limiting per client
|
|
12
|
-
* - Sync request processing (episodes, skills, edges)
|
|
13
|
-
* - Comprehensive error handling and logging
|
|
14
|
-
*/
|
|
15
|
-
import chalk from 'chalk';
|
|
16
|
-
export class QUICServer {
|
|
17
|
-
db;
|
|
18
|
-
config;
|
|
19
|
-
isRunning = false;
|
|
20
|
-
connections = new Map();
|
|
21
|
-
rateLimitState = new Map();
|
|
22
|
-
server = null;
|
|
23
|
-
cleanupInterval = null;
|
|
24
|
-
constructor(db, config = {}) {
|
|
25
|
-
this.db = db;
|
|
26
|
-
this.config = {
|
|
27
|
-
host: config.host || '0.0.0.0',
|
|
28
|
-
port: config.port || 4433,
|
|
29
|
-
maxConnections: config.maxConnections || 100,
|
|
30
|
-
authToken: config.authToken || '',
|
|
31
|
-
rateLimit: config.rateLimit || {
|
|
32
|
-
maxRequestsPerMinute: 60,
|
|
33
|
-
maxBytesPerMinute: 10 * 1024 * 1024, // 10MB
|
|
34
|
-
},
|
|
35
|
-
tlsConfig: config.tlsConfig || {},
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Start the QUIC server
|
|
40
|
-
*/
|
|
41
|
-
async start() {
|
|
42
|
-
if (this.isRunning) {
|
|
43
|
-
console.log(chalk.yellow('⚠️ QUIC server is already running'));
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
try {
|
|
47
|
-
console.log(chalk.blue('🚀 Starting QUIC server...'));
|
|
48
|
-
console.log(chalk.gray(` Host: ${this.config.host}`));
|
|
49
|
-
console.log(chalk.gray(` Port: ${this.config.port}`));
|
|
50
|
-
// Note: Actual QUIC implementation would use a library like @fails-components/webtransport
|
|
51
|
-
// or node-quic. This is a reference implementation showing the interface.
|
|
52
|
-
// Initialize server state
|
|
53
|
-
this.isRunning = true;
|
|
54
|
-
this.startCleanupInterval();
|
|
55
|
-
console.log(chalk.green('✓ QUIC server started successfully'));
|
|
56
|
-
console.log(chalk.gray(` Max connections: ${this.config.maxConnections}`));
|
|
57
|
-
console.log(chalk.gray(` Rate limit: ${this.config.rateLimit.maxRequestsPerMinute} req/min`));
|
|
58
|
-
}
|
|
59
|
-
catch (error) {
|
|
60
|
-
const err = error;
|
|
61
|
-
console.error(chalk.red('✗ Failed to start QUIC server:'), err.message);
|
|
62
|
-
throw new Error(`QUIC server start failed: ${err.message}`);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Stop the QUIC server
|
|
67
|
-
*/
|
|
68
|
-
async stop() {
|
|
69
|
-
if (!this.isRunning) {
|
|
70
|
-
console.log(chalk.yellow('⚠️ QUIC server is not running'));
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
try {
|
|
74
|
-
console.log(chalk.blue('🛑 Stopping QUIC server...'));
|
|
75
|
-
// Close all connections
|
|
76
|
-
for (const [clientId, connection] of this.connections.entries()) {
|
|
77
|
-
console.log(chalk.gray(` Closing connection: ${clientId}`));
|
|
78
|
-
// Close connection logic here
|
|
79
|
-
}
|
|
80
|
-
this.connections.clear();
|
|
81
|
-
this.rateLimitState.clear();
|
|
82
|
-
// Stop cleanup interval
|
|
83
|
-
if (this.cleanupInterval) {
|
|
84
|
-
clearInterval(this.cleanupInterval);
|
|
85
|
-
this.cleanupInterval = null;
|
|
86
|
-
}
|
|
87
|
-
// Close server
|
|
88
|
-
if (this.server) {
|
|
89
|
-
// await this.server.close();
|
|
90
|
-
this.server = null;
|
|
91
|
-
}
|
|
92
|
-
this.isRunning = false;
|
|
93
|
-
console.log(chalk.green('✓ QUIC server stopped successfully'));
|
|
94
|
-
}
|
|
95
|
-
catch (error) {
|
|
96
|
-
const err = error;
|
|
97
|
-
console.error(chalk.red('✗ Error stopping QUIC server:'), err.message);
|
|
98
|
-
throw new Error(`QUIC server stop failed: ${err.message}`);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Handle incoming client connection
|
|
103
|
-
*/
|
|
104
|
-
async handleConnection(clientId, address) {
|
|
105
|
-
// Check max connections
|
|
106
|
-
if (this.connections.size >= this.config.maxConnections) {
|
|
107
|
-
console.log(chalk.yellow(`⚠️ Max connections reached, rejecting ${clientId}`));
|
|
108
|
-
return false;
|
|
109
|
-
}
|
|
110
|
-
// Register connection
|
|
111
|
-
const connection = {
|
|
112
|
-
id: clientId,
|
|
113
|
-
address,
|
|
114
|
-
connectedAt: Date.now(),
|
|
115
|
-
requestCount: 0,
|
|
116
|
-
bytesReceived: 0,
|
|
117
|
-
lastRequestAt: 0,
|
|
118
|
-
};
|
|
119
|
-
this.connections.set(clientId, connection);
|
|
120
|
-
console.log(chalk.green(`✓ Client connected: ${clientId} from ${address}`));
|
|
121
|
-
console.log(chalk.gray(` Active connections: ${this.connections.size}`));
|
|
122
|
-
return true;
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Authenticate client request
|
|
126
|
-
*/
|
|
127
|
-
authenticate(clientId, authToken) {
|
|
128
|
-
if (!this.config.authToken) {
|
|
129
|
-
return true; // No auth required
|
|
130
|
-
}
|
|
131
|
-
const isValid = authToken === this.config.authToken;
|
|
132
|
-
if (!isValid) {
|
|
133
|
-
console.log(chalk.red(`✗ Authentication failed for client: ${clientId}`));
|
|
134
|
-
}
|
|
135
|
-
return isValid;
|
|
136
|
-
}
|
|
137
|
-
/**
|
|
138
|
-
* Check rate limits for client
|
|
139
|
-
*/
|
|
140
|
-
checkRateLimit(clientId, requestSize) {
|
|
141
|
-
const now = Date.now();
|
|
142
|
-
let state = this.rateLimitState.get(clientId);
|
|
143
|
-
if (!state || now - state.windowStart > 60000) {
|
|
144
|
-
// New window
|
|
145
|
-
state = {
|
|
146
|
-
requestCount: 0,
|
|
147
|
-
bytesTransferred: 0,
|
|
148
|
-
windowStart: now,
|
|
149
|
-
};
|
|
150
|
-
this.rateLimitState.set(clientId, state);
|
|
151
|
-
}
|
|
152
|
-
// Check limits
|
|
153
|
-
if (state.requestCount >= this.config.rateLimit.maxRequestsPerMinute) {
|
|
154
|
-
console.log(chalk.yellow(`⚠️ Rate limit exceeded (requests) for ${clientId}`));
|
|
155
|
-
return false;
|
|
156
|
-
}
|
|
157
|
-
if (state.bytesTransferred + requestSize > this.config.rateLimit.maxBytesPerMinute) {
|
|
158
|
-
console.log(chalk.yellow(`⚠️ Rate limit exceeded (bytes) for ${clientId}`));
|
|
159
|
-
return false;
|
|
160
|
-
}
|
|
161
|
-
// Update state
|
|
162
|
-
state.requestCount++;
|
|
163
|
-
state.bytesTransferred += requestSize;
|
|
164
|
-
return true;
|
|
165
|
-
}
|
|
166
|
-
/**
|
|
167
|
-
* Process sync request from client
|
|
168
|
-
*/
|
|
169
|
-
async processSyncRequest(clientId, request, authToken) {
|
|
170
|
-
try {
|
|
171
|
-
// Authenticate
|
|
172
|
-
if (!this.authenticate(clientId, authToken)) {
|
|
173
|
-
return {
|
|
174
|
-
success: false,
|
|
175
|
-
error: 'Authentication failed',
|
|
176
|
-
};
|
|
177
|
-
}
|
|
178
|
-
// Check rate limit
|
|
179
|
-
const requestSize = JSON.stringify(request).length;
|
|
180
|
-
if (!this.checkRateLimit(clientId, requestSize)) {
|
|
181
|
-
return {
|
|
182
|
-
success: false,
|
|
183
|
-
error: 'Rate limit exceeded',
|
|
184
|
-
};
|
|
185
|
-
}
|
|
186
|
-
// Update connection stats
|
|
187
|
-
const connection = this.connections.get(clientId);
|
|
188
|
-
if (connection) {
|
|
189
|
-
connection.requestCount++;
|
|
190
|
-
connection.bytesReceived += requestSize;
|
|
191
|
-
connection.lastRequestAt = Date.now();
|
|
192
|
-
}
|
|
193
|
-
console.log(chalk.blue(`📥 Processing sync request from ${clientId}`));
|
|
194
|
-
console.log(chalk.gray(` Type: ${request.type}`));
|
|
195
|
-
console.log(chalk.gray(` Since: ${request.since || 'full sync'}`));
|
|
196
|
-
// Process based on type
|
|
197
|
-
let data;
|
|
198
|
-
let count = 0;
|
|
199
|
-
switch (request.type) {
|
|
200
|
-
case 'episodes':
|
|
201
|
-
data = await this.syncEpisodes(request);
|
|
202
|
-
count = data.length;
|
|
203
|
-
break;
|
|
204
|
-
case 'skills':
|
|
205
|
-
data = await this.syncSkills(request);
|
|
206
|
-
count = data.length;
|
|
207
|
-
break;
|
|
208
|
-
case 'edges':
|
|
209
|
-
data = await this.syncEdges(request);
|
|
210
|
-
count = data.length;
|
|
211
|
-
break;
|
|
212
|
-
case 'full':
|
|
213
|
-
data = await this.syncFull(request);
|
|
214
|
-
count = data.episodes?.length + data.skills?.length + data.edges?.length || 0;
|
|
215
|
-
break;
|
|
216
|
-
default:
|
|
217
|
-
return {
|
|
218
|
-
success: false,
|
|
219
|
-
error: `Unknown sync type: ${request.type}`,
|
|
220
|
-
};
|
|
221
|
-
}
|
|
222
|
-
console.log(chalk.green(`✓ Sync completed: ${count} items sent`));
|
|
223
|
-
return {
|
|
224
|
-
success: true,
|
|
225
|
-
data,
|
|
226
|
-
count,
|
|
227
|
-
hasMore: false, // Could implement pagination here
|
|
228
|
-
};
|
|
229
|
-
}
|
|
230
|
-
catch (error) {
|
|
231
|
-
const err = error;
|
|
232
|
-
console.error(chalk.red('✗ Sync request failed:'), err.message);
|
|
233
|
-
return {
|
|
234
|
-
success: false,
|
|
235
|
-
error: err.message,
|
|
236
|
-
};
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
/**
|
|
240
|
-
* Sync episodes data
|
|
241
|
-
*/
|
|
242
|
-
async syncEpisodes(request) {
|
|
243
|
-
const { since, filters, batchSize = 1000 } = request;
|
|
244
|
-
let query = 'SELECT * FROM episodes WHERE 1=1';
|
|
245
|
-
const params = [];
|
|
246
|
-
if (since) {
|
|
247
|
-
query += ' AND ts > ?';
|
|
248
|
-
params.push(since);
|
|
249
|
-
}
|
|
250
|
-
// Apply filters
|
|
251
|
-
if (filters) {
|
|
252
|
-
if (filters.sessionId) {
|
|
253
|
-
query += ' AND session_id = ?';
|
|
254
|
-
params.push(filters.sessionId);
|
|
255
|
-
}
|
|
256
|
-
if (filters.success !== undefined) {
|
|
257
|
-
query += ' AND success = ?';
|
|
258
|
-
params.push(filters.success ? 1 : 0);
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
query += ` ORDER BY ts DESC LIMIT ${batchSize}`;
|
|
262
|
-
const stmt = this.db.prepare(query);
|
|
263
|
-
const rows = stmt.all(...params);
|
|
264
|
-
return rows.map((row) => ({
|
|
265
|
-
id: row.id,
|
|
266
|
-
ts: row.ts,
|
|
267
|
-
sessionId: row.session_id,
|
|
268
|
-
task: row.task,
|
|
269
|
-
input: row.input,
|
|
270
|
-
output: row.output,
|
|
271
|
-
critique: row.critique,
|
|
272
|
-
reward: row.reward,
|
|
273
|
-
success: row.success === 1,
|
|
274
|
-
latencyMs: row.latency_ms,
|
|
275
|
-
tokensUsed: row.tokens_used,
|
|
276
|
-
tags: row.tags ? JSON.parse(row.tags) : [],
|
|
277
|
-
metadata: row.metadata ? JSON.parse(row.metadata) : {},
|
|
278
|
-
}));
|
|
279
|
-
}
|
|
280
|
-
/**
|
|
281
|
-
* Sync skills data
|
|
282
|
-
*/
|
|
283
|
-
async syncSkills(request) {
|
|
284
|
-
const { since, batchSize = 1000 } = request;
|
|
285
|
-
let query = 'SELECT * FROM skills WHERE 1=1';
|
|
286
|
-
const params = [];
|
|
287
|
-
if (since) {
|
|
288
|
-
query += ' AND ts > ?';
|
|
289
|
-
params.push(since);
|
|
290
|
-
}
|
|
291
|
-
query += ` ORDER BY ts DESC LIMIT ${batchSize}`;
|
|
292
|
-
const stmt = this.db.prepare(query);
|
|
293
|
-
const rows = stmt.all(...params);
|
|
294
|
-
return rows.map((row) => ({
|
|
295
|
-
id: row.id,
|
|
296
|
-
ts: row.ts,
|
|
297
|
-
name: row.name,
|
|
298
|
-
description: row.description,
|
|
299
|
-
code: row.code,
|
|
300
|
-
successRate: row.success_rate,
|
|
301
|
-
usageCount: row.usage_count,
|
|
302
|
-
avgReward: row.avg_reward,
|
|
303
|
-
tags: row.tags ? JSON.parse(row.tags) : [],
|
|
304
|
-
metadata: row.metadata ? JSON.parse(row.metadata) : {},
|
|
305
|
-
}));
|
|
306
|
-
}
|
|
307
|
-
/**
|
|
308
|
-
* Sync edges (skill relationships)
|
|
309
|
-
*/
|
|
310
|
-
async syncEdges(request) {
|
|
311
|
-
const { since, batchSize = 1000 } = request;
|
|
312
|
-
let query = 'SELECT * FROM skill_edges WHERE 1=1';
|
|
313
|
-
const params = [];
|
|
314
|
-
if (since) {
|
|
315
|
-
query += ' AND ts > ?';
|
|
316
|
-
params.push(since);
|
|
317
|
-
}
|
|
318
|
-
query += ` ORDER BY ts DESC LIMIT ${batchSize}`;
|
|
319
|
-
const stmt = this.db.prepare(query);
|
|
320
|
-
const rows = stmt.all(...params);
|
|
321
|
-
return rows.map((row) => ({
|
|
322
|
-
id: row.id,
|
|
323
|
-
ts: row.ts,
|
|
324
|
-
fromSkillId: row.from_skill_id,
|
|
325
|
-
toSkillId: row.to_skill_id,
|
|
326
|
-
weight: row.weight,
|
|
327
|
-
coOccurrences: row.co_occurrences,
|
|
328
|
-
}));
|
|
329
|
-
}
|
|
330
|
-
/**
|
|
331
|
-
* Full sync of all data
|
|
332
|
-
*/
|
|
333
|
-
async syncFull(request) {
|
|
334
|
-
const [episodes, skills, edges] = await Promise.all([
|
|
335
|
-
this.syncEpisodes(request),
|
|
336
|
-
this.syncSkills(request),
|
|
337
|
-
this.syncEdges(request),
|
|
338
|
-
]);
|
|
339
|
-
return {
|
|
340
|
-
episodes,
|
|
341
|
-
skills,
|
|
342
|
-
edges,
|
|
343
|
-
};
|
|
344
|
-
}
|
|
345
|
-
/**
|
|
346
|
-
* Start cleanup interval for stale connections
|
|
347
|
-
*/
|
|
348
|
-
startCleanupInterval() {
|
|
349
|
-
this.cleanupInterval = setInterval(() => {
|
|
350
|
-
const now = Date.now();
|
|
351
|
-
const staleThreshold = 5 * 60 * 1000; // 5 minutes
|
|
352
|
-
for (const [clientId, connection] of this.connections.entries()) {
|
|
353
|
-
if (now - connection.lastRequestAt > staleThreshold && connection.requestCount > 0) {
|
|
354
|
-
console.log(chalk.gray(`🧹 Removing stale connection: ${clientId}`));
|
|
355
|
-
this.connections.delete(clientId);
|
|
356
|
-
this.rateLimitState.delete(clientId);
|
|
357
|
-
}
|
|
358
|
-
}
|
|
359
|
-
}, 60000); // Run every minute
|
|
360
|
-
}
|
|
361
|
-
/**
|
|
362
|
-
* Get server status
|
|
363
|
-
*/
|
|
364
|
-
getStatus() {
|
|
365
|
-
let totalRequests = 0;
|
|
366
|
-
for (const connection of this.connections.values()) {
|
|
367
|
-
totalRequests += connection.requestCount;
|
|
368
|
-
}
|
|
369
|
-
return {
|
|
370
|
-
isRunning: this.isRunning,
|
|
371
|
-
activeConnections: this.connections.size,
|
|
372
|
-
totalRequests,
|
|
373
|
-
config: this.config,
|
|
374
|
-
};
|
|
375
|
-
}
|
|
376
|
-
/**
|
|
377
|
-
* Get connection info
|
|
378
|
-
*/
|
|
379
|
-
getConnections() {
|
|
380
|
-
return Array.from(this.connections.values());
|
|
381
|
-
}
|
|
382
|
-
}
|
|
383
|
-
//# sourceMappingURL=QUICServer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"QUICServer.js","sourceRoot":"","sources":["../../src/controllers/QUICServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,196 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ReasoningBank Controller - Pattern Storage and Retrieval
|
|
3
|
-
*
|
|
4
|
-
* Manages reasoning patterns with embeddings for semantic similarity search.
|
|
5
|
-
* Integrates with ReasoningBank WASM for high-performance pattern matching.
|
|
6
|
-
*
|
|
7
|
-
* Pattern Structure:
|
|
8
|
-
* - taskType: Type of task (e.g., "code_review", "data_analysis")
|
|
9
|
-
* - approach: Description of the reasoning approach used
|
|
10
|
-
* - successRate: Success rate of this pattern (0-1)
|
|
11
|
-
* - embedding: Vector embedding of the pattern for similarity search
|
|
12
|
-
* - metadata: Additional contextual information
|
|
13
|
-
*
|
|
14
|
-
* AgentDB v2 Migration:
|
|
15
|
-
* - Uses VectorBackend abstraction for 8x faster search (RuVector/hnswlib)
|
|
16
|
-
* - Optional GNN enhancement via LearningBackend
|
|
17
|
-
* - 100% backward compatible with v1 API
|
|
18
|
-
* - New features: useGNN option, recordOutcome for learning
|
|
19
|
-
*/
|
|
20
|
-
type Database = any;
|
|
21
|
-
import { EmbeddingService } from './EmbeddingService.js';
|
|
22
|
-
import type { VectorBackend } from '../backends/VectorBackend.js';
|
|
23
|
-
export interface ReasoningPattern {
|
|
24
|
-
id?: number;
|
|
25
|
-
taskType: string;
|
|
26
|
-
approach: string;
|
|
27
|
-
successRate: number;
|
|
28
|
-
embedding?: Float32Array;
|
|
29
|
-
uses?: number;
|
|
30
|
-
avgReward?: number;
|
|
31
|
-
tags?: string[];
|
|
32
|
-
metadata?: Record<string, any>;
|
|
33
|
-
createdAt?: number;
|
|
34
|
-
similarity?: number;
|
|
35
|
-
}
|
|
36
|
-
export interface PatternSearchQuery {
|
|
37
|
-
/** v1 API: Task string (will be embedded automatically) */
|
|
38
|
-
task?: string;
|
|
39
|
-
/** v2 API: Pre-computed embedding */
|
|
40
|
-
taskEmbedding?: Float32Array;
|
|
41
|
-
k?: number;
|
|
42
|
-
threshold?: number;
|
|
43
|
-
/** Enable GNN-based query enhancement (requires LearningBackend) */
|
|
44
|
-
useGNN?: boolean;
|
|
45
|
-
filters?: {
|
|
46
|
-
taskType?: string;
|
|
47
|
-
minSuccessRate?: number;
|
|
48
|
-
tags?: string[];
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
export interface PatternStats {
|
|
52
|
-
totalPatterns: number;
|
|
53
|
-
avgSuccessRate: number;
|
|
54
|
-
avgUses: number;
|
|
55
|
-
topTaskTypes: Array<{
|
|
56
|
-
taskType: string;
|
|
57
|
-
count: number;
|
|
58
|
-
}>;
|
|
59
|
-
recentPatterns: number;
|
|
60
|
-
highPerformingPatterns: number;
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Optional GNN Learning Backend for query enhancement
|
|
64
|
-
*/
|
|
65
|
-
export interface LearningBackend {
|
|
66
|
-
/**
|
|
67
|
-
* Enhance query embedding using GNN and neighbor context
|
|
68
|
-
*/
|
|
69
|
-
enhance(query: Float32Array, neighbors: Float32Array[], weights: number[]): Float32Array;
|
|
70
|
-
/**
|
|
71
|
-
* Add training sample for future learning
|
|
72
|
-
*/
|
|
73
|
-
addSample(embedding: Float32Array, success: boolean): void;
|
|
74
|
-
/**
|
|
75
|
-
* Train the GNN model
|
|
76
|
-
*/
|
|
77
|
-
train(options?: {
|
|
78
|
-
epochs?: number;
|
|
79
|
-
batchSize?: number;
|
|
80
|
-
}): Promise<{
|
|
81
|
-
epochs: number;
|
|
82
|
-
finalLoss: number;
|
|
83
|
-
}>;
|
|
84
|
-
}
|
|
85
|
-
export declare class ReasoningBank {
|
|
86
|
-
private db;
|
|
87
|
-
private embedder;
|
|
88
|
-
private cache;
|
|
89
|
-
private vectorBackend?;
|
|
90
|
-
private learningBackend?;
|
|
91
|
-
private idMapping;
|
|
92
|
-
private nextVectorId;
|
|
93
|
-
/**
|
|
94
|
-
* Constructor supports both legacy (v1) and new (v2) modes
|
|
95
|
-
*
|
|
96
|
-
* Legacy mode (v1 - backward compatible):
|
|
97
|
-
* new ReasoningBank(db, embedder)
|
|
98
|
-
*
|
|
99
|
-
* New mode (v2 - with VectorBackend):
|
|
100
|
-
* new ReasoningBank(db, embedder, vectorBackend, learningBackend?)
|
|
101
|
-
*/
|
|
102
|
-
constructor(db: Database, embedder: EmbeddingService, vectorBackend?: VectorBackend, learningBackend?: LearningBackend);
|
|
103
|
-
/**
|
|
104
|
-
* Initialize reasoning patterns schema
|
|
105
|
-
*/
|
|
106
|
-
private initializeSchema;
|
|
107
|
-
/**
|
|
108
|
-
* Store a reasoning pattern with embedding
|
|
109
|
-
*
|
|
110
|
-
* v1 (legacy): Stores in SQLite with pattern_embeddings table
|
|
111
|
-
* v2 (VectorBackend): Stores metadata in SQLite, vectors in VectorBackend
|
|
112
|
-
*/
|
|
113
|
-
storePattern(pattern: ReasoningPattern): Promise<number>;
|
|
114
|
-
/**
|
|
115
|
-
* Store pattern embedding
|
|
116
|
-
*/
|
|
117
|
-
private storePatternEmbedding;
|
|
118
|
-
/**
|
|
119
|
-
* Search patterns by semantic similarity
|
|
120
|
-
*
|
|
121
|
-
* v1 (legacy): Uses SQLite with cosine similarity computation
|
|
122
|
-
* v2 (VectorBackend): Uses high-performance vector search (8x faster)
|
|
123
|
-
* v2 + GNN: Optionally enhances query with learned patterns
|
|
124
|
-
*/
|
|
125
|
-
searchPatterns(query: PatternSearchQuery): Promise<ReasoningPattern[]>;
|
|
126
|
-
/**
|
|
127
|
-
* v2: Search using VectorBackend with optional GNN enhancement
|
|
128
|
-
*/
|
|
129
|
-
private searchPatternsV2;
|
|
130
|
-
/**
|
|
131
|
-
* v1: Legacy search using SQLite (backward compatible)
|
|
132
|
-
*/
|
|
133
|
-
private searchPatternsLegacy;
|
|
134
|
-
/**
|
|
135
|
-
* Hydrate search results with metadata from SQLite
|
|
136
|
-
*/
|
|
137
|
-
private hydratePatterns;
|
|
138
|
-
/**
|
|
139
|
-
* Get embeddings for vector IDs (for GNN)
|
|
140
|
-
*/
|
|
141
|
-
private getEmbeddingsForVectorIds;
|
|
142
|
-
/**
|
|
143
|
-
* Get pattern statistics
|
|
144
|
-
*/
|
|
145
|
-
getPatternStats(): PatternStats;
|
|
146
|
-
/**
|
|
147
|
-
* Update pattern statistics after use
|
|
148
|
-
*/
|
|
149
|
-
updatePatternStats(patternId: number, success: boolean, reward: number): void;
|
|
150
|
-
/**
|
|
151
|
-
* Record pattern outcome for GNN learning (v2 feature)
|
|
152
|
-
*
|
|
153
|
-
* Updates pattern stats and adds training sample to LearningBackend
|
|
154
|
-
* for future GNN model improvements.
|
|
155
|
-
*
|
|
156
|
-
* @param patternId - Pattern ID to update
|
|
157
|
-
* @param success - Whether the pattern was successful
|
|
158
|
-
* @param reward - Optional reward value (default: 1 for success, 0 for failure)
|
|
159
|
-
*/
|
|
160
|
-
recordOutcome(patternId: number, success: boolean, reward?: number): Promise<void>;
|
|
161
|
-
/**
|
|
162
|
-
* Train GNN model on collected samples (v2 feature)
|
|
163
|
-
*
|
|
164
|
-
* Trains the learning backend using accumulated pattern outcomes.
|
|
165
|
-
* Requires LearningBackend to be configured.
|
|
166
|
-
*
|
|
167
|
-
* @param options - Training options (epochs, batchSize)
|
|
168
|
-
* @returns Training results with epochs and final loss
|
|
169
|
-
* @throws Error if LearningBackend not available
|
|
170
|
-
*/
|
|
171
|
-
trainGNN(options?: {
|
|
172
|
-
epochs?: number;
|
|
173
|
-
batchSize?: number;
|
|
174
|
-
}): Promise<{
|
|
175
|
-
epochs: number;
|
|
176
|
-
finalLoss: number;
|
|
177
|
-
}>;
|
|
178
|
-
/**
|
|
179
|
-
* Get pattern by ID
|
|
180
|
-
*/
|
|
181
|
-
getPattern(patternId: number): ReasoningPattern | null;
|
|
182
|
-
/**
|
|
183
|
-
* Delete pattern by ID
|
|
184
|
-
*/
|
|
185
|
-
deletePattern(patternId: number): boolean;
|
|
186
|
-
/**
|
|
187
|
-
* Clear query cache
|
|
188
|
-
*/
|
|
189
|
-
clearCache(): void;
|
|
190
|
-
/**
|
|
191
|
-
* Calculate cosine similarity between two vectors
|
|
192
|
-
*/
|
|
193
|
-
private cosineSimilarity;
|
|
194
|
-
}
|
|
195
|
-
export {};
|
|
196
|
-
//# sourceMappingURL=ReasoningBank.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ReasoningBank.d.ts","sourceRoot":"","sources":["../../src/controllers/ReasoningBank.ts"],"names":[],"mappings":"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"}
|