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
|
@@ -13,82 +13,37 @@
|
|
|
13
13
|
*
|
|
14
14
|
* Created with ❤️ by ruv.io
|
|
15
15
|
*/
|
|
16
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
17
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
18
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
19
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
20
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
21
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
22
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
23
|
-
});
|
|
24
|
-
};
|
|
25
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
26
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
27
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
28
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
29
|
-
function step(op) {
|
|
30
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
31
|
-
while (_) try {
|
|
32
|
-
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;
|
|
33
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
34
|
-
switch (op[0]) {
|
|
35
|
-
case 0: case 1: t = op; break;
|
|
36
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
37
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
38
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
39
|
-
default:
|
|
40
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
41
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
42
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
43
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
44
|
-
if (t[2]) _.ops.pop();
|
|
45
|
-
_.trys.pop(); continue;
|
|
46
|
-
}
|
|
47
|
-
op = body.call(thisArg, _);
|
|
48
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
49
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
16
|
/**
|
|
53
17
|
* ESM/CJS interop helper — handles `.default` for CJS modules.
|
|
54
18
|
* Uses `'default' in mod` check which is safer than `mod.default || mod`.
|
|
55
19
|
*/
|
|
56
|
-
function importWithInterop(packageName) {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
return __generator(this, function (_a) {
|
|
60
|
-
switch (_a.label) {
|
|
61
|
-
case 0: return [4 /*yield*/, import(packageName)];
|
|
62
|
-
case 1:
|
|
63
|
-
mod = _a.sent();
|
|
64
|
-
return [2 /*return*/, ('default' in mod) ? mod["default"] : mod];
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
});
|
|
20
|
+
async function importWithInterop(packageName) {
|
|
21
|
+
const mod = await import(packageName);
|
|
22
|
+
return ('default' in mod) ? mod.default : mod;
|
|
68
23
|
}
|
|
69
24
|
// Lazy-loaded WASM modules
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
25
|
+
let microLoRA = null;
|
|
26
|
+
let scopedLoRA = null;
|
|
27
|
+
let trajectoryBuffer = null;
|
|
28
|
+
let flashAttention = null;
|
|
29
|
+
let moeAttention = null;
|
|
30
|
+
let hyperbolicAttention = null;
|
|
31
|
+
let optimizer = null;
|
|
32
|
+
let contrastiveLoss = null;
|
|
33
|
+
let curriculum = null;
|
|
34
|
+
let hardMiner = null;
|
|
80
35
|
// SONA engine (optional enhancement)
|
|
81
|
-
|
|
82
|
-
|
|
36
|
+
let sonaEngine = null;
|
|
37
|
+
let sonaAvailable = false;
|
|
83
38
|
// Training state
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
39
|
+
let initialized = false;
|
|
40
|
+
let totalAdaptations = 0;
|
|
41
|
+
let totalForwards = 0;
|
|
42
|
+
let totalSonaLearns = 0;
|
|
43
|
+
let totalSonaSearches = 0;
|
|
44
|
+
let lastBenchmark = null;
|
|
90
45
|
// Backend tracking
|
|
91
|
-
|
|
46
|
+
let activeBackend = 'js-fallback';
|
|
92
47
|
/**
|
|
93
48
|
* Get which backend is active for training
|
|
94
49
|
*/
|
|
@@ -99,46 +54,51 @@ export function getActiveBackend() {
|
|
|
99
54
|
* Pure-JS fallback implementations for when WASM is unavailable.
|
|
100
55
|
* These provide the same API surface with basic linear algebra.
|
|
101
56
|
*/
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
57
|
+
class JsMicroLoRA {
|
|
58
|
+
_dim;
|
|
59
|
+
_alpha;
|
|
60
|
+
_lr;
|
|
61
|
+
_adaptCount = 0n;
|
|
62
|
+
_forwardCount = 0n;
|
|
63
|
+
_deltaNorm = 0;
|
|
64
|
+
_A; // Low-rank A (rank x dim)
|
|
65
|
+
_B; // Low-rank B (dim x rank)
|
|
66
|
+
RANK = 2;
|
|
67
|
+
constructor(dim, alpha, lr) {
|
|
108
68
|
this._dim = dim;
|
|
109
69
|
this._alpha = alpha;
|
|
110
70
|
this._lr = lr;
|
|
111
71
|
this._A = new Float32Array(this.RANK * dim);
|
|
112
72
|
this._B = new Float32Array(dim * this.RANK);
|
|
113
73
|
// Xavier initialization
|
|
114
|
-
|
|
115
|
-
for (
|
|
74
|
+
const scale = Math.sqrt(2 / (dim + this.RANK));
|
|
75
|
+
for (let i = 0; i < this._A.length; i++)
|
|
116
76
|
this._A[i] = (Math.random() - 0.5) * scale;
|
|
117
|
-
for (
|
|
77
|
+
for (let i = 0; i < this._B.length; i++)
|
|
118
78
|
this._B[i] = (Math.random() - 0.5) * scale;
|
|
119
79
|
}
|
|
120
|
-
|
|
80
|
+
adapt_array(gradient) {
|
|
121
81
|
// Simple gradient update on low-rank matrices
|
|
122
|
-
|
|
123
|
-
for (
|
|
124
|
-
|
|
82
|
+
let norm = 0;
|
|
83
|
+
for (let i = 0; i < Math.min(gradient.length, this._A.length); i++) {
|
|
84
|
+
const delta = -this._lr * gradient[i % gradient.length] * this._alpha;
|
|
125
85
|
this._A[i] += delta;
|
|
126
86
|
norm += delta * delta;
|
|
127
87
|
}
|
|
128
88
|
this._deltaNorm = Math.sqrt(norm);
|
|
129
89
|
this._adaptCount++;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
90
|
+
}
|
|
91
|
+
adapt_count() { return this._adaptCount; }
|
|
92
|
+
param_count() { return this._A.length + this._B.length; }
|
|
93
|
+
forward_array(input) {
|
|
94
|
+
const output = new Float32Array(this._dim);
|
|
135
95
|
// y = x + alpha * B @ A @ x (simplified low-rank)
|
|
136
|
-
for (
|
|
96
|
+
for (let i = 0; i < this._dim; i++) {
|
|
137
97
|
output[i] = input[i];
|
|
138
|
-
|
|
139
|
-
for (
|
|
140
|
-
|
|
141
|
-
for (
|
|
98
|
+
let sum = 0;
|
|
99
|
+
for (let r = 0; r < this.RANK; r++) {
|
|
100
|
+
let dot = 0;
|
|
101
|
+
for (let j = 0; j < this._dim; j++) {
|
|
142
102
|
dot += this._A[r * this._dim + j] * input[j];
|
|
143
103
|
}
|
|
144
104
|
sum += this._B[i * this.RANK + r] * dot;
|
|
@@ -147,40 +107,42 @@ var JsMicroLoRA = /** @class */ (function () {
|
|
|
147
107
|
}
|
|
148
108
|
this._forwardCount++;
|
|
149
109
|
return output;
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
for (
|
|
156
|
-
|
|
110
|
+
}
|
|
111
|
+
forward_count() { return this._forwardCount; }
|
|
112
|
+
adapt_with_reward(improvement) {
|
|
113
|
+
const scale = improvement * this._lr * this._alpha;
|
|
114
|
+
let norm = 0;
|
|
115
|
+
for (let i = 0; i < this._A.length; i++) {
|
|
116
|
+
const delta = scale * (Math.random() - 0.5);
|
|
157
117
|
this._A[i] += delta;
|
|
158
118
|
norm += delta * delta;
|
|
159
119
|
}
|
|
160
120
|
this._deltaNorm = Math.sqrt(norm);
|
|
161
121
|
this._adaptCount++;
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
122
|
+
}
|
|
123
|
+
delta_norm() { return this._deltaNorm; }
|
|
124
|
+
dim() { return this._dim; }
|
|
125
|
+
reset() {
|
|
166
126
|
this._A.fill(0);
|
|
167
127
|
this._B.fill(0);
|
|
168
128
|
this._adaptCount = 0n;
|
|
169
129
|
this._forwardCount = 0n;
|
|
170
130
|
this._deltaNorm = 0;
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
131
|
+
}
|
|
132
|
+
free() { }
|
|
133
|
+
}
|
|
134
|
+
class JsScopedLoRA {
|
|
135
|
+
adapters = new Map();
|
|
136
|
+
_dim;
|
|
137
|
+
_alpha;
|
|
138
|
+
_lr;
|
|
139
|
+
_fallback = false;
|
|
140
|
+
constructor(dim, alpha, lr) {
|
|
179
141
|
this._dim = dim;
|
|
180
142
|
this._alpha = alpha;
|
|
181
143
|
this._lr = lr;
|
|
182
144
|
}
|
|
183
|
-
|
|
145
|
+
getAdapter(opType) {
|
|
184
146
|
if (!this.adapters.has(opType)) {
|
|
185
147
|
if (this._fallback && opType > 0 && this.adapters.has(0)) {
|
|
186
148
|
return this.adapters.get(0);
|
|
@@ -188,201 +150,173 @@ var JsScopedLoRA = /** @class */ (function () {
|
|
|
188
150
|
this.adapters.set(opType, new JsMicroLoRA(this._dim, this._alpha, this._lr));
|
|
189
151
|
}
|
|
190
152
|
return this.adapters.get(opType);
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
for (
|
|
202
|
-
var a = _a[_i];
|
|
153
|
+
}
|
|
154
|
+
adapt_array(opType, gradient) { this.getAdapter(opType).adapt_array(gradient); }
|
|
155
|
+
adapt_count(opType) { return this.getAdapter(opType).adapt_count(); }
|
|
156
|
+
forward_array(opType, input) { return this.getAdapter(opType).forward_array(input); }
|
|
157
|
+
forward_count(opType) { return this.getAdapter(opType).forward_count(); }
|
|
158
|
+
adapt_with_reward(opType, improvement) { this.getAdapter(opType).adapt_with_reward(improvement); }
|
|
159
|
+
delta_norm(opType) { return this.getAdapter(opType).delta_norm(); }
|
|
160
|
+
set_category_fallback(enabled) { this._fallback = enabled; }
|
|
161
|
+
total_adapt_count() {
|
|
162
|
+
let total = 0n;
|
|
163
|
+
for (const a of this.adapters.values())
|
|
203
164
|
total += a.adapt_count();
|
|
204
|
-
}
|
|
205
165
|
return total;
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
for (
|
|
210
|
-
var a = _a[_i];
|
|
166
|
+
}
|
|
167
|
+
total_forward_count() {
|
|
168
|
+
let total = 0n;
|
|
169
|
+
for (const a of this.adapters.values())
|
|
211
170
|
total += a.forward_count();
|
|
212
|
-
}
|
|
213
171
|
return total;
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
172
|
+
}
|
|
173
|
+
reset_all() { this.adapters.clear(); }
|
|
174
|
+
reset_scope(opType) { this.adapters.delete(opType); }
|
|
175
|
+
free() { this.adapters.clear(); }
|
|
176
|
+
}
|
|
177
|
+
class JsTrajectoryBuffer {
|
|
178
|
+
entries = [];
|
|
179
|
+
capacity;
|
|
180
|
+
constructor(capacity, _dim) {
|
|
223
181
|
this.capacity = capacity;
|
|
224
182
|
}
|
|
225
|
-
|
|
226
|
-
|
|
183
|
+
record(_embedding, _opType, _attType, executionMs, baselineMs) {
|
|
184
|
+
const improvement = baselineMs > 0 ? (baselineMs - executionMs) / baselineMs : 0;
|
|
227
185
|
if (this.entries.length >= this.capacity)
|
|
228
186
|
this.entries.shift();
|
|
229
|
-
this.entries.push({ improvement
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
187
|
+
this.entries.push({ improvement });
|
|
188
|
+
}
|
|
189
|
+
is_empty() { return this.entries.length === 0; }
|
|
190
|
+
total_count() { return BigInt(this.entries.length); }
|
|
191
|
+
success_rate() {
|
|
234
192
|
if (this.entries.length === 0)
|
|
235
193
|
return 0;
|
|
236
|
-
return this.entries.filter(
|
|
237
|
-
}
|
|
238
|
-
|
|
194
|
+
return this.entries.filter(e => e.improvement > 0).length / this.entries.length;
|
|
195
|
+
}
|
|
196
|
+
mean_improvement() {
|
|
239
197
|
if (this.entries.length === 0)
|
|
240
198
|
return 0;
|
|
241
|
-
return this.entries.reduce(
|
|
242
|
-
}
|
|
243
|
-
|
|
199
|
+
return this.entries.reduce((s, e) => s + e.improvement, 0) / this.entries.length;
|
|
200
|
+
}
|
|
201
|
+
best_improvement() {
|
|
244
202
|
if (this.entries.length === 0)
|
|
245
203
|
return 0;
|
|
246
|
-
return Math.max
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
return this.entries.filter(
|
|
250
|
-
}
|
|
251
|
-
|
|
204
|
+
return Math.max(...this.entries.map(e => e.improvement));
|
|
205
|
+
}
|
|
206
|
+
high_quality_count(threshold) {
|
|
207
|
+
return this.entries.filter(e => e.improvement > threshold).length;
|
|
208
|
+
}
|
|
209
|
+
variance() {
|
|
252
210
|
if (this.entries.length < 2)
|
|
253
211
|
return 0;
|
|
254
|
-
|
|
255
|
-
return this.entries.reduce(
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
}());
|
|
212
|
+
const mean = this.mean_improvement();
|
|
213
|
+
return this.entries.reduce((s, e) => s + (e.improvement - mean) ** 2, 0) / (this.entries.length - 1);
|
|
214
|
+
}
|
|
215
|
+
reset() { this.entries = []; }
|
|
216
|
+
free() { this.entries = []; }
|
|
217
|
+
}
|
|
261
218
|
/**
|
|
262
219
|
* Initialize the RuVector training system.
|
|
263
220
|
* Attempts to load @ruvector/learning-wasm for WASM-accelerated training.
|
|
264
221
|
* Falls back to a pure-JS implementation if WASM is unavailable.
|
|
265
222
|
*/
|
|
266
|
-
export function initializeTraining(config) {
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
console.warn("[ruvector] @ruvector/attention unavailable (" + reason + "), attention features disabled");
|
|
354
|
-
return [3 /*break*/, 9];
|
|
355
|
-
case 9:
|
|
356
|
-
if (!(config.useSona !== false)) return [3 /*break*/, 13];
|
|
357
|
-
_a.label = 10;
|
|
358
|
-
case 10:
|
|
359
|
-
_a.trys.push([10, 12, , 13]);
|
|
360
|
-
return [4 /*yield*/, importWithInterop('@ruvector/sona')];
|
|
361
|
-
case 11:
|
|
362
|
-
sona = _a.sent();
|
|
363
|
-
sonaRank = config.sonaRank || 4;
|
|
364
|
-
sonaEngine = new sona.SonaEngine(dim, sonaRank, alpha, lr);
|
|
365
|
-
sonaAvailable = true;
|
|
366
|
-
features.push("SONA (" + dim + "-dim, rank-" + sonaRank + ", 624k learn/s)");
|
|
367
|
-
return [3 /*break*/, 13];
|
|
368
|
-
case 12:
|
|
369
|
-
sonaError_1 = _a.sent();
|
|
370
|
-
sonaAvailable = false;
|
|
371
|
-
if (config.useSona === true) {
|
|
372
|
-
console.warn('SONA requested but not available:', sonaError_1);
|
|
373
|
-
}
|
|
374
|
-
return [3 /*break*/, 13];
|
|
375
|
-
case 13:
|
|
376
|
-
initialized = true;
|
|
377
|
-
return [2 /*return*/, { success: true, features: features, backend: activeBackend }];
|
|
223
|
+
export async function initializeTraining(config = {}) {
|
|
224
|
+
const features = [];
|
|
225
|
+
const dim = Math.min(config.dim || 256, 256); // Max 256 for WASM
|
|
226
|
+
const lr = config.learningRate || 0.01;
|
|
227
|
+
const alpha = config.alpha || 0.1;
|
|
228
|
+
// --- Attempt WASM backend first ---
|
|
229
|
+
let wasmLoaded = false;
|
|
230
|
+
try {
|
|
231
|
+
const fs = await import('fs');
|
|
232
|
+
const { createRequire } = await import('module');
|
|
233
|
+
const require = createRequire(import.meta.url);
|
|
234
|
+
const wasmPath = require.resolve('@ruvector/learning-wasm/ruvector_learning_wasm_bg.wasm');
|
|
235
|
+
const wasmBuffer = fs.readFileSync(wasmPath);
|
|
236
|
+
const learningWasm = await import('@ruvector/learning-wasm');
|
|
237
|
+
learningWasm.initSync({ module: wasmBuffer });
|
|
238
|
+
microLoRA = new learningWasm.WasmMicroLoRA(dim, alpha, lr);
|
|
239
|
+
features.push(`MicroLoRA/WASM (${dim}-dim, <1μs adaptation)`);
|
|
240
|
+
scopedLoRA = new learningWasm.WasmScopedLoRA(dim, alpha, lr);
|
|
241
|
+
scopedLoRA.set_category_fallback(true);
|
|
242
|
+
features.push('ScopedLoRA/WASM (17 operators)');
|
|
243
|
+
trajectoryBuffer = new learningWasm.WasmTrajectoryBuffer(config.trajectoryCapacity || 10000, dim);
|
|
244
|
+
features.push('TrajectoryBuffer/WASM');
|
|
245
|
+
activeBackend = 'wasm';
|
|
246
|
+
wasmLoaded = true;
|
|
247
|
+
}
|
|
248
|
+
catch (wasmError) {
|
|
249
|
+
// WASM not available - fall back to JS implementation
|
|
250
|
+
const reason = wasmError instanceof Error ? wasmError.message : String(wasmError);
|
|
251
|
+
console.warn(`[ruvector] WASM backend unavailable (${reason}), using JS fallback`);
|
|
252
|
+
microLoRA = new JsMicroLoRA(dim, alpha, lr);
|
|
253
|
+
features.push(`MicroLoRA/JS (${dim}-dim, JS fallback)`);
|
|
254
|
+
scopedLoRA = new JsScopedLoRA(dim, alpha, lr);
|
|
255
|
+
scopedLoRA.set_category_fallback(true);
|
|
256
|
+
features.push('ScopedLoRA/JS (17 operators)');
|
|
257
|
+
trajectoryBuffer = new JsTrajectoryBuffer(config.trajectoryCapacity || 10000, dim);
|
|
258
|
+
features.push('TrajectoryBuffer/JS');
|
|
259
|
+
activeBackend = 'js-fallback';
|
|
260
|
+
}
|
|
261
|
+
// --- Attention mechanisms (optional, independent of WASM) ---
|
|
262
|
+
try {
|
|
263
|
+
const attention = await importWithInterop('@ruvector/attention');
|
|
264
|
+
if (config.useFlashAttention !== false) {
|
|
265
|
+
flashAttention = new attention.FlashAttention(dim, 64);
|
|
266
|
+
features.push('FlashAttention');
|
|
267
|
+
}
|
|
268
|
+
if (config.useMoE) {
|
|
269
|
+
moeAttention = attention.MoEAttention.simple(dim, 8, 2);
|
|
270
|
+
features.push('MoE (8 experts, top-2)');
|
|
271
|
+
}
|
|
272
|
+
if (config.useHyperbolic) {
|
|
273
|
+
hyperbolicAttention = new attention.HyperbolicAttention(dim, 1.0);
|
|
274
|
+
features.push('HyperbolicAttention');
|
|
275
|
+
}
|
|
276
|
+
optimizer = new attention.AdamWOptimizer(lr, 0.9, 0.999, 1e-8, 0.01);
|
|
277
|
+
features.push('AdamW Optimizer');
|
|
278
|
+
contrastiveLoss = new attention.InfoNceLoss(0.07);
|
|
279
|
+
features.push('InfoNCE Loss');
|
|
280
|
+
if (config.totalSteps) {
|
|
281
|
+
curriculum = new attention.CurriculumScheduler(config.totalSteps, config.warmupSteps || Math.floor(config.totalSteps * 0.1));
|
|
282
|
+
features.push('Curriculum Learning');
|
|
283
|
+
}
|
|
284
|
+
try {
|
|
285
|
+
hardMiner = new attention.HardNegativeMiner(5, 'semi_hard');
|
|
286
|
+
features.push('Hard Negative Mining');
|
|
287
|
+
}
|
|
288
|
+
catch {
|
|
289
|
+
// Mining not available, continue without it
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
catch (attentionError) {
|
|
293
|
+
// @ruvector/attention not available - attention features skipped
|
|
294
|
+
const reason = attentionError instanceof Error ? attentionError.message : String(attentionError);
|
|
295
|
+
console.warn(`[ruvector] @ruvector/attention unavailable (${reason}), attention features disabled`);
|
|
296
|
+
}
|
|
297
|
+
// --- SONA (optional, backward compatible) ---
|
|
298
|
+
if (config.useSona !== false) {
|
|
299
|
+
try {
|
|
300
|
+
const sona = await importWithInterop('@ruvector/sona');
|
|
301
|
+
const sonaRank = config.sonaRank || 4;
|
|
302
|
+
sonaEngine = new sona.SonaEngine(dim, sonaRank, alpha, lr);
|
|
303
|
+
sonaAvailable = true;
|
|
304
|
+
features.push(`SONA (${dim}-dim, rank-${sonaRank}, 624k learn/s)`);
|
|
305
|
+
}
|
|
306
|
+
catch (sonaError) {
|
|
307
|
+
sonaAvailable = false;
|
|
308
|
+
if (config.useSona === true) {
|
|
309
|
+
console.warn('SONA requested but not available:', sonaError);
|
|
378
310
|
}
|
|
379
|
-
}
|
|
380
|
-
}
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
initialized = true;
|
|
314
|
+
return { success: true, features, backend: activeBackend };
|
|
381
315
|
}
|
|
382
316
|
/**
|
|
383
317
|
* Operator types for scoped LoRA (0-16)
|
|
384
318
|
*/
|
|
385
|
-
export
|
|
319
|
+
export const OperatorType = {
|
|
386
320
|
GENERAL: 0,
|
|
387
321
|
ATTENTION: 1,
|
|
388
322
|
MLP: 2,
|
|
@@ -399,34 +333,30 @@ export var OperatorType = {
|
|
|
399
333
|
OPTIMIZATION: 13,
|
|
400
334
|
SECURITY: 14,
|
|
401
335
|
TESTING: 15,
|
|
402
|
-
DEBUGGING: 16
|
|
336
|
+
DEBUGGING: 16,
|
|
403
337
|
};
|
|
404
338
|
/**
|
|
405
339
|
* Train a pattern with MicroLoRA
|
|
406
340
|
*/
|
|
407
|
-
export function trainPattern(embedding, gradient, operatorType) {
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
adaptCount: microLoRA.adapt_count()
|
|
427
|
-
}];
|
|
428
|
-
});
|
|
429
|
-
});
|
|
341
|
+
export async function trainPattern(embedding, gradient, operatorType) {
|
|
342
|
+
if (!initialized || !microLoRA) {
|
|
343
|
+
throw new Error('Training system not initialized');
|
|
344
|
+
}
|
|
345
|
+
// Use scoped LoRA if operator type specified
|
|
346
|
+
if (operatorType !== undefined && scopedLoRA) {
|
|
347
|
+
scopedLoRA.adapt_array(operatorType, gradient);
|
|
348
|
+
return {
|
|
349
|
+
deltaNorm: scopedLoRA.delta_norm(operatorType),
|
|
350
|
+
adaptCount: scopedLoRA.adapt_count(operatorType),
|
|
351
|
+
};
|
|
352
|
+
}
|
|
353
|
+
// Standard MicroLoRA adaptation
|
|
354
|
+
microLoRA.adapt_array(gradient);
|
|
355
|
+
totalAdaptations++;
|
|
356
|
+
return {
|
|
357
|
+
deltaNorm: microLoRA.delta_norm(),
|
|
358
|
+
adaptCount: microLoRA.adapt_count(),
|
|
359
|
+
};
|
|
430
360
|
}
|
|
431
361
|
/**
|
|
432
362
|
* Forward pass through LoRA
|
|
@@ -478,7 +408,7 @@ export function getTrajectoryStats() {
|
|
|
478
408
|
bestImprovement: trajectoryBuffer.best_improvement(),
|
|
479
409
|
totalCount: trajectoryBuffer.total_count(),
|
|
480
410
|
highQualityCount: trajectoryBuffer.high_quality_count(0.1),
|
|
481
|
-
variance: trajectoryBuffer.variance()
|
|
411
|
+
variance: trajectoryBuffer.variance(),
|
|
482
412
|
};
|
|
483
413
|
}
|
|
484
414
|
/**
|
|
@@ -515,9 +445,9 @@ export function computeContrastiveLoss(anchor, positives, negatives) {
|
|
|
515
445
|
if (!contrastiveLoss) {
|
|
516
446
|
throw new Error('Contrastive loss not initialized');
|
|
517
447
|
}
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
return { loss
|
|
448
|
+
const loss = contrastiveLoss.compute(anchor, positives, negatives);
|
|
449
|
+
const gradient = contrastiveLoss.backward(anchor, positives, negatives);
|
|
450
|
+
return { loss, gradient };
|
|
521
451
|
}
|
|
522
452
|
/**
|
|
523
453
|
* Optimizer step
|
|
@@ -549,19 +479,10 @@ export function mineHardNegatives(anchor, candidates) {
|
|
|
549
479
|
/**
|
|
550
480
|
* Benchmark the training system
|
|
551
481
|
*/
|
|
552
|
-
export function benchmarkTraining(dim, iterations) {
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
switch (_a.label) {
|
|
557
|
-
case 0: return [4 /*yield*/, importWithInterop('@ruvector/attention')];
|
|
558
|
-
case 1:
|
|
559
|
-
attention = _a.sent();
|
|
560
|
-
lastBenchmark = attention.benchmarkAttention(dim || 256, 100, iterations || 1000);
|
|
561
|
-
return [2 /*return*/, lastBenchmark !== null && lastBenchmark !== void 0 ? lastBenchmark : []];
|
|
562
|
-
}
|
|
563
|
-
});
|
|
564
|
-
});
|
|
482
|
+
export async function benchmarkTraining(dim, iterations) {
|
|
483
|
+
const attention = await importWithInterop('@ruvector/attention');
|
|
484
|
+
lastBenchmark = attention.benchmarkAttention(dim || 256, 100, iterations || 1000);
|
|
485
|
+
return lastBenchmark ?? [];
|
|
565
486
|
}
|
|
566
487
|
// ============================================
|
|
567
488
|
// SONA Functions (v2 enhancement, optional)
|
|
@@ -587,13 +508,12 @@ export function sonaForceLearn(embedding, reward) {
|
|
|
587
508
|
* Search for similar patterns with SONA (16.7μs, 60k searches/s)
|
|
588
509
|
* Returns the k most similar patterns from the pattern bank
|
|
589
510
|
*/
|
|
590
|
-
export function sonaFindPatterns(embedding, k) {
|
|
591
|
-
if (k === void 0) { k = 5; }
|
|
511
|
+
export function sonaFindPatterns(embedding, k = 5) {
|
|
592
512
|
if (!sonaEngine) {
|
|
593
513
|
throw new Error('SONA not initialized. Call initializeTraining with useSona: true');
|
|
594
514
|
}
|
|
595
515
|
// SONA requires Array, not Float32Array
|
|
596
|
-
|
|
516
|
+
const embeddingArray = Array.from(embedding);
|
|
597
517
|
totalSonaSearches++;
|
|
598
518
|
return sonaEngine.findPatterns(embeddingArray, k);
|
|
599
519
|
}
|
|
@@ -617,27 +537,27 @@ export function getSonaStats() {
|
|
|
617
537
|
enabled: false,
|
|
618
538
|
stats: null,
|
|
619
539
|
totalLearns: totalSonaLearns,
|
|
620
|
-
totalSearches: totalSonaSearches
|
|
540
|
+
totalSearches: totalSonaSearches,
|
|
621
541
|
};
|
|
622
542
|
}
|
|
623
543
|
try {
|
|
624
|
-
|
|
625
|
-
|
|
544
|
+
const statsJson = sonaEngine.getStats();
|
|
545
|
+
const stats = JSON.parse(statsJson);
|
|
626
546
|
return {
|
|
627
547
|
available: true,
|
|
628
548
|
enabled: sonaEngine.isEnabled(),
|
|
629
|
-
stats
|
|
549
|
+
stats,
|
|
630
550
|
totalLearns: totalSonaLearns,
|
|
631
|
-
totalSearches: totalSonaSearches
|
|
551
|
+
totalSearches: totalSonaSearches,
|
|
632
552
|
};
|
|
633
553
|
}
|
|
634
|
-
catch
|
|
554
|
+
catch {
|
|
635
555
|
return {
|
|
636
556
|
available: true,
|
|
637
557
|
enabled: false,
|
|
638
558
|
stats: null,
|
|
639
559
|
totalLearns: totalSonaLearns,
|
|
640
|
-
totalSearches: totalSonaSearches
|
|
560
|
+
totalSearches: totalSonaSearches,
|
|
641
561
|
};
|
|
642
562
|
}
|
|
643
563
|
}
|
|
@@ -663,24 +583,24 @@ export function sonaFlush() {
|
|
|
663
583
|
* Get training statistics
|
|
664
584
|
*/
|
|
665
585
|
export function getTrainingStats() {
|
|
666
|
-
|
|
667
|
-
initialized
|
|
586
|
+
const stats = {
|
|
587
|
+
initialized,
|
|
668
588
|
backend: activeBackend,
|
|
669
|
-
totalAdaptations
|
|
670
|
-
totalForwards
|
|
589
|
+
totalAdaptations,
|
|
590
|
+
totalForwards,
|
|
671
591
|
};
|
|
672
592
|
if (microLoRA) {
|
|
673
593
|
stats.microLoraStats = {
|
|
674
594
|
paramCount: microLoRA.param_count(),
|
|
675
595
|
adaptCount: microLoRA.adapt_count(),
|
|
676
596
|
forwardCount: microLoRA.forward_count(),
|
|
677
|
-
deltaNorm: microLoRA.delta_norm()
|
|
597
|
+
deltaNorm: microLoRA.delta_norm(),
|
|
678
598
|
};
|
|
679
599
|
}
|
|
680
600
|
if (scopedLoRA) {
|
|
681
601
|
stats.scopedLoraStats = {
|
|
682
602
|
totalAdaptCount: scopedLoRA.total_adapt_count(),
|
|
683
|
-
totalForwardCount: scopedLoRA.total_forward_count()
|
|
603
|
+
totalForwardCount: scopedLoRA.total_forward_count(),
|
|
684
604
|
};
|
|
685
605
|
}
|
|
686
606
|
if (trajectoryBuffer && !trajectoryBuffer.is_empty()) {
|
|
@@ -726,7 +646,7 @@ export function exportWeights() {
|
|
|
726
646
|
dim: microLoRA.dim(),
|
|
727
647
|
deltaNorm: microLoRA.delta_norm(),
|
|
728
648
|
adaptCount: microLoRA.adapt_count(),
|
|
729
|
-
trajectoryStats: getTrajectoryStats()
|
|
649
|
+
trajectoryStats: getTrajectoryStats(),
|
|
730
650
|
};
|
|
731
651
|
}
|
|
732
652
|
/**
|