moflo 4.8.31 → 4.8.33

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.
Files changed (415) hide show
  1. package/package.json +13 -10
  2. package/src/@claude-flow/cli/dist/src/commands/doctor.js +1298 -1107
  3. package/src/@claude-flow/cli/dist/src/memory/memory-initializer.js +4 -7
  4. package/src/@claude-flow/cli/package.json +106 -106
  5. package/src/@claude-flow/neural/README.md +260 -0
  6. package/src/@claude-flow/neural/dist/algorithms/a2c.js +361 -0
  7. package/src/@claude-flow/neural/dist/algorithms/curiosity.js +392 -0
  8. package/src/@claude-flow/neural/dist/algorithms/decision-transformer.js +415 -0
  9. package/src/@claude-flow/neural/dist/algorithms/dqn.js +303 -0
  10. package/src/@claude-flow/neural/dist/algorithms/index.js +74 -0
  11. package/src/@claude-flow/neural/dist/algorithms/ppo.js +331 -0
  12. package/src/@claude-flow/neural/dist/algorithms/q-learning.js +259 -0
  13. package/src/@claude-flow/neural/dist/algorithms/sarsa.js +297 -0
  14. package/src/@claude-flow/neural/dist/application/index.js +7 -0
  15. package/src/@claude-flow/neural/dist/application/services/neural-application-service.js +161 -0
  16. package/src/@claude-flow/neural/dist/domain/entities/pattern.js +134 -0
  17. package/src/@claude-flow/neural/dist/domain/index.js +8 -0
  18. package/src/@claude-flow/neural/dist/domain/services/learning-service.js +195 -0
  19. package/src/@claude-flow/neural/dist/index.js +201 -0
  20. package/src/@claude-flow/neural/dist/modes/balanced.js +234 -0
  21. package/src/@claude-flow/neural/dist/modes/base.js +77 -0
  22. package/src/@claude-flow/neural/dist/modes/batch.js +316 -0
  23. package/src/@claude-flow/neural/dist/modes/edge.js +310 -0
  24. package/src/@claude-flow/neural/dist/modes/index.js +13 -0
  25. package/src/@claude-flow/neural/dist/modes/real-time.js +196 -0
  26. package/src/@claude-flow/neural/dist/modes/research.js +389 -0
  27. package/src/@claude-flow/neural/dist/pattern-learner.js +603 -0
  28. package/src/@claude-flow/neural/dist/reasoning-bank.js +993 -0
  29. package/src/@claude-flow/neural/dist/reasoningbank-adapter.js +463 -0
  30. package/src/@claude-flow/neural/dist/sona-integration.js +316 -0
  31. package/src/@claude-flow/neural/dist/sona-manager.js +695 -0
  32. package/src/@claude-flow/neural/dist/types.js +11 -0
  33. package/src/@claude-flow/neural/package.json +26 -0
  34. package/.claude/agents/browser/browser-agent.yaml +0 -182
  35. package/.claude/agents/database-specialist.yaml +0 -21
  36. package/.claude/agents/index.yaml +0 -17
  37. package/.claude/agents/project-coordinator.yaml +0 -15
  38. package/.claude/agents/python-specialist.yaml +0 -21
  39. package/.claude/agents/security-auditor.yaml +0 -20
  40. package/.claude/agents/typescript-specialist.yaml +0 -21
  41. package/.claude/checkpoints/1767754460.json +0 -8
  42. package/.claude/config/v3-dependency-optimization.json +0 -266
  43. package/.claude/config/v3-performance-targets.json +0 -251
  44. package/.claude/guidance/moflo-bootstrap.md +0 -129
  45. package/.claude/mcp.json +0 -13
  46. package/.claude/settings.json +0 -351
  47. package/.claude/settings.local.json +0 -18
  48. package/.claude/skills/agentdb-advanced/SKILL.md +0 -550
  49. package/.claude/skills/agentdb-learning/SKILL.md +0 -545
  50. package/.claude/skills/agentdb-memory-patterns/SKILL.md +0 -339
  51. package/.claude/skills/agentdb-optimization/SKILL.md +0 -509
  52. package/.claude/skills/agentdb-vector-search/SKILL.md +0 -339
  53. package/.claude/skills/browser/SKILL.md +0 -204
  54. package/.claude/skills/fl/SKILL.md +0 -583
  55. package/.claude/skills/flo/SKILL.md +0 -583
  56. package/.claude/skills/github-code-review/SKILL.md +0 -1140
  57. package/.claude/skills/github-multi-repo/SKILL.md +0 -874
  58. package/.claude/skills/github-project-management/SKILL.md +0 -1277
  59. package/.claude/skills/github-release-management/SKILL.md +0 -1081
  60. package/.claude/skills/github-workflow-automation/SKILL.md +0 -1065
  61. package/.claude/skills/hive-mind-advanced/SKILL.md +0 -712
  62. package/.claude/skills/hooks-automation/SKILL.md +0 -1201
  63. package/.claude/skills/pair-programming/SKILL.md +0 -1202
  64. package/.claude/skills/performance-analysis/SKILL.md +0 -563
  65. package/.claude/skills/reasoningbank-agentdb/SKILL.md +0 -446
  66. package/.claude/skills/reasoningbank-intelligence/SKILL.md +0 -201
  67. package/.claude/skills/skill-builder/SKILL.md +0 -910
  68. package/.claude/skills/sparc-methodology/SKILL.md +0 -1115
  69. package/.claude/skills/stream-chain/SKILL.md +0 -563
  70. package/.claude/skills/swarm-advanced/SKILL.md +0 -973
  71. package/.claude/skills/swarm-orchestration/SKILL.md +0 -179
  72. package/.claude/skills/v3-cli-modernization/SKILL.md +0 -872
  73. package/.claude/skills/v3-core-implementation/SKILL.md +0 -797
  74. package/.claude/skills/v3-ddd-architecture/SKILL.md +0 -442
  75. package/.claude/skills/v3-integration-deep/SKILL.md +0 -241
  76. package/.claude/skills/v3-mcp-optimization/SKILL.md +0 -777
  77. package/.claude/skills/v3-memory-unification/SKILL.md +0 -174
  78. package/.claude/skills/v3-performance-optimization/SKILL.md +0 -390
  79. package/.claude/skills/v3-security-overhaul/SKILL.md +0 -82
  80. package/.claude/skills/v3-swarm-coordination/SKILL.md +0 -340
  81. package/.claude/skills/verification-quality/SKILL.md +0 -649
  82. package/.claude/skills/worker-benchmarks/skill.md +0 -135
  83. package/.claude/skills/worker-integration/skill.md +0 -154
  84. package/.claude/workflow-state.json +0 -9
  85. package/src/@claude-flow/cli/dist/src/appliance/gguf-engine.d.ts +0 -91
  86. package/src/@claude-flow/cli/dist/src/appliance/ruvllm-bridge.d.ts +0 -102
  87. package/src/@claude-flow/cli/dist/src/appliance/rvfa-builder.d.ts +0 -44
  88. package/src/@claude-flow/cli/dist/src/appliance/rvfa-distribution.d.ts +0 -97
  89. package/src/@claude-flow/cli/dist/src/appliance/rvfa-format.d.ts +0 -111
  90. package/src/@claude-flow/cli/dist/src/appliance/rvfa-runner.d.ts +0 -69
  91. package/src/@claude-flow/cli/dist/src/appliance/rvfa-signing.d.ts +0 -123
  92. package/src/@claude-flow/cli/dist/src/benchmarks/pretrain/index.d.ts +0 -58
  93. package/src/@claude-flow/cli/dist/src/commands/agent.d.ts +0 -8
  94. package/src/@claude-flow/cli/dist/src/commands/analyze.d.ts +0 -19
  95. package/src/@claude-flow/cli/dist/src/commands/appliance-advanced.d.ts +0 -9
  96. package/src/@claude-flow/cli/dist/src/commands/appliance.d.ts +0 -8
  97. package/src/@claude-flow/cli/dist/src/commands/benchmark.d.ts +0 -10
  98. package/src/@claude-flow/cli/dist/src/commands/claims.d.ts +0 -10
  99. package/src/@claude-flow/cli/dist/src/commands/completions.d.ts +0 -10
  100. package/src/@claude-flow/cli/dist/src/commands/config.d.ts +0 -8
  101. package/src/@claude-flow/cli/dist/src/commands/daemon.d.ts +0 -8
  102. package/src/@claude-flow/cli/dist/src/commands/deployment.d.ts +0 -10
  103. package/src/@claude-flow/cli/dist/src/commands/diagnose.d.ts +0 -16
  104. package/src/@claude-flow/cli/dist/src/commands/doctor.d.ts +0 -10
  105. package/src/@claude-flow/cli/dist/src/commands/embeddings.d.ts +0 -18
  106. package/src/@claude-flow/cli/dist/src/commands/gate.d.ts +0 -23
  107. package/src/@claude-flow/cli/dist/src/commands/github.d.ts +0 -12
  108. package/src/@claude-flow/cli/dist/src/commands/guidance.d.ts +0 -8
  109. package/src/@claude-flow/cli/dist/src/commands/hive-mind.d.ts +0 -11
  110. package/src/@claude-flow/cli/dist/src/commands/hooks.d.ts +0 -8
  111. package/src/@claude-flow/cli/dist/src/commands/index.d.ts +0 -115
  112. package/src/@claude-flow/cli/dist/src/commands/init.d.ts +0 -8
  113. package/src/@claude-flow/cli/dist/src/commands/issues.d.ts +0 -21
  114. package/src/@claude-flow/cli/dist/src/commands/mcp.d.ts +0 -11
  115. package/src/@claude-flow/cli/dist/src/commands/memory.d.ts +0 -8
  116. package/src/@claude-flow/cli/dist/src/commands/migrate.d.ts +0 -8
  117. package/src/@claude-flow/cli/dist/src/commands/neural.d.ts +0 -10
  118. package/src/@claude-flow/cli/dist/src/commands/orc.d.ts +0 -21
  119. package/src/@claude-flow/cli/dist/src/commands/performance.d.ts +0 -10
  120. package/src/@claude-flow/cli/dist/src/commands/plugins.d.ts +0 -11
  121. package/src/@claude-flow/cli/dist/src/commands/process.d.ts +0 -10
  122. package/src/@claude-flow/cli/dist/src/commands/progress.d.ts +0 -11
  123. package/src/@claude-flow/cli/dist/src/commands/providers.d.ts +0 -10
  124. package/src/@claude-flow/cli/dist/src/commands/route.d.ts +0 -16
  125. package/src/@claude-flow/cli/dist/src/commands/ruvector/backup.d.ts +0 -11
  126. package/src/@claude-flow/cli/dist/src/commands/ruvector/benchmark.d.ts +0 -11
  127. package/src/@claude-flow/cli/dist/src/commands/ruvector/import.d.ts +0 -18
  128. package/src/@claude-flow/cli/dist/src/commands/ruvector/index.d.ts +0 -29
  129. package/src/@claude-flow/cli/dist/src/commands/ruvector/init.d.ts +0 -11
  130. package/src/@claude-flow/cli/dist/src/commands/ruvector/migrate.d.ts +0 -11
  131. package/src/@claude-flow/cli/dist/src/commands/ruvector/optimize.d.ts +0 -11
  132. package/src/@claude-flow/cli/dist/src/commands/ruvector/setup.d.ts +0 -18
  133. package/src/@claude-flow/cli/dist/src/commands/ruvector/status.d.ts +0 -11
  134. package/src/@claude-flow/cli/dist/src/commands/security.d.ts +0 -10
  135. package/src/@claude-flow/cli/dist/src/commands/session.d.ts +0 -8
  136. package/src/@claude-flow/cli/dist/src/commands/start.d.ts +0 -8
  137. package/src/@claude-flow/cli/dist/src/commands/status.d.ts +0 -8
  138. package/src/@claude-flow/cli/dist/src/commands/swarm.d.ts +0 -8
  139. package/src/@claude-flow/cli/dist/src/commands/task.d.ts +0 -8
  140. package/src/@claude-flow/cli/dist/src/commands/transfer-store.d.ts +0 -13
  141. package/src/@claude-flow/cli/dist/src/commands/update.d.ts +0 -8
  142. package/src/@claude-flow/cli/dist/src/commands/workflow.d.ts +0 -8
  143. package/src/@claude-flow/cli/dist/src/config/moflo-config.d.ts +0 -93
  144. package/src/@claude-flow/cli/dist/src/config-adapter.d.ts +0 -15
  145. package/src/@claude-flow/cli/dist/src/index.d.ts +0 -81
  146. package/src/@claude-flow/cli/dist/src/infrastructure/in-memory-repositories.d.ts +0 -68
  147. package/src/@claude-flow/cli/dist/src/init/claudemd-generator.d.ts +0 -30
  148. package/src/@claude-flow/cli/dist/src/init/executor.d.ts +0 -41
  149. package/src/@claude-flow/cli/dist/src/init/helpers-generator.d.ts +0 -51
  150. package/src/@claude-flow/cli/dist/src/init/index.d.ts +0 -13
  151. package/src/@claude-flow/cli/dist/src/init/mcp-generator.d.ts +0 -29
  152. package/src/@claude-flow/cli/dist/src/init/moflo-init.d.ts +0 -31
  153. package/src/@claude-flow/cli/dist/src/init/settings-generator.d.ts +0 -14
  154. package/src/@claude-flow/cli/dist/src/init/statusline-generator.d.ts +0 -28
  155. package/src/@claude-flow/cli/dist/src/init/types.d.ts +0 -285
  156. package/src/@claude-flow/cli/dist/src/mcp-client.d.ts +0 -92
  157. package/src/@claude-flow/cli/dist/src/mcp-server.d.ts +0 -161
  158. package/src/@claude-flow/cli/dist/src/mcp-tools/agent-tools.d.ts +0 -9
  159. package/src/@claude-flow/cli/dist/src/mcp-tools/agentdb-tools.d.ts +0 -30
  160. package/src/@claude-flow/cli/dist/src/mcp-tools/analyze-tools.d.ts +0 -38
  161. package/src/@claude-flow/cli/dist/src/mcp-tools/auto-install.d.ts +0 -83
  162. package/src/@claude-flow/cli/dist/src/mcp-tools/browser-tools.d.ts +0 -13
  163. package/src/@claude-flow/cli/dist/src/mcp-tools/claims-tools.d.ts +0 -12
  164. package/src/@claude-flow/cli/dist/src/mcp-tools/config-tools.d.ts +0 -8
  165. package/src/@claude-flow/cli/dist/src/mcp-tools/coordination-tools.d.ts +0 -13
  166. package/src/@claude-flow/cli/dist/src/mcp-tools/daa-tools.d.ts +0 -13
  167. package/src/@claude-flow/cli/dist/src/mcp-tools/embeddings-tools.d.ts +0 -9
  168. package/src/@claude-flow/cli/dist/src/mcp-tools/github-tools.d.ts +0 -13
  169. package/src/@claude-flow/cli/dist/src/mcp-tools/hive-mind-tools.d.ts +0 -8
  170. package/src/@claude-flow/cli/dist/src/mcp-tools/hooks-tools.d.ts +0 -44
  171. package/src/@claude-flow/cli/dist/src/mcp-tools/index.d.ts +0 -23
  172. package/src/@claude-flow/cli/dist/src/mcp-tools/memory-tools.d.ts +0 -14
  173. package/src/@claude-flow/cli/dist/src/mcp-tools/neural-tools.d.ts +0 -16
  174. package/src/@claude-flow/cli/dist/src/mcp-tools/performance-tools.d.ts +0 -16
  175. package/src/@claude-flow/cli/dist/src/mcp-tools/progress-tools.d.ts +0 -14
  176. package/src/@claude-flow/cli/dist/src/mcp-tools/security-tools.d.ts +0 -18
  177. package/src/@claude-flow/cli/dist/src/mcp-tools/session-tools.d.ts +0 -8
  178. package/src/@claude-flow/cli/dist/src/mcp-tools/swarm-tools.d.ts +0 -8
  179. package/src/@claude-flow/cli/dist/src/mcp-tools/system-tools.d.ts +0 -13
  180. package/src/@claude-flow/cli/dist/src/mcp-tools/task-tools.d.ts +0 -8
  181. package/src/@claude-flow/cli/dist/src/mcp-tools/terminal-tools.d.ts +0 -13
  182. package/src/@claude-flow/cli/dist/src/mcp-tools/transfer-tools.d.ts +0 -14
  183. package/src/@claude-flow/cli/dist/src/mcp-tools/types.d.ts +0 -31
  184. package/src/@claude-flow/cli/dist/src/mcp-tools/workflow-tools.d.ts +0 -8
  185. package/src/@claude-flow/cli/dist/src/memory/ewc-consolidation.d.ts +0 -271
  186. package/src/@claude-flow/cli/dist/src/memory/intelligence.d.ts +0 -285
  187. package/src/@claude-flow/cli/dist/src/memory/memory-bridge.d.ts +0 -413
  188. package/src/@claude-flow/cli/dist/src/memory/memory-initializer.d.ts +0 -405
  189. package/src/@claude-flow/cli/dist/src/memory/sona-optimizer.d.ts +0 -227
  190. package/src/@claude-flow/cli/dist/src/output.d.ts +0 -133
  191. package/src/@claude-flow/cli/dist/src/parser.d.ts +0 -51
  192. package/src/@claude-flow/cli/dist/src/plugins/manager.d.ts +0 -133
  193. package/src/@claude-flow/cli/dist/src/plugins/store/discovery.d.ts +0 -88
  194. package/src/@claude-flow/cli/dist/src/plugins/store/index.d.ts +0 -76
  195. package/src/@claude-flow/cli/dist/src/plugins/store/search.d.ts +0 -46
  196. package/src/@claude-flow/cli/dist/src/plugins/store/types.d.ts +0 -274
  197. package/src/@claude-flow/cli/dist/src/plugins/tests/demo-plugin-store.d.ts +0 -7
  198. package/src/@claude-flow/cli/dist/src/plugins/tests/standalone-test.d.ts +0 -12
  199. package/src/@claude-flow/cli/dist/src/plugins/tests/test-plugin-store.d.ts +0 -7
  200. package/src/@claude-flow/cli/dist/src/production/circuit-breaker.d.ts +0 -101
  201. package/src/@claude-flow/cli/dist/src/production/error-handler.d.ts +0 -92
  202. package/src/@claude-flow/cli/dist/src/production/index.d.ts +0 -23
  203. package/src/@claude-flow/cli/dist/src/production/monitoring.d.ts +0 -161
  204. package/src/@claude-flow/cli/dist/src/production/rate-limiter.d.ts +0 -80
  205. package/src/@claude-flow/cli/dist/src/production/retry.d.ts +0 -48
  206. package/src/@claude-flow/cli/dist/src/prompt.d.ts +0 -44
  207. package/src/@claude-flow/cli/dist/src/runtime/headless.d.ts +0 -60
  208. package/src/@claude-flow/cli/dist/src/ruvector/ast-analyzer.d.ts +0 -67
  209. package/src/@claude-flow/cli/dist/src/ruvector/coverage-router.d.ts +0 -160
  210. package/src/@claude-flow/cli/dist/src/ruvector/coverage-tools.d.ts +0 -33
  211. package/src/@claude-flow/cli/dist/src/ruvector/diff-classifier.d.ts +0 -175
  212. package/src/@claude-flow/cli/dist/src/ruvector/enhanced-model-router.d.ts +0 -146
  213. package/src/@claude-flow/cli/dist/src/ruvector/flash-attention.d.ts +0 -195
  214. package/src/@claude-flow/cli/dist/src/ruvector/graph-analyzer.d.ts +0 -187
  215. package/src/@claude-flow/cli/dist/src/ruvector/index.d.ts +0 -34
  216. package/src/@claude-flow/cli/dist/src/ruvector/lora-adapter.d.ts +0 -218
  217. package/src/@claude-flow/cli/dist/src/ruvector/model-router.d.ts +0 -220
  218. package/src/@claude-flow/cli/dist/src/ruvector/moe-router.d.ts +0 -206
  219. package/src/@claude-flow/cli/dist/src/ruvector/q-learning-router.d.ts +0 -211
  220. package/src/@claude-flow/cli/dist/src/ruvector/semantic-router.d.ts +0 -77
  221. package/src/@claude-flow/cli/dist/src/ruvector/vector-db.d.ts +0 -69
  222. package/src/@claude-flow/cli/dist/src/services/agent-router.d.ts +0 -63
  223. package/src/@claude-flow/cli/dist/src/services/agentic-flow-bridge.d.ts +0 -50
  224. package/src/@claude-flow/cli/dist/src/services/claim-service.d.ts +0 -204
  225. package/src/@claude-flow/cli/dist/src/services/container-worker-pool.d.ts +0 -197
  226. package/src/@claude-flow/cli/dist/src/services/daemon-lock.d.ts +0 -60
  227. package/src/@claude-flow/cli/dist/src/services/headless-worker-executor.d.ts +0 -304
  228. package/src/@claude-flow/cli/dist/src/services/index.d.ts +0 -13
  229. package/src/@claude-flow/cli/dist/src/services/learning-service.d.ts +0 -161
  230. package/src/@claude-flow/cli/dist/src/services/moflo-require.d.ts +0 -34
  231. package/src/@claude-flow/cli/dist/src/services/registry-api.d.ts +0 -58
  232. package/src/@claude-flow/cli/dist/src/services/ruvector-training.d.ts +0 -214
  233. package/src/@claude-flow/cli/dist/src/services/worker-daemon.d.ts +0 -225
  234. package/src/@claude-flow/cli/dist/src/services/worker-queue.d.ts +0 -194
  235. package/src/@claude-flow/cli/dist/src/services/workflow-gate.d.ts +0 -88
  236. package/src/@claude-flow/cli/dist/src/suggest.d.ts +0 -53
  237. package/src/@claude-flow/cli/dist/src/transfer/anonymization/index.d.ts +0 -25
  238. package/src/@claude-flow/cli/dist/src/transfer/deploy-seraphine.d.ts +0 -13
  239. package/src/@claude-flow/cli/dist/src/transfer/export.d.ts +0 -25
  240. package/src/@claude-flow/cli/dist/src/transfer/index.d.ts +0 -12
  241. package/src/@claude-flow/cli/dist/src/transfer/ipfs/client.d.ts +0 -109
  242. package/src/@claude-flow/cli/dist/src/transfer/ipfs/upload.d.ts +0 -95
  243. package/src/@claude-flow/cli/dist/src/transfer/models/seraphine.d.ts +0 -72
  244. package/src/@claude-flow/cli/dist/src/transfer/serialization/cfp.d.ts +0 -49
  245. package/src/@claude-flow/cli/dist/src/transfer/storage/gcs.d.ts +0 -82
  246. package/src/@claude-flow/cli/dist/src/transfer/storage/index.d.ts +0 -6
  247. package/src/@claude-flow/cli/dist/src/transfer/store/discovery.d.ts +0 -84
  248. package/src/@claude-flow/cli/dist/src/transfer/store/download.d.ts +0 -70
  249. package/src/@claude-flow/cli/dist/src/transfer/store/index.d.ts +0 -84
  250. package/src/@claude-flow/cli/dist/src/transfer/store/publish.d.ts +0 -76
  251. package/src/@claude-flow/cli/dist/src/transfer/store/registry.d.ts +0 -58
  252. package/src/@claude-flow/cli/dist/src/transfer/store/search.d.ts +0 -54
  253. package/src/@claude-flow/cli/dist/src/transfer/store/tests/standalone-test.d.ts +0 -12
  254. package/src/@claude-flow/cli/dist/src/transfer/store/types.d.ts +0 -193
  255. package/src/@claude-flow/cli/dist/src/transfer/test-seraphine.d.ts +0 -6
  256. package/src/@claude-flow/cli/dist/src/transfer/tests/test-store.d.ts +0 -7
  257. package/src/@claude-flow/cli/dist/src/transfer/types.d.ts +0 -245
  258. package/src/@claude-flow/cli/dist/src/types.d.ts +0 -198
  259. package/src/@claude-flow/cli/dist/src/update/checker.d.ts +0 -34
  260. package/src/@claude-flow/cli/dist/src/update/executor.d.ts +0 -32
  261. package/src/@claude-flow/cli/dist/src/update/index.d.ts +0 -33
  262. package/src/@claude-flow/cli/dist/src/update/rate-limiter.d.ts +0 -20
  263. package/src/@claude-flow/cli/dist/src/update/validator.d.ts +0 -17
  264. package/src/@claude-flow/guidance/dist/adversarial.d.ts +0 -284
  265. package/src/@claude-flow/guidance/dist/analyzer.d.ts +0 -530
  266. package/src/@claude-flow/guidance/dist/artifacts.d.ts +0 -283
  267. package/src/@claude-flow/guidance/dist/authority.d.ts +0 -290
  268. package/src/@claude-flow/guidance/dist/capabilities.d.ts +0 -209
  269. package/src/@claude-flow/guidance/dist/coherence.d.ts +0 -233
  270. package/src/@claude-flow/guidance/dist/compiler.d.ts +0 -87
  271. package/src/@claude-flow/guidance/dist/conformance-kit.d.ts +0 -225
  272. package/src/@claude-flow/guidance/dist/continue-gate.d.ts +0 -214
  273. package/src/@claude-flow/guidance/dist/crypto-utils.d.ts +0 -17
  274. package/src/@claude-flow/guidance/dist/evolution.d.ts +0 -282
  275. package/src/@claude-flow/guidance/dist/gates.d.ts +0 -79
  276. package/src/@claude-flow/guidance/dist/gateway.d.ts +0 -206
  277. package/src/@claude-flow/guidance/dist/generators.d.ts +0 -153
  278. package/src/@claude-flow/guidance/dist/headless.d.ts +0 -177
  279. package/src/@claude-flow/guidance/dist/hooks.d.ts +0 -109
  280. package/src/@claude-flow/guidance/dist/index.d.ts +0 -205
  281. package/src/@claude-flow/guidance/dist/ledger.d.ts +0 -162
  282. package/src/@claude-flow/guidance/dist/manifest-validator.d.ts +0 -289
  283. package/src/@claude-flow/guidance/dist/memory-gate.d.ts +0 -222
  284. package/src/@claude-flow/guidance/dist/meta-governance.d.ts +0 -265
  285. package/src/@claude-flow/guidance/dist/optimizer.d.ts +0 -104
  286. package/src/@claude-flow/guidance/dist/persistence.d.ts +0 -189
  287. package/src/@claude-flow/guidance/dist/proof.d.ts +0 -185
  288. package/src/@claude-flow/guidance/dist/retriever.d.ts +0 -116
  289. package/src/@claude-flow/guidance/dist/ruvbot-integration.d.ts +0 -370
  290. package/src/@claude-flow/guidance/dist/temporal.d.ts +0 -426
  291. package/src/@claude-flow/guidance/dist/trust.d.ts +0 -283
  292. package/src/@claude-flow/guidance/dist/truth-anchors.d.ts +0 -276
  293. package/src/@claude-flow/guidance/dist/types.d.ts +0 -378
  294. package/src/@claude-flow/guidance/dist/uncertainty.d.ts +0 -372
  295. package/src/@claude-flow/guidance/dist/wasm-kernel.d.ts +0 -48
  296. package/src/@claude-flow/memory/dist/agent-memory-scope.d.ts +0 -131
  297. package/src/@claude-flow/memory/dist/agent-memory-scope.test.d.ts +0 -8
  298. package/src/@claude-flow/memory/dist/agentdb-adapter.d.ts +0 -165
  299. package/src/@claude-flow/memory/dist/agentdb-backend.d.ts +0 -212
  300. package/src/@claude-flow/memory/dist/agentdb-backend.test.d.ts +0 -7
  301. package/src/@claude-flow/memory/dist/application/commands/delete-memory.command.d.ts +0 -65
  302. package/src/@claude-flow/memory/dist/application/commands/store-memory.command.d.ts +0 -48
  303. package/src/@claude-flow/memory/dist/application/index.d.ts +0 -12
  304. package/src/@claude-flow/memory/dist/application/queries/search-memory.query.d.ts +0 -72
  305. package/src/@claude-flow/memory/dist/application/services/memory-application-service.d.ts +0 -121
  306. package/src/@claude-flow/memory/dist/auto-memory-bridge.d.ts +0 -226
  307. package/src/@claude-flow/memory/dist/auto-memory-bridge.test.d.ts +0 -8
  308. package/src/@claude-flow/memory/dist/benchmark.test.d.ts +0 -2
  309. package/src/@claude-flow/memory/dist/cache-manager.d.ts +0 -134
  310. package/src/@claude-flow/memory/dist/controller-registry.d.ts +0 -216
  311. package/src/@claude-flow/memory/dist/controller-registry.test.d.ts +0 -14
  312. package/src/@claude-flow/memory/dist/database-provider.d.ts +0 -87
  313. package/src/@claude-flow/memory/dist/database-provider.test.d.ts +0 -7
  314. package/src/@claude-flow/memory/dist/domain/entities/memory-entry.d.ts +0 -143
  315. package/src/@claude-flow/memory/dist/domain/index.d.ts +0 -11
  316. package/src/@claude-flow/memory/dist/domain/repositories/memory-repository.interface.d.ts +0 -102
  317. package/src/@claude-flow/memory/dist/domain/services/memory-domain-service.d.ts +0 -105
  318. package/src/@claude-flow/memory/dist/hnsw-index.d.ts +0 -111
  319. package/src/@claude-flow/memory/dist/hnsw-lite.d.ts +0 -23
  320. package/src/@claude-flow/memory/dist/hybrid-backend.d.ts +0 -245
  321. package/src/@claude-flow/memory/dist/hybrid-backend.test.d.ts +0 -8
  322. package/src/@claude-flow/memory/dist/index.d.ts +0 -204
  323. package/src/@claude-flow/memory/dist/infrastructure/index.d.ts +0 -17
  324. package/src/@claude-flow/memory/dist/infrastructure/repositories/hybrid-memory-repository.d.ts +0 -66
  325. package/src/@claude-flow/memory/dist/learning-bridge.d.ts +0 -137
  326. package/src/@claude-flow/memory/dist/learning-bridge.test.d.ts +0 -8
  327. package/src/@claude-flow/memory/dist/memory-graph.d.ts +0 -100
  328. package/src/@claude-flow/memory/dist/memory-graph.test.d.ts +0 -8
  329. package/src/@claude-flow/memory/dist/migration.d.ts +0 -68
  330. package/src/@claude-flow/memory/dist/persistent-sona.d.ts +0 -144
  331. package/src/@claude-flow/memory/dist/query-builder.d.ts +0 -211
  332. package/src/@claude-flow/memory/dist/rvf-backend.d.ts +0 -51
  333. package/src/@claude-flow/memory/dist/rvf-learning-store.d.ts +0 -139
  334. package/src/@claude-flow/memory/dist/rvf-migration.d.ts +0 -45
  335. package/src/@claude-flow/memory/dist/sqlite-backend.d.ts +0 -121
  336. package/src/@claude-flow/memory/dist/sqljs-backend.d.ts +0 -127
  337. package/src/@claude-flow/memory/dist/types.d.ts +0 -484
  338. package/src/@claude-flow/shared/dist/core/config/defaults.d.ts +0 -41
  339. package/src/@claude-flow/shared/dist/core/config/index.d.ts +0 -8
  340. package/src/@claude-flow/shared/dist/core/config/loader.d.ts +0 -45
  341. package/src/@claude-flow/shared/dist/core/config/schema.d.ts +0 -1134
  342. package/src/@claude-flow/shared/dist/core/config/validator.d.ts +0 -92
  343. package/src/@claude-flow/shared/dist/core/event-bus.d.ts +0 -31
  344. package/src/@claude-flow/shared/dist/core/index.d.ts +0 -15
  345. package/src/@claude-flow/shared/dist/core/interfaces/agent.interface.d.ts +0 -200
  346. package/src/@claude-flow/shared/dist/core/interfaces/coordinator.interface.d.ts +0 -310
  347. package/src/@claude-flow/shared/dist/core/interfaces/event.interface.d.ts +0 -224
  348. package/src/@claude-flow/shared/dist/core/interfaces/index.d.ts +0 -10
  349. package/src/@claude-flow/shared/dist/core/interfaces/memory.interface.d.ts +0 -298
  350. package/src/@claude-flow/shared/dist/core/interfaces/task.interface.d.ts +0 -185
  351. package/src/@claude-flow/shared/dist/core/orchestrator/event-coordinator.d.ts +0 -35
  352. package/src/@claude-flow/shared/dist/core/orchestrator/health-monitor.d.ts +0 -60
  353. package/src/@claude-flow/shared/dist/core/orchestrator/index.d.ts +0 -46
  354. package/src/@claude-flow/shared/dist/core/orchestrator/lifecycle-manager.d.ts +0 -56
  355. package/src/@claude-flow/shared/dist/core/orchestrator/session-manager.d.ts +0 -83
  356. package/src/@claude-flow/shared/dist/core/orchestrator/task-manager.d.ts +0 -49
  357. package/src/@claude-flow/shared/dist/events/domain-events.d.ts +0 -282
  358. package/src/@claude-flow/shared/dist/events/event-store.d.ts +0 -126
  359. package/src/@claude-flow/shared/dist/events/event-store.test.d.ts +0 -8
  360. package/src/@claude-flow/shared/dist/events/example-usage.d.ts +0 -10
  361. package/src/@claude-flow/shared/dist/events/index.d.ts +0 -21
  362. package/src/@claude-flow/shared/dist/events/projections.d.ts +0 -177
  363. package/src/@claude-flow/shared/dist/events/rvf-event-log.d.ts +0 -82
  364. package/src/@claude-flow/shared/dist/events/state-reconstructor.d.ts +0 -101
  365. package/src/@claude-flow/shared/dist/events.d.ts +0 -80
  366. package/src/@claude-flow/shared/dist/hooks/example-usage.d.ts +0 -42
  367. package/src/@claude-flow/shared/dist/hooks/executor.d.ts +0 -100
  368. package/src/@claude-flow/shared/dist/hooks/hooks.test.d.ts +0 -9
  369. package/src/@claude-flow/shared/dist/hooks/index.d.ts +0 -52
  370. package/src/@claude-flow/shared/dist/hooks/registry.d.ts +0 -133
  371. package/src/@claude-flow/shared/dist/hooks/safety/bash-safety.d.ts +0 -105
  372. package/src/@claude-flow/shared/dist/hooks/safety/file-organization.d.ts +0 -144
  373. package/src/@claude-flow/shared/dist/hooks/safety/git-commit.d.ts +0 -158
  374. package/src/@claude-flow/shared/dist/hooks/safety/index.d.ts +0 -17
  375. package/src/@claude-flow/shared/dist/hooks/session-hooks.d.ts +0 -234
  376. package/src/@claude-flow/shared/dist/hooks/task-hooks.d.ts +0 -163
  377. package/src/@claude-flow/shared/dist/hooks/types.d.ts +0 -267
  378. package/src/@claude-flow/shared/dist/hooks/verify-exports.test.d.ts +0 -9
  379. package/src/@claude-flow/shared/dist/index.d.ts +0 -20
  380. package/src/@claude-flow/shared/dist/mcp/connection-pool.d.ts +0 -98
  381. package/src/@claude-flow/shared/dist/mcp/index.d.ts +0 -69
  382. package/src/@claude-flow/shared/dist/mcp/server.d.ts +0 -166
  383. package/src/@claude-flow/shared/dist/mcp/session-manager.d.ts +0 -136
  384. package/src/@claude-flow/shared/dist/mcp/tool-registry.d.ts +0 -178
  385. package/src/@claude-flow/shared/dist/mcp/transport/http.d.ts +0 -104
  386. package/src/@claude-flow/shared/dist/mcp/transport/index.d.ts +0 -102
  387. package/src/@claude-flow/shared/dist/mcp/transport/stdio.d.ts +0 -104
  388. package/src/@claude-flow/shared/dist/mcp/transport/websocket.d.ts +0 -133
  389. package/src/@claude-flow/shared/dist/mcp/types.d.ts +0 -438
  390. package/src/@claude-flow/shared/dist/plugin-interface.d.ts +0 -544
  391. package/src/@claude-flow/shared/dist/plugin-loader.d.ts +0 -139
  392. package/src/@claude-flow/shared/dist/plugin-registry.d.ts +0 -183
  393. package/src/@claude-flow/shared/dist/plugins/index.d.ts +0 -10
  394. package/src/@claude-flow/shared/dist/plugins/official/hive-mind-plugin.d.ts +0 -106
  395. package/src/@claude-flow/shared/dist/plugins/official/index.d.ts +0 -10
  396. package/src/@claude-flow/shared/dist/plugins/official/maestro-plugin.d.ts +0 -121
  397. package/src/@claude-flow/shared/dist/plugins/types.d.ts +0 -93
  398. package/src/@claude-flow/shared/dist/resilience/bulkhead.d.ts +0 -105
  399. package/src/@claude-flow/shared/dist/resilience/circuit-breaker.d.ts +0 -132
  400. package/src/@claude-flow/shared/dist/resilience/index.d.ts +0 -19
  401. package/src/@claude-flow/shared/dist/resilience/rate-limiter.d.ts +0 -168
  402. package/src/@claude-flow/shared/dist/resilience/retry.d.ts +0 -91
  403. package/src/@claude-flow/shared/dist/security/index.d.ts +0 -10
  404. package/src/@claude-flow/shared/dist/security/input-validation.d.ts +0 -73
  405. package/src/@claude-flow/shared/dist/security/secure-random.d.ts +0 -92
  406. package/src/@claude-flow/shared/dist/services/index.d.ts +0 -7
  407. package/src/@claude-flow/shared/dist/services/v3-progress.service.d.ts +0 -124
  408. package/src/@claude-flow/shared/dist/types/agent.types.d.ts +0 -137
  409. package/src/@claude-flow/shared/dist/types/index.d.ts +0 -11
  410. package/src/@claude-flow/shared/dist/types/mcp.types.d.ts +0 -266
  411. package/src/@claude-flow/shared/dist/types/memory.types.d.ts +0 -236
  412. package/src/@claude-flow/shared/dist/types/swarm.types.d.ts +0 -186
  413. package/src/@claude-flow/shared/dist/types/task.types.d.ts +0 -178
  414. package/src/@claude-flow/shared/dist/types.d.ts +0 -197
  415. package/src/@claude-flow/shared/dist/utils/secure-logger.d.ts +0 -69
@@ -0,0 +1,259 @@
1
+ /**
2
+ * Tabular Q-Learning
3
+ *
4
+ * Classic Q-learning algorithm with:
5
+ * - Epsilon-greedy exploration
6
+ * - State hashing for continuous states
7
+ * - Eligibility traces (optional)
8
+ * - Experience replay
9
+ *
10
+ * Suitable for smaller state spaces or discretized environments.
11
+ * Performance Target: <1ms per update
12
+ */
13
+ /**
14
+ * Default Q-Learning configuration
15
+ */
16
+ export const DEFAULT_QLEARNING_CONFIG = {
17
+ algorithm: 'q-learning',
18
+ learningRate: 0.1,
19
+ gamma: 0.99,
20
+ entropyCoef: 0,
21
+ valueLossCoef: 1,
22
+ maxGradNorm: 1,
23
+ epochs: 1,
24
+ miniBatchSize: 1,
25
+ explorationInitial: 1.0,
26
+ explorationFinal: 0.01,
27
+ explorationDecay: 10000,
28
+ maxStates: 10000,
29
+ useEligibilityTraces: false,
30
+ traceDecay: 0.9,
31
+ };
32
+ /**
33
+ * Q-Learning Algorithm Implementation
34
+ */
35
+ export class QLearning {
36
+ config;
37
+ // Q-table
38
+ qTable = new Map();
39
+ // Exploration
40
+ epsilon;
41
+ stepCount = 0;
42
+ // Number of actions
43
+ numActions = 4;
44
+ // Eligibility traces
45
+ traces = new Map();
46
+ // Statistics
47
+ updateCount = 0;
48
+ avgTDError = 0;
49
+ constructor(config = {}) {
50
+ this.config = { ...DEFAULT_QLEARNING_CONFIG, ...config };
51
+ this.epsilon = this.config.explorationInitial;
52
+ }
53
+ /**
54
+ * Update Q-values from trajectory
55
+ */
56
+ update(trajectory) {
57
+ const startTime = performance.now();
58
+ if (trajectory.steps.length === 0) {
59
+ return { tdError: 0 };
60
+ }
61
+ let totalTDError = 0;
62
+ // Reset eligibility traces for new trajectory
63
+ if (this.config.useEligibilityTraces) {
64
+ this.traces.clear();
65
+ }
66
+ for (let i = 0; i < trajectory.steps.length; i++) {
67
+ const step = trajectory.steps[i];
68
+ const stateKey = this.hashState(step.stateBefore);
69
+ const action = this.hashAction(step.action);
70
+ // Get or create Q-entry
71
+ const qEntry = this.getOrCreateEntry(stateKey);
72
+ // Current Q-value
73
+ const currentQ = qEntry.qValues[action];
74
+ // Compute target Q-value
75
+ let targetQ;
76
+ if (i === trajectory.steps.length - 1) {
77
+ // Terminal state
78
+ targetQ = step.reward;
79
+ }
80
+ else {
81
+ const nextStateKey = this.hashState(step.stateAfter);
82
+ const nextEntry = this.getOrCreateEntry(nextStateKey);
83
+ const maxNextQ = Math.max(...nextEntry.qValues);
84
+ targetQ = step.reward + this.config.gamma * maxNextQ;
85
+ }
86
+ // TD error
87
+ const tdError = targetQ - currentQ;
88
+ totalTDError += Math.abs(tdError);
89
+ if (this.config.useEligibilityTraces) {
90
+ // Update eligibility trace
91
+ this.updateTrace(stateKey, action);
92
+ // Update all states with traces
93
+ this.updateWithTraces(tdError);
94
+ }
95
+ else {
96
+ // Simple Q-learning update
97
+ qEntry.qValues[action] += this.config.learningRate * tdError;
98
+ qEntry.visits++;
99
+ qEntry.lastUpdate = Date.now();
100
+ }
101
+ }
102
+ // Decay exploration
103
+ this.stepCount += trajectory.steps.length;
104
+ this.epsilon = Math.max(this.config.explorationFinal, this.config.explorationInitial - this.stepCount / this.config.explorationDecay);
105
+ // Prune Q-table if too large
106
+ if (this.qTable.size > this.config.maxStates) {
107
+ this.pruneQTable();
108
+ }
109
+ this.updateCount++;
110
+ this.avgTDError = totalTDError / trajectory.steps.length;
111
+ const elapsed = performance.now() - startTime;
112
+ if (elapsed > 1) {
113
+ console.warn(`Q-learning update exceeded target: ${elapsed.toFixed(2)}ms > 1ms`);
114
+ }
115
+ return { tdError: this.avgTDError };
116
+ }
117
+ /**
118
+ * Get action using epsilon-greedy policy
119
+ */
120
+ getAction(state, explore = true) {
121
+ if (explore && Math.random() < this.epsilon) {
122
+ return Math.floor(Math.random() * this.numActions);
123
+ }
124
+ const stateKey = this.hashState(state);
125
+ const entry = this.qTable.get(stateKey);
126
+ if (!entry) {
127
+ return Math.floor(Math.random() * this.numActions);
128
+ }
129
+ return this.argmax(entry.qValues);
130
+ }
131
+ /**
132
+ * Get Q-values for a state
133
+ */
134
+ getQValues(state) {
135
+ const stateKey = this.hashState(state);
136
+ const entry = this.qTable.get(stateKey);
137
+ if (!entry) {
138
+ return new Float32Array(this.numActions);
139
+ }
140
+ return new Float32Array(entry.qValues);
141
+ }
142
+ /**
143
+ * Get statistics
144
+ */
145
+ getStats() {
146
+ return {
147
+ updateCount: this.updateCount,
148
+ qTableSize: this.qTable.size,
149
+ epsilon: this.epsilon,
150
+ avgTDError: this.avgTDError,
151
+ stepCount: this.stepCount,
152
+ };
153
+ }
154
+ /**
155
+ * Reset Q-table
156
+ */
157
+ reset() {
158
+ this.qTable.clear();
159
+ this.traces.clear();
160
+ this.epsilon = this.config.explorationInitial;
161
+ this.stepCount = 0;
162
+ this.updateCount = 0;
163
+ this.avgTDError = 0;
164
+ }
165
+ // ==========================================================================
166
+ // Private Methods
167
+ // ==========================================================================
168
+ hashState(state) {
169
+ // Discretize state by binning values
170
+ const bins = 10;
171
+ const parts = [];
172
+ // Use first 8 dimensions for hashing
173
+ for (let i = 0; i < Math.min(8, state.length); i++) {
174
+ const normalized = (state[i] + 1) / 2; // Assume [-1, 1] range
175
+ const bin = Math.floor(Math.max(0, Math.min(bins - 1, normalized * bins)));
176
+ parts.push(bin);
177
+ }
178
+ return parts.join(',');
179
+ }
180
+ hashAction(action) {
181
+ let hash = 0;
182
+ for (let i = 0; i < action.length; i++) {
183
+ hash = (hash * 31 + action.charCodeAt(i)) % this.numActions;
184
+ }
185
+ return hash;
186
+ }
187
+ getOrCreateEntry(stateKey) {
188
+ let entry = this.qTable.get(stateKey);
189
+ if (!entry) {
190
+ entry = {
191
+ qValues: new Float32Array(this.numActions),
192
+ visits: 0,
193
+ lastUpdate: Date.now(),
194
+ };
195
+ this.qTable.set(stateKey, entry);
196
+ }
197
+ return entry;
198
+ }
199
+ updateTrace(stateKey, action) {
200
+ // Decay all existing traces
201
+ for (const [key, trace] of this.traces) {
202
+ for (let a = 0; a < this.numActions; a++) {
203
+ trace[a] *= this.config.gamma * this.config.traceDecay;
204
+ }
205
+ // Remove near-zero traces
206
+ const maxTrace = Math.max(...trace);
207
+ if (maxTrace < 0.001) {
208
+ this.traces.delete(key);
209
+ }
210
+ }
211
+ // Set trace for current state-action
212
+ let trace = this.traces.get(stateKey);
213
+ if (!trace) {
214
+ trace = new Float32Array(this.numActions);
215
+ this.traces.set(stateKey, trace);
216
+ }
217
+ trace[action] = 1.0;
218
+ }
219
+ updateWithTraces(tdError) {
220
+ const lr = this.config.learningRate;
221
+ for (const [stateKey, trace] of this.traces) {
222
+ const entry = this.qTable.get(stateKey);
223
+ if (entry) {
224
+ for (let a = 0; a < this.numActions; a++) {
225
+ entry.qValues[a] += lr * tdError * trace[a];
226
+ }
227
+ entry.visits++;
228
+ entry.lastUpdate = Date.now();
229
+ }
230
+ }
231
+ }
232
+ pruneQTable() {
233
+ // Remove least recently used states
234
+ const entries = Array.from(this.qTable.entries())
235
+ .sort((a, b) => a[1].lastUpdate - b[1].lastUpdate);
236
+ const toRemove = entries.length - Math.floor(this.config.maxStates * 0.8);
237
+ for (let i = 0; i < toRemove; i++) {
238
+ this.qTable.delete(entries[i][0]);
239
+ }
240
+ }
241
+ argmax(values) {
242
+ let maxIdx = 0;
243
+ let maxVal = values[0];
244
+ for (let i = 1; i < values.length; i++) {
245
+ if (values[i] > maxVal) {
246
+ maxVal = values[i];
247
+ maxIdx = i;
248
+ }
249
+ }
250
+ return maxIdx;
251
+ }
252
+ }
253
+ /**
254
+ * Factory function
255
+ */
256
+ export function createQLearning(config) {
257
+ return new QLearning(config);
258
+ }
259
+ //# sourceMappingURL=q-learning.js.map
@@ -0,0 +1,297 @@
1
+ /**
2
+ * SARSA (State-Action-Reward-State-Action)
3
+ *
4
+ * On-policy TD learning algorithm with:
5
+ * - Epsilon-greedy exploration
6
+ * - State hashing for continuous states
7
+ * - Expected SARSA variant (optional)
8
+ * - Eligibility traces (SARSA-lambda)
9
+ *
10
+ * Performance Target: <1ms per update
11
+ */
12
+ /**
13
+ * Default SARSA configuration
14
+ */
15
+ export const DEFAULT_SARSA_CONFIG = {
16
+ algorithm: 'sarsa',
17
+ learningRate: 0.1,
18
+ gamma: 0.99,
19
+ entropyCoef: 0,
20
+ valueLossCoef: 1,
21
+ maxGradNorm: 1,
22
+ epochs: 1,
23
+ miniBatchSize: 1,
24
+ explorationInitial: 1.0,
25
+ explorationFinal: 0.01,
26
+ explorationDecay: 10000,
27
+ maxStates: 10000,
28
+ useExpectedSARSA: false,
29
+ useEligibilityTraces: false,
30
+ traceDecay: 0.9,
31
+ };
32
+ /**
33
+ * SARSA Algorithm Implementation
34
+ */
35
+ export class SARSAAlgorithm {
36
+ config;
37
+ // Q-table
38
+ qTable = new Map();
39
+ // Exploration
40
+ epsilon;
41
+ stepCount = 0;
42
+ // Number of actions
43
+ numActions = 4;
44
+ // Eligibility traces
45
+ traces = new Map();
46
+ // Statistics
47
+ updateCount = 0;
48
+ avgTDError = 0;
49
+ constructor(config = {}) {
50
+ this.config = { ...DEFAULT_SARSA_CONFIG, ...config };
51
+ this.epsilon = this.config.explorationInitial;
52
+ }
53
+ /**
54
+ * Update Q-values from trajectory using SARSA
55
+ */
56
+ update(trajectory) {
57
+ const startTime = performance.now();
58
+ if (trajectory.steps.length < 2) {
59
+ return { tdError: 0 };
60
+ }
61
+ let totalTDError = 0;
62
+ // Reset eligibility traces
63
+ if (this.config.useEligibilityTraces) {
64
+ this.traces.clear();
65
+ }
66
+ for (let i = 0; i < trajectory.steps.length - 1; i++) {
67
+ const step = trajectory.steps[i];
68
+ const nextStep = trajectory.steps[i + 1];
69
+ const stateKey = this.hashState(step.stateBefore);
70
+ const action = this.hashAction(step.action);
71
+ const nextStateKey = this.hashState(step.stateAfter);
72
+ const nextAction = this.hashAction(nextStep.action);
73
+ // Get or create entries
74
+ const qEntry = this.getOrCreateEntry(stateKey);
75
+ const nextEntry = this.getOrCreateEntry(nextStateKey);
76
+ // Current Q-value
77
+ const currentQ = qEntry.qValues[action];
78
+ // Compute target Q-value using SARSA update rule
79
+ let targetQ;
80
+ if (this.config.useExpectedSARSA) {
81
+ // Expected SARSA: use expected value under current policy
82
+ targetQ = step.reward + this.config.gamma * this.expectedValue(nextEntry.qValues);
83
+ }
84
+ else {
85
+ // Standard SARSA: use actual next action
86
+ targetQ = step.reward + this.config.gamma * nextEntry.qValues[nextAction];
87
+ }
88
+ // TD error
89
+ const tdError = targetQ - currentQ;
90
+ totalTDError += Math.abs(tdError);
91
+ if (this.config.useEligibilityTraces) {
92
+ this.updateTrace(stateKey, action);
93
+ this.updateWithTraces(tdError);
94
+ }
95
+ else {
96
+ qEntry.qValues[action] += this.config.learningRate * tdError;
97
+ qEntry.visits++;
98
+ qEntry.lastUpdate = Date.now();
99
+ }
100
+ }
101
+ // Handle terminal state
102
+ const lastStep = trajectory.steps[trajectory.steps.length - 1];
103
+ const lastStateKey = this.hashState(lastStep.stateBefore);
104
+ const lastAction = this.hashAction(lastStep.action);
105
+ const lastEntry = this.getOrCreateEntry(lastStateKey);
106
+ const terminalTDError = lastStep.reward - lastEntry.qValues[lastAction];
107
+ lastEntry.qValues[lastAction] += this.config.learningRate * terminalTDError;
108
+ totalTDError += Math.abs(terminalTDError);
109
+ // Decay exploration
110
+ this.stepCount += trajectory.steps.length;
111
+ this.epsilon = Math.max(this.config.explorationFinal, this.config.explorationInitial - this.stepCount / this.config.explorationDecay);
112
+ // Prune if needed
113
+ if (this.qTable.size > this.config.maxStates) {
114
+ this.pruneQTable();
115
+ }
116
+ this.updateCount++;
117
+ this.avgTDError = totalTDError / trajectory.steps.length;
118
+ const elapsed = performance.now() - startTime;
119
+ if (elapsed > 1) {
120
+ console.warn(`SARSA update exceeded target: ${elapsed.toFixed(2)}ms > 1ms`);
121
+ }
122
+ return { tdError: this.avgTDError };
123
+ }
124
+ /**
125
+ * Get action using epsilon-greedy policy
126
+ */
127
+ getAction(state, explore = true) {
128
+ if (explore && Math.random() < this.epsilon) {
129
+ return Math.floor(Math.random() * this.numActions);
130
+ }
131
+ const stateKey = this.hashState(state);
132
+ const entry = this.qTable.get(stateKey);
133
+ if (!entry) {
134
+ return Math.floor(Math.random() * this.numActions);
135
+ }
136
+ return this.argmax(entry.qValues);
137
+ }
138
+ /**
139
+ * Get action probabilities for a state
140
+ */
141
+ getActionProbabilities(state) {
142
+ const probs = new Float32Array(this.numActions);
143
+ const stateKey = this.hashState(state);
144
+ const entry = this.qTable.get(stateKey);
145
+ if (!entry) {
146
+ // Uniform distribution
147
+ const uniform = 1 / this.numActions;
148
+ for (let a = 0; a < this.numActions; a++) {
149
+ probs[a] = uniform;
150
+ }
151
+ return probs;
152
+ }
153
+ // Epsilon-greedy probabilities
154
+ const greedyAction = this.argmax(entry.qValues);
155
+ const exploreProb = this.epsilon / this.numActions;
156
+ for (let a = 0; a < this.numActions; a++) {
157
+ probs[a] = exploreProb;
158
+ }
159
+ probs[greedyAction] += 1 - this.epsilon;
160
+ return probs;
161
+ }
162
+ /**
163
+ * Get Q-values for a state
164
+ */
165
+ getQValues(state) {
166
+ const stateKey = this.hashState(state);
167
+ const entry = this.qTable.get(stateKey);
168
+ if (!entry) {
169
+ return new Float32Array(this.numActions);
170
+ }
171
+ return new Float32Array(entry.qValues);
172
+ }
173
+ /**
174
+ * Get statistics
175
+ */
176
+ getStats() {
177
+ return {
178
+ updateCount: this.updateCount,
179
+ qTableSize: this.qTable.size,
180
+ epsilon: this.epsilon,
181
+ avgTDError: this.avgTDError,
182
+ stepCount: this.stepCount,
183
+ };
184
+ }
185
+ /**
186
+ * Reset algorithm state
187
+ */
188
+ reset() {
189
+ this.qTable.clear();
190
+ this.traces.clear();
191
+ this.epsilon = this.config.explorationInitial;
192
+ this.stepCount = 0;
193
+ this.updateCount = 0;
194
+ this.avgTDError = 0;
195
+ }
196
+ // ==========================================================================
197
+ // Private Methods
198
+ // ==========================================================================
199
+ hashState(state) {
200
+ const bins = 10;
201
+ const parts = [];
202
+ for (let i = 0; i < Math.min(8, state.length); i++) {
203
+ const normalized = (state[i] + 1) / 2;
204
+ const bin = Math.floor(Math.max(0, Math.min(bins - 1, normalized * bins)));
205
+ parts.push(bin);
206
+ }
207
+ return parts.join(',');
208
+ }
209
+ hashAction(action) {
210
+ let hash = 0;
211
+ for (let i = 0; i < action.length; i++) {
212
+ hash = (hash * 31 + action.charCodeAt(i)) % this.numActions;
213
+ }
214
+ return hash;
215
+ }
216
+ getOrCreateEntry(stateKey) {
217
+ let entry = this.qTable.get(stateKey);
218
+ if (!entry) {
219
+ entry = {
220
+ qValues: new Float32Array(this.numActions),
221
+ visits: 0,
222
+ lastUpdate: Date.now(),
223
+ };
224
+ this.qTable.set(stateKey, entry);
225
+ }
226
+ return entry;
227
+ }
228
+ expectedValue(qValues) {
229
+ // Expected value under epsilon-greedy policy
230
+ const greedyAction = this.argmax(qValues);
231
+ const exploreProb = this.epsilon / this.numActions;
232
+ let expected = 0;
233
+ for (let a = 0; a < this.numActions; a++) {
234
+ const prob = exploreProb + (a === greedyAction ? 1 - this.epsilon : 0);
235
+ expected += prob * qValues[a];
236
+ }
237
+ return expected;
238
+ }
239
+ updateTrace(stateKey, action) {
240
+ // Decay all traces
241
+ for (const [key, trace] of this.traces) {
242
+ for (let a = 0; a < this.numActions; a++) {
243
+ trace[a] *= this.config.gamma * this.config.traceDecay;
244
+ }
245
+ const maxTrace = Math.max(...trace);
246
+ if (maxTrace < 0.001) {
247
+ this.traces.delete(key);
248
+ }
249
+ }
250
+ // Set current trace (replacing traces for same state-action)
251
+ let trace = this.traces.get(stateKey);
252
+ if (!trace) {
253
+ trace = new Float32Array(this.numActions);
254
+ this.traces.set(stateKey, trace);
255
+ }
256
+ trace[action] = 1.0;
257
+ }
258
+ updateWithTraces(tdError) {
259
+ const lr = this.config.learningRate;
260
+ for (const [stateKey, trace] of this.traces) {
261
+ const entry = this.qTable.get(stateKey);
262
+ if (entry) {
263
+ for (let a = 0; a < this.numActions; a++) {
264
+ entry.qValues[a] += lr * tdError * trace[a];
265
+ }
266
+ entry.visits++;
267
+ entry.lastUpdate = Date.now();
268
+ }
269
+ }
270
+ }
271
+ pruneQTable() {
272
+ const entries = Array.from(this.qTable.entries())
273
+ .sort((a, b) => a[1].lastUpdate - b[1].lastUpdate);
274
+ const toRemove = entries.length - Math.floor(this.config.maxStates * 0.8);
275
+ for (let i = 0; i < toRemove; i++) {
276
+ this.qTable.delete(entries[i][0]);
277
+ }
278
+ }
279
+ argmax(values) {
280
+ let maxIdx = 0;
281
+ let maxVal = values[0];
282
+ for (let i = 1; i < values.length; i++) {
283
+ if (values[i] > maxVal) {
284
+ maxVal = values[i];
285
+ maxIdx = i;
286
+ }
287
+ }
288
+ return maxIdx;
289
+ }
290
+ }
291
+ /**
292
+ * Factory function
293
+ */
294
+ export function createSARSA(config) {
295
+ return new SARSAAlgorithm(config);
296
+ }
297
+ //# sourceMappingURL=sarsa.js.map
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Neural Application Layer - Public Exports
3
+ *
4
+ * @module v3/neural/application
5
+ */
6
+ export { NeuralApplicationService, } from './services/neural-application-service.js';
7
+ //# sourceMappingURL=index.js.map