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
|
@@ -17,53 +17,6 @@
|
|
|
17
17
|
*
|
|
18
18
|
* @module lora-adapter
|
|
19
19
|
*/
|
|
20
|
-
var __assign = (this && this.__assign) || function () {
|
|
21
|
-
__assign = Object.assign || function(t) {
|
|
22
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
23
|
-
s = arguments[i];
|
|
24
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
25
|
-
t[p] = s[p];
|
|
26
|
-
}
|
|
27
|
-
return t;
|
|
28
|
-
};
|
|
29
|
-
return __assign.apply(this, arguments);
|
|
30
|
-
};
|
|
31
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
32
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
33
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
34
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
35
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
36
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
37
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
38
|
-
});
|
|
39
|
-
};
|
|
40
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
41
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
42
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
43
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
44
|
-
function step(op) {
|
|
45
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
46
|
-
while (_) try {
|
|
47
|
-
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;
|
|
48
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
49
|
-
switch (op[0]) {
|
|
50
|
-
case 0: case 1: t = op; break;
|
|
51
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
52
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
53
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
54
|
-
default:
|
|
55
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
56
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
57
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
58
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
59
|
-
if (t[2]) _.ops.pop();
|
|
60
|
-
_.trys.pop(); continue;
|
|
61
|
-
}
|
|
62
|
-
op = body.call(thisArg, _);
|
|
63
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
64
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
20
|
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
|
|
68
21
|
import { dirname, join } from 'path';
|
|
69
22
|
// ============================================================================
|
|
@@ -72,23 +25,23 @@ import { dirname, join } from 'path';
|
|
|
72
25
|
/**
|
|
73
26
|
* Default LoRA rank (determines memory/quality tradeoff)
|
|
74
27
|
*/
|
|
75
|
-
export
|
|
28
|
+
export const DEFAULT_RANK = 8;
|
|
76
29
|
/**
|
|
77
30
|
* Input dimension (384 from ONNX MiniLM-L6-v2)
|
|
78
31
|
*/
|
|
79
|
-
export
|
|
32
|
+
export const INPUT_DIM = 384;
|
|
80
33
|
/**
|
|
81
34
|
* Default output dimension (same as input for adapter)
|
|
82
35
|
*/
|
|
83
|
-
export
|
|
36
|
+
export const OUTPUT_DIM = 384;
|
|
84
37
|
/**
|
|
85
38
|
* Default alpha scaling factor
|
|
86
39
|
*/
|
|
87
|
-
export
|
|
40
|
+
export const DEFAULT_ALPHA = 16;
|
|
88
41
|
// ============================================================================
|
|
89
42
|
// Default Configuration
|
|
90
43
|
// ============================================================================
|
|
91
|
-
|
|
44
|
+
const DEFAULT_CONFIG = {
|
|
92
45
|
rank: DEFAULT_RANK,
|
|
93
46
|
alpha: DEFAULT_ALPHA,
|
|
94
47
|
inputDim: INPUT_DIM,
|
|
@@ -97,7 +50,7 @@ var DEFAULT_CONFIG = {
|
|
|
97
50
|
weightsPath: join(process.cwd(), '.swarm', 'lora-weights.json'),
|
|
98
51
|
enableDropout: true,
|
|
99
52
|
dropoutProb: 0.1,
|
|
100
|
-
autoSaveInterval: 50
|
|
53
|
+
autoSaveInterval: 50,
|
|
101
54
|
};
|
|
102
55
|
// ============================================================================
|
|
103
56
|
// LoRA Adapter Class
|
|
@@ -105,74 +58,71 @@ var DEFAULT_CONFIG = {
|
|
|
105
58
|
/**
|
|
106
59
|
* Low-Rank Adaptation module for efficient embedding fine-tuning
|
|
107
60
|
*/
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
61
|
+
export class LoRAAdapter {
|
|
62
|
+
config;
|
|
63
|
+
weights;
|
|
64
|
+
totalAdaptations = 0;
|
|
65
|
+
totalUpdates = 0;
|
|
66
|
+
adaptationNormSum = 0;
|
|
67
|
+
lastUpdate = null;
|
|
68
|
+
updatesSinceLastSave = 0;
|
|
69
|
+
constructor(config) {
|
|
70
|
+
this.config = { ...DEFAULT_CONFIG, ...config };
|
|
116
71
|
this.weights = this.initializeWeights();
|
|
117
72
|
}
|
|
118
73
|
/**
|
|
119
74
|
* Initialize weights with Kaiming/He initialization
|
|
120
75
|
*/
|
|
121
|
-
|
|
122
|
-
|
|
76
|
+
initializeWeights() {
|
|
77
|
+
const { rank, inputDim, outputDim, alpha } = this.config;
|
|
123
78
|
// A: rank × inputDim, initialized with Kaiming normal
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
for (
|
|
79
|
+
const A = new Float32Array(rank * inputDim);
|
|
80
|
+
const stdA = Math.sqrt(2.0 / inputDim);
|
|
81
|
+
for (let i = 0; i < A.length; i++) {
|
|
127
82
|
A[i] = this.gaussianRandom() * stdA;
|
|
128
83
|
}
|
|
129
84
|
// B: outputDim × rank, initialized to zero (standard LoRA init)
|
|
130
|
-
|
|
85
|
+
const B = new Float32Array(outputDim * rank);
|
|
131
86
|
// B starts at zero so initial adaptation is zero
|
|
132
87
|
return {
|
|
133
|
-
A
|
|
134
|
-
B
|
|
135
|
-
scaling: alpha / rank
|
|
88
|
+
A,
|
|
89
|
+
B,
|
|
90
|
+
scaling: alpha / rank,
|
|
136
91
|
};
|
|
137
|
-
}
|
|
92
|
+
}
|
|
138
93
|
/**
|
|
139
94
|
* Box-Muller transform for Gaussian random numbers
|
|
140
95
|
*/
|
|
141
|
-
|
|
142
|
-
|
|
96
|
+
gaussianRandom() {
|
|
97
|
+
let u = 0, v = 0;
|
|
143
98
|
while (u === 0)
|
|
144
99
|
u = Math.random();
|
|
145
100
|
while (v === 0)
|
|
146
101
|
v = Math.random();
|
|
147
102
|
return Math.sqrt(-2.0 * Math.log(u)) * Math.cos(2.0 * Math.PI * v);
|
|
148
|
-
}
|
|
103
|
+
}
|
|
149
104
|
/**
|
|
150
105
|
* Initialize adapter and load persisted weights
|
|
151
106
|
*/
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
loaded = this.loadWeights();
|
|
157
|
-
return [2 /*return*/, { success: true, weightsLoaded: loaded }];
|
|
158
|
-
});
|
|
159
|
-
});
|
|
160
|
-
};
|
|
107
|
+
async initialize() {
|
|
108
|
+
const loaded = this.loadWeights();
|
|
109
|
+
return { success: true, weightsLoaded: loaded };
|
|
110
|
+
}
|
|
161
111
|
/**
|
|
162
112
|
* Apply LoRA adaptation to an embedding
|
|
163
113
|
* output = input + scaling * (B @ A @ input)
|
|
164
114
|
*/
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
115
|
+
adapt(input) {
|
|
116
|
+
const startTime = performance.now();
|
|
117
|
+
const { rank, inputDim, outputDim } = this.config;
|
|
118
|
+
const { A, B, scaling } = this.weights;
|
|
169
119
|
// Step 1: Compute A @ input (rank-dimensional)
|
|
170
|
-
|
|
171
|
-
for (
|
|
172
|
-
|
|
173
|
-
|
|
120
|
+
const hidden = new Float32Array(rank);
|
|
121
|
+
for (let r = 0; r < rank; r++) {
|
|
122
|
+
let sum = 0;
|
|
123
|
+
const rowOffset = r * inputDim;
|
|
174
124
|
// Unroll by 4 for SIMD-friendly access
|
|
175
|
-
|
|
125
|
+
let i = 0;
|
|
176
126
|
for (; i + 3 < inputDim; i += 4) {
|
|
177
127
|
sum += A[rowOffset + i] * input[i];
|
|
178
128
|
sum += A[rowOffset + i + 1] * input[i + 1];
|
|
@@ -187,19 +137,19 @@ var LoRAAdapter = /** @class */ (function () {
|
|
|
187
137
|
// Optional dropout (during training inference, skip)
|
|
188
138
|
// In LoRA inference, we don't apply dropout
|
|
189
139
|
// Step 2: Compute B @ hidden (outputDim-dimensional)
|
|
190
|
-
|
|
191
|
-
for (
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
for (
|
|
140
|
+
const delta = new Float32Array(outputDim);
|
|
141
|
+
for (let o = 0; o < outputDim; o++) {
|
|
142
|
+
let sum = 0;
|
|
143
|
+
const rowOffset = o * rank;
|
|
144
|
+
for (let r = 0; r < rank; r++) {
|
|
195
145
|
sum += B[rowOffset + r] * hidden[r];
|
|
196
146
|
}
|
|
197
147
|
delta[o] = sum * scaling;
|
|
198
148
|
}
|
|
199
149
|
// Step 3: Add adaptation to input
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
for (
|
|
150
|
+
const adapted = new Float32Array(outputDim);
|
|
151
|
+
let adaptationNorm = 0;
|
|
152
|
+
for (let i = 0; i < outputDim; i++) {
|
|
203
153
|
adapted[i] = input[i] + delta[i];
|
|
204
154
|
adaptationNorm += delta[i] * delta[i];
|
|
205
155
|
}
|
|
@@ -207,54 +157,53 @@ var LoRAAdapter = /** @class */ (function () {
|
|
|
207
157
|
// Update stats
|
|
208
158
|
this.totalAdaptations++;
|
|
209
159
|
this.adaptationNormSum += adaptationNorm;
|
|
210
|
-
|
|
211
|
-
return { adapted
|
|
212
|
-
}
|
|
160
|
+
const timeMs = performance.now() - startTime;
|
|
161
|
+
return { adapted, adaptationNorm, timeMs };
|
|
162
|
+
}
|
|
213
163
|
/**
|
|
214
164
|
* Train the adapter with a gradient signal
|
|
215
165
|
* Uses simplified update: A += lr * hidden^T @ grad, B += lr * grad @ hidden^T
|
|
216
166
|
*/
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
var _b = this.weights, A = _b.A, B = _b.B, scaling = _b.scaling;
|
|
167
|
+
train(input, gradOutput, reward = 1.0) {
|
|
168
|
+
const { rank, inputDim, outputDim, learningRate } = this.config;
|
|
169
|
+
const { A, B, scaling } = this.weights;
|
|
221
170
|
// Forward pass to get hidden states
|
|
222
|
-
|
|
223
|
-
for (
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
for (
|
|
171
|
+
const hidden = new Float32Array(rank);
|
|
172
|
+
for (let r = 0; r < rank; r++) {
|
|
173
|
+
let sum = 0;
|
|
174
|
+
const rowOffset = r * inputDim;
|
|
175
|
+
for (let i = 0; i < inputDim; i++) {
|
|
227
176
|
sum += A[rowOffset + i] * input[i];
|
|
228
177
|
}
|
|
229
178
|
hidden[r] = sum;
|
|
230
179
|
}
|
|
231
180
|
// Compute gradient for B: grad_B = gradOutput @ hidden^T
|
|
232
|
-
|
|
233
|
-
for (
|
|
234
|
-
|
|
235
|
-
for (
|
|
181
|
+
const scaledLr = learningRate * reward * scaling;
|
|
182
|
+
for (let o = 0; o < outputDim; o++) {
|
|
183
|
+
const rowOffset = o * rank;
|
|
184
|
+
for (let r = 0; r < rank; r++) {
|
|
236
185
|
B[rowOffset + r] += scaledLr * gradOutput[o] * hidden[r];
|
|
237
186
|
}
|
|
238
187
|
}
|
|
239
188
|
// Compute gradient for hidden: grad_hidden = B^T @ gradOutput
|
|
240
|
-
|
|
241
|
-
for (
|
|
242
|
-
|
|
243
|
-
for (
|
|
189
|
+
const gradHidden = new Float32Array(rank);
|
|
190
|
+
for (let r = 0; r < rank; r++) {
|
|
191
|
+
let sum = 0;
|
|
192
|
+
for (let o = 0; o < outputDim; o++) {
|
|
244
193
|
sum += B[o * rank + r] * gradOutput[o];
|
|
245
194
|
}
|
|
246
195
|
gradHidden[r] = sum;
|
|
247
196
|
}
|
|
248
197
|
// Compute gradient for A: grad_A = gradHidden @ input^T
|
|
249
|
-
for (
|
|
250
|
-
|
|
251
|
-
for (
|
|
198
|
+
for (let r = 0; r < rank; r++) {
|
|
199
|
+
const rowOffset = r * inputDim;
|
|
200
|
+
for (let i = 0; i < inputDim; i++) {
|
|
252
201
|
A[rowOffset + i] += scaledLr * gradHidden[r] * input[i];
|
|
253
202
|
}
|
|
254
203
|
}
|
|
255
204
|
// Compute loss (L2 norm of gradient)
|
|
256
|
-
|
|
257
|
-
for (
|
|
205
|
+
let loss = 0;
|
|
206
|
+
for (let i = 0; i < gradOutput.length; i++) {
|
|
258
207
|
loss += gradOutput[i] * gradOutput[i];
|
|
259
208
|
}
|
|
260
209
|
loss = Math.sqrt(loss);
|
|
@@ -267,35 +216,35 @@ var LoRAAdapter = /** @class */ (function () {
|
|
|
267
216
|
this.saveWeights();
|
|
268
217
|
this.updatesSinceLastSave = 0;
|
|
269
218
|
}
|
|
270
|
-
return { updated: true, loss
|
|
271
|
-
}
|
|
219
|
+
return { updated: true, loss };
|
|
220
|
+
}
|
|
272
221
|
/**
|
|
273
222
|
* Merge LoRA weights into base weights (for deployment)
|
|
274
223
|
* Returns: W' = W + scaling * B @ A
|
|
275
224
|
*/
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
225
|
+
merge(baseWeights) {
|
|
226
|
+
const { rank, inputDim, outputDim } = this.config;
|
|
227
|
+
const { A, B, scaling } = this.weights;
|
|
279
228
|
// Compute BA product
|
|
280
|
-
|
|
281
|
-
for (
|
|
282
|
-
for (
|
|
283
|
-
|
|
284
|
-
for (
|
|
229
|
+
const merged = new Float32Array(baseWeights);
|
|
230
|
+
for (let o = 0; o < outputDim; o++) {
|
|
231
|
+
for (let i = 0; i < inputDim; i++) {
|
|
232
|
+
let sum = 0;
|
|
233
|
+
for (let r = 0; r < rank; r++) {
|
|
285
234
|
sum += B[o * rank + r] * A[r * inputDim + i];
|
|
286
235
|
}
|
|
287
236
|
merged[o * inputDim + i] += scaling * sum;
|
|
288
237
|
}
|
|
289
238
|
}
|
|
290
239
|
return merged;
|
|
291
|
-
}
|
|
240
|
+
}
|
|
292
241
|
/**
|
|
293
242
|
* Get current statistics
|
|
294
243
|
*/
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
244
|
+
getStats() {
|
|
245
|
+
const { rank, inputDim, outputDim } = this.config;
|
|
246
|
+
const originalParams = inputDim * outputDim;
|
|
247
|
+
const loraParams = rank * (inputDim + outputDim);
|
|
299
248
|
return {
|
|
300
249
|
totalAdaptations: this.totalAdaptations,
|
|
301
250
|
totalUpdates: this.totalUpdates,
|
|
@@ -304,72 +253,72 @@ var LoRAAdapter = /** @class */ (function () {
|
|
|
304
253
|
avgAdaptationNorm: this.totalAdaptations > 0
|
|
305
254
|
? this.adaptationNormSum / this.totalAdaptations
|
|
306
255
|
: 0,
|
|
307
|
-
lastUpdate: this.lastUpdate
|
|
256
|
+
lastUpdate: this.lastUpdate,
|
|
308
257
|
};
|
|
309
|
-
}
|
|
258
|
+
}
|
|
310
259
|
/**
|
|
311
260
|
* Reset adapter to initial state
|
|
312
261
|
*/
|
|
313
|
-
|
|
262
|
+
reset() {
|
|
314
263
|
this.weights = this.initializeWeights();
|
|
315
264
|
this.totalAdaptations = 0;
|
|
316
265
|
this.totalUpdates = 0;
|
|
317
266
|
this.adaptationNormSum = 0;
|
|
318
267
|
this.lastUpdate = null;
|
|
319
268
|
this.updatesSinceLastSave = 0;
|
|
320
|
-
}
|
|
269
|
+
}
|
|
321
270
|
/**
|
|
322
271
|
* Save weights to disk
|
|
323
272
|
*/
|
|
324
|
-
|
|
273
|
+
saveWeights() {
|
|
325
274
|
try {
|
|
326
|
-
|
|
275
|
+
const dir = dirname(this.config.weightsPath);
|
|
327
276
|
if (!existsSync(dir)) {
|
|
328
277
|
mkdirSync(dir, { recursive: true });
|
|
329
278
|
}
|
|
330
|
-
|
|
279
|
+
const data = {
|
|
331
280
|
version: 1,
|
|
332
281
|
config: {
|
|
333
282
|
rank: this.config.rank,
|
|
334
283
|
alpha: this.config.alpha,
|
|
335
284
|
inputDim: this.config.inputDim,
|
|
336
|
-
outputDim: this.config.outputDim
|
|
285
|
+
outputDim: this.config.outputDim,
|
|
337
286
|
},
|
|
338
287
|
weights: {
|
|
339
288
|
A: Array.from(this.weights.A),
|
|
340
289
|
B: Array.from(this.weights.B),
|
|
341
|
-
scaling: this.weights.scaling
|
|
290
|
+
scaling: this.weights.scaling,
|
|
342
291
|
},
|
|
343
292
|
stats: {
|
|
344
293
|
totalAdaptations: this.totalAdaptations,
|
|
345
294
|
totalUpdates: this.totalUpdates,
|
|
346
295
|
adaptationNormSum: this.adaptationNormSum,
|
|
347
|
-
lastUpdate: this.lastUpdate
|
|
296
|
+
lastUpdate: this.lastUpdate,
|
|
348
297
|
},
|
|
349
|
-
savedAt: new Date().toISOString()
|
|
298
|
+
savedAt: new Date().toISOString(),
|
|
350
299
|
};
|
|
351
300
|
writeFileSync(this.config.weightsPath, JSON.stringify(data, null, 2));
|
|
352
301
|
return true;
|
|
353
302
|
}
|
|
354
|
-
catch
|
|
303
|
+
catch {
|
|
355
304
|
return false;
|
|
356
305
|
}
|
|
357
|
-
}
|
|
306
|
+
}
|
|
358
307
|
/**
|
|
359
308
|
* Load weights from disk
|
|
360
309
|
*/
|
|
361
|
-
|
|
310
|
+
loadWeights() {
|
|
362
311
|
try {
|
|
363
312
|
if (!existsSync(this.config.weightsPath)) {
|
|
364
313
|
return false;
|
|
365
314
|
}
|
|
366
|
-
|
|
367
|
-
|
|
315
|
+
const content = readFileSync(this.config.weightsPath, 'utf-8');
|
|
316
|
+
const data = JSON.parse(content);
|
|
368
317
|
if (data.version !== 1) {
|
|
369
318
|
return false;
|
|
370
319
|
}
|
|
371
320
|
// Verify dimensions match
|
|
372
|
-
|
|
321
|
+
const { rank, inputDim, outputDim } = data.config;
|
|
373
322
|
if (rank !== this.config.rank ||
|
|
374
323
|
inputDim !== this.config.inputDim ||
|
|
375
324
|
outputDim !== this.config.outputDim) {
|
|
@@ -379,7 +328,7 @@ var LoRAAdapter = /** @class */ (function () {
|
|
|
379
328
|
this.weights = {
|
|
380
329
|
A: new Float32Array(data.weights.A),
|
|
381
330
|
B: new Float32Array(data.weights.B),
|
|
382
|
-
scaling: data.weights.scaling
|
|
331
|
+
scaling: data.weights.scaling,
|
|
383
332
|
};
|
|
384
333
|
// Load stats
|
|
385
334
|
this.totalAdaptations = data.stats.totalAdaptations || 0;
|
|
@@ -388,14 +337,14 @@ var LoRAAdapter = /** @class */ (function () {
|
|
|
388
337
|
this.lastUpdate = data.stats.lastUpdate || null;
|
|
389
338
|
return true;
|
|
390
339
|
}
|
|
391
|
-
catch
|
|
340
|
+
catch {
|
|
392
341
|
return false;
|
|
393
342
|
}
|
|
394
|
-
}
|
|
343
|
+
}
|
|
395
344
|
/**
|
|
396
345
|
* Export weights as JSON
|
|
397
346
|
*/
|
|
398
|
-
|
|
347
|
+
exportWeights() {
|
|
399
348
|
return {
|
|
400
349
|
A: Array.from(this.weights.A),
|
|
401
350
|
B: Array.from(this.weights.B),
|
|
@@ -404,16 +353,16 @@ var LoRAAdapter = /** @class */ (function () {
|
|
|
404
353
|
rank: this.config.rank,
|
|
405
354
|
alpha: this.config.alpha,
|
|
406
355
|
inputDim: this.config.inputDim,
|
|
407
|
-
outputDim: this.config.outputDim
|
|
408
|
-
}
|
|
356
|
+
outputDim: this.config.outputDim,
|
|
357
|
+
},
|
|
409
358
|
};
|
|
410
|
-
}
|
|
359
|
+
}
|
|
411
360
|
/**
|
|
412
361
|
* Import weights from JSON
|
|
413
362
|
*/
|
|
414
|
-
|
|
363
|
+
importWeights(data) {
|
|
415
364
|
try {
|
|
416
|
-
|
|
365
|
+
const { rank, inputDim, outputDim } = this.config;
|
|
417
366
|
if (data.A.length !== rank * inputDim ||
|
|
418
367
|
data.B.length !== outputDim * rank) {
|
|
419
368
|
return false;
|
|
@@ -421,52 +370,37 @@ var LoRAAdapter = /** @class */ (function () {
|
|
|
421
370
|
this.weights = {
|
|
422
371
|
A: new Float32Array(data.A),
|
|
423
372
|
B: new Float32Array(data.B),
|
|
424
|
-
scaling: data.scaling
|
|
373
|
+
scaling: data.scaling,
|
|
425
374
|
};
|
|
426
375
|
return true;
|
|
427
376
|
}
|
|
428
|
-
catch
|
|
377
|
+
catch {
|
|
429
378
|
return false;
|
|
430
379
|
}
|
|
431
|
-
}
|
|
432
|
-
|
|
433
|
-
}());
|
|
434
|
-
export { LoRAAdapter };
|
|
380
|
+
}
|
|
381
|
+
}
|
|
435
382
|
// ============================================================================
|
|
436
383
|
// Singleton & Factory Functions
|
|
437
384
|
// ============================================================================
|
|
438
|
-
|
|
439
|
-
|
|
385
|
+
let loraInstance = null;
|
|
386
|
+
let initPromise = null;
|
|
440
387
|
/**
|
|
441
388
|
* Get or create singleton LoRA adapter instance
|
|
442
389
|
*/
|
|
443
|
-
export function getLoRAAdapter() {
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
case 0:
|
|
458
|
-
adapter = new LoRAAdapter();
|
|
459
|
-
return [4 /*yield*/, adapter.initialize()];
|
|
460
|
-
case 1:
|
|
461
|
-
_a.sent();
|
|
462
|
-
loraInstance = adapter;
|
|
463
|
-
return [2 /*return*/, adapter];
|
|
464
|
-
}
|
|
465
|
-
});
|
|
466
|
-
}); })();
|
|
467
|
-
return [2 /*return*/, initPromise];
|
|
468
|
-
});
|
|
469
|
-
});
|
|
390
|
+
export async function getLoRAAdapter() {
|
|
391
|
+
if (loraInstance) {
|
|
392
|
+
return loraInstance;
|
|
393
|
+
}
|
|
394
|
+
if (initPromise) {
|
|
395
|
+
return initPromise;
|
|
396
|
+
}
|
|
397
|
+
initPromise = (async () => {
|
|
398
|
+
const adapter = new LoRAAdapter();
|
|
399
|
+
await adapter.initialize();
|
|
400
|
+
loraInstance = adapter;
|
|
401
|
+
return adapter;
|
|
402
|
+
})();
|
|
403
|
+
return initPromise;
|
|
470
404
|
}
|
|
471
405
|
/**
|
|
472
406
|
* Reset singleton instance (for testing)
|
|
@@ -487,62 +421,35 @@ export function createLoRAAdapter(config) {
|
|
|
487
421
|
/**
|
|
488
422
|
* Quick adaptation (convenience function)
|
|
489
423
|
*/
|
|
490
|
-
export function adaptEmbedding(input) {
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
return __generator(this, function (_a) {
|
|
494
|
-
switch (_a.label) {
|
|
495
|
-
case 0: return [4 /*yield*/, getLoRAAdapter()];
|
|
496
|
-
case 1:
|
|
497
|
-
adapter = _a.sent();
|
|
498
|
-
return [2 /*return*/, adapter.adapt(input)];
|
|
499
|
-
}
|
|
500
|
-
});
|
|
501
|
-
});
|
|
424
|
+
export async function adaptEmbedding(input) {
|
|
425
|
+
const adapter = await getLoRAAdapter();
|
|
426
|
+
return adapter.adapt(input);
|
|
502
427
|
}
|
|
503
428
|
/**
|
|
504
429
|
* Quick training (convenience function)
|
|
505
430
|
*/
|
|
506
|
-
export function trainLoRA(input, gradOutput, reward) {
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
return __generator(this, function (_a) {
|
|
510
|
-
switch (_a.label) {
|
|
511
|
-
case 0: return [4 /*yield*/, getLoRAAdapter()];
|
|
512
|
-
case 1:
|
|
513
|
-
adapter = _a.sent();
|
|
514
|
-
return [2 /*return*/, adapter.train(input, gradOutput, reward)];
|
|
515
|
-
}
|
|
516
|
-
});
|
|
517
|
-
});
|
|
431
|
+
export async function trainLoRA(input, gradOutput, reward) {
|
|
432
|
+
const adapter = await getLoRAAdapter();
|
|
433
|
+
return adapter.train(input, gradOutput, reward);
|
|
518
434
|
}
|
|
519
435
|
/**
|
|
520
436
|
* Get LoRA statistics (convenience function)
|
|
521
437
|
*/
|
|
522
|
-
export function getLoRAStats() {
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
return __generator(this, function (_a) {
|
|
526
|
-
switch (_a.label) {
|
|
527
|
-
case 0: return [4 /*yield*/, getLoRAAdapter()];
|
|
528
|
-
case 1:
|
|
529
|
-
adapter = _a.sent();
|
|
530
|
-
return [2 /*return*/, adapter.getStats()];
|
|
531
|
-
}
|
|
532
|
-
});
|
|
533
|
-
});
|
|
438
|
+
export async function getLoRAStats() {
|
|
439
|
+
const adapter = await getLoRAAdapter();
|
|
440
|
+
return adapter.getStats();
|
|
534
441
|
}
|
|
535
442
|
export default {
|
|
536
|
-
LoRAAdapter
|
|
537
|
-
getLoRAAdapter
|
|
538
|
-
resetLoRAAdapter
|
|
539
|
-
createLoRAAdapter
|
|
540
|
-
adaptEmbedding
|
|
541
|
-
trainLoRA
|
|
542
|
-
getLoRAStats
|
|
543
|
-
DEFAULT_RANK
|
|
544
|
-
DEFAULT_ALPHA
|
|
545
|
-
INPUT_DIM
|
|
546
|
-
OUTPUT_DIM
|
|
443
|
+
LoRAAdapter,
|
|
444
|
+
getLoRAAdapter,
|
|
445
|
+
resetLoRAAdapter,
|
|
446
|
+
createLoRAAdapter,
|
|
447
|
+
adaptEmbedding,
|
|
448
|
+
trainLoRA,
|
|
449
|
+
getLoRAStats,
|
|
450
|
+
DEFAULT_RANK,
|
|
451
|
+
DEFAULT_ALPHA,
|
|
452
|
+
INPUT_DIM,
|
|
453
|
+
OUTPUT_DIM,
|
|
547
454
|
};
|
|
548
455
|
//# sourceMappingURL=lora-adapter.js.map
|