kynjal-cli 4.0.0 → 4.0.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/src/appliance/gguf-engine.d.ts +91 -0
- package/dist/src/appliance/gguf-engine.d.ts.map +1 -0
- package/dist/src/appliance/gguf-engine.js +286 -525
- package/dist/src/appliance/gguf-engine.js.map +1 -1
- package/dist/src/appliance/ruvllm-bridge.d.ts +102 -0
- package/dist/src/appliance/ruvllm-bridge.d.ts.map +1 -0
- package/dist/src/appliance/ruvllm-bridge.js +203 -403
- package/dist/src/appliance/ruvllm-bridge.js.map +1 -1
- package/dist/src/appliance/rvfa-builder.d.ts +44 -0
- package/dist/src/appliance/rvfa-builder.d.ts.map +1 -0
- package/dist/src/appliance/rvfa-builder.js +154 -208
- package/dist/src/appliance/rvfa-builder.js.map +1 -1
- package/dist/src/appliance/rvfa-distribution.d.ts +97 -0
- package/dist/src/appliance/rvfa-distribution.d.ts.map +1 -0
- package/dist/src/appliance/rvfa-distribution.js +260 -423
- package/dist/src/appliance/rvfa-distribution.js.map +1 -1
- package/dist/src/appliance/rvfa-format.d.ts +111 -0
- package/dist/src/appliance/rvfa-format.d.ts.map +1 -0
- package/dist/src/appliance/rvfa-format.js +128 -200
- package/dist/src/appliance/rvfa-format.js.map +1 -1
- package/dist/src/appliance/rvfa-runner.d.ts +69 -0
- package/dist/src/appliance/rvfa-runner.d.ts.map +1 -0
- package/dist/src/appliance/rvfa-runner.js +168 -304
- package/dist/src/appliance/rvfa-runner.js.map +1 -1
- package/dist/src/appliance/rvfa-signing.d.ts +123 -0
- package/dist/src/appliance/rvfa-signing.d.ts.map +1 -0
- package/dist/src/appliance/rvfa-signing.js +173 -295
- package/dist/src/appliance/rvfa-signing.js.map +1 -1
- package/dist/src/benchmarks/pretrain/index.d.ts +58 -0
- package/dist/src/benchmarks/pretrain/index.d.ts.map +1 -0
- package/dist/src/benchmarks/pretrain/index.js +331 -542
- package/dist/src/benchmarks/pretrain/index.js.map +1 -1
- package/dist/src/commands/agent.js +574 -697
- package/dist/src/commands/agent.js.map +1 -1
- package/dist/src/commands/analyze.js +1218 -1548
- package/dist/src/commands/analyze.js.map +1 -1
- package/dist/src/commands/appliance-advanced.js +158 -267
- package/dist/src/commands/appliance-advanced.js.map +1 -1
- package/dist/src/commands/appliance.js +318 -493
- package/dist/src/commands/appliance.js.map +1 -1
- package/dist/src/commands/benchmark.js +372 -523
- package/dist/src/commands/benchmark.js.map +1 -1
- package/dist/src/commands/claims.js +274 -364
- package/dist/src/commands/claims.js.map +1 -1
- package/dist/src/commands/cleanup.js +113 -157
- package/dist/src/commands/cleanup.js.map +1 -1
- package/dist/src/commands/completions.js +477 -118
- package/dist/src/commands/completions.js.map +1 -1
- package/dist/src/commands/config.js +237 -303
- package/dist/src/commands/config.js.map +1 -1
- package/dist/src/commands/daemon.js +487 -596
- package/dist/src/commands/daemon.js.map +1 -1
- package/dist/src/commands/deployment.js +194 -275
- package/dist/src/commands/deployment.js.map +1 -1
- package/dist/src/commands/doctor.js +504 -686
- package/dist/src/commands/doctor.js.map +1 -1
- package/dist/src/commands/embeddings.js +1293 -1543
- package/dist/src/commands/embeddings.js.map +1 -1
- package/dist/src/commands/guidance.js +449 -596
- package/dist/src/commands/guidance.js.map +1 -1
- package/dist/src/commands/hive-mind.js +854 -938
- package/dist/src/commands/hive-mind.js.map +1 -1
- package/dist/src/commands/hooks.js +3112 -3519
- package/dist/src/commands/hooks.js.map +1 -1
- package/dist/src/commands/index.d.ts +115 -0
- package/dist/src/commands/index.d.ts.map +1 -0
- package/dist/src/commands/index.js +126 -308
- package/dist/src/commands/index.js.map +1 -1
- package/dist/src/commands/init.js +788 -940
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/issues.js +383 -558
- package/dist/src/commands/issues.js.map +1 -1
- package/dist/src/commands/mcp.js +493 -605
- package/dist/src/commands/mcp.js.map +1 -1
- package/dist/src/commands/memory.js +833 -1026
- package/dist/src/commands/memory.js.map +1 -1
- package/dist/src/commands/migrate.js +282 -347
- package/dist/src/commands/migrate.js.map +1 -1
- package/dist/src/commands/neural.js +1289 -1563
- package/dist/src/commands/neural.js.map +1 -1
- package/dist/src/commands/performance.js +497 -643
- package/dist/src/commands/performance.js.map +1 -1
- package/dist/src/commands/plugins.js +668 -841
- package/dist/src/commands/plugins.js.map +1 -1
- package/dist/src/commands/process.js +392 -447
- package/dist/src/commands/process.js.map +1 -1
- package/dist/src/commands/progress.js +162 -256
- package/dist/src/commands/progress.js.map +1 -1
- package/dist/src/commands/providers.js +150 -220
- package/dist/src/commands/providers.js.map +1 -1
- package/dist/src/commands/route.js +520 -665
- package/dist/src/commands/route.js.map +1 -1
- package/dist/src/commands/ruvector/backup.js +505 -651
- package/dist/src/commands/ruvector/backup.js.map +1 -1
- package/dist/src/commands/ruvector/benchmark.js +349 -401
- package/dist/src/commands/ruvector/benchmark.js.map +1 -1
- package/dist/src/commands/ruvector/import.js +224 -266
- package/dist/src/commands/ruvector/import.js.map +1 -1
- package/dist/src/commands/ruvector/index.js +37 -75
- package/dist/src/commands/ruvector/index.js.map +1 -1
- package/dist/src/commands/ruvector/init.js +336 -359
- package/dist/src/commands/ruvector/init.js.map +1 -1
- package/dist/src/commands/ruvector/migrate.js +335 -322
- package/dist/src/commands/ruvector/migrate.js.map +1 -1
- package/dist/src/commands/ruvector/optimize.js +375 -431
- package/dist/src/commands/ruvector/optimize.js.map +1 -1
- package/dist/src/commands/ruvector/setup.js +703 -117
- package/dist/src/commands/ruvector/setup.js.map +1 -1
- package/dist/src/commands/ruvector/status.js +364 -419
- package/dist/src/commands/ruvector/status.js.map +1 -1
- package/dist/src/commands/security.js +485 -608
- package/dist/src/commands/security.js.map +1 -1
- package/dist/src/commands/session.js +504 -626
- package/dist/src/commands/session.js.map +1 -1
- package/dist/src/commands/start.js +267 -364
- package/dist/src/commands/start.js.map +1 -1
- package/dist/src/commands/status.js +380 -486
- package/dist/src/commands/status.js.map +1 -1
- package/dist/src/commands/swarm.js +408 -488
- package/dist/src/commands/swarm.js.map +1 -1
- package/dist/src/commands/task.js +423 -538
- package/dist/src/commands/task.js.map +1 -1
- package/dist/src/commands/transfer-store.js +322 -412
- package/dist/src/commands/transfer-store.js.map +1 -1
- package/dist/src/commands/update.js +196 -291
- package/dist/src/commands/update.js.map +1 -1
- package/dist/src/commands/workflow.js +386 -486
- package/dist/src/commands/workflow.js.map +1 -1
- package/dist/src/config-adapter.d.ts +15 -0
- package/dist/src/config-adapter.d.ts.map +1 -0
- package/dist/src/config-adapter.js +38 -39
- package/dist/src/config-adapter.js.map +1 -1
- package/dist/src/index.d.ts +77 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +309 -411
- package/dist/src/index.js.map +1 -1
- package/dist/src/infrastructure/in-memory-repositories.d.ts +68 -0
- package/dist/src/infrastructure/in-memory-repositories.d.ts.map +1 -0
- package/dist/src/infrastructure/in-memory-repositories.js +246 -507
- package/dist/src/infrastructure/in-memory-repositories.js.map +1 -1
- package/dist/src/init/claudemd-generator.d.ts +25 -0
- package/dist/src/init/claudemd-generator.d.ts.map +1 -0
- package/dist/src/init/claudemd-generator.js +368 -78
- package/dist/src/init/claudemd-generator.js.map +1 -1
- package/dist/src/init/executor.d.ts +41 -0
- package/dist/src/init/executor.d.ts.map +1 -0
- package/dist/src/init/executor.js +1307 -996
- package/dist/src/init/executor.js.map +1 -1
- package/dist/src/init/helpers-generator.d.ts +60 -0
- package/dist/src/init/helpers-generator.d.ts.map +1 -0
- package/dist/src/init/helpers-generator.js +657 -12
- package/dist/src/init/helpers-generator.js.map +1 -1
- package/dist/src/init/index.d.ts +1 -1
- package/dist/src/init/index.d.ts.map +1 -1
- package/dist/src/init/index.js +1 -1
- package/dist/src/init/index.js.map +1 -1
- package/dist/src/init/mcp-generator.js +33 -37
- package/dist/src/init/mcp-generator.js.map +1 -1
- package/dist/src/init/settings-generator.js +76 -77
- package/dist/src/init/settings-generator.js.map +1 -1
- package/dist/src/init/statusline-generator.js +801 -3
- package/dist/src/init/statusline-generator.js.map +1 -1
- package/dist/src/init/types.d.ts +1 -1
- package/dist/src/init/types.d.ts.map +1 -1
- package/dist/src/init/types.js +76 -59
- package/dist/src/init/types.js.map +1 -1
- package/dist/src/mcp-client.d.ts +92 -0
- package/dist/src/mcp-client.d.ts.map +1 -0
- package/dist/src/mcp-client.js +81 -125
- package/dist/src/mcp-client.js.map +1 -1
- package/dist/src/mcp-server.d.ts +161 -0
- package/dist/src/mcp-server.d.ts.map +1 -0
- package/dist/src/mcp-server.js +470 -757
- package/dist/src/mcp-server.js.map +1 -1
- package/dist/src/mcp-tools/agent-tools.js +391 -492
- package/dist/src/mcp-tools/agent-tools.js.map +1 -1
- package/dist/src/mcp-tools/agentdb-tools.js +332 -533
- package/dist/src/mcp-tools/agentdb-tools.js.map +1 -1
- package/dist/src/mcp-tools/analyze-tools.js +172 -236
- package/dist/src/mcp-tools/analyze-tools.js.map +1 -1
- package/dist/src/mcp-tools/auto-install.d.ts +83 -0
- package/dist/src/mcp-tools/auto-install.d.ts.map +1 -0
- package/dist/src/mcp-tools/auto-install.js +80 -142
- package/dist/src/mcp-tools/auto-install.js.map +1 -1
- package/dist/src/mcp-tools/browser-tools.js +252 -375
- package/dist/src/mcp-tools/browser-tools.js.map +1 -1
- package/dist/src/mcp-tools/claims-tools.js +473 -565
- package/dist/src/mcp-tools/claims-tools.js.map +1 -1
- package/dist/src/mcp-tools/config-tools.js +197 -272
- package/dist/src/mcp-tools/config-tools.js.map +1 -1
- package/dist/src/mcp-tools/coordination-tools.js +500 -572
- package/dist/src/mcp-tools/coordination-tools.js.map +1 -1
- package/dist/src/mcp-tools/daa-tools.js +286 -364
- package/dist/src/mcp-tools/daa-tools.js.map +1 -1
- package/dist/src/mcp-tools/embeddings-tools.js +582 -693
- package/dist/src/mcp-tools/embeddings-tools.js.map +1 -1
- package/dist/src/mcp-tools/github-tools.js +260 -311
- package/dist/src/mcp-tools/github-tools.js.map +1 -1
- package/dist/src/mcp-tools/hive-mind-tools.js +573 -640
- package/dist/src/mcp-tools/hive-mind-tools.js.map +1 -1
- package/dist/src/mcp-tools/hooks-tools.js +2215 -2648
- package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
- package/dist/src/mcp-tools/memory-tools.js +350 -505
- package/dist/src/mcp-tools/memory-tools.js.map +1 -1
- package/dist/src/mcp-tools/neural-tools.js +315 -412
- package/dist/src/mcp-tools/neural-tools.js.map +1 -1
- package/dist/src/mcp-tools/performance-tools.js +420 -480
- package/dist/src/mcp-tools/performance-tools.js.map +1 -1
- package/dist/src/mcp-tools/progress-tools.js +204 -278
- package/dist/src/mcp-tools/progress-tools.js.map +1 -1
- package/dist/src/mcp-tools/ruvllm-tools.js +163 -279
- package/dist/src/mcp-tools/ruvllm-tools.js.map +1 -1
- package/dist/src/mcp-tools/security-tools.js +297 -429
- package/dist/src/mcp-tools/security-tools.js.map +1 -1
- package/dist/src/mcp-tools/session-tools.js +185 -234
- package/dist/src/mcp-tools/session-tools.js.map +1 -1
- package/dist/src/mcp-tools/swarm-tools.js +207 -260
- package/dist/src/mcp-tools/swarm-tools.js.map +1 -1
- package/dist/src/mcp-tools/system-tools.js +276 -325
- package/dist/src/mcp-tools/system-tools.js.map +1 -1
- package/dist/src/mcp-tools/task-tools.js +270 -336
- package/dist/src/mcp-tools/task-tools.js.map +1 -1
- package/dist/src/mcp-tools/terminal-tools.js +148 -196
- package/dist/src/mcp-tools/terminal-tools.js.map +1 -1
- package/dist/src/mcp-tools/transfer-tools.js +186 -333
- package/dist/src/mcp-tools/transfer-tools.js.map +1 -1
- package/dist/src/mcp-tools/types.d.ts +31 -0
- package/dist/src/mcp-tools/types.d.ts.map +1 -0
- package/dist/src/mcp-tools/wasm-agent-tools.js +133 -280
- package/dist/src/mcp-tools/wasm-agent-tools.js.map +1 -1
- package/dist/src/mcp-tools/workflow-tools.js +405 -450
- package/dist/src/mcp-tools/workflow-tools.js.map +1 -1
- package/dist/src/memory/ewc-consolidation.d.ts +295 -0
- package/dist/src/memory/ewc-consolidation.d.ts.map +1 -0
- package/dist/src/memory/ewc-consolidation.js +190 -303
- package/dist/src/memory/ewc-consolidation.js.map +1 -1
- package/dist/src/memory/intelligence.d.ts +338 -0
- package/dist/src/memory/intelligence.d.ts.map +1 -0
- package/dist/src/memory/intelligence.js +569 -794
- package/dist/src/memory/intelligence.js.map +1 -1
- package/dist/src/memory/memory-bridge.d.ts +407 -0
- package/dist/src/memory/memory-bridge.d.ts.map +1 -0
- package/dist/src/memory/memory-bridge.js +1170 -1640
- package/dist/src/memory/memory-bridge.js.map +1 -1
- package/dist/src/memory/memory-initializer.d.ts +412 -0
- package/dist/src/memory/memory-initializer.d.ts.map +1 -0
- package/dist/src/memory/memory-initializer.js +1836 -1851
- package/dist/src/memory/memory-initializer.js.map +1 -1
- package/dist/src/memory/sona-optimizer.d.ts +227 -0
- package/dist/src/memory/sona-optimizer.d.ts.map +1 -0
- package/dist/src/memory/sona-optimizer.js +199 -329
- package/dist/src/memory/sona-optimizer.js.map +1 -1
- package/dist/src/output.d.ts +2 -2
- package/dist/src/output.d.ts.map +1 -1
- package/dist/src/output.js +242 -272
- package/dist/src/output.js.map +1 -1
- package/dist/src/parser.d.ts +51 -0
- package/dist/src/parser.d.ts.map +1 -0
- package/dist/src/parser.js +140 -187
- package/dist/src/parser.js.map +1 -1
- package/dist/src/plugins/manager.d.ts +133 -0
- package/dist/src/plugins/manager.d.ts.map +1 -0
- package/dist/src/plugins/manager.js +285 -521
- package/dist/src/plugins/manager.js.map +1 -1
- package/dist/src/plugins/store/discovery.d.ts +88 -0
- package/dist/src/plugins/store/discovery.d.ts.map +1 -0
- package/dist/src/plugins/store/discovery.js +271 -358
- package/dist/src/plugins/store/discovery.js.map +1 -1
- package/dist/src/plugins/store/index.d.ts +76 -0
- package/dist/src/plugins/store/index.d.ts.map +1 -0
- package/dist/src/plugins/store/index.js +48 -105
- package/dist/src/plugins/store/index.js.map +1 -1
- package/dist/src/plugins/store/search.d.ts +46 -0
- package/dist/src/plugins/store/search.d.ts.map +1 -0
- package/dist/src/plugins/store/search.js +69 -107
- package/dist/src/plugins/store/search.js.map +1 -1
- package/dist/src/plugins/store/types.d.ts +274 -0
- package/dist/src/plugins/store/types.d.ts.map +1 -0
- package/dist/src/plugins/tests/demo-plugin-store.js +113 -160
- package/dist/src/plugins/tests/demo-plugin-store.js.map +1 -1
- package/dist/src/plugins/tests/standalone-test.js +172 -223
- package/dist/src/plugins/tests/standalone-test.js.map +1 -1
- package/dist/src/plugins/tests/test-plugin-store.js +190 -228
- package/dist/src/plugins/tests/test-plugin-store.js.map +1 -1
- package/dist/src/production/circuit-breaker.d.ts +101 -0
- package/dist/src/production/circuit-breaker.d.ts.map +1 -0
- package/dist/src/production/circuit-breaker.js +62 -126
- package/dist/src/production/circuit-breaker.js.map +1 -1
- package/dist/src/production/error-handler.d.ts +92 -0
- package/dist/src/production/error-handler.d.ts.map +1 -0
- package/dist/src/production/error-handler.js +86 -156
- package/dist/src/production/error-handler.js.map +1 -1
- package/dist/src/production/monitoring.d.ts +161 -0
- package/dist/src/production/monitoring.d.ts.map +1 -0
- package/dist/src/production/monitoring.js +139 -220
- package/dist/src/production/monitoring.js.map +1 -1
- package/dist/src/production/rate-limiter.d.ts +80 -0
- package/dist/src/production/rate-limiter.d.ts.map +1 -0
- package/dist/src/production/rate-limiter.js +74 -93
- package/dist/src/production/rate-limiter.js.map +1 -1
- package/dist/src/production/retry.d.ts +48 -0
- package/dist/src/production/retry.d.ts.map +1 -0
- package/dist/src/production/retry.js +75 -167
- package/dist/src/production/retry.js.map +1 -1
- package/dist/src/prompt.d.ts +44 -0
- package/dist/src/prompt.d.ts.map +1 -0
- package/dist/src/prompt.js +436 -560
- package/dist/src/prompt.js.map +1 -1
- package/dist/src/runtime/headless.d.ts +60 -0
- package/dist/src/runtime/headless.d.ts.map +1 -0
- package/dist/src/runtime/headless.js +197 -286
- package/dist/src/runtime/headless.js.map +1 -1
- package/dist/src/ruvector/agent-wasm.d.ts +182 -0
- package/dist/src/ruvector/agent-wasm.d.ts.map +1 -0
- package/dist/src/ruvector/agent-wasm.js +156 -351
- package/dist/src/ruvector/agent-wasm.js.map +1 -1
- package/dist/src/ruvector/ast-analyzer.d.ts +67 -0
- package/dist/src/ruvector/ast-analyzer.d.ts.map +1 -0
- package/dist/src/ruvector/ast-analyzer.js +145 -232
- package/dist/src/ruvector/ast-analyzer.js.map +1 -1
- package/dist/src/ruvector/coverage-router.d.ts +160 -0
- package/dist/src/ruvector/coverage-router.d.ts.map +1 -0
- package/dist/src/ruvector/coverage-router.js +287 -419
- package/dist/src/ruvector/coverage-router.js.map +1 -1
- package/dist/src/ruvector/coverage-tools.js +56 -101
- package/dist/src/ruvector/coverage-tools.js.map +1 -1
- package/dist/src/ruvector/diff-classifier.d.ts +175 -0
- package/dist/src/ruvector/diff-classifier.d.ts.map +1 -0
- package/dist/src/ruvector/diff-classifier.js +324 -451
- package/dist/src/ruvector/diff-classifier.js.map +1 -1
- package/dist/src/ruvector/enhanced-model-router.d.ts +146 -0
- package/dist/src/ruvector/enhanced-model-router.d.ts.map +1 -0
- package/dist/src/ruvector/enhanced-model-router.js +260 -336
- package/dist/src/ruvector/enhanced-model-router.js.map +1 -1
- package/dist/src/ruvector/flash-attention.d.ts +195 -0
- package/dist/src/ruvector/flash-attention.d.ts.map +1 -0
- package/dist/src/ruvector/flash-attention.js +223 -254
- package/dist/src/ruvector/flash-attention.js.map +1 -1
- package/dist/src/ruvector/graph-analyzer.d.ts +187 -0
- package/dist/src/ruvector/graph-analyzer.d.ts.map +1 -0
- package/dist/src/ruvector/graph-analyzer.js +486 -680
- package/dist/src/ruvector/graph-analyzer.js.map +1 -1
- package/dist/src/ruvector/index.d.ts +40 -0
- package/dist/src/ruvector/index.d.ts.map +1 -0
- package/dist/src/ruvector/index.js +36 -106
- package/dist/src/ruvector/index.js.map +1 -1
- package/dist/src/ruvector/lora-adapter.d.ts +218 -0
- package/dist/src/ruvector/lora-adapter.d.ts.map +1 -0
- package/dist/src/ruvector/lora-adapter.js +155 -248
- package/dist/src/ruvector/lora-adapter.js.map +1 -1
- package/dist/src/ruvector/model-router.d.ts +220 -0
- package/dist/src/ruvector/model-router.d.ts.map +1 -0
- package/dist/src/ruvector/model-router.js +175 -248
- package/dist/src/ruvector/model-router.js.map +1 -1
- package/dist/src/ruvector/moe-router.d.ts +206 -0
- package/dist/src/ruvector/moe-router.d.ts.map +1 -0
- package/dist/src/ruvector/moe-router.js +228 -286
- package/dist/src/ruvector/moe-router.js.map +1 -1
- package/dist/src/ruvector/q-learning-router.d.ts +211 -0
- package/dist/src/ruvector/q-learning-router.d.ts.map +1 -0
- package/dist/src/ruvector/q-learning-router.js +257 -338
- package/dist/src/ruvector/q-learning-router.js.map +1 -1
- package/dist/src/ruvector/ruvllm-wasm.d.ts +179 -0
- package/dist/src/ruvector/ruvllm-wasm.d.ts.map +1 -0
- package/dist/src/ruvector/ruvllm-wasm.js +270 -434
- package/dist/src/ruvector/ruvllm-wasm.js.map +1 -1
- package/dist/src/ruvector/semantic-router.d.ts +77 -0
- package/dist/src/ruvector/semantic-router.d.ts.map +1 -0
- package/dist/src/ruvector/semantic-router.js +60 -67
- package/dist/src/ruvector/semantic-router.js.map +1 -1
- package/dist/src/ruvector/vector-db.d.ts +69 -0
- package/dist/src/ruvector/vector-db.d.ts.map +1 -0
- package/dist/src/ruvector/vector-db.js +119 -205
- package/dist/src/ruvector/vector-db.js.map +1 -1
- package/dist/src/services/agentic-flow-bridge.d.ts +50 -0
- package/dist/src/services/agentic-flow-bridge.d.ts.map +1 -0
- package/dist/src/services/agentic-flow-bridge.js +32 -105
- package/dist/src/services/agentic-flow-bridge.js.map +1 -1
- package/dist/src/services/claim-service.d.ts +204 -0
- package/dist/src/services/claim-service.d.ts.map +1 -0
- package/dist/src/services/claim-service.js +615 -940
- package/dist/src/services/claim-service.js.map +1 -1
- package/dist/src/services/container-worker-pool.d.ts +197 -0
- package/dist/src/services/container-worker-pool.d.ts.map +1 -0
- package/dist/src/services/container-worker-pool.js +398 -666
- package/dist/src/services/container-worker-pool.js.map +1 -1
- package/dist/src/services/headless-worker-executor.d.ts +304 -0
- package/dist/src/services/headless-worker-executor.d.ts.map +1 -0
- package/dist/src/services/headless-worker-executor.js +441 -467
- package/dist/src/services/headless-worker-executor.js.map +1 -1
- package/dist/src/services/index.d.ts +4 -4
- package/dist/src/services/index.d.ts.map +1 -1
- package/dist/src/services/index.js +4 -4
- package/dist/src/services/index.js.map +1 -1
- package/dist/src/services/registry-api.d.ts +58 -0
- package/dist/src/services/registry-api.d.ts.map +1 -0
- package/dist/src/services/registry-api.js +92 -200
- package/dist/src/services/registry-api.js.map +1 -1
- package/dist/src/services/ruvector-training.d.ts +222 -0
- package/dist/src/services/ruvector-training.d.ts.map +1 -0
- package/dist/src/services/ruvector-training.js +257 -337
- package/dist/src/services/ruvector-training.js.map +1 -1
- package/dist/src/services/worker-daemon.d.ts +228 -0
- package/dist/src/services/worker-daemon.d.ts.map +1 -0
- package/dist/src/services/worker-daemon.js +591 -849
- package/dist/src/services/worker-daemon.js.map +1 -1
- package/dist/src/services/worker-queue.d.ts +194 -0
- package/dist/src/services/worker-queue.d.ts.map +1 -0
- package/dist/src/services/worker-queue.js +331 -548
- package/dist/src/services/worker-queue.js.map +1 -1
- package/dist/src/suggest.d.ts +53 -0
- package/dist/src/suggest.d.ts.map +1 -0
- package/dist/src/suggest.js +45 -55
- package/dist/src/suggest.js.map +1 -1
- package/dist/src/transfer/anonymization/index.js +29 -37
- package/dist/src/transfer/anonymization/index.js.map +1 -1
- package/dist/src/transfer/deploy-seraphine.js +128 -155
- package/dist/src/transfer/deploy-seraphine.js.map +1 -1
- package/dist/src/transfer/export.d.ts +25 -0
- package/dist/src/transfer/export.d.ts.map +1 -0
- package/dist/src/transfer/export.js +84 -142
- package/dist/src/transfer/export.js.map +1 -1
- package/dist/src/transfer/index.d.ts +1 -1
- package/dist/src/transfer/index.d.ts.map +1 -1
- package/dist/src/transfer/index.js +0 -2
- package/dist/src/transfer/index.js.map +1 -1
- package/dist/src/transfer/ipfs/client.d.ts +109 -0
- package/dist/src/transfer/ipfs/client.d.ts.map +1 -0
- package/dist/src/transfer/ipfs/client.js +187 -337
- package/dist/src/transfer/ipfs/client.js.map +1 -1
- package/dist/src/transfer/ipfs/upload.d.ts +95 -0
- package/dist/src/transfer/ipfs/upload.d.ts.map +1 -0
- package/dist/src/transfer/ipfs/upload.js +288 -434
- package/dist/src/transfer/ipfs/upload.js.map +1 -1
- package/dist/src/transfer/models/seraphine.d.ts +72 -0
- package/dist/src/transfer/models/seraphine.d.ts.map +1 -0
- package/dist/src/transfer/models/seraphine.js +55 -55
- package/dist/src/transfer/models/seraphine.js.map +1 -1
- package/dist/src/transfer/serialization/cfp.d.ts +49 -0
- package/dist/src/transfer/serialization/cfp.d.ts.map +1 -0
- package/dist/src/transfer/serialization/cfp.js +30 -31
- package/dist/src/transfer/serialization/cfp.js.map +1 -1
- package/dist/src/transfer/storage/gcs.d.ts +82 -0
- package/dist/src/transfer/storage/gcs.d.ts.map +1 -0
- package/dist/src/transfer/storage/gcs.js +165 -232
- package/dist/src/transfer/storage/gcs.js.map +1 -1
- package/dist/src/transfer/store/discovery.d.ts +84 -0
- package/dist/src/transfer/store/discovery.d.ts.map +1 -0
- package/dist/src/transfer/store/discovery.js +239 -349
- package/dist/src/transfer/store/discovery.js.map +1 -1
- package/dist/src/transfer/store/download.d.ts +70 -0
- package/dist/src/transfer/store/download.d.ts.map +1 -0
- package/dist/src/transfer/store/download.js +243 -365
- package/dist/src/transfer/store/download.js.map +1 -1
- package/dist/src/transfer/store/index.d.ts +84 -0
- package/dist/src/transfer/store/index.d.ts.map +1 -0
- package/dist/src/transfer/store/index.js +63 -130
- package/dist/src/transfer/store/index.js.map +1 -1
- package/dist/src/transfer/store/publish.d.ts +76 -0
- package/dist/src/transfer/store/publish.d.ts.map +1 -0
- package/dist/src/transfer/store/publish.js +184 -258
- package/dist/src/transfer/store/publish.js.map +1 -1
- package/dist/src/transfer/store/registry.js +50 -72
- package/dist/src/transfer/store/registry.js.map +1 -1
- package/dist/src/transfer/store/search.d.ts +54 -0
- package/dist/src/transfer/store/search.d.ts.map +1 -0
- package/dist/src/transfer/store/search.js +64 -96
- package/dist/src/transfer/store/search.js.map +1 -1
- package/dist/src/transfer/store/tests/standalone-test.js +174 -231
- package/dist/src/transfer/store/tests/standalone-test.js.map +1 -1
- package/dist/src/transfer/test-seraphine.js +95 -130
- package/dist/src/transfer/test-seraphine.js.map +1 -1
- package/dist/src/transfer/tests/test-store.js +194 -239
- package/dist/src/transfer/tests/test-store.js.map +1 -1
- package/dist/src/transfer/types.d.ts +245 -0
- package/dist/src/transfer/types.d.ts.map +1 -0
- package/dist/src/types.d.ts +198 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +26 -55
- package/dist/src/types.js.map +1 -1
- package/dist/src/update/checker.d.ts +34 -0
- package/dist/src/update/checker.d.ts.map +1 -0
- package/dist/src/update/checker.js +106 -183
- package/dist/src/update/checker.js.map +1 -1
- package/dist/src/update/executor.d.ts +32 -0
- package/dist/src/update/executor.d.ts.map +1 -0
- package/dist/src/update/executor.js +135 -198
- package/dist/src/update/executor.js.map +1 -1
- package/dist/src/update/index.d.ts +33 -0
- package/dist/src/update/index.d.ts.map +1 -0
- package/dist/src/update/index.js +38 -85
- package/dist/src/update/index.js.map +1 -1
- package/dist/src/update/rate-limiter.d.ts +20 -0
- package/dist/src/update/rate-limiter.d.ts.map +1 -0
- package/dist/src/update/rate-limiter.js +19 -31
- package/dist/src/update/rate-limiter.js.map +1 -1
- package/dist/src/update/validator.d.ts +17 -0
- package/dist/src/update/validator.d.ts.map +1 -0
- package/dist/src/update/validator.js +38 -64
- package/dist/src/update/validator.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -4,65 +4,29 @@
|
|
|
4
4
|
* Tool definitions for ONNX embeddings with hyperbolic support and neural substrate.
|
|
5
5
|
* Implements ADR-024: Embeddings MCP Tools
|
|
6
6
|
*/
|
|
7
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
8
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
9
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
10
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
11
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
12
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
13
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
14
|
-
});
|
|
15
|
-
};
|
|
16
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
17
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
18
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
19
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
20
|
-
function step(op) {
|
|
21
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
22
|
-
while (_) try {
|
|
23
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
24
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
25
|
-
switch (op[0]) {
|
|
26
|
-
case 0: case 1: t = op; break;
|
|
27
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
28
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
29
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
30
|
-
default:
|
|
31
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
32
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
33
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
34
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
35
|
-
if (t[2]) _.ops.pop();
|
|
36
|
-
_.trys.pop(); continue;
|
|
37
|
-
}
|
|
38
|
-
op = body.call(thisArg, _);
|
|
39
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
40
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
7
|
import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'fs';
|
|
44
8
|
import { join, resolve } from 'path';
|
|
45
9
|
// Configuration paths
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
10
|
+
const CONFIG_DIR = '.claude-flow';
|
|
11
|
+
const EMBEDDINGS_CONFIG = 'embeddings.json';
|
|
12
|
+
const MODELS_DIR = 'models';
|
|
49
13
|
function getConfigPath() {
|
|
50
14
|
return resolve(join(CONFIG_DIR, EMBEDDINGS_CONFIG));
|
|
51
15
|
}
|
|
52
16
|
function ensureConfigDir() {
|
|
53
|
-
|
|
17
|
+
const dir = resolve(CONFIG_DIR);
|
|
54
18
|
if (!existsSync(dir)) {
|
|
55
19
|
mkdirSync(dir, { recursive: true });
|
|
56
20
|
}
|
|
57
21
|
}
|
|
58
22
|
function loadConfig() {
|
|
59
23
|
try {
|
|
60
|
-
|
|
24
|
+
const path = getConfigPath();
|
|
61
25
|
if (existsSync(path)) {
|
|
62
26
|
return JSON.parse(readFileSync(path, 'utf-8'));
|
|
63
27
|
}
|
|
64
28
|
}
|
|
65
|
-
catch
|
|
29
|
+
catch {
|
|
66
30
|
// Return null on error
|
|
67
31
|
}
|
|
68
32
|
return null;
|
|
@@ -72,96 +36,73 @@ function saveConfig(config) {
|
|
|
72
36
|
writeFileSync(getConfigPath(), JSON.stringify(config, null, 2), 'utf-8');
|
|
73
37
|
}
|
|
74
38
|
// Real ONNX embedding generation via memory-initializer
|
|
75
|
-
|
|
76
|
-
function getRealEmbeddingFunction() {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
case 2:
|
|
88
|
-
generateEmbedding = (_b.sent()).generateEmbedding;
|
|
89
|
-
realEmbeddingFn = generateEmbedding;
|
|
90
|
-
return [3 /*break*/, 4];
|
|
91
|
-
case 3:
|
|
92
|
-
_a = _b.sent();
|
|
93
|
-
realEmbeddingFn = null;
|
|
94
|
-
return [3 /*break*/, 4];
|
|
95
|
-
case 4: return [2 /*return*/, realEmbeddingFn];
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
|
-
});
|
|
39
|
+
let realEmbeddingFn = null;
|
|
40
|
+
async function getRealEmbeddingFunction() {
|
|
41
|
+
if (!realEmbeddingFn) {
|
|
42
|
+
try {
|
|
43
|
+
const { generateEmbedding } = await import('../memory/memory-initializer.js');
|
|
44
|
+
realEmbeddingFn = generateEmbedding;
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
realEmbeddingFn = null;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return realEmbeddingFn;
|
|
99
51
|
}
|
|
100
52
|
// Generate real ONNX embedding (falls back to deterministic hash if ONNX unavailable)
|
|
101
|
-
function generateRealEmbedding(text, dimension) {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
hash = ((hash << 5) - hash + text.charCodeAt(i)) | 0;
|
|
127
|
-
}
|
|
128
|
-
for (i = 0; i < dimension; i++) {
|
|
129
|
-
seed = hash + i * 1337;
|
|
130
|
-
embedding.push(Math.sin(seed) * Math.cos(seed * 0.5));
|
|
131
|
-
}
|
|
132
|
-
norm = Math.sqrt(embedding.reduce(function (sum, x) { return sum + x * x; }, 0));
|
|
133
|
-
return [2 /*return*/, embedding.map(function (x) { return x / norm; })];
|
|
134
|
-
}
|
|
135
|
-
});
|
|
136
|
-
});
|
|
53
|
+
async function generateRealEmbedding(text, dimension) {
|
|
54
|
+
const realFn = await getRealEmbeddingFunction();
|
|
55
|
+
if (realFn) {
|
|
56
|
+
try {
|
|
57
|
+
const result = await realFn(text);
|
|
58
|
+
return result.embedding;
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
// Fall through to fallback
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
// Fallback: deterministic hash-based (only if ONNX truly unavailable)
|
|
65
|
+
console.warn('[MCP] ONNX unavailable, using fallback embedding');
|
|
66
|
+
const embedding = [];
|
|
67
|
+
let hash = 0;
|
|
68
|
+
for (let i = 0; i < text.length; i++) {
|
|
69
|
+
hash = ((hash << 5) - hash + text.charCodeAt(i)) | 0;
|
|
70
|
+
}
|
|
71
|
+
for (let i = 0; i < dimension; i++) {
|
|
72
|
+
const seed = hash + i * 1337;
|
|
73
|
+
embedding.push(Math.sin(seed) * Math.cos(seed * 0.5));
|
|
74
|
+
}
|
|
75
|
+
// L2 normalize
|
|
76
|
+
const norm = Math.sqrt(embedding.reduce((sum, x) => sum + x * x, 0));
|
|
77
|
+
return embedding.map(x => x / norm);
|
|
137
78
|
}
|
|
138
79
|
// Convert Euclidean embedding to Poincaré ball
|
|
139
80
|
function toPoincare(euclidean, curvature) {
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
81
|
+
const c = Math.abs(curvature);
|
|
82
|
+
const sqrtC = Math.sqrt(c);
|
|
83
|
+
const norm = Math.sqrt(euclidean.reduce((sum, x) => sum + x * x, 0));
|
|
143
84
|
// Exponential map at origin
|
|
144
|
-
|
|
145
|
-
return euclidean.map(
|
|
85
|
+
const factor = Math.tanh(sqrtC * norm / 2) / (sqrtC * norm + 1e-15);
|
|
86
|
+
return euclidean.map(x => x * factor);
|
|
146
87
|
}
|
|
147
88
|
// Poincaré distance
|
|
148
89
|
function poincareDistance(a, b, curvature) {
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
90
|
+
const c = Math.abs(curvature);
|
|
91
|
+
const diffSq = a.reduce((sum, _, i) => sum + (a[i] - b[i]) ** 2, 0);
|
|
92
|
+
const normASq = a.reduce((sum, x) => sum + x * x, 0);
|
|
93
|
+
const normBSq = b.reduce((sum, x) => sum + x * x, 0);
|
|
94
|
+
const denom = (1 - normASq) * (1 - normBSq);
|
|
95
|
+
const delta = 2 * diffSq / (denom + 1e-15);
|
|
155
96
|
return (1 / Math.sqrt(c)) * Math.acosh(1 + delta);
|
|
156
97
|
}
|
|
157
98
|
// Cosine similarity
|
|
158
99
|
function cosineSimilarity(a, b) {
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
100
|
+
const dot = a.reduce((sum, _, i) => sum + a[i] * b[i], 0);
|
|
101
|
+
const normA = Math.sqrt(a.reduce((sum, x) => sum + x * x, 0));
|
|
102
|
+
const normB = Math.sqrt(b.reduce((sum, x) => sum + x * x, 0));
|
|
162
103
|
return dot / (normA * normB + 1e-15);
|
|
163
104
|
}
|
|
164
|
-
export
|
|
105
|
+
export const embeddingsTools = [
|
|
165
106
|
{
|
|
166
107
|
name: 'embeddings_init',
|
|
167
108
|
description: 'Initialize the ONNX embedding subsystem with hyperbolic support',
|
|
@@ -172,92 +113,89 @@ export var embeddingsTools = [
|
|
|
172
113
|
model: {
|
|
173
114
|
type: 'string',
|
|
174
115
|
description: 'ONNX model ID',
|
|
175
|
-
|
|
176
|
-
|
|
116
|
+
enum: ['all-MiniLM-L6-v2', 'all-mpnet-base-v2'],
|
|
117
|
+
default: 'all-MiniLM-L6-v2',
|
|
177
118
|
},
|
|
178
119
|
hyperbolic: {
|
|
179
120
|
type: 'boolean',
|
|
180
121
|
description: 'Enable hyperbolic (Poincaré ball) embeddings',
|
|
181
|
-
|
|
122
|
+
default: true,
|
|
182
123
|
},
|
|
183
124
|
curvature: {
|
|
184
125
|
type: 'number',
|
|
185
126
|
description: 'Poincaré ball curvature (negative)',
|
|
186
|
-
|
|
127
|
+
default: -1,
|
|
187
128
|
},
|
|
188
129
|
cacheSize: {
|
|
189
130
|
type: 'number',
|
|
190
131
|
description: 'LRU cache size',
|
|
191
|
-
|
|
132
|
+
default: 256,
|
|
192
133
|
},
|
|
193
134
|
force: {
|
|
194
135
|
type: 'boolean',
|
|
195
136
|
description: 'Overwrite existing configuration',
|
|
196
|
-
|
|
197
|
-
}
|
|
198
|
-
}
|
|
137
|
+
default: false,
|
|
138
|
+
},
|
|
139
|
+
},
|
|
199
140
|
},
|
|
200
|
-
handler:
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
model: existingConfig.model,
|
|
215
|
-
initialized: existingConfig.initialized
|
|
216
|
-
}
|
|
217
|
-
}];
|
|
218
|
-
}
|
|
219
|
-
dimension = model.includes('mpnet') ? 768 : 384;
|
|
220
|
-
modelPath = resolve(join(CONFIG_DIR, MODELS_DIR));
|
|
221
|
-
// Create models directory
|
|
222
|
-
if (!existsSync(modelPath)) {
|
|
223
|
-
mkdirSync(modelPath, { recursive: true });
|
|
224
|
-
}
|
|
225
|
-
config = {
|
|
226
|
-
model: model,
|
|
227
|
-
modelPath: modelPath,
|
|
228
|
-
dimension: dimension,
|
|
229
|
-
cacheSize: cacheSize,
|
|
230
|
-
hyperbolic: {
|
|
231
|
-
enabled: hyperbolic,
|
|
232
|
-
curvature: curvature,
|
|
233
|
-
epsilon: 1e-15,
|
|
234
|
-
maxNorm: 1 - 1e-5
|
|
235
|
-
},
|
|
236
|
-
neural: {
|
|
237
|
-
enabled: true,
|
|
238
|
-
driftThreshold: 0.3,
|
|
239
|
-
decayRate: 0.01
|
|
141
|
+
handler: async (input) => {
|
|
142
|
+
const model = input.model || 'all-MiniLM-L6-v2';
|
|
143
|
+
const hyperbolic = input.hyperbolic !== false;
|
|
144
|
+
const curvature = input.curvature || -1;
|
|
145
|
+
const cacheSize = input.cacheSize || 256;
|
|
146
|
+
const force = input.force === true;
|
|
147
|
+
const existingConfig = loadConfig();
|
|
148
|
+
if (existingConfig && !force) {
|
|
149
|
+
return {
|
|
150
|
+
success: false,
|
|
151
|
+
error: 'Embeddings already initialized. Use force=true to overwrite.',
|
|
152
|
+
existingConfig: {
|
|
153
|
+
model: existingConfig.model,
|
|
154
|
+
initialized: existingConfig.initialized,
|
|
240
155
|
},
|
|
241
|
-
initialized: new Date().toISOString()
|
|
242
156
|
};
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
157
|
+
}
|
|
158
|
+
const dimension = model.includes('mpnet') ? 768 : 384;
|
|
159
|
+
const modelPath = resolve(join(CONFIG_DIR, MODELS_DIR));
|
|
160
|
+
// Create models directory
|
|
161
|
+
if (!existsSync(modelPath)) {
|
|
162
|
+
mkdirSync(modelPath, { recursive: true });
|
|
163
|
+
}
|
|
164
|
+
const config = {
|
|
165
|
+
model,
|
|
166
|
+
modelPath,
|
|
167
|
+
dimension,
|
|
168
|
+
cacheSize,
|
|
169
|
+
hyperbolic: {
|
|
170
|
+
enabled: hyperbolic,
|
|
171
|
+
curvature,
|
|
172
|
+
epsilon: 1e-15,
|
|
173
|
+
maxNorm: 1 - 1e-5,
|
|
174
|
+
},
|
|
175
|
+
neural: {
|
|
176
|
+
enabled: true,
|
|
177
|
+
driftThreshold: 0.3,
|
|
178
|
+
decayRate: 0.01,
|
|
179
|
+
},
|
|
180
|
+
initialized: new Date().toISOString(),
|
|
181
|
+
};
|
|
182
|
+
saveConfig(config);
|
|
183
|
+
return {
|
|
184
|
+
success: true,
|
|
185
|
+
config: {
|
|
186
|
+
model,
|
|
187
|
+
dimension,
|
|
188
|
+
cacheSize,
|
|
189
|
+
hyperbolic: hyperbolic ? { enabled: true, curvature } : { enabled: false },
|
|
190
|
+
neural: { enabled: true },
|
|
191
|
+
},
|
|
192
|
+
paths: {
|
|
193
|
+
config: getConfigPath(),
|
|
194
|
+
models: modelPath,
|
|
195
|
+
},
|
|
196
|
+
message: 'Embedding subsystem initialized successfully',
|
|
197
|
+
};
|
|
198
|
+
},
|
|
261
199
|
},
|
|
262
200
|
{
|
|
263
201
|
name: 'embeddings_generate',
|
|
@@ -268,61 +206,56 @@ export var embeddingsTools = [
|
|
|
268
206
|
properties: {
|
|
269
207
|
text: {
|
|
270
208
|
type: 'string',
|
|
271
|
-
description: 'Text to embed'
|
|
209
|
+
description: 'Text to embed',
|
|
272
210
|
},
|
|
273
211
|
hyperbolic: {
|
|
274
212
|
type: 'boolean',
|
|
275
213
|
description: 'Return hyperbolic (Poincaré) embedding',
|
|
276
|
-
|
|
214
|
+
default: false,
|
|
277
215
|
},
|
|
278
216
|
normalize: {
|
|
279
217
|
type: 'boolean',
|
|
280
218
|
description: 'L2 normalize the embedding',
|
|
281
|
-
|
|
282
|
-
}
|
|
219
|
+
default: true,
|
|
220
|
+
},
|
|
283
221
|
},
|
|
284
|
-
required: ['text']
|
|
222
|
+
required: ['text'],
|
|
223
|
+
},
|
|
224
|
+
handler: async (input) => {
|
|
225
|
+
const config = loadConfig();
|
|
226
|
+
if (!config) {
|
|
227
|
+
return {
|
|
228
|
+
success: false,
|
|
229
|
+
error: 'Embeddings not initialized. Run embeddings/init first.',
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
const text = input.text;
|
|
233
|
+
const useHyperbolic = input.hyperbolic === true && config.hyperbolic.enabled;
|
|
234
|
+
// Generate real ONNX embedding
|
|
235
|
+
const embedding = await generateRealEmbedding(text, config.dimension);
|
|
236
|
+
let result;
|
|
237
|
+
let geometry;
|
|
238
|
+
if (useHyperbolic) {
|
|
239
|
+
result = toPoincare(embedding, config.hyperbolic.curvature);
|
|
240
|
+
geometry = 'poincare';
|
|
241
|
+
}
|
|
242
|
+
else {
|
|
243
|
+
result = embedding;
|
|
244
|
+
geometry = 'euclidean';
|
|
245
|
+
}
|
|
246
|
+
return {
|
|
247
|
+
success: true,
|
|
248
|
+
embedding: result,
|
|
249
|
+
metadata: {
|
|
250
|
+
model: config.model,
|
|
251
|
+
dimension: config.dimension,
|
|
252
|
+
geometry,
|
|
253
|
+
curvature: useHyperbolic ? config.hyperbolic.curvature : null,
|
|
254
|
+
textLength: text.length,
|
|
255
|
+
norm: Math.sqrt(result.reduce((sum, x) => sum + x * x, 0)),
|
|
256
|
+
},
|
|
257
|
+
};
|
|
285
258
|
},
|
|
286
|
-
handler: function (input) { return __awaiter(void 0, void 0, void 0, function () {
|
|
287
|
-
var config, text, useHyperbolic, embedding, result, geometry;
|
|
288
|
-
return __generator(this, function (_a) {
|
|
289
|
-
switch (_a.label) {
|
|
290
|
-
case 0:
|
|
291
|
-
config = loadConfig();
|
|
292
|
-
if (!config) {
|
|
293
|
-
return [2 /*return*/, {
|
|
294
|
-
success: false,
|
|
295
|
-
error: 'Embeddings not initialized. Run embeddings/init first.'
|
|
296
|
-
}];
|
|
297
|
-
}
|
|
298
|
-
text = input.text;
|
|
299
|
-
useHyperbolic = input.hyperbolic === true && config.hyperbolic.enabled;
|
|
300
|
-
return [4 /*yield*/, generateRealEmbedding(text, config.dimension)];
|
|
301
|
-
case 1:
|
|
302
|
-
embedding = _a.sent();
|
|
303
|
-
if (useHyperbolic) {
|
|
304
|
-
result = toPoincare(embedding, config.hyperbolic.curvature);
|
|
305
|
-
geometry = 'poincare';
|
|
306
|
-
}
|
|
307
|
-
else {
|
|
308
|
-
result = embedding;
|
|
309
|
-
geometry = 'euclidean';
|
|
310
|
-
}
|
|
311
|
-
return [2 /*return*/, {
|
|
312
|
-
success: true,
|
|
313
|
-
embedding: result,
|
|
314
|
-
metadata: {
|
|
315
|
-
model: config.model,
|
|
316
|
-
dimension: config.dimension,
|
|
317
|
-
geometry: geometry,
|
|
318
|
-
curvature: useHyperbolic ? config.hyperbolic.curvature : null,
|
|
319
|
-
textLength: text.length,
|
|
320
|
-
norm: Math.sqrt(result.reduce(function (sum, x) { return sum + x * x; }, 0))
|
|
321
|
-
}
|
|
322
|
-
}];
|
|
323
|
-
}
|
|
324
|
-
});
|
|
325
|
-
}); }
|
|
326
259
|
},
|
|
327
260
|
{
|
|
328
261
|
name: 'embeddings_compare',
|
|
@@ -333,80 +266,75 @@ export var embeddingsTools = [
|
|
|
333
266
|
properties: {
|
|
334
267
|
text1: {
|
|
335
268
|
type: 'string',
|
|
336
|
-
description: 'First text'
|
|
269
|
+
description: 'First text',
|
|
337
270
|
},
|
|
338
271
|
text2: {
|
|
339
272
|
type: 'string',
|
|
340
|
-
description: 'Second text'
|
|
273
|
+
description: 'Second text',
|
|
341
274
|
},
|
|
342
275
|
metric: {
|
|
343
276
|
type: 'string',
|
|
344
277
|
description: 'Similarity metric',
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
}
|
|
278
|
+
enum: ['cosine', 'euclidean', 'poincare'],
|
|
279
|
+
default: 'cosine',
|
|
280
|
+
},
|
|
348
281
|
},
|
|
349
|
-
required: ['text1', 'text2']
|
|
282
|
+
required: ['text1', 'text2'],
|
|
283
|
+
},
|
|
284
|
+
handler: async (input) => {
|
|
285
|
+
const config = loadConfig();
|
|
286
|
+
if (!config) {
|
|
287
|
+
return {
|
|
288
|
+
success: false,
|
|
289
|
+
error: 'Embeddings not initialized. Run embeddings/init first.',
|
|
290
|
+
};
|
|
291
|
+
}
|
|
292
|
+
const text1 = input.text1;
|
|
293
|
+
const text2 = input.text2;
|
|
294
|
+
const metric = input.metric || 'cosine';
|
|
295
|
+
// Generate real ONNX embeddings for both texts
|
|
296
|
+
const [emb1, emb2] = await Promise.all([
|
|
297
|
+
generateRealEmbedding(text1, config.dimension),
|
|
298
|
+
generateRealEmbedding(text2, config.dimension)
|
|
299
|
+
]);
|
|
300
|
+
let similarity;
|
|
301
|
+
let distance;
|
|
302
|
+
switch (metric) {
|
|
303
|
+
case 'poincare':
|
|
304
|
+
if (!config.hyperbolic.enabled) {
|
|
305
|
+
return {
|
|
306
|
+
success: false,
|
|
307
|
+
error: 'Hyperbolic mode not enabled. Initialize with hyperbolic=true.',
|
|
308
|
+
};
|
|
309
|
+
}
|
|
310
|
+
const poinc1 = toPoincare(emb1, config.hyperbolic.curvature);
|
|
311
|
+
const poinc2 = toPoincare(emb2, config.hyperbolic.curvature);
|
|
312
|
+
distance = poincareDistance(poinc1, poinc2, config.hyperbolic.curvature);
|
|
313
|
+
similarity = 1 / (1 + distance);
|
|
314
|
+
break;
|
|
315
|
+
case 'euclidean':
|
|
316
|
+
distance = Math.sqrt(emb1.reduce((sum, _, i) => sum + (emb1[i] - emb2[i]) ** 2, 0));
|
|
317
|
+
similarity = 1 / (1 + distance);
|
|
318
|
+
break;
|
|
319
|
+
default: // cosine
|
|
320
|
+
similarity = cosineSimilarity(emb1, emb2);
|
|
321
|
+
distance = 1 - similarity;
|
|
322
|
+
}
|
|
323
|
+
return {
|
|
324
|
+
success: true,
|
|
325
|
+
similarity,
|
|
326
|
+
distance,
|
|
327
|
+
metric,
|
|
328
|
+
texts: {
|
|
329
|
+
text1: { length: text1.length, preview: text1.slice(0, 50) },
|
|
330
|
+
text2: { length: text2.length, preview: text2.slice(0, 50) },
|
|
331
|
+
},
|
|
332
|
+
interpretation: similarity > 0.8 ? 'very similar' :
|
|
333
|
+
similarity > 0.6 ? 'similar' :
|
|
334
|
+
similarity > 0.4 ? 'somewhat similar' :
|
|
335
|
+
similarity > 0.2 ? 'different' : 'very different',
|
|
336
|
+
};
|
|
350
337
|
},
|
|
351
|
-
handler: function (input) { return __awaiter(void 0, void 0, void 0, function () {
|
|
352
|
-
var config, text1, text2, metric, _a, emb1, emb2, similarity, distance, poinc1, poinc2;
|
|
353
|
-
return __generator(this, function (_b) {
|
|
354
|
-
switch (_b.label) {
|
|
355
|
-
case 0:
|
|
356
|
-
config = loadConfig();
|
|
357
|
-
if (!config) {
|
|
358
|
-
return [2 /*return*/, {
|
|
359
|
-
success: false,
|
|
360
|
-
error: 'Embeddings not initialized. Run embeddings/init first.'
|
|
361
|
-
}];
|
|
362
|
-
}
|
|
363
|
-
text1 = input.text1;
|
|
364
|
-
text2 = input.text2;
|
|
365
|
-
metric = input.metric || 'cosine';
|
|
366
|
-
return [4 /*yield*/, Promise.all([
|
|
367
|
-
generateRealEmbedding(text1, config.dimension),
|
|
368
|
-
generateRealEmbedding(text2, config.dimension)
|
|
369
|
-
])];
|
|
370
|
-
case 1:
|
|
371
|
-
_a = _b.sent(), emb1 = _a[0], emb2 = _a[1];
|
|
372
|
-
switch (metric) {
|
|
373
|
-
case 'poincare':
|
|
374
|
-
if (!config.hyperbolic.enabled) {
|
|
375
|
-
return [2 /*return*/, {
|
|
376
|
-
success: false,
|
|
377
|
-
error: 'Hyperbolic mode not enabled. Initialize with hyperbolic=true.'
|
|
378
|
-
}];
|
|
379
|
-
}
|
|
380
|
-
poinc1 = toPoincare(emb1, config.hyperbolic.curvature);
|
|
381
|
-
poinc2 = toPoincare(emb2, config.hyperbolic.curvature);
|
|
382
|
-
distance = poincareDistance(poinc1, poinc2, config.hyperbolic.curvature);
|
|
383
|
-
similarity = 1 / (1 + distance);
|
|
384
|
-
break;
|
|
385
|
-
case 'euclidean':
|
|
386
|
-
distance = Math.sqrt(emb1.reduce(function (sum, _, i) { return sum + Math.pow((emb1[i] - emb2[i]), 2); }, 0));
|
|
387
|
-
similarity = 1 / (1 + distance);
|
|
388
|
-
break;
|
|
389
|
-
default: // cosine
|
|
390
|
-
similarity = cosineSimilarity(emb1, emb2);
|
|
391
|
-
distance = 1 - similarity;
|
|
392
|
-
}
|
|
393
|
-
return [2 /*return*/, {
|
|
394
|
-
success: true,
|
|
395
|
-
similarity: similarity,
|
|
396
|
-
distance: distance,
|
|
397
|
-
metric: metric,
|
|
398
|
-
texts: {
|
|
399
|
-
text1: { length: text1.length, preview: text1.slice(0, 50) },
|
|
400
|
-
text2: { length: text2.length, preview: text2.slice(0, 50) }
|
|
401
|
-
},
|
|
402
|
-
interpretation: similarity > 0.8 ? 'very similar' :
|
|
403
|
-
similarity > 0.6 ? 'similar' :
|
|
404
|
-
similarity > 0.4 ? 'somewhat similar' :
|
|
405
|
-
similarity > 0.2 ? 'different' : 'very different'
|
|
406
|
-
}];
|
|
407
|
-
}
|
|
408
|
-
});
|
|
409
|
-
}); }
|
|
410
338
|
},
|
|
411
339
|
{
|
|
412
340
|
name: 'embeddings_search',
|
|
@@ -417,103 +345,89 @@ export var embeddingsTools = [
|
|
|
417
345
|
properties: {
|
|
418
346
|
query: {
|
|
419
347
|
type: 'string',
|
|
420
|
-
description: 'Search query'
|
|
348
|
+
description: 'Search query',
|
|
421
349
|
},
|
|
422
350
|
topK: {
|
|
423
351
|
type: 'number',
|
|
424
352
|
description: 'Number of results to return',
|
|
425
|
-
|
|
353
|
+
default: 5,
|
|
426
354
|
},
|
|
427
355
|
threshold: {
|
|
428
356
|
type: 'number',
|
|
429
357
|
description: 'Minimum similarity threshold (0-1)',
|
|
430
|
-
|
|
358
|
+
default: 0.5,
|
|
431
359
|
},
|
|
432
360
|
namespace: {
|
|
433
361
|
type: 'string',
|
|
434
|
-
description: 'Search in specific namespace'
|
|
435
|
-
}
|
|
362
|
+
description: 'Search in specific namespace',
|
|
363
|
+
},
|
|
436
364
|
},
|
|
437
|
-
required: ['query']
|
|
365
|
+
required: ['query'],
|
|
366
|
+
},
|
|
367
|
+
handler: async (input) => {
|
|
368
|
+
const config = loadConfig();
|
|
369
|
+
if (!config) {
|
|
370
|
+
return {
|
|
371
|
+
success: false,
|
|
372
|
+
error: 'Embeddings not initialized. Run embeddings/init first.',
|
|
373
|
+
};
|
|
374
|
+
}
|
|
375
|
+
const query = input.query;
|
|
376
|
+
const topK = input.topK || 5;
|
|
377
|
+
const threshold = input.threshold || 0.5;
|
|
378
|
+
const namespace = input.namespace;
|
|
379
|
+
const startTime = performance.now();
|
|
380
|
+
// Generate real ONNX embedding for query
|
|
381
|
+
const queryEmbedding = await generateRealEmbedding(query, config.dimension);
|
|
382
|
+
// Try to search using real memory search
|
|
383
|
+
try {
|
|
384
|
+
const { searchEntries } = await import('../memory/memory-initializer.js');
|
|
385
|
+
const searchResult = await searchEntries({
|
|
386
|
+
query,
|
|
387
|
+
limit: topK,
|
|
388
|
+
threshold,
|
|
389
|
+
namespace: namespace || 'default'
|
|
390
|
+
});
|
|
391
|
+
const searchTime = (performance.now() - startTime).toFixed(2);
|
|
392
|
+
return {
|
|
393
|
+
success: true,
|
|
394
|
+
query,
|
|
395
|
+
results: searchResult.results.map((r) => ({
|
|
396
|
+
key: r.key,
|
|
397
|
+
content: r.content?.substring(0, 100),
|
|
398
|
+
similarity: r.score,
|
|
399
|
+
namespace: r.namespace
|
|
400
|
+
})),
|
|
401
|
+
metadata: {
|
|
402
|
+
model: config.model,
|
|
403
|
+
topK,
|
|
404
|
+
threshold,
|
|
405
|
+
namespace: namespace || 'default',
|
|
406
|
+
searchTime: `${searchTime}ms`,
|
|
407
|
+
indexType: config.hyperbolic.enabled ? 'HNSW (hyperbolic)' : 'HNSW (euclidean)',
|
|
408
|
+
resultCount: searchResult.results.length
|
|
409
|
+
},
|
|
410
|
+
};
|
|
411
|
+
}
|
|
412
|
+
catch {
|
|
413
|
+
// Database not available - return empty but truthful
|
|
414
|
+
const searchTime = (performance.now() - startTime).toFixed(2);
|
|
415
|
+
return {
|
|
416
|
+
success: true,
|
|
417
|
+
query,
|
|
418
|
+
results: [],
|
|
419
|
+
metadata: {
|
|
420
|
+
model: config.model,
|
|
421
|
+
topK,
|
|
422
|
+
threshold,
|
|
423
|
+
namespace: namespace || 'default',
|
|
424
|
+
searchTime: `${searchTime}ms`,
|
|
425
|
+
indexType: config.hyperbolic.enabled ? 'HNSW (hyperbolic)' : 'HNSW (euclidean)',
|
|
426
|
+
},
|
|
427
|
+
message: 'No embeddings indexed yet. Use memory store to add documents.',
|
|
428
|
+
};
|
|
429
|
+
}
|
|
438
430
|
},
|
|
439
|
-
handler: function (input) { return __awaiter(void 0, void 0, void 0, function () {
|
|
440
|
-
var config, query, topK, threshold, namespace, startTime, queryEmbedding, searchEntries, searchResult, searchTime, _a, searchTime;
|
|
441
|
-
return __generator(this, function (_b) {
|
|
442
|
-
switch (_b.label) {
|
|
443
|
-
case 0:
|
|
444
|
-
config = loadConfig();
|
|
445
|
-
if (!config) {
|
|
446
|
-
return [2 /*return*/, {
|
|
447
|
-
success: false,
|
|
448
|
-
error: 'Embeddings not initialized. Run embeddings/init first.'
|
|
449
|
-
}];
|
|
450
|
-
}
|
|
451
|
-
query = input.query;
|
|
452
|
-
topK = input.topK || 5;
|
|
453
|
-
threshold = input.threshold || 0.5;
|
|
454
|
-
namespace = input.namespace;
|
|
455
|
-
startTime = performance.now();
|
|
456
|
-
return [4 /*yield*/, generateRealEmbedding(query, config.dimension)];
|
|
457
|
-
case 1:
|
|
458
|
-
queryEmbedding = _b.sent();
|
|
459
|
-
_b.label = 2;
|
|
460
|
-
case 2:
|
|
461
|
-
_b.trys.push([2, 5, , 6]);
|
|
462
|
-
return [4 /*yield*/, import('../memory/memory-initializer.js')];
|
|
463
|
-
case 3:
|
|
464
|
-
searchEntries = (_b.sent()).searchEntries;
|
|
465
|
-
return [4 /*yield*/, searchEntries({
|
|
466
|
-
query: query,
|
|
467
|
-
limit: topK,
|
|
468
|
-
threshold: threshold,
|
|
469
|
-
namespace: namespace || 'default'
|
|
470
|
-
})];
|
|
471
|
-
case 4:
|
|
472
|
-
searchResult = _b.sent();
|
|
473
|
-
searchTime = (performance.now() - startTime).toFixed(2);
|
|
474
|
-
return [2 /*return*/, {
|
|
475
|
-
success: true,
|
|
476
|
-
query: query,
|
|
477
|
-
results: searchResult.results.map(function (r) {
|
|
478
|
-
var _a;
|
|
479
|
-
return ({
|
|
480
|
-
key: r.key,
|
|
481
|
-
content: (_a = r.content) === null || _a === void 0 ? void 0 : _a.substring(0, 100),
|
|
482
|
-
similarity: r.score,
|
|
483
|
-
namespace: r.namespace
|
|
484
|
-
});
|
|
485
|
-
}),
|
|
486
|
-
metadata: {
|
|
487
|
-
model: config.model,
|
|
488
|
-
topK: topK,
|
|
489
|
-
threshold: threshold,
|
|
490
|
-
namespace: namespace || 'default',
|
|
491
|
-
searchTime: searchTime + "ms",
|
|
492
|
-
indexType: config.hyperbolic.enabled ? 'HNSW (hyperbolic)' : 'HNSW (euclidean)',
|
|
493
|
-
resultCount: searchResult.results.length
|
|
494
|
-
}
|
|
495
|
-
}];
|
|
496
|
-
case 5:
|
|
497
|
-
_a = _b.sent();
|
|
498
|
-
searchTime = (performance.now() - startTime).toFixed(2);
|
|
499
|
-
return [2 /*return*/, {
|
|
500
|
-
success: true,
|
|
501
|
-
query: query,
|
|
502
|
-
results: [],
|
|
503
|
-
metadata: {
|
|
504
|
-
model: config.model,
|
|
505
|
-
topK: topK,
|
|
506
|
-
threshold: threshold,
|
|
507
|
-
namespace: namespace || 'default',
|
|
508
|
-
searchTime: searchTime + "ms",
|
|
509
|
-
indexType: config.hyperbolic.enabled ? 'HNSW (hyperbolic)' : 'HNSW (euclidean)'
|
|
510
|
-
},
|
|
511
|
-
message: 'No embeddings indexed yet. Use memory store to add documents.'
|
|
512
|
-
}];
|
|
513
|
-
case 6: return [2 /*return*/];
|
|
514
|
-
}
|
|
515
|
-
});
|
|
516
|
-
}); }
|
|
517
431
|
},
|
|
518
432
|
{
|
|
519
433
|
name: 'embeddings_neural',
|
|
@@ -525,207 +439,189 @@ export var embeddingsTools = [
|
|
|
525
439
|
action: {
|
|
526
440
|
type: 'string',
|
|
527
441
|
description: 'Neural action',
|
|
528
|
-
|
|
529
|
-
|
|
442
|
+
enum: ['status', 'init', 'drift', 'consolidate', 'adapt'],
|
|
443
|
+
default: 'status',
|
|
530
444
|
},
|
|
531
445
|
driftThreshold: {
|
|
532
446
|
type: 'number',
|
|
533
447
|
description: 'Semantic drift detection threshold',
|
|
534
|
-
|
|
448
|
+
default: 0.3,
|
|
535
449
|
},
|
|
536
450
|
decayRate: {
|
|
537
451
|
type: 'number',
|
|
538
452
|
description: 'Memory decay rate (hippocampal dynamics)',
|
|
539
|
-
|
|
540
|
-
}
|
|
541
|
-
}
|
|
453
|
+
default: 0.01,
|
|
454
|
+
},
|
|
455
|
+
},
|
|
542
456
|
},
|
|
543
|
-
handler:
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
case 'init': return [3 /*break*/, 1];
|
|
560
|
-
case 'drift': return [3 /*break*/, 2];
|
|
561
|
-
case 'consolidate': return [3 /*break*/, 5];
|
|
562
|
-
case 'adapt': return [3 /*break*/, 8];
|
|
563
|
-
}
|
|
564
|
-
return [3 /*break*/, 12];
|
|
565
|
-
case 1:
|
|
566
|
-
config.neural = {
|
|
457
|
+
handler: async (input) => {
|
|
458
|
+
const config = loadConfig();
|
|
459
|
+
if (!config) {
|
|
460
|
+
return {
|
|
461
|
+
success: false,
|
|
462
|
+
error: 'Embeddings not initialized. Run embeddings/init first.',
|
|
463
|
+
};
|
|
464
|
+
}
|
|
465
|
+
const action = input.action || 'status';
|
|
466
|
+
switch (action) {
|
|
467
|
+
case 'init':
|
|
468
|
+
config.neural = {
|
|
469
|
+
enabled: true,
|
|
470
|
+
driftThreshold: input.driftThreshold || 0.3,
|
|
471
|
+
decayRate: input.decayRate || 0.01,
|
|
472
|
+
ruvector: {
|
|
567
473
|
enabled: true,
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
474
|
+
sona: true,
|
|
475
|
+
flashAttention: true,
|
|
476
|
+
ewcPlusPlus: true,
|
|
477
|
+
},
|
|
478
|
+
features: {
|
|
479
|
+
semanticDrift: true,
|
|
480
|
+
memoryPhysics: true,
|
|
481
|
+
stateMachine: true,
|
|
482
|
+
swarmCoordination: true,
|
|
483
|
+
coherenceMonitor: true,
|
|
484
|
+
},
|
|
485
|
+
};
|
|
486
|
+
saveConfig(config);
|
|
487
|
+
return {
|
|
488
|
+
success: true,
|
|
489
|
+
action: 'init',
|
|
490
|
+
neural: config.neural,
|
|
491
|
+
message: 'Neural substrate initialized with RuVector integration',
|
|
492
|
+
};
|
|
493
|
+
case 'drift':
|
|
494
|
+
// Get real drift metrics if available
|
|
495
|
+
try {
|
|
496
|
+
const { getIntelligenceStats } = await import('../memory/intelligence.js');
|
|
497
|
+
const stats = getIntelligenceStats();
|
|
498
|
+
return {
|
|
499
|
+
success: true,
|
|
500
|
+
action: 'drift',
|
|
501
|
+
status: {
|
|
502
|
+
semanticDrift: {
|
|
503
|
+
enabled: config.neural.features?.semanticDrift ?? false,
|
|
504
|
+
threshold: config.neural.driftThreshold,
|
|
505
|
+
patternsTracked: stats.patternsLearned,
|
|
506
|
+
status: stats.patternsLearned > 0 ? 'tracking' : 'no patterns',
|
|
507
|
+
},
|
|
575
508
|
},
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
stateMachine: true,
|
|
580
|
-
swarmCoordination: true,
|
|
581
|
-
coherenceMonitor: true
|
|
582
|
-
}
|
|
509
|
+
message: stats.patternsLearned > 0
|
|
510
|
+
? `Tracking ${stats.patternsLearned} patterns for drift`
|
|
511
|
+
: 'No patterns stored yet - drift detection inactive',
|
|
583
512
|
};
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
getIntelligenceStats = (
|
|
596
|
-
stats = getIntelligenceStats();
|
|
597
|
-
return
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
}
|
|
607
|
-
},
|
|
608
|
-
message: stats.patternsLearned > 0
|
|
609
|
-
? "Tracking " + stats.patternsLearned + " patterns for drift"
|
|
610
|
-
: 'No patterns stored yet - drift detection inactive'
|
|
611
|
-
}];
|
|
612
|
-
case 4:
|
|
613
|
-
_b = _m.sent();
|
|
614
|
-
return [2 /*return*/, {
|
|
615
|
-
success: true,
|
|
616
|
-
action: 'drift',
|
|
617
|
-
status: { semanticDrift: { enabled: false, reason: 'Intelligence module unavailable' } }
|
|
618
|
-
}];
|
|
619
|
-
case 5:
|
|
620
|
-
_m.trys.push([5, 7, , 8]);
|
|
621
|
-
return [4 /*yield*/, import('../memory/intelligence.js')];
|
|
622
|
-
case 6:
|
|
623
|
-
getIntelligenceStats = (_m.sent()).getIntelligenceStats;
|
|
624
|
-
stats = getIntelligenceStats();
|
|
625
|
-
return [2 /*return*/, {
|
|
626
|
-
success: true,
|
|
627
|
-
action: 'consolidate',
|
|
628
|
-
status: {
|
|
629
|
-
memoryPhysics: {
|
|
630
|
-
enabled: (_l = (_k = config.neural.features) === null || _k === void 0 ? void 0 : _k.memoryPhysics) !== null && _l !== void 0 ? _l : false,
|
|
631
|
-
decayRate: config.neural.decayRate,
|
|
632
|
-
patternsStored: stats.reasoningBankSize,
|
|
633
|
-
trajectoriesRecorded: stats.trajectoriesRecorded
|
|
634
|
-
}
|
|
635
|
-
},
|
|
636
|
-
message: "ReasoningBank: " + stats.reasoningBankSize + " patterns, " + stats.trajectoriesRecorded + " trajectories"
|
|
637
|
-
}];
|
|
638
|
-
case 7:
|
|
639
|
-
_c = _m.sent();
|
|
640
|
-
return [2 /*return*/, {
|
|
641
|
-
success: true,
|
|
642
|
-
action: 'consolidate',
|
|
643
|
-
status: { memoryPhysics: { enabled: false, reason: 'Intelligence module unavailable' } }
|
|
644
|
-
}];
|
|
645
|
-
case 8:
|
|
646
|
-
_m.trys.push([8, 11, , 12]);
|
|
647
|
-
return [4 /*yield*/, import('../memory/intelligence.js')];
|
|
648
|
-
case 9:
|
|
649
|
-
_d = _m.sent(), benchmarkAdaptation = _d.benchmarkAdaptation, initializeIntelligence = _d.initializeIntelligence;
|
|
650
|
-
return [4 /*yield*/, initializeIntelligence()];
|
|
651
|
-
case 10:
|
|
652
|
-
_m.sent();
|
|
653
|
-
benchmark = benchmarkAdaptation(100);
|
|
654
|
-
return [2 /*return*/, {
|
|
655
|
-
success: true,
|
|
656
|
-
action: 'adapt',
|
|
657
|
-
status: {
|
|
658
|
-
sona: {
|
|
659
|
-
enabled: true,
|
|
660
|
-
adaptationTime: (benchmark.avgMs * 1000).toFixed(2) + "\u03BCs",
|
|
661
|
-
targetMet: benchmark.targetMet,
|
|
662
|
-
minTime: (benchmark.minMs * 1000).toFixed(2) + "\u03BCs",
|
|
663
|
-
maxTime: (benchmark.maxMs * 1000).toFixed(2) + "\u03BCs"
|
|
664
|
-
}
|
|
513
|
+
}
|
|
514
|
+
catch {
|
|
515
|
+
return {
|
|
516
|
+
success: true,
|
|
517
|
+
action: 'drift',
|
|
518
|
+
status: { semanticDrift: { enabled: false, reason: 'Intelligence module unavailable' } },
|
|
519
|
+
};
|
|
520
|
+
}
|
|
521
|
+
case 'consolidate':
|
|
522
|
+
// Get real consolidation metrics
|
|
523
|
+
try {
|
|
524
|
+
const { getIntelligenceStats } = await import('../memory/intelligence.js');
|
|
525
|
+
const stats = getIntelligenceStats();
|
|
526
|
+
return {
|
|
527
|
+
success: true,
|
|
528
|
+
action: 'consolidate',
|
|
529
|
+
status: {
|
|
530
|
+
memoryPhysics: {
|
|
531
|
+
enabled: config.neural.features?.memoryPhysics ?? false,
|
|
532
|
+
decayRate: config.neural.decayRate,
|
|
533
|
+
patternsStored: stats.reasoningBankSize,
|
|
534
|
+
trajectoriesRecorded: stats.trajectoriesRecorded,
|
|
665
535
|
},
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
ruvector: config.neural.ruvector || { enabled: false },
|
|
694
|
-
features: config.neural.features || {},
|
|
695
|
-
realMetrics: {
|
|
696
|
-
patternsLearned: stats.patternsLearned,
|
|
697
|
-
trajectoriesRecorded: stats.trajectoriesRecorded,
|
|
698
|
-
reasoningBankSize: stats.reasoningBankSize,
|
|
699
|
-
adaptationTime: (benchmark.avgMs * 1000).toFixed(2) + "\u03BCs",
|
|
700
|
-
targetMet: benchmark.targetMet,
|
|
701
|
-
lastAdaptation: stats.lastAdaptation
|
|
702
|
-
? new Date(stats.lastAdaptation).toISOString()
|
|
703
|
-
: null
|
|
704
|
-
}
|
|
536
|
+
},
|
|
537
|
+
message: `ReasoningBank: ${stats.reasoningBankSize} patterns, ${stats.trajectoriesRecorded} trajectories`,
|
|
538
|
+
};
|
|
539
|
+
}
|
|
540
|
+
catch {
|
|
541
|
+
return {
|
|
542
|
+
success: true,
|
|
543
|
+
action: 'consolidate',
|
|
544
|
+
status: { memoryPhysics: { enabled: false, reason: 'Intelligence module unavailable' } },
|
|
545
|
+
};
|
|
546
|
+
}
|
|
547
|
+
case 'adapt':
|
|
548
|
+
// Get real SONA adaptation metrics
|
|
549
|
+
try {
|
|
550
|
+
const { benchmarkAdaptation, initializeIntelligence } = await import('../memory/intelligence.js');
|
|
551
|
+
await initializeIntelligence();
|
|
552
|
+
const benchmark = benchmarkAdaptation(100);
|
|
553
|
+
return {
|
|
554
|
+
success: true,
|
|
555
|
+
action: 'adapt',
|
|
556
|
+
status: {
|
|
557
|
+
sona: {
|
|
558
|
+
enabled: true,
|
|
559
|
+
adaptationTime: `${(benchmark.avgMs * 1000).toFixed(2)}μs`,
|
|
560
|
+
targetMet: benchmark.targetMet,
|
|
561
|
+
minTime: `${(benchmark.minMs * 1000).toFixed(2)}μs`,
|
|
562
|
+
maxTime: `${(benchmark.maxMs * 1000).toFixed(2)}μs`,
|
|
705
563
|
},
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
564
|
+
},
|
|
565
|
+
message: benchmark.targetMet
|
|
566
|
+
? `SONA adaptation: ${(benchmark.avgMs * 1000).toFixed(2)}μs (target <50μs met)`
|
|
567
|
+
: `SONA adaptation: ${(benchmark.avgMs * 1000).toFixed(2)}μs (target not met)`,
|
|
568
|
+
};
|
|
569
|
+
}
|
|
570
|
+
catch {
|
|
571
|
+
return {
|
|
572
|
+
success: true,
|
|
573
|
+
action: 'adapt',
|
|
574
|
+
status: { sona: { enabled: false, reason: 'Intelligence module unavailable' } },
|
|
575
|
+
};
|
|
576
|
+
}
|
|
577
|
+
default: // status
|
|
578
|
+
// Get real neural system status
|
|
579
|
+
try {
|
|
580
|
+
const { getIntelligenceStats, benchmarkAdaptation, initializeIntelligence } = await import('../memory/intelligence.js');
|
|
581
|
+
await initializeIntelligence();
|
|
582
|
+
const stats = getIntelligenceStats();
|
|
583
|
+
const benchmark = benchmarkAdaptation(50);
|
|
584
|
+
return {
|
|
585
|
+
success: true,
|
|
586
|
+
action: 'status',
|
|
587
|
+
neural: {
|
|
588
|
+
enabled: config.neural.enabled,
|
|
589
|
+
sonaEnabled: stats.sonaEnabled,
|
|
590
|
+
ruvector: config.neural.ruvector || { enabled: false },
|
|
591
|
+
features: config.neural.features || {},
|
|
592
|
+
realMetrics: {
|
|
593
|
+
patternsLearned: stats.patternsLearned,
|
|
594
|
+
trajectoriesRecorded: stats.trajectoriesRecorded,
|
|
595
|
+
reasoningBankSize: stats.reasoningBankSize,
|
|
596
|
+
adaptationTime: `${(benchmark.avgMs * 1000).toFixed(2)}μs`,
|
|
597
|
+
targetMet: benchmark.targetMet,
|
|
598
|
+
lastAdaptation: stats.lastAdaptation
|
|
599
|
+
? new Date(stats.lastAdaptation).toISOString()
|
|
600
|
+
: null,
|
|
722
601
|
},
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
602
|
+
},
|
|
603
|
+
capabilities: [
|
|
604
|
+
stats.sonaEnabled ? '✅ SONA Active' : '❌ SONA Inactive',
|
|
605
|
+
benchmark.targetMet ? '✅ <0.05ms Target Met' : '⚠️ Target Not Met',
|
|
606
|
+
`${stats.patternsLearned} patterns learned`,
|
|
607
|
+
`${stats.trajectoriesRecorded} trajectories recorded`,
|
|
608
|
+
],
|
|
609
|
+
};
|
|
610
|
+
}
|
|
611
|
+
catch {
|
|
612
|
+
return {
|
|
613
|
+
success: true,
|
|
614
|
+
action: 'status',
|
|
615
|
+
neural: {
|
|
616
|
+
enabled: config.neural.enabled,
|
|
617
|
+
ruvector: config.neural.ruvector || { enabled: false },
|
|
618
|
+
features: config.neural.features || {},
|
|
619
|
+
},
|
|
620
|
+
message: 'Intelligence module not available - showing config only',
|
|
621
|
+
};
|
|
622
|
+
}
|
|
623
|
+
}
|
|
624
|
+
},
|
|
729
625
|
},
|
|
730
626
|
{
|
|
731
627
|
name: 'embeddings_hyperbolic',
|
|
@@ -737,109 +633,106 @@ export var embeddingsTools = [
|
|
|
737
633
|
action: {
|
|
738
634
|
type: 'string',
|
|
739
635
|
description: 'Hyperbolic action',
|
|
740
|
-
|
|
741
|
-
|
|
636
|
+
enum: ['status', 'convert', 'distance', 'midpoint'],
|
|
637
|
+
default: 'status',
|
|
742
638
|
},
|
|
743
639
|
embedding: {
|
|
744
640
|
type: 'array',
|
|
745
641
|
description: 'Euclidean embedding to convert',
|
|
746
|
-
items: { type: 'number' }
|
|
642
|
+
items: { type: 'number' },
|
|
747
643
|
},
|
|
748
644
|
embedding1: {
|
|
749
645
|
type: 'array',
|
|
750
646
|
description: 'First embedding for distance/midpoint',
|
|
751
|
-
items: { type: 'number' }
|
|
647
|
+
items: { type: 'number' },
|
|
752
648
|
},
|
|
753
649
|
embedding2: {
|
|
754
650
|
type: 'array',
|
|
755
651
|
description: 'Second embedding for distance/midpoint',
|
|
756
|
-
items: { type: 'number' }
|
|
757
|
-
}
|
|
652
|
+
items: { type: 'number' },
|
|
653
|
+
},
|
|
654
|
+
},
|
|
655
|
+
},
|
|
656
|
+
handler: async (input) => {
|
|
657
|
+
const config = loadConfig();
|
|
658
|
+
if (!config) {
|
|
659
|
+
return {
|
|
660
|
+
success: false,
|
|
661
|
+
error: 'Embeddings not initialized. Run embeddings/init first.',
|
|
662
|
+
};
|
|
663
|
+
}
|
|
664
|
+
if (!config.hyperbolic.enabled) {
|
|
665
|
+
return {
|
|
666
|
+
success: false,
|
|
667
|
+
error: 'Hyperbolic mode not enabled. Initialize with hyperbolic=true.',
|
|
668
|
+
};
|
|
669
|
+
}
|
|
670
|
+
const action = input.action || 'status';
|
|
671
|
+
const curvature = config.hyperbolic.curvature;
|
|
672
|
+
switch (action) {
|
|
673
|
+
case 'convert':
|
|
674
|
+
const embedding = input.embedding;
|
|
675
|
+
if (!embedding || !Array.isArray(embedding)) {
|
|
676
|
+
return { success: false, error: 'Embedding array required for convert action' };
|
|
677
|
+
}
|
|
678
|
+
const poincare = toPoincare(embedding, curvature);
|
|
679
|
+
return {
|
|
680
|
+
success: true,
|
|
681
|
+
action: 'convert',
|
|
682
|
+
euclidean: embedding,
|
|
683
|
+
poincare,
|
|
684
|
+
curvature,
|
|
685
|
+
poincareNorm: Math.sqrt(poincare.reduce((sum, x) => sum + x * x, 0)),
|
|
686
|
+
};
|
|
687
|
+
case 'distance':
|
|
688
|
+
const emb1 = input.embedding1;
|
|
689
|
+
const emb2 = input.embedding2;
|
|
690
|
+
if (!emb1 || !emb2) {
|
|
691
|
+
return { success: false, error: 'embedding1 and embedding2 required for distance action' };
|
|
692
|
+
}
|
|
693
|
+
const dist = poincareDistance(emb1, emb2, curvature);
|
|
694
|
+
return {
|
|
695
|
+
success: true,
|
|
696
|
+
action: 'distance',
|
|
697
|
+
distance: dist,
|
|
698
|
+
curvature,
|
|
699
|
+
interpretation: dist < 1 ? 'close' : dist < 2 ? 'moderate' : 'far',
|
|
700
|
+
};
|
|
701
|
+
case 'midpoint':
|
|
702
|
+
const e1 = input.embedding1;
|
|
703
|
+
const e2 = input.embedding2;
|
|
704
|
+
if (!e1 || !e2) {
|
|
705
|
+
return { success: false, error: 'embedding1 and embedding2 required for midpoint action' };
|
|
706
|
+
}
|
|
707
|
+
// Simplified midpoint (proper Möbius midpoint is more complex)
|
|
708
|
+
const mid = e1.map((_, i) => (e1[i] + e2[i]) / 2);
|
|
709
|
+
const norm = Math.sqrt(mid.reduce((sum, x) => sum + x * x, 0));
|
|
710
|
+
const scaledMid = mid.map(x => x * (config.hyperbolic.maxNorm / Math.max(norm, config.hyperbolic.maxNorm)));
|
|
711
|
+
return {
|
|
712
|
+
success: true,
|
|
713
|
+
action: 'midpoint',
|
|
714
|
+
midpoint: scaledMid,
|
|
715
|
+
curvature,
|
|
716
|
+
};
|
|
717
|
+
default: // status
|
|
718
|
+
return {
|
|
719
|
+
success: true,
|
|
720
|
+
action: 'status',
|
|
721
|
+
hyperbolic: {
|
|
722
|
+
enabled: true,
|
|
723
|
+
curvature,
|
|
724
|
+
epsilon: config.hyperbolic.epsilon,
|
|
725
|
+
maxNorm: config.hyperbolic.maxNorm,
|
|
726
|
+
},
|
|
727
|
+
benefits: [
|
|
728
|
+
'Better hierarchical data representation',
|
|
729
|
+
'Exponential capacity in low dimensions',
|
|
730
|
+
'Preserves tree-like structures',
|
|
731
|
+
'Natural for taxonomy embeddings',
|
|
732
|
+
],
|
|
733
|
+
};
|
|
758
734
|
}
|
|
759
735
|
},
|
|
760
|
-
handler: function (input) { return __awaiter(void 0, void 0, void 0, function () {
|
|
761
|
-
var config, action, curvature, embedding, poincare, emb1, emb2, dist, e1_1, e2_1, mid, norm_1, scaledMid;
|
|
762
|
-
return __generator(this, function (_a) {
|
|
763
|
-
config = loadConfig();
|
|
764
|
-
if (!config) {
|
|
765
|
-
return [2 /*return*/, {
|
|
766
|
-
success: false,
|
|
767
|
-
error: 'Embeddings not initialized. Run embeddings/init first.'
|
|
768
|
-
}];
|
|
769
|
-
}
|
|
770
|
-
if (!config.hyperbolic.enabled) {
|
|
771
|
-
return [2 /*return*/, {
|
|
772
|
-
success: false,
|
|
773
|
-
error: 'Hyperbolic mode not enabled. Initialize with hyperbolic=true.'
|
|
774
|
-
}];
|
|
775
|
-
}
|
|
776
|
-
action = input.action || 'status';
|
|
777
|
-
curvature = config.hyperbolic.curvature;
|
|
778
|
-
switch (action) {
|
|
779
|
-
case 'convert':
|
|
780
|
-
embedding = input.embedding;
|
|
781
|
-
if (!embedding || !Array.isArray(embedding)) {
|
|
782
|
-
return [2 /*return*/, { success: false, error: 'Embedding array required for convert action' }];
|
|
783
|
-
}
|
|
784
|
-
poincare = toPoincare(embedding, curvature);
|
|
785
|
-
return [2 /*return*/, {
|
|
786
|
-
success: true,
|
|
787
|
-
action: 'convert',
|
|
788
|
-
euclidean: embedding,
|
|
789
|
-
poincare: poincare,
|
|
790
|
-
curvature: curvature,
|
|
791
|
-
poincareNorm: Math.sqrt(poincare.reduce(function (sum, x) { return sum + x * x; }, 0))
|
|
792
|
-
}];
|
|
793
|
-
case 'distance':
|
|
794
|
-
emb1 = input.embedding1;
|
|
795
|
-
emb2 = input.embedding2;
|
|
796
|
-
if (!emb1 || !emb2) {
|
|
797
|
-
return [2 /*return*/, { success: false, error: 'embedding1 and embedding2 required for distance action' }];
|
|
798
|
-
}
|
|
799
|
-
dist = poincareDistance(emb1, emb2, curvature);
|
|
800
|
-
return [2 /*return*/, {
|
|
801
|
-
success: true,
|
|
802
|
-
action: 'distance',
|
|
803
|
-
distance: dist,
|
|
804
|
-
curvature: curvature,
|
|
805
|
-
interpretation: dist < 1 ? 'close' : dist < 2 ? 'moderate' : 'far'
|
|
806
|
-
}];
|
|
807
|
-
case 'midpoint':
|
|
808
|
-
e1_1 = input.embedding1;
|
|
809
|
-
e2_1 = input.embedding2;
|
|
810
|
-
if (!e1_1 || !e2_1) {
|
|
811
|
-
return [2 /*return*/, { success: false, error: 'embedding1 and embedding2 required for midpoint action' }];
|
|
812
|
-
}
|
|
813
|
-
mid = e1_1.map(function (_, i) { return (e1_1[i] + e2_1[i]) / 2; });
|
|
814
|
-
norm_1 = Math.sqrt(mid.reduce(function (sum, x) { return sum + x * x; }, 0));
|
|
815
|
-
scaledMid = mid.map(function (x) { return x * (config.hyperbolic.maxNorm / Math.max(norm_1, config.hyperbolic.maxNorm)); });
|
|
816
|
-
return [2 /*return*/, {
|
|
817
|
-
success: true,
|
|
818
|
-
action: 'midpoint',
|
|
819
|
-
midpoint: scaledMid,
|
|
820
|
-
curvature: curvature
|
|
821
|
-
}];
|
|
822
|
-
default: // status
|
|
823
|
-
return [2 /*return*/, {
|
|
824
|
-
success: true,
|
|
825
|
-
action: 'status',
|
|
826
|
-
hyperbolic: {
|
|
827
|
-
enabled: true,
|
|
828
|
-
curvature: curvature,
|
|
829
|
-
epsilon: config.hyperbolic.epsilon,
|
|
830
|
-
maxNorm: config.hyperbolic.maxNorm
|
|
831
|
-
},
|
|
832
|
-
benefits: [
|
|
833
|
-
'Better hierarchical data representation',
|
|
834
|
-
'Exponential capacity in low dimensions',
|
|
835
|
-
'Preserves tree-like structures',
|
|
836
|
-
'Natural for taxonomy embeddings',
|
|
837
|
-
]
|
|
838
|
-
}];
|
|
839
|
-
}
|
|
840
|
-
return [2 /*return*/];
|
|
841
|
-
});
|
|
842
|
-
}); }
|
|
843
736
|
},
|
|
844
737
|
{
|
|
845
738
|
name: 'embeddings_status',
|
|
@@ -847,47 +740,43 @@ export var embeddingsTools = [
|
|
|
847
740
|
category: 'embeddings',
|
|
848
741
|
inputSchema: {
|
|
849
742
|
type: 'object',
|
|
850
|
-
properties: {}
|
|
743
|
+
properties: {},
|
|
744
|
+
},
|
|
745
|
+
handler: async () => {
|
|
746
|
+
const config = loadConfig();
|
|
747
|
+
if (!config) {
|
|
748
|
+
return {
|
|
749
|
+
success: false,
|
|
750
|
+
initialized: false,
|
|
751
|
+
message: 'Embeddings not initialized. Run embeddings/init first.',
|
|
752
|
+
};
|
|
753
|
+
}
|
|
754
|
+
return {
|
|
755
|
+
success: true,
|
|
756
|
+
initialized: true,
|
|
757
|
+
config: {
|
|
758
|
+
model: config.model,
|
|
759
|
+
dimension: config.dimension,
|
|
760
|
+
cacheSize: config.cacheSize,
|
|
761
|
+
hyperbolic: config.hyperbolic,
|
|
762
|
+
neural: {
|
|
763
|
+
enabled: config.neural.enabled,
|
|
764
|
+
ruvector: config.neural.ruvector?.enabled ?? false,
|
|
765
|
+
},
|
|
766
|
+
},
|
|
767
|
+
paths: {
|
|
768
|
+
config: getConfigPath(),
|
|
769
|
+
models: config.modelPath,
|
|
770
|
+
},
|
|
771
|
+
initializedAt: config.initialized,
|
|
772
|
+
capabilities: {
|
|
773
|
+
onnxModels: ['all-MiniLM-L6-v2', 'all-mpnet-base-v2'],
|
|
774
|
+
geometries: ['euclidean', 'poincare'],
|
|
775
|
+
normalizations: ['L2', 'L1', 'minmax', 'zscore'],
|
|
776
|
+
features: ['semantic search', 'hyperbolic projection', 'neural substrate'],
|
|
777
|
+
},
|
|
778
|
+
};
|
|
851
779
|
},
|
|
852
|
-
handler: function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
853
|
-
var config;
|
|
854
|
-
var _a, _b;
|
|
855
|
-
return __generator(this, function (_c) {
|
|
856
|
-
config = loadConfig();
|
|
857
|
-
if (!config) {
|
|
858
|
-
return [2 /*return*/, {
|
|
859
|
-
success: false,
|
|
860
|
-
initialized: false,
|
|
861
|
-
message: 'Embeddings not initialized. Run embeddings/init first.'
|
|
862
|
-
}];
|
|
863
|
-
}
|
|
864
|
-
return [2 /*return*/, {
|
|
865
|
-
success: true,
|
|
866
|
-
initialized: true,
|
|
867
|
-
config: {
|
|
868
|
-
model: config.model,
|
|
869
|
-
dimension: config.dimension,
|
|
870
|
-
cacheSize: config.cacheSize,
|
|
871
|
-
hyperbolic: config.hyperbolic,
|
|
872
|
-
neural: {
|
|
873
|
-
enabled: config.neural.enabled,
|
|
874
|
-
ruvector: (_b = (_a = config.neural.ruvector) === null || _a === void 0 ? void 0 : _a.enabled) !== null && _b !== void 0 ? _b : false
|
|
875
|
-
}
|
|
876
|
-
},
|
|
877
|
-
paths: {
|
|
878
|
-
config: getConfigPath(),
|
|
879
|
-
models: config.modelPath
|
|
880
|
-
},
|
|
881
|
-
initializedAt: config.initialized,
|
|
882
|
-
capabilities: {
|
|
883
|
-
onnxModels: ['all-MiniLM-L6-v2', 'all-mpnet-base-v2'],
|
|
884
|
-
geometries: ['euclidean', 'poincare'],
|
|
885
|
-
normalizations: ['L2', 'L1', 'minmax', 'zscore'],
|
|
886
|
-
features: ['semantic search', 'hyperbolic projection', 'neural substrate']
|
|
887
|
-
}
|
|
888
|
-
}];
|
|
889
|
-
});
|
|
890
|
-
}); }
|
|
891
780
|
},
|
|
892
781
|
];
|
|
893
782
|
//# sourceMappingURL=embeddings-tools.js.map
|