agentic-qe 3.2.3 → 3.3.0

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 (340) hide show
  1. package/.claude/agents/v3/qe-accessibility-auditor.md +90 -0
  2. package/README.md +43 -5
  3. package/package.json +3 -2
  4. package/scripts/cloud-db-config.json +37 -0
  5. package/scripts/cloud-db-connect.sh +37 -0
  6. package/scripts/cloud-db-tunnel.sh +23 -0
  7. package/v3/CHANGELOG.md +165 -0
  8. package/v3/README.md +59 -1
  9. package/v3/assets/agents/v3/qe-accessibility-auditor.md +90 -0
  10. package/v3/dist/adapters/claude-flow/index.d.ts +54 -0
  11. package/v3/dist/adapters/claude-flow/index.d.ts.map +1 -0
  12. package/v3/dist/adapters/claude-flow/index.js +79 -0
  13. package/v3/dist/adapters/claude-flow/index.js.map +1 -0
  14. package/v3/dist/adapters/claude-flow/model-router-bridge.d.ts +70 -0
  15. package/v3/dist/adapters/claude-flow/model-router-bridge.d.ts.map +1 -0
  16. package/v3/dist/adapters/claude-flow/model-router-bridge.js +203 -0
  17. package/v3/dist/adapters/claude-flow/model-router-bridge.js.map +1 -0
  18. package/v3/dist/adapters/claude-flow/pretrain-bridge.d.ts +73 -0
  19. package/v3/dist/adapters/claude-flow/pretrain-bridge.d.ts.map +1 -0
  20. package/v3/dist/adapters/claude-flow/pretrain-bridge.js +276 -0
  21. package/v3/dist/adapters/claude-flow/pretrain-bridge.js.map +1 -0
  22. package/v3/dist/adapters/claude-flow/trajectory-bridge.d.ts +70 -0
  23. package/v3/dist/adapters/claude-flow/trajectory-bridge.d.ts.map +1 -0
  24. package/v3/dist/adapters/claude-flow/trajectory-bridge.js +205 -0
  25. package/v3/dist/adapters/claude-flow/trajectory-bridge.js.map +1 -0
  26. package/v3/dist/adapters/claude-flow/types.d.ts +99 -0
  27. package/v3/dist/adapters/claude-flow/types.d.ts.map +1 -0
  28. package/v3/dist/adapters/claude-flow/types.js +6 -0
  29. package/v3/dist/adapters/claude-flow/types.js.map +1 -0
  30. package/v3/dist/causal-discovery/causal-graph.d.ts +80 -1
  31. package/v3/dist/causal-discovery/causal-graph.d.ts.map +1 -1
  32. package/v3/dist/causal-discovery/causal-graph.js +111 -1
  33. package/v3/dist/causal-discovery/causal-graph.js.map +1 -1
  34. package/v3/dist/cli/bundle.js +11612 -4929
  35. package/v3/dist/cli/commands/claude-flow-setup.d.ts +82 -0
  36. package/v3/dist/cli/commands/claude-flow-setup.d.ts.map +1 -0
  37. package/v3/dist/cli/commands/claude-flow-setup.js +334 -0
  38. package/v3/dist/cli/commands/claude-flow-setup.js.map +1 -0
  39. package/v3/dist/cli/commands/hooks.d.ts +2 -0
  40. package/v3/dist/cli/commands/hooks.d.ts.map +1 -1
  41. package/v3/dist/cli/commands/hooks.js +13 -2
  42. package/v3/dist/cli/commands/hooks.js.map +1 -1
  43. package/v3/dist/cli/commands/init.d.ts +19 -0
  44. package/v3/dist/cli/commands/init.d.ts.map +1 -0
  45. package/v3/dist/cli/commands/init.js +345 -0
  46. package/v3/dist/cli/commands/init.js.map +1 -0
  47. package/v3/dist/cli/index.js +110 -2
  48. package/v3/dist/cli/index.js.map +1 -1
  49. package/v3/dist/coordination/mincut/interfaces.d.ts +8 -2
  50. package/v3/dist/coordination/mincut/interfaces.d.ts.map +1 -1
  51. package/v3/dist/coordination/mincut/interfaces.js.map +1 -1
  52. package/v3/dist/coordination/mincut/mincut-health-monitor.d.ts +5 -0
  53. package/v3/dist/coordination/mincut/mincut-health-monitor.d.ts.map +1 -1
  54. package/v3/dist/coordination/mincut/mincut-health-monitor.js +22 -4
  55. package/v3/dist/coordination/mincut/mincut-health-monitor.js.map +1 -1
  56. package/v3/dist/coordination/mincut/queen-integration.d.ts +4 -0
  57. package/v3/dist/coordination/mincut/queen-integration.d.ts.map +1 -1
  58. package/v3/dist/coordination/mincut/queen-integration.js +14 -1
  59. package/v3/dist/coordination/mincut/queen-integration.js.map +1 -1
  60. package/v3/dist/coordination/queen-coordinator.d.ts +5 -0
  61. package/v3/dist/coordination/queen-coordinator.d.ts.map +1 -1
  62. package/v3/dist/coordination/queen-coordinator.js +45 -7
  63. package/v3/dist/coordination/queen-coordinator.js.map +1 -1
  64. package/v3/dist/domains/learning-optimization/coordinator.d.ts +5 -0
  65. package/v3/dist/domains/learning-optimization/coordinator.d.ts.map +1 -1
  66. package/v3/dist/domains/learning-optimization/coordinator.js +79 -0
  67. package/v3/dist/domains/learning-optimization/coordinator.js.map +1 -1
  68. package/v3/dist/domains/test-generation/coherence-gate.d.ts +245 -0
  69. package/v3/dist/domains/test-generation/coherence-gate.d.ts.map +1 -0
  70. package/v3/dist/domains/test-generation/coherence-gate.js +454 -0
  71. package/v3/dist/domains/test-generation/coherence-gate.js.map +1 -0
  72. package/v3/dist/domains/test-generation/coordinator.d.ts +32 -1
  73. package/v3/dist/domains/test-generation/coordinator.d.ts.map +1 -1
  74. package/v3/dist/domains/test-generation/coordinator.js +70 -1
  75. package/v3/dist/domains/test-generation/coordinator.js.map +1 -1
  76. package/v3/dist/domains/test-generation/index.d.ts +1 -0
  77. package/v3/dist/domains/test-generation/index.d.ts.map +1 -1
  78. package/v3/dist/domains/test-generation/index.js +4 -0
  79. package/v3/dist/domains/test-generation/index.js.map +1 -1
  80. package/v3/dist/domains/test-generation/services/index.d.ts +1 -0
  81. package/v3/dist/domains/test-generation/services/index.d.ts.map +1 -1
  82. package/v3/dist/domains/test-generation/services/index.js +2 -0
  83. package/v3/dist/domains/test-generation/services/index.js.map +1 -1
  84. package/v3/dist/domains/visual-accessibility/index.d.ts +2 -1
  85. package/v3/dist/domains/visual-accessibility/index.d.ts.map +1 -1
  86. package/v3/dist/domains/visual-accessibility/index.js +1 -0
  87. package/v3/dist/domains/visual-accessibility/index.js.map +1 -1
  88. package/v3/dist/domains/visual-accessibility/interfaces.d.ts +131 -0
  89. package/v3/dist/domains/visual-accessibility/interfaces.d.ts.map +1 -1
  90. package/v3/dist/domains/visual-accessibility/plugin.d.ts +26 -0
  91. package/v3/dist/domains/visual-accessibility/plugin.d.ts.map +1 -1
  92. package/v3/dist/domains/visual-accessibility/plugin.js +151 -0
  93. package/v3/dist/domains/visual-accessibility/plugin.js.map +1 -1
  94. package/v3/dist/domains/visual-accessibility/services/accessibility-tester.d.ts +42 -1
  95. package/v3/dist/domains/visual-accessibility/services/accessibility-tester.d.ts.map +1 -1
  96. package/v3/dist/domains/visual-accessibility/services/accessibility-tester.js +69 -0
  97. package/v3/dist/domains/visual-accessibility/services/accessibility-tester.js.map +1 -1
  98. package/v3/dist/domains/visual-accessibility/services/eu-compliance.d.ts +138 -0
  99. package/v3/dist/domains/visual-accessibility/services/eu-compliance.d.ts.map +1 -0
  100. package/v3/dist/domains/visual-accessibility/services/eu-compliance.js +830 -0
  101. package/v3/dist/domains/visual-accessibility/services/eu-compliance.js.map +1 -0
  102. package/v3/dist/domains/visual-accessibility/services/index.d.ts +1 -0
  103. package/v3/dist/domains/visual-accessibility/services/index.d.ts.map +1 -1
  104. package/v3/dist/domains/visual-accessibility/services/index.js +1 -0
  105. package/v3/dist/domains/visual-accessibility/services/index.js.map +1 -1
  106. package/v3/dist/init/enhancements/claude-flow-adapter.d.ts +84 -0
  107. package/v3/dist/init/enhancements/claude-flow-adapter.d.ts.map +1 -0
  108. package/v3/dist/init/enhancements/claude-flow-adapter.js +250 -0
  109. package/v3/dist/init/enhancements/claude-flow-adapter.js.map +1 -0
  110. package/v3/dist/init/enhancements/detector.d.ts +10 -0
  111. package/v3/dist/init/enhancements/detector.d.ts.map +1 -0
  112. package/v3/dist/init/enhancements/detector.js +87 -0
  113. package/v3/dist/init/enhancements/detector.js.map +1 -0
  114. package/v3/dist/init/enhancements/index.d.ts +13 -0
  115. package/v3/dist/init/enhancements/index.d.ts.map +1 -0
  116. package/v3/dist/init/enhancements/index.js +25 -0
  117. package/v3/dist/init/enhancements/index.js.map +1 -0
  118. package/v3/dist/init/enhancements/types.d.ts +93 -0
  119. package/v3/dist/init/enhancements/types.d.ts.map +1 -0
  120. package/v3/dist/init/enhancements/types.js +6 -0
  121. package/v3/dist/init/enhancements/types.js.map +1 -0
  122. package/v3/dist/init/index.d.ts +8 -0
  123. package/v3/dist/init/index.d.ts.map +1 -1
  124. package/v3/dist/init/index.js +4 -0
  125. package/v3/dist/init/index.js.map +1 -1
  126. package/v3/dist/init/migration/config-migrator.d.ts +31 -0
  127. package/v3/dist/init/migration/config-migrator.d.ts.map +1 -0
  128. package/v3/dist/init/migration/config-migrator.js +133 -0
  129. package/v3/dist/init/migration/config-migrator.js.map +1 -0
  130. package/v3/dist/init/migration/data-migrator.d.ts +72 -0
  131. package/v3/dist/init/migration/data-migrator.d.ts.map +1 -0
  132. package/v3/dist/init/migration/data-migrator.js +233 -0
  133. package/v3/dist/init/migration/data-migrator.js.map +1 -0
  134. package/v3/dist/init/migration/detector.d.ts +44 -0
  135. package/v3/dist/init/migration/detector.d.ts.map +1 -0
  136. package/v3/dist/init/migration/detector.js +106 -0
  137. package/v3/dist/init/migration/detector.js.map +1 -0
  138. package/v3/dist/init/migration/index.d.ts +8 -0
  139. package/v3/dist/init/migration/index.d.ts.map +1 -0
  140. package/v3/dist/init/migration/index.js +8 -0
  141. package/v3/dist/init/migration/index.js.map +1 -0
  142. package/v3/dist/init/orchestrator.d.ts +68 -0
  143. package/v3/dist/init/orchestrator.d.ts.map +1 -0
  144. package/v3/dist/init/orchestrator.js +239 -0
  145. package/v3/dist/init/orchestrator.js.map +1 -0
  146. package/v3/dist/init/phases/01-detection.d.ts +30 -0
  147. package/v3/dist/init/phases/01-detection.d.ts.map +1 -0
  148. package/v3/dist/init/phases/01-detection.js +143 -0
  149. package/v3/dist/init/phases/01-detection.js.map +1 -0
  150. package/v3/dist/init/phases/02-analysis.d.ts +18 -0
  151. package/v3/dist/init/phases/02-analysis.d.ts.map +1 -0
  152. package/v3/dist/init/phases/02-analysis.js +28 -0
  153. package/v3/dist/init/phases/02-analysis.js.map +1 -0
  154. package/v3/dist/init/phases/03-configuration.d.ts +26 -0
  155. package/v3/dist/init/phases/03-configuration.d.ts.map +1 -0
  156. package/v3/dist/init/phases/03-configuration.js +98 -0
  157. package/v3/dist/init/phases/03-configuration.js.map +1 -0
  158. package/v3/dist/init/phases/04-database.d.ts +22 -0
  159. package/v3/dist/init/phases/04-database.d.ts.map +1 -0
  160. package/v3/dist/init/phases/04-database.js +88 -0
  161. package/v3/dist/init/phases/04-database.js.map +1 -0
  162. package/v3/dist/init/phases/05-learning.d.ts +28 -0
  163. package/v3/dist/init/phases/05-learning.d.ts.map +1 -0
  164. package/v3/dist/init/phases/05-learning.js +98 -0
  165. package/v3/dist/init/phases/05-learning.js.map +1 -0
  166. package/v3/dist/init/phases/06-code-intelligence.d.ts +33 -0
  167. package/v3/dist/init/phases/06-code-intelligence.d.ts.map +1 -0
  168. package/v3/dist/init/phases/06-code-intelligence.js +115 -0
  169. package/v3/dist/init/phases/06-code-intelligence.js.map +1 -0
  170. package/v3/dist/init/phases/07-hooks.d.ts +27 -0
  171. package/v3/dist/init/phases/07-hooks.d.ts.map +1 -0
  172. package/v3/dist/init/phases/07-hooks.js +209 -0
  173. package/v3/dist/init/phases/07-hooks.js.map +1 -0
  174. package/v3/dist/init/phases/08-mcp.d.ts +22 -0
  175. package/v3/dist/init/phases/08-mcp.d.ts.map +1 -0
  176. package/v3/dist/init/phases/08-mcp.js +62 -0
  177. package/v3/dist/init/phases/08-mcp.js.map +1 -0
  178. package/v3/dist/init/phases/09-assets.d.ts +23 -0
  179. package/v3/dist/init/phases/09-assets.d.ts.map +1 -0
  180. package/v3/dist/init/phases/09-assets.js +82 -0
  181. package/v3/dist/init/phases/09-assets.js.map +1 -0
  182. package/v3/dist/init/phases/10-workers.d.ts +23 -0
  183. package/v3/dist/init/phases/10-workers.d.ts.map +1 -0
  184. package/v3/dist/init/phases/10-workers.js +111 -0
  185. package/v3/dist/init/phases/10-workers.js.map +1 -0
  186. package/v3/dist/init/phases/11-claude-md.d.ts +26 -0
  187. package/v3/dist/init/phases/11-claude-md.d.ts.map +1 -0
  188. package/v3/dist/init/phases/11-claude-md.js +121 -0
  189. package/v3/dist/init/phases/11-claude-md.js.map +1 -0
  190. package/v3/dist/init/phases/12-verification.d.ts +38 -0
  191. package/v3/dist/init/phases/12-verification.d.ts.map +1 -0
  192. package/v3/dist/init/phases/12-verification.js +187 -0
  193. package/v3/dist/init/phases/12-verification.js.map +1 -0
  194. package/v3/dist/init/phases/index.d.ts +46 -0
  195. package/v3/dist/init/phases/index.d.ts.map +1 -0
  196. package/v3/dist/init/phases/index.js +64 -0
  197. package/v3/dist/init/phases/index.js.map +1 -0
  198. package/v3/dist/init/phases/phase-interface.d.ts +193 -0
  199. package/v3/dist/init/phases/phase-interface.d.ts.map +1 -0
  200. package/v3/dist/init/phases/phase-interface.js +119 -0
  201. package/v3/dist/init/phases/phase-interface.js.map +1 -0
  202. package/v3/dist/integrations/coherence/coherence-service.d.ts +323 -0
  203. package/v3/dist/integrations/coherence/coherence-service.d.ts.map +1 -0
  204. package/v3/dist/integrations/coherence/coherence-service.js +799 -0
  205. package/v3/dist/integrations/coherence/coherence-service.js.map +1 -0
  206. package/v3/dist/integrations/coherence/engines/category-adapter.d.ts +170 -0
  207. package/v3/dist/integrations/coherence/engines/category-adapter.d.ts.map +1 -0
  208. package/v3/dist/integrations/coherence/engines/category-adapter.js +403 -0
  209. package/v3/dist/integrations/coherence/engines/category-adapter.js.map +1 -0
  210. package/v3/dist/integrations/coherence/engines/causal-adapter.d.ts +159 -0
  211. package/v3/dist/integrations/coherence/engines/causal-adapter.d.ts.map +1 -0
  212. package/v3/dist/integrations/coherence/engines/causal-adapter.js +348 -0
  213. package/v3/dist/integrations/coherence/engines/causal-adapter.js.map +1 -0
  214. package/v3/dist/integrations/coherence/engines/cohomology-adapter.d.ts +174 -0
  215. package/v3/dist/integrations/coherence/engines/cohomology-adapter.d.ts.map +1 -0
  216. package/v3/dist/integrations/coherence/engines/cohomology-adapter.js +401 -0
  217. package/v3/dist/integrations/coherence/engines/cohomology-adapter.js.map +1 -0
  218. package/v3/dist/integrations/coherence/engines/homotopy-adapter.d.ts +201 -0
  219. package/v3/dist/integrations/coherence/engines/homotopy-adapter.d.ts.map +1 -0
  220. package/v3/dist/integrations/coherence/engines/homotopy-adapter.js +324 -0
  221. package/v3/dist/integrations/coherence/engines/homotopy-adapter.js.map +1 -0
  222. package/v3/dist/integrations/coherence/engines/index.d.ts +20 -0
  223. package/v3/dist/integrations/coherence/engines/index.d.ts.map +1 -0
  224. package/v3/dist/integrations/coherence/engines/index.js +26 -0
  225. package/v3/dist/integrations/coherence/engines/index.js.map +1 -0
  226. package/v3/dist/integrations/coherence/engines/spectral-adapter.d.ts +193 -0
  227. package/v3/dist/integrations/coherence/engines/spectral-adapter.d.ts.map +1 -0
  228. package/v3/dist/integrations/coherence/engines/spectral-adapter.js +476 -0
  229. package/v3/dist/integrations/coherence/engines/spectral-adapter.js.map +1 -0
  230. package/v3/dist/integrations/coherence/engines/witness-adapter.d.ts +175 -0
  231. package/v3/dist/integrations/coherence/engines/witness-adapter.d.ts.map +1 -0
  232. package/v3/dist/integrations/coherence/engines/witness-adapter.js +377 -0
  233. package/v3/dist/integrations/coherence/engines/witness-adapter.js.map +1 -0
  234. package/v3/dist/integrations/coherence/index.d.ts +84 -0
  235. package/v3/dist/integrations/coherence/index.d.ts.map +1 -0
  236. package/v3/dist/integrations/coherence/index.js +114 -0
  237. package/v3/dist/integrations/coherence/index.js.map +1 -0
  238. package/v3/dist/integrations/coherence/threshold-tuner.d.ts +396 -0
  239. package/v3/dist/integrations/coherence/threshold-tuner.d.ts.map +1 -0
  240. package/v3/dist/integrations/coherence/threshold-tuner.js +538 -0
  241. package/v3/dist/integrations/coherence/threshold-tuner.js.map +1 -0
  242. package/v3/dist/integrations/coherence/types.d.ts +879 -0
  243. package/v3/dist/integrations/coherence/types.d.ts.map +1 -0
  244. package/v3/dist/integrations/coherence/types.js +134 -0
  245. package/v3/dist/integrations/coherence/types.js.map +1 -0
  246. package/v3/dist/integrations/coherence/wasm-loader.d.ts +351 -0
  247. package/v3/dist/integrations/coherence/wasm-loader.d.ts.map +1 -0
  248. package/v3/dist/integrations/coherence/wasm-loader.js +842 -0
  249. package/v3/dist/integrations/coherence/wasm-loader.js.map +1 -0
  250. package/v3/dist/integrations/embeddings/index/HNSWIndex.d.ts.map +1 -1
  251. package/v3/dist/integrations/embeddings/index/HNSWIndex.js +4 -1
  252. package/v3/dist/integrations/embeddings/index/HNSWIndex.js.map +1 -1
  253. package/v3/dist/kernel/interfaces.d.ts +8 -1
  254. package/v3/dist/kernel/interfaces.d.ts.map +1 -1
  255. package/v3/dist/learning/aqe-learning-engine.d.ts +272 -0
  256. package/v3/dist/learning/aqe-learning-engine.d.ts.map +1 -0
  257. package/v3/dist/learning/aqe-learning-engine.js +708 -0
  258. package/v3/dist/learning/aqe-learning-engine.js.map +1 -0
  259. package/v3/dist/learning/causal-verifier.d.ts +244 -0
  260. package/v3/dist/learning/causal-verifier.d.ts.map +1 -0
  261. package/v3/dist/learning/causal-verifier.js +300 -0
  262. package/v3/dist/learning/causal-verifier.js.map +1 -0
  263. package/v3/dist/learning/experience-capture.d.ts +266 -0
  264. package/v3/dist/learning/experience-capture.d.ts.map +1 -0
  265. package/v3/dist/learning/experience-capture.js +647 -0
  266. package/v3/dist/learning/experience-capture.js.map +1 -0
  267. package/v3/dist/learning/index.d.ts +8 -0
  268. package/v3/dist/learning/index.d.ts.map +1 -1
  269. package/v3/dist/learning/index.js +16 -0
  270. package/v3/dist/learning/index.js.map +1 -1
  271. package/v3/dist/learning/memory-auditor.d.ts +235 -0
  272. package/v3/dist/learning/memory-auditor.d.ts.map +1 -0
  273. package/v3/dist/learning/memory-auditor.js +478 -0
  274. package/v3/dist/learning/memory-auditor.js.map +1 -0
  275. package/v3/dist/learning/pattern-store.d.ts.map +1 -1
  276. package/v3/dist/learning/pattern-store.js +27 -6
  277. package/v3/dist/learning/pattern-store.js.map +1 -1
  278. package/v3/dist/learning/qe-patterns.d.ts +15 -1
  279. package/v3/dist/learning/qe-patterns.d.ts.map +1 -1
  280. package/v3/dist/learning/qe-patterns.js +26 -5
  281. package/v3/dist/learning/qe-patterns.js.map +1 -1
  282. package/v3/dist/learning/qe-reasoning-bank.d.ts +38 -2
  283. package/v3/dist/learning/qe-reasoning-bank.d.ts.map +1 -1
  284. package/v3/dist/learning/qe-reasoning-bank.js +86 -4
  285. package/v3/dist/learning/qe-reasoning-bank.js.map +1 -1
  286. package/v3/dist/learning/real-qe-reasoning-bank.d.ts +32 -2
  287. package/v3/dist/learning/real-qe-reasoning-bank.d.ts.map +1 -1
  288. package/v3/dist/learning/real-qe-reasoning-bank.js +61 -6
  289. package/v3/dist/learning/real-qe-reasoning-bank.js.map +1 -1
  290. package/v3/dist/mcp/bundle.js +6303 -266
  291. package/v3/dist/mcp/tools/coherence/audit.d.ts +107 -0
  292. package/v3/dist/mcp/tools/coherence/audit.d.ts.map +1 -0
  293. package/v3/dist/mcp/tools/coherence/audit.js +236 -0
  294. package/v3/dist/mcp/tools/coherence/audit.js.map +1 -0
  295. package/v3/dist/mcp/tools/coherence/check.d.ts +106 -0
  296. package/v3/dist/mcp/tools/coherence/check.d.ts.map +1 -0
  297. package/v3/dist/mcp/tools/coherence/check.js +205 -0
  298. package/v3/dist/mcp/tools/coherence/check.js.map +1 -0
  299. package/v3/dist/mcp/tools/coherence/collapse.d.ts +123 -0
  300. package/v3/dist/mcp/tools/coherence/collapse.d.ts.map +1 -0
  301. package/v3/dist/mcp/tools/coherence/collapse.js +279 -0
  302. package/v3/dist/mcp/tools/coherence/collapse.js.map +1 -0
  303. package/v3/dist/mcp/tools/coherence/consensus.d.ts +100 -0
  304. package/v3/dist/mcp/tools/coherence/consensus.d.ts.map +1 -0
  305. package/v3/dist/mcp/tools/coherence/consensus.js +201 -0
  306. package/v3/dist/mcp/tools/coherence/consensus.js.map +1 -0
  307. package/v3/dist/mcp/tools/coherence/index.d.ts +31 -0
  308. package/v3/dist/mcp/tools/coherence/index.d.ts.map +1 -0
  309. package/v3/dist/mcp/tools/coherence/index.js +42 -0
  310. package/v3/dist/mcp/tools/coherence/index.js.map +1 -0
  311. package/v3/dist/mcp/tools/index.d.ts +6 -1
  312. package/v3/dist/mcp/tools/index.d.ts.map +1 -1
  313. package/v3/dist/mcp/tools/index.js +9 -1
  314. package/v3/dist/mcp/tools/index.js.map +1 -1
  315. package/v3/dist/mcp/tools/mincut/index.d.ts +1 -1
  316. package/v3/dist/mcp/tools/mincut/index.d.ts.map +1 -1
  317. package/v3/dist/mcp/tools/mincut/index.js.map +1 -1
  318. package/v3/dist/mcp/tools/registry.d.ts +4 -0
  319. package/v3/dist/mcp/tools/registry.d.ts.map +1 -1
  320. package/v3/dist/mcp/tools/registry.js +5 -0
  321. package/v3/dist/mcp/tools/registry.js.map +1 -1
  322. package/v3/dist/mcp/types.d.ts +1 -1
  323. package/v3/dist/mcp/types.d.ts.map +1 -1
  324. package/v3/dist/strange-loop/belief-reconciler.d.ts +357 -0
  325. package/v3/dist/strange-loop/belief-reconciler.d.ts.map +1 -0
  326. package/v3/dist/strange-loop/belief-reconciler.js +696 -0
  327. package/v3/dist/strange-loop/belief-reconciler.js.map +1 -0
  328. package/v3/dist/strange-loop/index.d.ts +1 -0
  329. package/v3/dist/strange-loop/index.d.ts.map +1 -1
  330. package/v3/dist/strange-loop/index.js +2 -0
  331. package/v3/dist/strange-loop/index.js.map +1 -1
  332. package/v3/dist/strange-loop/strange-loop.d.ts +177 -5
  333. package/v3/dist/strange-loop/strange-loop.d.ts.map +1 -1
  334. package/v3/dist/strange-loop/strange-loop.js +452 -9
  335. package/v3/dist/strange-loop/strange-loop.js.map +1 -1
  336. package/v3/dist/strange-loop/types.d.ts +205 -1
  337. package/v3/dist/strange-loop/types.d.ts.map +1 -1
  338. package/v3/dist/strange-loop/types.js +5 -0
  339. package/v3/dist/strange-loop/types.js.map +1 -1
  340. package/v3/package.json +5 -1
@@ -1,10 +1,14 @@
1
1
  /**
2
2
  * Strange Loop Orchestrator
3
3
  * ADR-031: Strange Loop Self-Awareness
4
+ * ADR-052: Coherence Integration
4
5
  *
5
6
  * Orchestrates the complete self-awareness cycle:
6
7
  * Observe -> Model -> Decide -> Act -> (repeat)
7
8
  *
9
+ * With ADR-052 coherence integration, the cycle becomes:
10
+ * Observe -> Check Coherence -> Model -> Decide -> Act -> (repeat)
11
+ *
8
12
  * "You look in a mirror. You see yourself looking.
9
13
  * You adjust your hair *because* you saw it was messy.
10
14
  * The act of observing changed what you observed."
@@ -18,26 +22,85 @@ import { SelfHealingController, NoOpActionExecutor } from './healing-controller.
18
22
  // ============================================================================
19
23
  /**
20
24
  * Orchestrates the strange loop self-awareness cycle
25
+ *
26
+ * With ADR-052 coherence integration, the orchestrator can optionally:
27
+ * - Check swarm coherence after each observation
28
+ * - Emit coherence_violation events when beliefs are incoherent
29
+ * - Trigger belief reconciliation when contradictions are detected
30
+ * - Predict swarm collapse using spectral analysis
21
31
  */
22
32
  export class StrangeLoopOrchestrator {
23
33
  observer;
24
34
  model;
25
35
  healer;
26
36
  config;
37
+ // ADR-052: Optional coherence integration
38
+ coherenceService = null;
39
+ beliefReconciler = null;
40
+ lastCoherenceEnergy = 0;
41
+ incoherentSince = null;
27
42
  running = false;
28
43
  loopHandle = null;
29
44
  startTime = 0;
30
45
  stats;
31
46
  eventListeners = new Map();
32
47
  myAgentId;
33
- constructor(provider, executor, config = {}) {
48
+ /**
49
+ * Create a new StrangeLoopOrchestrator.
50
+ *
51
+ * @param provider - Agent provider for observing swarm state
52
+ * @param executor - Action executor for healing actions
53
+ * @param config - Optional configuration overrides
54
+ * @param coherenceService - Optional CoherenceService for belief coherence checking (ADR-052)
55
+ * @param beliefReconciler - Optional belief reconciler for resolving contradictions (ADR-052)
56
+ */
57
+ constructor(provider, executor, config = {}, coherenceService, beliefReconciler) {
34
58
  this.config = { ...DEFAULT_STRANGE_LOOP_CONFIG, ...config };
35
59
  this.myAgentId = provider.getObserverId();
36
60
  this.observer = new SwarmObserver(provider);
37
61
  this.model = new SwarmSelfModel(this.config.historySize);
38
62
  this.healer = new SelfHealingController(this.model, executor, this.config);
63
+ // ADR-052: Store optional coherence dependencies
64
+ this.coherenceService = coherenceService ?? null;
65
+ this.beliefReconciler = beliefReconciler ?? null;
39
66
  this.stats = this.initializeStats();
40
67
  }
68
+ /**
69
+ * Set the coherence service for belief coherence checking.
70
+ * Can be called after construction to enable coherence integration.
71
+ *
72
+ * @param service - The CoherenceService instance
73
+ */
74
+ setCoherenceService(service) {
75
+ this.coherenceService = service;
76
+ if (this.config.verboseLogging) {
77
+ console.log('[StrangeLoop] Coherence service attached');
78
+ }
79
+ }
80
+ /**
81
+ * Set the belief reconciler for resolving contradictions.
82
+ * Can be called after construction to enable reconciliation.
83
+ *
84
+ * @param reconciler - The belief reconciler instance
85
+ */
86
+ setBeliefReconciler(reconciler) {
87
+ this.beliefReconciler = reconciler;
88
+ if (this.config.verboseLogging) {
89
+ console.log('[StrangeLoop] Belief reconciler attached');
90
+ }
91
+ }
92
+ /**
93
+ * Check if coherence service is available.
94
+ */
95
+ hasCoherenceService() {
96
+ return this.coherenceService !== null;
97
+ }
98
+ /**
99
+ * Check if belief reconciler is available.
100
+ */
101
+ hasBeliefReconciler() {
102
+ return this.beliefReconciler !== null;
103
+ }
41
104
  /**
42
105
  * Start the strange loop
43
106
  */
@@ -81,6 +144,13 @@ export class StrangeLoopOrchestrator {
81
144
  }
82
145
  /**
83
146
  * Run a single observation-model-decide-act cycle
147
+ *
148
+ * With ADR-052 coherence integration, the cycle becomes:
149
+ * 1. OBSERVE: Gather swarm state
150
+ * 2. CHECK COHERENCE: Verify belief consistency (if service available)
151
+ * 3. MODEL: Update internal representation
152
+ * 4. DECIDE: Determine if healing is needed
153
+ * 5. ACT: Execute healing actions
84
154
  */
85
155
  async runCycle() {
86
156
  const cycleStart = Date.now();
@@ -96,6 +166,11 @@ export class StrangeLoopOrchestrator {
96
166
  this.stats.lastObservationAt = observation.timestamp;
97
167
  this.stats.currentHealth = observation.overallHealth;
98
168
  this.emit('observation_complete', { observation, durationMs: observationDuration });
169
+ // ADR-052: CHECK COHERENCE after observation
170
+ let coherenceResult;
171
+ if (this.coherenceService) {
172
+ coherenceResult = await this.checkCoherenceAfterObservation(observation);
173
+ }
99
174
  // MODEL: Update internal representation
100
175
  const delta = this.model.updateModel(observation);
101
176
  // Emit events for vulnerabilities
@@ -163,7 +238,7 @@ export class StrangeLoopOrchestrator {
163
238
  this.emit('prediction_made', { prediction });
164
239
  }
165
240
  }
166
- return { observation, delta, actions, results };
241
+ return { observation, delta, actions, results, coherenceResult };
167
242
  }
168
243
  catch (error) {
169
244
  if (this.config.verboseLogging) {
@@ -173,7 +248,8 @@ export class StrangeLoopOrchestrator {
173
248
  }
174
249
  }
175
250
  /**
176
- * The agent observes itself being the bottleneck
251
+ * The agent observes itself being the bottleneck.
252
+ * With ADR-052 coherence integration, also checks belief coherence.
177
253
  */
178
254
  async selfDiagnose() {
179
255
  const observation = await this.observer.observe();
@@ -195,7 +271,8 @@ export class StrangeLoopOrchestrator {
195
271
  recommendations.push('Redistribute queued tasks');
196
272
  }
197
273
  }
198
- return {
274
+ // Build base diagnosis
275
+ const diagnosis = {
199
276
  agentId: myId,
200
277
  isHealthy: myHealth ? myHealth.responsiveness > 0.8 : true,
201
278
  isBottleneck: amIBottleneck,
@@ -204,6 +281,79 @@ export class StrangeLoopOrchestrator {
204
281
  overallSwarmHealth: observation.overallHealth,
205
282
  diagnosedAt: Date.now(),
206
283
  };
284
+ // ADR-052: Add coherence information if service is available and enabled
285
+ if (this.coherenceService && this.config.coherenceEnabled) {
286
+ try {
287
+ // Convert agent health to coherence nodes
288
+ const coherenceNodes = [];
289
+ for (const [agentId, metrics] of observation.agentHealth) {
290
+ const embedding = [
291
+ metrics.responsiveness,
292
+ metrics.taskCompletionRate,
293
+ metrics.memoryUtilization,
294
+ metrics.cpuUtilization,
295
+ metrics.errorRate,
296
+ metrics.degree / 10,
297
+ metrics.queuedTasks / 100,
298
+ metrics.isBottleneck ? 1.0 : 0.0,
299
+ ];
300
+ coherenceNodes.push({
301
+ id: agentId,
302
+ embedding,
303
+ weight: metrics.responsiveness,
304
+ });
305
+ }
306
+ const coherenceResult = await this.coherenceService.checkCoherence(coherenceNodes);
307
+ diagnosis.coherenceEnergy = coherenceResult.energy;
308
+ diagnosis.isCoherent = coherenceResult.isCoherent;
309
+ diagnosis.computeLane = coherenceResult.lane;
310
+ diagnosis.contradictionCount = coherenceResult.contradictions?.length ?? 0;
311
+ // Add coherence-based recommendations
312
+ if (!coherenceResult.isCoherent) {
313
+ recommendations.push('Resolve belief contradictions before proceeding');
314
+ if (coherenceResult.lane === 'human') {
315
+ recommendations.push('Escalate to human review due to high coherence energy');
316
+ }
317
+ }
318
+ // Check for collapse risk if available
319
+ if (this.coherenceService.predictCollapse) {
320
+ const swarmState = {
321
+ agents: Array.from(observation.agentHealth.entries()).map(([agentId, metrics]) => ({
322
+ agentId,
323
+ agentType: 'specialist',
324
+ health: metrics.responsiveness,
325
+ beliefs: [],
326
+ lastActivity: new Date(metrics.lastHeartbeat),
327
+ errorCount: Math.round(metrics.errorRate * 100),
328
+ successRate: metrics.taskCompletionRate,
329
+ })),
330
+ activeTasks: Array.from(observation.agentHealth.values()).reduce((sum, m) => sum + m.queuedTasks, 0),
331
+ pendingTasks: 0,
332
+ errorRate: observation.overallHealth < 0.5 ? 0.5 - observation.overallHealth : 0,
333
+ utilization: Array.from(observation.agentHealth.values()).reduce((sum, m) => sum + m.cpuUtilization, 0) / observation.agentHealth.size || 0,
334
+ timestamp: new Date(observation.timestamp),
335
+ };
336
+ const collapseRisk = await this.coherenceService.predictCollapse(swarmState);
337
+ if (collapseRisk && collapseRisk.collapseImminent) {
338
+ diagnosis.collapseRiskPredicted = true;
339
+ recommendations.push('WARNING: Swarm collapse predicted. Take immediate action.');
340
+ for (const rec of collapseRisk.recommendations || []) {
341
+ recommendations.push(rec);
342
+ }
343
+ }
344
+ else {
345
+ diagnosis.collapseRiskPredicted = false;
346
+ }
347
+ }
348
+ }
349
+ catch (error) {
350
+ if (this.config.verboseLogging) {
351
+ console.error('[StrangeLoop] Coherence check failed during self-diagnosis:', error);
352
+ }
353
+ // Continue with diagnosis even if coherence check fails
354
+ }
355
+ }
356
+ return diagnosis;
207
357
  }
208
358
  /**
209
359
  * Trigger an immediate observation
@@ -313,6 +463,15 @@ export class StrangeLoopOrchestrator {
313
463
  healthTrend: 'stable',
314
464
  uptimeMs: 0,
315
465
  lastObservationAt: 0,
466
+ // Coherence metrics (ADR-052)
467
+ coherenceViolationCount: 0,
468
+ avgCoherenceEnergy: 0,
469
+ reconciliationSuccessRate: 1.0, // Start at 100% (no failures yet)
470
+ lastCoherenceCheck: 0,
471
+ collapseRiskHistory: [],
472
+ currentCoherenceState: 'coherent',
473
+ consensusVerifications: 0,
474
+ invalidConsensusCount: 0,
316
475
  };
317
476
  }
318
477
  /**
@@ -332,18 +491,287 @@ export class StrangeLoopOrchestrator {
332
491
  errorRate: 0,
333
492
  };
334
493
  }
494
+ // ============================================================================
495
+ // ADR-052: Coherence Integration Methods
496
+ // ============================================================================
497
+ /**
498
+ * Check coherence after an observation and update stats accordingly.
499
+ * This method is called after each observation when a coherence service is available.
500
+ *
501
+ * @param observation - The swarm health observation to check coherence against
502
+ * @returns The coherence result from the service
503
+ */
504
+ async checkCoherenceAfterObservation(observation) {
505
+ if (!this.coherenceService || !this.config.coherenceEnabled) {
506
+ return undefined;
507
+ }
508
+ try {
509
+ // Convert SwarmHealthObservation to CoherenceNode array for coherence service
510
+ // Each agent's health metrics are encoded as a simple embedding for coherence checking
511
+ const coherenceNodes = [];
512
+ for (const [agentId, metrics] of observation.agentHealth) {
513
+ // Create a simple embedding from health metrics
514
+ // This allows coherence checking to detect agents with conflicting states
515
+ const embedding = [
516
+ metrics.responsiveness,
517
+ metrics.taskCompletionRate,
518
+ metrics.memoryUtilization,
519
+ metrics.cpuUtilization,
520
+ metrics.errorRate,
521
+ metrics.degree / 10, // Normalize degree
522
+ metrics.queuedTasks / 100, // Normalize queue
523
+ metrics.isBottleneck ? 1.0 : 0.0,
524
+ ];
525
+ coherenceNodes.push({
526
+ id: agentId,
527
+ embedding,
528
+ weight: metrics.responsiveness, // Weight by responsiveness
529
+ metadata: {
530
+ lastHeartbeat: metrics.lastHeartbeat,
531
+ activeConnections: metrics.activeConnections,
532
+ },
533
+ });
534
+ }
535
+ // Check coherence using CoherenceNode array
536
+ const coherenceResult = await this.coherenceService.checkCoherence(coherenceNodes);
537
+ // Update coherence stats
538
+ this.stats.lastCoherenceCheck = Date.now();
539
+ // Update average coherence energy (rolling average)
540
+ const totalChecks = this.stats.totalObservations;
541
+ if (totalChecks > 1) {
542
+ this.stats.avgCoherenceEnergy =
543
+ (this.stats.avgCoherenceEnergy * (totalChecks - 1) + coherenceResult.energy) / totalChecks;
544
+ }
545
+ else {
546
+ this.stats.avgCoherenceEnergy = coherenceResult.energy;
547
+ }
548
+ // Determine coherence state based on energy
549
+ const previousState = this.stats.currentCoherenceState;
550
+ if (coherenceResult.energy < 0.1) {
551
+ this.stats.currentCoherenceState = 'coherent';
552
+ }
553
+ else if (coherenceResult.energy < this.config.coherenceThreshold) {
554
+ this.stats.currentCoherenceState = 'uncertain';
555
+ }
556
+ else {
557
+ this.stats.currentCoherenceState = 'incoherent';
558
+ }
559
+ // Check for coherence violation
560
+ if (coherenceResult.energy >= this.config.coherenceThreshold) {
561
+ this.stats.coherenceViolationCount++;
562
+ // Track when incoherence started
563
+ if (this.incoherentSince === null) {
564
+ this.incoherentSince = Date.now();
565
+ }
566
+ // Convert coherence contradictions to local type for event emission
567
+ const localContradictions = (coherenceResult.contradictions || []).map((c) => ({
568
+ nodeIds: c.nodeIds,
569
+ severity: this.mapSeverity(c.severity),
570
+ description: c.description,
571
+ confidence: c.confidence,
572
+ resolution: c.resolution,
573
+ }));
574
+ // Emit coherence violation event
575
+ const violationData = {
576
+ energy: coherenceResult.energy,
577
+ lane: coherenceResult.lane,
578
+ contradictions: localContradictions,
579
+ timestamp: Date.now(),
580
+ usedFallback: coherenceResult.usedFallback,
581
+ };
582
+ this.emit('coherence_violation', violationData);
583
+ // Attempt reconciliation if we have contradictions and a reconciler
584
+ if (localContradictions.length > 0 && this.beliefReconciler) {
585
+ await this.attemptReconciliation(localContradictions);
586
+ }
587
+ }
588
+ else if (previousState === 'incoherent' && this.stats.currentCoherenceState !== 'incoherent') {
589
+ // Coherence restored
590
+ const incoherentDuration = this.incoherentSince ? Date.now() - this.incoherentSince : 0;
591
+ this.incoherentSince = null;
592
+ const restoredData = {
593
+ previousEnergy: this.lastCoherenceEnergy,
594
+ currentEnergy: coherenceResult.energy,
595
+ incoherentDurationMs: incoherentDuration,
596
+ restorationActions: [],
597
+ timestamp: Date.now(),
598
+ };
599
+ this.emit('coherence_restored', restoredData);
600
+ }
601
+ // Store energy for next comparison
602
+ this.lastCoherenceEnergy = coherenceResult.energy;
603
+ // Check for collapse risk prediction
604
+ await this.checkCollapseRiskFromObservation(observation);
605
+ return coherenceResult;
606
+ }
607
+ catch (error) {
608
+ if (this.config.verboseLogging) {
609
+ console.error('[StrangeLoop] Coherence check failed:', error);
610
+ }
611
+ return undefined;
612
+ }
613
+ }
614
+ /**
615
+ * Map severity from coherence module to local type.
616
+ * The coherence module uses 'info' | 'low' | 'medium' | 'high' | 'critical'
617
+ * while we use 'low' | 'medium' | 'high' | 'critical'.
618
+ */
619
+ mapSeverity(severity) {
620
+ switch (severity) {
621
+ case 'info':
622
+ case 'low':
623
+ return 'low';
624
+ case 'medium':
625
+ return 'medium';
626
+ case 'high':
627
+ return 'high';
628
+ case 'critical':
629
+ return 'critical';
630
+ default:
631
+ return 'medium';
632
+ }
633
+ }
634
+ /**
635
+ * Check collapse risk from observation data.
636
+ * Converts observation to SwarmState format required by coherence service.
637
+ */
638
+ async checkCollapseRiskFromObservation(observation) {
639
+ if (!this.coherenceService?.predictCollapse) {
640
+ return;
641
+ }
642
+ try {
643
+ // Convert observation to SwarmState format
644
+ const swarmState = {
645
+ agents: Array.from(observation.agentHealth.entries()).map(([agentId, metrics]) => ({
646
+ agentId,
647
+ agentType: 'specialist', // Default type
648
+ health: metrics.responsiveness,
649
+ beliefs: [], // Empty beliefs for now
650
+ lastActivity: new Date(metrics.lastHeartbeat),
651
+ errorCount: Math.round(metrics.errorRate * 100),
652
+ successRate: metrics.taskCompletionRate,
653
+ })),
654
+ activeTasks: Array.from(observation.agentHealth.values()).reduce((sum, m) => sum + m.queuedTasks, 0),
655
+ pendingTasks: 0,
656
+ errorRate: observation.overallHealth < 0.5 ? 0.5 - observation.overallHealth : 0,
657
+ utilization: Array.from(observation.agentHealth.values()).reduce((sum, m) => sum + m.cpuUtilization, 0) / observation.agentHealth.size || 0,
658
+ timestamp: new Date(observation.timestamp),
659
+ };
660
+ const collapseRisk = await this.coherenceService.predictCollapse(swarmState);
661
+ this.updateCollapseRiskHistory(collapseRisk.risk);
662
+ if (collapseRisk.collapseImminent || collapseRisk.risk > 0.7) {
663
+ const collapsePredictedData = {
664
+ risk: collapseRisk.risk,
665
+ fiedlerValue: collapseRisk.fiedlerValue,
666
+ collapseImminent: collapseRisk.collapseImminent,
667
+ weakVertices: collapseRisk.weakVertices || [],
668
+ recommendations: collapseRisk.recommendations || [],
669
+ timestamp: Date.now(),
670
+ };
671
+ this.emit('collapse_predicted', collapsePredictedData);
672
+ }
673
+ }
674
+ catch (error) {
675
+ if (this.config.verboseLogging) {
676
+ console.warn('[StrangeLoop] Collapse prediction failed:', error);
677
+ }
678
+ }
679
+ }
680
+ /**
681
+ * Attempt to reconcile contradicting beliefs.
682
+ *
683
+ * @param contradictions - Array of contradictions to resolve
684
+ */
685
+ async attemptReconciliation(contradictions) {
686
+ if (!this.beliefReconciler) {
687
+ return;
688
+ }
689
+ try {
690
+ const result = await this.beliefReconciler.reconcile(contradictions);
691
+ // Update reconciliation stats
692
+ this.stats.consensusVerifications++;
693
+ const totalAttempts = this.stats.consensusVerifications;
694
+ const previousSuccessTotal = this.stats.reconciliationSuccessRate * (totalAttempts - 1);
695
+ const currentSuccess = result.resolvedCount > 0 ? 1 : 0;
696
+ this.stats.reconciliationSuccessRate = (previousSuccessTotal + currentSuccess) / totalAttempts;
697
+ if (result.unresolvedCount > 0) {
698
+ this.stats.invalidConsensusCount++;
699
+ }
700
+ // Emit reconciliation event
701
+ const reconciledData = {
702
+ reconciledContradictionIds: result.resolvedContradictionIds,
703
+ resolvedCount: result.resolvedCount,
704
+ remainingCount: result.unresolvedCount,
705
+ newEnergy: this.lastCoherenceEnergy, // Will be updated in next check
706
+ timestamp: Date.now(),
707
+ };
708
+ this.emit('belief_reconciled', reconciledData);
709
+ if (this.config.verboseLogging) {
710
+ console.log(`[StrangeLoop] Reconciled ${result.resolvedCount}/${contradictions.length} contradictions`);
711
+ }
712
+ }
713
+ catch (error) {
714
+ if (this.config.verboseLogging) {
715
+ console.error('[StrangeLoop] Reconciliation failed:', error);
716
+ }
717
+ this.stats.invalidConsensusCount++;
718
+ }
719
+ }
720
+ /**
721
+ * Update collapse risk history, maintaining the configured history size.
722
+ *
723
+ * @param risk - The new collapse risk value (0-1)
724
+ */
725
+ updateCollapseRiskHistory(risk) {
726
+ this.stats.collapseRiskHistory.push(risk);
727
+ // Trim to configured size
728
+ while (this.stats.collapseRiskHistory.length > this.config.collapseRiskHistorySize) {
729
+ this.stats.collapseRiskHistory.shift();
730
+ }
731
+ }
335
732
  }
336
- // ============================================================================
337
- // Factory Functions
338
- // ============================================================================
339
733
  /**
340
- * Create a strange loop orchestrator
734
+ * Create a strange loop orchestrator.
735
+ *
736
+ * @param provider - Agent provider for observing swarm state
737
+ * @param executor - Action executor for healing actions
738
+ * @param config - Optional configuration overrides
341
739
  */
342
740
  export function createStrangeLoopOrchestrator(provider, executor, config) {
343
741
  return new StrangeLoopOrchestrator(provider, executor, config);
344
742
  }
345
743
  /**
346
- * Create a strange loop orchestrator with in-memory components (for testing)
744
+ * Create a strange loop orchestrator with coherence integration (ADR-052).
745
+ *
746
+ * @param options - Configuration options including coherence dependencies
747
+ * @returns Configured StrangeLoopOrchestrator with coherence integration
748
+ *
749
+ * @example
750
+ * ```typescript
751
+ * const orchestrator = createStrangeLoopWithCoherence({
752
+ * provider: agentProvider,
753
+ * executor: actionExecutor,
754
+ * config: { verboseLogging: true },
755
+ * coherenceService: await createCoherenceService(wasmLoader),
756
+ * beliefReconciler: myReconciler,
757
+ * });
758
+ *
759
+ * orchestrator.on('coherence_violation', (event) => {
760
+ * console.log('Beliefs incoherent:', event.data);
761
+ * });
762
+ *
763
+ * await orchestrator.start();
764
+ * ```
765
+ */
766
+ export function createStrangeLoopWithCoherence(options) {
767
+ return new StrangeLoopOrchestrator(options.provider, options.executor, options.config, options.coherenceService, options.beliefReconciler);
768
+ }
769
+ /**
770
+ * Create a strange loop orchestrator with in-memory components (for testing).
771
+ *
772
+ * @param observerId - ID of the observer agent
773
+ * @param config - Optional configuration overrides
774
+ * @returns Object containing orchestrator, provider, and executor
347
775
  */
348
776
  export function createInMemoryStrangeLoop(observerId = 'observer-0', config) {
349
777
  const provider = new InMemoryAgentProvider(observerId);
@@ -351,4 +779,19 @@ export function createInMemoryStrangeLoop(observerId = 'observer-0', config) {
351
779
  const orchestrator = new StrangeLoopOrchestrator(provider, executor, config);
352
780
  return { orchestrator, provider, executor };
353
781
  }
782
+ /**
783
+ * Create a strange loop orchestrator with in-memory components and coherence (for testing).
784
+ *
785
+ * @param observerId - ID of the observer agent
786
+ * @param config - Optional configuration overrides
787
+ * @param coherenceService - Optional CoherenceService for belief coherence checking
788
+ * @param beliefReconciler - Optional belief reconciler for resolving contradictions
789
+ * @returns Object containing orchestrator, provider, and executor
790
+ */
791
+ export function createInMemoryStrangeLoopWithCoherence(observerId = 'observer-0', config, coherenceService, beliefReconciler) {
792
+ const provider = new InMemoryAgentProvider(observerId);
793
+ const executor = new NoOpActionExecutor();
794
+ const orchestrator = new StrangeLoopOrchestrator(provider, executor, config, coherenceService, beliefReconciler);
795
+ return { orchestrator, provider, executor };
796
+ }
354
797
  //# sourceMappingURL=strange-loop.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"strange-loop.js","sourceRoot":"","sources":["../../src/strange-loop/strange-loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"strange-loop.js","sourceRoot":"","sources":["../../src/strange-loop/strange-loop.ts"],"names":[],"mappings":"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"}