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,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* EmbeddingService - Text Embedding Generation
|
|
3
|
-
*
|
|
4
|
-
* Handles text-to-vector embedding generation using various models.
|
|
5
|
-
* Supports both local (transformers.js) and remote (OpenAI, etc.) embeddings.
|
|
6
|
-
*/
|
|
7
|
-
export interface EmbeddingConfig {
|
|
8
|
-
model: string;
|
|
9
|
-
dimension: number;
|
|
10
|
-
provider: 'transformers' | 'openai' | 'local';
|
|
11
|
-
apiKey?: string;
|
|
12
|
-
}
|
|
13
|
-
export declare class EmbeddingService {
|
|
14
|
-
private config;
|
|
15
|
-
private pipeline;
|
|
16
|
-
private cache;
|
|
17
|
-
constructor(config: EmbeddingConfig);
|
|
18
|
-
/**
|
|
19
|
-
* Initialize the embedding service
|
|
20
|
-
*/
|
|
21
|
-
initialize(): Promise<void>;
|
|
22
|
-
/**
|
|
23
|
-
* Generate embedding for text
|
|
24
|
-
*/
|
|
25
|
-
embed(text: string): Promise<Float32Array>;
|
|
26
|
-
/**
|
|
27
|
-
* Batch embed multiple texts
|
|
28
|
-
*/
|
|
29
|
-
embedBatch(texts: string[]): Promise<Float32Array[]>;
|
|
30
|
-
/**
|
|
31
|
-
* Clear embedding cache
|
|
32
|
-
*/
|
|
33
|
-
clearCache(): void;
|
|
34
|
-
private embedOpenAI;
|
|
35
|
-
private mockEmbedding;
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=EmbeddingService.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EmbeddingService.d.ts","sourceRoot":"","sources":["../../src/controllers/EmbeddingService.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,cAAc,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,QAAQ,CAAM;IACtB,OAAO,CAAC,KAAK,CAA4B;gBAE7B,MAAM,EAAE,eAAe;IAKnC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BjC;;OAEG;IACG,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAgChD;;OAEG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAI1D;;OAEG;IACH,UAAU,IAAI,IAAI;YAQJ,WAAW;IAiBzB,OAAO,CAAC,aAAa;CAmCtB"}
|
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* EmbeddingService - Text Embedding Generation
|
|
3
|
-
*
|
|
4
|
-
* Handles text-to-vector embedding generation using various models.
|
|
5
|
-
* Supports both local (transformers.js) and remote (OpenAI, etc.) embeddings.
|
|
6
|
-
*/
|
|
7
|
-
export class EmbeddingService {
|
|
8
|
-
config;
|
|
9
|
-
pipeline; // transformers.js pipeline
|
|
10
|
-
cache;
|
|
11
|
-
constructor(config) {
|
|
12
|
-
this.config = config;
|
|
13
|
-
this.cache = new Map();
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Initialize the embedding service
|
|
17
|
-
*/
|
|
18
|
-
async initialize() {
|
|
19
|
-
if (this.config.provider === 'transformers') {
|
|
20
|
-
// Use transformers.js for local embeddings
|
|
21
|
-
try {
|
|
22
|
-
const transformers = await import('@xenova/transformers');
|
|
23
|
-
// Set Hugging Face token if available from environment
|
|
24
|
-
const hfToken = process.env.HUGGINGFACE_API_KEY || process.env.HF_TOKEN;
|
|
25
|
-
if (hfToken) {
|
|
26
|
-
// Set the token for Transformers.js to use
|
|
27
|
-
if (transformers.env && typeof transformers.env === 'object') {
|
|
28
|
-
transformers.env.HF_TOKEN = hfToken;
|
|
29
|
-
console.log('🔑 Using Hugging Face API key from environment');
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
this.pipeline = await transformers.pipeline('feature-extraction', this.config.model);
|
|
33
|
-
console.log(`✅ Transformers.js loaded: ${this.config.model}`);
|
|
34
|
-
}
|
|
35
|
-
catch (error) {
|
|
36
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
37
|
-
console.warn(`⚠️ Transformers.js initialization failed: ${errorMessage}`);
|
|
38
|
-
console.warn(' Falling back to mock embeddings for testing');
|
|
39
|
-
console.warn(' Set HUGGINGFACE_API_KEY environment variable for real embeddings');
|
|
40
|
-
this.pipeline = null;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Generate embedding for text
|
|
46
|
-
*/
|
|
47
|
-
async embed(text) {
|
|
48
|
-
// Check cache
|
|
49
|
-
const cacheKey = `${this.config.model}:${text}`;
|
|
50
|
-
if (this.cache.has(cacheKey)) {
|
|
51
|
-
return this.cache.get(cacheKey);
|
|
52
|
-
}
|
|
53
|
-
let embedding;
|
|
54
|
-
if (this.config.provider === 'transformers' && this.pipeline) {
|
|
55
|
-
// Use transformers.js
|
|
56
|
-
const output = await this.pipeline(text, { pooling: 'mean', normalize: true });
|
|
57
|
-
embedding = new Float32Array(output.data);
|
|
58
|
-
}
|
|
59
|
-
else if (this.config.provider === 'openai' && this.config.apiKey) {
|
|
60
|
-
// Use OpenAI API
|
|
61
|
-
embedding = await this.embedOpenAI(text);
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
// Mock embedding for testing
|
|
65
|
-
embedding = this.mockEmbedding(text);
|
|
66
|
-
}
|
|
67
|
-
// Cache result
|
|
68
|
-
if (this.cache.size > 10000) {
|
|
69
|
-
// Simple LRU: clear half the cache
|
|
70
|
-
const keysToDelete = Array.from(this.cache.keys()).slice(0, 5000);
|
|
71
|
-
keysToDelete.forEach(k => this.cache.delete(k));
|
|
72
|
-
}
|
|
73
|
-
this.cache.set(cacheKey, embedding);
|
|
74
|
-
return embedding;
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Batch embed multiple texts
|
|
78
|
-
*/
|
|
79
|
-
async embedBatch(texts) {
|
|
80
|
-
return Promise.all(texts.map(text => this.embed(text)));
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Clear embedding cache
|
|
84
|
-
*/
|
|
85
|
-
clearCache() {
|
|
86
|
-
this.cache.clear();
|
|
87
|
-
}
|
|
88
|
-
// ========================================================================
|
|
89
|
-
// Private Methods
|
|
90
|
-
// ========================================================================
|
|
91
|
-
async embedOpenAI(text) {
|
|
92
|
-
const response = await fetch('https://api.openai.com/v1/embeddings', {
|
|
93
|
-
method: 'POST',
|
|
94
|
-
headers: {
|
|
95
|
-
'Authorization': `Bearer ${this.config.apiKey}`,
|
|
96
|
-
'Content-Type': 'application/json'
|
|
97
|
-
},
|
|
98
|
-
body: JSON.stringify({
|
|
99
|
-
model: this.config.model,
|
|
100
|
-
input: text
|
|
101
|
-
})
|
|
102
|
-
});
|
|
103
|
-
const data = await response.json();
|
|
104
|
-
return new Float32Array(data.data[0].embedding);
|
|
105
|
-
}
|
|
106
|
-
mockEmbedding(text) {
|
|
107
|
-
// Simple deterministic mock embedding for testing
|
|
108
|
-
const embedding = new Float32Array(this.config.dimension);
|
|
109
|
-
// Handle null/undefined/empty text
|
|
110
|
-
if (!text || text.length === 0) {
|
|
111
|
-
return new Array(this.config.dimension).fill(0);
|
|
112
|
-
}
|
|
113
|
-
// Use simple hash-based generation
|
|
114
|
-
let hash = 0;
|
|
115
|
-
for (let i = 0; i < text.length; i++) {
|
|
116
|
-
hash = ((hash << 5) - hash) + text.charCodeAt(i);
|
|
117
|
-
hash = hash & hash; // Convert to 32bit integer
|
|
118
|
-
}
|
|
119
|
-
// Fill embedding with pseudo-random values based on hash
|
|
120
|
-
for (let i = 0; i < this.config.dimension; i++) {
|
|
121
|
-
const seed = hash + i * 31;
|
|
122
|
-
embedding[i] = Math.sin(seed) * Math.cos(seed * 0.5);
|
|
123
|
-
}
|
|
124
|
-
// Normalize
|
|
125
|
-
let norm = 0;
|
|
126
|
-
for (let i = 0; i < embedding.length; i++) {
|
|
127
|
-
norm += embedding[i] * embedding[i];
|
|
128
|
-
}
|
|
129
|
-
norm = Math.sqrt(norm);
|
|
130
|
-
for (let i = 0; i < embedding.length; i++) {
|
|
131
|
-
embedding[i] /= norm;
|
|
132
|
-
}
|
|
133
|
-
return embedding;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
//# sourceMappingURL=EmbeddingService.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EmbeddingService.js","sourceRoot":"","sources":["../../src/controllers/EmbeddingService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Enhanced EmbeddingService with WASM Acceleration
|
|
3
|
-
*
|
|
4
|
-
* Extends the base EmbeddingService with WASM-accelerated batch operations
|
|
5
|
-
* and improved performance for large-scale embedding generation.
|
|
6
|
-
*/
|
|
7
|
-
import { EmbeddingService, EmbeddingConfig } from './EmbeddingService.js';
|
|
8
|
-
export interface EnhancedEmbeddingConfig extends EmbeddingConfig {
|
|
9
|
-
enableWASM?: boolean;
|
|
10
|
-
enableBatchProcessing?: boolean;
|
|
11
|
-
batchSize?: number;
|
|
12
|
-
}
|
|
13
|
-
export declare class EnhancedEmbeddingService extends EmbeddingService {
|
|
14
|
-
private wasmSearch;
|
|
15
|
-
private enhancedConfig;
|
|
16
|
-
constructor(config: EnhancedEmbeddingConfig);
|
|
17
|
-
/**
|
|
18
|
-
* Initialize WASM acceleration
|
|
19
|
-
*/
|
|
20
|
-
private initializeWASM;
|
|
21
|
-
/**
|
|
22
|
-
* Enhanced batch embedding with parallel processing
|
|
23
|
-
*/
|
|
24
|
-
embedBatch(texts: string[]): Promise<Float32Array[]>;
|
|
25
|
-
/**
|
|
26
|
-
* Calculate similarity between two texts using WASM acceleration
|
|
27
|
-
*/
|
|
28
|
-
similarity(textA: string, textB: string): Promise<number>;
|
|
29
|
-
/**
|
|
30
|
-
* Find most similar texts from a corpus
|
|
31
|
-
*/
|
|
32
|
-
findMostSimilar(query: string, corpus: string[], k?: number): Promise<Array<{
|
|
33
|
-
text: string;
|
|
34
|
-
similarity: number;
|
|
35
|
-
index: number;
|
|
36
|
-
}>>;
|
|
37
|
-
/**
|
|
38
|
-
* Get service statistics
|
|
39
|
-
*/
|
|
40
|
-
getStats(): {
|
|
41
|
-
cacheSize: number;
|
|
42
|
-
wasmEnabled: boolean;
|
|
43
|
-
simdEnabled: boolean;
|
|
44
|
-
};
|
|
45
|
-
/**
|
|
46
|
-
* Cosine similarity fallback
|
|
47
|
-
*/
|
|
48
|
-
private cosineSimilarity;
|
|
49
|
-
}
|
|
50
|
-
//# sourceMappingURL=EnhancedEmbeddingService.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EnhancedEmbeddingService.d.ts","sourceRoot":"","sources":["../../src/controllers/EnhancedEmbeddingService.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG1E,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC9D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,wBAAyB,SAAQ,gBAAgB;IAC5D,OAAO,CAAC,UAAU,CAAiC;IACnD,OAAO,CAAC,cAAc,CAA0B;gBAEpC,MAAM,EAAE,uBAAuB;IAc3C;;OAEG;IACH,OAAO,CAAC,cAAc;IAYtB;;OAEG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAsB1D;;OAEG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAc/D;;OAEG;IACG,eAAe,CACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EAAE,EAChB,CAAC,GAAE,MAAU,GACZ,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IA0BtE;;OAEG;IACH,QAAQ,IAAI;QACV,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,OAAO,CAAC;QACrB,WAAW,EAAE,OAAO,CAAC;KACtB;IAUD;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAczB"}
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Enhanced EmbeddingService with WASM Acceleration
|
|
3
|
-
*
|
|
4
|
-
* Extends the base EmbeddingService with WASM-accelerated batch operations
|
|
5
|
-
* and improved performance for large-scale embedding generation.
|
|
6
|
-
*/
|
|
7
|
-
import { EmbeddingService } from './EmbeddingService.js';
|
|
8
|
-
import { WASMVectorSearch } from './WASMVectorSearch.js';
|
|
9
|
-
export class EnhancedEmbeddingService extends EmbeddingService {
|
|
10
|
-
wasmSearch = null;
|
|
11
|
-
enhancedConfig;
|
|
12
|
-
constructor(config) {
|
|
13
|
-
super(config);
|
|
14
|
-
this.enhancedConfig = {
|
|
15
|
-
enableWASM: true,
|
|
16
|
-
enableBatchProcessing: true,
|
|
17
|
-
batchSize: 100,
|
|
18
|
-
...config,
|
|
19
|
-
};
|
|
20
|
-
if (this.enhancedConfig.enableWASM) {
|
|
21
|
-
this.initializeWASM();
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Initialize WASM acceleration
|
|
26
|
-
*/
|
|
27
|
-
initializeWASM() {
|
|
28
|
-
const mockDb = {
|
|
29
|
-
prepare: () => ({ all: () => [], get: () => null, run: () => ({}) }),
|
|
30
|
-
exec: () => { },
|
|
31
|
-
};
|
|
32
|
-
this.wasmSearch = new WASMVectorSearch(mockDb, {
|
|
33
|
-
enableWASM: true,
|
|
34
|
-
batchSize: this.enhancedConfig.batchSize || 100,
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Enhanced batch embedding with parallel processing
|
|
39
|
-
*/
|
|
40
|
-
async embedBatch(texts) {
|
|
41
|
-
if (!this.enhancedConfig.enableBatchProcessing || texts.length < 10) {
|
|
42
|
-
return super.embedBatch(texts);
|
|
43
|
-
}
|
|
44
|
-
const batchSize = this.enhancedConfig.batchSize || 100;
|
|
45
|
-
const batches = [];
|
|
46
|
-
// Split into batches
|
|
47
|
-
for (let i = 0; i < texts.length; i += batchSize) {
|
|
48
|
-
batches.push(texts.slice(i, i + batchSize));
|
|
49
|
-
}
|
|
50
|
-
// Process batches in parallel
|
|
51
|
-
const results = await Promise.all(batches.map(batch => super.embedBatch(batch)));
|
|
52
|
-
// Flatten results
|
|
53
|
-
return results.flat();
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Calculate similarity between two texts using WASM acceleration
|
|
57
|
-
*/
|
|
58
|
-
async similarity(textA, textB) {
|
|
59
|
-
const [embeddingA, embeddingB] = await Promise.all([
|
|
60
|
-
this.embed(textA),
|
|
61
|
-
this.embed(textB),
|
|
62
|
-
]);
|
|
63
|
-
if (this.wasmSearch) {
|
|
64
|
-
return this.wasmSearch.cosineSimilarity(embeddingA, embeddingB);
|
|
65
|
-
}
|
|
66
|
-
// Fallback to manual calculation
|
|
67
|
-
return this.cosineSimilarity(embeddingA, embeddingB);
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Find most similar texts from a corpus
|
|
71
|
-
*/
|
|
72
|
-
async findMostSimilar(query, corpus, k = 5) {
|
|
73
|
-
const queryEmbedding = await this.embed(query);
|
|
74
|
-
const corpusEmbeddings = await this.embedBatch(corpus);
|
|
75
|
-
let similarities;
|
|
76
|
-
if (this.wasmSearch) {
|
|
77
|
-
similarities = this.wasmSearch.batchSimilarity(queryEmbedding, corpusEmbeddings);
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
similarities = corpusEmbeddings.map(emb => this.cosineSimilarity(queryEmbedding, emb));
|
|
81
|
-
}
|
|
82
|
-
// Create results with indices
|
|
83
|
-
const results = corpus.map((text, index) => ({
|
|
84
|
-
text,
|
|
85
|
-
similarity: similarities[index],
|
|
86
|
-
index,
|
|
87
|
-
}));
|
|
88
|
-
// Sort by similarity and take top k
|
|
89
|
-
results.sort((a, b) => b.similarity - a.similarity);
|
|
90
|
-
return results.slice(0, k);
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Get service statistics
|
|
94
|
-
*/
|
|
95
|
-
getStats() {
|
|
96
|
-
const wasmStats = this.wasmSearch?.getStats();
|
|
97
|
-
return {
|
|
98
|
-
cacheSize: this.cache.size,
|
|
99
|
-
wasmEnabled: wasmStats?.wasmAvailable ?? false,
|
|
100
|
-
simdEnabled: wasmStats?.simdAvailable ?? false,
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Cosine similarity fallback
|
|
105
|
-
*/
|
|
106
|
-
cosineSimilarity(a, b) {
|
|
107
|
-
let dotProduct = 0;
|
|
108
|
-
let normA = 0;
|
|
109
|
-
let normB = 0;
|
|
110
|
-
for (let i = 0; i < a.length; i++) {
|
|
111
|
-
dotProduct += a[i] * b[i];
|
|
112
|
-
normA += a[i] * a[i];
|
|
113
|
-
normB += b[i] * b[i];
|
|
114
|
-
}
|
|
115
|
-
const denom = Math.sqrt(normA) * Math.sqrt(normB);
|
|
116
|
-
return denom === 0 ? 0 : dotProduct / denom;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
//# sourceMappingURL=EnhancedEmbeddingService.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EnhancedEmbeddingService.js","sourceRoot":"","sources":["../../src/controllers/EnhancedEmbeddingService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ExplainableRecall - Provenance and Justification for Memory Retrieval
|
|
3
|
-
*
|
|
4
|
-
* Every retrieval returns:
|
|
5
|
-
* - Minimal hitting set of facts that justify the answer
|
|
6
|
-
* - Merkle proof chain for provenance
|
|
7
|
-
* - Policy compliance certificates
|
|
8
|
-
*
|
|
9
|
-
* Based on:
|
|
10
|
-
* - Minimal hitting set algorithms
|
|
11
|
-
* - Merkle tree provenance
|
|
12
|
-
* - Explainable AI techniques
|
|
13
|
-
*/
|
|
14
|
-
type Database = any;
|
|
15
|
-
export interface RecallCertificate {
|
|
16
|
-
id: string;
|
|
17
|
-
queryId: string;
|
|
18
|
-
queryText: string;
|
|
19
|
-
chunkIds: string[];
|
|
20
|
-
chunkTypes: string[];
|
|
21
|
-
minimalWhy: string[];
|
|
22
|
-
redundancyRatio: number;
|
|
23
|
-
completenessScore: number;
|
|
24
|
-
merkleRoot: string;
|
|
25
|
-
sourceHashes: string[];
|
|
26
|
-
proofChain: MerkleProof[];
|
|
27
|
-
policyProof?: string;
|
|
28
|
-
policyVersion?: string;
|
|
29
|
-
accessLevel: 'public' | 'internal' | 'confidential' | 'restricted';
|
|
30
|
-
latencyMs?: number;
|
|
31
|
-
metadata?: Record<string, any>;
|
|
32
|
-
}
|
|
33
|
-
export interface MerkleProof {
|
|
34
|
-
hash: string;
|
|
35
|
-
position: 'left' | 'right';
|
|
36
|
-
}
|
|
37
|
-
export interface JustificationPath {
|
|
38
|
-
chunkId: string;
|
|
39
|
-
chunkType: string;
|
|
40
|
-
reason: 'semantic_match' | 'causal_link' | 'prerequisite' | 'constraint';
|
|
41
|
-
necessityScore: number;
|
|
42
|
-
pathElements: string[];
|
|
43
|
-
}
|
|
44
|
-
export interface ProvenanceSource {
|
|
45
|
-
id?: number;
|
|
46
|
-
sourceType: 'episode' | 'skill' | 'note' | 'fact' | 'external';
|
|
47
|
-
sourceId: number;
|
|
48
|
-
contentHash: string;
|
|
49
|
-
parentHash?: string;
|
|
50
|
-
derivedFrom?: string[];
|
|
51
|
-
creator?: string;
|
|
52
|
-
metadata?: Record<string, any>;
|
|
53
|
-
}
|
|
54
|
-
export declare class ExplainableRecall {
|
|
55
|
-
private db;
|
|
56
|
-
constructor(db: Database);
|
|
57
|
-
/**
|
|
58
|
-
* Create a recall certificate for a retrieval operation
|
|
59
|
-
*/
|
|
60
|
-
createCertificate(params: {
|
|
61
|
-
queryId: string;
|
|
62
|
-
queryText: string;
|
|
63
|
-
chunks: Array<{
|
|
64
|
-
id: string;
|
|
65
|
-
type: string;
|
|
66
|
-
content: string;
|
|
67
|
-
relevance: number;
|
|
68
|
-
}>;
|
|
69
|
-
requirements: string[];
|
|
70
|
-
accessLevel?: string;
|
|
71
|
-
}): RecallCertificate;
|
|
72
|
-
/**
|
|
73
|
-
* Verify a recall certificate
|
|
74
|
-
*/
|
|
75
|
-
verifyCertificate(certificateId: string): {
|
|
76
|
-
valid: boolean;
|
|
77
|
-
issues: string[];
|
|
78
|
-
};
|
|
79
|
-
/**
|
|
80
|
-
* Get justification for why a chunk was included
|
|
81
|
-
*/
|
|
82
|
-
getJustification(certificateId: string, chunkId: string): JustificationPath | null;
|
|
83
|
-
/**
|
|
84
|
-
* Get provenance lineage for a source
|
|
85
|
-
*/
|
|
86
|
-
getProvenanceLineage(contentHash: string): ProvenanceSource[];
|
|
87
|
-
/**
|
|
88
|
-
* Trace provenance lineage for a certificate
|
|
89
|
-
* Returns full provenance chain from certificate to original sources
|
|
90
|
-
*/
|
|
91
|
-
traceProvenance(certificateId: string): {
|
|
92
|
-
certificate: RecallCertificate;
|
|
93
|
-
sources: Map<string, ProvenanceSource[]>;
|
|
94
|
-
graph: {
|
|
95
|
-
nodes: Array<{
|
|
96
|
-
id: string;
|
|
97
|
-
type: string;
|
|
98
|
-
label: string;
|
|
99
|
-
}>;
|
|
100
|
-
edges: Array<{
|
|
101
|
-
from: string;
|
|
102
|
-
to: string;
|
|
103
|
-
type: string;
|
|
104
|
-
}>;
|
|
105
|
-
};
|
|
106
|
-
};
|
|
107
|
-
/**
|
|
108
|
-
* Audit certificate access
|
|
109
|
-
*/
|
|
110
|
-
auditCertificate(certificateId: string): {
|
|
111
|
-
certificate: RecallCertificate;
|
|
112
|
-
justifications: JustificationPath[];
|
|
113
|
-
provenance: Map<string, ProvenanceSource[]>;
|
|
114
|
-
quality: {
|
|
115
|
-
completeness: number;
|
|
116
|
-
redundancy: number;
|
|
117
|
-
avgNecessity: number;
|
|
118
|
-
};
|
|
119
|
-
};
|
|
120
|
-
/**
|
|
121
|
-
* Compute minimal hitting set using greedy algorithm
|
|
122
|
-
* A hitting set contains at least one element from each requirement
|
|
123
|
-
*/
|
|
124
|
-
private computeMinimalHittingSet;
|
|
125
|
-
/**
|
|
126
|
-
* Calculate completeness score
|
|
127
|
-
*/
|
|
128
|
-
private calculateCompleteness;
|
|
129
|
-
/**
|
|
130
|
-
* Get or create provenance record
|
|
131
|
-
*/
|
|
132
|
-
private getOrCreateProvenance;
|
|
133
|
-
private _episodeStmt?;
|
|
134
|
-
private _skillStmt?;
|
|
135
|
-
private _noteStmt?;
|
|
136
|
-
private _factStmt?;
|
|
137
|
-
/**
|
|
138
|
-
* Get content hash for a memory
|
|
139
|
-
*/
|
|
140
|
-
private getContentHash;
|
|
141
|
-
/**
|
|
142
|
-
* Build Merkle tree from hashes
|
|
143
|
-
*/
|
|
144
|
-
private buildMerkleTree;
|
|
145
|
-
/**
|
|
146
|
-
* Get Merkle proof for a leaf
|
|
147
|
-
*/
|
|
148
|
-
private getMerkleProof;
|
|
149
|
-
/**
|
|
150
|
-
* Generate certificate ID
|
|
151
|
-
*/
|
|
152
|
-
private generateCertificateId;
|
|
153
|
-
/**
|
|
154
|
-
* Store justification paths
|
|
155
|
-
*/
|
|
156
|
-
private storeJustificationPaths;
|
|
157
|
-
/**
|
|
158
|
-
* Determine reason for inclusion
|
|
159
|
-
*/
|
|
160
|
-
private determineReason;
|
|
161
|
-
}
|
|
162
|
-
export {};
|
|
163
|
-
//# sourceMappingURL=ExplainableRecall.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ExplainableRecall.d.ts","sourceRoot":"","sources":["../../src/controllers/ExplainableRecall.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,KAAK,QAAQ,GAAG,GAAG,CAAC;AAGpB,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAGlB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IAGrB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAG1B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,WAAW,EAAE,CAAC;IAG1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,QAAQ,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY,CAAC;IAEnE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,gBAAgB,GAAG,aAAa,GAAG,cAAc,GAAG,YAAY,CAAC;IACzE,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;IAC/D,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,EAAE,CAAW;gBAET,EAAE,EAAE,QAAQ;IAIxB;;OAEG;IACH,iBAAiB,CAAC,MAAM,EAAE;QACxB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAChF,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,iBAAiB;IA8ErB;;OAEG;IACH,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG;QACxC,KAAK,EAAE,OAAO,CAAC;QACf,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB;IA+CD;;OAEG;IACH,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI;IAiBlF;;OAEG;IACH,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB,EAAE;IA4B7D;;;OAGG;IACH,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG;QACtC,WAAW,EAAE,iBAAiB,CAAC;QAC/B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;QACzC,KAAK,EAAE;YACL,KAAK,EAAE,KAAK,CAAC;gBAAE,EAAE,EAAE,MAAM,CAAC;gBAAC,IAAI,EAAE,MAAM,CAAC;gBAAC,KAAK,EAAE,MAAM,CAAA;aAAE,CAAC,CAAC;YAC1D,KAAK,EAAE,KAAK,CAAC;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,EAAE,EAAE,MAAM,CAAC;gBAAC,IAAI,EAAE,MAAM,CAAA;aAAE,CAAC,CAAC;SAC1D,CAAC;KACH;IAuFD;;OAEG;IACH,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG;QACvC,WAAW,EAAE,iBAAiB,CAAC;QAC/B,cAAc,EAAE,iBAAiB,EAAE,CAAC;QACpC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC5C,OAAO,EAAE;YACP,YAAY,EAAE,MAAM,CAAC;YACrB,UAAU,EAAE,MAAM,CAAC;YACnB,YAAY,EAAE,MAAM,CAAC;SACtB,CAAC;KACH;IAiED;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IA6ChC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAkB7B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAuB7B,OAAO,CAAC,YAAY,CAAC,CAAM;IAC3B,OAAO,CAAC,UAAU,CAAC,CAAM;IACzB,OAAO,CAAC,SAAS,CAAC,CAAM;IACxB,OAAO,CAAC,SAAS,CAAC,CAAM;IAExB;;OAEG;IACH,OAAO,CAAC,cAAc;IAqCtB;;OAEG;IACH,OAAO,CAAC,eAAe;IA0BvB;;OAEG;IACH,OAAO,CAAC,cAAc;IAsBtB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAK7B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAkC/B;;OAEG;IACH,OAAO,CAAC,eAAe;CASxB"}
|