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,126 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CausalMemoryGraph - Causal Reasoning over Agent Memories
|
|
3
|
-
*
|
|
4
|
-
* Implements intervention-based reasoning rather than correlation.
|
|
5
|
-
* Stores p(y|do(x)) estimates and tracks causal uplift across episodes.
|
|
6
|
-
*
|
|
7
|
-
* Based on:
|
|
8
|
-
* - Pearl's do-calculus and causal inference
|
|
9
|
-
* - Uplift modeling from A/B testing
|
|
10
|
-
* - Instrumental variable methods
|
|
11
|
-
*/
|
|
12
|
-
type Database = any;
|
|
13
|
-
export interface CausalEdge {
|
|
14
|
-
id?: number;
|
|
15
|
-
fromMemoryId: number;
|
|
16
|
-
fromMemoryType: 'episode' | 'skill' | 'note' | 'fact';
|
|
17
|
-
toMemoryId: number;
|
|
18
|
-
toMemoryType: 'episode' | 'skill' | 'note' | 'fact';
|
|
19
|
-
similarity: number;
|
|
20
|
-
uplift?: number;
|
|
21
|
-
confidence: number;
|
|
22
|
-
sampleSize?: number;
|
|
23
|
-
evidenceIds?: string[];
|
|
24
|
-
experimentIds?: string[];
|
|
25
|
-
confounderScore?: number;
|
|
26
|
-
mechanism?: string;
|
|
27
|
-
metadata?: Record<string, any>;
|
|
28
|
-
}
|
|
29
|
-
export interface CausalExperiment {
|
|
30
|
-
id?: number;
|
|
31
|
-
name: string;
|
|
32
|
-
hypothesis: string;
|
|
33
|
-
treatmentId: number;
|
|
34
|
-
treatmentType: string;
|
|
35
|
-
controlId?: number;
|
|
36
|
-
startTime: number;
|
|
37
|
-
endTime?: number;
|
|
38
|
-
sampleSize: number;
|
|
39
|
-
treatmentMean?: number;
|
|
40
|
-
controlMean?: number;
|
|
41
|
-
uplift?: number;
|
|
42
|
-
pValue?: number;
|
|
43
|
-
confidenceIntervalLow?: number;
|
|
44
|
-
confidenceIntervalHigh?: number;
|
|
45
|
-
status: 'running' | 'completed' | 'failed';
|
|
46
|
-
metadata?: Record<string, any>;
|
|
47
|
-
}
|
|
48
|
-
export interface CausalObservation {
|
|
49
|
-
experimentId: number;
|
|
50
|
-
episodeId: number;
|
|
51
|
-
isTreatment: boolean;
|
|
52
|
-
outcomeValue: number;
|
|
53
|
-
outcomeType: 'reward' | 'success' | 'latency';
|
|
54
|
-
context?: Record<string, any>;
|
|
55
|
-
}
|
|
56
|
-
export interface CausalQuery {
|
|
57
|
-
interventionMemoryId: number;
|
|
58
|
-
interventionMemoryType: string;
|
|
59
|
-
outcomeMemoryId?: number;
|
|
60
|
-
minConfidence?: number;
|
|
61
|
-
minUplift?: number;
|
|
62
|
-
}
|
|
63
|
-
export declare class CausalMemoryGraph {
|
|
64
|
-
private db;
|
|
65
|
-
constructor(db: Database);
|
|
66
|
-
/**
|
|
67
|
-
* Add a causal edge between memories
|
|
68
|
-
*/
|
|
69
|
-
addCausalEdge(edge: CausalEdge): number;
|
|
70
|
-
/**
|
|
71
|
-
* Create a causal experiment (A/B test)
|
|
72
|
-
*/
|
|
73
|
-
createExperiment(experiment: CausalExperiment): number;
|
|
74
|
-
/**
|
|
75
|
-
* Record an observation in an experiment
|
|
76
|
-
*/
|
|
77
|
-
recordObservation(observation: CausalObservation): void;
|
|
78
|
-
/**
|
|
79
|
-
* Calculate uplift for an experiment
|
|
80
|
-
*/
|
|
81
|
-
calculateUplift(experimentId: number): {
|
|
82
|
-
uplift: number;
|
|
83
|
-
pValue: number;
|
|
84
|
-
confidenceInterval: [number, number];
|
|
85
|
-
};
|
|
86
|
-
/**
|
|
87
|
-
* Query causal effects
|
|
88
|
-
*/
|
|
89
|
-
queryCausalEffects(query: CausalQuery): CausalEdge[];
|
|
90
|
-
/**
|
|
91
|
-
* Get causal chain (multi-hop reasoning)
|
|
92
|
-
*/
|
|
93
|
-
getCausalChain(fromMemoryId: number, toMemoryId: number, maxDepth?: number): {
|
|
94
|
-
path: number[];
|
|
95
|
-
totalUplift: number;
|
|
96
|
-
confidence: number;
|
|
97
|
-
}[];
|
|
98
|
-
/**
|
|
99
|
-
* Calculate causal gain: E[outcome|do(treatment)] - E[outcome]
|
|
100
|
-
*/
|
|
101
|
-
calculateCausalGain(treatmentId: number, outcomeType: 'reward' | 'success' | 'latency'): {
|
|
102
|
-
causalGain: number;
|
|
103
|
-
confidence: number;
|
|
104
|
-
mechanism: string;
|
|
105
|
-
};
|
|
106
|
-
/**
|
|
107
|
-
* Detect confounders using correlation analysis
|
|
108
|
-
*/
|
|
109
|
-
detectConfounders(edgeId: number): {
|
|
110
|
-
confounders: Array<{
|
|
111
|
-
memoryId: number;
|
|
112
|
-
correlationWithTreatment: number;
|
|
113
|
-
correlationWithOutcome: number;
|
|
114
|
-
confounderScore: number;
|
|
115
|
-
}>;
|
|
116
|
-
};
|
|
117
|
-
private rowToCausalEdge;
|
|
118
|
-
private mean;
|
|
119
|
-
private variance;
|
|
120
|
-
private standardError;
|
|
121
|
-
private tCDF;
|
|
122
|
-
private tInverse;
|
|
123
|
-
private calculateCorrelation;
|
|
124
|
-
}
|
|
125
|
-
export {};
|
|
126
|
-
//# sourceMappingURL=CausalMemoryGraph.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CausalMemoryGraph.d.ts","sourceRoot":"","sources":["../../src/controllers/CausalMemoryGraph.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,323 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CausalMemoryGraph - Causal Reasoning over Agent Memories
|
|
3
|
-
*
|
|
4
|
-
* Implements intervention-based reasoning rather than correlation.
|
|
5
|
-
* Stores p(y|do(x)) estimates and tracks causal uplift across episodes.
|
|
6
|
-
*
|
|
7
|
-
* Based on:
|
|
8
|
-
* - Pearl's do-calculus and causal inference
|
|
9
|
-
* - Uplift modeling from A/B testing
|
|
10
|
-
* - Instrumental variable methods
|
|
11
|
-
*/
|
|
12
|
-
export class CausalMemoryGraph {
|
|
13
|
-
db;
|
|
14
|
-
constructor(db) {
|
|
15
|
-
this.db = db;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Add a causal edge between memories
|
|
19
|
-
*/
|
|
20
|
-
addCausalEdge(edge) {
|
|
21
|
-
const stmt = this.db.prepare(`
|
|
22
|
-
INSERT INTO causal_edges (
|
|
23
|
-
from_memory_id, from_memory_type, to_memory_id, to_memory_type,
|
|
24
|
-
similarity, uplift, confidence, sample_size,
|
|
25
|
-
evidence_ids, confounder_score,
|
|
26
|
-
mechanism, metadata
|
|
27
|
-
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
28
|
-
`);
|
|
29
|
-
const result = stmt.run(edge.fromMemoryId, edge.fromMemoryType, edge.toMemoryId, edge.toMemoryType, edge.similarity, edge.uplift || null, edge.confidence, edge.sampleSize || null, edge.evidenceIds ? JSON.stringify(edge.evidenceIds) : null, edge.confounderScore || null, edge.mechanism || null, edge.metadata ? JSON.stringify(edge.metadata) : null);
|
|
30
|
-
return result.lastInsertRowid;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Create a causal experiment (A/B test)
|
|
34
|
-
*/
|
|
35
|
-
createExperiment(experiment) {
|
|
36
|
-
const stmt = this.db.prepare(`
|
|
37
|
-
INSERT INTO causal_experiments (
|
|
38
|
-
name, hypothesis, treatment_id, treatment_type, control_id,
|
|
39
|
-
start_time, sample_size, status, metadata
|
|
40
|
-
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
41
|
-
`);
|
|
42
|
-
const result = stmt.run(experiment.name, experiment.hypothesis, experiment.treatmentId, experiment.treatmentType, experiment.controlId || null, experiment.startTime, experiment.sampleSize, experiment.status, experiment.metadata ? JSON.stringify(experiment.metadata) : null);
|
|
43
|
-
return result.lastInsertRowid;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Record an observation in an experiment
|
|
47
|
-
*/
|
|
48
|
-
recordObservation(observation) {
|
|
49
|
-
const stmt = this.db.prepare(`
|
|
50
|
-
INSERT INTO causal_observations (
|
|
51
|
-
experiment_id, episode_id, is_treatment, outcome_value, outcome_type, context
|
|
52
|
-
) VALUES (?, ?, ?, ?, ?, ?)
|
|
53
|
-
`);
|
|
54
|
-
stmt.run(observation.experimentId, observation.episodeId, observation.isTreatment ? 1 : 0, observation.outcomeValue, observation.outcomeType, observation.context ? JSON.stringify(observation.context) : null);
|
|
55
|
-
// Update sample size
|
|
56
|
-
this.db.prepare(`
|
|
57
|
-
UPDATE causal_experiments
|
|
58
|
-
SET sample_size = sample_size + 1
|
|
59
|
-
WHERE id = ?
|
|
60
|
-
`).run(observation.experimentId);
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Calculate uplift for an experiment
|
|
64
|
-
*/
|
|
65
|
-
calculateUplift(experimentId) {
|
|
66
|
-
// Get treatment and control observations
|
|
67
|
-
const observations = this.db.prepare(`
|
|
68
|
-
SELECT is_treatment, outcome_value
|
|
69
|
-
FROM causal_observations
|
|
70
|
-
WHERE experiment_id = ?
|
|
71
|
-
`).all(experimentId);
|
|
72
|
-
const treatmentValues = observations
|
|
73
|
-
.filter(o => o.is_treatment === 1)
|
|
74
|
-
.map(o => o.outcome_value);
|
|
75
|
-
const controlValues = observations
|
|
76
|
-
.filter(o => o.is_treatment === 0)
|
|
77
|
-
.map(o => o.outcome_value);
|
|
78
|
-
if (treatmentValues.length === 0 || controlValues.length === 0) {
|
|
79
|
-
return { uplift: 0, pValue: 1.0, confidenceInterval: [0, 0] };
|
|
80
|
-
}
|
|
81
|
-
// Calculate means
|
|
82
|
-
const treatmentMean = this.mean(treatmentValues);
|
|
83
|
-
const controlMean = this.mean(controlValues);
|
|
84
|
-
const uplift = treatmentMean - controlMean;
|
|
85
|
-
// Calculate standard errors
|
|
86
|
-
const treatmentSE = this.standardError(treatmentValues);
|
|
87
|
-
const controlSE = this.standardError(controlValues);
|
|
88
|
-
const pooledSE = Math.sqrt(treatmentSE ** 2 + controlSE ** 2);
|
|
89
|
-
// t-statistic and p-value (two-tailed)
|
|
90
|
-
const tStat = uplift / pooledSE;
|
|
91
|
-
const df = treatmentValues.length + controlValues.length - 2;
|
|
92
|
-
const pValue = 2 * (1 - this.tCDF(Math.abs(tStat), df));
|
|
93
|
-
// 95% confidence interval
|
|
94
|
-
const tCritical = this.tInverse(0.025, df);
|
|
95
|
-
const marginOfError = tCritical * pooledSE;
|
|
96
|
-
const confidenceInterval = [
|
|
97
|
-
uplift - marginOfError,
|
|
98
|
-
uplift + marginOfError
|
|
99
|
-
];
|
|
100
|
-
// Update experiment with results
|
|
101
|
-
this.db.prepare(`
|
|
102
|
-
UPDATE causal_experiments
|
|
103
|
-
SET treatment_mean = ?,
|
|
104
|
-
control_mean = ?,
|
|
105
|
-
uplift = ?,
|
|
106
|
-
p_value = ?,
|
|
107
|
-
confidence_interval_low = ?,
|
|
108
|
-
confidence_interval_high = ?,
|
|
109
|
-
status = 'completed'
|
|
110
|
-
WHERE id = ?
|
|
111
|
-
`).run(treatmentMean, controlMean, uplift, pValue, confidenceInterval[0], confidenceInterval[1], experimentId);
|
|
112
|
-
return { uplift, pValue, confidenceInterval };
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Query causal effects
|
|
116
|
-
*/
|
|
117
|
-
queryCausalEffects(query) {
|
|
118
|
-
const { interventionMemoryId, interventionMemoryType, outcomeMemoryId, minConfidence = 0.5, minUplift = 0.0 } = query;
|
|
119
|
-
let sql = `
|
|
120
|
-
SELECT * FROM causal_edges
|
|
121
|
-
WHERE from_memory_id = ?
|
|
122
|
-
AND from_memory_type = ?
|
|
123
|
-
AND confidence >= ?
|
|
124
|
-
AND ABS(uplift) >= ?
|
|
125
|
-
`;
|
|
126
|
-
const params = [
|
|
127
|
-
interventionMemoryId,
|
|
128
|
-
interventionMemoryType,
|
|
129
|
-
minConfidence,
|
|
130
|
-
minUplift
|
|
131
|
-
];
|
|
132
|
-
if (outcomeMemoryId) {
|
|
133
|
-
sql += ' AND to_memory_id = ?';
|
|
134
|
-
params.push(outcomeMemoryId);
|
|
135
|
-
}
|
|
136
|
-
sql += ' ORDER BY ABS(uplift) * confidence DESC';
|
|
137
|
-
const rows = this.db.prepare(sql).all(...params);
|
|
138
|
-
return rows.map(row => this.rowToCausalEdge(row));
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Get causal chain (multi-hop reasoning)
|
|
142
|
-
*/
|
|
143
|
-
getCausalChain(fromMemoryId, toMemoryId, maxDepth = 5) {
|
|
144
|
-
// Use recursive CTE from view
|
|
145
|
-
const chains = this.db.prepare(`
|
|
146
|
-
WITH RECURSIVE chain(from_id, to_id, depth, path, total_uplift, min_confidence) AS (
|
|
147
|
-
SELECT
|
|
148
|
-
from_memory_id,
|
|
149
|
-
to_memory_id,
|
|
150
|
-
1,
|
|
151
|
-
from_memory_id || '->' || to_memory_id,
|
|
152
|
-
uplift,
|
|
153
|
-
confidence
|
|
154
|
-
FROM causal_edges
|
|
155
|
-
WHERE from_memory_id = ? AND confidence >= 0.5
|
|
156
|
-
|
|
157
|
-
UNION ALL
|
|
158
|
-
|
|
159
|
-
SELECT
|
|
160
|
-
chain.from_id,
|
|
161
|
-
ce.to_memory_id,
|
|
162
|
-
chain.depth + 1,
|
|
163
|
-
chain.path || '->' || ce.to_memory_id,
|
|
164
|
-
chain.total_uplift + ce.uplift,
|
|
165
|
-
MIN(chain.min_confidence, ce.confidence)
|
|
166
|
-
FROM chain
|
|
167
|
-
JOIN causal_edges ce ON chain.to_id = ce.from_memory_id
|
|
168
|
-
WHERE chain.depth < ?
|
|
169
|
-
AND ce.confidence >= 0.5
|
|
170
|
-
AND chain.path NOT LIKE '%' || ce.to_memory_id || '%'
|
|
171
|
-
)
|
|
172
|
-
SELECT path, total_uplift, min_confidence
|
|
173
|
-
FROM chain
|
|
174
|
-
WHERE to_id = ?
|
|
175
|
-
ORDER BY total_uplift DESC
|
|
176
|
-
LIMIT 10
|
|
177
|
-
`).all(fromMemoryId, maxDepth, toMemoryId);
|
|
178
|
-
return chains.map(row => ({
|
|
179
|
-
path: row.path.split('->').map(Number),
|
|
180
|
-
totalUplift: row.total_uplift,
|
|
181
|
-
confidence: row.min_confidence
|
|
182
|
-
}));
|
|
183
|
-
}
|
|
184
|
-
/**
|
|
185
|
-
* Calculate causal gain: E[outcome|do(treatment)] - E[outcome]
|
|
186
|
-
*/
|
|
187
|
-
calculateCausalGain(treatmentId, outcomeType) {
|
|
188
|
-
// Get episodes where treatment was applied
|
|
189
|
-
const withTreatment = this.db.prepare(`
|
|
190
|
-
SELECT AVG(CASE WHEN ? = 'reward' THEN reward
|
|
191
|
-
WHEN ? = 'success' THEN success
|
|
192
|
-
WHEN ? = 'latency' THEN latency_ms
|
|
193
|
-
END) as avg_outcome
|
|
194
|
-
FROM episodes
|
|
195
|
-
WHERE id IN (
|
|
196
|
-
SELECT to_memory_id FROM causal_edges
|
|
197
|
-
WHERE from_memory_id = ? AND confidence >= 0.6
|
|
198
|
-
)
|
|
199
|
-
`).get(outcomeType, outcomeType, outcomeType, treatmentId);
|
|
200
|
-
// Get baseline (no treatment)
|
|
201
|
-
const baseline = this.db.prepare(`
|
|
202
|
-
SELECT AVG(CASE WHEN ? = 'reward' THEN reward
|
|
203
|
-
WHEN ? = 'success' THEN success
|
|
204
|
-
WHEN ? = 'latency' THEN latency_ms
|
|
205
|
-
END) as avg_outcome
|
|
206
|
-
FROM episodes
|
|
207
|
-
WHERE id NOT IN (
|
|
208
|
-
SELECT to_memory_id FROM causal_edges
|
|
209
|
-
WHERE from_memory_id = ?
|
|
210
|
-
)
|
|
211
|
-
`).get(outcomeType, outcomeType, outcomeType, treatmentId);
|
|
212
|
-
const causalGain = (withTreatment?.avg_outcome || 0) - (baseline?.avg_outcome || 0);
|
|
213
|
-
// Get most confident edge for mechanism
|
|
214
|
-
const edge = this.db.prepare(`
|
|
215
|
-
SELECT mechanism, confidence
|
|
216
|
-
FROM causal_edges
|
|
217
|
-
WHERE from_memory_id = ?
|
|
218
|
-
ORDER BY confidence DESC
|
|
219
|
-
LIMIT 1
|
|
220
|
-
`).get(treatmentId);
|
|
221
|
-
return {
|
|
222
|
-
causalGain,
|
|
223
|
-
confidence: edge?.confidence || 0,
|
|
224
|
-
mechanism: edge?.mechanism || 'unknown'
|
|
225
|
-
};
|
|
226
|
-
}
|
|
227
|
-
/**
|
|
228
|
-
* Detect confounders using correlation analysis
|
|
229
|
-
*/
|
|
230
|
-
detectConfounders(edgeId) {
|
|
231
|
-
const edge = this.db.prepare('SELECT * FROM causal_edges WHERE id = ?').get(edgeId);
|
|
232
|
-
if (!edge) {
|
|
233
|
-
return { confounders: [] };
|
|
234
|
-
}
|
|
235
|
-
// Find memories correlated with both treatment and outcome
|
|
236
|
-
// This is a simplified version - production would use proper statistical tests
|
|
237
|
-
const potentialConfounders = this.db.prepare(`
|
|
238
|
-
SELECT DISTINCT e.id, e.task
|
|
239
|
-
FROM episodes e
|
|
240
|
-
WHERE e.id != ? AND e.id != ?
|
|
241
|
-
AND e.session_id IN (
|
|
242
|
-
SELECT session_id FROM episodes WHERE id = ?
|
|
243
|
-
UNION
|
|
244
|
-
SELECT session_id FROM episodes WHERE id = ?
|
|
245
|
-
)
|
|
246
|
-
`).all(edge.from_memory_id, edge.to_memory_id, edge.from_memory_id, edge.to_memory_id);
|
|
247
|
-
const confounders = potentialConfounders.map((conf) => {
|
|
248
|
-
// Calculate correlation scores (simplified)
|
|
249
|
-
const treatmentCorr = this.calculateCorrelation(conf.id, edge.from_memory_id);
|
|
250
|
-
const outcomeCorr = this.calculateCorrelation(conf.id, edge.to_memory_id);
|
|
251
|
-
const confounderScore = Math.sqrt(treatmentCorr ** 2 * outcomeCorr ** 2);
|
|
252
|
-
return {
|
|
253
|
-
memoryId: conf.id,
|
|
254
|
-
correlationWithTreatment: treatmentCorr,
|
|
255
|
-
correlationWithOutcome: outcomeCorr,
|
|
256
|
-
confounderScore
|
|
257
|
-
};
|
|
258
|
-
}).filter(c => c.confounderScore > 0.3);
|
|
259
|
-
// Update edge with confounder score
|
|
260
|
-
if (confounders.length > 0) {
|
|
261
|
-
const maxConfounderScore = Math.max(...confounders.map(c => c.confounderScore));
|
|
262
|
-
this.db.prepare(`
|
|
263
|
-
UPDATE causal_edges
|
|
264
|
-
SET confounder_score = ?
|
|
265
|
-
WHERE id = ?
|
|
266
|
-
`).run(maxConfounderScore, edgeId);
|
|
267
|
-
}
|
|
268
|
-
return { confounders };
|
|
269
|
-
}
|
|
270
|
-
// ========================================================================
|
|
271
|
-
// Private Helper Methods
|
|
272
|
-
// ========================================================================
|
|
273
|
-
rowToCausalEdge(row) {
|
|
274
|
-
return {
|
|
275
|
-
id: row.id,
|
|
276
|
-
fromMemoryId: row.from_memory_id,
|
|
277
|
-
fromMemoryType: row.from_memory_type,
|
|
278
|
-
toMemoryId: row.to_memory_id,
|
|
279
|
-
toMemoryType: row.to_memory_type,
|
|
280
|
-
similarity: row.similarity,
|
|
281
|
-
uplift: row.uplift,
|
|
282
|
-
confidence: row.confidence,
|
|
283
|
-
sampleSize: row.sample_size,
|
|
284
|
-
evidenceIds: row.evidence_ids ? JSON.parse(row.evidence_ids) : undefined,
|
|
285
|
-
experimentIds: row.experiment_ids ? JSON.parse(row.experiment_ids) : undefined,
|
|
286
|
-
confounderScore: row.confounder_score,
|
|
287
|
-
mechanism: row.mechanism,
|
|
288
|
-
metadata: row.metadata ? JSON.parse(row.metadata) : undefined
|
|
289
|
-
};
|
|
290
|
-
}
|
|
291
|
-
mean(values) {
|
|
292
|
-
return values.reduce((a, b) => a + b, 0) / values.length;
|
|
293
|
-
}
|
|
294
|
-
variance(values) {
|
|
295
|
-
const avg = this.mean(values);
|
|
296
|
-
return values.reduce((sum, val) => sum + (val - avg) ** 2, 0) / values.length;
|
|
297
|
-
}
|
|
298
|
-
standardError(values) {
|
|
299
|
-
return Math.sqrt(this.variance(values) / values.length);
|
|
300
|
-
}
|
|
301
|
-
tCDF(t, df) {
|
|
302
|
-
// Simplified t-distribution CDF (use proper stats library in production)
|
|
303
|
-
// This is an approximation
|
|
304
|
-
return 0.5 + 0.5 * Math.sign(t) * (1 - Math.pow(1 + t * t / df, -df / 2));
|
|
305
|
-
}
|
|
306
|
-
tInverse(p, df) {
|
|
307
|
-
// Simplified inverse t-distribution (use proper stats library)
|
|
308
|
-
// Approximation for 95% CI
|
|
309
|
-
return 1.96; // Standard normal approximation
|
|
310
|
-
}
|
|
311
|
-
calculateCorrelation(id1, id2) {
|
|
312
|
-
// Simplified correlation calculation
|
|
313
|
-
// In production, use proper correlation metrics
|
|
314
|
-
const sharedSessions = this.db.prepare(`
|
|
315
|
-
SELECT COUNT(DISTINCT e1.session_id) as shared
|
|
316
|
-
FROM episodes e1
|
|
317
|
-
JOIN episodes e2 ON e1.session_id = e2.session_id
|
|
318
|
-
WHERE e1.id = ? AND e2.id = ?
|
|
319
|
-
`).get(id1, id2);
|
|
320
|
-
return Math.min(sharedSessions?.shared || 0, 1.0);
|
|
321
|
-
}
|
|
322
|
-
}
|
|
323
|
-
//# sourceMappingURL=CausalMemoryGraph.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CausalMemoryGraph.js","sourceRoot":"","sources":["../../src/controllers/CausalMemoryGraph.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CausalRecall - Utility-Based Reranking + Certificate Issuer
|
|
3
|
-
*
|
|
4
|
-
* Combines:
|
|
5
|
-
* 1. Vector similarity search
|
|
6
|
-
* 2. Causal uplift from CausalMemoryGraph
|
|
7
|
-
* 3. Utility-based reranking: U = α*similarity + β*uplift − γ*latencyCost
|
|
8
|
-
* 4. Automatic certificate issuance via ExplainableRecall
|
|
9
|
-
*
|
|
10
|
-
* This is the main entry point for production retrieval with:
|
|
11
|
-
* - Causal-aware ranking
|
|
12
|
-
* - Explainable provenance
|
|
13
|
-
* - Policy compliance
|
|
14
|
-
*/
|
|
15
|
-
type Database = any;
|
|
16
|
-
import { RecallCertificate } from './ExplainableRecall.js';
|
|
17
|
-
import { EmbeddingService } from './EmbeddingService.js';
|
|
18
|
-
import type { VectorBackend } from '../backends/VectorBackend.js';
|
|
19
|
-
export interface RerankConfig {
|
|
20
|
-
alpha: number;
|
|
21
|
-
beta: number;
|
|
22
|
-
gamma: number;
|
|
23
|
-
minConfidence?: number;
|
|
24
|
-
}
|
|
25
|
-
export interface RerankCandidate {
|
|
26
|
-
id: string;
|
|
27
|
-
type: 'episode' | 'skill' | 'note' | 'fact';
|
|
28
|
-
content: string;
|
|
29
|
-
similarity: number;
|
|
30
|
-
uplift?: number;
|
|
31
|
-
causalConfidence?: number;
|
|
32
|
-
latencyMs?: number;
|
|
33
|
-
utilityScore: number;
|
|
34
|
-
rank: number;
|
|
35
|
-
}
|
|
36
|
-
export interface CausalRecallResult {
|
|
37
|
-
candidates: RerankCandidate[];
|
|
38
|
-
certificate: RecallCertificate;
|
|
39
|
-
queryId: string;
|
|
40
|
-
totalLatencyMs: number;
|
|
41
|
-
metrics: {
|
|
42
|
-
vectorSearchMs: number;
|
|
43
|
-
causalLookupMs: number;
|
|
44
|
-
rerankMs: number;
|
|
45
|
-
certificateMs: number;
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
export declare class CausalRecall {
|
|
49
|
-
private config;
|
|
50
|
-
private db;
|
|
51
|
-
private causalGraph;
|
|
52
|
-
private explainableRecall;
|
|
53
|
-
private embedder;
|
|
54
|
-
private vectorBackend?;
|
|
55
|
-
constructor(db: Database, embedder: EmbeddingService, vectorBackend?: VectorBackend, config?: RerankConfig);
|
|
56
|
-
/**
|
|
57
|
-
* Main recall function with utility-based reranking and certificate issuance
|
|
58
|
-
*
|
|
59
|
-
* @param queryId Unique query identifier
|
|
60
|
-
* @param queryText Natural language query
|
|
61
|
-
* @param k Number of results to return (default: 12)
|
|
62
|
-
* @param requirements Optional list of requirements for completeness checking
|
|
63
|
-
* @param accessLevel Security access level for certificate
|
|
64
|
-
* @returns Reranked results with certificate
|
|
65
|
-
*/
|
|
66
|
-
recall(queryId: string, queryText: string, k?: number, requirements?: string[], accessLevel?: 'public' | 'internal' | 'confidential' | 'restricted'): Promise<CausalRecallResult>;
|
|
67
|
-
/**
|
|
68
|
-
* Vector similarity search using cosine similarity
|
|
69
|
-
*/
|
|
70
|
-
private vectorSearch;
|
|
71
|
-
/**
|
|
72
|
-
* Load causal edges for candidates
|
|
73
|
-
*/
|
|
74
|
-
private loadCausalEdges;
|
|
75
|
-
/**
|
|
76
|
-
* Rerank by utility: U = α*similarity + β*uplift − γ*latencyCost
|
|
77
|
-
*/
|
|
78
|
-
private rerankByUtility;
|
|
79
|
-
/**
|
|
80
|
-
* Issue certificate for the retrieval
|
|
81
|
-
*/
|
|
82
|
-
private issueCertificate;
|
|
83
|
-
/**
|
|
84
|
-
* Extract requirements from query text (simple keyword extraction)
|
|
85
|
-
*/
|
|
86
|
-
private extractRequirements;
|
|
87
|
-
/**
|
|
88
|
-
* Deserialize embedding from Buffer
|
|
89
|
-
*/
|
|
90
|
-
private deserializeEmbedding;
|
|
91
|
-
/**
|
|
92
|
-
* Cosine similarity between two vectors
|
|
93
|
-
*/
|
|
94
|
-
private cosineSimilarity;
|
|
95
|
-
/**
|
|
96
|
-
* Batch recall for multiple queries
|
|
97
|
-
*/
|
|
98
|
-
batchRecall(queries: Array<{
|
|
99
|
-
queryId: string;
|
|
100
|
-
queryText: string;
|
|
101
|
-
k?: number;
|
|
102
|
-
}>, requirements?: string[], accessLevel?: 'public' | 'internal' | 'confidential' | 'restricted'): Promise<CausalRecallResult[]>;
|
|
103
|
-
/**
|
|
104
|
-
* Get recall statistics
|
|
105
|
-
*/
|
|
106
|
-
getStats(): {
|
|
107
|
-
totalCausalEdges: number;
|
|
108
|
-
totalCertificates: number;
|
|
109
|
-
avgRedundancyRatio: number;
|
|
110
|
-
avgCompletenessScore: number;
|
|
111
|
-
};
|
|
112
|
-
/**
|
|
113
|
-
* Update rerank configuration
|
|
114
|
-
*/
|
|
115
|
-
updateConfig(config: Partial<RerankConfig>): void;
|
|
116
|
-
/**
|
|
117
|
-
* Search for memories with semantic similarity and causal utility ranking
|
|
118
|
-
*
|
|
119
|
-
* @param params Search parameters
|
|
120
|
-
* @returns Array of ranked search results with similarity and causal uplift scores
|
|
121
|
-
*/
|
|
122
|
-
search(params: {
|
|
123
|
-
query: string;
|
|
124
|
-
k?: number;
|
|
125
|
-
includeEvidence?: boolean;
|
|
126
|
-
alpha?: number;
|
|
127
|
-
beta?: number;
|
|
128
|
-
gamma?: number;
|
|
129
|
-
}): Promise<Array<{
|
|
130
|
-
id: number;
|
|
131
|
-
type: string;
|
|
132
|
-
content: string;
|
|
133
|
-
similarity: number;
|
|
134
|
-
causalUplift: number;
|
|
135
|
-
utilityScore: number;
|
|
136
|
-
}>>;
|
|
137
|
-
}
|
|
138
|
-
export {};
|
|
139
|
-
//# sourceMappingURL=CausalRecall.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CausalRecall.d.ts","sourceRoot":"","sources":["../../src/controllers/CausalRecall.ts"],"names":[],"mappings":"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"}
|