agentdb 2.0.0-alpha.2 → 2.0.0-alpha.2.1
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/package.json +3 -3
- package/src/cli/agentdb-cli.ts +78 -0
- 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,114 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Nightly Learner - Automated Causal Discovery and Consolidation
|
|
3
|
-
*
|
|
4
|
-
* Runs as a background job to:
|
|
5
|
-
* 1. Discover new causal edges from episode patterns
|
|
6
|
-
* 2. Run A/B experiments on promising hypotheses
|
|
7
|
-
* 3. Calculate uplift for completed experiments
|
|
8
|
-
* 4. Prune low-confidence edges
|
|
9
|
-
* 5. Update rerank weights based on performance
|
|
10
|
-
*
|
|
11
|
-
* Based on doubly robust learner:
|
|
12
|
-
* τ̂(x) = μ1(x) − μ0(x) + [a*(y−μ1(x)) / e(x)] − [(1−a)*(y−μ0(x)) / (1−e(x))]
|
|
13
|
-
*/
|
|
14
|
-
type Database = any;
|
|
15
|
-
import { CausalEdge } from './CausalMemoryGraph.js';
|
|
16
|
-
import { EmbeddingService } from './EmbeddingService.js';
|
|
17
|
-
export interface LearnerConfig {
|
|
18
|
-
minSimilarity: number;
|
|
19
|
-
minSampleSize: number;
|
|
20
|
-
confidenceThreshold: number;
|
|
21
|
-
upliftThreshold: number;
|
|
22
|
-
pruneOldEdges: boolean;
|
|
23
|
-
edgeMaxAgeDays: number;
|
|
24
|
-
autoExperiments: boolean;
|
|
25
|
-
experimentBudget: number;
|
|
26
|
-
}
|
|
27
|
-
export interface LearnerReport {
|
|
28
|
-
timestamp: number;
|
|
29
|
-
executionTimeMs: number;
|
|
30
|
-
edgesDiscovered: number;
|
|
31
|
-
edgesPruned: number;
|
|
32
|
-
experimentsCompleted: number;
|
|
33
|
-
experimentsCreated: number;
|
|
34
|
-
avgUplift: number;
|
|
35
|
-
avgConfidence: number;
|
|
36
|
-
recommendations: string[];
|
|
37
|
-
}
|
|
38
|
-
export declare class NightlyLearner {
|
|
39
|
-
private config;
|
|
40
|
-
private db;
|
|
41
|
-
private causalGraph;
|
|
42
|
-
private reflexion;
|
|
43
|
-
private skillLibrary;
|
|
44
|
-
constructor(db: Database, embedder: EmbeddingService, config?: LearnerConfig);
|
|
45
|
-
/**
|
|
46
|
-
* Main learning job - runs all discovery and consolidation tasks
|
|
47
|
-
*/
|
|
48
|
-
run(): Promise<LearnerReport>;
|
|
49
|
-
/**
|
|
50
|
-
* Discover causal edges using doubly robust learner
|
|
51
|
-
*
|
|
52
|
-
* τ̂(x) = μ1(x) − μ0(x) + [a*(y−μ1(x)) / e(x)] − [(1−a)*(y−μ0(x)) / (1−e(x))]
|
|
53
|
-
*
|
|
54
|
-
* Where:
|
|
55
|
-
* - μ1(x) = outcome model for treatment
|
|
56
|
-
* - μ0(x) = outcome model for control
|
|
57
|
-
* - e(x) = propensity score (probability of treatment)
|
|
58
|
-
* - a = treatment indicator
|
|
59
|
-
* - y = observed outcome
|
|
60
|
-
*/
|
|
61
|
-
discover(config: {
|
|
62
|
-
minAttempts?: number;
|
|
63
|
-
minSuccessRate?: number;
|
|
64
|
-
minConfidence?: number;
|
|
65
|
-
dryRun?: boolean;
|
|
66
|
-
}): Promise<CausalEdge[]>;
|
|
67
|
-
private discoverCausalEdges;
|
|
68
|
-
/**
|
|
69
|
-
* Calculate propensity score e(x) - probability of treatment given context
|
|
70
|
-
*/
|
|
71
|
-
private calculatePropensity;
|
|
72
|
-
/**
|
|
73
|
-
* Calculate outcome model μ(x) - expected outcome given treatment status
|
|
74
|
-
*/
|
|
75
|
-
private calculateOutcomeModel;
|
|
76
|
-
/**
|
|
77
|
-
* Get sample size for a task type
|
|
78
|
-
*/
|
|
79
|
-
private getSampleSize;
|
|
80
|
-
/**
|
|
81
|
-
* Calculate confidence based on sample size and effect size
|
|
82
|
-
*/
|
|
83
|
-
private calculateConfidence;
|
|
84
|
-
/**
|
|
85
|
-
* Complete running A/B experiments and calculate uplift
|
|
86
|
-
*/
|
|
87
|
-
private completeExperiments;
|
|
88
|
-
/**
|
|
89
|
-
* Create new A/B experiments for promising hypotheses
|
|
90
|
-
*/
|
|
91
|
-
private createExperiments;
|
|
92
|
-
/**
|
|
93
|
-
* Prune old or low-confidence edges
|
|
94
|
-
*/
|
|
95
|
-
private pruneEdges;
|
|
96
|
-
/**
|
|
97
|
-
* Calculate overall statistics
|
|
98
|
-
*/
|
|
99
|
-
private calculateStats;
|
|
100
|
-
/**
|
|
101
|
-
* Generate recommendations based on learning results
|
|
102
|
-
*/
|
|
103
|
-
private generateRecommendations;
|
|
104
|
-
/**
|
|
105
|
-
* Print report to console
|
|
106
|
-
*/
|
|
107
|
-
private printReport;
|
|
108
|
-
/**
|
|
109
|
-
* Update learner configuration
|
|
110
|
-
*/
|
|
111
|
-
updateConfig(config: Partial<LearnerConfig>): void;
|
|
112
|
-
}
|
|
113
|
-
export {};
|
|
114
|
-
//# sourceMappingURL=NightlyLearner.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NightlyLearner.d.ts","sourceRoot":"","sources":["../../src/controllers/NightlyLearner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,KAAK,QAAQ,GAAG,GAAG,CAAC;AACpB,OAAO,EAAqB,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,qBAAa,cAAc;IASvB,OAAO,CAAC,MAAM;IARhB,OAAO,CAAC,EAAE,CAAW;IACrB,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,YAAY,CAAe;gBAGjC,EAAE,EAAE,QAAQ,EACZ,QAAQ,EAAE,gBAAgB,EAClB,MAAM,GAAE,aASf;IAQH;;OAEG;IACG,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC;IA6DnC;;;;;;;;;;;OAWG;IACG,QAAQ,CAAC,MAAM,EAAE;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;YAcX,mBAAmB;IA+EjC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAkB3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAgB7B;;OAEG;IACH,OAAO,CAAC,aAAa;IAUrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAU3B;;OAEG;YACW,mBAAmB;IAuBjC;;OAEG;YACW,iBAAiB;IAsD/B;;OAEG;YACW,UAAU;IAaxB;;OAEG;IACH,OAAO,CAAC,cAAc;IAetB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA0B/B;;OAEG;IACH,OAAO,CAAC,WAAW;IAwBnB;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;CAGnD"}
|
|
@@ -1,394 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Nightly Learner - Automated Causal Discovery and Consolidation
|
|
3
|
-
*
|
|
4
|
-
* Runs as a background job to:
|
|
5
|
-
* 1. Discover new causal edges from episode patterns
|
|
6
|
-
* 2. Run A/B experiments on promising hypotheses
|
|
7
|
-
* 3. Calculate uplift for completed experiments
|
|
8
|
-
* 4. Prune low-confidence edges
|
|
9
|
-
* 5. Update rerank weights based on performance
|
|
10
|
-
*
|
|
11
|
-
* Based on doubly robust learner:
|
|
12
|
-
* τ̂(x) = μ1(x) − μ0(x) + [a*(y−μ1(x)) / e(x)] − [(1−a)*(y−μ0(x)) / (1−e(x))]
|
|
13
|
-
*/
|
|
14
|
-
import { CausalMemoryGraph } from './CausalMemoryGraph.js';
|
|
15
|
-
import { ReflexionMemory } from './ReflexionMemory.js';
|
|
16
|
-
import { SkillLibrary } from './SkillLibrary.js';
|
|
17
|
-
export class NightlyLearner {
|
|
18
|
-
config;
|
|
19
|
-
db;
|
|
20
|
-
causalGraph;
|
|
21
|
-
reflexion;
|
|
22
|
-
skillLibrary;
|
|
23
|
-
constructor(db, embedder, config = {
|
|
24
|
-
minSimilarity: 0.7,
|
|
25
|
-
minSampleSize: 30,
|
|
26
|
-
confidenceThreshold: 0.6,
|
|
27
|
-
upliftThreshold: 0.05,
|
|
28
|
-
pruneOldEdges: true,
|
|
29
|
-
edgeMaxAgeDays: 90,
|
|
30
|
-
autoExperiments: true,
|
|
31
|
-
experimentBudget: 10
|
|
32
|
-
}) {
|
|
33
|
-
this.config = config;
|
|
34
|
-
this.db = db;
|
|
35
|
-
this.causalGraph = new CausalMemoryGraph(db);
|
|
36
|
-
this.reflexion = new ReflexionMemory(db, embedder);
|
|
37
|
-
this.skillLibrary = new SkillLibrary(db, embedder);
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Main learning job - runs all discovery and consolidation tasks
|
|
41
|
-
*/
|
|
42
|
-
async run() {
|
|
43
|
-
console.log('\n🌙 Nightly Learner Starting...\n');
|
|
44
|
-
const startTime = Date.now();
|
|
45
|
-
const report = {
|
|
46
|
-
timestamp: startTime,
|
|
47
|
-
executionTimeMs: 0,
|
|
48
|
-
edgesDiscovered: 0,
|
|
49
|
-
edgesPruned: 0,
|
|
50
|
-
experimentsCompleted: 0,
|
|
51
|
-
experimentsCreated: 0,
|
|
52
|
-
avgUplift: 0,
|
|
53
|
-
avgConfidence: 0,
|
|
54
|
-
recommendations: []
|
|
55
|
-
};
|
|
56
|
-
try {
|
|
57
|
-
// Step 1: Discover new causal edges
|
|
58
|
-
console.log('📊 Discovering causal edges from episode patterns...');
|
|
59
|
-
report.edgesDiscovered = await this.discoverCausalEdges();
|
|
60
|
-
console.log(` ✓ Discovered ${report.edgesDiscovered} new edges\n`);
|
|
61
|
-
// Step 2: Complete running experiments
|
|
62
|
-
console.log('🧪 Completing A/B experiments...');
|
|
63
|
-
report.experimentsCompleted = await this.completeExperiments();
|
|
64
|
-
console.log(` ✓ Completed ${report.experimentsCompleted} experiments\n`);
|
|
65
|
-
// Step 3: Create new experiments (if enabled)
|
|
66
|
-
if (this.config.autoExperiments) {
|
|
67
|
-
console.log('🔬 Creating new A/B experiments...');
|
|
68
|
-
report.experimentsCreated = await this.createExperiments();
|
|
69
|
-
console.log(` ✓ Created ${report.experimentsCreated} new experiments\n`);
|
|
70
|
-
}
|
|
71
|
-
// Step 4: Prune low-confidence edges
|
|
72
|
-
if (this.config.pruneOldEdges) {
|
|
73
|
-
console.log('🧹 Pruning low-confidence edges...');
|
|
74
|
-
report.edgesPruned = await this.pruneEdges();
|
|
75
|
-
console.log(` ✓ Pruned ${report.edgesPruned} edges\n`);
|
|
76
|
-
}
|
|
77
|
-
// Step 5: Calculate statistics
|
|
78
|
-
const stats = this.calculateStats();
|
|
79
|
-
report.avgUplift = stats.avgUplift;
|
|
80
|
-
report.avgConfidence = stats.avgConfidence;
|
|
81
|
-
// Step 6: Generate recommendations
|
|
82
|
-
report.recommendations = this.generateRecommendations(report);
|
|
83
|
-
report.executionTimeMs = Date.now() - startTime;
|
|
84
|
-
console.log('✅ Nightly Learner Completed\n');
|
|
85
|
-
this.printReport(report);
|
|
86
|
-
return report;
|
|
87
|
-
}
|
|
88
|
-
catch (error) {
|
|
89
|
-
console.error('❌ Nightly Learner Failed:', error);
|
|
90
|
-
throw error;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Discover causal edges using doubly robust learner
|
|
95
|
-
*
|
|
96
|
-
* τ̂(x) = μ1(x) − μ0(x) + [a*(y−μ1(x)) / e(x)] − [(1−a)*(y−μ0(x)) / (1−e(x))]
|
|
97
|
-
*
|
|
98
|
-
* Where:
|
|
99
|
-
* - μ1(x) = outcome model for treatment
|
|
100
|
-
* - μ0(x) = outcome model for control
|
|
101
|
-
* - e(x) = propensity score (probability of treatment)
|
|
102
|
-
* - a = treatment indicator
|
|
103
|
-
* - y = observed outcome
|
|
104
|
-
*/
|
|
105
|
-
async discover(config) {
|
|
106
|
-
const edges = [];
|
|
107
|
-
const count = await this.discoverCausalEdges();
|
|
108
|
-
// If dryRun, return empty array since we didn't actually create edges
|
|
109
|
-
if (config.dryRun) {
|
|
110
|
-
return edges;
|
|
111
|
-
}
|
|
112
|
-
// Return discovered edges (for non-dry runs)
|
|
113
|
-
// Note: In a real implementation, we'd track and return the actual edges created
|
|
114
|
-
return edges;
|
|
115
|
-
}
|
|
116
|
-
async discoverCausalEdges() {
|
|
117
|
-
let discovered = 0;
|
|
118
|
-
// Find episode pairs with high similarity and temporal sequence
|
|
119
|
-
const candidatePairs = this.db.prepare(`
|
|
120
|
-
SELECT
|
|
121
|
-
e1.id as from_id,
|
|
122
|
-
e1.task as from_task,
|
|
123
|
-
e1.reward as from_reward,
|
|
124
|
-
e2.id as to_id,
|
|
125
|
-
e2.task as to_task,
|
|
126
|
-
e2.reward as to_reward,
|
|
127
|
-
e2.ts - e1.ts as time_diff
|
|
128
|
-
FROM episodes e1
|
|
129
|
-
JOIN episodes e2 ON e1.session_id = e2.session_id
|
|
130
|
-
WHERE e1.id != e2.id
|
|
131
|
-
AND e2.ts > e1.ts
|
|
132
|
-
AND e2.ts - e1.ts < 3600 -- Within 1 hour
|
|
133
|
-
ORDER BY e1.id, e2.ts
|
|
134
|
-
LIMIT 1000
|
|
135
|
-
`).all();
|
|
136
|
-
// Better-sqlite3 best practice: Prepare statements OUTSIDE loops for better performance
|
|
137
|
-
const checkExistingStmt = this.db.prepare(`
|
|
138
|
-
SELECT id FROM causal_edges
|
|
139
|
-
WHERE from_memory_id = ? AND to_memory_id = ?
|
|
140
|
-
`);
|
|
141
|
-
for (const pair of candidatePairs) {
|
|
142
|
-
// Check if edge already exists
|
|
143
|
-
const existing = checkExistingStmt.get(pair.from_id, pair.to_id);
|
|
144
|
-
if (existing)
|
|
145
|
-
continue;
|
|
146
|
-
// Calculate propensity score e(x) - probability of treatment
|
|
147
|
-
// Simplified: use frequency of from_task in session
|
|
148
|
-
const propensity = this.calculatePropensity(pair.from_id);
|
|
149
|
-
// Calculate outcome models μ1(x) and μ0(x)
|
|
150
|
-
const mu1 = this.calculateOutcomeModel(pair.from_task, true); // With treatment
|
|
151
|
-
const mu0 = this.calculateOutcomeModel(pair.from_task, false); // Without treatment
|
|
152
|
-
// Calculate doubly robust estimator
|
|
153
|
-
const a = 1; // This is a treated observation
|
|
154
|
-
const y = pair.to_reward;
|
|
155
|
-
const doublyRobustEstimate = (mu1 - mu0) + (a * (y - mu1) / propensity);
|
|
156
|
-
// Calculate confidence based on sample size and variance
|
|
157
|
-
const sampleSize = this.getSampleSize(pair.from_task);
|
|
158
|
-
const confidence = this.calculateConfidence(sampleSize, doublyRobustEstimate);
|
|
159
|
-
// Only add if meets thresholds
|
|
160
|
-
if (Math.abs(doublyRobustEstimate) >= this.config.upliftThreshold && confidence >= this.config.confidenceThreshold) {
|
|
161
|
-
const edge = {
|
|
162
|
-
fromMemoryId: pair.from_id,
|
|
163
|
-
fromMemoryType: 'episode',
|
|
164
|
-
toMemoryId: pair.to_id,
|
|
165
|
-
toMemoryType: 'episode',
|
|
166
|
-
similarity: 0.8, // Simplified - would use embedding similarity in production
|
|
167
|
-
uplift: doublyRobustEstimate,
|
|
168
|
-
confidence,
|
|
169
|
-
sampleSize,
|
|
170
|
-
mechanism: `${pair.from_task} → ${pair.to_task} (doubly robust)`,
|
|
171
|
-
metadata: {
|
|
172
|
-
propensity,
|
|
173
|
-
mu1,
|
|
174
|
-
mu0,
|
|
175
|
-
discoveredAt: Date.now()
|
|
176
|
-
}
|
|
177
|
-
};
|
|
178
|
-
this.causalGraph.addCausalEdge(edge);
|
|
179
|
-
discovered++;
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
return discovered;
|
|
183
|
-
}
|
|
184
|
-
/**
|
|
185
|
-
* Calculate propensity score e(x) - probability of treatment given context
|
|
186
|
-
*/
|
|
187
|
-
calculatePropensity(episodeId) {
|
|
188
|
-
const episode = this.db.prepare('SELECT task, session_id FROM episodes WHERE id = ?').get(episodeId);
|
|
189
|
-
// Count occurrences of this task type in session
|
|
190
|
-
const counts = this.db.prepare(`
|
|
191
|
-
SELECT
|
|
192
|
-
COUNT(*) as total,
|
|
193
|
-
SUM(CASE WHEN task = ? THEN 1 ELSE 0 END) as task_count
|
|
194
|
-
FROM episodes
|
|
195
|
-
WHERE session_id = ?
|
|
196
|
-
`).get(episode.task, episode.session_id);
|
|
197
|
-
const propensity = counts.task_count / Math.max(counts.total, 1);
|
|
198
|
-
// Clip to avoid division by zero
|
|
199
|
-
return Math.max(0.01, Math.min(0.99, propensity));
|
|
200
|
-
}
|
|
201
|
-
/**
|
|
202
|
-
* Calculate outcome model μ(x) - expected outcome given treatment status
|
|
203
|
-
*/
|
|
204
|
-
calculateOutcomeModel(task, treated) {
|
|
205
|
-
// Get average reward for episodes with/without this task in their history
|
|
206
|
-
const avgReward = this.db.prepare(`
|
|
207
|
-
SELECT AVG(reward) as avg_reward
|
|
208
|
-
FROM episodes
|
|
209
|
-
WHERE ${treated ? '' : 'NOT'} EXISTS (
|
|
210
|
-
SELECT 1 FROM episodes e2
|
|
211
|
-
WHERE e2.session_id = episodes.session_id
|
|
212
|
-
AND e2.task = ?
|
|
213
|
-
AND e2.ts < episodes.ts
|
|
214
|
-
)
|
|
215
|
-
`).get(task);
|
|
216
|
-
return avgReward?.avg_reward || 0.5;
|
|
217
|
-
}
|
|
218
|
-
/**
|
|
219
|
-
* Get sample size for a task type
|
|
220
|
-
*/
|
|
221
|
-
getSampleSize(task) {
|
|
222
|
-
const count = this.db.prepare(`
|
|
223
|
-
SELECT COUNT(*) as count
|
|
224
|
-
FROM episodes
|
|
225
|
-
WHERE task = ?
|
|
226
|
-
`).get(task);
|
|
227
|
-
return count.count;
|
|
228
|
-
}
|
|
229
|
-
/**
|
|
230
|
-
* Calculate confidence based on sample size and effect size
|
|
231
|
-
*/
|
|
232
|
-
calculateConfidence(sampleSize, uplift) {
|
|
233
|
-
// Simplified confidence calculation
|
|
234
|
-
// In production, use proper statistical methods (bootstrap, etc.)
|
|
235
|
-
const sampleFactor = Math.min(sampleSize / 100, 1.0); // Max at 100 samples
|
|
236
|
-
const effectSizeFactor = Math.min(Math.abs(uplift) / 0.5, 1.0); // Max at 0.5 uplift
|
|
237
|
-
return sampleFactor * effectSizeFactor;
|
|
238
|
-
}
|
|
239
|
-
/**
|
|
240
|
-
* Complete running A/B experiments and calculate uplift
|
|
241
|
-
*/
|
|
242
|
-
async completeExperiments() {
|
|
243
|
-
// Better-sqlite3 best practice: Prepare statements OUTSIDE loops for better performance
|
|
244
|
-
const runningExperiments = this.db.prepare(`
|
|
245
|
-
SELECT id, start_time, sample_size
|
|
246
|
-
FROM causal_experiments
|
|
247
|
-
WHERE status = 'running'
|
|
248
|
-
AND sample_size >= ?
|
|
249
|
-
`).all(this.config.minSampleSize);
|
|
250
|
-
let completed = 0;
|
|
251
|
-
for (const exp of runningExperiments) {
|
|
252
|
-
try {
|
|
253
|
-
this.causalGraph.calculateUplift(exp.id);
|
|
254
|
-
completed++;
|
|
255
|
-
}
|
|
256
|
-
catch (error) {
|
|
257
|
-
console.error(` ⚠ Failed to calculate uplift for experiment ${exp.id}:`, error);
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
return completed;
|
|
261
|
-
}
|
|
262
|
-
/**
|
|
263
|
-
* Create new A/B experiments for promising hypotheses
|
|
264
|
-
*/
|
|
265
|
-
async createExperiments() {
|
|
266
|
-
const currentExperiments = this.db.prepare(`
|
|
267
|
-
SELECT COUNT(*) as count
|
|
268
|
-
FROM causal_experiments
|
|
269
|
-
WHERE status = 'running'
|
|
270
|
-
`).get();
|
|
271
|
-
const available = this.config.experimentBudget - currentExperiments.count;
|
|
272
|
-
if (available <= 0) {
|
|
273
|
-
return 0;
|
|
274
|
-
}
|
|
275
|
-
// Find promising task pairs that don't have experiments yet
|
|
276
|
-
const candidates = this.db.prepare(`
|
|
277
|
-
SELECT DISTINCT
|
|
278
|
-
e1.task as treatment_task,
|
|
279
|
-
e1.id as treatment_id,
|
|
280
|
-
COUNT(e2.id) as potential_outcomes
|
|
281
|
-
FROM episodes e1
|
|
282
|
-
JOIN episodes e2 ON e1.session_id = e2.session_id
|
|
283
|
-
WHERE e2.ts > e1.ts
|
|
284
|
-
AND NOT EXISTS (
|
|
285
|
-
SELECT 1 FROM causal_experiments
|
|
286
|
-
WHERE treatment_id = e1.id
|
|
287
|
-
)
|
|
288
|
-
GROUP BY e1.task, e1.id
|
|
289
|
-
HAVING COUNT(e2.id) >= ?
|
|
290
|
-
ORDER BY COUNT(e2.id) DESC
|
|
291
|
-
LIMIT ?
|
|
292
|
-
`).all(this.config.minSampleSize, available);
|
|
293
|
-
let created = 0;
|
|
294
|
-
for (const candidate of candidates) {
|
|
295
|
-
const expId = this.causalGraph.createExperiment({
|
|
296
|
-
name: `Auto: ${candidate.treatment_task} Impact`,
|
|
297
|
-
hypothesis: `${candidate.treatment_task} affects downstream outcomes`,
|
|
298
|
-
treatmentId: candidate.treatment_id,
|
|
299
|
-
treatmentType: 'episode',
|
|
300
|
-
startTime: Date.now(),
|
|
301
|
-
sampleSize: 0,
|
|
302
|
-
status: 'running',
|
|
303
|
-
metadata: {
|
|
304
|
-
autoGenerated: true,
|
|
305
|
-
potentialOutcomes: candidate.potential_outcomes
|
|
306
|
-
}
|
|
307
|
-
});
|
|
308
|
-
created++;
|
|
309
|
-
}
|
|
310
|
-
return created;
|
|
311
|
-
}
|
|
312
|
-
/**
|
|
313
|
-
* Prune old or low-confidence edges
|
|
314
|
-
*/
|
|
315
|
-
async pruneEdges() {
|
|
316
|
-
const maxAgeMs = this.config.edgeMaxAgeDays * 24 * 60 * 60 * 1000;
|
|
317
|
-
const cutoffTime = Date.now() / 1000 - maxAgeMs / 1000;
|
|
318
|
-
const result = this.db.prepare(`
|
|
319
|
-
DELETE FROM causal_edges
|
|
320
|
-
WHERE confidence < ?
|
|
321
|
-
OR created_at < ?
|
|
322
|
-
`).run(this.config.confidenceThreshold, cutoffTime);
|
|
323
|
-
return result.changes;
|
|
324
|
-
}
|
|
325
|
-
/**
|
|
326
|
-
* Calculate overall statistics
|
|
327
|
-
*/
|
|
328
|
-
calculateStats() {
|
|
329
|
-
const stats = this.db.prepare(`
|
|
330
|
-
SELECT
|
|
331
|
-
AVG(ABS(uplift)) as avg_uplift,
|
|
332
|
-
AVG(confidence) as avg_confidence
|
|
333
|
-
FROM causal_edges
|
|
334
|
-
WHERE uplift IS NOT NULL
|
|
335
|
-
`).get();
|
|
336
|
-
return {
|
|
337
|
-
avgUplift: stats?.avg_uplift || 0,
|
|
338
|
-
avgConfidence: stats?.avg_confidence || 0
|
|
339
|
-
};
|
|
340
|
-
}
|
|
341
|
-
/**
|
|
342
|
-
* Generate recommendations based on learning results
|
|
343
|
-
*/
|
|
344
|
-
generateRecommendations(report) {
|
|
345
|
-
const recommendations = [];
|
|
346
|
-
if (report.edgesDiscovered === 0) {
|
|
347
|
-
recommendations.push('No new causal edges discovered. Consider collecting more diverse episode data.');
|
|
348
|
-
}
|
|
349
|
-
if (report.avgUplift < 0.1) {
|
|
350
|
-
recommendations.push('Average uplift is low. Review task sequences for optimization opportunities.');
|
|
351
|
-
}
|
|
352
|
-
if (report.avgConfidence < 0.7) {
|
|
353
|
-
recommendations.push('Average confidence is below target. Increase sample sizes or refine hypothesis selection.');
|
|
354
|
-
}
|
|
355
|
-
if (report.experimentsCompleted > 0) {
|
|
356
|
-
recommendations.push(`${report.experimentsCompleted} experiments completed. Review results for actionable insights.`);
|
|
357
|
-
}
|
|
358
|
-
if (report.edgesPruned > report.edgesDiscovered) {
|
|
359
|
-
recommendations.push('More edges pruned than discovered. Consider adjusting confidence thresholds.');
|
|
360
|
-
}
|
|
361
|
-
return recommendations;
|
|
362
|
-
}
|
|
363
|
-
/**
|
|
364
|
-
* Print report to console
|
|
365
|
-
*/
|
|
366
|
-
printReport(report) {
|
|
367
|
-
console.log('═══════════════════════════════════════════════════════════');
|
|
368
|
-
console.log(' Nightly Learner Report');
|
|
369
|
-
console.log('═══════════════════════════════════════════════════════════\n');
|
|
370
|
-
console.log(` Execution Time: ${report.executionTimeMs}ms`);
|
|
371
|
-
console.log(` Timestamp: ${new Date(report.timestamp).toISOString()}\n`);
|
|
372
|
-
console.log(' Results:');
|
|
373
|
-
console.log(` • Edges Discovered: ${report.edgesDiscovered}`);
|
|
374
|
-
console.log(` • Edges Pruned: ${report.edgesPruned}`);
|
|
375
|
-
console.log(` • Experiments Completed: ${report.experimentsCompleted}`);
|
|
376
|
-
console.log(` • Experiments Created: ${report.experimentsCreated}\n`);
|
|
377
|
-
console.log(' Statistics:');
|
|
378
|
-
console.log(` • Avg Uplift: ${report.avgUplift.toFixed(3)}`);
|
|
379
|
-
console.log(` • Avg Confidence: ${report.avgConfidence.toFixed(3)}\n`);
|
|
380
|
-
if (report.recommendations.length > 0) {
|
|
381
|
-
console.log(' Recommendations:');
|
|
382
|
-
report.recommendations.forEach(rec => console.log(` • ${rec}`));
|
|
383
|
-
console.log('');
|
|
384
|
-
}
|
|
385
|
-
console.log('═══════════════════════════════════════════════════════════\n');
|
|
386
|
-
}
|
|
387
|
-
/**
|
|
388
|
-
* Update learner configuration
|
|
389
|
-
*/
|
|
390
|
-
updateConfig(config) {
|
|
391
|
-
this.config = { ...this.config, ...config };
|
|
392
|
-
}
|
|
393
|
-
}
|
|
394
|
-
//# sourceMappingURL=NightlyLearner.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NightlyLearner.js","sourceRoot":"","sources":["../../src/controllers/NightlyLearner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* QUICClient - QUIC Protocol Client for AgentDB Synchronization
|
|
3
|
-
*
|
|
4
|
-
* Implements a QUIC client for initiating synchronization requests to remote
|
|
5
|
-
* AgentDB instances. Supports connection pooling, retry logic, and reliable sync.
|
|
6
|
-
*
|
|
7
|
-
* Features:
|
|
8
|
-
* - Connect to remote QUIC servers
|
|
9
|
-
* - Send sync requests (episodes, skills, edges)
|
|
10
|
-
* - Handle responses and errors
|
|
11
|
-
* - Automatic retry with exponential backoff
|
|
12
|
-
* - Connection pooling for efficiency
|
|
13
|
-
* - Comprehensive error handling
|
|
14
|
-
*/
|
|
15
|
-
export interface QUICClientConfig {
|
|
16
|
-
serverHost: string;
|
|
17
|
-
serverPort: number;
|
|
18
|
-
authToken?: string;
|
|
19
|
-
maxRetries?: number;
|
|
20
|
-
retryDelayMs?: number;
|
|
21
|
-
timeoutMs?: number;
|
|
22
|
-
poolSize?: number;
|
|
23
|
-
tlsConfig?: {
|
|
24
|
-
cert?: string;
|
|
25
|
-
key?: string;
|
|
26
|
-
ca?: string;
|
|
27
|
-
rejectUnauthorized?: boolean;
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
export interface SyncOptions {
|
|
31
|
-
type: 'episodes' | 'skills' | 'edges' | 'full';
|
|
32
|
-
since?: number;
|
|
33
|
-
filters?: Record<string, any>;
|
|
34
|
-
batchSize?: number;
|
|
35
|
-
onProgress?: (progress: SyncProgress) => void;
|
|
36
|
-
}
|
|
37
|
-
export interface SyncProgress {
|
|
38
|
-
phase: 'connecting' | 'syncing' | 'processing' | 'completed' | 'error';
|
|
39
|
-
itemsSynced?: number;
|
|
40
|
-
totalItems?: number;
|
|
41
|
-
bytesTransferred?: number;
|
|
42
|
-
error?: string;
|
|
43
|
-
}
|
|
44
|
-
export interface SyncResult {
|
|
45
|
-
success: boolean;
|
|
46
|
-
data?: any;
|
|
47
|
-
itemsReceived: number;
|
|
48
|
-
bytesTransferred: number;
|
|
49
|
-
durationMs: number;
|
|
50
|
-
error?: string;
|
|
51
|
-
}
|
|
52
|
-
export declare class QUICClient {
|
|
53
|
-
private config;
|
|
54
|
-
private connectionPool;
|
|
55
|
-
private isConnected;
|
|
56
|
-
private retryCount;
|
|
57
|
-
constructor(config: QUICClientConfig);
|
|
58
|
-
/**
|
|
59
|
-
* Connect to remote QUIC server
|
|
60
|
-
*/
|
|
61
|
-
connect(): Promise<void>;
|
|
62
|
-
/**
|
|
63
|
-
* Disconnect from server
|
|
64
|
-
*/
|
|
65
|
-
disconnect(): Promise<void>;
|
|
66
|
-
/**
|
|
67
|
-
* Send sync request to server
|
|
68
|
-
*/
|
|
69
|
-
sync(options: SyncOptions): Promise<SyncResult>;
|
|
70
|
-
/**
|
|
71
|
-
* Send request with automatic retry
|
|
72
|
-
*/
|
|
73
|
-
private sendWithRetry;
|
|
74
|
-
/**
|
|
75
|
-
* Send request to server
|
|
76
|
-
*/
|
|
77
|
-
private sendRequest;
|
|
78
|
-
/**
|
|
79
|
-
* Acquire connection from pool
|
|
80
|
-
*/
|
|
81
|
-
private acquireConnection;
|
|
82
|
-
/**
|
|
83
|
-
* Release connection back to pool
|
|
84
|
-
*/
|
|
85
|
-
private releaseConnection;
|
|
86
|
-
/**
|
|
87
|
-
* Get client status
|
|
88
|
-
*/
|
|
89
|
-
getStatus(): {
|
|
90
|
-
isConnected: boolean;
|
|
91
|
-
poolSize: number;
|
|
92
|
-
activeConnections: number;
|
|
93
|
-
totalRequests: number;
|
|
94
|
-
config: QUICClientConfig;
|
|
95
|
-
};
|
|
96
|
-
/**
|
|
97
|
-
* Test connection to server
|
|
98
|
-
*/
|
|
99
|
-
ping(): Promise<{
|
|
100
|
-
success: boolean;
|
|
101
|
-
latencyMs: number;
|
|
102
|
-
error?: string;
|
|
103
|
-
}>;
|
|
104
|
-
/**
|
|
105
|
-
* Sleep helper
|
|
106
|
-
*/
|
|
107
|
-
private sleep;
|
|
108
|
-
}
|
|
109
|
-
//# sourceMappingURL=QUICClient.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"QUICClient.d.ts","sourceRoot":"","sources":["../../src/controllers/QUICClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE;QACV,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAC9B,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;CAC/C;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,OAAO,CAAC;IACvE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAUD,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,cAAc,CAAsC;IAC5D,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,UAAU,CAAa;gBAEnB,MAAM,EAAE,gBAAgB;IAapC;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAsC9B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAyBjC;;OAEG;IACG,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAiGrD;;OAEG;YACW,aAAa;IA8B3B;;OAEG;YACW,WAAW;IAkBzB;;OAEG;YACW,iBAAiB;IAkB/B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAKzB;;OAEG;IACH,SAAS,IAAI;QACX,WAAW,EAAE,OAAO,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,aAAa,EAAE,MAAM,CAAC;QACtB,MAAM,EAAE,gBAAgB,CAAC;KAC1B;IAoBD;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAqC9E;;OAEG;IACH,OAAO,CAAC,KAAK;CAGd"}
|