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,79 +13,23 @@
|
|
|
13
13
|
*
|
|
14
14
|
* @module v3/cli/memory/sona-optimizer
|
|
15
15
|
*/
|
|
16
|
-
var __assign = (this && this.__assign) || function () {
|
|
17
|
-
__assign = Object.assign || function(t) {
|
|
18
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
19
|
-
s = arguments[i];
|
|
20
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
21
|
-
t[p] = s[p];
|
|
22
|
-
}
|
|
23
|
-
return t;
|
|
24
|
-
};
|
|
25
|
-
return __assign.apply(this, arguments);
|
|
26
|
-
};
|
|
27
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
28
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
29
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
30
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
31
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
32
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
33
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
34
|
-
});
|
|
35
|
-
};
|
|
36
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
37
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
38
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
39
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
40
|
-
function step(op) {
|
|
41
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
42
|
-
while (_) try {
|
|
43
|
-
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;
|
|
44
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
45
|
-
switch (op[0]) {
|
|
46
|
-
case 0: case 1: t = op; break;
|
|
47
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
48
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
49
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
50
|
-
default:
|
|
51
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
52
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
53
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
54
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
55
|
-
if (t[2]) _.ops.pop();
|
|
56
|
-
_.trys.pop(); continue;
|
|
57
|
-
}
|
|
58
|
-
op = body.call(thisArg, _);
|
|
59
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
60
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
64
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
65
|
-
if (ar || !(i in from)) {
|
|
66
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
67
|
-
ar[i] = from[i];
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
71
|
-
};
|
|
72
16
|
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
|
|
73
17
|
import { dirname, join } from 'path';
|
|
74
18
|
// ============================================================================
|
|
75
19
|
// Constants
|
|
76
20
|
// ============================================================================
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
21
|
+
const DEFAULT_PERSISTENCE_PATH = '.swarm/sona-patterns.json';
|
|
22
|
+
const PATTERN_VERSION = '1.0.0';
|
|
23
|
+
const MIN_CONFIDENCE = 0.1;
|
|
24
|
+
const MAX_CONFIDENCE = 0.99;
|
|
25
|
+
const CONFIDENCE_INCREMENT = 0.1;
|
|
26
|
+
const CONFIDENCE_DECREMENT = 0.15;
|
|
27
|
+
const DECAY_RATE = 0.01; // Per day
|
|
28
|
+
const MAX_PATTERNS = 1000;
|
|
85
29
|
/**
|
|
86
30
|
* Common agent types for routing
|
|
87
31
|
*/
|
|
88
|
-
|
|
32
|
+
const AGENT_TYPES = [
|
|
89
33
|
'coder',
|
|
90
34
|
'tester',
|
|
91
35
|
'reviewer',
|
|
@@ -100,7 +44,7 @@ var AGENT_TYPES = [
|
|
|
100
44
|
/**
|
|
101
45
|
* Task keywords for pattern extraction
|
|
102
46
|
*/
|
|
103
|
-
|
|
47
|
+
const KEYWORD_CATEGORIES = {
|
|
104
48
|
coder: [
|
|
105
49
|
'implement', 'code', 'write', 'create', 'build', 'develop', 'add',
|
|
106
50
|
'feature', 'function', 'class', 'module', 'api', 'endpoint',
|
|
@@ -125,7 +69,7 @@ var KEYWORD_CATEGORIES = {
|
|
|
125
69
|
'optimize', 'performance', 'speed', 'memory', 'improve', 'enhance',
|
|
126
70
|
'faster', 'efficient', 'reduce', 'benchmark',
|
|
127
71
|
],
|
|
128
|
-
|
|
72
|
+
debugger: [
|
|
129
73
|
'debug', 'fix', 'bug', 'error', 'issue', 'problem', 'crash',
|
|
130
74
|
'exception', 'trace', 'diagnose', 'resolve',
|
|
131
75
|
],
|
|
@@ -140,7 +84,7 @@ var KEYWORD_CATEGORIES = {
|
|
|
140
84
|
'performance-engineer': [
|
|
141
85
|
'profiling', 'bottleneck', 'latency', 'throughput', 'cache',
|
|
142
86
|
'scale', 'load', 'stress', 'concurrent', 'parallel',
|
|
143
|
-
]
|
|
87
|
+
],
|
|
144
88
|
};
|
|
145
89
|
// ============================================================================
|
|
146
90
|
// SONAOptimizer Class
|
|
@@ -151,81 +95,69 @@ var KEYWORD_CATEGORIES = {
|
|
|
151
95
|
* Learns from past task outcomes to improve future routing decisions.
|
|
152
96
|
* Integrates with Q-learning router for hybrid routing strategy.
|
|
153
97
|
*/
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
98
|
+
export class SONAOptimizer {
|
|
99
|
+
patterns = new Map();
|
|
100
|
+
trajectoriesProcessed = 0;
|
|
101
|
+
successfulRoutings = 0;
|
|
102
|
+
failedRoutings = 0;
|
|
103
|
+
lastUpdate = null;
|
|
104
|
+
persistencePath;
|
|
105
|
+
qLearningRouter = null;
|
|
106
|
+
qLearningEnabled = false;
|
|
107
|
+
constructor(options) {
|
|
108
|
+
this.persistencePath = options?.persistencePath || DEFAULT_PERSISTENCE_PATH;
|
|
164
109
|
}
|
|
165
110
|
/**
|
|
166
111
|
* Initialize the optimizer and load persisted state
|
|
167
112
|
*/
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
case 4:
|
|
188
|
-
_a = _b.sent();
|
|
189
|
-
// Q-learning not available, continue without it
|
|
190
|
-
this.qLearningEnabled = false;
|
|
191
|
-
return [3 /*break*/, 5];
|
|
192
|
-
case 5: return [2 /*return*/, {
|
|
193
|
-
success: true,
|
|
194
|
-
patternsLoaded: loaded ? this.patterns.size : 0
|
|
195
|
-
}];
|
|
196
|
-
}
|
|
197
|
-
});
|
|
198
|
-
});
|
|
199
|
-
};
|
|
113
|
+
async initialize() {
|
|
114
|
+
// Load persisted patterns
|
|
115
|
+
const loaded = this.loadFromDisk();
|
|
116
|
+
// Try to load Q-learning router lazily
|
|
117
|
+
try {
|
|
118
|
+
const { QLearningRouter } = await import('../ruvector/q-learning-router.js');
|
|
119
|
+
this.qLearningRouter = new QLearningRouter();
|
|
120
|
+
await this.qLearningRouter.initialize();
|
|
121
|
+
this.qLearningEnabled = true;
|
|
122
|
+
}
|
|
123
|
+
catch {
|
|
124
|
+
// Q-learning not available, continue without it
|
|
125
|
+
this.qLearningEnabled = false;
|
|
126
|
+
}
|
|
127
|
+
return {
|
|
128
|
+
success: true,
|
|
129
|
+
patternsLoaded: loaded ? this.patterns.size : 0,
|
|
130
|
+
};
|
|
131
|
+
}
|
|
200
132
|
/**
|
|
201
133
|
* Process a trajectory outcome and learn from it
|
|
202
134
|
* Called by hooksTrajectoryEnd
|
|
203
135
|
*/
|
|
204
|
-
|
|
205
|
-
|
|
136
|
+
processTrajectoryOutcome(outcome) {
|
|
137
|
+
const { task, agent, success } = outcome;
|
|
206
138
|
// Extract keywords from task
|
|
207
|
-
|
|
139
|
+
const keywords = this.extractKeywords(task);
|
|
208
140
|
if (keywords.length === 0) {
|
|
209
141
|
return {
|
|
210
142
|
learned: false,
|
|
211
143
|
patternKey: '',
|
|
212
144
|
confidence: 0,
|
|
213
|
-
keywordsExtracted: []
|
|
145
|
+
keywordsExtracted: [],
|
|
214
146
|
};
|
|
215
147
|
}
|
|
216
148
|
// Create pattern key from sorted keywords
|
|
217
|
-
|
|
149
|
+
const patternKey = this.createPatternKey(keywords, agent);
|
|
218
150
|
// Get or create pattern
|
|
219
|
-
|
|
151
|
+
let pattern = this.patterns.get(patternKey);
|
|
220
152
|
if (!pattern) {
|
|
221
153
|
pattern = {
|
|
222
|
-
keywords
|
|
223
|
-
agent
|
|
224
|
-
confidence: 0.5,
|
|
154
|
+
keywords,
|
|
155
|
+
agent,
|
|
156
|
+
confidence: 0.5, // Start at neutral
|
|
225
157
|
successCount: 0,
|
|
226
158
|
failureCount: 0,
|
|
227
159
|
lastUsed: Date.now(),
|
|
228
|
-
createdAt: Date.now()
|
|
160
|
+
createdAt: Date.now(),
|
|
229
161
|
};
|
|
230
162
|
}
|
|
231
163
|
// Update pattern based on outcome
|
|
@@ -248,25 +180,25 @@ var SONAOptimizer = /** @class */ (function () {
|
|
|
248
180
|
this.prunePatterns();
|
|
249
181
|
// Update Q-learning router if available
|
|
250
182
|
if (this.qLearningRouter) {
|
|
251
|
-
|
|
183
|
+
const reward = success ? 1.0 : -0.5;
|
|
252
184
|
this.qLearningRouter.update(task, agent, reward);
|
|
253
185
|
}
|
|
254
186
|
// Persist to disk (debounced)
|
|
255
187
|
this.saveToDisk();
|
|
256
188
|
return {
|
|
257
189
|
learned: true,
|
|
258
|
-
patternKey
|
|
190
|
+
patternKey,
|
|
259
191
|
confidence: pattern.confidence,
|
|
260
|
-
keywordsExtracted: keywords
|
|
192
|
+
keywordsExtracted: keywords,
|
|
261
193
|
};
|
|
262
|
-
}
|
|
194
|
+
}
|
|
263
195
|
/**
|
|
264
196
|
* Get routing suggestion based on learned patterns
|
|
265
197
|
*/
|
|
266
|
-
|
|
267
|
-
|
|
198
|
+
getRoutingSuggestion(task) {
|
|
199
|
+
const keywords = this.extractKeywords(task);
|
|
268
200
|
// Try SONA pattern matching first
|
|
269
|
-
|
|
201
|
+
const sonaResult = this.findBestPatternMatch(keywords);
|
|
270
202
|
if (sonaResult && sonaResult.confidence >= 0.6) {
|
|
271
203
|
return {
|
|
272
204
|
agent: sonaResult.agent,
|
|
@@ -274,29 +206,29 @@ var SONAOptimizer = /** @class */ (function () {
|
|
|
274
206
|
usedQLearning: false,
|
|
275
207
|
source: 'sona-pattern',
|
|
276
208
|
alternatives: this.getAlternatives(keywords, sonaResult.agent),
|
|
277
|
-
matchedKeywords: sonaResult.matchedKeywords
|
|
209
|
+
matchedKeywords: sonaResult.matchedKeywords,
|
|
278
210
|
};
|
|
279
211
|
}
|
|
280
212
|
// Try Q-learning router if available
|
|
281
213
|
if (this.qLearningRouter && this.qLearningEnabled) {
|
|
282
214
|
try {
|
|
283
|
-
|
|
215
|
+
const decision = this.qLearningRouter.route(task, false);
|
|
284
216
|
if (decision.confidence >= 0.5) {
|
|
285
217
|
return {
|
|
286
218
|
agent: decision.route,
|
|
287
219
|
confidence: decision.confidence,
|
|
288
220
|
usedQLearning: true,
|
|
289
221
|
source: 'q-learning',
|
|
290
|
-
alternatives: decision.alternatives
|
|
222
|
+
alternatives: decision.alternatives,
|
|
291
223
|
};
|
|
292
224
|
}
|
|
293
225
|
}
|
|
294
|
-
catch
|
|
226
|
+
catch {
|
|
295
227
|
// Q-learning failed, continue to fallback
|
|
296
228
|
}
|
|
297
229
|
}
|
|
298
230
|
// Fallback to keyword-based heuristic
|
|
299
|
-
|
|
231
|
+
const keywordMatch = this.matchKeywordsToAgent(keywords);
|
|
300
232
|
if (keywordMatch) {
|
|
301
233
|
return {
|
|
302
234
|
agent: keywordMatch.agent,
|
|
@@ -304,7 +236,7 @@ var SONAOptimizer = /** @class */ (function () {
|
|
|
304
236
|
usedQLearning: false,
|
|
305
237
|
source: 'keyword-match',
|
|
306
238
|
alternatives: this.getAlternatives(keywords, keywordMatch.agent),
|
|
307
|
-
matchedKeywords: keywordMatch.matchedKeywords
|
|
239
|
+
matchedKeywords: keywordMatch.matchedKeywords,
|
|
308
240
|
};
|
|
309
241
|
}
|
|
310
242
|
// Default fallback
|
|
@@ -316,16 +248,15 @@ var SONAOptimizer = /** @class */ (function () {
|
|
|
316
248
|
alternatives: [
|
|
317
249
|
{ agent: 'researcher', score: 0.2 },
|
|
318
250
|
{ agent: 'architect', score: 0.15 },
|
|
319
|
-
]
|
|
251
|
+
],
|
|
320
252
|
};
|
|
321
|
-
}
|
|
253
|
+
}
|
|
322
254
|
/**
|
|
323
255
|
* Get optimizer statistics
|
|
324
256
|
*/
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
for (
|
|
328
|
-
var pattern = _a[_i];
|
|
257
|
+
getStats() {
|
|
258
|
+
let totalConfidence = 0;
|
|
259
|
+
for (const pattern of this.patterns.values()) {
|
|
329
260
|
totalConfidence += pattern.confidence;
|
|
330
261
|
}
|
|
331
262
|
return {
|
|
@@ -335,25 +266,24 @@ var SONAOptimizer = /** @class */ (function () {
|
|
|
335
266
|
trajectoriesProcessed: this.trajectoriesProcessed,
|
|
336
267
|
avgConfidence: this.patterns.size > 0 ? totalConfidence / this.patterns.size : 0,
|
|
337
268
|
qLearningEnabled: this.qLearningEnabled,
|
|
338
|
-
lastUpdate: this.lastUpdate
|
|
269
|
+
lastUpdate: this.lastUpdate,
|
|
339
270
|
};
|
|
340
|
-
}
|
|
271
|
+
}
|
|
341
272
|
/**
|
|
342
273
|
* Apply temporal decay to pattern confidence
|
|
343
274
|
* Reduces confidence of unused patterns
|
|
344
275
|
*/
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
for (
|
|
349
|
-
|
|
350
|
-
var daysSinceUse = (now - pattern.lastUsed) / (1000 * 60 * 60 * 24);
|
|
276
|
+
applyTemporalDecay() {
|
|
277
|
+
const now = Date.now();
|
|
278
|
+
let decayed = 0;
|
|
279
|
+
for (const [key, pattern] of this.patterns) {
|
|
280
|
+
const daysSinceUse = (now - pattern.lastUsed) / (1000 * 60 * 60 * 24);
|
|
351
281
|
if (daysSinceUse > 1) {
|
|
352
|
-
|
|
353
|
-
|
|
282
|
+
const decay = Math.exp(-DECAY_RATE * daysSinceUse);
|
|
283
|
+
const newConfidence = pattern.confidence * decay;
|
|
354
284
|
if (newConfidence < MIN_CONFIDENCE) {
|
|
355
285
|
// Remove patterns with very low confidence
|
|
356
|
-
this.patterns
|
|
286
|
+
this.patterns.delete(key);
|
|
357
287
|
}
|
|
358
288
|
else {
|
|
359
289
|
pattern.confidence = newConfidence;
|
|
@@ -365,11 +295,11 @@ var SONAOptimizer = /** @class */ (function () {
|
|
|
365
295
|
this.saveToDisk();
|
|
366
296
|
}
|
|
367
297
|
return decayed;
|
|
368
|
-
}
|
|
298
|
+
}
|
|
369
299
|
/**
|
|
370
300
|
* Reset all learned patterns
|
|
371
301
|
*/
|
|
372
|
-
|
|
302
|
+
reset() {
|
|
373
303
|
this.patterns.clear();
|
|
374
304
|
this.trajectoriesProcessed = 0;
|
|
375
305
|
this.successfulRoutings = 0;
|
|
@@ -379,25 +309,23 @@ var SONAOptimizer = /** @class */ (function () {
|
|
|
379
309
|
this.qLearningRouter.reset();
|
|
380
310
|
}
|
|
381
311
|
this.saveToDisk();
|
|
382
|
-
}
|
|
312
|
+
}
|
|
383
313
|
/**
|
|
384
314
|
* Export patterns for analysis
|
|
385
315
|
*/
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
for (
|
|
389
|
-
|
|
390
|
-
result[key] = __assign({}, pattern);
|
|
316
|
+
exportPatterns() {
|
|
317
|
+
const result = {};
|
|
318
|
+
for (const [key, pattern] of this.patterns) {
|
|
319
|
+
result[key] = { ...pattern };
|
|
391
320
|
}
|
|
392
321
|
return result;
|
|
393
|
-
}
|
|
322
|
+
}
|
|
394
323
|
/**
|
|
395
324
|
* Import patterns (for migration or testing)
|
|
396
325
|
*/
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
for (
|
|
400
|
-
var _b = _a[_i], key = _b[0], pattern = _b[1];
|
|
326
|
+
importPatterns(patterns) {
|
|
327
|
+
let imported = 0;
|
|
328
|
+
for (const [key, pattern] of Object.entries(patterns)) {
|
|
401
329
|
if (this.validatePattern(pattern)) {
|
|
402
330
|
this.patterns.set(key, pattern);
|
|
403
331
|
imported++;
|
|
@@ -405,108 +333,99 @@ var SONAOptimizer = /** @class */ (function () {
|
|
|
405
333
|
}
|
|
406
334
|
this.saveToDisk();
|
|
407
335
|
return imported;
|
|
408
|
-
}
|
|
336
|
+
}
|
|
409
337
|
// ============================================================================
|
|
410
338
|
// Private Methods
|
|
411
339
|
// ============================================================================
|
|
412
340
|
/**
|
|
413
341
|
* Extract meaningful keywords from task description
|
|
414
342
|
*/
|
|
415
|
-
|
|
343
|
+
extractKeywords(task) {
|
|
416
344
|
if (!task || typeof task !== 'string') {
|
|
417
345
|
return [];
|
|
418
346
|
}
|
|
419
|
-
|
|
420
|
-
|
|
347
|
+
const lower = task.toLowerCase();
|
|
348
|
+
const words = lower.split(/[\s\-_.,;:!?'"()\[\]{}]+/).filter(w => w.length > 2);
|
|
421
349
|
// Extract keywords that match our categories
|
|
422
|
-
|
|
423
|
-
for (
|
|
424
|
-
|
|
425
|
-
for (var _b = 0, categoryKeywords_1 = categoryKeywords; _b < categoryKeywords_1.length; _b++) {
|
|
426
|
-
var keyword = categoryKeywords_1[_b];
|
|
350
|
+
const keywords = new Set();
|
|
351
|
+
for (const categoryKeywords of Object.values(KEYWORD_CATEGORIES)) {
|
|
352
|
+
for (const keyword of categoryKeywords) {
|
|
427
353
|
if (lower.includes(keyword)) {
|
|
428
354
|
keywords.add(keyword);
|
|
429
355
|
}
|
|
430
356
|
}
|
|
431
357
|
}
|
|
432
358
|
// Add any significant words not in categories
|
|
433
|
-
for (
|
|
434
|
-
var word = words_1[_c];
|
|
359
|
+
for (const word of words) {
|
|
435
360
|
if (word.length >= 4 && !this.isStopWord(word)) {
|
|
436
361
|
keywords.add(word);
|
|
437
362
|
}
|
|
438
363
|
}
|
|
439
364
|
return Array.from(keywords).slice(0, 10); // Limit to 10 keywords
|
|
440
|
-
}
|
|
365
|
+
}
|
|
441
366
|
/**
|
|
442
367
|
* Check if word is a stop word
|
|
443
368
|
*/
|
|
444
|
-
|
|
445
|
-
|
|
369
|
+
isStopWord(word) {
|
|
370
|
+
const stopWords = new Set([
|
|
446
371
|
'the', 'and', 'for', 'that', 'this', 'with', 'from', 'have', 'been',
|
|
447
372
|
'will', 'would', 'could', 'should', 'into', 'then', 'than', 'when',
|
|
448
373
|
'where', 'which', 'there', 'their', 'what', 'about', 'more', 'some',
|
|
449
374
|
'also', 'just', 'only', 'other', 'very', 'after', 'most', 'such',
|
|
450
375
|
]);
|
|
451
376
|
return stopWords.has(word);
|
|
452
|
-
}
|
|
377
|
+
}
|
|
453
378
|
/**
|
|
454
379
|
* Create a unique pattern key from keywords and agent
|
|
455
380
|
*/
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
return agent
|
|
459
|
-
}
|
|
381
|
+
createPatternKey(keywords, agent) {
|
|
382
|
+
const sortedKeywords = [...keywords].sort();
|
|
383
|
+
return `${agent}:${sortedKeywords.join('+')}`;
|
|
384
|
+
}
|
|
460
385
|
/**
|
|
461
386
|
* Find the best matching pattern for given keywords
|
|
462
387
|
*/
|
|
463
|
-
|
|
388
|
+
findBestPatternMatch(keywords) {
|
|
464
389
|
if (keywords.length === 0 || this.patterns.size === 0) {
|
|
465
390
|
return null;
|
|
466
391
|
}
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
for (
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
var matchRatio = matchedKeywords.length / Math.max(pattern.keywords.length, keywords.length);
|
|
392
|
+
let bestMatch = null;
|
|
393
|
+
let bestScore = 0;
|
|
394
|
+
for (const pattern of this.patterns.values()) {
|
|
395
|
+
const matchedKeywords = pattern.keywords.filter(k => keywords.includes(k));
|
|
396
|
+
const matchRatio = matchedKeywords.length / Math.max(pattern.keywords.length, keywords.length);
|
|
473
397
|
// Combine match ratio with confidence
|
|
474
|
-
|
|
398
|
+
const score = matchRatio * pattern.confidence;
|
|
475
399
|
if (score > bestScore && matchedKeywords.length >= 1) {
|
|
476
400
|
bestScore = score;
|
|
477
401
|
bestMatch = {
|
|
478
402
|
agent: pattern.agent,
|
|
479
403
|
confidence: pattern.confidence * matchRatio,
|
|
480
|
-
matchedKeywords
|
|
404
|
+
matchedKeywords,
|
|
481
405
|
};
|
|
482
406
|
}
|
|
483
407
|
}
|
|
484
408
|
return bestMatch;
|
|
485
|
-
}
|
|
409
|
+
}
|
|
486
410
|
/**
|
|
487
411
|
* Match keywords to agent using category heuristics
|
|
488
412
|
*/
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
413
|
+
matchKeywordsToAgent(keywords) {
|
|
414
|
+
const scores = {};
|
|
415
|
+
for (const [agent, categoryKeywords] of Object.entries(KEYWORD_CATEGORIES)) {
|
|
416
|
+
const matched = keywords.filter(k => categoryKeywords.includes(k));
|
|
493
417
|
if (matched.length > 0) {
|
|
494
418
|
scores[agent] = {
|
|
495
419
|
score: matched.length / categoryKeywords.length,
|
|
496
|
-
matched
|
|
420
|
+
matched,
|
|
497
421
|
};
|
|
498
422
|
}
|
|
499
|
-
};
|
|
500
|
-
for (var _i = 0, _a = Object.entries(KEYWORD_CATEGORIES); _i < _a.length; _i++) {
|
|
501
|
-
var _b = _a[_i], agent = _b[0], categoryKeywords = _b[1];
|
|
502
|
-
_loop_1(agent, categoryKeywords);
|
|
503
423
|
}
|
|
504
424
|
// Find best scoring agent
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
for (
|
|
509
|
-
var _e = _d[_c], agent = _e[0], data = _e[1];
|
|
425
|
+
let bestAgent = '';
|
|
426
|
+
let bestScore = 0;
|
|
427
|
+
let bestMatched = [];
|
|
428
|
+
for (const [agent, data] of Object.entries(scores)) {
|
|
510
429
|
if (data.score > bestScore) {
|
|
511
430
|
bestScore = data.score;
|
|
512
431
|
bestAgent = agent;
|
|
@@ -517,82 +436,76 @@ var SONAOptimizer = /** @class */ (function () {
|
|
|
517
436
|
return {
|
|
518
437
|
agent: bestAgent,
|
|
519
438
|
confidence: Math.min(0.7, 0.3 + bestScore),
|
|
520
|
-
matchedKeywords: bestMatched
|
|
439
|
+
matchedKeywords: bestMatched,
|
|
521
440
|
};
|
|
522
441
|
}
|
|
523
442
|
return null;
|
|
524
|
-
}
|
|
443
|
+
}
|
|
525
444
|
/**
|
|
526
445
|
* Get alternative agent suggestions
|
|
527
446
|
*/
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
447
|
+
getAlternatives(keywords, excludeAgent) {
|
|
448
|
+
const alternatives = [];
|
|
449
|
+
for (const [agent, categoryKeywords] of Object.entries(KEYWORD_CATEGORIES)) {
|
|
531
450
|
if (agent === excludeAgent)
|
|
532
|
-
|
|
533
|
-
|
|
451
|
+
continue;
|
|
452
|
+
const matched = keywords.filter(k => categoryKeywords.includes(k));
|
|
534
453
|
if (matched.length > 0) {
|
|
535
454
|
alternatives.push({
|
|
536
|
-
agent
|
|
537
|
-
score: matched.length / Math.max(keywords.length, 1) * 0.5
|
|
455
|
+
agent,
|
|
456
|
+
score: matched.length / Math.max(keywords.length, 1) * 0.5,
|
|
538
457
|
});
|
|
539
458
|
}
|
|
540
|
-
};
|
|
541
|
-
for (var _i = 0, _a = Object.entries(KEYWORD_CATEGORIES); _i < _a.length; _i++) {
|
|
542
|
-
var _b = _a[_i], agent = _b[0], categoryKeywords = _b[1];
|
|
543
|
-
_loop_2(agent, categoryKeywords);
|
|
544
459
|
}
|
|
545
460
|
return alternatives
|
|
546
|
-
.sort(
|
|
461
|
+
.sort((a, b) => b.score - a.score)
|
|
547
462
|
.slice(0, 3);
|
|
548
|
-
}
|
|
463
|
+
}
|
|
549
464
|
/**
|
|
550
465
|
* Prune old/low-confidence patterns if over limit
|
|
551
466
|
*/
|
|
552
|
-
|
|
467
|
+
prunePatterns() {
|
|
553
468
|
if (this.patterns.size <= MAX_PATTERNS) {
|
|
554
469
|
return;
|
|
555
470
|
}
|
|
556
471
|
// Sort patterns by score (confidence * recency)
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
return { key: key, pattern: pattern, score: score };
|
|
472
|
+
const entries = Array.from(this.patterns.entries()).map(([key, pattern]) => {
|
|
473
|
+
const ageInDays = (Date.now() - pattern.lastUsed) / (1000 * 60 * 60 * 24);
|
|
474
|
+
const recency = Math.exp(-0.1 * ageInDays);
|
|
475
|
+
const score = pattern.confidence * recency;
|
|
476
|
+
return { key, pattern, score };
|
|
563
477
|
});
|
|
564
|
-
entries.sort(
|
|
478
|
+
entries.sort((a, b) => a.score - b.score);
|
|
565
479
|
// Remove lowest-scoring patterns
|
|
566
|
-
|
|
567
|
-
for (
|
|
568
|
-
|
|
569
|
-
this.patterns["delete"](key);
|
|
480
|
+
const toRemove = entries.slice(0, entries.length - Math.floor(MAX_PATTERNS * 0.8));
|
|
481
|
+
for (const { key } of toRemove) {
|
|
482
|
+
this.patterns.delete(key);
|
|
570
483
|
}
|
|
571
|
-
}
|
|
484
|
+
}
|
|
572
485
|
/**
|
|
573
486
|
* Validate pattern structure
|
|
574
487
|
*/
|
|
575
|
-
|
|
488
|
+
validatePattern(pattern) {
|
|
576
489
|
if (!pattern || typeof pattern !== 'object')
|
|
577
490
|
return false;
|
|
578
|
-
|
|
491
|
+
const p = pattern;
|
|
579
492
|
return (Array.isArray(p.keywords) &&
|
|
580
493
|
typeof p.agent === 'string' &&
|
|
581
494
|
typeof p.confidence === 'number' &&
|
|
582
495
|
typeof p.successCount === 'number' &&
|
|
583
496
|
typeof p.failureCount === 'number');
|
|
584
|
-
}
|
|
497
|
+
}
|
|
585
498
|
/**
|
|
586
499
|
* Load patterns from disk
|
|
587
500
|
*/
|
|
588
|
-
|
|
501
|
+
loadFromDisk() {
|
|
589
502
|
try {
|
|
590
|
-
|
|
503
|
+
const fullPath = join(process.cwd(), this.persistencePath);
|
|
591
504
|
if (!existsSync(fullPath)) {
|
|
592
505
|
return false;
|
|
593
506
|
}
|
|
594
|
-
|
|
595
|
-
|
|
507
|
+
const data = readFileSync(fullPath, 'utf-8');
|
|
508
|
+
const state = JSON.parse(data);
|
|
596
509
|
// Validate version
|
|
597
510
|
if (!state.version || !state.version.startsWith('1.')) {
|
|
598
511
|
console.error('[SONA] Incompatible state version, starting fresh');
|
|
@@ -600,8 +513,7 @@ var SONAOptimizer = /** @class */ (function () {
|
|
|
600
513
|
}
|
|
601
514
|
// Load patterns
|
|
602
515
|
this.patterns.clear();
|
|
603
|
-
for (
|
|
604
|
-
var _b = _a[_i], key = _b[0], pattern = _b[1];
|
|
516
|
+
for (const [key, pattern] of Object.entries(state.patterns)) {
|
|
605
517
|
if (this.validatePattern(pattern)) {
|
|
606
518
|
this.patterns.set(key, pattern);
|
|
607
519
|
}
|
|
@@ -616,83 +528,68 @@ var SONAOptimizer = /** @class */ (function () {
|
|
|
616
528
|
return true;
|
|
617
529
|
}
|
|
618
530
|
catch (err) {
|
|
619
|
-
console.error(
|
|
531
|
+
console.error(`[SONA] Failed to load state: ${err}`);
|
|
620
532
|
return false;
|
|
621
533
|
}
|
|
622
|
-
}
|
|
534
|
+
}
|
|
623
535
|
/**
|
|
624
536
|
* Save patterns to disk
|
|
625
537
|
*/
|
|
626
|
-
|
|
538
|
+
saveToDisk() {
|
|
627
539
|
try {
|
|
628
|
-
|
|
629
|
-
|
|
540
|
+
const fullPath = join(process.cwd(), this.persistencePath);
|
|
541
|
+
const dir = dirname(fullPath);
|
|
630
542
|
// Ensure directory exists
|
|
631
543
|
if (!existsSync(dir)) {
|
|
632
544
|
mkdirSync(dir, { recursive: true });
|
|
633
545
|
}
|
|
634
|
-
|
|
546
|
+
const state = {
|
|
635
547
|
version: PATTERN_VERSION,
|
|
636
548
|
patterns: this.exportPatterns(),
|
|
637
549
|
stats: {
|
|
638
550
|
trajectoriesProcessed: this.trajectoriesProcessed,
|
|
639
551
|
successfulRoutings: this.successfulRoutings,
|
|
640
552
|
failedRoutings: this.failedRoutings,
|
|
641
|
-
lastUpdate: this.lastUpdate
|
|
553
|
+
lastUpdate: this.lastUpdate,
|
|
642
554
|
},
|
|
643
555
|
metadata: {
|
|
644
556
|
createdAt: new Date().toISOString(),
|
|
645
|
-
savedAt: new Date().toISOString()
|
|
646
|
-
}
|
|
557
|
+
savedAt: new Date().toISOString(),
|
|
558
|
+
},
|
|
647
559
|
};
|
|
648
560
|
writeFileSync(fullPath, JSON.stringify(state, null, 2));
|
|
649
561
|
return true;
|
|
650
562
|
}
|
|
651
563
|
catch (err) {
|
|
652
|
-
console.error(
|
|
564
|
+
console.error(`[SONA] Failed to save state: ${err}`);
|
|
653
565
|
return false;
|
|
654
566
|
}
|
|
655
|
-
}
|
|
656
|
-
|
|
657
|
-
}());
|
|
658
|
-
export { SONAOptimizer };
|
|
567
|
+
}
|
|
568
|
+
}
|
|
659
569
|
// ============================================================================
|
|
660
570
|
// Singleton Instance
|
|
661
571
|
// ============================================================================
|
|
662
|
-
|
|
663
|
-
|
|
572
|
+
let sonaOptimizerInstance = null;
|
|
573
|
+
let initializationPromise = null;
|
|
664
574
|
/**
|
|
665
575
|
* Get the singleton SONAOptimizer instance
|
|
666
576
|
* Uses lazy initialization to avoid circular imports
|
|
667
577
|
*/
|
|
668
|
-
export function getSONAOptimizer() {
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
case 0:
|
|
684
|
-
optimizer = new SONAOptimizer();
|
|
685
|
-
return [4 /*yield*/, optimizer.initialize()];
|
|
686
|
-
case 1:
|
|
687
|
-
_a.sent();
|
|
688
|
-
sonaOptimizerInstance = optimizer;
|
|
689
|
-
return [2 /*return*/, optimizer];
|
|
690
|
-
}
|
|
691
|
-
});
|
|
692
|
-
}); })();
|
|
693
|
-
return [2 /*return*/, initializationPromise];
|
|
694
|
-
});
|
|
695
|
-
});
|
|
578
|
+
export async function getSONAOptimizer() {
|
|
579
|
+
if (sonaOptimizerInstance) {
|
|
580
|
+
return sonaOptimizerInstance;
|
|
581
|
+
}
|
|
582
|
+
// Prevent multiple concurrent initializations
|
|
583
|
+
if (initializationPromise) {
|
|
584
|
+
return initializationPromise;
|
|
585
|
+
}
|
|
586
|
+
initializationPromise = (async () => {
|
|
587
|
+
const optimizer = new SONAOptimizer();
|
|
588
|
+
await optimizer.initialize();
|
|
589
|
+
sonaOptimizerInstance = optimizer;
|
|
590
|
+
return optimizer;
|
|
591
|
+
})();
|
|
592
|
+
return initializationPromise;
|
|
696
593
|
}
|
|
697
594
|
/**
|
|
698
595
|
* Reset the singleton instance (for testing)
|
|
@@ -707,57 +604,30 @@ export function resetSONAOptimizer() {
|
|
|
707
604
|
/**
|
|
708
605
|
* Process a trajectory outcome (convenience function)
|
|
709
606
|
*/
|
|
710
|
-
export function processTrajectory(outcome) {
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
return __generator(this, function (_a) {
|
|
714
|
-
switch (_a.label) {
|
|
715
|
-
case 0: return [4 /*yield*/, getSONAOptimizer()];
|
|
716
|
-
case 1:
|
|
717
|
-
optimizer = _a.sent();
|
|
718
|
-
return [2 /*return*/, optimizer.processTrajectoryOutcome(outcome)];
|
|
719
|
-
}
|
|
720
|
-
});
|
|
721
|
-
});
|
|
607
|
+
export async function processTrajectory(outcome) {
|
|
608
|
+
const optimizer = await getSONAOptimizer();
|
|
609
|
+
return optimizer.processTrajectoryOutcome(outcome);
|
|
722
610
|
}
|
|
723
611
|
/**
|
|
724
612
|
* Get routing suggestion (convenience function)
|
|
725
613
|
*/
|
|
726
|
-
export function getSuggestion(task) {
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
return __generator(this, function (_a) {
|
|
730
|
-
switch (_a.label) {
|
|
731
|
-
case 0: return [4 /*yield*/, getSONAOptimizer()];
|
|
732
|
-
case 1:
|
|
733
|
-
optimizer = _a.sent();
|
|
734
|
-
return [2 /*return*/, optimizer.getRoutingSuggestion(task)];
|
|
735
|
-
}
|
|
736
|
-
});
|
|
737
|
-
});
|
|
614
|
+
export async function getSuggestion(task) {
|
|
615
|
+
const optimizer = await getSONAOptimizer();
|
|
616
|
+
return optimizer.getRoutingSuggestion(task);
|
|
738
617
|
}
|
|
739
618
|
/**
|
|
740
619
|
* Get SONA statistics (convenience function)
|
|
741
620
|
*/
|
|
742
|
-
export function getSONAStats() {
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
return __generator(this, function (_a) {
|
|
746
|
-
switch (_a.label) {
|
|
747
|
-
case 0: return [4 /*yield*/, getSONAOptimizer()];
|
|
748
|
-
case 1:
|
|
749
|
-
optimizer = _a.sent();
|
|
750
|
-
return [2 /*return*/, optimizer.getStats()];
|
|
751
|
-
}
|
|
752
|
-
});
|
|
753
|
-
});
|
|
621
|
+
export async function getSONAStats() {
|
|
622
|
+
const optimizer = await getSONAOptimizer();
|
|
623
|
+
return optimizer.getStats();
|
|
754
624
|
}
|
|
755
625
|
export default {
|
|
756
|
-
SONAOptimizer
|
|
757
|
-
getSONAOptimizer
|
|
758
|
-
resetSONAOptimizer
|
|
759
|
-
processTrajectory
|
|
760
|
-
getSuggestion
|
|
761
|
-
getSONAStats
|
|
626
|
+
SONAOptimizer,
|
|
627
|
+
getSONAOptimizer,
|
|
628
|
+
resetSONAOptimizer,
|
|
629
|
+
processTrajectory,
|
|
630
|
+
getSuggestion,
|
|
631
|
+
getSONAStats,
|
|
762
632
|
};
|
|
763
633
|
//# sourceMappingURL=sona-optimizer.js.map
|