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,190 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WASM Vector Search - Usage Examples
|
|
3
|
-
*
|
|
4
|
-
* Demonstrates how to use WASM-accelerated vector operations in AgentDB
|
|
5
|
-
*/
|
|
6
|
-
// @ts-ignore - Optional dependency
|
|
7
|
-
import Database from 'better-sqlite3';
|
|
8
|
-
import { WASMVectorSearch } from '../controllers/WASMVectorSearch.js';
|
|
9
|
-
import { EnhancedEmbeddingService } from '../controllers/EnhancedEmbeddingService.js';
|
|
10
|
-
// Example 1: Basic Vector Similarity
|
|
11
|
-
async function basicSimilarity() {
|
|
12
|
-
console.log('=== Example 1: Basic Vector Similarity ===\n');
|
|
13
|
-
const db = new Database(':memory:');
|
|
14
|
-
const wasmSearch = new WASMVectorSearch(db);
|
|
15
|
-
const vectorA = new Float32Array([1, 0, 0]);
|
|
16
|
-
const vectorB = new Float32Array([0.7, 0.7, 0]);
|
|
17
|
-
const similarity = wasmSearch.cosineSimilarity(vectorA, vectorB);
|
|
18
|
-
console.log(`Cosine similarity: ${similarity.toFixed(4)}\n`);
|
|
19
|
-
db.close();
|
|
20
|
-
}
|
|
21
|
-
// Example 2: Batch Vector Processing
|
|
22
|
-
async function batchProcessing() {
|
|
23
|
-
console.log('=== Example 2: Batch Vector Processing ===\n');
|
|
24
|
-
const db = new Database(':memory:');
|
|
25
|
-
const wasmSearch = new WASMVectorSearch(db);
|
|
26
|
-
const query = new Float32Array(384).fill(0.5);
|
|
27
|
-
const vectors = [];
|
|
28
|
-
// Generate 1000 random vectors
|
|
29
|
-
for (let i = 0; i < 1000; i++) {
|
|
30
|
-
const vec = new Float32Array(384);
|
|
31
|
-
for (let j = 0; j < 384; j++) {
|
|
32
|
-
vec[j] = Math.random();
|
|
33
|
-
}
|
|
34
|
-
vectors.push(vec);
|
|
35
|
-
}
|
|
36
|
-
const startTime = performance.now();
|
|
37
|
-
const similarities = wasmSearch.batchSimilarity(query, vectors);
|
|
38
|
-
const duration = performance.now() - startTime;
|
|
39
|
-
console.log(`Processed ${vectors.length} vectors in ${duration.toFixed(2)}ms`);
|
|
40
|
-
console.log(`Throughput: ${((vectors.length / duration) * 1000).toFixed(0)} vectors/sec`);
|
|
41
|
-
console.log(`Average similarity: ${(similarities.reduce((a, b) => a + b) / similarities.length).toFixed(4)}\n`);
|
|
42
|
-
db.close();
|
|
43
|
-
}
|
|
44
|
-
// Example 3: Build and Search Index
|
|
45
|
-
async function indexSearch() {
|
|
46
|
-
console.log('=== Example 3: Index Building and Search ===\n');
|
|
47
|
-
const db = new Database(':memory:');
|
|
48
|
-
const wasmSearch = new WASMVectorSearch(db, { indexThreshold: 500 });
|
|
49
|
-
const vectors = [];
|
|
50
|
-
const ids = [];
|
|
51
|
-
const dimensions = 128;
|
|
52
|
-
// Generate 1500 vectors
|
|
53
|
-
for (let i = 0; i < 1500; i++) {
|
|
54
|
-
const vec = new Float32Array(dimensions);
|
|
55
|
-
for (let j = 0; j < dimensions; j++) {
|
|
56
|
-
vec[j] = Math.random();
|
|
57
|
-
}
|
|
58
|
-
vectors.push(vec);
|
|
59
|
-
ids.push(i);
|
|
60
|
-
}
|
|
61
|
-
console.log(`Building index for ${vectors.length} vectors...`);
|
|
62
|
-
const buildStart = performance.now();
|
|
63
|
-
wasmSearch.buildIndex(vectors, ids);
|
|
64
|
-
const buildTime = performance.now() - buildStart;
|
|
65
|
-
console.log(`Index built in ${buildTime.toFixed(2)}ms\n`);
|
|
66
|
-
// Search the index
|
|
67
|
-
const query = new Float32Array(dimensions).fill(0.5);
|
|
68
|
-
const searchStart = performance.now();
|
|
69
|
-
const results = wasmSearch.searchIndex(query, 10, 0.5);
|
|
70
|
-
const searchTime = performance.now() - searchStart;
|
|
71
|
-
console.log(`Search completed in ${searchTime.toFixed(2)}ms`);
|
|
72
|
-
console.log(`Found ${results.length} results:\n`);
|
|
73
|
-
results.slice(0, 5).forEach((result, idx) => {
|
|
74
|
-
console.log(` ${idx + 1}. ID: ${result.id}, Similarity: ${result.similarity.toFixed(4)}`);
|
|
75
|
-
});
|
|
76
|
-
const stats = wasmSearch.getStats();
|
|
77
|
-
console.log(`\nIndex stats:`);
|
|
78
|
-
console.log(` WASM: ${stats.wasmAvailable}`);
|
|
79
|
-
console.log(` SIMD: ${stats.simdAvailable}`);
|
|
80
|
-
console.log(` Index size: ${stats.indexSize} vectors\n`);
|
|
81
|
-
db.close();
|
|
82
|
-
}
|
|
83
|
-
// Example 4: Enhanced Embedding Service
|
|
84
|
-
async function enhancedEmbeddings() {
|
|
85
|
-
console.log('=== Example 4: Enhanced Embedding Service ===\n');
|
|
86
|
-
const embedder = new EnhancedEmbeddingService({
|
|
87
|
-
model: 'mock-model',
|
|
88
|
-
dimension: 384,
|
|
89
|
-
provider: 'local',
|
|
90
|
-
enableWASM: true,
|
|
91
|
-
enableBatchProcessing: true,
|
|
92
|
-
batchSize: 50,
|
|
93
|
-
});
|
|
94
|
-
await embedder.initialize();
|
|
95
|
-
// Batch embedding
|
|
96
|
-
const texts = [
|
|
97
|
-
'machine learning',
|
|
98
|
-
'artificial intelligence',
|
|
99
|
-
'deep learning',
|
|
100
|
-
'neural networks',
|
|
101
|
-
'natural language processing',
|
|
102
|
-
];
|
|
103
|
-
console.log('Batch embedding texts...');
|
|
104
|
-
const startTime = performance.now();
|
|
105
|
-
const embeddings = await embedder.embedBatch(texts);
|
|
106
|
-
const duration = performance.now() - startTime;
|
|
107
|
-
console.log(`Embedded ${texts.length} texts in ${duration.toFixed(2)}ms`);
|
|
108
|
-
console.log(`Average time per text: ${(duration / texts.length).toFixed(2)}ms\n`);
|
|
109
|
-
// Text similarity
|
|
110
|
-
const similarity = await embedder.similarity('machine learning', 'deep learning');
|
|
111
|
-
console.log(`Similarity between "machine learning" and "deep learning": ${similarity.toFixed(4)}\n`);
|
|
112
|
-
// Semantic search
|
|
113
|
-
const corpus = [
|
|
114
|
-
'machine learning algorithms',
|
|
115
|
-
'artificial intelligence research',
|
|
116
|
-
'cooking pasta recipe',
|
|
117
|
-
'neural network training',
|
|
118
|
-
'travel destinations',
|
|
119
|
-
'deep learning frameworks',
|
|
120
|
-
];
|
|
121
|
-
console.log('Finding most similar texts to "AI and ML"...');
|
|
122
|
-
const results = await embedder.findMostSimilar('AI and ML', corpus, 3);
|
|
123
|
-
results.forEach((result, idx) => {
|
|
124
|
-
console.log(` ${idx + 1}. "${result.text}" - Similarity: ${result.similarity.toFixed(4)}`);
|
|
125
|
-
});
|
|
126
|
-
const stats = embedder.getStats();
|
|
127
|
-
console.log(`\nService stats:`);
|
|
128
|
-
console.log(` Cache size: ${stats.cacheSize}`);
|
|
129
|
-
console.log(` WASM enabled: ${stats.wasmEnabled}`);
|
|
130
|
-
console.log(` SIMD enabled: ${stats.simdEnabled}\n`);
|
|
131
|
-
}
|
|
132
|
-
// Example 5: Realistic Use Case - Document Search
|
|
133
|
-
async function documentSearch() {
|
|
134
|
-
console.log('=== Example 5: Realistic Document Search ===\n');
|
|
135
|
-
const documents = [
|
|
136
|
-
{ id: 1, title: 'Introduction to Machine Learning', content: 'Machine learning is a subset of artificial intelligence...' },
|
|
137
|
-
{ id: 2, title: 'Deep Learning Fundamentals', content: 'Deep learning uses neural networks with multiple layers...' },
|
|
138
|
-
{ id: 3, title: 'Natural Language Processing', content: 'NLP enables computers to understand human language...' },
|
|
139
|
-
{ id: 4, title: 'Computer Vision Basics', content: 'Computer vision allows machines to interpret visual data...' },
|
|
140
|
-
{ id: 5, title: 'Italian Cuisine Recipes', content: 'Traditional Italian cooking techniques and pasta recipes...' },
|
|
141
|
-
];
|
|
142
|
-
const embedder = new EnhancedEmbeddingService({
|
|
143
|
-
model: 'mock-model',
|
|
144
|
-
dimension: 384,
|
|
145
|
-
provider: 'local',
|
|
146
|
-
enableWASM: true,
|
|
147
|
-
});
|
|
148
|
-
await embedder.initialize();
|
|
149
|
-
// Embed all documents
|
|
150
|
-
console.log('Indexing documents...');
|
|
151
|
-
const docTexts = documents.map(d => `${d.title}. ${d.content}`);
|
|
152
|
-
const docEmbeddings = await embedder.embedBatch(docTexts);
|
|
153
|
-
// Search
|
|
154
|
-
const query = 'What are neural networks?';
|
|
155
|
-
console.log(`\nSearching for: "${query}"\n`);
|
|
156
|
-
const queryEmbedding = await embedder.embed(query);
|
|
157
|
-
const db = new Database(':memory:');
|
|
158
|
-
const wasmSearch = new WASMVectorSearch(db, { indexThreshold: 3 });
|
|
159
|
-
wasmSearch.buildIndex(docEmbeddings, documents.map(d => d.id));
|
|
160
|
-
const results = wasmSearch.searchIndex(queryEmbedding, 3);
|
|
161
|
-
console.log('Search results:');
|
|
162
|
-
results.forEach((result, idx) => {
|
|
163
|
-
const doc = documents.find(d => d.id === result.id);
|
|
164
|
-
console.log(` ${idx + 1}. ${doc.title}`);
|
|
165
|
-
console.log(` Relevance: ${(result.similarity * 100).toFixed(1)}%`);
|
|
166
|
-
console.log(` Content: ${doc.content.substring(0, 60)}...`);
|
|
167
|
-
console.log();
|
|
168
|
-
});
|
|
169
|
-
db.close();
|
|
170
|
-
}
|
|
171
|
-
// Run all examples
|
|
172
|
-
async function main() {
|
|
173
|
-
console.log('\n');
|
|
174
|
-
console.log('╔════════════════════════════════════════════════════════════════╗');
|
|
175
|
-
console.log('║ WASM Vector Search - Usage Examples ║');
|
|
176
|
-
console.log('╚════════════════════════════════════════════════════════════════╝');
|
|
177
|
-
console.log('\n');
|
|
178
|
-
await basicSimilarity();
|
|
179
|
-
await batchProcessing();
|
|
180
|
-
await indexSearch();
|
|
181
|
-
await enhancedEmbeddings();
|
|
182
|
-
await documentSearch();
|
|
183
|
-
console.log('✅ All examples completed successfully!\n');
|
|
184
|
-
}
|
|
185
|
-
// Execute if run directly
|
|
186
|
-
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
187
|
-
main().catch(console.error);
|
|
188
|
-
}
|
|
189
|
-
export { basicSimilarity, batchProcessing, indexSearch, enhancedEmbeddings, documentSearch, };
|
|
190
|
-
//# sourceMappingURL=wasm-vector-usage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wasm-vector-usage.js","sourceRoot":"","sources":["../../src/examples/wasm-vector-usage.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* AgentDB - Main Entry Point
|
|
3
|
-
*
|
|
4
|
-
* Frontier Memory Features with MCP Integration:
|
|
5
|
-
* - Causal reasoning and memory graphs
|
|
6
|
-
* - Reflexion memory with self-critique
|
|
7
|
-
* - Skill library with automated learning
|
|
8
|
-
* - Vector search with embeddings
|
|
9
|
-
* - Reinforcement learning (9 algorithms)
|
|
10
|
-
*/
|
|
11
|
-
export { CausalMemoryGraph } from './controllers/CausalMemoryGraph.js';
|
|
12
|
-
export { CausalRecall } from './controllers/CausalRecall.js';
|
|
13
|
-
export { ExplainableRecall } from './controllers/ExplainableRecall.js';
|
|
14
|
-
export { NightlyLearner } from './controllers/NightlyLearner.js';
|
|
15
|
-
export { ReflexionMemory } from './controllers/ReflexionMemory.js';
|
|
16
|
-
export { SkillLibrary } from './controllers/SkillLibrary.js';
|
|
17
|
-
export { LearningSystem } from './controllers/LearningSystem.js';
|
|
18
|
-
export { ReasoningBank } from './controllers/ReasoningBank.js';
|
|
19
|
-
export { EmbeddingService } from './controllers/EmbeddingService.js';
|
|
20
|
-
export { EnhancedEmbeddingService } from './controllers/EnhancedEmbeddingService.js';
|
|
21
|
-
export { WASMVectorSearch } from './controllers/WASMVectorSearch.js';
|
|
22
|
-
export { HNSWIndex } from './controllers/HNSWIndex.js';
|
|
23
|
-
export { createDatabase } from './db-fallback.js';
|
|
24
|
-
export { BatchOperations } from './optimizations/BatchOperations.js';
|
|
25
|
-
export { QueryOptimizer } from './optimizations/QueryOptimizer.js';
|
|
26
|
-
export { validateTableName, validateColumnName, validatePragmaCommand, buildSafeWhereClause, buildSafeSetClause, ValidationError } from './security/input-validation.js';
|
|
27
|
-
export * from './controllers/index.js';
|
|
28
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAG/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAGrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAGvD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAGnE,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EAChB,MAAM,gCAAgC,CAAC;AAGxC,cAAc,wBAAwB,CAAC"}
|
package/dist/index.js
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* AgentDB - Main Entry Point
|
|
3
|
-
*
|
|
4
|
-
* Frontier Memory Features with MCP Integration:
|
|
5
|
-
* - Causal reasoning and memory graphs
|
|
6
|
-
* - Reflexion memory with self-critique
|
|
7
|
-
* - Skill library with automated learning
|
|
8
|
-
* - Vector search with embeddings
|
|
9
|
-
* - Reinforcement learning (9 algorithms)
|
|
10
|
-
*/
|
|
11
|
-
// Core controllers
|
|
12
|
-
export { CausalMemoryGraph } from './controllers/CausalMemoryGraph.js';
|
|
13
|
-
export { CausalRecall } from './controllers/CausalRecall.js';
|
|
14
|
-
export { ExplainableRecall } from './controllers/ExplainableRecall.js';
|
|
15
|
-
export { NightlyLearner } from './controllers/NightlyLearner.js';
|
|
16
|
-
export { ReflexionMemory } from './controllers/ReflexionMemory.js';
|
|
17
|
-
export { SkillLibrary } from './controllers/SkillLibrary.js';
|
|
18
|
-
export { LearningSystem } from './controllers/LearningSystem.js';
|
|
19
|
-
export { ReasoningBank } from './controllers/ReasoningBank.js';
|
|
20
|
-
// Embedding services
|
|
21
|
-
export { EmbeddingService } from './controllers/EmbeddingService.js';
|
|
22
|
-
export { EnhancedEmbeddingService } from './controllers/EnhancedEmbeddingService.js';
|
|
23
|
-
// WASM acceleration and HNSW indexing
|
|
24
|
-
export { WASMVectorSearch } from './controllers/WASMVectorSearch.js';
|
|
25
|
-
export { HNSWIndex } from './controllers/HNSWIndex.js';
|
|
26
|
-
// Database utilities
|
|
27
|
-
export { createDatabase } from './db-fallback.js';
|
|
28
|
-
// Optimizations
|
|
29
|
-
export { BatchOperations } from './optimizations/BatchOperations.js';
|
|
30
|
-
export { QueryOptimizer } from './optimizations/QueryOptimizer.js';
|
|
31
|
-
// Security
|
|
32
|
-
export { validateTableName, validateColumnName, validatePragmaCommand, buildSafeWhereClause, buildSafeSetClause, ValidationError } from './security/input-validation.js';
|
|
33
|
-
// Re-export all controllers for convenience
|
|
34
|
-
export * from './controllers/index.js';
|
|
35
|
-
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,mBAAmB;AACnB,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,qBAAqB;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAErF,sCAAsC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,qBAAqB;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,gBAAgB;AAChB,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEnE,WAAW;AACX,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EAChB,MAAM,gCAAgC,CAAC;AAExC,4CAA4C;AAC5C,cAAc,wBAAwB,CAAC"}
|
package/dist/malp/core/ccc.d.ts
DELETED
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Concordance Correlation Coefficient (CCC) Module
|
|
3
|
-
*
|
|
4
|
-
* Provides functions for computing CCC and related metrics.
|
|
5
|
-
* CCC measures agreement between two continuous measurements.
|
|
6
|
-
*/
|
|
7
|
-
import { Vector } from './linalg';
|
|
8
|
-
/**
|
|
9
|
-
* Components of the CCC calculation
|
|
10
|
-
*/
|
|
11
|
-
export interface CCCComponents {
|
|
12
|
-
/** Pearson correlation coefficient */
|
|
13
|
-
rho: number;
|
|
14
|
-
/** Mean of first variable */
|
|
15
|
-
muX: number;
|
|
16
|
-
/** Mean of second variable */
|
|
17
|
-
muY: number;
|
|
18
|
-
/** Standard deviation of first variable */
|
|
19
|
-
sigmaX: number;
|
|
20
|
-
/** Standard deviation of second variable */
|
|
21
|
-
sigmaY: number;
|
|
22
|
-
/** Location shift component (bias) */
|
|
23
|
-
locationShift: number;
|
|
24
|
-
/** Scale shift component */
|
|
25
|
-
scaleShift: number;
|
|
26
|
-
/** Precision (correlation) */
|
|
27
|
-
precision: number;
|
|
28
|
-
/** Accuracy (bias correction factor) */
|
|
29
|
-
accuracy: number;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Result of CCC computation
|
|
33
|
-
*/
|
|
34
|
-
export interface CCCResult {
|
|
35
|
-
/** Concordance Correlation Coefficient (-1 to 1) */
|
|
36
|
-
ccc: number;
|
|
37
|
-
/** Detailed components breakdown */
|
|
38
|
-
components: CCCComponents;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Compute Concordance Correlation Coefficient
|
|
42
|
-
*
|
|
43
|
-
* CCC measures agreement between two continuous measurements.
|
|
44
|
-
* Range: [-1, 1], where 1 = perfect agreement
|
|
45
|
-
*
|
|
46
|
-
* Formula: CCC = 2 * cov(x,y) / (var(x) + var(y) + (mean(x) - mean(y))^2)
|
|
47
|
-
*
|
|
48
|
-
* @param x - First variable (reference/gold standard)
|
|
49
|
-
* @param y - Second variable (new/test method)
|
|
50
|
-
* @returns CCC result with components
|
|
51
|
-
*/
|
|
52
|
-
export declare function computeCCC(x: number[] | Vector, y: number[] | Vector): CCCResult;
|
|
53
|
-
/**
|
|
54
|
-
* Alternative implementation using explicit formula
|
|
55
|
-
* Same as computeCCC but more explicit
|
|
56
|
-
*/
|
|
57
|
-
export declare function calculateCCC(x: number[] | Vector, y: number[] | Vector): CCCResult;
|
|
58
|
-
/**
|
|
59
|
-
* Compute gradient of CCC with respect to predictions
|
|
60
|
-
*
|
|
61
|
-
* Useful for optimization algorithms that maximize CCC.
|
|
62
|
-
*
|
|
63
|
-
* @param x - Observed values
|
|
64
|
-
* @param y - Predicted values
|
|
65
|
-
* @returns Gradient vector
|
|
66
|
-
*/
|
|
67
|
-
export declare function computeCCCGradient(x: number[] | Vector, y: number[] | Vector): number[];
|
|
68
|
-
/**
|
|
69
|
-
* Compute diagonal of Hessian matrix for CCC
|
|
70
|
-
* (approximate second derivatives)
|
|
71
|
-
*
|
|
72
|
-
* @param x - Observed values
|
|
73
|
-
* @param y - Predicted values
|
|
74
|
-
* @returns Diagonal Hessian elements
|
|
75
|
-
*/
|
|
76
|
-
export declare function computeCCCHessianDiagonal(x: number[] | Vector, y: number[] | Vector): number[];
|
|
77
|
-
/**
|
|
78
|
-
* CCC-based loss function (negative CCC for minimization)
|
|
79
|
-
*
|
|
80
|
-
* @param x - Observed values
|
|
81
|
-
* @param y - Predicted values
|
|
82
|
-
* @returns Negative CCC (for minimization)
|
|
83
|
-
*/
|
|
84
|
-
export declare function cccLoss(x: number[] | Vector, y: number[] | Vector): number;
|
|
85
|
-
/**
|
|
86
|
-
* Interpret CCC value
|
|
87
|
-
*
|
|
88
|
-
* @param ccc - CCC value
|
|
89
|
-
* @returns Human-readable interpretation
|
|
90
|
-
*/
|
|
91
|
-
export declare function interpretCCC(ccc: number): string;
|
|
92
|
-
/**
|
|
93
|
-
* Validate CCC value is within expected range
|
|
94
|
-
*
|
|
95
|
-
* @param ccc - CCC value to validate
|
|
96
|
-
* @throws Error if CCC is outside [-1, 1] range
|
|
97
|
-
*/
|
|
98
|
-
export declare function validateCCC(ccc: number): void;
|
|
99
|
-
//# sourceMappingURL=ccc.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ccc.d.ts","sourceRoot":"","sources":["../../../src/malp/core/ccc.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAoD,MAAM,UAAU,CAAC;AAEpF;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,sCAAsC;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,6BAA6B;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,8BAA8B;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,aAAa,EAAE,MAAM,CAAC;IACtB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,oDAAoD;IACpD,GAAG,EAAE,MAAM,CAAC;IACZ,oCAAoC;IACpC,UAAU,EAAE,aAAa,CAAC;CAC3B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CACxB,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EACpB,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,GACnB,SAAS,CAsDX;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EACpB,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,GACnB,SAAS,CAEX;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EACpB,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,GACnB,MAAM,EAAE,CA6BV;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EACpB,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,GACnB,MAAM,EAAE,CA4BV;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,MAAM,CAE1E;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAYhD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAQ7C"}
|
package/dist/malp/core/ccc.js
DELETED
|
@@ -1,181 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Concordance Correlation Coefficient (CCC) Module
|
|
3
|
-
*
|
|
4
|
-
* Provides functions for computing CCC and related metrics.
|
|
5
|
-
* CCC measures agreement between two continuous measurements.
|
|
6
|
-
*/
|
|
7
|
-
import { createVector, mean, std, covariance, pearsonCorr } from './linalg';
|
|
8
|
-
/**
|
|
9
|
-
* Compute Concordance Correlation Coefficient
|
|
10
|
-
*
|
|
11
|
-
* CCC measures agreement between two continuous measurements.
|
|
12
|
-
* Range: [-1, 1], where 1 = perfect agreement
|
|
13
|
-
*
|
|
14
|
-
* Formula: CCC = 2 * cov(x,y) / (var(x) + var(y) + (mean(x) - mean(y))^2)
|
|
15
|
-
*
|
|
16
|
-
* @param x - First variable (reference/gold standard)
|
|
17
|
-
* @param y - Second variable (new/test method)
|
|
18
|
-
* @returns CCC result with components
|
|
19
|
-
*/
|
|
20
|
-
export function computeCCC(x, y) {
|
|
21
|
-
const xVec = Array.isArray(x) ? createVector(x) : x;
|
|
22
|
-
const yVec = Array.isArray(y) ? createVector(y) : y;
|
|
23
|
-
if (xVec.length !== yVec.length) {
|
|
24
|
-
throw new Error(`Vector length mismatch: ${xVec.length} !== ${yVec.length}`);
|
|
25
|
-
}
|
|
26
|
-
if (xVec.length === 0) {
|
|
27
|
-
throw new Error('Cannot compute CCC on empty vectors');
|
|
28
|
-
}
|
|
29
|
-
// Compute basic statistics
|
|
30
|
-
const muX = mean(xVec);
|
|
31
|
-
const muY = mean(yVec);
|
|
32
|
-
const sigmaX = std(xVec, muX);
|
|
33
|
-
const sigmaY = std(yVec, muY);
|
|
34
|
-
const rho = pearsonCorr(xVec, yVec);
|
|
35
|
-
// CCC components
|
|
36
|
-
const locationShift = muX - muY;
|
|
37
|
-
const scaleShift = sigmaX / sigmaY;
|
|
38
|
-
const precision = rho;
|
|
39
|
-
const accuracy = 2.0 / (scaleShift + 1.0 / scaleShift);
|
|
40
|
-
// CCC formula: 2 * cov(x,y) / (var(x) + var(y) + (mean(x) - mean(y))^2)
|
|
41
|
-
const cov = covariance(xVec, yVec);
|
|
42
|
-
const varX = sigmaX * sigmaX;
|
|
43
|
-
const varY = sigmaY * sigmaY;
|
|
44
|
-
const meanDiffSq = locationShift * locationShift;
|
|
45
|
-
const numerator = 2.0 * cov;
|
|
46
|
-
const denominator = varX + varY + meanDiffSq;
|
|
47
|
-
if (denominator === 0) {
|
|
48
|
-
throw new Error('Division by zero in CCC calculation (constant values?)');
|
|
49
|
-
}
|
|
50
|
-
const ccc = numerator / denominator;
|
|
51
|
-
return {
|
|
52
|
-
ccc,
|
|
53
|
-
components: {
|
|
54
|
-
rho,
|
|
55
|
-
muX,
|
|
56
|
-
muY,
|
|
57
|
-
sigmaX,
|
|
58
|
-
sigmaY,
|
|
59
|
-
locationShift,
|
|
60
|
-
scaleShift,
|
|
61
|
-
precision,
|
|
62
|
-
accuracy,
|
|
63
|
-
},
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Alternative implementation using explicit formula
|
|
68
|
-
* Same as computeCCC but more explicit
|
|
69
|
-
*/
|
|
70
|
-
export function calculateCCC(x, y) {
|
|
71
|
-
return computeCCC(x, y);
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Compute gradient of CCC with respect to predictions
|
|
75
|
-
*
|
|
76
|
-
* Useful for optimization algorithms that maximize CCC.
|
|
77
|
-
*
|
|
78
|
-
* @param x - Observed values
|
|
79
|
-
* @param y - Predicted values
|
|
80
|
-
* @returns Gradient vector
|
|
81
|
-
*/
|
|
82
|
-
export function computeCCCGradient(x, y) {
|
|
83
|
-
const xVec = Array.isArray(x) ? createVector(x) : x;
|
|
84
|
-
const yVec = Array.isArray(y) ? createVector(y) : y;
|
|
85
|
-
if (xVec.length !== yVec.length) {
|
|
86
|
-
throw new Error('Vector length mismatch');
|
|
87
|
-
}
|
|
88
|
-
const n = xVec.length;
|
|
89
|
-
const muX = mean(xVec);
|
|
90
|
-
const muY = mean(yVec);
|
|
91
|
-
const sigmaX = std(xVec, muX);
|
|
92
|
-
const sigmaY = std(yVec, muY);
|
|
93
|
-
// Numerical gradient using finite differences
|
|
94
|
-
const epsilon = 1e-7;
|
|
95
|
-
const gradient = [];
|
|
96
|
-
for (let i = 0; i < n; i++) {
|
|
97
|
-
const yPerturbed = [...yVec.data];
|
|
98
|
-
yPerturbed[i] += epsilon;
|
|
99
|
-
const cccOriginal = computeCCC(xVec, yVec).ccc;
|
|
100
|
-
const cccPerturbed = computeCCC(xVec, createVector(yPerturbed)).ccc;
|
|
101
|
-
gradient.push((cccPerturbed - cccOriginal) / epsilon);
|
|
102
|
-
}
|
|
103
|
-
return gradient;
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Compute diagonal of Hessian matrix for CCC
|
|
107
|
-
* (approximate second derivatives)
|
|
108
|
-
*
|
|
109
|
-
* @param x - Observed values
|
|
110
|
-
* @param y - Predicted values
|
|
111
|
-
* @returns Diagonal Hessian elements
|
|
112
|
-
*/
|
|
113
|
-
export function computeCCCHessianDiagonal(x, y) {
|
|
114
|
-
const xVec = Array.isArray(x) ? createVector(x) : x;
|
|
115
|
-
const yVec = Array.isArray(y) ? createVector(y) : y;
|
|
116
|
-
const n = xVec.length;
|
|
117
|
-
const epsilon = 1e-6;
|
|
118
|
-
const hessian = [];
|
|
119
|
-
for (let i = 0; i < n; i++) {
|
|
120
|
-
// Compute f(x + h)
|
|
121
|
-
const yPlus = [...yVec.data];
|
|
122
|
-
yPlus[i] += epsilon;
|
|
123
|
-
const cccPlus = computeCCC(xVec, createVector(yPlus)).ccc;
|
|
124
|
-
// Compute f(x - h)
|
|
125
|
-
const yMinus = [...yVec.data];
|
|
126
|
-
yMinus[i] -= epsilon;
|
|
127
|
-
const cccMinus = computeCCC(xVec, createVector(yMinus)).ccc;
|
|
128
|
-
// Compute f(x)
|
|
129
|
-
const cccCurrent = computeCCC(xVec, yVec).ccc;
|
|
130
|
-
// Second derivative: (f(x+h) - 2f(x) + f(x-h)) / h^2
|
|
131
|
-
const secondDerivative = (cccPlus - 2 * cccCurrent + cccMinus) / (epsilon * epsilon);
|
|
132
|
-
hessian.push(secondDerivative);
|
|
133
|
-
}
|
|
134
|
-
return hessian;
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* CCC-based loss function (negative CCC for minimization)
|
|
138
|
-
*
|
|
139
|
-
* @param x - Observed values
|
|
140
|
-
* @param y - Predicted values
|
|
141
|
-
* @returns Negative CCC (for minimization)
|
|
142
|
-
*/
|
|
143
|
-
export function cccLoss(x, y) {
|
|
144
|
-
return -computeCCC(x, y).ccc;
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* Interpret CCC value
|
|
148
|
-
*
|
|
149
|
-
* @param ccc - CCC value
|
|
150
|
-
* @returns Human-readable interpretation
|
|
151
|
-
*/
|
|
152
|
-
export function interpretCCC(ccc) {
|
|
153
|
-
const absCcc = Math.abs(ccc);
|
|
154
|
-
if (absCcc < 0.90) {
|
|
155
|
-
return 'Poor agreement';
|
|
156
|
-
}
|
|
157
|
-
else if (absCcc < 0.95) {
|
|
158
|
-
return 'Moderate agreement';
|
|
159
|
-
}
|
|
160
|
-
else if (absCcc < 0.99) {
|
|
161
|
-
return 'Substantial agreement';
|
|
162
|
-
}
|
|
163
|
-
else {
|
|
164
|
-
return 'Almost perfect agreement';
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* Validate CCC value is within expected range
|
|
169
|
-
*
|
|
170
|
-
* @param ccc - CCC value to validate
|
|
171
|
-
* @throws Error if CCC is outside [-1, 1] range
|
|
172
|
-
*/
|
|
173
|
-
export function validateCCC(ccc) {
|
|
174
|
-
if (!isFinite(ccc)) {
|
|
175
|
-
throw new Error('CCC must be a finite number');
|
|
176
|
-
}
|
|
177
|
-
if (ccc < -1.0 || ccc > 1.0) {
|
|
178
|
-
throw new Error(`CCC must be in range [-1, 1], got ${ccc}`);
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
//# sourceMappingURL=ccc.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ccc.js","sourceRoot":"","sources":["../../../src/malp/core/ccc.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/malp/core/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC"}
|
package/dist/malp/core/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/malp/core/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC"}
|